Data Format
Action Commands
Action commands are dictionaries containing various joint and end effector control commands:
Gripper Commands
python
import numpy as np
action_gripper_pos = {
# Unit: m
"leftarm_gripper_cmd_pos": np.array([0.0]),
"rightarm_gripper_cmd_pos": np.array([0.0]),
}Dual Arm Commands
python
import numpy as np
# Joint Control
arm_joint_action = {
# Left arm joint positions [joint1, joint2, ..., joint7]
"leftarm_cmd_joint_pos": np.array([0, 0, 0, 0, 0, 0, 0]),
# Right arm joint positions [joint1, joint2, ..., joint7]
"rightarm_cmd_joint_pos": np.array([0, 0, 0, 0, 0, 0, 0]),
}
# Cartesian Control
action_cart_action = {
# Left arm Cartesian position [x, y, z, rx, ry, rz]
"leftarm_cmd_cart_pos": np.array([0.3, 0.2, 0.5, 0, 0, 0]),
# Right arm Cartesian position [x, y, z, rx, ry, rz]
"rightarm_cmd_cart_pos": np.array([0.3, -0.2, 0.5, 0, 0, 0]),
}Torso Commands
python
# Joint Control
torso_joint_action = {
# Torso joint positions [joint1, joint2, ..., joint6]
"torso_cmd_joint_pos": np.array([0, 0, 0, 0, 0, 0]),
}
# Cartesian Control
torso_cart_action = {
# Torso Cartesian position [x, y, z, rx, ry, rz]
"torso_cmd_cart_pos": np.array([0, 0, 0, 0, 0, 0]),
}Base Commands
Important: Only effective when the base is in velocity control mode.
python
# Base velocity command
cmd_vel_action = {
# Base velocity [vx, vy, wz]
"base_cmd_speed": np.array([0.0, 0.0, 0.0]),
}Observation Data
Observation data contains robot state information and camera images:
python
observation = {
# Robot state data
"leftarm_state_cart_pos": np.array([x, y, z, rx, ry, rz]), # Left arm Cartesian position
"leftarm_state_joint_pos": np.array([j1, j2, ..., j7]), # Left arm joint positions
"rightarm_state_cart_pos": np.array([x, y, z, rx, ry, rz]), # Right arm Cartesian position
"rightarm_state_joint_pos": np.array([j1, j2, ..., j7]), # Right arm joint positions
"leftarm_gripper_state_pos": np.array([gripper_pos]), # Left gripper position
"rightarm_gripper_state_pos": np.array([gripper_pos]), # Right gripper position
# Torso state (if available)
"torso_state_cart_pos": np.array([x, y, z, rx, ry, rz]), # Torso Cartesian position
"torso_state_joint_pos": np.array([j1, j2, ..., j6]), # Torso joint positions
# Base state (if available)
"base_state_speed": np.array([vx, vy, wz]), # Base velocity
# Camera images (if enabled), RGB
"cam_high": np.array(shape=[H, W, 3], dtype=np.uint8), # High camera
"cam_left_wrist": np.array(shape=[H, W, 3], dtype=np.uint8), # Left wrist camera
"cam_right_wrist": np.array(shape=[H, W, 3], dtype=np.uint8), # Right wrist camera
}
