Joint Limits
关节限位CommonThe allowed range of motion for each joint, and more broadly the velocity and torque limits that go with it.
Joint limits are the range of values a joint variable is allowed to take — a revolute joint might only turn between −90° and 90°, mostly set by the mechanical structure; more broadly, the term also covers velocity and torque limits. In URDF, revolute and prismatic joints specify four values in a limit tag: lower, upper, velocity, and effort; a revolute joint with no rotation limit is instead typed continuous. Limits affect many parts of the pipeline: an inverse-kinematics solution has to be checked against them, motion planning has to cut the parts of configuration space they rule out, and real robot controllers commonly set software limits tighter than the mechanical hard limits, to leave a margin. Reinforcement-learning training commonly penalizes states that approach the limits — legged_gym's soft_dof_pos_limit, for instance, sets a penalty threshold as a percentage of the URDF's limits.
ExampleIn Modern Robotics, a 2R arm is limited to 0°≤θ1≤180° and 0°≤θ2≤150°: a straight-line path in joint space is fine, but the path that moves the end effector in a straight line through task space ends up exceeding the joint limits.
- Also called
- Joint Range, Joint Position Limits
- Related
- Soft Limits (Software Joint Limits) · Configuration Space (C-Space) · Inverse Kinematics (IK) · Torque Limiting (Saturation) · Unified Robot Description Format · Workspace
- Sources
- Modern Robotics (Lynch & Park) preprint PDF, Ch. 4 URDF 与 Ch. 9 Fig. 9.1 (Chinese)
legged_gym: legged_robot_config.py (soft_dof_pos_limit)