rviz (ROS visualization) is a 3D visualizer for displaying sensor data and state information from ROS. Using rviz, you can visualize Baxter's current configuration on a virtual model of the robot. You can also display live representations of sensor values coming over ROS Topics including camera images, infrared distance sensors, sonars, and more.
$ sudo apt-get install ros-groovy-visualization
$ sudo apt-get install ros-hydro-visualization
Start rviz from a properly initialized environment using:
Use a 'Fixed Frame' of
/world, and Add a
Robot Model Display Type. Reference the list below (Baxter Display Types) for more sensors.
I. Start rviz
1. Make sure rviz is installed (and all dependencies):
2. Initialize your environment:
$ ./baxter.sh <baxter_hostname>
3. Run rviz:
- Set the Fixed Frame:
- . Set your ‘Fixed Frame’, under ‘.Global Options’ on the left, to the reference tf frame ‘/world’
- . <Insert Images>
Info: The ‘Fixed Frame’ provides a static, base reference for your visualization. Any sensor data that comes in to rviz will be transformed into that reference frame so it can be properly displayed in the virtual world.
- (Optional) Display a virtual grid
Info: It is hard to tell with nothing there, but the blank area in the middle of the window is the 3D view. We can display simple grid lines in our virtual world to help us visualize the space.
- . Click the ‘Add’ button, at the bottom of the Displays sidebar, to open the New Display window.
- . Select the ‘Grid’ Display Type, under the ‘Builtin’ category, then hit ‘OK’ to add the display to our visualization. You should now be able to distinguish our (empty) virtual world.
II. Adding Displays
- Add a Robot Model Display:
- Select the ‘Add’ button under the Displays sidebar.
- In the Dialog that pops up, scroll to ‘Robot Model’ (under the ‘Builtin’ category), and then hit ‘OK’ to add a visual representation of the robot’s current pose.
- By default, all the parameters should be set correctly but just in case check the following:
- Robot Description:
robot_descriptionis the name of the ros parameter where the URDF is stored on parameter server. (this stores the description of what links are on the robot, and where they connect)</div>
- TF Prefix: (blank)
- Change this if you have a tf tree under a different namespace. For example, if you are publishing the robot’s intended pose under the ‘/reference/____’ prefix; or if you have multiple robots, each with their own trees: ‘/baxter1/___’ , ‘/baxter2/___’.
- The links show the current transform of the robot’s links (i.e. where each link is actually positioned right now).
- (Optional) Test movement to see the virtual Baxter update
III. Add a Simple Sensor
Add a Range Display for an IR sensor
1. Add a new ‘Range’ display type, by clicking the ‘Add’ button and finding it under the ‘Builtin’ types.
2. Find the ‘Topic’ field under your new Range display, and use the ‘...’ button to open a new window with available Range topics currently being published.
3. Select the topic for the left IR sensor, which is under
/robot/range/left_hand_range, and hit ‘OK’.
For common issues specific to using rviz with Baxter, check out the Troubleshooting page.
For more information about rviz, see the original documentation for the tool at the ROS wiki: