Skip to content
Robert Haschke edited this page Nov 28, 2023 · 3 revisions

Before running a complex robot application in the real world, one should run it in simulation first. To this end, ROS provides Gazebo, a physics simulation package. Gazebo is actually a wrapper around several physics engine backends, currently ODE, Bullet, Simbody, and DART. Additionally to the physics modelling, Gazebo provides features so simulate sensors, e.g. cameras, laser range finders, or tactile sensors. A plugin framework allows to customize the behvaior, particularly adding more sensor modalities, providing control features, e.g. integrating with ros_control. Finally, Gazebo provides various editing tools to build robot models and environments.

1. Install franka_gazebo

We continue to use the Franka robot arm. Franka provides a customized controller simulation attempting to mimic the real controller as close as possible. If not yet done, install Franka's Gazebo simulation package: apt-get install ros-<distro>-franka-gazebo

Eventually, we can launch Gazebo with the Panda robot as follows:

roslaunch franka_gazebo panda.launch controller:=effort_joint_trajectory_controller

Using an rqt plugin, we can manually control individual joints:

rqt -s rqt_joint_trajectory_controller.joint_trajectory_controller.JointTrajectoryController

2. Basic Tutorials

Process the beginner tutorials:

Starting from an empty world (roslaunch gazebo_ros empty_world.launch):

  • Create a table model composed from 4 cylindrical pillars and the desk. Use fixed joints to connect them together. Save your model.

  • Place a graspable object on the table.

  • Save your world.

3. Selected Tutorials

Pick a tutorial from the following list, work through them and introduce the corresponding features in a short 10min talk: