ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation
ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation
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
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 3 ROBOTICS 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
- nly the local joint information (position and velocity)
Basilio Bona - DAUIN - PoliTo 4 ROBOTICS 01PEEQW - 2016/2017
In the centralized control architectures the robot is considered as a MIMO system, with n inputs (the joint torques) and n
- utputs (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 5 ROBOTICS 01PEEQW - 2016/2017
Inverse dynamics control
Basilio Bona - DAUIN - PoliTo 6 ROBOTICS 01PEEQW - 2016/2017
( ) ( , )
c
+ = M q q h q q u ɺɺ ɺ
Consider again the following simplified dynamic model of the robot
+ + + –
q ɺ q
c
u
c
a
r
q ɺɺ 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 c c
− + q u M a h ɺ ≐ ɺ ɵ
Reference acceleration Additional acceleration command signal
( )
r c c
− + q u M a h ɺ ≐ ɺ ɵ
Approximate linearization
Basilio Bona - DAUIN - PoliTo 7 ROBOTICS 01PEEQW - 2016/2017
Hence, developing the previous equation, we have:
- ( )
( , ) ( )
r c
+ = − + M q q h q q M h q a ɵ ɺɺ ɺɺ ɺ
- (
)
1 1
( ) ( ) ( , ) ( )
r c − −
− − − = q M q M M q h q q q 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 8 ROBOTICS 01PEEQW - 2016/2017
( )
, ) , , (
r c c r
= + − q q q a q a q ɺɺ ɺɺ ɺ ɺɺ η
( )
1
, , , ( ) ( ) ( ) ( , )
r r c c
∆
−
= − − q q q q a E q M q h q a q η ɺɺ ɺ ɺɺ ɺ
Structured disturbance Approximation in inertia model Approximation in Coriolis model
Conclusions
Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 2016/2017
( )
, ) , , (
r c c r
= + − q q q a q 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 10 ROBOTICS 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 11 ROBOTICS 01PEEQW - 2016/2017
ROBOT
( , ) h q q ɺ q q ɺ
u
( ) M q
+ +
ac
∫ ∫
ac
q q ɺ
Exact linearization
+ + + –
q ɺ q
c
u
c
a
r
q ɺɺ
Inner Loop
( , ) h q q ɺ , M h
ROBOT
( ) M q
1 s 1 s 1 s 1 s ⋯
1
q
1
q ɺ
+ –
c
a
r
q ɺɺ
n
q
n
q ɺ
⋯
Control design
Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 2016/2017
State variable representation
Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 2016/2017
Error variable representation
Basilio Bona - DAUIN - PoliTo 14 ROBOTICS 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 15 ROBOTICS 01PEEQW - 2016/2017
Controller design
Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 2016/2017
+ + + –
q ɺ q
c
u
c
a
r
q ɺɺ h ɵ
- M
, M h
ROBOT
Linear Outer Loop Nonlinear Inner Loop
Inner loop – outer loop (nonlinear linearizing control)
Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 2016/2017
Exact linearization
Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 2016/2017
Exact linearization
+ + + –
q ɺ q
c
u
c
a
r
q ɺɺ
Inner Loop
( , ) h q q ɺ , M h
ROBOT
( ) M q
1 s 1 s 1 s 1 s ⋯
1
q
1
q ɺ
+ –
c
a
r
q ɺɺ
n
q
n
q ɺ
⋯
Control design
Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 2016/2017
PD outer loop control design
Basilio Bona - DAUIN - PoliTo 20 ROBOTICS 01PEEQW - 2016/2017
PD outer loop control design
Basilio Bona - DAUIN - PoliTo 21 ROBOTICS 01PEEQW - 2016/2017
D
−K
P
−K
+ + + – + –
r
q
r
q ɺ
Outer Loop
PD outer loop control design
+ + + –
q ɺ q
c
u
c
a
r
q ɺɺ
Inner Loop
( , ) h q q ɺ , M h
ROBOT
( ) M q
Basilio Bona - DAUIN - PoliTo 22 ROBOTICS 01PEEQW - 2016/2017
PID outer loop control design
Basilio Bona - DAUIN - PoliTo 23 ROBOTICS 01PEEQW - 2016/2017
+ + + –
D
K −
P
K −
+ + + – + –
I
K s −
+
r
q ɺ
r
q
r
q ɺɺ
h q ɺ q
c
u
c
a
M
a PID controller for the outer loop
Inner Loop Outer Loop
PID outer loop control design
ROBOT
Basilio Bona - DAUIN - PoliTo 24 ROBOTICS 01PEEQW - 2016/2017
PID outer loop control design
Basilio Bona - DAUIN - PoliTo 25 ROBOTICS 01PEEQW - 2016/2017
Practical aspects of exact linearization
Exact linearization hypothesis implies the capacity to compute
- n-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 26 ROBOTICS 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
- verall 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 27 ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
- 3. Robust control techniques; these are advanced techniques
that allow to overcome the effects of the approximations and
- ther 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
- f any additive constant disturbance that the inner loop
cannot cancel
Basilio Bona - DAUIN - PoliTo 28 ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
Basilio Bona - DAUIN - PoliTo 29 ROBOTICS 01PEEQW - 2016/2017
Approximate linearization
Under the assumption that only an approximate compensation is possible, the external control law becomes:
Basilio Bona - DAUIN - PoliTo 30 ROBOTICS 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 ɺ q
c
u
c
a
r
q ɺɺ
- M
ROBOT
Inner loop We assume to use a PD controller for the outer loop
Approximate linearization
Basilio Bona - DAUIN - PoliTo 31 ROBOTICS 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 32 ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 33 ROBOTICS 01PEEQW - 2016/2017
Exact knowledge of the gravity terms
Outer loop Inner loop
+ + + + – + – –
q ɺ q
c
u
c
a
D
K −
P
K −
r
q ɺ
r
q
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 34 ROBOTICS 01PEEQW - 2016/2017
ROBOT
e e ɺ
( )
g q
τ
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 35 ROBOTICS 01PEEQW - 2016/2017
(A)
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 36 ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 37 ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 38 ROBOTICS 01PEEQW - 2016/2017
PD control with gravity compensation
Basilio Bona - DAUIN - PoliTo 39 ROBOTICS 01PEEQW - 2016/2017
Independent joint control
Basilio Bona - DAUIN - PoliTo 40 ROBOTICS 01PEEQW - 2016/2017
Independent joint control
Basilio Bona - DAUIN - PoliTo 41 ROBOTICS 01PEEQW - 2016/2017
+ + + – + –
q ɺ q
D
K −
P
K −
r
q ɺ
r
q
Independent joint control
Basilio Bona - DAUIN - PoliTo 42 ROBOTICS 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 43 ROBOTICS 01PEEQW - 2016/2017
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 44 ROBOTICS 01PEEQW - 2016/2017
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 45 ROBOTICS 01PEEQW - 2016/2017
+ + + – + + + – + –
q ɺ q
r
q ɺ
r
q
D
K −
P
K −
c
u
c
a
r
q ɺɺ
Computed Torque Method
Basilio Bona - DAUIN - PoliTo 46 ROBOTICS 01PEEQW - 2016/2017
ROBOT
Outer loop
e e ɺ
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 47 ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 48 ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 49 ROBOTICS 01PEEQW - 2016/2017
Feedback linearization – the general framework
Basilio Bona - DAUIN - PoliTo 50 ROBOTICS 01PEEQW - 2016/2017