ROS2:
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:
- Package application: Learn how to use the package.
- Package structure description: Understand the composition and function of files in the package.
- 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.pyThe 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.pyThe 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, 63_III, 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.pyAfter the node is started successfully, the following screen will pop up. 
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.pyThe 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.pyThe 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, 63_III, 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.pyAfter the node is started successfully, the following screen will pop up. 
Then, the following command is executed to start moveit2 to control the virtual robotic arm in the gazebo. 
2. Structure description of the rm_bringup package
The current rm_bringup package consists of the following files.
├── CMakeLists.txt # Build configuration file
├── doc # Folder for auxiliary documents and images
│ ├── rm_bringup1.png # Image 1
│ ├── rm_bringup2.png # Image 2
│ └── rm_bringup3.png # Image 3
├── launch # Launch files
│ ├── rm_63_6f_bringup.launch.py # RM 63 arm with 6-axis force sensor MoveIt2 launch file
│ ├── rm_63_6f_gazebo.launch.py # RM 63 arm with 6-axis force sensor Gazebo launch file
│ ├── rm_63_6fb_bringup.launch.py # RM 63 arm with integrated 6-axis force sensor MoveIt2 launch file
│ ├── rm_63_6fb_gazebo.launch.py # RM 63 arm with integrated 6-axis force sensor Gazebo launch file
│ ├── rm_63_bringup.launch.py # RM 63 arm MoveIt2 launch file
│ ├── rm_63_gazebo.launch.py # RM 63 arm Gazebo launch file
│ ├── rm_63_III_bringup.launch.py # RM 63_III arm MoveIt2 launch file
│ ├── rm_63_III_gazebo.launch.py # RM 63_III arm Gazebo launch file
│ ├── rm_63_III_6fb_bringup.launch.py # RM 63_III arm with 6-axis force sensor MoveIt2 launch file
│ ├── rm_63_III_6fb_gazebo.launch.py # RM 63_III arm with 6-axis force sensor Gazebo launch file
│ ├── rm_65_6f_bringup.launch.py # RM 65 arm with 6-axis force sensor MoveIt2 launch file
│ ├── rm_65_6f_gazebo.launch.py # RM 65 arm with 6-axis force sensor Gazebo launch file
│ ├── rm_65_6fb_bringup.launch.py # RM 65 arm with integrated 6-axis force sensor MoveIt2 launch file
│ ├── rm_65_6fb_gazebo.launch.py # RM 65 arm with integrated 6-axis force sensor Gazebo launch file
│ ├── rm_65_bringup.launch.py # RM 65 arm MoveIt2 launch file
│ ├── rm_65_gazebo.launch.py # RM 65 arm Gazebo launch file
│ ├── rm_75_6f_bringup.launch.py # RM 75 arm with 6-axis force sensor MoveIt2 launch file
│ ├── rm_75_6f_gazebo.launch.py # RM 75 arm with 6-axis force sensor Gazebo launch file
│ ├── rm_75_6fb_bringup.launch.py # RM 75 arm with integrated 6-axis force sensor MoveIt2 launch file
│ ├── rm_75_6fb_gazebo.launch.py # RM 75 arm with integrated 6-axis force sensor Gazebo launch file
│ ├── rm_75_bringup.launch.py # RM 75 arm MoveIt2 launch file
│ ├── rm_75_gazebo.launch.py # RM 75 arm Gazebo launch file
│ ├── rm_eco63_6fb_bringup.launch.py # RM eco63 arm with integrated 6-axis force sensor MoveIt2 launch file
│ ├── rm_eco63_6fb_gazebo.launch.py # RM eco63 arm with integrated 6-axis force sensor Gazebo launch file
│ ├── rm_eco63_bringup.launch.py # RM eco63 arm MoveIt2 launch file
│ ├── rm_eco63_gazebo.launch.py # RM eco63 arm Gazebo launch file
│ ├── rm_eco65_6f_bringup.launch.py # RM eco65 arm with 6-axis force sensor MoveIt2 launch file
│ ├── rm_eco65_6f_gazebo.launch.py # RM eco65 arm with 6-axis force sensor Gazebo launch file
│ ├── rm_eco65_6fb_bringup.launch.py # RM eco65 arm with integrated 6-axis force sensor MoveIt2 launch file
│ ├── rm_eco65_6fb_gazebo.launch.py # RM eco65 arm with integrated 6-axis force sensor Gazebo launch file
│ ├── rm_eco65_bringup.launch.py # RM eco65 arm MoveIt2 launch file
│ ├── rm_eco65_gazebo.launch.py # RM eco65 arm Gazebo launch file
│ ├── rm_gen72_bringup.launch.py # RM gen72 arm MoveIt2 launch file
│ ├── rm_gen72_gazebo.launch.py # RM gen72 arm Gazebo launch file
│ ├── rm_gen72_II_bringup.launch.py # RM gen72_II arm MoveIt2 launch file
│ └── rm_gen72_II_gazebo.launch.py # RM gen72_II arm Gazebo launch file
├── package.xml # Dependency specification file
├── README_CN.md # Chinese documentation
└── README.md # English documentation3. Topic description of the rm_bringup package
The package does not have any topics at present, but it calls the topic from other packages.

