#
ROS:
Introduction to the Rm_gazebo PackageThe rm_gazebo package is intended to realize the simulation of Moveit planning for the robotic arm. A virtual robotic arm is built in the simulation environment of the gazebo and then controlled by the Moveit. The package will be introduced in detail in the following aspects.
- Package application.
- Package structure description.
The above two parts are provided for users to:
- Learn how to use the package.
- Understand the composition and function of files in the package.
Code link: https://github.com/RealManRobot/rm_robot/tree/main/rm_gazebo
##1. Application of the rm_gazebo package
###1.1 Control of the virtual robotic arm
After the environment and package installation is complete, run the rm_gazebo package.
Before running, we first need to modify the relevant configuration files. Locate the rm_<arm_type>moveit_config package and find the rm<arm_type>_moveit_controller_manager.launch.xml file. Uncomment the red-boxed code below and comment out the previous YAML loading code.

When using in practice, you need to replace <arm_type> above with the actual model of the robotic arm. The available robotic arm models are 65, 63, eco65, eco63, 75, gen72, gen72_I. Among them, the parameter file path for the 63 robotic arm is rml_63_moveit_config/rml_63_moveit_controller_manager.launch.xml.
After completing the above operations, run the following command to launch the gazebo virtual space and virtual robotic arm.
roslaunch rm_gazebo arm_<arm_type>_bringup_moveit.launchNote: To start the Gazebo virtual space and virtual robotic arm with integrated six-dimensional force, use the following command.
roslaunch rm_gazebo arm_<arm_type>_6fb_bringup_moveit.launchIf running succeeds, the following screen will pop up.

The simulation control with the Moveit and gazebo is available after the control interface of rviz appears.

##2. Structure description of the rm_gazebo package
###2.1 File overview
The current rm_gazebo package consists of the following files.
├── CMakeLists.txt #Build rule file
├── config
│ ├── ECO63 #ECO63 simulation configuration file
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── rm_eco63_trajectory_control.yaml
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ ├── ECO65 #ECO65 simulation configuration file
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yam #Joint state controller
│ │ ├── rm_eco65_trajectory_control.yaml #Joint controller
│ │ └── trajectory_control.yaml
│ ├── GEN72
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── gen_72_trajectory_control.yaml
│ │ ├── rviz_gazebo_bak.rviz
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ ├── RM65 #Same as the simulation configuration file of ECO65
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── rm_65_trajectory_control.yaml
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ ├── RM75 #Same as the simulation configuration file of ECO65
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── rm_75_trajectory_control.yaml
│ │ ├── rviz_gazebo_bak.rviz
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ └── RML63 #Same as the simulation configuration file of ECO65
│ ├── arm_gazebo_control.yaml
│ ├── arm_gazebo_joint_states.yaml
│ ├── rml_63_trajectory_control.yaml
│ ├── rviz_gazebo.rviz
│ └── trajectory_control.yaml
├── launch
│ ├── arm_63_6fb_bringup_moveit.launch # gazebo launch file for RML63_6fb simulation
│ ├── arm_65_6fb_bringup_moveit.launch # gazebo launch file for RM65_6fb simulation
│ ├── arm_75_6fb_bringup_moveit.launch # gazebo launch file for RM75_6fb simulation
│ ├── arm_eco63_6fb_bringup_moveit.launch # gazebo launch file for ECO63_6fb simulation
│ ├── arm_eco65_6fb_bringup_moveit.launch # gazebo launch file for ECO65_6fb simulation
│ ├── arm_63_bringup_moveit.launch # gazebo launch file for RML63 simulation
│ ├── arm_65_bringup_moveit.launch # gazebo launch file for RM65 simulation
│ ├── arm_75_bringup_moveit.launch # gazebo launch file for RM75 simulation
│ ├── arm_eco63_bringup_moveit.launch # gazebo launch file for ECO63 simulation
│ ├── arm_eco65_bringup_moveit.launch # gazebo launch file for ECO65 simulation
│ ├── arm_gen72_bringup_moveit.launch # gazebo launch file for GEN72 simulation
│ ├── arm_gen72_II_bringup_moveit.launch # gazebo launch file for GEN72_II simulation
│ ├── ECO65 #ECO65 launch file
│ │ ├── arm_eco65_trajectory_controller.launch #Launch file of the simulation controller
│ │ ├── rm_eco65_arm_gazebo_states.launch #State monitoring launch file of the virtual robotic arm
│ │ ├── rm_eco65_arm_trajectory_controller.launch
│ │ └── rm_eco65_arm_world.launch #gazebo loading launch file of the virtual robotic arm
│ ├── ECO63 # ECO63 launch file
│ │ ├── arm_eco63_trajectory_controller.launch
│ │ ├── rm_eco63_arm_gazebo_states.launch
│ │ ├── rm_eco63_arm_trajectory_controller.launch
│ │ └── rm_eco63_arm_world.launch
│ ├── GEN72 #GEN72 gazebo launch file (same as the ECO65)
│ │ ├── arm_gazebo_states.launch
│ │ ├── arm_gen72_trajectory_controller.launch
│ │ ├── arm_trajectory_controller.launch
│ │ └── arm_world_II.launch
│ │ └── arm_world.launch
│ ├── RM65 #RM65 gazebo launch file (same as the ECO65)
│ │ ├── arm_65_trajectory_controller.launch
│ │ ├── rm_65_arm_gazebo_states.launch
│ │ ├── rm_65_arm_trajectory_controller.launch
│ │ └── rm_65_arm_world.launch
│ ├── RM75 #RM75 gazebo launch file (same as the ECO65)
│ │ ├── arm_75_trajectory_controller.launch
│ │ ├── arm_gazebo_states.launch
│ │ ├── arm_trajectory_controller.launch
│ │ └── arm_world.launch
│ └── RML63 #RML63 gazebo launch file (same as the ECO65)
│ ├── arm_gazebo_states.launch
│ ├── arm_trajectory_controller.launch
│ ├── arm_world.launch
│ └── rml_63_trajectory_controller.launch
└── package.xml
