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 |