Ask Your Question
2

Controlling individual robots in stage (fuerte)

asked 2012-10-30 12:33:43 -0500

kerursiv gravatar image

updated 2012-10-30 12:34:46 -0500

Hello. I recently installed the latest ROS version (Fuerte) and stage (v4.1.1), running it through stageros of course. However, I am noticing that issuing robot-specific cmd_vel messages causes all of the robots in the world to move. For example:

rosrun stage stageros /opt/ros/fuerte/stacks/stage/share/stage/worlds/pioneer_flocking.world
rostopic pub /robot_0/cmd_vel geometry_msgs/Twist -r 10000 '[10, 0, 0]' '[0, 0, 5]'

This causes all of the robots in the flock to move! This is despite the fact that rostopic list shows cmd_vel versions for all of the robots (up to robot_99).

Is this a bug in the latest versions or am I misunderstanding something about the way this should work?

Thanks!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2012-11-05 07:14:47 -0500

Graham gravatar image

Hi,

The robots in this stage world have "stage controllers" (look for the ctrl elements in the world file) which implement the flocking behaviour, so it is not surprising that they all move. If you want to control a robot from ROS then you probably don't want that robot to also have a stage controller.

Stage controllers can be useful if you want other robots in your environment that move according to simple rules, e.g. as dynamic obstacles. I've found that there are some issues with using them in Fuerte which led me to make several edits to the stageros wrapper (and to Stage). The wander controller example in the ROS tutorial on stage controllers doesn't work under Fuerte.

Regards

Graham

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2012-10-30 12:33:43 -0500

Seen: 406 times

Last updated: Nov 05 '12