下载&编译 pnd_ros2
git clone https://github.com/pndbotics/pnd_ros2.git
cd pnd_ros2
colcon build
source install/setup.bash
通讯模式切换
默认使用DDS通讯,如需切换ROS2,可执行以下步骤:
-
连接到NUC,密码:pndxyz。打开配置文件
paras.yaml -
通过修改文件中字段
user_domain_id: 1的数字选择通讯模式。DDS通讯:
user_domain_id: 1
ROS2通讯:
user_domain_id: 2
ROS2 消息定义
下发消息:lowcmd(身体期望位置)
| 字段 | 类型 | 维度 | 含义 |
|---|---|---|---|
motor_cmd |
MotorCmd_ |
19 | 19 个执行器期望位置 |
reserve |
unsigned long |
1 | 保留字段 |
订阅消息:lowstate(身体实际状态)
| 字段 | 类型 | 维度 | 含义 |
|---|---|---|---|
motor_state |
MotorState_ |
19 | 19 个执行器实际位置 |
reserve |
unsigned long |
1 | 保留字段 |
下发消息:handcmd(手指期望位置)
| 字段 | 类型 | 维度 | 含义 |
|---|---|---|---|
position |
unsigned long |
12 | 手部期望位置 |
reserve |
unsigned long |
1 | 保留字段 |
订阅消息:handstate(手指实际状态)
| 字段 | 类型 | 维度 | 含义 |
|---|---|---|---|
position |
unsigned long |
12 | 手部实际位置 |
reserve |
unsigned long |
1 | 保留字段 |
单个关节数据类型:MotorCmd_
| 字段 | 类型 | 含义 |
|---|---|---|
mode |
octet |
模式(0) |
q |
float |
位置 |
dq |
float |
速度 |
tau |
float |
力矩 |
kp |
float |
刚度 |
kd |
float |
阻尼 |
reserve |
unsigned long |
保留字段 |
单个关节数据类型:MotorState_
| 字段 | 类型 | 含义 |
|---|---|---|
mode |
octet |
模式(0) |
q |
float |
位置 |
dq |
float |
速度 |
tau_est |
float |
力矩估计 |
motorstate |
unsigned long |
当前状态 |
reserve |
unsigned long |
保留字段 |