CanIEmbody

Degrees of freedom

Also: DoF, DOF

The number of independent coordinates needed to specify a mechanism's configuration; for a serial robot arm, usually its number of actuated joints.

The degrees of freedom (DoF) of a mechanism are the number of independent coordinates needed to specify its configuration. For a serial arm built from revolute or prismatic joints, this equals the number of joints. A rigid body in 3D space has six DoF, three translational and three rotational, so an arm needs at least six joints to place its end-effector at an arbitrary position and orientation within its workspace. Arms with more than six joints are kinematically redundant.

DoF figures in product descriptions are inconsistent about the gripper. The SO-101 has six STS3215 motors: five arm joints (shoulder pan, shoulder lift, elbow flex, wrist flex, wrist roll) and one gripper. It is often called "6-DoF", but its arm has five DoF, so it cannot reach every orientation at every position. LeRobot's action-representation guide, by contrast, uses "a 6-DOF arm with a gripper" for an arm with six joints plus a gripper. A precise statement separates the two, for example "5-DoF arm + 1-DoF gripper".

DoF fixes the size of the action and proprioceptive state vectors. An SO-101 policy outputs six numbers per step, a bimanual bi-SO setup twelve, and a humanoid such as the Unitree G1 many more. Cross-embodiment VLAs therefore pad or project to a fixed width (SmolVLA uses 32 in LeRobot v0.6.1), and a checkpoint pretrained on other robots still has to be fine-tuned to learn a new robot's action mapping (see embodiment gap).

A common misconception is that more DoF is always better. Extra joints add reach and dexterity, but each one enlarges the action space that a policy must learn from the same number of demonstrations.

Policies where this matters

SmolVLA

Related

Proprioception · Embodiment gap · Leader–follower arm · Affordance

Sources

  1. T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1

    SO-101 follower has six STS3215 motors (five arm joints plus gripper).

    “The follower arm uses 6x STS3215 motors with 1/345 gearing.”
    https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/so101.mdx
  2. T1 · upstream documentedofficial-docssource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1

    LeRobot action-representation guide: joint-space action for a 6-DOF arm with a gripper.

    “For a 6-DOF arm with a gripper, a joint-space action might look like:”
    https://github.com/huggingface/lerobot/blob/v0.6.1/docs/source/action_representations.mdx
  3. T1 · upstream documentedsource-codesource 2026-08-03verified 2026-10-24 (1d ago)lerobot 0.6.1

    SmolVLA pads actions to 32 dimensions.

    “max_action_dim: int = 32”
    https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/policies/smolvla/configuration_smolvla.py