Skip to content

rm_gazebo功能包说明

rm_gazebo的主要作用为帮助我们实现机械臂Moveit规划的仿真功能,我们将在gazebo的仿真环境中搭建一个虚拟机械臂,然后通过Moveit控制gazebo中的虚拟机械臂,在下文中将通过以下几个方面详细介绍该功能包。

  1. 功能包使用。
  2. 功能包架构说明。

通过这部分内容的介绍可以帮助大家:

  1. 了解该功能包的使用。
  2. 熟悉功能包中的文件构成及作用。

代码链接:https://github.com/RealManRobot/rm_robot/tree/main/rm_gazebo

1. rm_gazebo功能包运行

1.1 控制仿真机械臂

在完成环境安装和功能包安装后,我们可以进行rm_gazebo功能包的运行。

在运行之前首先我们需要修改有关配置文件,找到rm_<arm_type>moveit_config包中的rm<arm_type>_moveit_controller_manager.launch.xml文件,将下方的红框代码取消注释,注释之前的yaml加载代码。

alt text

在实际使用时需要将以上的<arm_type>更换为实际的机械臂型号,可选择的机械臂型号有65、63、eco65、eco63、75、gen72、gen72_II。其中,63机械臂的参数文件路径为rml_63_moveit_config/rml_63_moveit_controller_manager.launch.xml。

完成上面操作后,使用如下指令启动gazebo虚拟空间和虚拟机械臂。

ROS
roslaunch rm_gazebo arm_<arm_type>_bringup_moveit.launch

注意:一体化六维力使用如下指令启动gazebo虚拟空间和虚拟机械臂。

ROS
roslaunch rm_gazebo arm_<arm_type>_6fb_bringup_moveit.launch

运行成功后将弹出如下界面。

alt text

弹出rviz的控制界面后就可以进行Moveit和gazebo的仿真控制了。

alt text

2. rm_gazebo功能包架构说明

2.1 功能包文件总览

当前rm_gazebo功能包的文件构成如下。

├── CMakeLists.txt                                      #编译规则文件
├── config
│ ├── ECO63                                             #ECO63的仿真配置文件
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── rm_eco63_trajectory_control.yaml
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ ├── ECO65                                             #ECO65 的仿真配置文件
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yam                     #关节状态控制器
│ │ ├── rm_eco65_trajectory_control.yaml                #关节控制器
│ │ └── 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                                              #同 ECO65 的仿真配置文件
│ │ ├── arm_gazebo_control.yaml
│ │ ├── arm_gazebo_joint_states.yaml
│ │ ├── rm_65_trajectory_control.yaml
│ │ ├── rviz_gazebo.rviz
│ │ └── trajectory_control.yaml
│ ├── RM75                                              #同 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                                             #同 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                  #RML63一体化六维力仿真gazebo启动文件
│ ├── arm_65_6fb_bringup_moveit.launch                  #RM65一体化六维力仿真gazebo启动文件
│ ├── arm_75_6fb_bringup_moveit.launch                  #RM75一体化六维力仿真gazebo启动文件
│ ├── arm_eco63_6fb_bringup_moveit.launch               #ECO63一体化六维力仿真gazebo启动文件
│ ├── arm_eco65_6fb_bringup_moveit.launch               #ECO65一体化六维力仿真gazebo启动文件
│ ├── arm_63_bringup_moveit.launch                      #RML63 仿真 gazebo 启动文件
│ ├── arm_65_bringup_moveit.launch                      # RM65 仿真 gazebo 启动文件
│ ├── arm_75_bringup_moveit.launch                      # RM75 仿真 gazebo 启动文件
│ ├── arm_eco63_bringup_moveit.launch                   # ECO63 仿真 gazebo 启动文件
│ ├── arm_eco65_bringup_moveit.launch                   # ECO65 仿真 gazebo 启动文件
│ ├── arm_gen72_bringup_moveit.launch                   #GEN72 仿真 gazebo 启动文件
│ ├── arm_gen72_II_bringup_moveit.launch                #GEN72_II 仿真 gazebo 启动文件
│ ├── ECO65                                             # ECO65 相关启动文件
│ │ ├── arm_eco65_trajectory_controller.launch          #仿真控制器 launch 文件
│ │ ├── rm_eco65_arm_gazebo_states.launch               #仿真机械臂状态监控 launch 文件
│ │ ├── rm_eco65_arm_trajectory_controller.launch
│ │ └── rm_eco65_arm_world.launch                       #仿真机械臂 gazebo 加载 launch 文件
│ ├── ECO63                                             # ECO63相关启动文件
│ │ ├── arm_eco63_trajectory_controller.launch
│ │ ├── rm_eco63_arm_gazebo_states.launch
│ │ ├── rm_eco63_arm_trajectory_controller.launch
│ │ └── rm_eco63_arm_world.launch
│ ├── GEN72                                             #GEN72gazebo 相关启动文件(同 eco65)
│ │ ├── arm_gazebo_states.launch
│ │ ├── arm_gen72_trajectory_controller.launch
│ │ ├── arm_trajectory_controller.launch
│ │ └── arm_world_II.launch
│ │ └── arm_world.launch
│ ├── RM65                                              # RM65gazebo 相关启动文件(同 eco65)
│ │ ├── arm_65_trajectory_controller.launch
│ │ ├── rm_65_arm_gazebo_states.launch
│ │ ├── rm_65_arm_trajectory_controller.launch
│ │ └── rm_65_arm_world.launch
│ ├── RM75                                              # RM75gazebo 相关启动文件(同 eco65)
│ │ ├── arm_75_trajectory_controller.launch
│ │ ├── arm_gazebo_states.launch
│ │ ├── arm_trajectory_controller.launch
│ │ └── arm_world.launch
│ └── RML63                                             # RML63gazebo 相关启动文件(同 eco65)
│ ├── arm_gazebo_states.launch
│ ├── arm_trajectory_controller.launch
│ ├── arm_world.launch
│ └── rml_63_trajectory_controller.launch
└── package.xml