Computed torque control

From testwiki
Revision as of 16:04, 21 November 2024 by imported>AnnaBSP
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Template:Multiple issues Template:Short description

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 complicated nonlinear control problem has been reduced to a relatively simple linear control problem.

References

Template:Reflist