Skip to content

Introduction to the Rm_bringup Package

rm_bringup is a function package for realizing the simultaneous running of multiple launch files. Using this package, a command can be used to launch complex functions combining multiple nodes. This package is introduced in detail in the following aspects.

The package will be introduced in detail from the following three 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.
    1. Package topic description: Know the topics of the package for easy development and use.

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

1. Application of the rm_bringup package

1.1 Control of the real robotic arm with moveit2

After the environment configuration and connection are complete, the node can be started directly by the following command to run the launch.py file in the rm_bringup package.

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

    ros2 launch rm_bringup rm_<arm_type>_bringup.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_bringup rm_<arm_type>_6f_bringup.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_bringup rm_<arm_type>_6fb_bringup.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_bringup rm_65_bringup.launch.py

After the node is started successfully, the following screen will pop up. image
The launch.py file enables the moveit2 to control the real robotic arm. Then, the control ball is available for planning and controlling the motion of the robotic arm. For details, please refer to rm_moveit2_config.

1.2 Control of the virtual robotic arm in the gazebo

The gazebo node can be started directly by running the launch.py file in the rm_bringup package.

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

    ros2 launch rm_bringup rm_<arm_type>_gazebo.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_bringup rm_<arm_type>_6f_gazebo.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_bringup rm_<arm_type>_6fb_gazebo.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_bringup rm_65_gazebo.launch.py

After the node is started successfully, the following screen will pop up. image
Then, the following command is executed to start moveit2 to control the virtual robotic arm in the gazebo. image

2. Structure description of the rm_bringup package

The current rm_bringup package consists of the following files.

├── CMakeLists.txt                     # compilation rule file
├── include
│   └── rm_bringup
├── launch
│   ├── rm_63_6f_bringup.launch.py     # 63 arm six-axis force moveit2 launch file
│   ├── rm_63_6fb_bringup.launch.py    # 63 arm integrated six-axis force moveit2 launch file
│   ├── rm_63_bringup.launch.py        # 63 arm moveit2 launch file
│   ├── rm_65_6f_bringup.launch.py     # 65 arm six-axis force moveit2 launch file
│   ├── rm_65_6fb_bringup.launch.py    # 65 arm integrated six-axis force moveit2 launch file
│   ├── rm_65_bringup.launch.py        # 65 arm moveit2 launch file
│   ├── rm_75_6f_bringup.launch.py     # 75 arm six-axis force moveit2 launch file
│   ├── rm_75_6fb_bringup.launch.py    # 75 arm integrated six-axis force moveit2 launch file
│   ├── rm_75_bringup.launch.py        # 75 arm moveit2 launch file
│   ├── rm_eco63_6fb_bringup.launch.py # eco63 arm integrated six-axis force moveit2 launch file
│   ├── rm_eco63_bringup.launch.py     # eco63 arm moveit2 launch file
│   ├── rm_eco65_6f_bringup.launch.py  # eco65 arm six-axis force moveit2 launch file
│   ├── rm_eco65_6fb_bringup.launch.py # eco65 arm integrated six-axis force moveit2 launch file
│   ├── rm_eco65_bringup.launch.py     # eco65 arm moveit2 launch file
│   ├── rm_gen72_bringup.launch.py     # gen72 arm moveit2 launch file
│   └── rm_gen72_gazebo.launch.py      # gen72 arm gazebo launch file
│   ├── rm_gen72_II_bringup.launch.py  # gen72_II arm moveit2 launch file
│   └── rm_gen72_II_gazebo.launch.py   # gen72_II arm gazebo launch file
├── package.xml
├── README_CN.md                  
└── README.md

3. Topic description of the rm_bringup package

The package does not have any topics at present, but it calls the topic from other packages.