Skip to content

Download & Build pnd_ros2

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

API Description

Use the ROS2 methods to subscribe or publish topics. Topic information is stored in structures defined by MSG. Common structures include:

Structure Description
_HandCmd_.msg Dexterous hand control
_HandState_.msg Dexterous hand state
_IMUState_.msg Adam IMU state
_LowCmd_.msg Adam low-level control
_LowState_.msg Adam low-level state
_MotorCmd_.msg Adam motor command
_MotorState_.msg Adam motor state

ROS2 Message Definitions

Outgoing message: lowcmd (desired body positions)

Field Type Dimension Description
motor_cmd MotorCmd_ * Variable length[1]
reserve unsigned long 1 Reserved

[1] motor_cmd details: Length depends on robot model

  • Adam Pro: 31 actuator dimensions
  • Adam Standard: 29 actuator dimensions
  • Adam Lite: 23 actuator dimensions

Subscribed message: lowstate (actual body state)

Field Type Dimension Description
imu_state IMUState_ 9 IMU data
motor_state MotorState_ * Variable length[1]
wireless_remote short 40 Fixed length[2]
reserve unsigned long 1 Reserved

[1] motor_state details: Length depends on robot model

  • Adam Pro: 31 actuator dimensions
  • Adam Standard: 29 actuator dimensions
  • Adam Lite: 23 actuator dimensions

[2] wireless_remote details: Index 20–40 unused; 0–19 correspond to controller buttons: "lx", "ly", "rx", "ry", "lt", "rt", "xx", "yy", "a", "b", "x", "y", "lb", "rb", "back", "start", "home", "lo", "ro"

Outgoing message: handcmd (desired finger positions)

Field Type Dimension Description
position unsigned long 12 Desired hand positions
reserve unsigned long 1 Reserved

Subscribed message: handstate (actual finger positions)

Field Type Dimension Description
position unsigned long 12 Actual hand positions
reserve unsigned long 1 Reserved

IMU Data Type: IMUState_

Field Type Dimension Description
quaternion float 4 Quaternion
gyroscope float 3 Angular velocity
accelerometer float 3 Acceleration
ypr float 3 Yaw-Pitch-Roll
temperature short 3 Temperature

Single motor data type: MotorCmd_

Field Type Description
mode octet Mode (0)
q float Position
dq float Velocity
tau float Torque
kp float Stiffness
kd float Damping
reserve unsigned long Reserved

Single motor data type: MotorState_

Field Type Description
mode octet Mode (0)
q float Position
dq float Velocity
ddq float Acceleration
tau_est float Estimated torque
state unsigned long Current state
reserve unsigned long Reserved