## CategoryStack <> <> {{{#!wiki version indigo_and_older <>: This set of packages replaces [[simulator_gazebo]] in ROS Hydro }}} == Overview == gazebo_ros_pkgs is a set of ROS packages that provide the necessary interfaces to simulate a robot in the [[http://gazebosim.org|Gazebo]] 3D rigid body simulator for robots. It integrates with ROS using ROS messages, services and dynamic reconfigure. <> {{{#!wiki version indigo_and_older Among the primary differences from simulator_gazebo, gazebo_ros_pkgs now: }}} {{{#!wiki version jade_and_newer Some of the features of gazebo_ros_pkgs include: }}} * Supports the latest stand alone system dependency of Gazebo, that has no ROS bindings on its own * Builds with catkin * Treats URDF and SDF as equally as possible * Reduces code duplication with Gazebo * Improves out of the box support for controllers using ros_control * Integrates real time controller efficiency improvements from the DARPA Robotics Challenge * Cleans up a lot of old code from previous versions of ROS and Gazebo == Gazebo Simulator supported version == The major version (i.e 5.x series of gazebo5 for ROS Jade) of gazebo present in ROS is selected at the beginning of the ROS release cycle and will be kept (due to binary compatibility reasons) during the whole life of the ROS distribution. {{{#!wiki version hydro ROS Hydro is using the '''gazebo-1.x''' series }}} {{{#!wiki version indigo ROS Indigo is using the '''gazebo-2.x''' series }}} {{{#!wiki version jade ROS Jade is using the '''gazebo-5.x''' series Some of the new features of Gazebo5 are: * [[http://gazebosim.org/blog/feature_physics|Multiple physics engine support]] * [[http://gazebosim.org/tutorials?tut=clone_simulation&cat=physics|Clone running simulations]] * [[http://gazebosim.org/blog/feature_dem|Digital Elevation Models]] * [[http://gazebosim.org/blog/feature_unified_tool|Unified command-line tool (gz)]] * [[http://gazebosim.org/tutorials?cat=gazebojs|Javascript interface]] * Oculus Rift and Razer Hydra support * C++11 Integration A list of all the changes are available at the [[https://bitbucket.org/osrf/gazebo/src/gazebo5/Changelog.md?at=gazebo5|Gazebo 5.x changelog file]]. }}} {{{#!wiki version kinetic_and_newer ROS Kinetic/Lunar are using the '''gazebo-7.x''' series Some of the new features of Gazebo7 are: * [[http://gazebosim.org/tutorials?tut=model_editor&cat=build_robot|Improved graphical model editor]] * [[http://gazebosim.org/tutorials?tut=torsional_friction&cat=physics|Torsional friction]] * Wide angle camera sensor * Simulation models composed of other models * Improved log playback speed and graphical interface * New GUI tools including alignment functionality and undo A list of all the changes are available at the [[https://bitbucket.org/osrf/gazebo/src/gazebo7/Changelog.md?at=gazebo7|Gazebo 7.x changelog file]]. }}} === Using unsupported versions of Gazebo and ROS === Although using the default Gazebo version selected for the ROS distribution is '''highly recommended''', there are different ways of getting ROS support for different Gazebo versions. Please read [[http://gazebosim.org/tutorials/?tut=ros_wrapper_versions|Which combination of ROS/Gazebo versions]] to know more about the compatibility of ROS and Gazebo. Please remember that any bug related to the use of a different Gazebo version than the one provided by ROS should be reported into the Gazebo issue tracker. == Migration == Migrating from a previous version of ROS could require to adapt code in two different aspects: * '''Migrate Gazebo upstream code''': since every version of ROS brings a new major version of Gazebo, some changes could be need to adapt Gazebo third party code, mostly plugins. Please read the [[https://bitbucket.org/osrf/gazebo/src/default/Migration.md?at=default|Gazebo migration document]] for this purpose. {{{#!wiki version hydro * '''Migrate gazebo_ros_pkgs ROS related code''': some ROS specific code could need to be upgraded when upgrading. The instructions are well covered in the [[http://wiki.ros.org/hydro/Migration#Gazebo|Hydro Migration document]] }}} {{{#!wiki version indigo * '''Migrate gazebo_ros_pkgs ROS related code''': some ROS specific code could need to be upgraded when upgrading to Indigo. There are no specific instructions on this area. }}} {{{#!wiki version jade * '''Migrate gazebo_ros_pkgs ROS related code''': some ROS specific code could need to be upgraded when upgrading. The instructions are well covered in the [[http://wiki.ros.org/jade/Migration#Gazebo_Simulator|Jade Migration document]] }}} {{{#!wiki version kinetic * '''Migrate gazebo_ros_pkgs ROS related code''': some ROS specific code could need to be upgraded when upgrading. The instructions are well covered in the [[http://wiki.ros.org/jade/Migration#Gazebo_Simulator|Kinetic Migration document]] }}} {{{#!wiki version lunar * '''Migrate gazebo_ros_pkgs ROS related code''': the gazebo version used in Lunar is the same than in Kinetic and the Lunar code starts from a copy of Kinetic code so the code from Kinetic should be compatible with Lunar. }}} == Documentation and Support == === Documentation === * Tutorials related to [[http://gazebosim.org/tutorials?cat=connect_ros|connect to Gazebo with ROS]] * Tutorials related to [[http://gazebosim.org/tutorials?cat=get_started|get started with the Gazebo Simulator]] * Tutorials related to [[http://gazebosim.org/tutorials?cat=write_plugin|how to write a plugin for the Gazebo simulator (non ROS code)]] === Support === * [[http://answers.gazebosim.org/questions/|Support site for user questions]] * [[https://groups.google.com/a/osrfoundation.org/d/forum/gazebo|Gazebo mailing list]] * [[https://bitbucket.org/osrf/gazebo/issues?status=new&status=open|Gazebo Simulator issue tracker]] == Gazebo/ROS robot simulations ready to use == Different robots provide Gazebo Simulation support out of the box. Among others: * [[http://wiki.ros.org/pr2_simulator|PR2]] * [[http://gazebosim.org/tutorials?tut=drcsim_create_atlas_world&cat=drcsim|Atlas Robot]] * [[https://github.com/RethinkRobotics/baxter_simulator|Baxter]] * [[http://wiki.ros.org/Robots/Robonaut2|NASA Robonaut2]] * [[http://wiki.ros.org/turtlebot_simulator|Turtlebot]] * [[http://wiki.ros.org/husky_ur5_moveit_config/Tutorials/Husky%20UR5%20Mobile%20Manipulation%20Demo|Husky UR5 Robot]] * [[http://wiki.ros.org/cob_simulation|Care-O-Bot Robot]] * [[http://wiki.ros.org/kobuki_gazebo|Kobuki Robot]] * [[https://github.com/ros-naoqi/nao_virtual/blob/master/nao_gazebo_plugin/README.rst|Nao Humanoid]] * [[http://docs.ros.org/api/jackal_tutorials/html/simulation.html|Jackal Robot]] * [[http://wiki.ros.org/ur_gazebo|Universal UR5/10 robot arms]] * [[http://wiki.ros.org/hector_quadrotor|UAV simulation (Hector)]]