<aside> ๐Ÿ’ก

use Gazebo plugins (also called systems) to simulate the control of the robot and get the joint states.Then,we will configure a bridge to make those plugins communicate with our ROS 2 application.

</aside>

gz-sim/src/systems at gz-sim8 ยท gazebosim/gz-sim

the term plugin or system; they both refer to the same thing.

<aside> ๐Ÿ’ก

to include a system in our code, we will need to use a <plugin> tag.

</aside>

create a separate urdf file for gazebo

.
โ”œโ”€โ”€ common_properties.xacro
โ”œโ”€โ”€ mobile_ base_gazebo.xacro
โ”œโ”€โ”€ mobile_base.xacro
โ””โ”€โ”€ my_robot.urdf.xacro

add dependencies in urdf file

<xacro:include filename="$(find my_robot_description)/urdf/common_properties.xacro" />
<xacro:include filename="$(find my_robot_description)/urdf/mobile_base.xacro" />
<xacro:include filename="$(find my_robot_description)/urdf/mobile_base_gazebo.xacro" />

add Differential drive controller