Skip to content

Introduction to the Rm_gazebo Package

The rm_gazebo package is intended to realize the simulation of moveit2 planning for the robotic arm. A virtual robotic arm is built in the simulation environment of the gazebo and then controlled by moveit2.
The package will be introduced in detail from the following two aspects with different purposes:

    1. Package application: Learn how to use the package.
    1. Package structure description: Understand the composition and function of files in the package.

Code link: https://github.com/RealManRobot/ros2_rm_robot/tree/humble/rm_gazebo

1 Control of the virtual robotic arm

1.1 Launch the gazebo virtual space and virtual robotic arm

After the environment and package installation is complete, run the rm_gazebo package. Run the following command to launch the gazebo virtual space and virtual robotic arm.

  • The command to start the standard version of the manipulator is:

    ros2 launch rm_gazebo gazebo_<arm_type>_demo.launch.py
  • The command to start the six-axis force version of the manipulator is (eco63, gen 72 and gen72_II is not available):

    ros2 launch rm_gazebo gazebo_<arm_type>_6f_demo.launch.py
  • The command to start the integrated six-axis force version of the manipulator is (eco63, gen 72 and gen72_II is not available):

    ros2 launch rm_gazebo gazebo_<arm_type>_6fb_demo.launch.py

Generally, the above <arm_type> is required for the actual type of the robotic arm and optional for 65, 63, eco65, eco63, 75, gen72, and gen72_II.

For the 65 standard version robotic arm, its start command is as follows:

ros2 launch rm_gazebo gazebo_65_demo.launch.py

If running succeeds, the following screen will pop up. image

1.2 Start moveit2 to control the virtual robotic arm

Then, the following command is executed to start moveit2 to control the virtual robotic arm in the gazebo.

  • The command to start the standard version of the manipulator is:

    ros2 launch rm_<arm_type>_config gazebo_moveit_demo.launch.py
  • The command to start the six-axis force version of the manipulator is (eco63, gen 72 and gen72_II is not available):

    ros2 launch rm_<arm_type>_config gazebo_moveit_demo_6f.launch.py
  • The command to start the integrated six-axis force version of the manipulator is (eco63, gen 72 and gen72_II is not available):

    ros2 launch rm_<arm_type>_config gazebo_moveit_demo_6fb.launch.py

Generally, the above <arm_type> is required for the actual type of the robotic arm and optional for 65, 63, eco65, eco63, 75, gen72, and gen72_II.

For the 65 standard version robotic arm, its start command is as follows:

ros2 launch rm_65_config gazebo_moveit_demo.launch.py

The simulation control with the moveit2 and gazebo is available after the control interface of rviz2 appears. image

2. Structure description of the rm_gazebo package

├── CMakeLists.txt                # compilation rule file
├── config
│   ├── gazebo_63_6fb_description.urdf.xacro    #RML63 integrated six-axis force gazebo launch file
│   ├── gazebo_65_6fb_description.urdf.xacro    #RM65 integrated six-axis force gazebo launch file
│   ├── gazebo_75_6fb_description.urdf.xacro    #RM75 integrated six-axis force gazebo launch file
│   ├── gazebo_eco63_6fb_description.urdf.xacro #ECO63 integrated six-axis force gazebo launch file
│   ├── gazebo_eco65_6fb_description.urdf.xacro #ECO65 integrated six-axis force gazebo launch file
│   ├── gazebo_63_description.urdf.xacro     #63gazebo model description file
│   ├── gazebo_65_description.urdf.xacro     #65gazebo model description file
│   ├── gazebo_75_description.urdf.xacro     #75gazebo model description file
│   ├── gazebo_eco65_description.urdf.xacro  #eco65gazebo model description file
│   ├── gazebo_eco63_description.urdf.xacro  #eco63gazebo model description file
│   ├── gazebo_gen72_II_description.urdf.xacro #gen72_IIgazebo model description file
│   └── gazebo_gen72_description.urdf.xacro  #gen72gazebo model description file
├── doc
│   ├── rm_gazebo1.png
│   └── rm_gazebo2.png
├── launch
│   ├── gazebo_63_6fb_demo.launch.py       #63 integrated six-axis force gazebo launch file
│   ├── gazebo_63_6f_demo.launch.py        #63 six-axis force gazebo launch file
│   ├── gazebo_63_demo.launch.py           #63 gazebo launch file
│   ├── gazebo_65_6fb_demo.launch.py       #RM65 integrated six-axis force gazebo launch file
│   ├── gazebo_65_6f_demo.launch.py        #RM65 six-axis force gazebo launch file
│   ├── gazebo_65_demo.launch.py           #RM65 gazebo launch file
│   ├── gazebo_75_6fb_demo.launch.py       #RM75 integrated six-axis force gazebo launch file
│   ├── gazebo_75_6f_demo.launch.py        #RM75 six-axis force gazebo launch file
│   ├── gazebo_75_demo.launch.py           #RM75 gazebo launch file
│   ├── gazebo_eco63_6fb_demo.launch.py    #ECO63 integrated six-axis force gazebo launch file
│   ├── gazebo_eco63_demo.launch.py        #ECO63 gazebo launch file
│   ├── gazebo_eco65_6fb_demo.launch.py    #ECO65 integrated six-axis force gazebo launch file
│   ├── gazebo_eco65_6f_demo.launch.py     #ECO65 six-axis force gazebo launch file
│   ├── gazebo_eco65_demo.launch.py        #ECO65 gazebo launch file
│   ├── gazebo_gen72_II_demo.launch.py     #gen72_IIgazebo launch file
│   └── gazebo_gen72_demo.launch.py        #gen72gazebo launch file
├── package.xml
├── README_CN.md
└── README.md