Package developed against ROS Indigo and default gazebo (gazebo 2.2.3)
The package requires Gazebo and robot-specific packages, such as romeo_description and romeo_control
sudo apt-get install ros-indigo-romeo-description ros-indigo-romeo-control
Other plugins to fetch and compile:
git clone https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins.git catkin_make
Please also make sure that the package and all the dependencies are up to date
sudo apt-get update sudo apt-get install ros-indigo-romeo-gazebo-plugin
How to run it
roslaunch romeo_gazebo_plugin romeo_gazebo_plugin_H37.launch
This will spawn gazebo with Romeo on a robocup field. The ball has the same specs as the official RoboCup ball (size and mass).
The simulation will be in pause mode to allow initialization of all the controllers. Wait until eveything is successfully loaded:
[INFO] [WallTime: 1413899465.061789] [0.000000] Controller Spawner: Loaded controllers: /romeo_dcm/Head_controller, /romeo_dcm/RightArm_controller, /romeo_dcm/LeftArm_controller, /romeo_dcm/LeftLeg_controller, /romeo_dcm/RightLeg_controller, /romeo_dcm/RightHand_controller, /romeo_dcm/LeftHand_controller, /romeo_dcm/joint_state_controller
Click the Play button.
Your Romeo should be standing in front of the ball at the center of the field.
Get sensor data from gazebo
All the sensors are simulated using plugins. These plugins are included in the robot description via romeoGazebo.xacro file. Each sensor publish data on rostopics.
We can visualize topics using Ctrl+T or Window/Topic Visualization
For example, visualizing Cameras and sonar
We can also visualize these messages using Rviz plugins
How to interact with simulated robot
To control your simulated robot using MoveIt, run:
roslaunch romeo_moveit_config moveit_planner.launch
Then you can control the robot with MoveIt!, check the tutorial quick tutorial here https://github.com/ros-aldebaran/romeo_moveit_config/blob/master/README.rst