Univrsidad Fdral do Rio Grand do Sul Escola d Engnharia Dpartamnto d Engnharia Elétrica Programa d Pós-Graduação m Engnharia Elétrica ELE00070 Tópicos Espciais m Control Automação I Control d Robôs Móvis por Transformação Dscontínua Prof. Waltr Fttr Lags 9 d stmbro d 2008 Sab-s qu transformaçõs d coordnadas adquadas podm sr bastant útis para o projto d controladors para sistmas não-holonômicos. A litratura mostra qu a transformação para coordnadas polars prmit o control d robôs móvis com acionamnto difrncial. No ntanto, não xist um método para obtnção d tais transformaçõs. Nst capítulo, propõ-s transformaçõs d variávis adicionais qu prmitm a obtnção d lis d control para todas as classs d robôs móvis com rodas. As lis d control obtidas garantm a convrgência assintótica do robô para uma dtrminada posição orintação. São aprsntados rsultados d simulação para um robô rprsntativo d cada class rsultados xprimntais para um robô da class (2,0). 1 Transformação d Coordnadas Nsta sção o modlo cinmático d postura srá convrtido para coordnadas polars. Consqüntmnt, a posição do robô não mais srá rprsntado m função das coordnas cartsianas (x c, y c ), mas sim através das coordnadas polars (, φ). Obsrvando-s a Fig. 1 é facilmnt vrificado qu = x 2 c + y 2 c (1) φ = atan2(y c, x c ) (2) x c = cosφ (3) y c = sin φ (4) 1
Figura 1: Dfinição das variávis m coordnadas polars. drivando-s (1) (2) substituindo-s (3) (4) obtém-s ė = ẋ c cosφ + ẏ c sin φ (5) ou ainda, scrvndo-s na forma matricial [ė ] ] [ẋc = Γ(, φ) φ ẏ c [ ] cosφ sin φ ond Γ(, φ) =. Dfinindo-s sin φ φ = 1 ( ẋ c sin φ + ẏ c cosφ) (6) cos φ (7) z = φ θ (8) β c pod-s do modlo cinmático d postura d (7) scrvr o modlo m coordnadas polars 2
ż = D(z)u (9) [ Γ(, φ) 0 R c Σ ], N c = 0 com D(z) = Γ(, φ) 0 R c Σ(β c ) 0, N 0 I c 0. Através da scolha convnint da origm da orintação do sistma d coordnadas {X c, Y c } dfinindo-s = θ φ, a xprssão (9) pod sr scrita xplicitamnt para cada uma das cinco classs d robôs, conform a Tab. 1. Tabla 1: Modlos m coordnadas polars. Class (3,0) (2,0) (2,1) (1,1) (1,2) Modlo ė cos sin 0 η 1 φ = sin cos 0 η 2 sin cos 1 η 3 ė cos 0 ] φ = sin 0 [ η1 sin η 1 2 ė cos( + β c ) 0 0 φ = sin(+β c) 0 0 η 1 sin(+βc) 1 0 η 2 η 3 β c 0 0 1 ė d cossin β c 0 φ = dsincos β c [ ] 0 η dsincos βc cosβ c 0 ζ β c 0 1 ė L (sin β c1 cos( + β c2 ) + sin β c2 cos( + β c1 )) 0 0 φ β c1 = L (sinβ c1 cos(+β c2 )+sin β c2 cos(+β c1 )) 0 0 η sin(β c1 β c2 ) L (sinβ c1 cos(+β c2 )+sin β c2 cos(+β c1 )) 0 0 ζ 1 0 1 0 ζ 2 0 0 1 β c2 2 Lis d Control As lis d control propostas nst artigo basiam-s m uma anális do tipo d Lyapunov Barbalat [4]. Embora sta técnica possa sr aplicada para todas as classs d robôs móvis considradas, são ncssárias pqunas adaptaçõs para 3
cada uma das classs [2, 3]. Sm prda d gnralidad, é assumido qu dsja-s a convrgência d, φ para zro. 2.1 Class (3,0) Considr-s a sguint candidata à função d Lyapunov: V = 1 2 λ2 + 1 ( 2 + hφ 2) (10) 2 ond λ h são constants positivas. Drivando-s (10) m rlação ao tmpo substituindo-s ė, φ, da Tab. 1 tm-s V = λ cosη 1 +hφ cos ( ( η 2 + η 3 λ sin + cos ) ( sin η 2 hφ sin ) ) η 1 qu pod sr scrita na forma sndo V = V 1 + V 2 V 1 = λ cosη 1 + hφ cos η 2 ( ( V 2 = η 3 λ sin + cos ) η 2 sin ) ( hφ)η 1 Est parcionamnto é fito d forma a dixar m V 1 os trmos qu não são idnticamnt nulos quando é nulo, ou sja, os trmos qu não são função xplícita d ou sin m V 2 os dmais trmos. Pod-s vrificar qu V 1 pod sr tornado não positivo fazndo-s η 1 = γ 1 cos η 2 = γ 2 φ cos ond γ 1 γ 2 são constants positivas. Com isto tm-s qu V 1 = λγ 1 2 cos 2 hφ 2 cos 2 0 4
( ( V 2 = η 3 + γ 2 φ cos λ 2sin ) + cos logo, fazndo-s ( η 3 = γ 3 γ 2 φ cos γ 2sin ) + cos sndo γ 3 uma constant positiva, tm-s portanto, V 2 = γ 3 2 0 + γ 1 cos sin ) ( hφ) γ 1 cos sin ( hφ) V = λγ 1 2 cos 2 hλ 2φ 2 cos 2 γ 3 2 0 (11) qu juntamnt com o fato d qu V é contínua limitada infriormnt, garant a stabilidad do sistma m malha fchada. Por outro lado, considrando-s qu V é uniformmnt contínua, pois V é limitada, tm-s plo lma d Barbalat qu V tnd a zro portanto, pod-s vrificar pla xprssão (11) qu, φ também tndm a zro. 2.2 Class (2,0) Agindo-s d forma smlhant ao caso antrior, a candidata a função d Lyapunov é parcionada m V 1 = λ cosη 1 d ond obtém-s ( V 2 = η 2 sin ) ( hφ)η 1 η 1 = γ 1 cos (12) η 2 = γ 2 γ 1 cos sin ( hφ) (13) 5
rsultando V = λγ 1 2 cos 2 γ 2 2 0 Portanto, através dos msmos argumntos utilizados no caso antrior, pod-s concluir qu tndm a zro. A convrgência d φ para zro pod sr provada obsrvando-s as quaçõs do sistma m malha fchada: ė = γ 1 cos 2 φ = γ 1 sin cos = γ 2 + γ 1 hφ cos sin (14) Considrando-s a convrgência para zro d, conclui-s d (14) qu ė φ também tndm a zro. A convrgência d φ para zro, por sua vz, faz com qu convirja para algum valor constant dado por γ 1 hφ. Por outro lado, a continuidad uniform d juntamnt com a convrgência para zro d, garant, plo lma d Barbalat, qu tnd a zro. Portanto, φ tm, ncssariamnt, qu sr zro. As lis d control para as dmais classs, são obtidas a partir das lis d control das classs (3,0) (2,0) através da utilização do sguint torma: Torma 1 (Equivalência d Modlos Cinmáticos) Considr as cinco classs d modlos cinmáticos d robôs móvis. Sja um modlo prtncnt à uma class com grau d manobrabilidad igual a δ M. É possívl obtr-s um modlo quivalnt prtncnt a qualqur outra class com o msmo grau d manobrabilidad δ M. Prova 1 Modlos prtncnts às classs (3,0) (2,1) podm sr convrtidos ntr sí utilizando-s as transformaçõs d variávis (16)-(18). Modlos prtncnts às classs (3,0) (1,2) podm sr convrtidos ntr sí utilizando-s as transformaçõs d variávis (22)-(24). Portanto, m duas tapas pod-s fazr a transformação ntr as classs (2,1) (1,2). Modlos prtncnts às classs (2,0) (1,1) podm sr convrtidos ntr sí utilizando-s as transformaçõs d variávis (20)-(21). 2.3 Class (2,1) Por convniência, para sta class d robôs, srá considrado o modlo na forma original, ou sja, a ordm do modlo não é aumntada dfinindo-s ζ = β c. Considra-s, portanto, η 1, η 2 β c como sndo as ntradas d control. Com isto, o modlo torna-s 6
Dfinindo-s ė = cos( + β c )η 1 φ = sin(+βc) η 1 = sin(+βc) η 1 + η 2 (15) u 1 = η 1 cosβ c (16) u 2 = η 1 sin β c (17) O modlo (15) assum a forma ė cos sin 0 φ = sin cos 0 cos sin u 3 = η 2 (18) 1 qu é xatamnt a msma forma obtida para o modlo d um robô prtncnt a class (3,0). Logo, através do msmo procdimnto utilizado na sção 2.1, obtéms u 1 = γ 1 cos u 1 u 2 u 3 u 2 = γ 2 φ cos ( u 3 = γ 3 γ 2 φ cos γ 2sin ) + cos γ 1 cos sin ( hφ) Obviamnt, as ntradas d control η 1, η 2 β c podm sr computadas através das sguints xprssõs: η 1 = u 1 1 + u 2 2 β c = atan2(u 2, u 1 ) η 2 = u 3 7
2.4 Class (1,1) Para sta class d robôs móvis também é convnint considrar o modlo scrito na forma original. Após a transformação para coordnadas polars, tm-s xplicitamnt ė = d cossin β c η dsincos βc φ = η (19) = cosβ c sndo η β c as ntradas do sistma. Dfinindo-s dsin cos βc η u 1 = dη sin β c (20) o modlo (19 assum a forma ė cos 0 φ = sin 0 sin u 2 = η cosβ c (21) [ u1 u 1 2 qu é a msma forma do modlo para a class (2,0). Logo, obtém-s ] u 1 = γ 1 cos u 2 = γ 2 γ 1 cos sin ( hφ) Com as ntradas η β c obtidas a partir d u 1 u 2 através das xprssõs (u1 ) 2 η = + u 2 2 d ( u1 ) β c = atan2 d, u 2 8
2.5 Class (1,2) A smlhança do procdimnto adotado para as classs (2,1) (1,1), aqui também srá utilizado o modlo na forma original. Após a transformação para coordnadas polars rsulta ė = L (sin β c1 cos( + β c2 ) + sin β c2 cos( + β c1 ))η φ = L (sin β c1 cos(+β c2 )+sinβ c2 cos(+β c1 )) ( η = sin(β c1 β c2 ) L (sinβ c1 cos(+β c2 )+sin β c2 cos(+β c1 )) ) η Nst caso, as ntradas do sistma são η β c1 β c2. variávis d ntrada Dfinindo-s novas u 1 = ηl sin (β c1 + β c2 ) (22) u 2 = 2ηL sin β c1 sin β c2 (23) u 3 = η sin (β c1 β c2 ) (24) tm-s qu o modlo do sistma pod sr scrito na forma ė cos sin 0 u 1 φ = sin cos 0 u 2 cos u 3 sin 1 qu é igual ao modlo para a class (3,0). Portanto, através d uma anális smlhant chga-s a u 1 = γ 1 cos u 2 = γ 2 φ cos ( u 3 = γ 3 γ 2 φ cos γ 2sin ) + cos γ 1 cos sin ( hφ) Para obtr-s η β c1 β c2 a partir d u 1, u 2 u 3 procd-s da sguint manira: (22) (23) podm sr rscritas na forma u 1 L = η sin (β c1 + β c2 ) (25) 9
u 2 L = 2η sin β c1 sin β c2 (26) dividindo-s (26) pla difrnça pla soma d (25) (24) obtém-s ( u2 β c1 = atan2 L, u ) 1 L u 3 (27) ( u2 β c2 = atan2 L, u ) 1 L + u 3 (28) Elvando ao quadrado (25), (26) (24) somando as três xprssõs rsulta η = ± u2 1 + u2 L 2 2 + u 2 L 2 3 2 ( ) (29) sin 2 β c1 + sin 2 β c2 qu pod sr calculado após β c1 β c2 srm obtidos através d (27)-(28). Convém rssaltar qu sta xprssão não é válida quando β c1 = n 1 π simultanamnt β c2 = n 2 π, n 1, n 2 = 0, 1, 2,.... No ntanto, para stas condiçõs, o próprio modlo m coordnadas polars não é válido, pois δ m = dim ℵ (C 1 (β c)) srá igual a 2 não mais igual a 1 como é ncssário para qu o robô prtnça a class (1,2). Ou sja, nsta situação, o robô dgnra para um robô prtncnt à class (2,0). Fisicamnt, sta situação quivalnt às duas rodas orintávis starm m parallo. Nsta situação o robô só podrá sr controlado s as vlocidads das rodas pudrm sr comandadas indpndntmnt, tal como ocorr na class (2,0). O sinal corrto d η pod sr dtrminado d (22) (24) obsrvando-s qu sin(β c1 + β c2 ) sin(β c1 β c2 ) srão simultanamnt nulos apnas s β c1 = n 1 π β c2 = n 2 π. Além disso, tm-s qu sgn(a/b) = sgn(ab). Portanto, pod-s scrvr { sgn (u1 L sin (β sgn(η) = c1 + β c2 )), u 1 L sin (β c1 + β c2 ) > u 3 sin (β c1 β c2 ) sgn (u 3 sin (β c1 β c2 )), caso contrário (30) 2.6 Rsultados d Simulação As lis d control obtidas na sção antrior, foram simuladas para um robô típico prtncnt a cada class discutida. As condiçõs iniciais para todas as simulaçõs foram x c (0) = 4m, y c (0) = 4m θ(0) = π/2 dsja-s stabilizar o robô na origm. As trajtórias spaciais obtidas podm sr vistas na Fig. 2. Como sria d s sprar, obsrva-s qu as trajtórias convrgm d modo rlativamnt suav para a origm. As curvas d orintação são mostradas na Fig. 3. Para um robô da 10
class (1,2), a convrgência da orintação pod sr vrificada nas Figs. 4-6, ond são mostradas as curvas d x c (t), y c (t) θ(t). Para as dmais classs são obtidas curvas smlhants. Figura 2: Trajtória spacial para um robô d cada class. Figura 3: Rsposta d θ(t) para um robô d cada class. 11
Figura 4: Rsposta d x c (t) para robô class (1,2). 3 Backstpping Utilizando PID 3.1 Motivação Nst txto, até aqui, foi considrado apnas o modlo cinmático dos robôs, qu as variávis d ntrada são homogênas a vlocidads ou posição. Na ralidad, fisicamnt, as ntradas do robô são os torqus aplicados para rotação orintação das rodas. Ests torqus podriam sr obtidos drivando-s m rlação ao tmpo as lis d control obtidas aqui. Porém, sta abordagm lva a problmas d robustz. Isto no ntanto, não significa qu as lis d control obtidas aqui não podm sr utilizadas na prática. Em gral, para robôs pqunos, basta qu xistam malhas d control intrnas qu garantam qu as vlocidads ou posiçõs comandadas sjam ftivamnt aplicadas nas rodas. Isto pod sr fito utilizando-s controladors PID convncionais. Esta técnica é dnominada backstpping [1]. Na Fig. 7 é mostrado um diagrama d blocos do controlador proposto 3.2 Rsultados d Tmpo Ral A li d control (12) (13) foi implmntada m tmpo ral no robô móvl Twil. Est robô é atuado difrncialmnt, portanto prtncndo a class (2,0) possui rodas com 15cm d diâmtro uma distância ntr rodas (whlbas) d 28.5cm. As vlocidads dsjadas nas rodas do robô pod sr computadas d η 1 η 2, obtndo-s 12
Figura 5: Rsposta d y c (t) para robô class (1,2). ω r = η 1 + η 2 b/2 r ω l = η 1 η 2 b/2 r ond ω r ω l são as vlocidads angulars das rodas dirita squrda, rspctivamnt, b é a distância ntr as rodas r é o raio das rodas. Exprimntalmnt, dtrminou-s qu a função d transfrência ntr a vlocidad d cada roda a tnsão aplicada no motor corrspondnt é dada por 1.7779(s + 5.845) G(s) = s 2 + 10.3078s + 42.4597 Para controlar st sistma, foi utilizado um controlador PID com K p = 4.154, K i = 1.1943 K d = 2.260, garantido qu as vlocidads nas rodas são as dsjadas. A trajtória spacial obtida m tmpo ral m simulação para stabilizar o robô no ponto x c = 0, y c = 0 θ = 0, a partir da condição inicial x c (0) = 0m, y c (0) = 4m θ(0) = 0, é mostrada na Fig. 8. A Fig. 9 mostra a orintação m função do tmpo. Convém notar, qu como o robô não pod movr-s latralmnt, st movimnto é considrado difícil. É impossívl prcbr nos gráficos, mas o ponto final corrspond a x c (200) = 0.00112707m, y c (200) = 1.5947 10 06m θ(200) = 0.000605519rad (dados d tmpo ral). Portanto, o rro final é d aproximadamnt 1.13mm 0.035. Os parâmtros γ 1, γ 2 h foram slcionados por simulação. Obsrva-s qu γ 1, γ 2 stão rlacionados principalmnt com a taxa d convrgência, nquanto h 13
Figura 6: Rsposta d θ(t) para robô class (1,2). Figura 7: Controlador com backstpping. possui mais influência na forma da trajtória spacial. Para o robô m qustão, os valors γ 1 = 0.05, γ 2 = 0.1 4 h = 1.35 prmitm uma boa taxa d convrgência sm qu haja saturação dos atuadors. As Figs. 10 11 mostram as ntradas d control. Esta stratégia d control mostrou-s rlativamnt robusta m rlação à saturação dos atuadors, mbora obviamnt, nsta situação haja uma grand discrpância ntr a trajtória ral a trajtória simulada. Ainda assim, a trajtória ral convrg para o ponto x c = 0, y c = 0 θ = 0. 4 Backstpping Utilizando Control Linarizant Outra solução para implmntar o backstpping, é a utilização d um controlador linarizant, mas aplica-lo aqui apnas para controlar a dinâmica do robô, ou mais spcificamnt, a dinâmica ntr as vlocidads os torqus aplicados nos atuadors, conform o diagrama d blocos da Fig. 12. A utilização dsta stratégia d backstpping prmit qu o modlo dinâmico do robô sja considrado xplí- 14
Figura 8: Trajtória spacial m tmpo ral (contínua) simulada (tracjada) para um robô class (2,0). citamnt, ao contrário da stratégia antrior. Obviamnt, aqui problmas com rlação ao conhcimnto dos parâmtros do modlo dinâmico. A utilização d um controlador linar utilizando modlo d rfrência facilita o dsnvolvimnto d vrsõs adaptativas do controlador. 5 Conclusão A técnicas aprsntadas nst capítulo prmitm qu s obtnha lis d control qu garantam a convrgência para um ponto não aprsntm oscilaçõs xcssivas, como gralmnt ocorr com lis d control variants no tmpo. Além disso, as lis d control obtidas são contínuas suavs. Mostrou-s qu os modlos d robôs prtncnts a uma dtrminada class podm sr transformados para modlos quivalnts prtncnts a qualqur outra class com o msmo grau d manobrabilidad. É important prcbr, qu as trajtórias aprsntadas nas Figs. 2 3 não s prstam para qu s tir conclusõs acrca d qual class d robô é mais manobrávl ou aprsnta mlhor dsmpnho. Para um msmo robô, com a msma condição inicial, a trajtória obtida pod sr bastant difrnt da aprsntada aqui, dpndndo dos parâmtros d projto utilizados no cálculo da li d control. A stratégia d backstpping utilizando control linarizant pod sr utilizada para o dsnvolvimnto d uma vrsão d controlador adaptativo. 15
Figura 9: Rsposta d θ(t) m tmpo ral (contínua) simulada (tracjada) para robô class (2,0). Rfrências [1] R. Firro and F. L. Lwis. Control of a nonholonomic mobil robot using nural ntworks. IEEE Transactions on Nural Ntworks, 9(4):589 600, 1998. [2] W. F. Lags and E. M. Hmrly. Control m coordnadas polars d robôs móvis com rodas. In Anais do XII Congrsso Brasiliro d Automática, Ubrlândia, MG, Brazil, 1998. Socidad Brasilira d Automática. [3] W. F. Lags and E. M. Hmrly. Smooth tim-invariant control of whld mobil robots. In Procdings of Th XIII Intrnational Confrnc on Systms Scinc, Wrocław, Poland, 1998. Tchnical Univrsity of Wrocław. [4] V. M. Popov. Hyprstability of Control Systms, volum 204 of Di Grundlhrn dr matmatischn Wissnshaftn. Springr-Vrlag, Brlin, Hidlbrg, Nw York, 1973. 16
Figura 10: Rsposta d η 1 (t) m tmpo ral (contínua) simulada (tracjada) para robô class (2,0). Figura 11: Rsposta d η 2 (t) m tmpo ral (contínua) simulada (tracjada) para robô class (2,0). 17
Figura 12: Backstpping com controlador linarizant. 18