Inverse Dynamics
逆动力学CommonWorking backward from a desired motion (position, velocity, acceleration) to the torque each joint needs to produce.
A robot's dynamics equation can be written τ = M(θ)θ̈ + h(θ, θ̇): θ is the joint angle vector, θ̇ and θ̈ are joint velocity and acceleration, M is the mass matrix, h lumps together gravity, Coriolis, and centrifugal terms, and τ is joint torque. Given θ, θ̇, and θ̈, solving for τ is inverse dynamics; going the other way, given τ, solving for θ̈ is forward dynamics — which is what a simulator computes at every step. Inverse dynamics is commonly solved with the recursive Newton-Euler algorithm: velocities and accelerations propagate from the base out to the tip, then forces are propagated back from the tip to the base. It's the core of computed-torque control, gravity compensation, and whole-body control, and biomechanics researchers also use it to work back from motion-capture data and ground reaction forces to human joint torques. It's distinct from inverse kinematics, which only solves for joint angles, and also distinct from an “inverse dynamics model” in embodied learning, which infers an action from a pair of consecutive frames.
ExampleTo lift a 2 kg object along a planned acceleration profile, a controller first uses inverse dynamics to compute the torque each joint needs at that instant as a feedforward term, then adds PD feedback on top to correct any error — this is computed-torque control.
- Related
- Forward Dynamics · Recursive Newton-Euler Algorithm · Mass Matrix · Computed Torque Control · Gravity Compensation · Inverse Dynamics Model
- Sources
- Modern Robotics (Lynch & Park) preprint PDF, Ch. 8 Dynamics of Open Chains
Inverse dynamics - Wikipedia