跳转至

下载&编译 pnd_ros2

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

通讯模式切换

默认使用DDS通讯,如需切换ROS2,可执行以下步骤:

  1. 连接到NUC,密码:pndxyz。打开配置文件paras.yaml

    ssh pnd-humanoid@192.168.41.xx
    xdg-open ~/Documents/adam_u_deploy/pnd_adam_dds/resources/config/paras.yaml
    

  2. 通过修改文件中字段user_domain_id: 1的数字选择通讯模式。

    DDS通讯:user_domain_id: 1

    切换通讯模式

    ROS2通讯:user_domain_id: 2

    切换通讯模式1


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 保留字段