运控接口
- 关节控制:该节点控制R1 Pro躯干和手臂的每个关节。
- 手臂姿态控制:该节点控制手臂运动至目标末端执行器(ee)的坐标系。
- 夹爪控制:该节点控制末端执行器夹爪运动至目标位置。
- 躯干速度控制:该节点控制躯干运动至目标浮动基座坐标系。
- 底盘控制:该节点使用矢量控制来控制R1 Pro底盘,允许同时发送x、y和w三个方向的速度命令。
- 姿态估计:该节点接收来自HDAS的关节角反馈,并计算出对应三个坐标系的反馈。
关节控制
R1 Pro关节控制节点负责控制手臂的每个关节,总共有14个关节。可通过以下命令启动:
source {your_download_path}/install/setup.bash
ros2 launch mobiman r1_pro_jointTrackerdemo.py
该文件将启动 r1_pro_jointTracker_demo_node,该节点是负责控制每个关节的主要节点。接口信息如下所示::
值得注意的是:上述启动方法中,disable_torso这个参数默认为true。所以无法通过上诉方法启动的node来控制torso的关节运动。
| 话题名称 | I/O | 描述 | 消息类型 |
|---|---|---|---|
| /hdas/feedback_arm_left | Input | 左臂关节反馈 | sensor_msgs::msg::JointState |
| /hdas/feedback_arm_right | Input | 右臂关节反馈 | sensor_msgs::msg::JointState |
| /hdas/feedback_torso | Input | 躯干关节反馈 | sensor_msgs::msg::JointState |
| /motion_target/target_joint_state_arm_left | Input | 左臂各关节的目标位置 | sensor_msgs::msg::JointState |
| /motion_target/target_joint_state_arm_right | Input | 右臂各关节的目标位置 | sensor_msgs::msg::JointState |
| /motion_target/target_joint_state_torso | Input | 躯干各关节目标位置 | sensor_msgs::msg::JointState |
| /motion_control/control_arm_left | Output | 左臂电机控制 | hdas_msg::msg::MotorControl |
| /motion_control/control_arm_right | Output | 右臂电机控制 | hdas_msg::msg::MotorControl |
针对以上话题的具体字段及其详细描述如下表所示:
| 话题名称 | 字段 | 描述 |
|---|---|---|
| /hdas/feedback_arm_left | - | 请参考手臂驱动接口 |
| /hdas/feedback_arm_right | - | 请参考手臂驱动接口 |
| /hdas/feedback_torso | - | 请参考躯干驱动接口 |
| /motion_target/target_joint_state_arm_left /motion_target/target_joint_state_arm_right |
position | 这是一个包含7个元素的向量,代表每个关节的7个目标位置。 |
| velocity | 这是一个包含7个元素的向量,代表每个关节在运动过程中的最大速度。最大速度如下:{3, 3,3, 3, 5, 5, 5}。 加速度和加加速度限制设置为速度限制的1.5倍。 | |
| /motion_target/target_joint_state_torso | position | 这是一个包含四个元素的向量,代表每个关节的四个目标位置。 |
| velocity | 这是一个包含四个元素的向量,代表每个关节在运动过程中的速度。最大速度如下:{1.5, 1.5, 1.5, 1.5}。 加速度和加加速度限制设置为速度限制的1.5倍。 | |
| /motion_control/control_arm_left | - | 请参考手臂驱动接口 |
| /motion_control/control_arm_right | - | 请参考手臂驱动接口 |
带Torso的关节控制
R1 Pro关节控制节点负责控制R1 Pro躯干和手臂的每个关节,总共有18个关节。可通过以下命令启动:
source {your_download_path}/install/setup.bash
source /opt/galaxea/galaxeaKey/keys.env
ros2 launch mobiman r1_pro_jointTrackerdemo.py disable_torso:=false
该文件将启动 r1_pro_jointTracker_demo_node,该节点是负责控制每个关节的主要节点。接口信息如下所示::
请注意:上述启动方法中,disable_torso这个参数被设置为false。然后通过存放再/opt/galaxea/galaxeaKey/keys.env的密钥配对,即可实现torso的关节控制。该节点的node和上述没有差异,仅增加了一个躯干topic。
| 话题名称 | I/O | 描述 | 消息类型 |
|---|---|---|---|
| /motion_target/target_joint_state_torso | Input | 躯干各关节目标位置 | sensor_msgs::msg::JointState |
针对以上话题的具体字段及其详细描述如下表所示:
| 话题名称 | 字段 | 描述 |
|---|---|---|
| /motion_target/target_joint_state_torso | position | 这是一个包含四个元素的向量,代表每个关节的四个目标位置。 |
| velocity | 这是一个包含四个元素的向量,代表每个关节在运动过程中的速度。最大速度如下:{1.5, 1.5, 1.5, 1.5}。 加速度和加加速度限制设置为速度限制的1.5倍。 |