robotics 2011 10 control 2 - home@ · pdf fileinverse dynamics feedforward control (also...
TRANSCRIPT
Industrial RobotsIndustrial Robots
ControlControl –– Part 2Part 2Control Control Part 2Part 2
Introduction to centralized control
Independent joint decentralized control may prove inadequate when
the user requires high task velocities ⇒ structured disturbance torques (Coriolis, centrifugal) greatly influence the robot behavior
motors are of direct drive type ⇒ since non gearboxes are present, their beneficial effect is absent and nonlinear effects and coupling effects become important
In these cases the disturbances torques may cause large errors on the reference trajectory tracking
Basilio Bona 2ROBOTICA 03CFIOR
Introduction to centralized control
Since in these cases it is not possible to sufficiently reduce the effects due to the disturbance torques, it is more convenient to try to cancel such torques, adopting control algorithms that use nonlinear compensation terms
We call this architecture “centralized” since the applied joint command torques are function also of the other joint positions and velocities.The approach is not “local” anymore, as happens in the decentralized architecture, where each joint controller uses only the local joint information (position and velocity)
Basilio Bona 3ROBOTICA 03CFIOR
Centralized control
In the centralized control architectures the robot is considered as a MIMO system, with n inputs (the joint torques) and n
( h j i i i ) h i i h h houtputs (the joint positions ) that interact with each other according to the nonlinear dynamic equations of the robot modelmodel
The centralized control algorithms shall take into account this dynamic model, and usually they have a nonlinear form
The main centralized control architecture is called inverse inverse dynamicsdynamics, since the command torques are computed from the robot dynamic equation and from the knowledge of the joint variables (positions and velocities), i.e., as a solution of an inverse dynamic problem
Basilio Bona 4ROBOTICA 03CFIOR
Inverse dynamics control
( ) ( , )c
+ =M q q h q q u
Consider again the following simplified dynamic model of the robot
( ) ( , )c
q q q q
We can compute a control command as a function of the dynamic model, where the inertia and disturbance terms are approximatewhere the inertia and disturbance terms are approximate
hReference acceleration
+
++
q
qcu
rq
M ROBOTROBOT– qc
ca
Basilio Bona 5ROBOTICA 03CFIOR
( )r cc− +qu M a hAdditional acceleration
command signal
Approximate linearization
Hence, developing the previous equation, we have:
( ) ( , ) ( )r c
+ = − +M q q h q q M hq a
( )1 1( ) ( ) ( , )( )r c
− −− −−=q M q M M q h q qq a h
( )( , ) ( , )Δ− =h q q h h q q1( ) ( )− = +M q M I E q ( )( , ) ( , )q q q q
1( ) ( )−= −E q M q M I
Here we try to invert the inertia matrixHere we try to invert the inertia matrix
Here we try to send to zero the disturbance
Basilio Bona 6ROBOTICA 03CFIOR
Here we try to send to zero the disturbance terms
Conclusions
( ),) , ,(rc cr
= +−q vaq q q qη
If we can cancel this part, the system becomes linear and decoupled, but unstable
Structured disturbance
( ) 1, , , ( ) ( )( ) ( , )rr c c
Δ−= −−qq q q a E q M q h qa qη
Approximation i i i d l
Approximation in in inertia model Coriolis model
Basilio Bona 7ROBOTICA 03CFIOR
In general
If we are able to compute the exact model of the nonlinear dynamical system, we can build the following control architecture, where ac is a suitable acceleration control signal, whose definition will allow to obtain asymptotic stability and other performances
ROBOTq
u( )M q +ac ROBOT
q
( )M q ++
( , )h q q
Basilio Bona 8ROBOTICA 03CFIOR
Exact linearization and decoupling
The control scheme above performs an exact system linearization
The resulting system is decoupled: it consists in n double integrators; the i‐th component ac i of the new acceleration signal g p c,i ginfluences only the behavior of the i‐th joint component qc,i that is independent of the other joints motion
q
ROBOTu( )M q ++
ac
∫ ∫ac
( , )h q q
q
Basilio Bona 9ROBOTICA 03CFIOR
State variable representation
Basilio Bona 10ROBOTICA 03CFIOR
Error variable representation
This term is equivalent to the injection into the system of a structured nonlinear disturbance that can make it unstable in spite of the control design
Basilio Bona 11ROBOTICA 03CFIOR
Controller design
Basilio Bona 12ROBOTICA 03CFIOR
Controller design
hNonlinear Inner Loop
hROBOTROBOT
+
+
–
q
qcu
rq
M ,M hq
ca
Linear Outer Loop
Basilio Bona 13ROBOTICA 03CFIOR
Inner loop – outer loop (nonlinear linearizing control)
Basilio Bona 14ROBOTICA 03CFIOR
Exact linearization
Basilio Bona 15ROBOTICA 03CFIOR
Exact linearization
( , )h q qROBOTROBOT
+
+
cu
rq
,M h( )M q–
ca Inner Loop
1
s
1
s1
q1q+
rq
1
s
1
s
–
ca
nqn
qc nn
Control design
Basilio Bona 16ROBOTICA 03CFIOR
PD outer loop control design
Basilio Bona 17ROBOTICA 03CFIOR
PD outer loop control design
Basilio Bona 18ROBOTICA 03CFIOR
PD outer loop control design
Inner LoopInner Loop ( , )h q q
ROBOT+
+
+
–
cu
rq
,M h( )M q
ca
+q
Outer Loop
D−K
+
+
+
+
–q
rq
P−K
+
–
rq
Basilio Bona 19ROBOTICA 03CFIOR
PID outer loop control design
Basilio Bona 20ROBOTICA 03CFIOR
Inner Loop
PID outer loop control design
hInner Loop
+
+
+rq
qqc
uM ROBOT–
ca
a PID controller for the outer loopOuter Loop
DK−
+
++
– K−
+rq
qP
K−+
–
IK
s
−rq
Basilio Bona 21ROBOTICA 03CFIOR
PID outer loop control design
Basilio Bona 22ROBOTICA 03CFIOR
Practical aspects of exact linearization
Exact linearization hypothesis implies the capacity to compute on‐line the model matrices
Dynamic models must be perfectly known, without errors or approximationsThe model matrices must be computed online; at every sampling time (approx. 1 ms) the inverse dynamics equations must be solved Software and hardware architectures must be able to dosolved. Software and hardware architectures must be able to do soUnmodeled dynamics (e g elastic vibrations) are not taken intoUnmodeled dynamics (e.g., elastic vibrations) are not taken into account
In practice it is impossible to satisfy all these assumptions atIn practice it is impossible to satisfy all these assumptions at the same time
Basilio Bona 23ROBOTICA 03CFIOR
Approximate linearization
In practice one may adopt a control scheme based on the imperfect compensation of the robot inverse dynamics
There are different possibilities to do so:p1. Only a part of the robot dynamics is computed and used in the
controller (usually the dominant one and/or that is best known), leaving to the outer loop the task of guaranteeing the overall stability and the reference trajectory tracking
2. A feedforward compensation of the robot dynamics; it uses the reference values of the desired trajectory instead of the real measured joint variables and velocities to build the modelmeasured joint variables and velocities to build the model matrices
Basilio Bona 24ROBOTICA 03CFIOR
Approximate linearization
3. Robust control techniques; these are advanced techniques that allow to overcome the effects of the approximations and other
i d d b h l i i f h ierrors introduced by the real‐time computation of the inverse dynamics
4 Adaptive control techniques; they provide an online estimation4. Adaptive control techniques; they provide an online estimation of the true model parameters that are successively used in the controllercontroller
Also for the outer loop controller it is possible to adopt more complex algorithms than the simple PD controller.complex algorithms than the simple PD controller.
A PID controller will be able to cancel the steady state effects of any additive constant disturbance that the inner loop cannot y pcancel
Basilio Bona 25ROBOTICA 03CFIOR
Approximate linearization
Basilio Bona 26ROBOTICA 03CFIOR
Approximate linearization
Under the assumption that only an approximate compensationis possible, the external control law becomes:
( ) ( , )c c= +u M q a h q q
;M M h hWhere
represents an estimate of the true matrices. These matrices could be both the best available approximation of
the true matrices, or the result of an “a‐priori” decision that i lifi h d lsimplifies the model
Basilio Bona 27ROBOTICA 03CFIOR
Inner loop
Approximate linearization
hInner loop
+
+
+qqc
urq
M ROBOT–
ca
We assume to use a PD controller for the outer loopp
Basilio Bona 28ROBOTICA 03CFIOR
Approximate linearization
There are some inverse dynamics architectures with approximate linearization that includeapproximate linearization, that include
1. Independent joint control
2. PD control with gravity compensation
3. Inverse dynamics feedforward control (also called computed torque method)
Basilio Bona 29ROBOTICA 03CFIOR
Independent joint control
Basilio Bona 30ROBOTICA 03CFIOR
Inner loop
Independent joint controlInner loop
rq
qqROBOTM
−+
ca
Outer loopc
+
++
–D
K−rq
q +
–P
K−rq
Basilio Bona 31ROBOTICA 03CFIOR
PD control with gravity compensation
Exact knowledge of the gravity terms
Basilio Bona 32ROBOTICA 03CFIOR
PD control with gravity compensation
Basilio Bona 33ROBOTICA 03CFIOR
Inner loop
PD control with gravity compensationInner loop
( )gqτ
+
–
qqc
uROBOT
ca
Outer loop
+
++
–D
K−rq
q +
–P
K−rq
Basilio Bona 34ROBOTICA 03CFIOR
Computed torque method
The computed torque method represents an solution midway between the decentralized control and the inverse dynamics bet ee t e dece t a ed co t o a d t e e se dy a cscontrolIt is mainly used when the reduced processing power cannot y p g pafford the complete inverse dynamics implementationWhen the real‐time constraints are strict, the feedforward term can be approximated
Considering only the diagonal terms of the inertia matrix and the it ti l ff t th t d i t h th l itigravitational effects, that are dominant when the velocities are
smallComputing off‐line the feedforward torque terms and store them inComputing off line the feedforward torque terms and store them in a mass memory; this is possible when cyclic trajectories are performed again and again
Basilio Bona 35ROBOTICA 03CFIOR
Inner loop
Computed torque method
( , )r r
h q qInner loop
( )r
M q+
+
+qqc
urq
ROBOT–
Inner Loopca
Outer loop
+
++
–
rq
qD
K−
+–
rq
PK−
Basilio Bona 36ROBOTICA 03CFIOR