Only released in EOL distros:  

Package Summary

This package contains the controller, sensor publishers and launch files for the TUlip simulation. To communicate with the gazebo simulator in real-time, the pr2_controller_manager infrastructure is used. The geometric, inertial and visual properties of TUlip are described in tulip_description.


Functionally the controllers manage TUlip's movement in simulation. The structure of the controller is as follows:


Generic controller which parses sensor_msgs/JointState messages and calculates the torques on the corresponding joints. The controller also returns the current position of the joints as sensor_msgs/JointState messages. This generic controller is used as leg, arm and head controller. Currently, the desired joint angles are imported from a yaml parameter file. In the future, we may release our walking algorithm which publishes joint angles such that the controller can subscribe to these.

Published Topics

/joint_states (sensor_msgs/JointState)
  • Joint state data


TUlip has two cameras for stereo vision on its head, four force sensors under each foot and an inertial measurement unit on its torso. The structure of the sensors is as follows:


Generic sensor that publishes camera info and data.

Published Topics

/camera/(left or right)/camera_info (sensor_msgs/CameraInfo)
  • Info of the left and right camera
/camera/(left or right)/image_raw (sensor_msgs/Image)
  • Raw image data of left and right camera

Foot Sensor

Generic footsensor that publishes foot sensor state and data.

Published Topics

/(left or right)_(heel or toe)_(inner or outer)_foot_sensor/state (gazebo_msgs/ContactsState)
  • State of the foot sensor at all corners of each foot
/(left or right)_(heel or toe)_(inner or outer)_foot_sensor/state (gazebo_msgs/ContactsState)
  • Foot sensor data of at all corners of each foot

Inertial Measurement Unit

Generic inertial measurement unit that publishes odometry data.

Published Topics

/xsens_pose_ground_truth (nav_msgs/Odometry)
  • Odometry data of the torso of the robot


Besides publishing sensor data in the standard ROS message types, the package publishes the sensor data also in a format which can be easily imported in Mathworks Matlab.

Matlab Publisher

Generic publisher for sensor data which is easily accessible in Mathworks Matlab.

Published Topics

/tulip_controller/matlab_joints (tulip_gazebo/joint_state_message)
  • Joint state data in Matlab readable format
/tulip_controller/matlab_footsens (tulip_gazebo/footsens_state_message)
  • Foot sensor data data in Matlab readable format
/tulip_controller/matlab_xsens (tulip_gazebo/xsens_state_message)
  • Odometry data in Matlab readable format

Launch files


This file loads the tulip_description, spawns it in gazebo and launches the gazebo-gui. Furthermore, it starts the pr2_controller_manager followed by the TUlip simulation controllers.


This file loads the tulip_description and shows it in rviz.

Wiki: tulip_gazebo (last edited 2013-01-18 14:24:11 by Pieter van Zutven)