跳转至

下载&编译 pnd_ros2

git clone https://github.com/pndbotics/pnd_ros2.git
cd pnd_ros2
colcon build
source install/setup.bash

接口说明

采用ROS2方法订阅或发布话题。话题信息存储在由 MSG 定义的结构体中,常用结构体有:

结构体名称 说明
_HandCmd_.msg 灵巧手控制
_HandState_.msg 灵巧手状态
_IMUState_.msg Adam IMU状态
_LowCmd_.msg Adam 底层控制
_LowState_.msg Adam 底层状态
_MotorCmd_.msg Adam 电机控制
_MotorState_.msg Adam 电机状态

ROS2 消息定义

下发消息:lowcmd(身体期望位置)

字段 类型 维度 含义
motor_cmd MotorCmd_ * 变长[1]
reserve unsigned long 1 保留字段

[1]motor_cmd 说明:其长度根据本机型号而定

  • Adam Pro :31 维度执行器数据
  • Adam Standard :29 维度执行器数据
  • Adam Lite :23 维度执行器数据

订阅消息:lowstate(身体实际状态)

字段 类型 维度 含义
imu_state IMUState_ 9 IMU数据
motor_state MotorState_ * 变长[1]
wireless_remote short 40 定长[2]
reserve unsigned long 1 保留字段

[1]motor_state 说明:其长度根据本机型号而定

  • Adam Pro :31 维度执行器数据
  • Adam Standard :29 维度执行器数据
  • Adam Lite :23 维度执行器数据

[2]wireless_remote 说明:索引20-40为空,0-19分别对应手柄遥控器按键:"lx", "ly", "rx", "ry", "lt", "rt", "xx", "yy", "a", "b", "x", "y", "lb", "rb", "back", "start", "home", "lo", "ro"

下发消息:handcmd(手指期望位置)

字段 类型 维度 含义
position unsigned long 12 手部期望位置
reserve unsigned long 1 保留字段

订阅消息:handstate(手指实际状态)

字段 类型 维度 含义
position unsigned long 12 手部实际位置
reserve unsigned long 1 保留字段

IMU数据类型:IMUState_

字段 类型 维度 含义
quaternion float 4 四元数
gyroscope float 3 角速度
accelerometer float 3 加速度
ypr float 3 姿态角
temperature short 3 温度

单个关节数据类型: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 速度
ddq float 加速度
tau_est float 力矩估计
state unsigned long 当前状态
reserve unsigned long 保留字段