Skip to content

rm_bringup功能包 ​

rm_bringup功能包为实现多个launch文件同时运行所设计的功能包,使用该功能包可用一条命令实现多个节点结合的复杂功能的启动。
这里将从以下三个方面整体介绍该功能包:

  • 1.功能包使用:了解该功能包的使用。
  • 2.功能包架构说明:熟悉功能包中的文件构成及作用。
  • 3.功能包话题说明:熟悉功能包相关的话题,方便开发和使用。

代码链接:https://github.com/RealManRobot/ros2_rm_robot/tree/humble/rm_bringup

1. rm_bringup功能包使用 ​

1.1 统一启动入口 ​

支持统一启动文件,可通过 mode 切换真机或Gazebo环境:

ros2 launch rm_bringup rm_bringup.launch.py arm_type:=65-6fb mode:=real
ros2 launch rm_bringup rm_bringup.launch.py arm_type:=65-6fb mode:=gazebo

如何选 arm_type ​

arm_type 同时指定机械臂型号和末端结构。下表中的模型名也适用于Gazebo和单独启动的模型显示包。

系列三代真机、模型显示和Gazebo四代控制器软件1.0.6及以上真机推荐值GLB/DAE模型
RML6363、63-6f、63-6fb63、63-6f无
RML63 III63_iii、63_iii-6fb63_iii、63_iii-6f无
RM6565、65-6f、65-6fb65、65-6f有
RM7575、75-6f、75-6fb75、75-6f有
ECO62eco62eco62有
ECO63eco63、eco63-6fbeco63、eco63-6f有
ECO65eco65、eco65-6f、eco65-6fbeco65、eco65-6f有
GEN72gen72gen72无
GEN72 IIgen72_iigen72_ii无
RX75双臂rx75-6fb、rx75-6fb-vrx75-6f、rx75-6f-v有

统一入口参数 ​

参数默认值说明
arm_type必填见上表。整机启动 RX75 时须带末端后缀;ECO62 只接受标准模型。
mode/modelreal/automode 可选 real、gazebo;model 可选 auto、stl、glb
use_moveit/use_rviz均为true只关规划窗口用 use_rviz:=false。关闭 MoveIt 时同时传 use_moveit:=false use_rviz:=false
allow_trajectory_executiontrue设置为 false 时,保留 MoveIt 规划,关闭其轨迹执行
driver_configauto单臂真机驱动YAML配置路径。
left_driver_config/right_driver_config均为autoRX75 左右驱动 YAML 路径,分别覆盖
followauto真机透传跟随模式;auto默认为低跟随,也可显式设置为 true 或 false。
joint_states_topicauto按该入口只接受 auto,按模式与机型选择关节状态话题
start_gazebotrue在 Gazebo 模式启动仿真进程。

1.2 moveit2控制真实机械臂 ​

首先配置好环境完成连接后我们可以通过以下命令直接启动节点,运行rm_bringup功能包中的launch.py文件。

说明

在实际使用时需要将命令中的<arm_type>更换为实际的机械臂型号。

  • 启动标准版本机械臂的命令为(当前支持65、63、63_III、75、eco62、eco63、eco65、rx75):

    ros2 launch rm_bringup rm_<arm_type>_bringup.launch.py
  • 启动六维力版本机械臂的命令为(当前支持 63、65、75、eco65):

    ros2 launch rm_bringup rm_<arm_type>_6f_bringup.launch.py
  • 启动一体化六维力版本机械臂的命令为(当前支持 63、63_III、65、75、eco63、eco65、rx75):

    ros2 launch rm_bringup rm_<arm_type>_6fb_bringup.launch.py
  • 启动带视觉方案的六维力版本机械臂的命令为(当前仅支持rx75):

    ros2 launch rm_bringup rm_<arm_type>_6fb_v_bringup.launch.py

例如65标准版机械臂的启动命令如下:

ros2 launch rm_bringup rm_65_bringup.launch.py

节点启动成功后,将弹出以下画面。 image
实际该launch文件启动的为moveit2控制真实机械臂的功能下面就可以使用控制球规划控制机械臂运动,详细可查看rm_moveit2_config详解相关内容。

1.3 控制gazebo仿真机械臂 ​

我们可以通过以下命令运行rm_bringup功能包中的launch.py文件,直接启动其中的gzaebo仿真节点。

说明

在实际使用时需要将命令中的<arm_type>更换为实际的机械臂型号。

  • 启动标准版本机械臂的命令为(当前支持65、63、63_III、75、eco62、eco63、eco65、rx75):

    ros2 launch rm_bringup rm_<arm_type>_gazebo.launch.py
  • 启动六维力版本机械臂的命令为(当前支持 63、65、75、eco65):

    ros2 launch rm_bringup rm_<arm_type>_6f_gazebo.launch.py
  • 启动一体化六维力版本机械臂的命令为(当前支持 63、63_III、65、75、eco63、eco65、rx75):

    ros2 launch rm_bringup rm_<arm_type>_6fb_gazebo.launch.py
  • 启动带视觉方案的六维力版本机械臂的命令为(当前仅支持 rx75):

    ros2 launch rm_description rm_<arm_type>_6fb_v_gazebo.launch.py

例如65标准版机械臂的启动命令如下:

ros2 launch rm_bringup rm_65_gazebo.launch.py

节点启动成功后,将弹出以下画面。 image
之后我们使用如下指令启动moveit2控制gazebo中的仿真机械臂。 image

2. rm_bringup功能包架构文件总览 ​

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

├── CMakeLists.txt                                        #编译规则文件
├── doc                                                   #辅助文档、图片存放文件夹
│   ├── rm_bringup1.png                                   #图片 1
│   ├── rm_bringup2.png                                   #图片 2
│   └── rm_bringup3.png                                   #图片 3
├── launch #启动文件
│   ├── rm_63_6f_bringup.launch.py                        #63 臂六维力 moveit2 启动文件
│   ├── rm_63_6f_gazebo.launch.py                         #63 臂六维力 gazebo 启动文件
│   ├── rm_63_6fb_bringup.launch.py                       #63 臂一体化六维力 moveit2 启动文件
│   ├── rm_63_6fb_gazebo.launch.py                        #63 臂一体化六维力 gazebo 启动文件
│   ├── rm_63_bringup.launch.py                           #63 臂 moveit2 启动文件
│   ├── rm_63_gazebo.launch.py                            #63 臂 gazebo 启动文件
│   ├── rm_63_III_bringup.launch.py                       #63_III 臂 moveit2 启动文件
│   ├── rm_63_III_gazebo.launch.py                        #63_III 臂 gazebo 启动文件
│   ├── rm_63_III_6fb_bringup.launch.py                   #63_III 臂六维力 moveit2 启动文件
│   ├── rm_63_III_6fb_gazebo.launch.py                    #63_III 臂六维力 gazebo 启动文件
│   ├── rm_65_6f_bringup.launch.py                        #65 臂六维力 moveit2 启动文件
│   ├── rm_65_6f_gazebo.launch.py                         #65 臂六维力 gazebo 启动文件
│   ├── rm_65_6fb_bringup.launch.py                       #65 臂一体化六维力 moveit2 启动文件
│   ├── rm_65_6fb_gazebo.launch.py                        #65 臂一体化六维力 gazebo 启动文件
│   ├── rm_65_bringup.launch.py                           #65 臂 moveit2 启动文件
│   ├── rm_65_gazebo.launch.py                            #65 臂 gazebo 启动文件
│   ├── rm_75_6f_bringup.launch.py                        #75 臂六维力 moveit2 启动文件
│   ├── rm_75_6f_gazebo.launch.py                         #75 臂六维力 gazebo 启动文件
│   ├── rm_75_6fb_bringup.launch.py                       #75 臂一体化六维力 moveit2 启动文件
│   ├── rm_75_6fb_gazebo.launch.py                        #75 臂一体化六维力 gazebo 启动文件
│   ├── rm_75_bringup.launch.py                           #75 臂 moveit2 启动文件
│   ├── rm_75_gazebo.launch.py                            #75 臂 gazebo 启动文件
│   ├── rm_eco62_bringup.launch.py                        #eco62 臂 moveit2 启动文件
│   ├── rm_eco62_gazebo.launch.py                         #eco62 臂 gazebo 启动文件
│   ├── rm_eco63_6fb_bringup.launch.py                    #eco63 臂一体化六维力 moveit2 启动文件
│   ├── rm_eco63_6fb_gazebo.launch.py                     #eco63 臂一体化六维力 gazebo 启动文件
│   ├── rm_eco63_bringup.launch.py                        #eco63 臂 moveit2 启动文件
│   ├── rm_eco63_gazebo.launch.py                         #eco63 臂 gazebo 启动文件
│   ├── rm_eco65_6f_bringup.launch.py                     #eco65 臂六维力 moveit2 启动文件
│   ├── rm_eco65_6f_gazebo.launch.py                      #eco65 臂六维力 gazebo 启动文件
│   ├── rm_eco65_6fb_bringup.launch.py                    #eco65 臂一体化六维力 moveit2 启动文件
│   ├── rm_eco65_6fb_gazebo.launch.py                     #eco65 臂一体化六维力 gazebo 启动文件
│   ├── rm_eco65_bringup.launch.py                        #eco65 臂 moveit2 启动文件
│   ├── rm_eco65_gazebo.launch.py                         #eco65 臂 gazebo 启动文件
│   ├── rm_gen72_bringup.launch.py                        #gen72 臂 moveit2 启动文件
│   ├── rm_gen72_gazebo.launch.py                         #gen72 臂 gazebo 启动文件
│   ├── rm_gen72_II_bringup.launch.py                     #gen72_II 臂 moveit2 启动文件
│   ├── rm_gen72_II_gazebo.launch.py                      #gen72_II 臂 gazebo 启动文件
│   ├── rm_rx75_6fb_bringup.launch.py                     #RX75-6FB 双臂 moveit2 启动文件
│   ├── rm_rx75_6fb_gazebo.launch.py                      #RX75-6FB 双臂 gazebo 启动文件
│   ├── rm_rx75_6fb_v_bringup.launch.py                   #RX75-6FB-V 双臂 moveit2 启动文件
│   └── rm_rx75_6fb_v_gazebo.launch.py                    #RX75-6FB-V 双臂 gazebo 启动文件
├── package.xml                                           #依赖说明文件
├── README_CN.md                                          #中文说明文档
└── README.md                                             #英文说明文档

3. rm_bringup话题说明 ​

该功能包当前并没有本身的话题,主要为调用其他功能包的话题实现。