[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

Package Summary

This package provides ROS specific hooks for stage

Package Summary

This package provides ROS specific hooks for stage

Package Summary

This package provides ROS specific hooks for stage

simulators: gazebo_ros_pkgs | robot | rqt_common_plugins | rqt_robot_plugins | stage_ros

Package Summary

This package provides ROS specific hooks for stage

simulators: gazebo_ros_pkgs | robot | rqt_common_plugins | rqt_robot_plugins | stage_ros

Package Summary

This package provides ROS specific hooks for stage

simulators: gazebo_ros_pkgs | robot | rqt_common_plugins | rqt_robot_plugins | stage_ros

Package Summary

This package provides ROS specific hooks for stage

Nodes

stageros

The stageros node wraps the Stage 2-D multi-robot simulator, via libstage. Stage simulates a world as defined in a .world file. This file tells stage everything about the world, from obstacles (usually represented via a bitmap to be used as a kind of background), to robots and other objects.

This node only exposes a subset of Stage's functionality via ROS. Specifically, it finds the Stage models of type laser, camera and position, and maps these models to the ROS topics given below. If at least one laser/camera and position model are not found, stageros exits.

Usage

rosrun stage_ros stageros [-g runs headless] <world> [standard ROS args]

Parameters:

World syntax

The .world file syntax is documented in the Stage manual. stageros only exposes models created by a subset of the .world file syntax, specifically laser, position and camera models. For examples, see the world directory in the stage and stage_ros packages.

Subscribed topics

If there is only one position model defined in the world file, all of these topics appear at the top namespace. However, if more than 1 position models exist, these topics are pushed down into their own namespaces, by prefixing the topics with robot_<i>/ , e.g., robot_0/cmd_vel etc.

cmd_vel geometry_msgs/Twist

Published topics

If there is only one position model defined in the world file, all of these topics appear at the top namespace. However, if more than 1 position models exist, these topics are pushed down into their own namespaces, by prefixing the topics with robot_<i>/ , e.g., robot_0/cmd_vel etc.

odom (nav_msgs/Odometry)

base_scan (sensor_msgs/LaserScan)

base_pose_ground_truth (nav_msgs/Odometry)

image (sensor_msgs/Image)

depth (sensor_msgs/Image)

camera_info (sensor_msgs/CameraInfo)

odom vs. base_pose_ground_truth

The odom topic gives simulated odometry, which is affected by settings in the .world file, which can change its origin and noise model (the transforms mentioned below use the same data); see the Stage documentation for details on changing this behavior. The base_pose_ground_truth topic always provides a perfect, globally referenced pose for the robot in the simulation, independent of .world file settings. The base_pose_ground_truth data is intended for testing purposes; it should not be used in robot control loops (because it's unrealistic).

Parameters

~base_watchdog_timeout (default: 0.2)

~is_depth_canonical (default: true)

tf transforms provided

base_linkbase_laser

base_footprintbase_link

odombase_footprint

base_linkcamera

Using Stage controllers

Stage supports the use of "controllers," which are chunks of code that control simulated robots from inside the simulator, instead of being on the other end of a ROS connection. There are some situations in which it can be advantageous to use Stage controllers. For a discussion of when and how to use Stage controllers, see this tutorial.


2024-11-23 17:55