Gazebo Simulation#
Gazebo is a powerful open-source 3D robotics simulator widely used for testing and developing robotic systems in realistic environments. It provides high-fidelity physics simulation using the ODE engine (Open Dynamics Engine), realistic rendering through OpenGL, and seamless integration with ROS (Robot Operating System) for control, sensor simulation, and robot actuation. Thanks to ROS Control plugins, it provides a controllers, simulate complex interactions, and prototype systems before deploying them to real hardware.
To start the Kangaroo robot inside the Gazebo simulator run:
roslaunch kangaroo_description gazebo.launch
In the beginning, the robot will run the homing procedure that consists in starting the position controllers, putting the robot in the default configuration, and resetting the gazebo pose. This is mainly because this version of Gazebo doesn’t accept closed kinematic chains and the initial robot pose is not being considered.
Also to have a reliable simulation some specific parameters needs to be considered. Those are loaded automatically inside the kangaroo.world but need to be considered in case of simulating a different kind of environments.
Note
There are some oscillations in the leg while walking using the Gazebo simulator. This is because this version of Gazebo (Gazebo 9) doesn’t accept closed kinematic chains and including two different chains (prismatic leg length and knee and femur joint) affects the performance of the simulation. In the next releases this will be addressed.