Cartesian Impedance Control
笛卡尔阻抗控制AdvancedMaking the arm's end-effector behave like it's mounted on a spring and damper: it yields when pushed and springs back when released.
Impedance control was proposed by Hogan in 1984–1985; Cartesian impedance control is its task-space form (defined on end-effector pose): instead of rigidly locking the end-effector's position, it specifies how much restoring force appears as the end-effector deviates from its target, F = K·e + D·ė, where e is the difference between target and actual pose, K the stiffness (newtons of force per meter of deviation), and D the damping (which suppresses oscillation); this is then converted to joint torque via the Jacobian transpose, τ = JᵀF, with Coriolis and gravity compensation added. K can be set per direction — for example, making the direction perpendicular to a hole's axis soft during peg insertion, to allow self-alignment. Compared to joint impedance control, its spring is defined at the end-effector rather than at each joint; and unlike admittance control, which is the reverse — ‘measure force, output position’ and suits stiff, position-controlled industrial arms — impedance control is ‘measure position, output force,’ suited to arms like Franka and KUKA iiwa that can command torque directly. Seven-DOF arms also add a null-space term to manage the extra degree of freedom.
Examplefranka_ros's Cartesian impedance example controller computes joint torque as τ = Jᵀ(−K·e − D·J·q̇) + null-space term + Coriolis compensation, with a default translational stiffness of 200 N/m: pushing the end-effector 1 centimeter off target produces about 2 N of restoring force, and the stiffness can be adjusted at runtime.
- Also called
- Task-Space Impedance Control, End-Effector Impedance Control
- Related
- Impedance Control · Joint Impedance Control · Admittance Control · Hybrid Force/Position Control · Null-Space Control · Operational Space Control
- Sources
- Hogan N. Impedance Control: An Approach to Manipulation: Part II—Implementation. ASME JDSMC, 1985
franka_ros: cartesian_impedance_example_controller.cpp
Mayr, Salt-Ducaju. A C++ Implementation of a Cartesian Impedance Controller for Robotic Manipulators (arXiv:2212.11215)