ROS:
Introduction to the Rm_gazebo Package The 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.launch
Note: 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.launch
If 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