22 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE CEFET-PR, 13 a 15 de Setembro de 1995 Curitiba Paraná Modelagem Cinemática e Estratégias de Controle de um Robô Móvel a Rodas Dr. Hansjorg Andreas Schneebeli Eng. Luis Eduardo Matins de Lima Universidade Federal do Espírito Santo PPGEE Programa de Pós-Graduação em Engenharia Elétrica Av. Fernando Ferrari, Goiabeiras, Vitória-E.S. CEP : 29060-970 e_maU: [email protected] Resumo - Este trabalho apresenta e discute estratégias de controle de trajetória, aplicáveis ao sistema de locomoção de um robô móvel a rodas, na configuração TraçãoDiferencial. Para definir os problemas a serem solucionados com este controle, é apresentada a modelagem cinemática da configuração em estudo, a partir da qual toma-se possível analisar a influência de diversos fatores (dimensões físicas e restrições cinemáticas) inerentes a esta configuração sobre a realização de trajetórias. 1 Introdução 2. Nos dias atuais, é incontestável a importância do desenvolvimento de robôs móveis. Esta afirmativa se justifica com a existência de um vasto universo de atividades abrangido pela aplicabilidade destes robôs. Dentre estas atividades pode-se citar: transporte de materiais (peças em produção, ferramentas, estocagem de mercadoria) em ambientes industriais, exploração espacial (terrestre, aérea, e subaquática), serviços de alta periculosidade, atividades de produção agrícola e outras. O avanço nestas últimas décadas da Informática e da microeletrônica permitem a utilização de um grande potencial computacional a bordo dos robôs, o que consequentemente incentiva a multiplicação e intensificação de pesquisas neste sub-domínio da robótica. Estas pesquisas têm como objetivo principal dotar os robôs de um nível de autonomia suficiente a torná-los capazes de interagir com o mundo no qual realizarão suas tarefas, e consequentemente mInImIzar a necessidade da interferência humana. Os principais tópicos que vêm sendo abordados nas diversas pesquisas em desenvolvimento são: 1. Tipos de sistemas · de locomoção (rodas e pernas); Modelagens (cinemática e dinâmica); 3. Estratégias de controle (baixo nível - sistema atuador); 4. Sistemas de interação com o (sensoriamento - ultra-som, vídéo); mundo 5. Arquiteturas de controle (alto nível . gerenciamento de tarefas, planejamento de trajetórias); 6. Aplicação da Inteligência Artificial; Este trabalho concentra atenção aos três primeiros tópicos citados acima, e está vinculado ao desenvolvimento de um robô móvel a rodas em execução no DEL-UFES (Departamento de Eng. Elétrica da Universidade Federal do Espírito Santo). A realização deste projeto tem como objetivo estabelecer uma base para o estudo de diversos problemas inerentes a robôs móveis, dentre os quais destacam-se: a implementação de arquiteturas . de controle baseadas em comportamentos, sistemas de sensoreamento, algorítmos de navegação, estratégias de controle para o sistema de locomoção. Neste trabalho, apresenta-se a modelagem cinemática do sistema de locomoção a rodas na 2' SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE 104 2_'.~ ~ ~ (b) Triciclo com roda direcionada; (c) Configuração carro; configuração "Tração-Diferencial", sendo analisada a partir desta modelagem a influência das características desta configuração (dimensões físicas e comportamento) sobre a estratégia de controle de trajetória a ser adotada. Visando solucionar os problemas levantados na análise realizada, são também discutidas estratégias de controle aplicáveis ao sistema de locomoção para a realização de trajetórias. RL RT RDT RAT M Roda livre; Roda de tração; Roda de direção e tração; Roda para apoio e tração; Motor de tração. 2 Sistema de locomoção a rodas 3 Modelagem cinemática De acordo com a bibliografia [1][3], dentre as configuraçÕes existentes para um sistema de locomoção a rodas, a mais comum é a configuração "Tração-Diferencial". Esta configuração é caracterizada da seguinte forma: A geometria dos movimentos (relação entre posição, velocidade, aceleração e tempo) a serem realizados pelo robô, pode ser analisada através da modelagem cinemática. A importância desta análise reside na possibilidade de definição de características relevantes do modo de operação do robô, como: tipo de trajetória, influência dos parâmetros da configuração do sistema de locomoção sobre a trajetória realizada, restrições cinemáticas aos movimentos do robô. O sistema de locomoção do robô em desenvolvimento no DEL_UFES possui a configuração Tração-Diferencial, razão pela qual o estudo desenvolvido neste trabalho concentra atenção a esta configuração. Assim sendo, a partir da figura 2 obtém-se o seguinte modelo cinemático: Na categoria "Tração-Diferencial" o sistema de tração/direção é constituído por dois motores acionados independentemente, fixos a plataforma do robô separados por uma distância "d", sendo acoplada ao eixo destes motores as rodas de tração. _O equilíbrio necessário para sustentação da plataforma é obtido utilizando-se rodas livres (não tracionadas nem dirigidas) que têm apenas a função de estabelecer pontos de apoio. As principais razões pelas quais configuração se tornou a mais utilizada, são: esta A simplicidade relativa quanto aos aspectos construtivos e estratégias de controle (se comparada à outras configurações); A versatilidade para a realização de manobras e consequentemente trajetórias, sendo inclusive possível com esta configuração realizar o movimento de rotação pura; Nomenclatura utilizada _ Raio da roda esquerda; RO _ Raio da roda direita; d _Metade da distância entre os pontos de contato das rodas de tração com a superfície de navegação; a _ Distância do eixo imaginário entre as rodas de tração ao centro geométrico da plataforma; DR _Vetor posição de um ponto de referência no robô em relação ao ponto de contato da roda direita com superfície de navegação; ER _Vetor posição de um ponto de referência no robô em relação ao ponto de contato da roda esquerda com superfície de navegação; OOE(t) _ Velocidade angular da roda esquerda; 000 (t) _ Velocidade angular da roda direita; Como consequência das características citadas acima, esta configuração apresenta baixo custo de implementação. A figura 1 ilustra as três configurações mais comuns para um sistema de locomoção a rodas. Fig. 1 - Configurações de sistemas de locomoção a rodas. Sendo: (a) Tração-Diferencial; 21 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE lOS Ou, na forma matricial: _ Velocidade angular da plataforma; oo(t) _Velocidade linear de um ponto de referência no robô; D, Ro 2 = Velocidade linear da roda direita; aRo 2d RD 2d _Velocidade linear da roda esquerda; (t) _Velocidade de um ponto de referência V R/O no robô em relação a roda direita; (t) _Velocidade de um ponto de referência V R/E no robô em relação a roda esquerda; s(f(t» _ Seno de f(t); c(f(t» _ Cosseno de f(t). (7) Aplicando-se à equação (7) o método dos mínimos quadrados (Pseudo-inversa de MoorePenrose) [2], obtém-se: C1b(t)] [~t) = [ 1 ad Ro _1 RoO +a2) Rr: Rr:(l +a2) ad (8) Em relação ao sistema de referência fixo a superfície de navegação, as componentes de velocidade do robô são: SVRx(t) =VRi (t).c(9(t»- VRj(t).s(S(t» O modelo conclusões: Fig. 2 - Vista de cima do robô com os sistemas de referência utilizados na modelagem. - - + I -j DR = a i 1 (1) - oo(t) = -(Ro.(Oo(t) - RE'(OE(t» k 2.d obtido permite as (9) seguintes O tipo de trajetória se define em função da diferença entre as velocidades das rodas motrizes (daí a denominação Traçãodiferencial). Uma vez que os movimentos desenvolvidos pelo robô são planos a localização do CIR (Centro Instantâneo de Rotação) também é possível a partir das velocidades das rodas motrizes. (2) (3) (4) (5) De posse das cinco equações acima, obtém-se: 1 VR(t) '2«(Oo(t).R o + (OE(t).R E ) i (6) = .:t, ~...... ~ ~ / .... -----cm----------,T\ ('' /..i .. .' , " Figura 3 - Tipos de trajetória e localização do CIR 21 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE 106 A definição do raio de curvatura da trajetória do robô para velocidades constantes e distintas das rodas motrizes, permite uma análise da influência dos parâmetros do sistema de locomoção sobre o comportamento cinemático do robô. A expressão que define o raio de curvatura da trajetória é a seguinte: Gráfico 1: R D = R E = 0.04 (m) , a = O, CJ)Dl = 30 r. p.m. CJ)EI = 40 r. p.m. CJ)D2 = 20 r.p.m. CJ)E2 = 50 r.p.m. CJ)D3 = 40 r.p.m. CJ)E3 = 50 r.p.m. Gráfico 2: CJ)D = CJ)E = 40 r. p. m I =0.5 (m), a =O, R D =0.1 (m), R E Da equação (10), conclui-se: di::::) pi Favorece trajetórias retilíneas d -l.::::) p-l. Favorece trajetória do tipo doca$!em Trajetória curvilínea P < 00 R D *R E CJ)D = CJ)E 0.5 (m) + SYRy .sC9(t)) + d.m(t) = RD.OORox (12) Rotação pura CJ)D = -CJ)E SYRx .cC9Ct)) Tabela 1 + SYRy .sC9Ct)) - d.m(t) = RE.COREx (13) Estas restrições estão implícitamente consideradas no modelo obtido, em função das relações cinemáticas estabelecidas entre as componentes de velocidade das rodas. É importante ressaltar que, submetido a estas restrições o robô constitui um sistema que exige três parâmetros para definir sua configuração num dado instante (x i ,Y i ,9 i ), e possui apenas dois graus de liberdade (m) R a ~ As restrições cinemáticas impostas pelo uso da configuração Tração-Diferencial, e caracterizando a não ocorrência de condições indesejáveis (deslizamentos), podem ser descritas da seguinte forma: (vide figura 1) SYRx. c C9(t)) p=O =0.1 (11) a=O R E =RD ~I 4~--~----4----4----+-,L~ i 3~--~----4----4~~~~~ o T 2 r 1~--~~~~---+--~~~~ a j. o~--~--~--~--~--~ (m) O 0.2 0.4 0.6 0.8 1 Distância entre as rodas que são a translação na direção i e a rotação (vide figuras 2 e 3). 4 Controle do sistema de locomoção Gráf.l - Influência de "d" sobre a trajetória Com base no estudo apresentado no item 3 (modelagem cinemática), discutiremos o problema a que nos propomos solucionar, sendo este: (m) R 1.4 a i 1.2 1 o T 0.8 r 0.6 a 0.4 j. Controlar o sistema de locomoção de um robô móvel a rodas, configuração TraçãoDiferencial, na realização de uma trajet6ria. \ \ \ \ ~ o '" r--0.1 0.2 0.3 (m) 0.4 0.5 RE-R D Gráf. 2 - Influência de R E e R D sobre a trajetória A realização de uma trajetória se define pela execução sequencial de manobras básicas, do tipo translação retílinea, curvas circulares e rotação pura. Assim sendo, o processo de controle do sistema de locomoção pode ser descrito da seguinte forma: 21 SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE 1. 2. 3. 107 A arquitetura de controle define a sequência de manobras a serem realizadas em função de uma dada tarefa (respeitando-se as restricões); A sequência de manobras desejada é traduzida para perfis de velocidade (linear e angular) de um ponto de referência no robô. Destes perfis, obtém-se através do modelo cinemático os perfis de velocidade a serem impostos sobre as rodas motrizes; Dos perfis obtidos no passo anterior gera-se os sinais de referência para o controle do sistema de locomoção, que por sua vez acionará os elementos atuadores ( motores elétricos no nosso caso) mantendo um desempenho préestabelecido. Concentrando atenção a terceira fase do processo citado acima, a abordagem ao problema pode ser feita da seguinte forma: 1. Controle individual dos motores de tração (velocidade, posição); 2. Controle de sincronização dos motores de tração; 3. Controle de correção do desejada/trajetória realizada. erro trajetória o primeiro subproblema citado acima é o passo inicial para o controle do sistema de locomoção. O controle individual dos motores de tração define duas características importantes, os limites para acelerações, desacelerações e velocidades de cruzeiro (perfis de velocidade), e o desempenho do controle de posição de cada roda motriz. O segundo subproblema surge em função de diversos fatores, dentre os quais destacam-se: • Desigualdades das características eletromecânicas dos motores de tração (na prática, motores de um mesmo tipo apresentam comportamentos distintos); • Ocorrência de distúrbios incidentes sobre os motores; • Distribuição não-uniforme de carga sobre a plataforma, impondo torques resistentes distintos a cada motor; • Diferença entre os raios das rodas motrizes (pode ocorrer como consequência do fator citado acima, a depender do tipo de roda); .~ • Desalinhamento das rodas; • Existência de uma área e não um ponto de contato entre a roda e a superfície de navegação; • Irregularidades da superfície de navegação; • Ocorrência de derrapagens na realização de manobras. Fatores do tipo citado acima tomam obrigatória a troca de informações entre as malhas de controle de cada motor, de maneira a permitir uma primeira correção de erros de trajetória. Esta troca de informações se traduz na implementação de uma malha de controle externa gerenciando as malhas individuais. O terceiro subproblema é a última etapa a ser cumprida para a obtenção do nosso objetivo. O uso apenas de informações a respeito do comportamento de cada motor (encoders no eixo dos motores) não é suficiente para o controle do sistema. A correção da resposta dos motores deve objetivar não só a supressão da influência de fatores distúrbio, como também minimizar o erro trajetória realizada/trajetória desejada. Dos métodos existentes [1][3][5], dedicados a solução deste problema, predominam: 1. o uso do modelo cinemático do robô para obtenção da trajetória realizada (x(ti)' y(ti)' 8(ti))' e geração de uma realimentação baseada no erro trajetória realizada/trajetória desejada; 2. o uso do sensoreamento externo (informações do mundo). Fig. 4 - Estratégia de controle cartesiano. É importante ressaltar que, além do fator erro de trajetória dois outros fatores devem ser considerados na avaliação da estratégia de controle para o sistema de locomoção. Sendo estes: 2! SIMPÓSIO BRASILEIRO DE AUTOMAÇAO INTELIGENTE 108 • o tempo gasto na realização determinada trajetória; . de uma • o custo necessário para implementação da estratégia de controle escolhida. o somatório destes fatores define a relação custolbenefício e qualifica o dempenho do robô, sendo por conseguinte de suma importância a análise dos mesmos. A fase atual do projeto do robô móvel em nossos laboratórios, está centrada na definição do software e hardware necessários a implementação da estratégia de controle do sistema .de locomoção. Tendo sido definida a seguinte configuração: =~~ ~ 6 Bibliografia [ 1] Borenstein, J.; Koren, Y.; Motion Control Analysis of a Mobile Robot, Journal of Dynamic Systems, Measurement, and Control, Vol. 109 73-79, 1987. [2] Brogan, W.L.; Modern Control Theory, Prentice-Hall - 1991, London. [3] Cox, L J.; Wilfong. G. T. Autonomous Robot Vehicles, AT&T, 1990. [4] Jones, J.L; Flynn, A.M.; Mobile Robots Inspiration to Implementation, A K Peters Massachusetts, 1993. [5] Muir, P.F.; Modeling and Control of Wheeled Mobile Robots, Ph.D. Thesis, Department of Electrical and Computer Engineering , Carnegie Mellon University, Pittsburgh, PA, August 1988. [6] Reister, D.B.; Pin, F.G.; Time-Optimal Trajectories for Mobile Robots Whith Two Independent1y Driven Wheels, The International Journal of Robotics Research, Vol. 13, No. 1, pp. 38-54, February 1994. [7] Saha, S.K.; Angeles, J. Kinematics and Dynamics of a Three-Wheeled 2-DOF AGV, IEEE International Conference on Robotics and Automation, Vol. 3, 1989. [8] Sarkar, N.; Yun, X; Kumar,V Control of Mechanical System With Rolling Constraints: Application to Dynamic Control of Mobile Robots, The International Journal of Robotics Research, Vol. 13, No. 1, February 1994, pp. 55-69. PIO Fig.5 - Diagrama da arquitetura proposta Sendo o objetivo final deste projeto desenvolver um robô móvel autônomo, vários serão os processos controlados pela CPU (sensoreamento interno, sensoreamento externo, geração de trajetórias), de onde se conclui que o diagrama da figura 5 é apenas uma simplificação destinada a ilustrar o assunto discutido neste trabalho. 5 Conclusão Dos resultados obtidos e das questões levantadas neste trabalho, fica evidente a relevância da função de um sistema de controle na atividade de locomoção de um robô móvel. Sendo esta uma atividade base para a utilização do robô, é fundamental a busca de precisão no desempenho da mesma (observando-se sempre a relação custo/benefício), assim como uma eficiente integração às atividades co-relacionadas. Em nossa linha de pesquisa, é também importante ressaltar o esforço empenhado no sentido de, dotar o robô de um sistema locomoção desvinculado ao ambiente de trabalho (sem trilhas, não se utiliza uma trajetória fixa obrigatória). Este esforço contribui para a autonomia do robô, sendo este fator de muito interesse nas diversas aplicações. 2_1~,1 ~ e