Conrole Cnemáco de Robôs Manpuladores Funconameno Básco pos de rajeóra rajeóras Pono a Pono rajeóras Coordenadas ou Isócronas rajeóras Conínuas Geração de rajeóras Caresanas Inerpolação de rajeóras Inerpoladores Lneares Inerpoladores Cúbcos Inerpoladores a rechos Amosragem de rajeóras Caresanas Prof. Slas do Amaral - UDESC
Esuema de uma Juna Prof. Slas do Amaral - UDESC 3
Malha de Conrole de Posção de um Robô Indusral Prof. Slas do Amaral - UDESC 4
Malha de Conrole de Posção de um Robô Indusral Prof. Slas do Amaral - UDESC 5
Esuema Smplfcado do Conrole Cnemáco Prof. Slas do Amaral - UDESC 6
Eapas do Conrole Cnemáco O conrole cnemáco consse das segunes eapas: 3 4 5 6 A parr das especfcações para o movmeno preenddo, produzr uma rajeóra analíca no espaço caresano, dscrmnando no empo as coordenadas caresanas do EF r = (x, y, z, α, β, γ). Dscrezar a rajeóra caresana em um número adeuado de ponos. Usando a cnemáca nversa, converer eses ponos em coordenadas arculares = (,, 3, 4, 5, 6 ). raar sngulardades e soluções múlplas. Inerpolar os ponos nas coordenadas das junas, gerando para cada varável arcular uma expressão (), realzável pelos auadores, e ue produza a rajeóra caresana desejada. Dscrezar a rajeóra arcular a fm de fornecer referêncas para o conrole dnâmco. Prof. Slas do Amaral - UDESC 7
Segumeno de rajeóra Lnear no Espaço Caresano Prof. Slas do Amaral - UDESC 8
Segumeno de rajeóra Lnear no Espaço Caresano Objevo rajeóra lnear de r a r 4 no empo Seleção de Ponos r, r, r 3 e r 4 Cnemáca Inversa r r r 3 3 r 4 4 Inerpolação Polnômo Cúbco Resulado rajeóra Caresana Prof. Slas do Amaral - UDESC 9
pos de rajeóras rajeóras Pono a Pono O camando do movmeno de uma arculação é ndependene do das demas. Cada juna alcança seu desno no menor empo possível. Movmeno exo a exo. Um só exo é movdo de cada vez, resulando num maor empo de cclo, porém, com menor consumo de poênca nsanânea por pare dos auadores. Movmeno smulâneo de exos. Os auadores começam a mover as arculações do robô ao mesmo empo com velocdades específcas para cada uma delas. rajeóras Coordenadas ou Isócronas Um cálculo prévo é feo para ue o movmeno de cada exo enha a mesma duração da arculação mas lena. Esa esraéga produz rajeóras mprevsíves para o EF. rajeóras Conínuas Realzação de uma rajeóra específca. É precso calcular de manera conínua as rajeóras arculares. Prof. Slas do Amaral - UDESC
rajeóras Pono a Pono Movmeno Exo a Exo Movmeno Smulâneo dos Exos Prof. Slas do Amaral - UDESC
rajeóras Isócronas e Conínuas rajeóras Coordenadas rajeóras Conínuas Prof. Slas do Amaral - UDESC
Geração de rajeóras Caresanas Inerpolação Lnear da Posção Em geral, o movmeno do robô é defndo por meo de rajeóras caresanas. É freüene especfcar apenas os ponos ncal e fnal. Se eses ponos esverem muo separados, é necessáro seleconar ponos nermedáros, o ue é feo aravés de um nerpolador. A nerpolação mas comum é a lnear, para a ual a velocdade é consane desde seu valor ncal r aé o fnal r f : - r + () ( f ) = r - r r f Se o robô ver ue passar por mas do ue dos ponos não alnhados, ese nerpolador causará desconnudade de velocdade. Ese problema pode ser resolvdo usando ouros nerpoladores. Prof. Slas do Amaral - UDESC 3
Geração de rajeóras Caresanas Inerpolação Lnear da Orenação Méodos para { Marzes de Roação Represenação Ângulos de Euler da Orenação ou Quaérnos Cada um deses méodos produz s rajeóras A ulzação das marzes de roação leva a resulados nconssenes, devdo a necessdade de serem oronormas. Consdere o exemplo: R Orenação Incal = R f R(z,9 o ) seguda de R(x,9 o ) Orenação Fnal = Orenação Inermedára Inerpolação Lnear R m = R m não é oronormal e, porano, não corresponde a uma orenação válda. Prof. Slas do Amaral - UDESC 4
Geração de rajeóras Caresanas Inerpolação Lnear da Orenação A ulzação dos ângulos de Euler não apresena ese nconvenene. Parndo da orenação ncal (α, β, γ ) para a orenação fnal (α f, β f, γ f ), são váldas as segunes nerpolações: α β γ () = ( α α ) () = ( β β ) f f () = ( γ f γ ) + γ - f f f - - + α + β O nconvenene desa rajeóra é ue, do pono de vso do usuáro, não é nuva, com esranhas evoluções da orenação. A evolução mas naural consse num gro de manera progressva em orno de um exo fxo, o ue ualfca os uaérnos como o meo mas adeuado para gerar a rajeóra caresana de orenação. Prof. Slas do Amaral - UDESC 5
Inerpoladores Lneares Deseja-se ue uma das arculações do robô passe sucessvamene pelos valores [,, 3,...] nos nsanes [,, 3,...] com velocdade consane enre duas posções sucessvas. Com sso, a rajeóra enre as posções - e será dada por: () = ( ) para - + < < e onde : = Assegura a connudade da posção. Não eva salos bruscos na velocdade. Exge aceleração nfna (Impossível). Prof. Slas do Amaral - UDESC 6
Prof. Slas do Amaral - UDESC 7 () ( ) ( ) ( ) 3 para - d - c - b a < < + + + = ( ) ( ) ( ) 3 d b 3 c a + + = = = = Inerpoladores Cúbcos Para assegurar connudade em velocdade, pode-se usar um polnômo de 3 o grau, unndo cada par de ponos adjacenes, do po: Os parâmeros a, b, c e d de cada polnômo são obdos a parr das uaro condções de conorno: posções e velocdades em - e. Fazendo = - -, os parâmeros são:
Inerpoladores Cúbcos Para calcular os coefcenes do polnômo cúbco, é precso conhecer os valores das velocdades de passagem pelos ponos de neresse. Para sso, há dversas alernavas. Numa delas, as velocdades são obdas de: = + + - + se sgn se sgn + ( ) sgn( ) + ( ) = sgn( ) Admndo ue a parda/chegada em cada pono ocorra na suação de repouso, garane connudade em velocdade e em aceleração. Oura alernava consse em ober as velocdades de passagem a parr das velocdades de passagem projeadas no espaço da arefa. Prof. Slas do Amaral - UDESC 8
Inerpolador a rechos Lgando Dos Ponos Velocdades Incal e Fnal Nulas recho : Polnômo de o grau Velocdade cresce lnearmene Aceleração é consane e posva recho : Inerpolador lnear Velocdade é consane Aceleração é nula recho : Polnômo de o grau Velocdade decresce lnearmene Aceleração é consane e negava () = + s A V s A + s + sv A + A - A δ δ < - δ - δ < < Prof. Slas do Amaral - UDESC 9
Inerpolador a rechos Lgando Város Ponos Velocdades de Passagem Não Nulas Para ue não sejam produzdos movmenos desconínuos, faz-se um ajuse parabólco nas proxmdades dos ponos de passagem. Quano maor a aceleração, mas se aproxma do nerpolador lnear. Prof. Slas do Amaral - UDESC
Prof. Slas do Amaral - UDESC () ( ) ( ) ( ) ( ) + < + δ < + + δ < δ < + δ + + δ + = - - - a ( ) ( ) δ = a max e δ = a Inerpolador a rechos Lgando Város Ponos Velocdades de Passagem Não Nulas R A J E Ó R I A ACELERAÇÃO ERRO MÁXIMO
Smulação no MaLab CRIAÇÃO DO ROBÔ R3 GERAÇÃO DA RAJEÓRIA L = lnk([ ]); L = lnk([-p/.5 ]); L3 = lnk([.5 ]); R3 = robo({l L L3}); = [p/ -p/ ]; f = [-p/ p/ ]; = [:.5:5]; = jraj(, f, ); ANIMAÇÃO DO ROBÔ R3 plo(r3,, 'noname'); Prof. Slas do Amaral - UDESC
Smulação no MaLab - Obenção da Cnemáca Inversa a parr da MH puma56 echo on = [ -p/4 -p/4 p/8 ]; = fkne(p56, ); = kne(p56, ); dsp(' Orgnal Calculada'); dsp([' ']) pause echo off % Carregar PUMA56 % Avar eco na ela % Confguração das junas % MH relava a confguração % Cnemáca Inversa % Comparação enre e % Pausa % Desavar eco na ela Prof. Slas do Amaral - UDESC 3
Smulação no MaLab - Efeo de uma Sngulardade echo on = fkne(p56, r); = kne(p56, ); dsp(' Orgnal Calculada'); dsp([r' ']) fkne(p56, ) - fkne(p56, r) pause echo off % Avar eco na ela % Para r, dos exos do punho % esão alnhados -gdl % e r são dferenes, mas o % EF alcança uma só posção % Pausa % Desavar eco na ela Prof. Slas do Amaral - UDESC 4
Smulação no MaLab - 3 rajeóra Relínea no Espaço Caresano echo on = [:.5:]; = ransl(.6, -.5,.); = ransl(.4,.5,.); = craj(,, lengh()); pause echo off % Avar eco na ela % Veor empo % Pono ncal da rajeóra % Pono fnal da rajeóra % Cálculo da rajeóra caresana % Pausa % Desavar eco na ela Prof. Slas do Amaral - UDESC 5
Smulação no MaLab - 4 Cnemáca Inversa para a rajeóra Relínea echo on c = kne(p56, ); oc pause echo off % Avar eco na ela % empo ncal % Cnemáca Inversa % empo fnal % Pausa % Desavar eco na ela Ese méodo é muo leno. Para um robô real, o cálculo da cnemáca nversa deve durar apenas alguns ml-segundos. Prof. Slas do Amaral - UDESC 6
Smulação no MaLab - 5 Exbção da rajeóra Relínea no Espaço das Junas echo on subplo(3,,); plo(,(:,)); xlabel('empo (s)'); ylabel('juna (rad)') subplo(3,,); plo(,(:,)); xlabel('empo (s)'); ylabel('juna (rad)') subplo(3,,3); plo(,(:,3)); xlabel('empo (s)'); ylabel('juna 3 (rad)') pause close(fgure()) % pressone ualuer ecla para connuar echo off Prof. Slas do Amaral - UDESC 7
Smulação no MaLab - 6 Anmação echo on plo(p56, ) pause close(fgure()); % pressone ualuer ecla para connuar echo off Prof. Slas do Amaral - UDESC 8