Control of indutrial robot Decentralized control Prof Paolo Rocco (paolorocco@poliiit) Politecnico di Milano Dipartiento di Elettronica, Inforazione e Bioingegneria
Introduction Once the deired otion of the robot ha been coputed, a real tie controller enure that thi otion i tracked in the bet poible way All indutrial robot are in fact endowed with uch a real tie otion controller The indutrial robot control follow the independent joint control approach, ie it i a purely decentralized, non odel baed, control yte We will dicu the rationale behind thi approach and recognize it a the proble of controlling everal independent ervoechani Control of indutrial robot Decentralized control Paolo Rocco
Motion control interface The otion controller i one of the functional unit of a robot controller: external enor environent tak planner trajectory planner control robot internal enor We will now conider the lowet level part of the robot control yte, directly interacting with the robot internal enor and actuator Control of indutrial robot Decentralized control Paolo Rocco
Evaluation of control perforance What are poible criteria to evaluate the perforance of a otion control yte? Quality of otion in noinal condition accuracy/repeatability peed of tak execution energy aving Robutne of otion in perturbed condition adaptation to the environent high repeatability in pite of uncertaintie in odelling error Fro Robotic, Prof Aleandro De Luca, Univerity of Roe La Sapienza Control of indutrial robot Decentralized control Paolo Rocco
Decentralized odel Let u conider the dynaic odel of the anipulator: B ( q) q C( q, q ) q g( q) τ Aue that a otor act on each joint of the anipulator A iplified way to account for the dynaic of uch otor i to conider jut the effect related to the pinning of the otor around it own axi q i τ i q i τ i otor reduction n i : link Control of indutrial robot Decentralized control Paolo Rocco
Decentralized odel The dynaic odel of the otor i thu iply: J q i i Diq i τi τli i,, n where J i and D i are the oent of inertia and the coefficient of vicou friction of the otor, repectively, while τ li i the load torque at the axi of otor i, equal to: τ li τ i n i n i i the reduction ratio of the traniion between the i_th otor and the joint Auing that the traniion eleent are rigid, we alo have: q n i i q i Control of indutrial robot Decentralized control Paolo Rocco
Decentralized odel We now decopoe the inertia atrix into the u of a diagonal and contant ter ( average inertia) and a reidual ter: B ( q) B B( q) If we et: J { J }, D diag{ D }, N diag{ n }, B N B diag N i i i r re-organizing the equation we have: ( J Br ) q Dq d τ or: ( J b ) q D q d τ, i, n i rii i i i i i, where: d N B( q) N q N C( q, q ) N q N g( q) average inertia caled by the quare of the b traniion ratio: b rii n ii i Control of indutrial robot Decentralized control Paolo Rocco
Decentralized odel NON LINEAR COUPLED N g() N C(,)N N B()N d τ q (J B r ) q q The equation we have obtained can be interpreted a thoe of a linear and copletely decoupled yte, ubjected to a diturbance deriving fro the nonlinear and coupled ter of the dynaic odel The larger the reduction ratio n i, the le relevant i the diturbance ter D LINEAR DECOUPLED Control of indutrial robot Decentralized control Paolo Rocco
Independent joint control The decentralized odel of the robot dynaic i ued in the independent joint control, a widely ued approach in the indutrial robot controller q d R τ q The control yte i articulated in n SISO control loop, ignoring the dynaic coupling effect which are dealt with a diturbance The ingle control proble are aiilated to the control of a ervoechani q d R τ q dn q τ n The ethod heavily relie on the large value of the reduction ratio adopted in robotic Without thi effect, neglecting the variability of the inertia and the echanical coupling with the other joint would be poorly jutified R n q n Control of indutrial robot Decentralized control Paolo Rocco
The ervoechani traniion otor load A ervoechani i a paradigatic yte copoed of a otor, a echanical load and whatever traniion yte in between The proble i to control the otion of the load, uitably odulating the torque applied by the otor Different cenario can be given a far a the available enor are concerned: poition/peed at the otor and/or load ide However we uually have the otor current available a a eaure too: we will ee a clever way to ake ue of thi eaure, which greatly iplifie the otion control Control of indutrial robot Decentralized control Paolo Rocco
The electrical dynaic Aue that a DC otor i ued, whoe electrical chee can be iplified a follow: I R L V E A voltage V i applied which produce a current in the arature circuit through the dynaic induced by the reitance R and the inductance L A back ef E, proportional to the otor angular peed ω, i alo preent Thank to the electro-echanical converion ipleented by the bruhe-coutator yte, the otor deliver a torque τ which i proportional to the current I In indutrial robotic bruhle otor are ore coonly ued, for which however a iilar decription can be given, referred to the quadrature axi Control of indutrial robot Decentralized control Paolo Rocco
Electrical and echanical dynaic The yte i decribed by the following equation: I R L V ( t ) RI( t ) LI ( t ) E( t) V E τ τ q ( ) Kω ( t) E t ( t ) KI( t ) ( t ) J ω ( t ) ( t ) ω ( t ) which can be expreed by thi block diagra: V E LR I K K τ J ω q Notice that the back ef couple the electrical dynaic with the echanical dynaic Control of indutrial robot Decentralized control Paolo Rocco
Current control If a current eaure i available, we ight cloe a control loop around the current: I o R I () V E LR I K K τ J ω q ince the electrical dynaic i quite fat (copared with the echanical one) we will deign the current controller R I () o a to achieve a wide bandwidth (thouand rad/) in the deign of the current controller the ef can be conidered a a lowly varying diturbance, that the controller can effectively reject once the current control loop i cloed, it can be een a practically intantaneou fro the external poition/peed controller: τ o ( t ) KI( t ) KI ( t ) thi i why in the following we will aue that the otor torque τ i the control variable for the poition/peed control proble Control of indutrial robot Decentralized control Paolo Rocco
The rigid approxiation A firt way to approach the otion control proble i to conider the ervoechani (otor, load, and traniion) a a rigid yte In thi cae the equation of the yte are: otor load : : J J q l q l D nτ l q τ l τ τ l q τ J J l τ l q l traniion : q nq l (D : otor vicou friction coefficient; J l : load oent of inertia; n: traniion ratio; τ l : tranitted torque, otor ide; τ l : external torque, load ide) Eliinating q l and τ l fro thee equation, we obtain: ( J Jlr ) q Dq τ τlr with: J lr Jl, n τ lr τl n Control of indutrial robot Decentralized control Paolo Rocco
The rigid approxiation The rigid yte can be decribed in ter of tranfer function: with: τ τ lr G v () q q G v ( ) D ( J J ) lr If the friction coefficient D i neglected (which i the ot conervative ituation, ince the friction give a tabilizing effect but the value of thi coefficient i uncertain) we have: G v ( ) µ, µ J J lr Control of indutrial robot Decentralized control Paolo Rocco
P/PI control Let u cloe a PI controller on the peed and a proportional controller on the poition: q o K pp R PI () τ τ lr G v () q / q Thi control chee need two independent eaureent, one for the poition (encoder or reolver), the other one for the peed (tacho) It i a cacaded control chee: firt the internal peed loop i deigned for a large bandwidth, o a to enure a good diturbance rejection, too the external poition loop i then deigned for a retricted bandwidth in fact there are three neted loop: current, peed, and poition loop Control of indutrial robot Decentralized control Paolo Rocco
Deign of the PI peed controller PI controller q o R PI () τ τ lr G v () q R PI ( ) T K pv K pv T iv Tiv Loop tranfer function: K Lv ( ) RPI ( ) Gv ( ) If T iv i ufficiently large, ie if the zero of the PI i in a ufficiently low frequency range, the croover frequency ω cv i well approxiated by the high frequency approxiation of L: ( 0 0 ) ω cv 3 placeent of the PI zero Control of indutrial robot Decentralized control Paolo Rocco T iv pv µ T T iv iv iv db 70 60 50 40 30 0 0 0-0 T iv ω cv -0 0 0 0 0 0 3 w (rad/) L v ( ) ω cv ω cv K pv µ election of the PI gain
Deign of the P poition controller The poition controller ee the peed cloed loop, whoe tranfer function can be approxiated a: F v The loop tranfer function i thu: L ( ) p ω cv ( ) K F ( ) pp v q o It i enough to take K pp << ω cv in order to guarantee a croover frequency ω cp : K pp ( ω ) cv db K pp 0 0 0-0 -0-30 -40-50 -60 q o F v () ωcp q / -70 0 0 0 0 0 3 w (rad/) ωcv q ωcp K pp election of the P gain Control of indutrial robot Decentralized control Paolo Rocco
Speed feedforward q o K pp R PI () τ τ lr G v () q / q In order to get a fater repone to the poition reference, it i poible to include a feedforward contribution, known a peed feedforward : the poition reference i differentiated and the contribution i added to the peed loop Uually the peed feedforward i weighted by a coefficient k ff copried between 0 and : q o k ff K pp R PI () τ τ lr G v () q / q Control of indutrial robot Decentralized control Paolo Rocco
Speed feedforward and PID If only a poition enor i ued and the peed i obtained differentiating the poition eaure, a chee which i fully equivalent to a PID controller i obtained: q o K pp R PI () τ τ lr G v () q / q q o R PID () τ τ lr G v () q / q R PID ( ) KP TD TI K T T P D I K pv K K pv K p K ptiv K K pp pv pp T iv Control of indutrial robot Decentralized control Paolo Rocco
Liitation of the rigid odel The rigid odel doe not entail any ignificant liitation to the bandwidth of the peed controller: in principle we ight obtain an arbitrarily fat cloed loop yte In practice liitation clearly eerge, in ter of vibration, noie, ocillation, etc Obviouly the rigid odel it i not adequate to explain how a ervoechani behave in cae the required perforance are increaed We need to coplicate the odel Control of indutrial robot Decentralized control Paolo Rocco
Two-a approxiation The iplet way to account for non-rigid behaviour of the yte i to include an elatic coupling between otor and load, which are till conidered rigid yte In thi cae the equation becoe: otor load : : traniion : J J q τ l l q l D nτ K el l q ( q nq ) D ( q nq ) τ l τ l τ l el l q, τ J D K el el J l q, τ l l Block diagra: q l J l τ l τ q J D q q l n D el K el τ l n now we have a 4 th order yte Control of indutrial robot Decentralized control Paolo Rocco
Liitation in the bandwidth If we revie the deign of the peed controller accounting for the flexibility in the joint, a it i done in baic robotic coure (ee background aterial), we coe up with liitation in the bandwidth of the peed controller Specifically, if we et: ω z K J el lr we have a a reaonable rule to tune the controller: ω 0 7 cv ω z The bandwidth of the poition controller ha to be reduced accordingly Control of indutrial robot Decentralized control Paolo Rocco
Background aterial Control of indutrial robot Decentralized control Paolo Rocco
A SITO yte Let u tudy the repone of the two-a yte to the torque coand τ (we then et τ l 0) The yte can be interpreted a a SITO (Single Input Two Output) yte: τ Solving the block diagra we have: G v ( ) J lr J 3 J lr D G v () G vl () el K q nq l / / q nq l ( JDel Jlr D ) ( JKel DDel ) DKel el the nuerator are different G vl ( ) J lr J 3 ( JD J D ) ( JK D Del ) DKel el lr D el K el el Jl J lr, J Jlr J n Control of indutrial robot Decentralized control Paolo Rocco
Relevant paraeter A in the rigid cae, we et D 0 The following paraeter are defined: ρ J J lr (inertia ratio) ω z Kel Del, ζ z J J K lr lr el (natural frequency and daping coefficient of the zero) µ ω ρ ω, ζ ρ ζ p z We then have: ζ z µ ωz ω Gv( ) ζ p J ω ω p p z rigid odel z p (natural frequency and daping coefficient of the pole) elatic effect G vl ( ) ζ z µ ωz ζ p ω ω p p Control of indutrial robot Decentralized control Paolo Rocco
Natural and locked frequencie The frequencie ω p and ω z have a very clear phyical interpretation: When the yte i uncontrained, it vibrate at the frequency of the pole of G v, ie ω p : thi i called natural frequency of the yte J D K el el J l When the otor i echanically contrained, the yte vibrate at the frequency of the zero of G v, ie ω z : thi i called locked frequency of the yte J D K el el J l Control of indutrial robot Decentralized control Paolo Rocco
Location of pole and zero Where are pole and zero of G v located in the coplex plane? G v ( ) µ ζ z ωz ζ p ω p I ω ω z p ω ω p z ζ ζ p z ρ > ω p ω z ζ p ω p ζ z ω z Re The pole are in a higher frequency range and are ore daped than the zero Control of indutrial robot Decentralized control Paolo Rocco
Frequency repone What i the hape of the frequency repone of G v? G v ( ) µ ζ z ωz ζ p ω p ω ω z p 40 ρ ζ z 0 30 0 reonance G v 0 0-0 -0 0-0 - 0 0 0 ω/ω z antireonance Control of indutrial robot Decentralized control Paolo Rocco
A foral repreentation If τ l 0, we can conveniently repreent the yte with the following block diagra: q nq l τ G v () / q G l () where the otor poition and the load poition (referred to the otor haft) are forally linked by thi tranfer function: G l ( ) ζ z ω z z ζ z ω ω z Control of indutrial robot Decentralized control Paolo Rocco
P/PI control on the otor In indutrial robotic, enor are uually located only on otor ide Let u concentrate on the repone to change in the reference ignal (τ l 0): q o K pp R PI () τ G v () q / q G l () nq l If the peed i obtained a a derivative of poition: q o K pp R PI () τ G v () q / q G l () nq l Control of indutrial robot Decentralized control Paolo Rocco
P/PI control on the otor R PI () τ G v () q R v PI ( ) T K pv K pv T iv Tiv Loop tranfer function: L ( ) R ( ) G ( ) PI v K pv µ T T iv iv iv ζ z ωz ζ p ω p ω ω z p Let u introduce the following noralized deign paraeter: ω ~ cv K pv ω z µ it i the deign croover frequency, evaluated on the rigid odel (K pv µ), noralized to the frequency ω z : ~ large ω cv : aggreive deign all ω ~ cv : cautiou deign Control of indutrial robot Decentralized control Paolo Rocco
Frequency repone analyi Let u place the zero of the PI one decade before the antireonance frequency ω z : T iv 0 ωz We analyze Bode diagra of the loop tranfer function in two cae: ω~ cv 05 ~ 5 00 00 ω cv ρ ζ z 0 50 50 L v 0 L v 0 arg(l v ) -50 0-3 0-0 - 0 0 0 ω/ω z 00 0-00 arg(l v ) -50 0-3 0-0 - 0 0 0 ω/ω z 00 0-00 The phae argin i large in both cae -00 0-3 0-0 - 0 0 0 ω/ω z -00 0-3 0-0 - 0 0 0 ω/ω z Control of indutrial robot Decentralized control Paolo Rocco
Frequency repone analyi Fro the Bode tability criterion we cannot dicriinate between the two project They both ee to yield control yte with a high tability argin However if we take a look at the cloed loop frequency repone, fro otor and load ide, in the aggreive deign cae: ~ 5 ω cv 0 0-0 otor load There i a clear reonance at the load ide, which i aociated to ocillation db -40-60 -80-00 0-0 - 0 0 0 0 ω/ω z Control of indutrial robot Decentralized control Paolo Rocco
Speed loop: root locu ~ Let draw the root locu at varying ω cv (equivalently K pv ): 5 Iaginary Axi 05 0 There are coplex pole whoe daping firt increae and then decreae The axiu daping i obtained when: -05 - ω~ cv ( ω 07ω ) cv 07 z deign guideline -5 - - -08-06 -04-0 0 0 Real Axi Note: in thi locu and in the next one, the axe are noralized to ω z for increaed generality Control of indutrial robot Decentralized control Paolo Rocco
Proportional poition control q o K pp F v () q / q G l () nq l F v ( ) ( ) ( ) Lv peed cloed loop L v The loop tranfer function for the poition control i then: L ( ) p We introduce in thi cae, too, a noralized deign paraeter: K pp F v ( ) ω ~ cp K ω pp z it i the deign croover frequency, evaluated on the rigid odel (K pp ), noralized to the frequency ω z Control of indutrial robot Decentralized control Paolo Rocco
Poition loop: root locu ( ) Fv Lp ( ) K pp We draw the root locu at varying ω~ cp (equivalently K pp ) for different value of ~ ω cv : ω~ cv 05 ω~ cv ~ 5 ω cv 3 3 3 Iag Axi 0 - Iag Axi 0 - Iag Axi 0 - - - - -3 - -05 0 05 Real Axi -3 - - 0 Real Axi -3-3 - - 0 Real Axi Larger bandwidth of the peed loop generate lightly daped pole, which in turn entail poor perforance of the poition loop Control of indutrial robot Decentralized control Paolo Rocco
Siulation We iulate in Siulink the coplete yte, including a tep on the external torque on the load ide (torque diturbance): Control of indutrial robot Decentralized control Paolo Rocco
Siulation Syte: ω z 00 rad/, ρ, ζ z 0 Speed PI: T iv 0/ω z Poition P: ω~ cp 0 6 4 08 06 ω~ cv 05 ~ 5 otor load 5 ω cv otor load 04 0 torque diturbance 0 0 0 04 06 08 t 05 torque diturbance 0 0 0 04 06 08 t Control of indutrial robot Decentralized control Paolo Rocco
P control on the load and PI control on the otor In everal application, like with achine tool, the poition loop i cloed at the load ide: nq o l K pp R PI () τ G v () q / q G l () nq l In cae the otor peed i obtained differentiating the poition: nq o l K pp R PI () τ G v () q / q G l () nq l Control of indutrial robot Decentralized control Paolo Rocco
P poition control nq o l K pp F v () q / q G l () nq l F v ( ) ( ) ( ) Lv Nothing change a far a the peed loop i concerned L v The loop tranfer function for the poition control i now: L ( ) p K pp F v ( ) G l ( ), G l ζ z ωz ( ) ζ z ω ω z z Control of indutrial robot Decentralized control Paolo Rocco
Root locu L ( ) p K pp Fv ( ) G l ( ) We draw the root locu at varying ω~ cp (equivalently K pp ) for different value of ~ ω cv : ω~ cv 05 ω~ cv ~ 5 ω cv 3 ~ ax 07 ω cp 3 3 ω~ cp ax 063 ~ ax 0 5 ω cp Iag Axi 0 Iag Axi 0 Iag Axi 0 - - - - - - -3-3 - - 0 Real Axi -3-3 - - 0 Real Axi -3-3 - - 0 Real Axi At increaing bandwidth of the peed loop the deign of the poition loop becoe ore coplicated Even for all value of K pp the yte can get untable Control of indutrial robot Decentralized control Paolo Rocco
Siulation We iulate again in Siulink the coplete yte, including a tep on the external torque on the load ide (torque diturbance): Control of indutrial robot Decentralized control Paolo Rocco
Siulation Syte: ω z 00 rad/, ρ, ζ z 0 Speed PI: T iv 0/ω z Poition P: ω cp 0 ~ 4 08 06 ω~ cv 05 ~ 5 otor load 5 ω cv otor load 04 0 torque diturbance 05 torque diturbance 0 0 0 04 06 08 t 0 0 0 04 06 08 t Control of indutrial robot Decentralized control Paolo Rocco
Siulation Syte: ω z 00 rad/, ρ, ζ z 0 Speed PI: T iv 0/ω z Poition P: ω~ cp 07 ~ 5 ω cv 3 x 06 0 - - -3 otor load The yte i untable -4 0 0 04 06 08 t Control of indutrial robot Decentralized control Paolo Rocco