Menu

topicListExamples

Michael Soler Beatty

TOPIC LIST AND EXAMPLES


TOPICS THAT ARE GENERAL TO ALL WORLDS

These are the topics that are common to all the worlds, which include the topics used by gazebo to publish the poses and the camera that has been added to represent the world.

    /clock
    /cmd_vel
    /gazebo/link_states
    /gazebo/model_states
    /gazebo/parameter_descriptions
    /gazebo/parameter_updates
    /gazebo/set_link_state
    /gazebo/set_model_state
    /odom
    /rosout
    /rosout_agg
    /tf
    /world/camera/camera_info
    /world/camera/image_raw
    /world/camera/image_raw/compressed
    /world/camera/image_raw/compressed/parameter_descriptions
    /world/camera/image_raw/compressed/parameter_updates
    /world/camera/image_raw/compressedDepth
    /world/camera/image_raw/compressedDepth/parameter_descriptions
    /world/camera/image_raw/compressedDepth/parameter_updates
    /world/camera/image_raw/theora
    /world/camera/image_raw/theora/parameter_descriptions
    /world/camera/image_raw/theora/parameter_updates
    /world/camera/parameter_descriptions
    /world/camera/parameter_updates

Norice that cmd_vel is used to change and update the speed of our robot.It is then the topic that is used in the "joy" and "teleoperation" packages.

    pub = rospy.Publisher('/cmd_vel', Twist)

SIMPLE MOBILE ROBOT

This is the simplest case, in which one camera is used on the robot and one camera is used for the world. To run the example you need to use the python or copy the following ROS commands in your terminal:

    roscore 
    roslaunch robotmovil_gazebo robotmovil.launch 
    rosrun image_view image_view image:=/world/camera/image_raw 
    rosrun teleop_twist_keyboard teleop_twist_keyboard.py 
    rosrun visp_charac imageTrackRos 

You can teleoperate the robot using the keyboard or the joystick. Use the "joy" or the "teleop" packages to do so. The topic list include the feedback of the camera:

    /robotmovil/camera/camera_info
    /robotmovil/camera/image_raw
    /robotmovil/camera/image_raw/compressed
    /robotmovil/camera/image_raw/compressed/parameter_descriptions
    /robotmovil/camera/image_raw/compressed/parameter_updates
    /robotmovil/camera/image_raw/compressedDepth
    /robotmovil/camera/image_raw/compressedDepth/parameter_descriptions
    /robotmovil/camera/image_raw/compressedDepth/parameter_updates
    /robotmovil/camera/image_raw/theora
    /robotmovil/camera/image_raw/theora/parameter_descriptions
    /robotmovil/camera/image_raw/theora/parameter_updates
    /robotmovil/camera/parameter_descriptions
    /robotmovil/camera/parameter_updates

The topic schema is:

![alternate text]
(http://i.imgur.com/V0ooSka.png)
To see the RGB camera feedback type:

    rosrun image_view image_view image:=<CAMERA_TOPIC>image_raw 

You should see something like this, and you can control your robot in the terminal taht says " pub = rospy.Publisher('/cmd_vel', Twist)":

![alternate text]
(http://i.imgur.com/tQb3Muw.png)


MOBILE ROBOT WTIH STERO-PAIR

This is the simplest case, in which a stereo pair camera is used on the robot and one camera is used for the world. To run the example you need to use the python or copy the following ROS commands in your terminal:

    roscore
    roslaunch robotmovil_gazebo_stereo robotmovil_stereo.launch
    rosrun image_view image_view image:=/world/camera/image_raw
    rosrun image_view image_view image:=/stereo/right/image_raw
    rosrun image_view image_view image:=/stereo/left/image_raw
    rosrun teleop_twist_keyboard teleop_twist_keyboard.py

An the new topics that are added are the ones used for the stereo camera.

    /stereo/left/camera_info
    /stereo/left/image_raw
    /stereo/left/image_raw/compressed
    /stereo/left/image_raw/compressed/parameter_descriptions
    /stereo/left/image_raw/compressed/parameter_updates
    /stereo/left/image_raw/compressedDepth
    /stereo/left/image_raw/compressedDepth/parameter_descriptions
    /stereo/left/image_raw/compressedDepth/parameter_updates
    /stereo/left/image_raw/theora
    /stereo/left/image_raw/theora/parameter_descriptions
    /stereo/left/image_raw/theora/parameter_updates
    /stereo/left/parameter_descriptions
    /stereo/left/parameter_updates
    /stereo/right/camera_info
    /stereo/right/image_raw
    /stereo/right/image_raw/compressed
    /stereo/right/image_raw/compressed/parameter_descriptions
    /stereo/right/image_raw/compressed/parameter_updates
    /stereo/right/image_raw/theora
    /stereo/right/image_raw/theora/parameter_descriptions
    /stereo/right/image_raw/theora/parameter_updates
    /stereo/right/parameter_descriptions
    /stereo/right/parameter_updates

The topic schema is:

![alternate text]
(http://i.imgur.com/Pxh7sGp.png)

Where, "left" and "right" are used for referring to each camera of the stereo pair.
You should see something like this, and you can control your robot in the terminal taht says " pub = rospy.Publisher('/cmd_vel', Twist)":

![alternate text]
(http://i.imgur.com/xQvfj1w.png)


MOBILE ROBOT WITH KINECT

This is the simplest case, in which a stereo pair camera is used on the robot and one camera is used for the world. To run the example you need to use the python or copy the following ROS commands in your terminal:

    roscore
    roslaunch robotmovil_gazebo_kinect robotmovil_kinect.launch
    rosrun image_view image_view image:=/world/camera/image_raw
    rosrun image_view image_view image:=/kinect/RGB/image_raw
    rosrun teleop_twist_keyboard teleop_twist_keyboard.py
    rosrun visp_charac kinectTrack

An the new topics that are added are the ones used for the stereo camera.

    /kinect/RGB/image_raw
    /kinect/RGB/image_raw/compressed
    /kinect/RGB/image_raw/compressed/parameter_descriptions
    /kinect/RGB/image_raw/compressed/parameter_updates
    /kinect/RGB/image_raw/theora
    /kinect/RGB/image_raw/theora/parameter_descriptions
    /kinect/RGB/image_raw/theora/parameter_updates
    /kinect/depth/camera_info
    /kinect/depth/depth_info
    /kinect/depth/image_raw
    /kinect/depth/points
    /kinect_ir/parameter_descriptions
    /kinect_ir/parameter_updates

The topic schema is:

![alternate text]
(http://i.imgur.com/BrqAOo9.png)

Where, "depth" and "RGB" are used for referring the range-image and the color image that the kinect publishes.

You should see something like this, and you can control your robot in the terminal taht says " pub = rospy.Publisher('/cmd_vel', Twist)":

![alternate text]
(http://i.imgur.com/icAIvQg.png)

You can check what is being published in /robot_pose

    rostopic echo  /robot_pose

It should be something like this:

---
    position: 
    x: -0.0678155869246
    y: 0.0975882858038
    z: 1.83351743221
    orientation: 
    x: -3.54658777724e-06
    y: 0.0
    z: 2.77077170097e-08
    w: 1.0
    ---

Related

Wiki: Home

MongoDB Logo MongoDB