Engineering:Computed torque control

From HandWiki
Short description: Robot control


Computed torque control is a control scheme used in motion control in robotics. It combines feedback linearization via a PID controller of the error with a dynamical model of the controlled robot.[1][2]

Let the dynamics of the controlled robot be described by

𝐌(θβ†’)θβ†’Β¨+𝐂(θβ†’,θβ†’Λ™)θβ†’Λ™+τβ†’g(θβ†’)=τβ†’ where θβ†’N is the state vector of joint variables that describe the system, 𝐌(θβ†’) is the inertia matrix, 𝐂(θβ†’,θβ†’Λ™)θβ†’Λ™ is the vector Coriolis and centrifugal torques, τβ†’g(θβ†’) are the torques caused by gravity and τβ†’ is the vector of joint torque inputs.

Assume that we have an approximate model of the system made up of 𝐌~(θβ†’),𝐂~(θβ†’,θβ†’Λ™),τβ†’~g(θβ†’). This model does not need to be perfect, but it should justify the approximations 𝐌(θβ†’)1𝐌~(θβ†’)𝟏 and 𝐌1(𝐂(θβ†’,θβ†’Λ™)θβ†’Λ™+τβ†’g(θβ†’))𝐌1(𝐂~(θβ†’,θβ†’Λ™)θβ†’Λ™+τβ†’~g(θβ†’)).

Given a desired trajectory θβ†’d(t) the error relative to the current state θβ†’(t) is then θβ†’e(t)=θβ†’d(t)θβ†’(t).

We can then set the input of the system to be

τβ†’(t)=𝐌~(θβ†’)(θβ†’Β¨d(t)+Kpθβ†’e(t)+Ki0tθβ†’Β¨e(t)dt+Kdθβ†’Λ™e(t))+𝐂~(θβ†’,θβ†’Λ™)+τβ†’~g(θβ†’)

With this input the dynamics of the entire systems becomes

𝐌(θβ†’)θβ†’Β¨+𝐂(θβ†’,θβ†’Λ™)θβ†’Λ™+τβ†’g(θβ†’)=𝐌~(θβ†’)(θβ†’Β¨d(t)+Kpθβ†’e(t)+Ki0tθβ†’Β¨e(t)dt+Kdθβ†’Λ™e(t))+𝐂~(θβ†’,θβ†’Λ™)+τβ†’~g(θβ†’)θβ†’Β¨+𝐌(θβ†’)1(𝐂(θβ†’,θβ†’Λ™)θβ†’Λ™+τβ†’g(θβ†’))=𝐌(θβ†’)1𝐌~(θβ†’)𝟏(θβ†’Β¨d(t)+Kpθβ†’e(t)+Ki0tθβ†’Β¨e(t)dt+Kdθβ†’Λ™e(t))+𝐌(θβ†’)1(𝐂~(θβ†’,θβ†’Λ™)+τβ†’~g(θβ†’))θβ†’Β¨=θβ†’Β¨d(t)+Kpθβ†’e(t)+Ki0tθβ†’Β¨e(t)dt+Kdθβ†’Λ™e(t)0=θβ†’Β¨e+Kpθβ†’e(t)+Ki0tθβ†’Β¨e(t)dt+Kdθβ†’Λ™e(t)

and the normal methods for PID controller tuning can be applied. In this way the compilcated nonlinear control problem has been reduced to a relatively simple linear control problem.

References

  1. ↑ Lynch, Kevin M.; Park, Frank C. (2017). Modern robotics: mechanics, planning, and control. Cambridge: Cambridge university press. ISBN 978-1-107-15630-2. 
  2. ↑ Siciliano, Bruno, ed (2016). Springer handbook of robotics. Springer handbooks (2nd ed.). Berlin Heidelberg: Springer. pp. 174–175. ISBN 978-3-319-32550-7.