robotics 2017 09 control 2 - home@ · pdf fileinverse dynamics feedforward control (also...
Post on 08-Mar-2018
226 Views
Preview:
TRANSCRIPT
ROBOTICS
01PEEQW
Basilio Bona
DAUIN – Politecnico di Torino
Control – Part 2
Introduction to centralized control
� Independent joint decentralized control may prove
inadequate when
� the user requires high task velocities, since structured
disturbance torques (Coriolis, centrifugal) greatly influence the robot behavior
� motors are of direct drive type, since no gearboxes are
present, cancelling their beneficial effect. Nonlinearities and
coupling effects become important
� In these cases the disturbance torques may cause large
errors on the reference trajectory tracking that the
independent control architecture is unable to reduce
Basilio Bona - DAUIN - PoliTo 3ROBOTICS 01PEEQW - 2016/2017
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 of the all 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 - DAUIN - PoliTo 4ROBOTICS 01PEEQW - 2016/2017
� In the centralized control architectures the robot is considered
as a MIMO system, with n inputs (the joint torques) and n
outputs (the joint positions) that interact with each other
according to the nonlinear dynamic equations of the robot
model
� The centralized control algorithms shall take into account this
dynamic model, and usually they present a nonlinear structure
� The main centralized control architecture is called inverse
dynamics, since the command torques are computed from the
robot model dynamic equation and from the knowledge of the
joint variables (positions and velocities), i.e., as a solution of a
model-based inverse dynamic problem
Centralized control
Basilio Bona - DAUIN - PoliTo 5ROBOTICS 01PEEQW - 2016/2017
Inverse dynamics control
Basilio Bona - DAUIN - PoliTo 6ROBOTICS 01PEEQW - 2016/2017
( ) ( , )c
+ =M q q h q q uɺɺ ɺ
Consider again the following simplified dynamic model of the robot
+
+
+
–
qɺ
qcu
ca
rqɺɺ
hɵ
�M ROBOT
We can compute a control command as a function of the dynamic model,
where one tries to cancel the inertia and other terms
�( )r cc− +qu M a hɺ≐ ɺ
ɵ
Reference acceleration
Additional acceleration
command signal
�( )r cc− +qu M a hɺ≐ ɺ
ɵ
Approximate linearization
Basilio Bona - DAUIN - PoliTo 7ROBOTICS 01PEEQW - 2016/2017
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 qɵ
ɺ ɺ�
�
1
1
( ) ( )
( ) ( )
−
−
= +
= −
M q M I E q
E q M q M I
Here we try to invert the inertia matrix
Here we try to send to zero the disturbance
terms
Conclusions
Basilio Bona - DAUIN - PoliTo 8ROBOTICS 01PEEQW - 2016/2017
( ),) , ,(rc cr
= +−q q q aq a qɺɺɺɺ ɺ ɺɺη
( ) 1, , , ( ) ( )( ) ( , )rr c c
∆−= −−qq q q a E q M q h qa qη ɺɺɺ ɺɺ ɺ
Structured disturbance
Approximation
in inertia modelApproximation in
Coriolis model
Conclusions
Basilio Bona - DAUIN - PoliTo 9ROBOTICS 01PEEQW - 2016/2017
( ),) , ,(rc cr
= +−q q q aq a qɺɺɺɺ ɺ ɺɺη
If we can cancel the structured
disturbance, the system becomes
linear and decoupled, but unstable
( )r c r c c
= − − = ⇒ =⇒q q a q q a e aɺɺ ɺɺ ɺɺ ɺɺ ɺɺ
The chains of double integrators make the system unstable
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
Basilio Bona - DAUIN - PoliTo 10ROBOTICS 01PEEQW - 2016/2017
ROBOT
( , )h q qɺ
q
qɺ
u( )M q +
+
ac
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 influences only the behavior of the i-th joint component
qc,i that is independent of the other joints motion
Basilio Bona - DAUIN - PoliTo 11ROBOTICS 01PEEQW - 2016/2017
ROBOT
( , )h q qɺ
q
qɺ
u( )M q +
+
ac
∫ ∫ac
qqɺ
Exact linearization
+
+
+
–
qɺ
qcu
ca
rqɺɺ
Inner Loop
( , )h q qɺ
,M h
ROBOT
( )M q
1
s
1
s
1
s
1
s
⋯
1q1
qɺ+
–
ca
rqɺɺ
nq
nqɺ
⋯
Control design
Basilio Bona - DAUIN - PoliTo 12ROBOTICS 01PEEQW - 2016/2017
State variable representation
Basilio Bona - DAUIN - PoliTo 13ROBOTICS 01PEEQW - 2016/2017
Error variable representation
Basilio Bona - DAUIN - PoliTo 14ROBOTICS 01PEEQW - 2016/2017
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
Controller design
Basilio Bona - DAUIN - PoliTo 15ROBOTICS 01PEEQW - 2016/2017
Controller design
Basilio Bona - DAUIN - PoliTo 16ROBOTICS 01PEEQW - 2016/2017
+
+
+
–
qɺ
qcu
ca
rqɺɺ
hɵ
�M ,M h
ROBOT
Linear Outer Loop
Nonlinear Inner Loop
Inner loop – outer loop (nonlinear linearizing control)
Basilio Bona - DAUIN - PoliTo 17ROBOTICS 01PEEQW - 2016/2017
Exact linearization
Basilio Bona - DAUIN - PoliTo 18ROBOTICS 01PEEQW - 2016/2017
Exact linearization
+
+
+
–
qɺ
qcu
ca
rqɺɺ
Inner Loop
( , )h q qɺ
,M h
ROBOT
( )M q
1
s
1
s
1
s
1
s
⋯
1q1
qɺ+
–
ca
rqɺɺ
nq
nqɺ
⋯
Control design
Basilio Bona - DAUIN - PoliTo 19ROBOTICS 01PEEQW - 2016/2017
PD outer loop control design
Basilio Bona - DAUIN - PoliTo 20ROBOTICS 01PEEQW - 2016/2017
PD outer loop control design
Basilio Bona - DAUIN - PoliTo 21ROBOTICS 01PEEQW - 2016/2017
D−K
P−K
+
+
+
–
+
–
rq
rqɺ
Outer Loop
PD outer loop control design
+
+
+
–
qɺ
qcu
ca
rqɺɺ
Inner Loop ( , )h q qɺ
,M h
ROBOT
( )M q
Basilio Bona - DAUIN - PoliTo 22ROBOTICS 01PEEQW - 2016/2017
PID outer loop control design
Basilio Bona - DAUIN - PoliTo 23ROBOTICS 01PEEQW - 2016/2017
+
+
+
–
DK−
PK−
+
+
+
–
+
–I
K
s
−
+rqɺ
rq
rqɺɺ
h
qɺ
qcu
ca
M
a PID controller for the outer loop
Inner Loop
Outer Loop
PID outer loop control design
ROBOT
Basilio Bona - DAUIN - PoliTo 24ROBOTICS 01PEEQW - 2016/2017
PID outer loop control design
Basilio Bona - DAUIN - PoliTo 25ROBOTICS 01PEEQW - 2016/2017
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
approximations
� The 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 do so
� Unmodeled dynamics (e.g., elastic vibrations) are not taken
into account
In practice it is impossible to satisfy all these assumptions at
the same time
Basilio Bona - DAUIN - PoliTo 26ROBOTICS 01PEEQW - 2016/2017
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:
1. 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 model
matrices
Basilio Bona - DAUIN - PoliTo 27ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
3. Robust control techniques; these are advanced techniques
that allow to overcome the effects of the approximations and
other errors introduced by the real-time computation of the
inverse dynamics
4. Adaptive control techniques; they provide an online
estimation of the true model parameters that are successively
used in the controller
� Also for the outer loop controller it is possible to adopt more
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 cancel
Basilio Bona - DAUIN - PoliTo 28ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
Basilio Bona - DAUIN - PoliTo 29ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
� Under the assumption that only an approximate compensation
is possible, the external control law becomes:
Basilio Bona - DAUIN - PoliTo 30ROBOTICS 01PEEQW - 2016/2017
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
simplifies the model
�( ) ( , )c c= +u M q a h q q
ɵɺ
� ;M M h hɵ
≃ ≃
Where
hɵ
+
+
+
–
qɺ
qcu
ca
rqɺɺ
�M ROBOT
Inner loop
We assume to use a PD controller
for the outer loop
Approximate linearization
Basilio Bona - DAUIN - PoliTo 31ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
� There are some inverse dynamics architectures with
approximate linearization, that include
� PD control with gravity compensation
� Independent joint control
� Inverse dynamics feedforward control (also called computed
torque method)
Basilio Bona - DAUIN - PoliTo 32ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 33ROBOTICS 01PEEQW - 2016/2017
Exact knowledge of
the gravity terms
Outer loop
Inner loop
+
+
+
+
–
+
–
–
qɺ
qcu
ca
DK−
PK−
rqɺ
rq
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 34ROBOTICS 01PEEQW - 2016/2017
ROBOT
e
eɺ
( )gqτ
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 35ROBOTICS 01PEEQW - 2016/2017
(A)
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 36ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 37ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 38ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 39ROBOTICS 01PEEQW - 2016/2017
Independent joint control
Basilio Bona - DAUIN - PoliTo 40ROBOTICS 01PEEQW - 2016/2017
Independent joint control
Basilio Bona - DAUIN - PoliTo 41ROBOTICS 01PEEQW - 2016/2017
+
+
+
–
+
–
qɺ
q
DK−
PK−
rqɺ
rq
Independent joint control
Basilio Bona - DAUIN - PoliTo 42ROBOTICS 01PEEQW - 2016/2017
ROBOT
Outer loop
Inner loop
e
eɺ
c c= −u a
Computed Torque Method
� The computed torque method represents an solution midway
between the decentralized control and the inverse dynamics
control
� It is mainly used when the reduced processing power cannot
afford the complete inverse dynamics implementation
� When the real-time constraints are strict, the feedforward
term can be approximated
� Considering only the diagonal terms of the inertia matrix and the
gravitational effects, that are dominant when the velocities are
small
� Computing off-line the feedforward torque terms and storing
them in a mass memory or look-up table; this is possible when
cyclic trajectories are performed again and again
Basilio Bona - DAUIN - PoliTo 43ROBOTICS 01PEEQW - 2016/2017
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 44ROBOTICS 01PEEQW - 2016/2017
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 45ROBOTICS 01PEEQW - 2016/2017
+
+
+
–
+
+
+–
+–
qɺ
q
rqɺ
rq
DK−
PK−
cu
ca
rqɺɺ
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 46ROBOTICS 01PEEQW - 2016/2017
ROBOT
Outer loop
e
eɺ
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 47ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 48ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 49ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 50ROBOTICS 01PEEQW - 2016/2017
top related