Вы находитесь на странице: 1из 124

Captulo 1

Introduo
Nos ltimos anos, tem-se observado um vertiginoso crescimento do potencial de sistemas robticos. Numa primeira etapa, houve um grande desenvolvimento na rea de robtica industrial, com a utilizao sobretudo de robs manipuladores. Numa segunda etapa de evoluo, pesquisadores em robtica tm concentrado esforos na construo de robs mveis, introduzindo as capacidades de mobilidade e autonomia para reagir adequadamente ao ambiente, o que abre um vasto campo de novas aplicaes e, conseqentemente, muitos desafios [1].

1.1 Breve Histrico dos Robs Mveis


A Robotic Industries Association (RIA) define um rob como sendo um manipulador programvel multifuncional capaz de mover materiais, partes, ferramentas ou dispositivos especficos atravs de movimentos variveis programados para realizar uma variedade de tarefas [2]. Entretanto, esta definio descreve toda uma categoria de mquinas, e sendo assim, qualquer equipamento capaz de ser programado considerado um rob. Durante dcadas a indstria vem utilizando esta tecnologia como substituta da mo-de-obra humana, em especial onde h riscos envolvidos. Os robs utilizados pela indstria so, de um modo geral, grandes, fixos, capazes de efetuar tarefas como a manipulao de objetos em sua rea de trabalho, desprovidos de inteligncia de alto nvel e no-autnomos (necessitam da interao com os seres humanos). Em resumo, poderiam ser classificados de mquinas-ferramentas. Como o prprio nome indica, os robs mveis so muito mais versteis, pois no precisam estar fixados a uma clula de trabalho, podendo ser utilizados em tarefas onde no existam

CAPTULO 1. INTRODUO

limites geogrficos, movimentando-se por meio de pernas, lagartas ou rodas, dotados de autonomia ou no, capazes de serem programados em alto nvel via software e de sentir o ambiente a sua volta atravs de seus sensores. Em resumo, so mquinas passveis de locomoo prpria. Da cronologia dos desenvolvimentos relacionados com a tecnologia da robtica, o primeiro rob mvel construdo e reconhecido na bibliografia data de 1968 com a denominao de Shakey (ver Figura 1.1), desenvolvido no Stanford Research Institute (SRI). Este rob era equipado com uma variedade de sensores, incluindo uma cmera de viso e sensores de toque, o que lhe dava a possibilidade de mover-se de um lado para o outro sobre uma superfcie plana.

Figura 1.1 Shakey, o primeiro rob mvel (adaptado de [3]) Outro rob mvel reconhecido um veculo de 1977 denominado de Stanford Cart do Stanford Artificial Intelligence Laboratory [4] (ver Figura 1.2). O Stanford Cart, utilizava um sistema de navegao baseado no parar e seguir, onde a cada metro percorrido, parava, fazia a leitura de seus sensores e realizava o planejamento da rota a seguir.

CAPTULO 1. INTRODUO

Figura 1.2 O rob Stanford Cart [5] Durante os anos 80 vrios trabalhos envolvendo robs mveis foram desenvolvidos em todo o mundo, dentre eles vale ressaltar o Hilare, um rob multisensorial desenvolvido no Laboratoire dArchiteture et dAnalyse de Systmes (LAAS) em 1983 [4] (ver Figura 1.3).

Figura 1.3 O rob Hilare [6] Ao longo dos anos, muita coisa mudou. Hoje em dia, os robs mveis podem ser encontrados nas mais diferentes formas e modelos, o que lhes compete uma infinidade de aplicaes, desde cientficas, industriais e at educacionais.

CAPTULO 1. INTRODUO

1.2 Aplicaes dos Robs Mveis


Atualmente no mercado mundial, os robs mveis so classificados em funo da aplicao em cinco grandes reas: a) Industriais [2][7]; b) De Servio [2][7]; c) Para Pesquisa [7]; d) De Campo [2][7]; e) Para Entretenimento [2]; Para um melhor entendimento, a seguir dada uma descrio para cada uma destas cinco reas de aplicao, juntamente com alguns principais robs a elas associados.

1.2.1 Robs Mveis Industriais


So plataformas mveis, que executam tarefas pesadas, como por exemplo carregar grande quantidade de materiais, peas, etc. Este tipo de rob em geral, tem uma autonomia muito grande [7], isto , sua interao com os seres humanos reduzida. Um dos principais mtodos de navegao utilizado por esse tipo de rob consiste no uso de linhas pintadas no cho, que definem o caminho a seguir. O que requer um alto grau de investimento em mudanas de infra-estrutura na planta da empresa, quando da sua implantao. A Figura 1.4 mostra um Automated Guided Vehicle (AGV), o Unitload Vehicle, como exemplo de um rob mvel industrial.

Figura 1.4 Exemplo de um rob mvel industrial, o Unitload Vehicle [8]

CAPTULO 1. INTRODUO

1.2.2 Robs Mveis de Servio


A robtica de servio reconhecida como uma importante rea de aplicao para um futuro prximo. Sistemas de robtica mvel autnoma, que executam tarefas de servio (transporte, manipulao, limpeza, vigilncia, etc), podem ser utilizados em ambientes estruturados e com um mnimo de conhecimento prvio destes [7]. A Figura 1.5 mostra o rob Koala, do K-Team, como exemplo de um rob mvel de servio. O Koala apresenta uma grande quantidade de possveis aplicaes, destacando-se o transporte de pequenos objetos e a vigilncia (adicionando o mdulo cmera).

Figura 1.5 O rob mvel Koala [9] Outro bom exemplo de rob mvel de servio o aspirador de p robtico RoboCleaner (Figura 1.6), da empresa alem Alfred Krcher (a maior fabricante de aspiradores do mundo). O RoboCleaner anda aleatoriamente pela casa (recarregando e esvaziando seu compartimento de poeira quando necessrio), percebendo paredes e outros obstculos com seus pra-choques sensveis a impactos. Ele evita escadas e baixo o bastante para aspirar sob os mveis. Um par de "orelhas de borracha" impede que ele fique entalado. Alm disso, ele monitora o fluxo de poeira e se concentra nos pontos mais sujos. Segundo a Krcher, ele pode funcionar semanas sem superviso: o proprietrio s precisa esvaziar o saco de p da estao recarregadora, quando ele fica cheio.

CAPTULO 1. INTRODUO

Figura 1.6 O aspirador robtico RoboCleaner da Krcher [10]

1.2.3 Robs Mveis para Pesquisa


So robs utilizados principalmente na rea acadmica para o desenvolvimento de novas tecnologias e para a pesquisa. Muitas empresas, que produzem robs comerciais, vendem verses para pesquisa de seus modelos [7]. Um exemplo de rob mvel para pesquisa o rob Khepera, do K-Team, que mostrado na Figura 1.7. O Khepera um rob de tamanho reduzido e custo relativamente baixo, se comparado a outros robs no mercado, fato este, que tem feito dele um sucesso dentro das universidades.

Figura 1.7 O rob Khepera [9]

CAPTULO 1. INTRODUO

A rea acadmica tambm pode usufruir do Alice (Figura 1.8), um rob mvel de dimenses ultra-reduzidas desenvolvido na cole Polytchnique Fdrale de Lausanne (EPFL). Dentre as possveis aplicaes para o Alice est a investigao de comportamentos coletivos, futebol de robs e outros temas ligados s reas da Inteligncia Artificial e Robtica Inteligente.

Figura 1.8 O micro-rob Alice [11]

1.2.4 Robs Mveis de Campo


Este tipo de rob realiza tarefas em ambientes desestruturados, pouco conhecidos e, geralmente, perigosos. Entre suas aplicaes est a explorao espacial, minerao, limpeza de acidentes nucleares, navegao em auto-estradas, explorao de vulces e muitas outras. A Figura 1.9 mostra o rob Nomad, como exemplo de um rob mvel de campo.

Figura 1.9 Exemplo de um rob mvel de campo, o Nomad [12]

CAPTULO 1. INTRODUO

O Nomad o primeiro prottipo da empresa LunaCorp e vem sendo testado no deserto de Atakama, no Chile, sob a superviso do Robotics Institute, com financiamento da NASA. O objetivo da empresa criar um parque temtico na Terra, de onde as pessoas podero comandar os veculos e sentir-se virtualmente explorando o solo lunar [4].

1.2.5 Robs Mveis para Entretenimento


Uma das reas em que os robs mveis tm obtido bastante divulgao na rea do entretenimento. Um dos exemplares de maior sucesso o Aibo da SONY [2] (ver Figura 1.10). Apesar de se tratar de um rob dedicado ao entretenimento, consideravelmente complexo, pois dispe de um total de 20 graus de liberdade e de uma grande variedade de sensores [13].

Figura 1.10 O Aibo da SONY [13]

1.3 Formulao do Problema


Um dos problemas mais pesquisados na robtica mvel atual o planejamento de trajetria [14][15][16]. De uma forma geral, este problema consiste em levar um objeto de uma postura (posio e orientao) inicial at uma postura final. Neste caso particular, o objeto que se deseja movimentar o prprio rob.

CAPTULO 1. INTRODUO

Dentre as etapas envolvidas no planejamento de trajetria de um rob mvel, esto [15]: a) o planejamento da trajetria; b) a determinao do modelo cinemtico; c) a execuo do plano. Na etapa do planejamento, so determinados os pontos por onde o rob deve seguir (trajetria) dentro do seu espao de trabalho para cumprir o seu objetivo. A segunda etapa trata de descrever o rob em funo da velocidade e orientao das rodas no espao (coordenadas do mundo) em que ele est inserido. A ltima etapa tem a misso de executar o planejamento, alcanar efetivamente os pontos desejados, corrigindo possveis desvios da trajetria planejada. Sendo assim, a ltima etapa exerce um papel importantssimo, pois sem o sucesso desta, a etapa do planejamento (primeira etapa) poder ficar totalmente comprometida.

1.4 Objetivos
A proposta inicial do trabalho era desenvolver um sistema de planejamento de trajetrias, ou seja, dadas as posturas inicial e final para o rob, fazer com que ele, dentre os possveis caminhos gerados (levando em conta a presena de obstculos), escolhesse o caminho timo e atingisse a postura final. Entretanto, aps alguns testes preliminares, verificou-se que o rob raramente atingia a posio final desejada, alis, no somente a posio como tambm a trajetria. Diante deste fato, o trabalho tomou um rumo um pouco diferente, pois, de nada adiantaria ter um sistema de planejamento de trajetrias se a mesma no pudesse ser cumprida. Vrias tcnicas para a estimao da posio e orientao de robs mveis esto disponveis [7][17][18]. Entretanto, a maioria delas (GPS, giroscpio, landmarks, viso) sofisticada e de custo elevado. Outras nem tanto (bssola, sonar, encoders). Um mtodo bastante utilizado para se obter a localizao de robs mveis a odometria [19]. A base deste mtodo a utilizao de encoders, que acoplados as rodas do rob, realizam a leitura dos pulsos de revoluo das mesmas. Apesar de ser um mtodo clssico e de boas caractersticas (baixo custo, simplicidade), o mesmo no adequado para trajetrias longas, pois pela prpria natureza do mtodo, os erros vo sendo acumulados ao integrar-se os deslocamentos para obteno da posio e orientao. Alguns trabalhos relacionados ao tema:

CAPTULO 1. INTRODUO

10

em [20] a odometria combinada com a tcnica de landmarks (marcos dispostos no ambiente), com o intuito de se obter uma localizao mais robusta. No entanto, a deteco de landmarks, que possui custo computacional elevado pode ser reduzida substancialmente. Para tanto, a incerteza dos sensores includa ao modelo de odometria, atravs da adio de um rudo gaussiano idntico nos dois encoders. Em resumo, objetiva-se entender como os erros de odometria se propagam e simular uma metodologia que os minimize auxiliando na localizao do rob; em [21] a forma de propagao dos erros de odometria novamente abordada, porm, ao invs de landmarks, utiliza-se linhas pintadas no cho em forma de grid, com o objetivo de melhorar a estimao da posio e orientao do rob; j em [22] investiga-se as causas e prope-se um mtodo experimental de correo para os erros sistemticos de odometria. A proposta submeter o veculo a trajetrias quadradas (sentido horrio e anti-horrio), calcular os erros de localizao ocorridos e ajustar alguns parmetros do modelo cinemtico. Em se tratando da plataforma robtica utilizada, optou-se pela Khepera, devido aos motivos mencionados na Subseo 1.2.3. Ainda, a variedade, a disponibilidade e a facilidade na obteno de material, aliadas ao fato de a UDESC dispor de duas unidades, tornaram a sua escolha um tanto trivial. Quanto a tcnica utilizada para a estimao da posio e orientao, optou-se pela odometria devido a trs motivos principais: 1) o Khepera em sua verso bsica, dispe (unicamente) de dois encoders incrementais como forma de obter sua localizao; 2) a odometria possui baixo custo e de simples implementao; e 3) por este ser um trabalho pioneiro na rea dentro da UDESC. A presente dissertao tem por base o trabalho [22] e suas dissidncias [23][24]. Assim, foram estudados todos os aspectos envolvidos na obteno do modelo cinemtico do rob Khepera e, a partir deste, as possveis fontes dos erros de odometria (sistemticos), quando do seguimento de trajetrias. Propostas de avaliao e correo para estes erros, e de utilizao em situaes de controle puderam ser avaliadas. Ainda, resultados de simulao e experimentais tambm foram implementados, fazendo com que as tcnicas e modelos utilizados pudessem ser validados. Este trabalho, deixa portanto como contribuio, alm dos resultados obtidos e das importantes concluses alcanadas, um ponto de partida para todos aqueles que desejarem explorar o assunto.

CAPTULO 1. INTRODUO

11

1.5 Organizao
O restante desta dissertao est organizado da seguinte forma: o Captulo 2 trata da modelagem cinemtica dos robs mveis. O Captulo 3 descreve em detalhes a plataforma robtica utilizada (o rob mvel Khepera). O Captulo 4 traz um estudo completo sobre a influncia dos parmetros cinemticos na odometria e a forma de corrig-los. No Captulo 5, discutida a forma de controle, juntamente com alguns resultados de simulao e experimentais realizados para trajetrias de interesse. O ltimo, o Captulo 6, traz as concluses alcanadas e algumas propostas para trabalhos futuros. Finalmente, no Apndice A apresentado o programa UMBmark-Khepera utilizado para a avaliao e correo da odometria e no Apndice B, o programa Rastreador-Khepera utilizado no controlador de rastreamento de trajetrias.

Captulo 2

Modelagem Cinemtica
No mundo da robtica mvel, vrias pesquisas esto sendo realizadas com o objetivo de desenvolver (construir e controlar) sistemas de locomoo [25]. Este crescente interesse pelos robs mveis se deve a grande diversidade de tarefas que podem ser por eles realizadas, e adequ-los da melhor forma possvel as exigncias das mesmas (preciso, exatido, e etc) vm se tornando um trabalho imprescindvel. Para o estudo das tcnicas de controle, planejamento e correo de trajetria de robs mveis, o primeiro passo a ser dado definir o tipo de acionamento do rob e a classe a que ele pertence, e em seguida, a sua modelagem. Existem basicamente trs mtodos para o acionamento de robs mveis[19]: Acionamento atravs de rodas; Acionamento atravs de lagartas; Acionamento atravs de pernas.

O acionamento atravs de rodas o mais utilizado, por ser um mecanismo de fcil construo e adaptar-se bem s condies de operao em ambientes internos e externos, desde que as irregularidades do solo sejam praticamente desprezveis. J a utilizao do acionamento atravs de lagartas ou atravs de pernas reserva-se principalmente operao em ambientes externos, onde o solo apresenta geralmente acentuadas irregularidades, pois esses acionamentos permitem aos robs transpor obstculos com maior facilidade. As Figuras 2.1 e 2.2 apresentam, respectivamente, os robs Urbie e Genghis, como exemplos de robs com acionamento atravs de lagartas e atravs de pernas.

CAPTULO 2. MODELAGEM CINEMTICA

13

Figura 2.1 Acionamento atravs de lagartas (rob Urbie [26]) O rob Urbano, apelidado de Urbie, o resultado do esforo conjunto do Jet Propulsion Laboratory (JPL) do California Institute of Technology, iRobot Corporation, Robotics Institute of Carnegie Mellon University, e da University of Southern California Robotics Research Laboratory [27]. O rob Urbie foi projetado para o reconhecimento militar mvel em terrenos acidentados, inspitos e de difcil acesso.

Figura 2.2 Acionamento atravs de pernas (rob Genghis [28]) J o rob Genghis foi desenvolvido no Artificial Inteligency Laboratory do Massachusetts Institute of Technology (MIT) pelo cientista e pesquisador Rodney Brooks [29] com o intuito de desenvolver uma arquitetura de controle robtico similar ao comportamento dos animais. Em [13], fornecida uma srie de outros exemplos de veculos com locomoo por pernas, incluindo sua evoluo, desde as primeiras idias at os dias atuais. Neste trabalho, sero considerados apenas robs com acionamentos atravs de rodas. A Figura 2.3 apresenta o rob Sojourner, como exemplo para este tipo de acionamento.

CAPTULO 2. MODELAGEM CINEMTICA

14

Figura 2.3 Acionamento atravs de rodas (rob Sojourner [30]) Sojourner (do ingls, hspede temporrio) o batismo carinhoso dado ao modelo Rocky 4 [4], resultado das pesquisas do Jet Propulsion Laboratory (JPL) em parceria com a Nasa e enviado a Marte (Misso Mars Pathfinder) com o objetivo de explorar as caractersticas deste planeta e realizar experimentos cientficos [2]. De acordo com [19], quatro tipos de modelos podem ser estabelecidos para robs com acionamento atravs de rodas: modelo cinemtico de postura, modelo cinemtico de configurao, modelo dinmico de configurao e modelo dinmico de postura. Os modelos cinemticos descrevem o rob em funo da velocidade e da orientao das rodas, enquanto os modelos dinmicos descrevem o rob em funo das foras generalizadas aplicadas pelos atuadores, por exemplo, os torques nas rodas. Os modelos de postura consideram como variveis de estado apenas a posio e a orientao do rob, ao passo que os modelos de configurao consideram, alm da postura, outras variveis internas, como o deslocamento angular das rodas. Do ponto de vista de controle da posio e orientao espacial do rob, apenas os modelos de postura so necessrios. A Seo 2.1 apresenta inicialmente a descrio de um rob mvel genrico e a Seo 2.2, os seus possveis modelos de rodas. Em seguida, as restries de mobilidade (Seo 2.3), a diviso dos robs em classes (Seo 2.4) e um exemplo para uma classe de interesse (Seo 2.5). A Seo 2.6 mostra os modelos cinemticos de postura e para finalizar, a Seo 2.7 apresenta as principais propriedades da classe abordada no exemplo. Tanto a descrio quanto os modelos, seguem a formulao semelhante a [31] e as adaptadas por [19][32] e [33].

CAPTULO 2. MODELAGEM CINEMTICA

15

2.1 Descrio do Rob Mvel


Para este trabalho, admite-se que o rob mvel seja constitudo por um corpo rgido, cujas rodas no sofram deformao e que se movimentam apenas no plano horizontal. A posio e a orientao do rob so descritas em relao a um sistema de referncia inercial {Xb, Yb} com origem denotada por O, enquanto que um sistema de coordenadas {Xm, Ym} com origem P = (x, y) associado ao corpo do rob, conforme mostra a Figura 2.4.

Figura 2.4 Sistemas de coordenadas do rob mvel (adaptado de [32]) Desta forma, as coordenadas de postura do rob, descritas no sistema {Xb, Yb} so dadas pelo vetor (3 x 1):

&x # = $ y! $ ! $ ! % "

(2.1)

e a matriz de rotao do sistema {Xb, Yb} em relao ao sistema {Xm, Ym} de um ngulo dada por: & cos sin 0# R( ) = $ sin cos 0! $ ! $ 0 0 1! % " Esta rotao representa a mudana de uma base velha ( = 0) para uma nova [34]. (2.2)

CAPTULO 2. MODELAGEM CINEMTICA

16

2.2 Descrio das Rodas


Com relao modelagem das rodas, considera-se que o plano de cada roda permanece vertical durante o movimento e que a rotao ocorre em torno de um eixo horizontal, cuja orientao em relao ao sistema de coordenadas do rob {Xm, Ym} pode ser fixa ou varivel. As rodas so divididas em duas classes: as convencionais e as suecas. Considera-se, para ambas as classes, que o ponto de contato com o solo reduzido a um nico ponto. Para a classe de rodas convencionais, o contato da roda com o cho de rolamento puro e sem deslizamento. A velocidade do ponto de contato com o solo neste caso zero, o que significa dizer que, as componentes de velocidade paralela e ortogonal ao plano da roda so nulas. J para a classe de rodas suecas, apenas uma das componentes de velocidade do ponto de contato zero. A direo desta componente arbitrria, porm fixa em relao orientao da roda.

2.2.1 Rodas Convencionais Fixas


Para este tipo de roda (ver Figura 2.5), o ponto A fixo e representa o centro da roda. A posio deste ponto em relao ao ponto P descrita em coordenadas polares por meio da distncia l entre os dois pontos, e pelo ngulo . A orientao do plano da roda em relao a l dada pelo ngulo fixo . O deslocamento angular da roda em torno do seu eixo horizontal representado pela varivel e o raio da roda pela constante r.

Figura 2.5 Sistema de coordenadas da roda convencional fixa (adaptado de [32])

CAPTULO 2. MODELAGEM CINEMTICA

17

A posio desta roda fica, portanto, caracterizada por 4 constantes: , , l e r, e o seu movimento pela varivel temporal (t). A velocidade do rob em relao ao sistema de referncia inercial, descrita no sistema de coordenadas de referncia do rob {Xm, Ym}, dada por: ! ! m = R ( )

(2.3)

Descrevendo esta mesma velocidade em relao a um sistema de coordenadas de referncia {Xw, Yw} associado ao centro da roda, tem a forma: &0 0 0 # w ! ! ! w = R ( ) m + lw $0 0 0! Rm ( ) m $ ! $0 0 1 ! % "
w m

(2.4)

w onde lw o brao de giro e Rm ( ) a matriz de rotao do sistema {Xm, Ym} em relao ao

sistema {Xw, Yw} de um ngulo , e definidos por: & l sin # l w = $ l cos ! $ ! $ 0 ! % " & cos sin 0# R ( ) = $ sin cos 0! $ ! $ 0 0 1! % "
w m

(2.5)

(2.6)

Observando a Figura 2.5, deduz-se que = + na forma:

w ; portanto, Rm ( ) pode ser reescrita 2

& sin( + ) cos( + ) 0# R ( ) = $cos( + ) sin( + ) 0! $ ! $ 0 0 1! % "


w m

(2.7)

CAPTULO 2. MODELAGEM CINEMTICA

18

Substituindo as Equaes (2.3) e (2.5) na Equao (2.4) obtm-se:

& l sin # &0 0 0# ! = R w ( ) R ( ) + $ l cos ! $0 0 0! R w ( ) R( ) ! ! w m $ ! $ ! m $ 0 ! $0 0 1 ! % " % "

(2.8)

Dividindo a Equao (2.8) em duas partes e substituindo a Equao (2.7) em ambas, temse para a primeira parte: & sin( + ) cos( + ) 0# . $ ! ! w = $cos( + ) sin( + ) 0! R( ) ! $ 0 0 1! % " e para a segunda parte: & l sin # &0 0 0# & sin( + ) cos( + ) 0# / $ ! ! w = $ l cos ! $0 0 0! $cos( + ) sin( + ) 0! R( ) ! $ !$ ! $ 0 ! $0 0 1 ! $ 0 0 1! % " % "% " & l sin # &0 0 0# ! / = $ l cos ! $0 0 0! R( ) ! w $ ! $ ! $ 0 ! $0 0 1 ! % " % " &0 0 l cos # ! / = $0 0 l sin ! R( ) ! w $ ! $0 0 0 ! % " Somando as Equaes (2.9) e (2.10): (2.10)

(2.9)

! !. ! / w = w + w

&0 0 l cos # & sin( + ) cos( + ) 0# ! ! = $cos( + ) sin( + ) 0! R ( ) + $0 0 l sin ! R( ) ! w $ $ ! ! $0 0 $ 0 ! 0 0 1! % " % "

CAPTULO 2. MODELAGEM CINEMTICA

19

o que resulta em:

& sin( + ) cos( + ) l cos # ! = $cos( + ) sin( + ) ! w $ l sin ! R( ) ! $ 0 0 1 ! % "

(2.11)

! & r # $ 0 ! , substituindo na Equao (2.11) chega-se a: ! E como w = $ ! ! $ ! % "

! &r# & sin( + ) cos( + ) l cos # $ 0 ! = $cos( + ) sin( + ) ! l sin ! R( ) $ ! $ ! ! $ ! $ 0 0 1 ! % " % "

(2.12)

de onde se obtm as restries a que est sujeito o movimento do rob para a roda em questo [31][32]: Ao longo do plano da roda: ! ! cos ( + ) l cos ]R( ) + r = 0

[ sin ( + )

(2.13)

Esta restrio declara que o rob pode movimentar-se somente na direo de rolamento da roda e sem a ocorrncia de derrapagens. Ortogonal ao plano da roda: ! sin( + ) l sin ]R ( ) = 0

[cos( + )

(2.14)

Esta restrio diz que o rob dever permanecer esttico (sem derrapagens) na direo ortogonal do rolamento da roda.

CAPTULO 2. MODELAGEM CINEMTICA

20

2.2.2 Rodas Convencionais Orientveis Centradas


A descrio deste tipo de roda a mesma utilizada para rodas fixas, exceto que agora o ngulo no constante, mas variante no tempo (ver Figura 2.5). As restries ao movimento do rob tambm so as mesmas dadas pelas Equaes (2.13) e (2.14).

2.2.3 Rodas Convencionais Orientveis No-Centradas


Para este tipo de roda (ver Figura 2.6), denota-se o seu centro por A, que se conecta ao corpo do rob no ponto B por intermdio de uma haste rgida de comprimento d. Neste caso, a rotao se d em torno de um eixo vertical que no passa atravs do centro da roda.

Figura 2.6 Roda convencional orientvel no-centrada (adaptado de [32]) Desta forma, a Equao (2.5) torna-se [19]:

& d l sin # l w = $ l cos ! $ ! $ ! 0 % " de onde se obtm as seguintes restries de movimento [31][32]: Ao longo do plano da roda:

(2.15)

[ sin ( + )

! ! cos ( + ) l cos ]R( ) + r = 0

(2.16)

CAPTULO 2. MODELAGEM CINEMTICA

21

Ortogonal ao plano da roda:

[cos( + )
2.2.4 Rodas Suecas

! ! sin( + ) d + l sin ]R ( ) + d = 0

(2.17)

Esta classe de rodas diferencia-se da convencional fixa ao introduzir mais um parmetro para caracterizar a direo em relao ao plano da roda, que o do componente nulo da velocidade do ponto de contato da roda com o cho, representado por . A Figura 2.7 mostra este tipo de roda.

Figura 2.7 Roda sueca (adaptado de [32]) Assim, o brao de giro da roda (Equao (2.5)) passar a ser dado por [19]:

& l sin( + ) # l w = $ l cos( + )! $ ! $ ! 0 % "

(2.18)

e observando a Figura 2.7, deduz-se que = + + pode ser reescrita na forma:

w ; portanto, Rm ( ) (Equao (2.7)) 2

CAPTULO 2. MODELAGEM CINEMTICA

22

& sin( + + ) cos( + + ) 0# R ( ) = $cos( + + ) sin( + + ) 0! $ ! $ 0 0 1! % "


w m

(2.19)

Por outro lado, a velocidade do rob descrita no sistema de coordenadas {Xw, Yw} dada por [19][35]:

! &r cos # $ ! w = $ !wy ! ! ! $ ! % "

(2.20)

Pelo fato de se tratar de uma roda sueca, o componente de velocidade normal desconhecido, pois a velocidade do ponto de contato nesta direo no nula. Com isto, a restrio do movimento da roda pode ser escrita como [19][31][32][33][35]: ! ! cos ( + + ) l cos( + )]R( ) + r cos = 0

[ sin ( + + )

(2.21)

importante salientar que

; caso contrrio, a roda estaria sujeita a uma restrio 2

idntica a de uma roda convencional, anulando o benefcio da roda sueca.

2.3 Restries Mobilidade de um Rob Mvel


Considera-se para a anlise das restries de mobilidade, um rob mvel genrico equipado com N rodas para os 4 tipos descritos anteriormente e identificados atravs dos seguintes subscritos: f para rodas fixas; c para rodas orientveis centradas; oc para rodas orientveis no-centradas e sw para rodas suecas. Desta forma, N=Nf+Nc+Noc+Nsw , onde Nf representa o nmero de rodas fixas, Nc o nmero de rodas orientveis centradas, Noc o nmero de rodas orientveis no-centradas e Nsw o nmero de rodas suecas.

CAPTULO 2. MODELAGEM CINEMTICA

23

A configurao deste rob descrita por intermdio dos seguintes vetores de coordenadas [31]: Coordenadas de postura: (t ) =[x(t )

y (t ) (t )]

Coordenadas angulares: c (t ) e oc (t ) que denotam a orientao das rodas orientveis centradas e no-centradas, respectivamente;

Coordenadas de rotao: (t ) = f (t ) c (t ) oc (t ) sw (t ) Coordenadas de configurao: (t ) , c , oc e .

O nmero total de coordenadas de configurao dado por Nf+2Nc+2Noc+Nsw+3 [31]. Assim, as equaes que descrevem as restries (Equaes (2.13), (2.14), (2.16), (2.17) e (2.21)) podem ser escritas na forma matricial:

! ! J 1 ( c , oc ) R ( ) + J 2 = 0
! ! C1 ( c , oc ) R( ) + C 2 oc = 0 onde: & J1 f # $ J ( ) ! J 1 ( c , oc ) = $ 1c c ! $ J 1oc ( oc )! $ ! % J 1sw " & C1 f # C1 ( c , oc ) = $ C1c ( c ) ! $ ! $C1oc ( oc )! % "

(2.22) (2.23)

(2.24)

(2.25)

& 0 # C 2 =$ 0 ! $ ! $C 2 oc ! % "

(2.26)

As dimenses das matrizes J 1 f , J 1c , J 1oc e J 1sw so, respectivamente, ( N f 3) , ( N c 3) , ( N oc 3) e ( N sw 3) . J 2 uma matriz de dimenso ( N N ) , cuja diagonal so os raios das

CAPTULO 2. MODELAGEM CINEMTICA

24

rodas ou, no caso de rodas suecas, o raio das rodas multiplicado por cos . As dimenses da matrizes C1 f , C1c e C1oc so, respectivamente, ( N f 3) , ( N c 3) e ( N oc 3) . A matriz C 2oc uma matriz diagonal que contm as distncias d das rodas no-centradas. Considerando-se apenas as primeiras (N f + Nc ) restries referentes s rodas

convencionais fixas e orientveis centradas, a Equao (2.23) reduz-se a: ! C1 ( c ) R( ) = 0 onde # & C C1 ( c ) = $ 1 f ! %C1c ( c )" (2.28)

(2.27)

! o que implica dizer que o vetor R( ) pertence ao espao nulo da matriz C1 ( c ) , ou seja: ! R( ) C1 ( c )

(2.29)

As limitaes da mobilidade do rob esto relacionadas com o posto da matriz C1 ( c ) , dado por C1 ( c ) . ! evidente que C1 ( c ) 3 . Se C1 ( c ) = 3 , ento R( ) = 0 , o que demonstra a impossibilidade de se realizar algum movimento no plano. Portanto, deve-se ter C1 ( c ) 2 . Assim, define-se o Grau de Mobilidade de um rob mvel com rodas, denotado por m , como sendo [31]:

m = dim C1 ( c ) = 3 C1 ( c )

(2.30)

Por outro lado se C1 f = 2 , ento o rob possui pelo menos duas rodas fixas cujos planos no so paralelos. Se existirem mais de duas rodas fixas, os eixos de todas elas sero concorrentes para o mesmo Centro Instantneo de Rotao (CIR). Como este centro de rotao fixo, devido aos planos das rodas no serem paralelos, o nico movimento possvel

[ ]

CAPTULO 2. MODELAGEM CINEMTICA

25

para o rob a rotao em torno deste ponto (ver Figura 2.8), o que na prtica de pouca ou nenhuma utilidade. Logo, para evitar esta limitao, assume-se que: C1 f 1

[ ]

(2.31)

ou seja, caso o rob possua mais de uma roda convencional fixa, todas elas devem estar montadas em um mesmo eixo.

Figura 2.8 Centro Instantneo de Rotao (adaptado de [32]) Alm disso, tem-se que C1 ( c ) C 1 f + [C1c ( c )]. No entanto, a situao em que C1 ( c ) < C 1 f + [C1c ( c )] corresponde a ter-se os centros das rodas orientveis sobre o eixo comum das rodas fixas, o que faz as rodas orientveis perderem a sua capacidade de atuar sobre a alocao do CIR. Por isso, assume-se que C1 ( c ) = C1 f + [C1c ( c )]. J o Grau de Dirigibilidade de um rob mvel com rodas, denotado por s , definido como o nmero de rodas convencionais orientveis centradas que podem ser orientadas independentemente para dirigir o rob: s = [C1c ( c )] (2.32)

] [ ]

] [ ]

] [ ]

CAPTULO 2. MODELAGEM CINEMTICA

26

Se o rob estiver equipado com um nmero de rodas convencionais orientveis centradas maior do que s ( N c > s ) , o movimento das N c s rodas excedentes dever ser coordenado com as demais, de forma a garantir a existncia do CIR [19]. De forma resumida, a configurao das rodas de um rob mvel deve obedecer as seguintes restries: 1 m 3 0 s 2 2 m + s 3 Com relao as Restries (2.33), (2.34) e (2.35) vlido dizer: O limite inferior da Restrio (2.33) significa que sero considerados apenas os casos em que possvel o movimento; A Restrio (2.34) indica que podem existir no mximo duas rodas orientveis centradas independentes; O limite superior da Restrio (2.35) devido a condio de que C1 ( c ) 2 e, portanto, s = 2 implica m = 1 . As configuraes em que m + s = 1 permitem apenas a rotao em torno de um centro instantneo fixo, sendo portanto desconsideradas. (2.33) (2.34) (2.35)

2.4 Classes de Robs Mveis


A partir das Restries (2.33), (2.34) e (2.35), apenas 5 classes distintas de robs mveis com rodas, caracterizados pelo par (m , s ) , so possveis [31]: as Classes (3,0), (2,0), (2,1), (1,1) e (1,2). A seguir, uma breve descrio sobre cada uma destas classes: Classe (3,0): Esta classe de robs mveis (Figura 2.9) apresenta Nf = Nc = 0, ou seja, no existem rodas fixas ou rodas orientveis centradas e, portanto, C1 ( c ) = 0 . Estes robs so chamados omnidirecionais, pois apresentam mobilidade completa no plano, podendo realizar movimento, a cada instante, em qualquer direo sem reorientao das rodas.

CAPTULO 2. MODELAGEM CINEMTICA

27

Figura 2.9 (a) Classe (3,0) utilizando rodas suecas; (b) Classe (3,0) utilizando rodas convencionais orientveis no-centradas (adaptado de [32]) Classe (2,0): Robs pertencentes a esta classe (Figura 2.10) possuem uma roda convencional fixa (caso haja mais de uma roda fixa, todas devem estar no mesmo eixo, pois necessrio que C1 f = 1 ) e, portanto, C1 ( c ) = C 1 f + [C1c ( c )] = 1 com [C1c ( c )] = 0 . Os robs desta classe normalmente possuem rodas operando em modo diferencial.

[ ]

] [ ]

Figura 2.10 Classe (2,0) utilizando duas rodas convencionais fixas e uma roda convencional orientvel no-centrada (adaptado de [32]) Classe (2,1): Esta classe de robs (Figura 2.11) apresenta pelo menos uma roda convencional orientvel centrada ( N c 1) , suas orientaes devem ser coordenadas, de forma que [C1c ( c )] = 1 .

CAPTULO 2. MODELAGEM CINEMTICA

28

Figura 2.11 Classe (2,1) utilizando duas rodas convencionais orientveis no-centradas e uma roda convencional orientvel centrada (adaptado de [32]) Classe (1,1): Robs desta classe (Figura 2.12) possuem uma ou mais rodas convencionais fixas montadas no mesmo eixo de rotao e, portanto, C1 f = 1 . Possuem ainda rodas convencionais orientveis centradas (uma ou mais), com a condio de que seus centros no sejam colocados no mesmo eixo das rodas convencionais fixas. Havendo vrias rodas convencionais orientveis centradas, o seu movimento deve ser coordenado, de forma que [C1c ( c )] = 1 .

[ ]

Figura 2.12 Classe (1,1) utilizando duas rodas convencionais fixas e uma roda convencional orientvel centrada (adaptado de [32]) Classe (1,2): Robs pertencentes a esta classe (Figura 2.13) no possuem rodas fixas ( C1 f = 0) . Em contrapartida, possuem duas rodas convencionais orientveis centradas ou mais, desde que seu movimento seja coordenado de forma que [C1c ( c )] = 2 .

[ ]

CAPTULO 2. MODELAGEM CINEMTICA

29

Figura 2.13 Classe (1,2) utilizando uma roda convencional orientvel no-centrada e duas rodas convencionais orientveis centradas (adaptado de [32])

2.5 Exemplo
Neste trabalho, a ateno est voltada a robs mveis pertencentes a Classe (2,0). Por isso, esta seo apresentar um exemplo para esta classe de rob, mais precisamente, o rob da Figura 2.10. Para robs dotados de duas rodas fixas, como o Khepera que ser estudado nos prximos captulos, basta desconsiderar a informao pertinente a roda convencional orientvel no-centrada. Em [31] e [32] so dados outros exemplos para as demais classes de robs mveis, restringindo-se a ateno a robs com trs rodas. Nas sees anteriores, pode-se observar que as rodas de um rob mvel so descritas por seis caractersticas; trs ngulos , , e trs distncias l, r, d. Para o exemplo, fornecida uma tabela (Tabela 2.1) com os valores numricos destas caractersticas e apresentada as vrias matrizes J e C envolvidas nas Equaes (2.22) e (2.23). Da Figura 2.10, obtm-se Tabela 2.1 Caractersticas constantes do rob Rodas 1f 2f 3oc 0 3/2 0 0 l L L L

< 0 < J1 f 9 : J1 = : :J 7 = : 0 7 ; 1oc 8 : cos oc 3 ;

1 1 sin oc 3

9 7 L 7 L cos oc 3 7 8

(2.36)

CAPTULO 2. MODELAGEM CINEMTICA

30

< r 0 09 : 7 J 2 = :0 r 07 :0 0 r 7 ; 8

(2.37)

< 1 < C1 f 9 : C1 = : :C 7 = : 1 7 ; 1oc 8 : sin oc 3 ;

0 0 cos oc 3

9 7 0 7 d + L sin oc 3 7 8

(2.38)

<09 < 0 9 : 7 C2 = : :C 7 = : 0 7 7 ; 2oc 8 : d 7 ; 8

(2.39)

Nota-se que as restries de no-derrapagem das duas rodas fixas so equivalentes (ver as primeiras duas linhas de C1); Portanto, a matriz C1* (Equao (2.28)) possui posto igual a um, devido a Restrio (2.31), como esperado [31][32].

2.6 Modelo Cinemtico de Postura


O modelo cinemtico de postura permite uma descrio global do rob. A partir da Relao (2.29), pode-se escrever ! = R T ( ) ( c ) onde as colunas de

(2.40)

) formam uma base para o espao nulo de C1* ( c ) . A dimenso de

! ) (3 m ) e a do vetor ( m 1) . Definindo-se = c , a Equao (2.40) pode ser

aumentada para

CAPTULO 2. MODELAGEM CINEMTICA

31

! @ = R T ( ) ( c ) ?! > c =

(2.41)

que o modelo do sistema no espao de estados, tendo as coordenadas de postura e as coordenadas angulares c como variveis de estado. Como entradas lineares do sistema temse e . Salienta-se que a necessidade de se aumentar a Equao (2.40) devido existncia de rodas convencionais orientveis centradas. Por outro lado se N c = 0 (o rob no possui rodas orientveis centradas), a matriz no depender de c e a Equao (2.40) no precisar ser aumentada. A seguir descrito o modelo cinemtico de postura para cada uma das cinco classes de robs mveis [19]: Classe (3,0): ! & x # &cos $ y ! = $ sin ! $ ! $ ! $ ! $ 0 % " % Classe (2,0): ! & x # &cos 0# $ y ! = $ sin 0! & 1 # ! $ ! $ ! $ ! !! $ 0 $ " % 1! % 2 " % " Classe (2,1): ! & x # &cos( + c1 ) $ y ! $ sin( + ) ! c1 $ !=$ !! $ $ 0 $! ! $ 0 % c1 " % 0 0# & 1 # 0 0! $ ! ! 2 1 0! $ ! !$ ! 0 1" % " sin 0# & 1 # cos 0! $2 ! !$ ! 0 1! $ 3 ! "% "

(2.42)

(2.43)

(2.44)

CAPTULO 2. MODELAGEM CINEMTICA

32

Classe (1,1): ! & x # & L cos sin c 3 $ y ! $ L sin cos ! c3 $ !=$ ! $ ! $ cos c 3 $! ! $ 0 % c3 " % Classe (1,2): ! & x # & L[sin c1 cos( + c 2 ) + sin c 2 cos( + c1 )] $ y ! $ L[sin sin( + ) + sin sin( + )] ! c1 c2 c2 c1 $ ! $ ! $ !=$ sin( c 2 c1 ) $! ! $ 0 $ c1 ! $ ! ! $ $ c 2 " % 0 % 0 0# 0 0! & 1 # ! 0 0! $ 1 ! !$ ! 1 0 ! $ 2 ! % " 0 1! " 0# 0! &1 # ! 0! $ ! % " ! 1"

(2.45)

(2.46)

Genericamente, o modelo cinemtico de postura pode ser reescrito de forma mais compacta [31]: ! z = B( z )u onde, para N c = 0 (o rob no possui rodas orientadas centradas):

(2.47)

z = B( z ) = R T ( )

(2.48) (2.49) (2.50)

u=

e para N c 0 (o rob possui rodas orientadas centradas):


& # z =$ ! % c "

(2.51)

CAPTULO 2. MODELAGEM CINEMTICA


& R T ( ) ( c ) 0# B( z ) = $ ! 0 I" % &# u =$ ! % "

33

(2.52)

(2.53)

onde na Equao (2.52), I representa a matriz identidade. Aps definidos os modelos cinemticos de postura possvel analisar melhor a questo da manobrabilidade de um rob mvel acionado por rodas. O Grau de Manobrabilidade, denotado por M , definido como M = m + s (2.54)

e fornece o nmero de graus de liberdade que podem ser influenciados diretamente pelas entradas de controle e . Em outras palavras, indica a possibilidade de alocar livremente o CIR: M = 3 indica que o CIR pode ser livremente alocado no plano, diretamente atravs de para robs da Classe (3,0) ou atravs da reorientao das rodas centradas para robs das Classes (1,2) e (2,1); M = 2 indica que a posio do CIR est restrita a pertencer a linha que passa pelo centro das rodas fixas. Esta posio determinada diretamente por para robs da Classe (2,0) ou atravs da orientao das rodas centradas para robs da Classe (1,1). Entretanto, deve-se ressaltar que o nmero de graus de liberdade, que podem ser obtidos diretamente igual a m , pois apenas os graus de liberdade determinados por podem ser obtidos de forma direta. Por outro lado, a ao de nas coordenadas de postura indireta, pois obtida atravs da varivel c , calculada pela integral de . Na prtica, isto pode ser verificado considerando-se que modifica apenas a orientao das rodas centradas do rob e, portanto, apenas influenciar as coordenadas de postura do rob se este se mover. Assim, para um mesmo valor de M , robs com m maior so mais manobrveis. A situao de mxima

CAPTULO 2. MODELAGEM CINEMTICA

34

manobrabilidade se verifica nos robs omnidirecionais (Classe (3,0)), para os quais M = m = 3 . Em [31] e [32] est demonstrado que o modelo cinemtico de postura irredutvel, isto , no existe uma transformao de coordenadas tal que uma das coordenadas identicamente nula. Ainda em [31] e [32], pode ser encontrado, um resumo das principais propriedades referentes a controlabilidade e estabilidade, do modelo cinemtico de postura dos robs mveis com rodas.

2.7 Propriedades da Classe (2,0)


Esta Seo discutir as propriedades relevantes da Classe (2,0) (objeto de estudo dos captulos seguintes com a utilizao do rob Khepera). Para iniciar, uma importante propriedade a relacionada ao estacionamento. A Classe (2,0) se mostra muito verstil nesta questo, quando comparada a outras classes. Na Figura 2.14, um rob da Classe (2,0) (Figura 2.14a) com trao diferencial pode facilmente realizar a tarefa do estacionamento, ocupando pequenos espaos sem a necessidade de muitas manobras, ao contrrio de um rob da Classe (1,1) (Figura 2.14b) do tipo carro.

Figura 2.14 Realizao da tarefa do estacionamento: a) rob da Classe (2,0); b) rob da Classe (1,1) [36] Outra propriedade importante diz respeito a forma geomtrica. Os robs podem possuir diversas formas e tamanhos, dependendo da natureza da aplicao. Robs destinados a explorao de ambientes devem possuir forma geomtrica circular, de modo a facilitar o contorno de obstculos. Na Figura 2.15a, mostra-se o caso em que um rob de forma circular movimenta-se em parte de um labirinto, desviando de paredes sem maiores problemas, ao

CAPTULO 2. MODELAGEM CINEMTICA

35

passo que, na Figura 2.15b, um rob de forma quadrangular tenta realizar o mesmo trajeto, no entanto, sem sucesso. Robs de forma quadrangular so destinados principalmente ao transporte de materiais e objetos.

Figura 2.15 Realizao da tarefa do labirinto: a) rob de forma circular; b) rob de forma quadrangular [36] A execuo da tarefa do labirinto pelo rob e de outras (estacionamento em pequenos espaos, rotaes em seu prprio eixo) s facilitada ou possvel, se ambas as caractersticas (forma circular e trao diferencial) estiverem reunidas. Sendo assim, uma infinidade de manobras poder ser realizada, dependendo da alocao do CIR (ver Figura 2.16, onde VE e VD so os vetores de velocidade da roda esquerda e da roda direita respectivamente).

Figura 2.16 Formas de alocao do CIR (adaptado de [25])

CAPTULO 2. MODELAGEM CINEMTICA

36

Observando a Figura 2.16d tem-se que, se os vetores das rodas motrizes estiverem em sentidos opostos, o Eixo Instantneo de Rotao (EIR), que o eixo imaginrio perpendicular ao plano da superfcie de navegao, intercepta a plataforma do rob e, conseqentemente, seu movimento ser uma rotao em torno deste ponto de interseco. Este eixo corta a superfcie de navegao no CIR [25]. Se os mdulos das velocidades forem iguais, mas de sentidos contrrios, o CIR se localizar exatamente sobre o ponto mdio da distncia entre as rodas motrizes. Entretanto, em alguns robs, o ponto mdio entre as rodas motrizes poder no coincidir com o centro geomtrico do rob (distncia a na Figura 2.17a). Desta forma, o rob descrever uma trajetria circular com raio de curvatura. Por outro lado, se a = 0 (Figura 2.17b), o eixo imaginrio entre as rodas motrizes passar pelo centro geomtrico da plataforma e o rob apresentar apenas velocidade angular (rotao pura) sem nenhuma translao, caracterstica importante para manobras do tipo docagem1 [25].

Figura 2.17 Influncia de a sobre a realizao de manobras (adaptado de [25]) Outra propriedade a relacionada a movimentao. Veculos mveis com rodas possuem impedimentos naturais em sua movimentao, que so traduzidos matematicamente por equaes cinemticas restritivas. Como resultado destas restries, chamadas tambm de restries no-holonmicas, robs mveis deste tipo s conseguem deslocar-se na direo para onde esto orientados [37]. Assim, o rob que ser alvo de estudo nos prximos captulos, o Khepera, um representante da Classe (2,0) e dotado de trao diferencial, um sistema noholonmico. No caso em estudo, as duas rodas impedem que ele se movimente lateralmente, devido ao atrito. Desta forma, o rob pode deslocar-se apenas na direo em que est
1

Neste texto, o termo docagem usado para significar o predomnio de muitas curvas em pequenos espaos.

CAPTULO 2. MODELAGEM CINEMTICA

37

orientado. Matematicamente, isto pode ser expresso pelas equaes derivadas das relaes presentes na Figura 2.18.

Figura 2.18 Relaes apresentando as restries no-holonmicas (adaptado de [37])

tan =

dy sin ! ! = y cos x sin = 0 dx cos

(2.55)

Esta restrio (Restrio (2.55)) diz que o rob no poder movimentar-se na direo ortogonal ao seu deslocamento. ! ! Vdt = dx cos + dy sin x cos + y sin = V (2.56)

J esta outra (Restrio (2.56)), diz que o rob poder movimentar-se somente na direo do seu deslocamento. E agrupando-as de forma mais compacta, no modo matricial: ! & cos sin # & x # &V # $ sin cos ! $ y ! = $ 0 ! % "% ! " % "

(2.57)

CAPTULO 2. MODELAGEM CINEMTICA

38

2.8 Consideraes Finais


Este captulo apresentou as propriedades estruturais dos robs mveis, destacando: os tipos de rodas e as restries associadas; e o modelo cinemtico de postura para as cinco classes possveis de robs. O captulo apresentou tambm, uma discusso sobre as principais caractersticas geomtricas da Classe (2,0) e suas conseqncias quando da movimentao dos robs. No prximo captulo sero apresentadas as especificaes tcnicas e operacionais da plataforma Khepera.

Captulo 3

A Plataforma Khepera
O Khepera (Figura 3.1) um rob mvel (acionado por rodas e pertencente a Classe (2,0)) comercializado pelo K-Team [38] e desenvolvido no Microcomputing Laboratory (LAMI) do Swiss Federal Institute of Technology [39], tambm conhecido como cole Polytechnique Fderale de Lausanne (EPFL), com o apoio de outras entidades de pesquisa da Europa, como University of Zrich, University of Karlsruhe, University of Sussex, Laboratorie dEtudes et Recherche en Informatique e cole Nationale Suprieure (Paris) [4]. Ele foi originalmente projetado para servir de ferramenta de ensino e pesquisa do Swiss Research Priority Program. Com ele possvel testar algoritmos desenvolvidos (em simulao) para a gerao de trajetrias, desvio de obstculos, pr-processamento de informaes de sensores e hipteses no comportamento de objetos mveis [40]. Seu tamanho reduzido (altura da ordem de 30 mm, dimetro de 55 mm e peso de aproximadamente 70 g), incluindo motores, sensores, baterias e processador, aliado a seu custo relativamente baixo, comparado a outros robs no mercado, tem feito o Khepera um sucesso dentro das universidades [4].

Figura 3.1 O rob mvel Khepera [41]

CAPTULO 3. A PLATAFORMA KHEPERA

40

3.1 Capacidade Computacional


Apesar de pequeno, o Khepera possui uma grande capacidade computacional embarcada, baseada em um sistema composto por um microcontrolador de 32 bits (MC68331 16 MHZ), memria SRAM de 256 Kb e EEPROM de 128 Kb (podendo ser estendida at 512 Kb), barramento de extenso paralelo, porta serial (RS232), portas de entrada analgica, alm de uma pequena rede de comunicao local, que permite a comunicao com equipamentos adicionais ou extenses (por exemplo: sistema de viso, manipulador ou rdio). Ainda, atravs de uma interface (dotada de uma RS232) e um cabo apropriados, possvel realizar a comunicao entre um computador e o Khepera (ver Figura 3.2). Com relao ao seu controle, este pode ser feito por intermdio de softwares como o LabVIEW, MATLAB ou diretamente atravs de palavras de controle (cdigo ASCII) via RS232, o que pode ser implementado a partir de qualquer computador sem a necessidade de aquisio de software adicional [42]. Isto permite a utilizao de um grande poder computacional (para anlise de dados), capacidade de armazenamento em memria (para a gravao de todos os dados relevantes do experimento) e facilidades de interao (monitor, teclado, mouse) de um microcomputador, enquanto todos os processos de baixo-nvel e tempo real (tais como leitura de sensores, controle dos motores e outras opes internas) rodam no microcontrolador do rob [43].

Figura 3.2 Comunicao entre o Khepera e um Microcomputador [40]

CAPTULO 3. A PLATAFORMA KHEPERA

41

3.2 Sensores
O rob possui ainda oito sensores de proximidade ou luminosidade, que esto posicionados em seu permetro (ver Figura 3.3). Estes sensores so compostos por um emissor e um receptor de luz infravermelha e permitem detectar a proximidade de obstculos atravs da luz que refletida pelos objetos prximos ou a luminosidade do ambiente (quando utilizada somente a parte receptora do dispositivo). Ambas as aes dependem grandemente de vrios fatores: a posio, a distncia, a intensidade, e a cor da fonte de luz (quando utilizado para a deteco da luz ambiente); a refletividade do obstculo (cor, tipo de superfcie...) e a luz ambiente (quando utilizado para a deteco da luz refletida). Maiores detalhes a respeito deste assunto podem ser obtidos em [40].

Figura 3.3 Posio dos motores e sensores do Khepera.

3.3 Motores
Como atuadores, o Khepera possui 2 motores DC acoplados s rodas atravs de uma reduo de 25:1 (ver Figura 3.3). Um encoder incremental localizado no eixo do motor permite medidas de odometria, fornecendo 24 pulsos por revoluo do motor. Isto proporciona uma resoluo de 600 pulsos por revoluo da roda, o que corresponde a 12 pulsos por milmetro da trajetria do rob. Os motores so controlados diretamente pelo processador utilizando o mtodo PWM (Modulao por Largura de Pulso) com chaveamento a 20 KHz, como ilustrado na Figura 3.4. Estes sinais so impostos aos motores atravs de uma ponte H com tecnologia NMOS [39].

CAPTULO 3. A PLATAFORMA KHEPERA

42

Figura 3.4 Mtodo PWM de acionamento dos motores (adaptado de [40]) Ambos os motores DC podem ainda ser controlados, em um nvel mais elevado, atravs de um controlador PID (ver Figura 3.5) usando uma rotina do processador principal. Cada termo deste controlador (Proporcional, Integral, Derivativo) est associado a uma constante: Kp para Proporcional, Ki para Integral e Kd para Derivativo. O controlador do motor pode ser usado em dois modos de controle: um modo para velocidade e outro para a posio. O modo de controle ativado de acordo com o tipo de comando recebido. Se o controlador recebe um comando de controle de posio, o modo de controle automaticamente ativado para o modo de posio. Os diferentes parmetros de controle (Kp, Ki e Kd) podem ser ajustados para cada um dos dois modos.

Figura 3.5 Estrutura de controle dos motores do Khepera (adaptado de [40])

CAPTULO 3. A PLATAFORMA KHEPERA

43

O modo de controle de posio relaciona a acelerao, a velocidade e a posio das rodas do rob conforme a Figura 3.6. Dadas a posio alvo da roda, a acelerao (acc) e a velocidade mxima, o controlador acelera a roda at o valor mximo da velocidade e desacelera proporcionalmente at atingir a posio alvo.

Figura 3.6 Relao entre velocidade e posio (adaptado de [40]) No modo de controle de velocidade, o controlador tem como entrada um valor que define a velocidade das rodas (velocidade de referncia), e controla o motor para manter esta velocidade. A modificao da velocidade realizada to rapidamente quanto possvel, de maneira brusca. Nenhuma limitao na acelerao considerada neste modo.

CAPTULO 3. A PLATAFORMA KHEPERA

44

3.4 Especificaes Tcnicas


A Figura 3.7 apresenta um quadro resumo das principais especificaes tcnicas referentes ao rob Khepera em sua verso bsica.

Elemento Processador RAM ROM Motores Acionamento Encoder Unidade de Deslocamento Velocidade Min. Velocidade Max. Sensores Alimentao

Informao Tcnica Motorola 68331 - 16 MHz - 32 bits SRAM - 256 Kbytes EEPROM - 128 a 512 Kbytes 2 servo motores DC PWM - 20 KHz Incremental - 12 pulsos p/ mm da trajetria do rob 1 pulso = 0,081786 mm 1 pulso / 10 ms 127 pulsos / 10 ms 8 (infravermelho) - p/ proximidade ou luz ambiente 4 baterias NiCd (recarregveis) de +1,2 V / 180 mAh Fonte Externa de +8,5 V

Autonomia Mdulos Adicionais Tamanho Peso Distncia entre Rodas Raio da Roda Comunicao Taxa de Transmisso

aproximadamente 40 minutos cmera, manipulador e/ou rdio Dimetro: 55 mm; Altura: 30 mm

aproximadamente 70 g 53 mm 7,81 mm Porta Serial RS232 - Protocolo ASCII 9600, 19200 ou 38400 Baud (8 bit, 1 start bit, 2 stop bit, no parity)

Softwares de Controle

LabVIEW, MATLAB ou outro software capaz de se comunicar com uma RS232

Figura 3.7 Especificaes tcnicas do Khepera

Nas Figuras 3.8 e 3.9, possvel identificar algumas das principais partes que compem o rob Khepera.

CAPTULO 3. A PLATAFORMA KHEPERA

45

Figura 3.8 Vista lateral do rob Khepera (adaptado de [40])

Figura 3.9 Vista superior e inferior do rob Khepera (adaptado de [40])

3.5 Modos de Configurao


Dependendo do uso do rob (controle remoto, downloading, teste, demonstrao e etc.), pode-se selecionar o mdulo especfico atravs da configurao apropriada do respectivo modo de funcionamento. Esta configurao feita no prprio rob (ver Figura 3.10) por intermdio de trs conectores.

CAPTULO 3. A PLATAFORMA KHEPERA

46

Figura 3.10 Modos de funcionamento do Khepera (adaptado de [40]) Ao todo, esto disponveis oito modos de funcionamento para o rob [40]: Modo 0 (modo de demonstrao): executa o algoritmo do veculo de Braitenberg (algoritmo de desvio de obstculos); Modo 1: modo para o controle do rob atravs do protocolo de comunicao serial RS232 com velocidade de 9600 Baud; Modo 2: modo para o controle do rob atravs do protocolo de comunicao serial RS232 com velocidade de 19200 Baud; Modo 3: modo para o controle do rob atravs do protocolo de comunicao serial RS232 com velocidade de 38400 Baud; Modo 4 (modo de aplicao do usurio): inicia um aplicativo armazenado na EEPROM; Modo 5 (modo downloading): neste modo, o rob espera um programa ser transferido e o executa quando totalmente descarregado (formato serial, 9600 Baud); Modo 6: igual ao modo 5, mas com uma taxa de 38400 Baud; Modo 7: teste da funcionalidade do rob, na taxa de 9600 Baud.

3.6 Comandos MATLAB


A seguir fornecida a lista de comandos MATLAB para o rob Khepera, organizadas por funo, e obtida de [38]. Comandos de Demonstraes kProximityG(ref) ! Plotagem grfica na forma polar ou de histograma da leitura dos sensores de proximidade;

CAPTULO 3. A PLATAFORMA KHEPERA

47

kBraitenbergG(ref, gain) ! Demonstrao grfica do veculo de Braitenberg (o 'ganho' opcional);

Comandos de Sistema kopen([port, baud_rate, timeout]) ! abre a porta serial, suportando um baud rate de at 115200 bps; kcmd(ref, text_string) ! envia um comando ao Khepera por uma nica linha de comunicao; kcmd(ref, text_string, 1) ! envia um comando ao Khepera por vrias linhas de comunicao; kclose(ref) ! fecha a porta serial; kFlush(ref) ! esvazia o buffer. Isto til ao esquecer de inserir o parmetro 1 em um comando de vrias linhas de comunicao; Comandos de Informao kBios(ref) kBios(ref) ! mostra a verso da bios e do protocolo; [a,b] = kBios(ref) ! no mostra os valores, mas atribui os valores para a e b;

kList(ref) ! lista o mdulo da ROM disponvel; kTeam(ref) ! lista o K-Team;

Comandos dos Sensores kAmbient(ref) ! retorna o valor lido pelos sensores de luz ambiente em um vetor de 8 elementos; kProximity(ref) ! retorna o valor lido pelos sensores de proximidade em um vetor de 8 elementos; Comandos dos Motores/Encoders kGetStatus(ref) ! retorna um vetor de 6 elementos descrevendo o estado dos controladores dos motores; kStatus(ref) ! mostra uma descrio textual do estado dos controladores dos motores; kGetEncoders(ref) ! retorna um vetor de 2 elementos do valor corrente dos encoders;

CAPTULO 3. A PLATAFORMA KHEPERA

48

kSetEncoders(ref, left, right) ! configura a posio dos encoders. Se os valores left e right no esto especificados, as posies so configuradas para zero; kSetPWM(ref, left, right) ! configura a velocidade dos motores usando a faixa de valores no PWM (-255...+255);

Controle de Velocidade kGetSpeed(ref) ! retorna um vetor de 2 elementos da velocidade corrente; kSetSpeed(ref, left, right) ! configura a velocidade dos motores, ajustada pelo controlador PID; kStop(ref) ! para o Khepera (configura a velocidade para zero); kSetSpeedPID(ref, Kp, Ki, Kd) ! configura os coeficientes PID do controlador de velocidade. Se os valores no so especificados, eles adquirem o default (3800, 800, 100); Controle de Posio kMoveTo(ref, left, right) ! utiliza o controlador de posio para mover para a posio desejada dos encoders incrementais; kSetPositionPID(ref, Kp, Ki, Kd) ! configura os coeficientes PID do controlador de posio. Se os valores no so especificados, eles adquirem o default (3000, 20, 4000); kSetProfile(ref, velLeft, accLeft, velRight, accRight) ! configura os perfis de velocidade e acelerao do controlador de posio. Se os valores no so especificados, eles adquirem o default (vel=20, acc=64); Outros Comandos kGetAnalog(ref, channel) ! l a entrada de um canal analgico atravs de um conversor A/D de 10 bits; kLED(ref, n, action) ! configura os dois LEDs, onde 'n' e/ou 'action' podem ser vetores. Exemplo: kLED(ref, [0 1], [2 0]) mudar de estado o LED0 e desligar o LED1; kReadByte(ref, address) ! l um byte proveniente do barramento de extenso; kWriteByte(ref, address) ! escreve um byte no barramento de extenso; kTurret(ref, turretID, textString) ! envia um comando no formato string para um mdulo de extenso;

CAPTULO 3. A PLATAFORMA KHEPERA

49

kTurretBios(ref, turretID) ! mostra a verso da bios do mdulo de extenso; kBraitenberg(ref, gain) ! demonstra um veculo de Braitenberg. Se o ganho no for especificado, um valor default de 0,7 utilizado.

Obs.: Todos estes comandos compem um pacote de arquivos designado de kMatlab e se encontra disponvel em [38] para downloading. Para finalizar, fornecido um quadro com a equivalncia entre os comandos Khepera (Apndice A do Manual do Usurio [40]) e kMatlab (comandos MATLAB para o rob Khepera) (ver Figura 3.11):

Comando Khepera A - Configure B - Read software version C - Set a position to be reached D - Set speed E - Read speed F - Configure the position PID controller

Equivalente kMatlab kSetSpeedPID kBios kMoveTo kSetSpeed kGetSpeed kSetPositionPID kSetEncoders kGetEncoders kGetAnalog kSetProfile kGetStatus kLED kProximity kAmbient kSetPWM kTurret kReadByte kWriteByte

G - Set position to the position counter H - Read position I J - Read A/D input - Configure the speed profile controller

K - Read the status of the motion controller L - Change LED state

N - Read proximity sensors O - Read ambient light sensors P - Set PWM (pulse width modulation) T - Send a message to an extension turret

R - Read a byte on the extension bus W - Write a byte on the extension bus

Figura 3.11 Equivalncia entre os comandos Khepera e kMatlab

CAPTULO 3. A PLATAFORMA KHEPERA

50

3.7 Consideraes Finais


Neste captulo foi possvel observar as principais caractersticas tcnicas e operacionais da plataforma Khepera, dentre as quais: dimenses, formas de comunicao, ambientes de programao, sensores e controle dos motores. Apresentou-se ainda, uma lista contendo os comandos em MATLAB, relativos a programao do rob. Tudo isto, pois, nos captulos seguintes sero realizados experimentos com o Khepera e simulaes baseadas em suas caractersticas. No prximo captulo ser estudado o problema da estimao da posio e orientao empregando a odometria.

Captulo 4

Odometria
Considerando-se que o objetivo principal deste trabalho o de reduzir os erros de posicionamento e orientao de robs mveis (sobretudo nos robs de trao diferencial, como o caso do Khepera), imprescindvel estud-los em detalhe. Vrias tcnicas esto disponveis para a obteno da posio e da orientao de robs mveis, utilizando encoders, viso computacional, sonar e scanner a laser [19]. Uma descrio detalhada destas e de outras tcnicas pode ser encontrada em [7][17] e [18]. A Figura 4.1 apresenta um quadro comparativo das principais tcnicas utilizadas em posicionamento de robs mveis, identificando suas vantagens e desvantagens [21]. Apesar da existncia de vrias tcnicas sofisticadas de posicionamento tais como as que puderam ser observadas na Figura 4.1, uma das mais utilizadas em robtica mvel, devido as suas caractersticas de simplicidade de implementao e baixo custo ainda a odometria. A odometria um mtodo de estimao de posio e orientao que consiste no clculo da posio atual de um rob mvel, integrando a distncia percorrida, a qual medida por intermdio da rotao de suas rodas [21]. A base deste mtodo a utilizao de encoders incrementais, que acoplados ao eixo das rodas do rob, realizam a leitura dos pulsos de revoluo das mesmas. Embora seja um mtodo clssico e de boas caractersticas, o mesmo no adequado para trajetrias longas, onde os erros vo se acumulando (ver Figura 4.2). Estes erros so classificados em: erros de ordem sistmica e erros de ordem no-sistmica, que so discutidos na Seo 4.2.

CAPTULO 4. ODOMETRIA
Sist. de Pos. Odometria Navegao Inercial Bssola Giroscpio Sonar Descrio posio determinada pela integrao da informao da velocidade sensoriamento das mnimas aceleraes em todas as direes e integrao do tempo para se derivar a velocidade e posio medida da direo baseada na leitura do campo magntico terrestre leitura da direo baseada nas propriedades inerciais da alta rotao do motor medida da distncia a partir do tempo de reflexo de pulsos ultra-snicos Vantagens baixo custo sem necessidade de contato com o solo baixo custo no acum. o tempo insensvel a anomalias magnticas baixo custo Desvantagens distncia acumulada tempo acumulado alto custo sensib. magntica preciso limitada tempo acumulado alto custo lento alcance limitado sem focalizao ecos alcance limitado alto custo setup externo

52

Triangulao Laser Landmarks Viso Estreo GPS

medida angular da reflexo do raio de luz emitido medida do tempo decorrido ou defasagem do pulso de luz emitido medida da distncia e/ou ngulo entre o rob e marcos artificiais medida da distncia atravs da comparao de duas imagens Sistema de Posicionamento Global baseado em satlite

baixo custo rapidez rapidez posio absoluta no necessita de setup externo posio absoluta

algoritmo complexo no confivel monitoramento espacial

Figura 4.1 Descrio comparativa dos sistemas de posicionamento (adaptado de [21])

Figura 4.2 Erros acumulados pela odometria (adaptado de [17])

4.1 Clculo Odomtrico a partir do Modelo Cinemtico


A cinemtica o estudo da geometria do movimento. Este estudo relaciona deslocamento, velocidade, acelerao e tempo, sem se preocupar com a causa do movimento [25]. Para a anlise cinemtica do Khepera e posterior clculo da odometria, considera-se a mesma descrio feita para o rob genrico do Captulo 2 deste trabalho, ou seja, assume-se

CAPTULO 4. ODOMETRIA

53

que o Khepera seja um corpo rgido, cujas rodas no sofrem deformao ou derrapagens e que se movimentam apenas no plano horizontal. A posio e a orientao do rob so descritas em relao a um sistema de coordenadas inercial {Xb, Yb} com origem denotada por O, enquanto que um sistema de coordenadas {Xm, Ym} com origem P associado ao corpo do rob, conforme mostra a Figura 4.3.

Figura 4.3 - Coordenadas de postura (posio e orientao) Desta forma, as coordenadas de postura do rob descritas no sistema {Xb, Yb} so dadas pelo vetor:

& x# = $ y! $ ! $ ! % " onde: x e y representam a posio do rob, e

(4.1)

representa a orientao do rob em relao ao eixo Xb.

CAPTULO 4. ODOMETRIA

54

Por se tratar de um rob de configurao trao-diferencial, o Khepera apresenta apenas dois graus de liberdade, isto , as posies angulares das rodas. Assim, possvel realizar apenas dois movimentos independentes: a translao retilnea e a rotao pura. A realizao de qualquer outro tipo de movimento poder ser obtida pela combinao destes dois. A anlise do comportamento cinemtico ser iniciada pela roda, pois ela o elemento responsvel pela movimentao do rob. O tipo de roda utilizado no Khepera a convencional fixa, que obedece seguinte relao: Vr = r R onde: Vr a velocidade linear da roda; (4.2)

r sua velocidade angular e


R o seu raio. A Equao (4.2) facilmente deduzida a partir da Figura 4.4.

Figura 4.4 - Velocidades angular e linear da roda O restante do modelo cinemtico do rob Khepera obtido com base na Figura 4.5, onde P e P representam respectivamente as posies (x, y) e (x, y) do centro geomtrico do rob nos instantes t e t+t; Dr a distncia entre rodas e DP a distncia do centro do rob ao Centro Instantneo de Rotao (CIR); DE, DD e D so os deslocamentos das rodas esquerda, direita e do centro do rob no intervalo de discretizao, assim como VE, VD e V se referem s velocidades lineares da roda esquerda, direita e do centro do rob no mesmo intervalo e a variao do ngulo de orientao no tempo de discretizao.

CAPTULO 4. ODOMETRIA

55

Figura 4.5 - Modelo cinemtico Desta forma, possvel estabelecer a velocidade angular () do rob a partir da seguinte relao: VD VE Dr

(4.3)

e com base na Equao (4.2), pode-se reescrever a Equao (4.3) na forma: R ( D E ) Dr

(4.4)

onde D e E representam as velocidades angulares da roda direita e esquerda respectivamente.

CAPTULO 4. ODOMETRIA

56

Alm disso: VD + VE 2

V=

(4.5)

Fazendo uso novamente da Equao (4.2): R ( D + E ) 2

V=

(4.6)

De acordo com a Figura 4.5, para movimentos incrementais, tem-se [21]:

@ x' = x + V cos t D ? y' = y + V sin t D' = + t >

(4.7)

@ x = V cos t D ? y = V sin t D = t > No limite quando t 0, a forma diferencial obtida: ! & x # &V cos # ! = $ y ! = $V sin ! $ !! $ ! ! $ ! $ ! % " % " ou, ainda &cos 0# &V # ! = $ sin 0! $ ! $ ! $ 0 1! % " % "

(4.8)

(4.9)

(4.10)

CAPTULO 4. ODOMETRIA

57

Substituindo as Equaes (4.3) e (4.5) na Equao (4.10), finalmente obtm-se:

&cos 0# &V D + V E # $ 2 ! ! = $ sin 0! $V V ! $ ! D E ! $ 0 1! $ D % " $ ! r % " Os deslocamentos lineares das rodas esquerda e direita so dados pelas equaes:

(4.11)

D 9 < D E = : D P r 7 2 8 ;

(4.12)

D 9 < D D = : D P + r 7 2 8 ;

(4.13)

Por outro lado, a Equao (4.14) fornece o deslocamento do centro do rob e a Equao (4.15) o ngulo desenvolvido com relao ao CIR no intervalo [t, t+t]: D D + D E 2 D D D E Dr

D =

(4.14)

(4.15)

Outra forma de se obter o deslocamento linear, muito usada para estimar posio e orientao, consiste em contar a quantidade de pulsos obtidos a partir dos encoders de cada roda em um certo intervalo de tempo. A partir do conhecimento do raio das rodas (R) e do nmero de pulsos por revoluo das rodas nos encoders (Nr), pode-se calcular o deslocamento linear das rodas no intervalo [t, t+t] atravs de [17][19]:

CAPTULO 4. ODOMETRIA

58

D E =

2 R N pE Nr 2 R N pD Nr

(4.16)

D D =

(4.17)

onde NpE e NpD correspondem aos nmeros de pulsos obtidos nos encoders das rodas direita e esquerda no intervalo de tempo discriminado.

4.2 Definio dos Erros de Odometria


Erro de odometria a diferena entre a posio sobre a qual o rob pensa estar (estimado por clculo) e a posio atual (freqentemente medida por dispositivos externos) [21]. Como visto no incio deste captulo, a odometria no um mtodo adequado para trajetrias longas, uma vez que os erros vo sendo acumulados. Estes erros podem ser isolados e divididos em duas classes [17][19][21]: 1. Erros sistemticos: so causados basicamente por incertezas nos parmetros geomtricos utilizados para calcular a posio e orientao do rob. Para robs de trao diferencial, as principais causas dos erros sistemticos so: a) Dimetro das rodas desigual e/ou diferente do valor nominal; b) Desalinhamento das rodas; c) Distncia entre rodas diferente do valor nominal; d) Incerteza sobre o ponto de contato da roda. Os erros sistemticos so graves, porque so fonte constante de erros aditivos. Entretanto, atravs de procedimento de calibrao adequado, como o que ser visto mais adiante no decorrer deste captulo, estes erros podem ser reduzidos a valores aceitveis (dependendo da aplicao, das dimenses do rob e do comprimento da trajetria). Em solos regulares, contribuem mais fortemente para o erro total do que os erros no-sistemticos.

CAPTULO 4. ODOMETRIA

59

2. Erros no-sistemticos: so caractersticos da relao do rob com o meio ambiente. As principais causas dos erros no-sistemticos so: a) escorregamento das rodas (solo escorregadio, grandes aceleraes do rob, rotaes rpidas); b) imperfeies no solo (rugoso ou com obstculos inesperados); c) outros fenmenos similares. Em solos irregulares, estes erros podem ser dominantes.

4.3 Erros Sistemticos em Robs com Trao Diferencial


Considerando que no ocorram erros de ordem no-sistmica, dois erros dominantes podem ser observados [23]: a) rodas com dimetros diferentes: a maioria dos robs mvel utiliza pneus feitos de borracha como forma de possibilitar o tracionamento. Este material de difcil construo quando se requer a mesma forma (dimetros iguais) e de rpido desgaste (considerando que cada roda esteja submetida a cargas diferentes). Ambos os efeitos podem provocar substanciais erros de odometria, que so dependentes da relao: D RD D RE

Ed =

(4.18)

onde DRD e DRE so os dimetros atuais das rodas direita e esquerda respectivamente. Para valores nominais, Ed = 1. b) incerteza quanto distncia entre rodas: define-se a distncia entre rodas ( D r ) como a distncia compreendida entre os pontos de contato que as duas rodas do rob fazem com o solo. A incerteza desta distncia pode provocar diferenas na contagem dos encoders, e tem efeito somente quando o rob submetido a trajetos curvilneos ou rotaes em torno de seu prprio eixo (ver Equao 4.3). Esta incerteza dependente da relao:

CAPTULO 4. ODOMETRIA

60

E Dr =

Dr , a Dr , n

(4.19)

onde

Dr , a

Dr , n

representam as distncias entre rodas atual e nominal,

respectivamente. Para valores nominais, E Dr = 1. Na Figura 4.6, possvel observar um destes erros (provocado pelos dimetros desiguais das rodas). Ela apresenta um rob de trao diferencial tentando executar um arco de circunferncia (de um ngulo ) em torno de seu prprio eixo de rotao (C). Para isto, ambas as rodas devem girar com a mesma velocidade. Porm, como seus dimetros so diferentes, e suas velocidades lineares so proporcionais aos dimetros atuais, DRD e DRE, o CIR (Centro Instantneo de Rotao), representado por O, no coincidir com o ponto central (C) do rob. Ao ser completado o arco, o ponto C se mover para C, provocando um deslocamento lateral. Entretanto, se o rob executar uma rotao completa em torno de seu prprio eixo, este deslocamento lateral poder ser ignorado, pois C e C ficaro novamente sobrepostos.

Figura 4.6 Conseqncia da diferena de dimetros das rodas (adaptado de [23])

CAPTULO 4. ODOMETRIA

61

Pode-se, agora, derivar a relao existente entre os dimetros atuais DRD e DRE e o ngulo de rotao atual , de vital importncia para a reduo dos erros de odometria. A partir da Figura 4.6, obtm-se rD D RD = rE D RE onde rD e rE so as distncias do CIR roda direita e esquerda, respectivamente. Segundo as condies normais de manobra, o CIR estar sempre sobre o eixo do percurso ou ao longo da extenso imaginria alm das rodas (ver Figura 2.16 Formas de alocao do CIR ); ento Dr = rD + rE Combinando as Equaes (4.20) e (4.21), e resolvendo para rE, tem-se D RE Dr D RD + D RE (4.21)

(4.20)

rE =

(4.22)

O deslocamento curvilneo da roda esquerda nas condies nominais dado por

D E , n = DRE ,n N RE
onde DRE,n o dimetro nominal e NRE o nmero de rotaes da roda esquerda.

(4.23)

Ainda, em condies nominais, a roda esquerda deveria rotacionar em torno de C com um ngulo n dado por

n =

DE ,n Dr 2

2 DRE ,n N RE Dr

(4.24)

CAPTULO 4. ODOMETRIA

62

Supondo que a roda direita seja menor do que a roda esquerda, a rotao ocorrer em torno de O e o ngulo correspondente ao deslocamento da roda esquerda ser

DE DRE N RE = rE rE

(4.25)

Resolvendo a Equao (4.24) para NRE e substituindo na Equao (4.25), o ngulo passa a ser expresso em funo de n, isto :

n Dr D RE 2 rE D RE , n

(4.26)

onde, finalmente, substitui-se a Equao (4.22) para obter:

= n

D RD + D RE 2 D RE , n

(4.27)

Para interpretar estes resultados mais facilmente, define-se a mdia do dimetro atual das rodas (DM) como:

DM =

D RD + D RE 2

(4.28)

e substitui-se a Equao (4.28) na Equao (4.27), obtendo-se:

DM D RE ,n = n

(4.29)

A partir da Equao (4.29) e da Figura 4.6, trs importantes concluses podem ser estabelecidas [23]:

CAPTULO 4. ODOMETRIA

63

1. A diferena no dimetro das rodas no ocasiona erro de orientao durante as curvas, desde que DM = DRE,n. Em outras palavras, qualquer que seja Ed, = n se DM = DRE,n; 2. O erro de orientao depende da mdia atual do dimetro DM, caso DM DRE,n. Isto : se DM > DRE,n, ento o rob far uma curva maior do que a nominal ( > n); se DM < DRE,n, ento o rob far uma curva menor do que a nominal ( < n); 3. A diferena no dimetro das rodas (Ed) provoca erro de posicionamento, fazendo com que a posio (x, y) do ponto central C mova-se para C. Caso o rob execute uma rotao completa em seu prprio eixo, este erro pode ser ignorado, pois C retornar para C.

4.4 Mtodo UMBmark


Um mtodo muito utilizado para avaliar, comparar e corrigir erros de odometria para robs mveis de trao diferencial o UMBmark1 University of Michigan Benchmark [17][18][22][23][24]. Este mtodo visa corrigir somente os erros sistemticos, enquanto que os no-sistemticos podem ser minimizados por uma variante do mtodo chamado de extended UMBmark [22]. Neste trabalho, apenas a correo dos erros sistemticos ser abordada. A proposta do mtodo UMBmark submeter o rob a trajetrias quadrangulares (sentido horrio e anti-horrio), calcular os erros de posicionamento ocorridos e ajustar alguns parmetros do modelo cinemtico (distncia entre rodas e seus dimetros), atravs da alterao da constante de proporcionalidade existente entre os pulsos lidos pelos encoders e a distncia efetivamente percorrida pelas rodas do rob. Portanto, o mtodo consiste de duas etapas [24]: 1. Avaliao Experimental; 2. Anlise dos Resultados.

Mtodo criado e desenvolvido nos laboratrios de Robtica Mvel da Universidade de Michigan em 1994, pelos Drs. Johann Borenstein e Liqiang Feng, ambos do Depto. de Engenharia Mecnica daquele centro.

CAPTULO 4. ODOMETRIA

64

4.4.1 Avaliao Experimental


A primeira etapa consiste em fazer com que o rob percorra um caminho quadrado diversas vezes e nos dois sentidos. Devido aos erros de odometria presentes, a posio final do rob no coincidir necessariamente com sua posio inicial (Figura 4.7).

Figura 4.7 Erro de postura do rob para uma trajetria quadrada (adaptado de [22]) Esta diferena expressa pelos seguintes erros:

x = x abs x calc

(4.30) (4.31) (4.32)

y = y abs y calc

= abs calc
onde

x , y ,

= erros de posio e orientao devidos odometria;

xabs , y abs , abs = posio e orientao absolutas do rob;

xcalc , y calc , calc = posio e orientao do rob, calculadas por odometria.

CAPTULO 4. ODOMETRIA

65

Este experimento realizado cinco vezes no sentido horrio e cinco vezes no sentido antihorrio [24]. Ao realiz-lo em ambos os sentidos, os erros de odometria so evidenciados; do contrrio, poderiam dar a falsa impresso de que os parmetros cinemticos do rob estariam corretos, uma vez que os erros devidos a Ed e E Dr podem se cancelar, como mostra a Figuras 4.8. Entretanto, quando o mesmo experimento realizado no outro sentido, os erros devidos a Ed e E Dr se somam (Figura 4.9). Por outro lado, se o experimento fosse realizado em apenas um sentido, poderia ocorrer o mesmo erro de posicionamento, devido apenas a Ed ou a E Dr , como se observa na Figura 4.10.

Figura 4.8 Probabilidade de cancelamento de Ed e E Dr , quando o experimento realizado em apenas um sentido (adaptado de [17]) Com relao a Figura 4.8 e as seguintes (Figuras 4.9 e 4.10), nas curvas, o ngulo (erro de orientao devido a Ed) assume o valor de (erro de orientao devido a E Dr ), como forma de simplificar a demonstrao. Mais adiante, no decorrer deste captulo, ser discutida em detalhes a relao entre e e suas conseqncias para os erros de odometria.

CAPTULO 4. ODOMETRIA

66

Figura 4.9 Os erros devidos a Ed e E Dr se somam, quando o experimento realizado no outro sentido (adaptado de [17])

Figura 4.10 Ed e E Dr podem provocar o mesmo erro de posicionamento, quando o experimento realizado em apenas um sentido (adaptado de [17])

CAPTULO 4. ODOMETRIA

67

4.4.2 Anlise dos Resultados


A anlise dos resultados realizada em quatro etapas: 1) Erros de Posicionamento; 2) Erros de Orientao; 3) Obteno de E d e E Dr em Funo dos Erros de Orientao; e 4) Fator de Correo. 1) Erros de Posicionamento Aps a realizao do experimento, tm-se, portanto, cinco pontos de erro de posicionamento (xi,H, yi,H) para o sentido Horrio (H), e cinco pontos de erro de posicionamento (xi,AH, yi,AH) para o sentido Anti-Horrio (AH). Se estes pontos forem plotados em um mesmo grfico obtm-se algo semelhante Figura 4.11.

Figura 4.11 Resultados tpicos do mtodo UMBmark (adaptado de [23]) Percebe-se que a posio final do rob ocupa duas reas distintas. O centro de gravidade da rea formada pelo agrupamento de pontos no sentido horrio definido por xc.g.,H e yc.g.,H, calculados a partir de:

CAPTULO 4. ODOMETRIA

68

x c. g , H = y c. g , H

1 n xi,H n i =1

(4.33a)

1 n = yi , H n i =1

(4.33b)

Semelhantemente, no sentido anti-horrio, o centro de gravidade obtido de:

xc. g , AH = yc. g , AH =

1 n xi, AH n i =1 1 n yi, AH n i =1

(4.34a)

(4.34b)

Este procedimento faz com que os erros no-sistemticos presentes (tais como, erros de posicionamento inicial do rob, derrapagens, imperfeies do solo e outros, verificados pelo espalhamento da posio final em ambos os sentidos na Figura 4.8) sejam reduzidos, permanecendo somente os erros sistemticos. O erro de posicionamento absoluto do rob a partir da origem pode ser obtido atravs de

rc. g ., H = ( x c. g ., H ) 2 + ( y c. g ., H ) 2 para o sentido horrio e de

(4.35)

rc. g ., AH = ( x c. g ., AH ) 2 + ( y c. g ., AH ) 2 para o sentido anti-horrio.

(4.36)

Assim, o maior valor entre rc.g.,H e rc.g.,AH definido como a medida da preciso de odometria dos erros sistemticos [17][22]: E max ., sist . = max(rc. g ., H ; rc. g ., AH ) (4.37)

CAPTULO 4. ODOMETRIA

69

A razo de no ser usada a mdia entre rc.g.,H e rc.g.,AH que, em aplicaes prticas, interessa apenas saber qual a maior probabilidade do erro de odometria. Ainda, o erro de orientao no se encontra explicitado na Equao (4.37), porque se considera que todos os erros sistemticos de orientao esto embutidos no erro de posio final [22]. Em outras palavras, desde que a trajetria possua lados iguais e comprimentos fixos, os erros sistemticos de orientao traduzem-se imediatamente em erros de posicionamento [22], como pode ser observado nas Equaes (4.43), (4.47), (4.51) e (4.55). 2) Erros de Orientao Seguindo o processo de anlise do mtodo UMBmark, duas novas caractersticas podem ser definidas. Estas caractersticas so chamadas de erros do Tipo A e erros do Tipo B, relativas orientao do rob [24]: Erros do Tipo A: erro de orientao que reduz ou aumenta a quantidade total de rotao do rob durante o experimento em ambos os sentidos; Erros do Tipo B: erro de orientao que aumenta a quantidade total de rotao do rob durante o experimento em um sentido, mas reduz no outro. Estas de definies podem ser descritas em forma matemtica como segue: O erro do Tipo A se

total , H < n e total , AH < n , ou se


total , H > n e total , AH > n
O erro do Tipo B se

total , AH > n mas total , H < n , ou se

total , AH < n mas total , H > n


onde

n = 4 x 90 = 360 o ngulo nominal total de rotao;

total , H

AH

=4

= 4

( 90 - ) o ngulo de rotao total para erros do Tipo A

(ver Figura 4.12);

CAPTULO 4. ODOMETRIA

70

total , H = 4 x (90 - ) o ngulo de rotao total para erros do Tipo B no sentido


horrio (ver Figura 4.13);

total , AH = 4 x (90 + ) o ngulo de rotao total para erros do Tipo B no sentido


anti-horrio (ver Figura 4.13). No entanto, quando da movimentao do rob, erros do Tipo A e B ocorrem juntos. O problema, portanto, consiste em distingu-los e encontrar os agentes causadores, assim como elaborar um fator de correo para ambos a partir do erro de posicionamento. A distino entre os dois tipos de erro e seus agentes causadores pode ser facilmente obtida a partir da anlise das Figuras 4.12 e 4.13.

Figura 4.12 Erros do Tipo A (adaptado de [24])

Figura 4.13 Erros do Tipo B (adaptado de [24])

CAPTULO 4. ODOMETRIA

71

Da anlise das Figuras 4.12 e 4.13, pode-se concluir que os erros do Tipo A (denotados por ) ocorrem devido diferena da distncia atual e nominal entre as rodas do rob, ao passo que os erros do Tipo B (denotados por ) ocorrem devido diferena de seus dimetros atuais. Para se obter os valores de e , preciso fazer algumas consideraes [22]: 1. O rob inicia a trajetria em (x0, y0) com posio (0, 0) e a finaliza em (x4, y4); 2. So admitidas as seguintes aproximaes para pequenos ngulos: Lsin L; Lsin2 2L; Lsin3 3L; Lcos L; Lcos2 L; Lcos3 L; onde L o comprimento de cada lado da trajetria quadrada e o erro de orientao causado por Ed ou E Dr e dado em radianos. Mediante as consideraes adotadas, os erros dos Tipos A e B para ambos os sentidos so obtidos como segue: a) Determinao do posicionamento final (x4, y4) em funo dos erros do Tipo A no sentido Horrio: x1 = x0 + L; y1 = y0; x2 = x1 + Lsin L + L; y2 = y1 - Lcos - L; x3 = x2 - Lcos2 L; y3 = y2 - Lsin2 - L - 2L; (4.40a) (4.40b) (4.41a) (4.41b) (4.42a) (4.42b) (4.39) (4.38)

CAPTULO 4. ODOMETRIA

72

x4 = x3 - Lsin3 - 2L; y4 = y3 + Lcos3 - 2L;

(4.43a) (4.43b)

b) Determinao do posicionamento final (x4, y4) em funo dos erros do Tipo A no sentido Anti-Horrio: x1 = x0 + L; y1 = y0; x2 = x1 + Lsin L + L; y2 = y1 + Lcos L; x3 = x2 - Lcos2 L; y3 = y2 + Lsin2 L + 2L; x4 = x3 - Lsin3 - 2L; y4 = y3 - Lcos3 2L; (4.44a) (4.44b) (4.45a) (4.45b) (4.46a) (4.46b) (4.47a) (4.47b)

c) Determinao do posicionamento final (x4, y4) em funo dos erros do Tipo B no sentido Horrio: x1 = x0 + Lcos(/2) L; y1 = y0 + Lsin(/2) L/2; x2 = x1 + Lsin(3/2) L + 3L/2; y2 = y1 - Lcos(3/2) L/2 - L; x3 = x2 - Lcos(5/2) 3L/2; y3 = y2 - Lsin(5/2) - L2 - L; x4 = x3 - Lsin(7/2) - 2L; y4 = y3 + Lcos(7/2) - 2L; (4.48a) (4.48b) (4.49a) (4.49b) (4.50a) (4.50b) (4.51a) (4.51b)

CAPTULO 4. ODOMETRIA

73

d) Determinao do posicionamento final (x4, y4) em funo dos erros do Tipo B no sentido Anti-Horrio: x1 = x0 + Lcos(/2) L; y1 = y0 + Lsin(/2) L/2; x2 = x1 - Lsin(3/2) L - 3L/2; y2 = y1 + Lcos(3/2) L/2 + L; x3 = x2 - Lcos(5/2) - 3L/2; y3 = y2 - Lsin(5/2) - 2L + L; x4 = x3 + Lsin(7/2) 2L; y4 = y3 - Lcos(7/2) - 2L; (4.52a) (4.52b) (4.53a) (4.53b) (4.54a) (4.54b) (4.55a) (4.55b)

Agora, somando-se os erros dos Tipos A e B (pois estes ocorrem juntos) finais para x4 em ambos os sentidos: x4,H: -2L + (- 2L) = -2L( + ) = xc.g., H x4,AH: -2L + 2L = -2L( - ) = xc.g., AH E da subtrao da Equao (4.57) pela Equao (4.56) chega-se a: -4L = xc.g., H - xc.g., AH e isolando : (4.58) (4.57) (4.56)

(x

c. g ., H

x c. g ., AH ) 180 " 4L

para em graus

(4.59)

CAPTULO 4. ODOMETRIA

74

De modo similar para y:

(y

c. g ., H

+ y c. g ., AH ) 180 " 4L

para em graus

(4.60)

Agora, somando-se as Equaes (4.56) e (4.57) obtm-se:

-4L = xc.g., H + xc.g., AH e isolando :

(4.61)

(x

c. g ., H

+ x c. g ., AH ) 180 " 4L

para em graus

(4.62)

De modo similar para y:

(y

c. g ., H

y c. g ., AH ) 180 " 4L

para em graus

(4.63)

3) Obteno de E d e E Dr em Funo dos Erros de Orientao Usando relaes geomtricas (ver Figura 4.14), o raio da curvatura Rc do trajeto curvilneo pode ser encontrado a partir do tringulo ABM, onde M o CIR (Centro Instantneo de Rotao do rob), L2 sin( 2)

Rc =

(4.64)

CAPTULO 4. ODOMETRIA

75

Figura 4.14 Raio Rc da curvatura devido a Ed (adaptado de [22]) Uma vez que o raio Rc da curvatura tenha sido calculado, fica fcil determinar a relao do raio (Ed) entre as duas rodas D RD Rc + Dr 2 = D RE Rc D r 2

Ed =

(4.65)

Semelhantemente, E Dr pode ser calculado (desde que a distncia entre rodas Dr seja diretamente proporcional a quantidade atual da rotao (Equao (4.15)) usando a relao a seguir, Dr , a 90
"

Dr , n 90 " 90 " Dr ,n 90 " 90 " 90 "

(4.66) (4.67) (4.68)

Dr , a = Dr , a Dr ,n =

onde por definio da Equao (4.19), chega-se finalmente a

E Dr =

90 " 90 "

(4.69)

CAPTULO 4. ODOMETRIA

76

4) Fator de Correo A correo do erro E Dr trivial: a distncia entre rodas Dr pode ser redefinida em software conforme a Equao (4.67). No entanto, a correo para o erro Ed um pouco mais complexa: aps a realizao do experimento UMBmark, pode-se obter os fatores de correo das rodas a partir do conhecimento de Ed (Equao (4.65)). Entretanto, quando se aplica um fator de compensao, necessrio certificar-se de que no haver mudana no dimetro mdio atual das rodas DM (Equao (4.28)), a no ser que este parmetro tenha que ser recalibrado [22][24]. Isto, s se faz necessrio, caso DM seja consideravelmente diferente do dimetro nominal das rodas Dn, acarretando em uma terceira e potencial fonte de erro. Este erro, denominado de erro de escala Ee, pode ser facilmente medido e corrigido [22]: programa-se o rob para que percorra uma reta de comprimento nominal Ln, porm, na presena de Ee, uma distncia atual La diferente da desejada ser obtida. Portanto, La Ln

Ee =

(4.70)

agora, aplicando este fator a Dn tem-se que D M = E e Dn (4.71)

Desta forma, DM permanecer imutvel e considerado como um valor constante, desde o incio da realizao do mtodo UMBmark. Assim, com base nas Equaes (4.28) e (4.18), 2 DM Ed + 1

D RE = e

(4.72)

CAPTULO 4. ODOMETRIA

77

D RD =

2 1 +1 Ed

DM

(4.73)

Sendo que dois parmetros podem ser obtidos a partir das Equaes (4.72) e (4.73), 2 Ed + 1

CE =

(4.74)

e CD = 2 1 +1 Ed (4.75)

e de seus inversos, obtm-se, finalmente, os fatores de correo das rodas esquerda e direita, respectivamente, 1 CE 1 CD

C RE = e C RD =

(4.76)

(4.77)

Estes dois fatores de correo podem ser implementados em software, reescrevendo as Equaes (4.16) e (4.17): 2 RM N pE C RE N r 2 RM N pD C RD N r

D E =

(4.78)

D D =

(4.79)

onde RM o raio mdio atual das rodas.

CAPTULO 4. ODOMETRIA

78

4.5 Aplicao do Mtodo UMBmark ao Khepera


Para a realizao do mtodo UMBmark com o rob Khepera, utilizou-se uma cartolina branca na qual foi desenhada uma trajetria quadrada de dimenses 30 x 30 cm, colocada sobre uma mesa plana. Com relao ao controle do Khepera utilizou-se o MATLAB. No Apndice A encontrado o programa UMBmark em MATLAB (adaptado ao Khepera) utilizado. Para garantir que o rob no derrapasse nas curvas de 90, adotou-se uma velocidade baixa (1 pulso/10 ms 8 mm/s), e nas retas (2 pulso/10 ms 16 mm/s). Aps a realizao do experimento (cinco vezes em cada sentido), os seguintes resultados foram obtidos: Tabela 4.1 Resultados obtidos aps a realizao do mtodo UMBmark para o Khepera
Sentido Horrio (H) Sentido Anti-Horrio (AH)

n
1 2 3 4 5

x (cm) y (cm) rc.g.,H (cm)


-2 -1,95 -1,9 -1,85 -1,8 -9,5 -1,9 -2 -1,8 -1,9 -1,7 -2 -1,9 -1,7 -9,2 -1,84 -2 -1,7 2,76 2,59 2,76 2,65 2,48 13,23 2,65 2,48 2,76

n
1 2 3 4 5

x (cm) y (cm) rc.g.,AH (cm)


-0,1 -0,15 0,05 0,05 0,25 0,1 0,02 -0,15 0,25 0 0,25 0,1 -0,2 -0,2 -0,05 -0,01 -0,2 0,25 0,10 0,29 0,11 0,21 0,32 1,03 0,21 0,10 0,32

Soma Mdia Min. Max.

Soma Mdia Min. Max.

Com os resultados da Tabela 4.1 e com o auxlio das Equaes (4.59), (4.62), (4.64), (4.65), (4.67), (4.69), (4.74) e (4.75), foram calculados os seguintes parmetros: = 0,9167 = 0,8976 Rc = 1875,02 cm Ed = 1,002831 E Dr = 1,010074 Dr,a = 5,353393 cm

CAPTULO 4. ODOMETRIA

79

CE = 0,998587 CD = 1,001413 Emax.,sist. = 2,65 cm considerando L = 30 cm; = 3,141593; e Dr,n = 5,30 cm. Agora, levando-se em conta os valores de CE e CD obtidos, pode-se calcular o raio e o dimetro atual de ambas as rodas do rob, considerando que o raio nominal Rn = 7,81 mm; e Ee = 1. Logo RM = Rn. Assim, RRE = CE . RM RRE = 7,798962 mm DRE = 2 . RRE DRE = 15,597924 mm RRD = CD . RM RRD = 7,821038 mm DRD = 2 . RRD DRD = 15,642076 mm Os dados da Tabela 4.1 (Khepera descalibrado) podem ainda ser plotados em um grfico, como pode ser observado na Figura 4.15 (4.83) (4.82) (4.81) (4.80)

CAPTULO 4. ODOMETRIA

80

Figura 4.15 Resultado do experimento UMBmark para o Khepera descalibrado Pela anlise da Figura 4.15 e dos resultados obtidos pode-se observar que o agrupamento dos mesmos no sentido anti-horrio apresenta um erro desprezvel enquanto que no sentido horrio perceptvel o erro de posicionamento. Isto ocorre porque quando o rob realiza o trajeto no sentido anti-horrio, os erros provenientes de Ed e E Dr praticamente se cancelam, pois e so de valores semelhantes (fenmeno semelhante a Figura 4.8, com a ressalva de que tem-se (90 - ) nas curvas), ou seja, total, AH = 4 x (90 + - ) 360. Quando o rob percorre o trajeto no outro sentido, os erros provenientes de Ed e E Dr se somam (fenmeno semelhante a Figura 4.9, com a ressalva de que tem-se (90 - ) nas curvas), ou seja, total, H = 4 x (90 - - ) = 4 x (90 - ( + )) 358. De posse dos valores de CE e CD e utilizando as Equaes (4.76) e (4.77), determina-se os fatores de correo das rodas CRD = 0,998589 CRE = 1,001415

CAPTULO 4. ODOMETRIA

81

A correo dos parmetros Ed e E Dr no Khepera feita da seguinte maneira: a) Correo de Ed: realiza-se a correo dos pulsos desejados (utilizando os fatores CRE e CRD) a partir dos pulsos lidos dos encoders das rodas ao final de cada marco artificial implementado em software, sendo que a quantidade de marcos (MA) dada por

< L 9 < L 9 M A : 7 : C RE RD 7 :u 7 : ud 7 ; d8 ; 8

(4.84)

onde ud a unidade de distncia do encoder e vale 0,0081786 cm (ver Figura 3.7 Especificaes tcnicas do Khepera Captulo 3) e L a distncia do trajeto a ser percorrido pelas rodas do rob. Ainda, com relao a MA vlida a seguinte observao: deve-se adotar valores inteiros, uma vez que MA representa a diferena da quantidade total de pulsos desejados dos encoders para o trajeto, anterior e aps a correo. Assim, considerando-se os valores anteriormente calculados MA 5,2 ! MA = 5 b) Correo de E Dr : redefine-se em software o valor de Dr para o Dr,a, ou seja, na equao

DE D =

D r 2 D r D r = = 2 4 2 4

(4.85)

onde DE/D a distncia linear a ser percorrida pelas rodas esquerda e direita a cada 90 ( = 2/4). E convertendo a Equao (4.85) para pulsos de encoder

CAPTULO 4. ODOMETRIA

82

PE D =

DE D ud

(4.86)

onde PE/D representa a quantidade de pulsos de encoder desejados para as rodas esquerda e direita, respectivamente. Aps as devidas correes em software, foram obtidos os seguintes resultados para o experimento UMBmark (Khepera calibrado): Tabela 4.2 Resultados obtidos aps a realizao da correo dos parmetros Ed e E Dr
Sentido Horrio (H) Sentido Anti-Horrio (AH)

n
1 2 3 4 5

x (cm) y (cm)
-0,2 -0,1 0 0,15 0,15 0 0,00 -0,2 0,15 0,05 0,25 0,15 0,1 0,3 0,85 0,17 0,05 0,3

rc.g.,H (cm)
0,21 0,27 0,15 0,18 0,34 1,14 0,23 0,15 0,34

n
1 2 3 4 5

x (cm) y (cm)
-0,05 0,1 -0,1 -0,05 0,05 -0,05 -0,01 -0,1 0,1 0,2 0,2 -0,1 -0,25 -0,25 -0,2 -0,04 -0,25 0,2

rc.g.,AH (cm)
0,21 0,22 0,14 0,25 0,25 1,08 0,22 0,14 0,25

Soma Mdia Min. Mx.

Soma Mdia min. Mx.

= 0,0048 = -0,0048 Rc = -360000,00 cm Ed = 0,999985 E Dr = 1,000053 Dr,a = 5,350284 cm CE = 1,000007 CD = 0,999993 Emax.,sist. = 0,23 cm

CAPTULO 4. ODOMETRIA

83

Os dados da Tabela 4.2 (Khepera calibrado), quando plotados em um grfico, adquirem a forma mostrada na Figura 4.16.

Figura 4.16 Resultado do experimento UMBmark para o Khepera calibrado Como se pode observar pela Figura 4.16, ocorreu uma melhora significativa quanto ao erro de posicionamento. Levando-se em conta o Emax.,sist, esta melhora foi da ordem de 11,5 vezes.

4.6 Consideraes Finais


Apresentou-se neste captulo uma tcnica para a estimao da posio e orientao, de baixo custo e fcil implementao, porm, inadequada para trajetrias longas. Com a utilizao de um mtodo de calibrao adequado como o UMBmark, os erros sistemticos de odometria puderam ser significativamente reduzidos, mediante a correo de alguns dos parmetros cinemticos do rob. No prximo captulo sero mostrados os resultados obtidos por simulao empregando o mtodo UMBmark (incluindo uma situao de controle) e experimentais para algumas trajetrias de interesse de modo a validar o estudo.

Captulo 5

Controle e Resultados
Este captulo tem por objetivo avaliar e corrigir os erros de posicionamento e orientao do rob Khepera sob determinadas situaes de interesse, que so: a) submeter e verificar o comportamento do rob perante o controle de rastreamento de trajetrias, e; b) dada uma tabela de valores desejados (orientao do rob, velocidade das rodas e distncia a ser percorrida por elas) fazer com que ele percorra algumas trajetrias especficas. Para tanto, resultados de simulao e experimentais se fazem necessrios e so apresentados como forma de validar o estudo. Quanto ao controle, ser utilizada a tcnica de controle de rastreamento considerando o modelo cinemtico de postura em coordenadas cartesianas (Equao (4.10)). Em outros trabalhos [19][25][33][44], possvel obter informaes em detalhes de uma srie de outras tcnicas, do ponto de vista do controle e para outros modelos de robs da Classe (2,0).

5.1 Rastreamento
O problema do rastreamento da trajetria para veculos no-holonmicos considerado da seguinte maneira: Da Figura 4.5 (ver Captulo 4), obtm-se a seguinte referncia [44]

! @ x r = Vr cos r D ! D y r = Vr sin r D! ? r = r D T D p r = ( xr y r r ) D r = (Vr r ) T >

(5.1)

CAPTULO 5. CONTROLE E RESULTADOS

85

onde pr representa o vetor de postura de referncia e vr o vetor das velocidades linear e angular de referncia. O objetivo encontrar um controlador suave de velocidade, c (t ) = f c (e p , r , K ) tal que lim( p r p ) = 0
t

onde ep, vr e K so, respectivamente, o erro de rastreamento (Equao (5.2)), o vetor de velocidade referencial e o vetor de ganho do controlador.

5.2 Controle de Robs Mveis segundo o Modelo Cinemtico de Postura em Coordenadas Cartesianas
Para o caso do rob mvel rastreando uma trajetria de referncia, como na Seo 5.1, considera-se o erro de postura ep, como a diferena entre a postura de referncia e a postura atual do rob, com a devida transformao de coordenadas [44]. Assim, e p = Te ( p r p ) & e1 # & cos sin 0# $e ! = $ sin cos 0! $ 2! $ ! $ e3 ! $ 0 0 1! % " % " & xr x # $ y y! $ r ! $ r ! % "

(5.2)

onde Te a matriz de rotao do sistema de coordenada inercial {Xb, Yb} em relao ao sistema de coordenada mvel do rob {Xm, Ym}, j definida no Captulo 4.

5.3 O Controlador de Rastreamento


Para o sistema de controle de rastreamento, tambm denominado de sistema de controle de Referncia-Modelo [45], as entradas do sistema so a postura de referncia pr e a velocidade de referncia r = (Vr r ) T , que so variantes no tempo. A sada do sistema a postura atual

CAPTULO 5. CONTROLE E RESULTADOS

86

p do rob. O objetivo deste controlador obter a convergncia do erro de postura ep para zero. A estrutura de controle utilizada pode ser visualizada pelo diagrama de blocos da Figura 5.1.

Figura 5.1 Diagrama de blocos do sistema de controle utilizado A regra de controle proposta para o rastreamento de veculos no-holonmicos tem a seguinte forma [33][44]

Vr cos e3 + k1e1 # &V # & c = $ ! = $ ! %" %r + k 2Vr e2 + k 3Vr sin e3 "

(5.3)

com c (t ) = f c (e p , r , K , t ) e K = (k1 k 2 k 3 ) T , sendo os parmetros de projeto kis (ganhos do controlador) todos positivos. A estabilidade assinttica da regra de controle da Equao (5.3) ocorre em torno de ep = 0 [44]. No projeto do controlador, os ganhos kis so ajustados experimentalmente de forma a se manter um compromisso entre a velocidade de resposta do controlador e o fato de ser implementvel [44]. Como pode ser observado na Equao (5.3), os ganhos afetam diretamente as velocidades de controle, sendo necessrio, portanto, ajust-los de forma a no ultrapassar os limites de hardware do rob. Outra considerao importante a se fazer no projeto de controladores de rastreamento implementveis com relao gerao da trajetria de referncia: as trajetrias devem ser contnuas e suaves para que o rastreamento seja possvel [44].

CAPTULO 5. CONTROLE E RESULTADOS

87

5.4 Resultados de Simulao


Para testar e validar tanto a forma de controle quanto a correo da odometria do Khepera, desenvolveu-se um simulador no SIMULINK. No Apndice B mostrada em detalhes toda a estrutura dos blocos do programa utilizado nas simulaes. A seguir so apresentados alguns dos resultados obtidos com o simulador, considerando os parmetros cinemticos e de controle estudados. A Figura 5.2 apresenta uma trajetria a ser seguida pelo rob com postura pr = (10 0 /4)T. A postura de partida do rob foi atribuda como p = (5 0 /2)T e os ganhos do controlador ajustados experimentalmente como K = (48 0,12 0,48)T. Para esta simulao, uma trajetria de referncia retilnea foi gerada, com Vr 1,6 cm/s e r = 0 rad/s. Para evitar descontinuidades na lei de controle, considerou-se um movimento retilneo uniformemente acelerado nos primeiros instantes da trajetria desejada como em [44]. Desta forma, o rob inicia seu movimento contnua e suavemente, resultando em uma lei que pode ser implementada e que respeita as aceleraes e velocidades mximas permitidas para o rob.

Figura 5.2 Khepera rastreando uma trajetria retilnea

CAPTULO 5. CONTROLE E RESULTADOS

88

Da Figura 5.2, pode-se verificar que o rob tende a adquirir a trajetria de referncia, mas, devido aos erros de odometria presentes (discutidos no Captulo 4), produz uma trajetria diferente da desejada, com erro acumulativo. Contudo, corrigindo alguns parmetros do modelo cinemtico do Khepera, o rob rastreia perfeitamente a trajetria desejada. Na Figura 5.3, so apresentados os sinais de controle para V, requeridos para que o rob atinja a trajetria desejada. Verifica-se que o rastreamento possvel de ser aplicado na prtica, uma vez que no supera os limites de velocidade do rob.

Figura 5.3 Sinais de controle para V Na Figura 5.4, a velocidade angular de controle do centro do rob apresentada. Depreende-se do seu comportamento a natureza retilnea da trajetria a ser seguida, pois se VE e VD tendem a se igualar (Figura 5.3), tende para zero. A Figura 5.5 apresenta os erros de postura, definidos na Equao (5.2).

CAPTULO 5. CONTROLE E RESULTADOS

89

Figura 5.4 Sinal de controle para

Figura 5.5 Erros de postura

CAPTULO 5. CONTROLE E RESULTADOS

90

Os erros de postura da Figura 5.5 levam em considerao o modelo cinemtico do rob com seus parmetros corrigidos. Pelo comportamento apresentado (estabilidade assinttica em torno de ep = 0) por estes erros, conclui-se que o desempenho do sistema de controle adotado adequado. O tempo de amostragem (passo de integrao da simulao) considerado nas simulaes foi de T = 0,01 s, igual ao adotado por [44]. Ainda, da integrao da informao da velocidade, observada na Figura 5.3, obtm-se a Figura 5.6. Esta apresenta tanto as distncias de deslocamento das rodas, dadas por DE e DD, respectivamente, roda esquerda e roda direita, quanto a do centro do rob, dada por D.

Figura 5.6 Distncias para o deslocamento do rob Outra trajetria simulada, e que pode ser observada na Figura 5.7 o segmento de curva. Para esta, os ganhos do controlador utilizados na trajetria anterior foram mantidos, ou seja, K = (48 0,12 0,48)T. Entretanto, mudaram as posturas e velocidades de controle para pr = (5 0 /2)T, p = (0 0 /2)T, Vr 2,8 cm/s e r -0,15 rad/s.

CAPTULO 5. CONTROLE E RESULTADOS

91

Figura 5.7 Khepera rastreando uma trajetria curvilnea As demais figuras, isto , as Figuras 5.8, 5.9, 5.10 e 5.11, mostram, respectivamente, os resultados para as velocidades de controle linear, angular, os erros de postura e o deslocamento do rob para a trajetria desejada.

CAPTULO 5. CONTROLE E RESULTADOS

92

Figura 5.8 Sinais de controle para V

Figura 5.9 Sinal de controle para

CAPTULO 5. CONTROLE E RESULTADOS

93

Figura 5.10 - Erros de postura

Figura 5.11 - Distncias para o deslocamento do rob

CAPTULO 5. CONTROLE E RESULTADOS

94

As Figuras 5.12 e 5.13 apresentam o resultado obtido para uma trajetria de referncia do tipo fechada, isto , partindo de um ponto e retornando a ele. Na Figura 5.12, percebe-se claramente uma diferena entre a postura final desejada e a obtida, quando o Khepera rastreia a trajetria de referncia no sentido horrio. Esta diferena resultado da presena dos erros sistemticos de odometria estudados no Captulo 4.

Figura 5.12 Khepera rastreando uma trajetria fechada no sentido horrio A postura de partida do rob foi atribuda como p = (40 5 )T e a de referncia como pr = (40 10 )T. Nas retas, as velocidades de controle foram de Vr 1,6 cm/s e r 0 rad/s e durante as curvas de Vr 1,6 cm/s (com VE 2,4 cm/s e VD 0,8 cm/s) e r -0,30 rad/s. Com relao aos ganhos do controlador de rastreamento, manteve-se os mesmos adotados anteriormente. A Figura 5.13 apresenta o mesmo tipo de trajetria a ser seguida pelo rob, porm, em sentido contrrio, ou seja, anti-horrio. As posturas de partida do rob e da referncia foram atribudas como: p = (40 5 0)T e pr = (40 10 0)T.

CAPTULO 5. CONTROLE E RESULTADOS

95

Figura 5.13 Khepera rastreando uma trajetria fechada no sentido anti-horrio Diante disto, obteve-se o resultado esperado, ou seja, a postura final do rob praticamente foi igual desejada (ver Figura 5.13). Este resultado s pode ser obtido graas ao cancelamento dos parmetros Ed e E Dr (ver Captulo 4). Outra trajetria simulada diz respeito a um circuito sinuoso, fazendo com que o rob realize guinadas tanto para a direita quanto para a esquerda (ver Figura 5.14). Atravs deste circuito possvel observar melhor os efeitos do no seguimento da trajetria desejada (quando da no correo dos parmetros cinemticos do rob), pois mistura retas e curvas em vrios sentidos. Para esta trajetria, a postura de partida do Khepera foi p = (40 5 )T e da trajetria de referncia foi pr = (40 10 )T. As velocidades de controle do rob e os ganhos do controlador de rastreamento foram iguais aos adotados para a trajetria fechada.

CAPTULO 5. CONTROLE E RESULTADOS

96

Figura 5.14 Khepera rastreando uma trajetria sinuosa

5.5 Resultados Experimentais


Esta Seo traz alguns resultados experimentais com objetivo de comparar com os resultados das simulaes da Seo anterior. Entretanto, devido a grande quantidade de pontos de interpolao gerados (passo da integrao de 0,01 s nas simulaes) nas trajetrias da Seo 5.4, foram feitas algumas otimizaes. Estas otimizaes visam resolver alguns problemas verificados na experimentao, como a demora em se atingir o ponto final da trajetria e a no capacidade em se corrigir os parmetros cinemticos, responsveis pelos erros sistemticos de odometria. Isto porque, como explanado no Captulo 4 (Equao 4.84), a correo s possvel de ser realizada quando obtida uma diferena igual ou superior a 1 (um) pulso de encoder entre o lido e o desejado. Ainda, mesmo que o passo da integrao utilizado nas simulaes da Seo 5.4 fosse aumentado, problemas de orientao e de no seguimento da trajetria seriam verificados (somente em trajetrias compostas de curvas), prejudicando a postura final desejada para o rob. Este prejuzo dependeria diretamente do passo da integrao, do ngulo das curvas e da distncia a ser percorrida pelo rob.

CAPTULO 5. CONTROLE E RESULTADOS

97

Diante dos problemas comentados no pargrafo anterior, foram feitas as seguintes otimizaes: a) A postura de partida do rob foi igual a de referncia; b) Reduziu-se consideravelmente a quantidade de pontos da interpolao graas a separao entre as retas e as curvas presentes nas trajetrias; c) Nas curvas, a distncia Dp (distncia do centro do rob ao CIR ver Captulo 4, Figura 4.5) foi definida como o produto entre a velocidade V do rob e a distncia do seu centro s rodas dada por Dr 2 , isto , D p = V . ( D r 2) (5.4)

Sendo assim, como D = .D p (5.5)

logo, D E = .V E . ( Dr 2) e D D = .V D .( Dr 2) (5.7) (5.6)

A diferena (em software) entre VE e VD deve ser igual a 2 pulsos/10ms de modo a manter a distncia entre as rodas do rob sempre igual a Dr, j que em hardware este valor fixo. Estas alteraes, alm de tornarem possvel a correo dos erros de odometria, tambm propiciaram ao rob atingir a postura final no tempo previsto. Se as simulaes forem utilizadas apenas como forma de comparao, somente a primeira otimizao (item (a)) se faz necessria. Assim, novas simulaes foram realizadas. Nas Figuras 5.15, 5.16 e 5.17, podem ser observados os resultados obtidos.

CAPTULO 5. CONTROLE E RESULTADOS

98

Figura 5.15 - Khepera rastreando uma trajetria fechada no sentido horrio A postura de partida do rob na Figura 5.15 foi atribuda como p = (40 10 )T e a posio de chegada obtida (considerando os erros de odometria) foi x = 41,9 cm; y = 11,4 cm.

Figura 5.16 - Khepera rastreando uma trajetria fechada no sentido anti-horrio

CAPTULO 5. CONTROLE E RESULTADOS

99

A postura de partida do rob na Figura 5.16 foi atribuda como p = (40 10 0)T e a posio de chegada obtida (considerando os erros de odometria) foi x = 39,9 cm; y = 10 cm.

Figura 5.17 - Khepera rastreando uma trajetria sinuosa A postura de partida do rob na Figura 5.17 foi atribuda como p = (40 10 )T, a postura de chegada desejada como p = (24,7 41,5 /2)T. A posio de chegada obtida (considerando o erros de odometria) foi x = 23,2 cm; y = 42 cm. Antes de apresentar os resultados experimentais, necessrio explicar o modo de controle adotado para o Khepera. Utilizou-se o modo de controle por posio, devido ao fato de requerer-se preciso em seus movimentos. No modo de controle por velocidade, a velocidade mnima das rodas de aproximadamente 0,8 cm/s e incrementada na forma de pulsos, ou seja, a velocidade superior a mnima de 1,6 cm/s. Isto implica em movimentos indesejveis, caso fosse necessria, por exemplo, uma velocidade de controle de 1,2 cm/s. No modo de controle por posio, a unidade de deslocamento o pulso de encoder e vale aproximadamente 0,08 mm, aumentando significativamente a preciso dos movimentos do rob. Assim, por intermdio de uma tabela de valores contendo as velocidades, as distncias a serem percorridas nas retas pelas rodas esquerda e direita, e o ngulo das curvas, torna-se possvel realizar e obter os resultados experimentais relativos s trajetrias simuladas. O

CAPTULO 5. CONTROLE E RESULTADOS

100

ngulo das curvas um dado importante, pois, a partir dele fica fcil obter as distncias percorridas pelas rodas, como pode ser verificado nas Equaes 5.6 e 5.7. Para validar os resultados obtidos nas simulaes, foram realizados vrios experimentos com o Khepera (dez vezes para cada trajetria), sendo que a metade, considerando corrigido os erros sistemticos de odometria. Seguem os resultados obtidos: Trajetria Fechada - Sentido Horrio: Aps o rob percorrer a trajetria de referncia gerada a partir da Tabela 5.1 (trajetria desejada na Figura 5.15) com a utilizao do programa de controle do Apndice A, obtiveram-se os resultados da Tabela 5.2: Tabela 5.1 Valores de controle para a trajetria fechada (sentido horrio)
VE(pulso) VD(pulso)
2 3 2 3 2 3 2 3 2 1 2 1 2 1 2 1

DE(mm)
200 200 200 200 -

DD(mm)
200 200 200 200 -

90 90 90 90

Tabela 5.2 Resultados obtidos para a trajetria fechada (sentido horrio)


Sem Correo n x (cm)
1 2 3 4 5 41,7 41,6 41,8 41,9 42,05 41,81

y (cm)
11,2 11,5 11,4 11,75 11,6 11,49

Com Correo n x (cm)


1 2 3 4 5 39,85 40,1 40,25 40,3 40,1 40,12

y (cm)
9,85 9,7 10,05 9,8 9,9 9,86

Mdia

Mdia

Quando plotados em um grfico, adquirem a forma apresentada pela Figura 5.18.

CAPTULO 5. CONTROLE E RESULTADOS

101

Y [cm]
12 11, 8 11, 6 11, 4 11, 2 11 10, 8 10, 6 10, 4 10, 2 10 39, 6 39, 8 9, 8 9, 6 9, 4 9, 2 40 40, 2 40, 4 40, 6 40, 8 41 41, 2 41, 4 41, 6 41, 8 42 42, 2

X [cm]
Sem Correo Com Correo c.g.Sem Correo c.g.Com Correo

Figura 5.18 Resultados obtidos para trajetria (fechada sentido horrio) Analisando a Figura 5.18, pode-se perceber claramente os efeitos da correo realizada, apresentando um resultado bastante semelhante ao da simulao (ver Figura 5.15). Analisando novamente a Figura 5.18, agora considerando o centro de gravidade das duas regies formadas (mdia dos valores de x e y da Tabela 5.2) e a posio desejada, obtmse um rc.g.H = 2,34 cm (sem correo) e um rc.g.H = 0,18 cm (com correo). Considerando estes dois valores, a melhora no erro do posicionamento final obtida com a correo dos erros sistemticos de odometria foi de aproximadamente 13 vezes. Trajetria Fechada - Sentido Anti-Horrio: Aps o rob seguir a trajetria de referncia gerada a partir da Tabela 5.3 (ver Figura 5.16) utilizando o programa de controle do Apndice A, obtiveram-se os seguintes resultados (Tabela 5.4 e Figura 5.19):

CAPTULO 5. CONTROLE E RESULTADOS

102

Tabela 5.3 Valores de controle para a trajetria fechada (sentido anti-horrio)


VE(pulso) VD(pulso)
2 1 2 1 2 1 2 1 2 3 2 3 2 3 2 3

DE(mm)
200 200 200 200 -

DD(mm)
200 200 200 200 -

90 90 90 90

Tabela 5.4 Resultados obtidos para a trajetria fechada (sentido anti-horrio)


Sem Correo n x (cm)
1 2 3 4 5 40,05 39,85 39,95 39,9 39,75 39,9

y (cm)
9,75 10,1 10,25 9,95 9,8 9,97

Com Correo n x (cm)


1 2 3 4 5 39,95 40,05 40 40,15 40,2 40,07

y (cm)
9,9 9,95 10,15 10,05 9,7 9,95

Mdia

Mdia

Y [cm]
12 11, 8 11, 6 11, 4 11, 2 11 10, 8 10, 6 10, 4 10, 2 10 39, 6 39, 8 9, 8 9, 6 9, 4 9, 2 40 40, 2 40, 4 40, 6 40, 8 41 41, 2 41, 4 41, 6 41, 8 42 42, 2

X [cm]
Sem Correo Com Correo c.g.Sem Correo c.g.Com Correo

Figura 5.19 - Resultados obtidos para trajetria fechada (sentido anti-horrio)

CAPTULO 5. CONTROLE E RESULTADOS

103

Pela Figura 5.19, percebe-se que os efeitos da correo realizada apresentam um resultado bastante semelhante ao da simulao (ver Figura 5.16) e ao encontrado no Captulo 4 (cancelamento dos erros provenientes a Ed e E Dr ). Da anlise da Figura 5.19, obtm-se um rc.g.AH = 0,095 cm (sem correo) e um rc.g.AH = 0,086 cm (com correo), acarretando em uma melhora desprezvel.

Trajetria Sinuosa: Mantendo o mesmo procedimento adotado com as duas trajetrias anteriores e aps utilizar os dados da Tabela 5.5, obtiveram-se os seguintes resultados (Tabela 5.6 e Figura 5.20): Tabela 5.5 Valores de controle para a trajetria sinuosa
VE(pulso) VD(pulso)
2 3 2 1 2 3 2 2 1 2 3 2 1 2

DE(mm)
200 200 100 50

DD(mm)
200 200 100 50

180 180 90 -

Tabela 5.6 Resultados obtidos para a trajetria sinuosa


Sem Correo n x (cm)
1 2 3 4 5 23,34 23,39 23,34 23,24 23,09 23,28

y (cm)
41,89 42,09 42,24 42,04 42,09 42,07

Com Correo n x (cm)


1 2 3 4 5 24,74 24,64 24,74 24,79 24,89 24,76

y (cm)
41,24 41,34 41,59 41,39 41,54 41,42

Mdia

Mdia

CAPTULO 5. CONTROLE E RESULTADOS

104

Y [cm]
42, 6

42, 4

42, 2

42

41, 8

41, 6

X [cm]
22, 8 23 23, 2 23, 4 23, 6 23, 8 24 24, 2 24, 4 24, 6 41, 4 24, 8 25 25, 2

41, 2

Sem Correo Com Correo c.g.Sem Correo c.g.Com Correo

41

40, 8

Figura 5.20 - Resultados obtidos para a trajetria sinuosa Da anlise da Figura 5.20, percebe-se que os resultados experimentais obtidos foram bastante semelhantes aos simulados (ver Figura 5.17). Fazendo os clculos, obteve-se um rc.g. = 1,53 cm (sem correo) e um rc.g. = 0,10 cm (com correo). Levando-se em conta estes valores, a melhora no erro do posicionamento final, obtida aps a correo dos erros sistemticos de odometria, foi de aproximadamente 15 vezes.

5.6 Consideraes Finais


Atravs deste captulo pode-se analisar de uma forma mais detalhada os efeitos dos erros de odometria e da sua correo. Diante dos resultados obtidos, tanto a forma de controle quanto o mtodo de correo adotado demonstraram ser adequados, validando o estudo.

Captulo 6

Concluses e Trabalhos Futuros


Nesta dissertao, foram abordados trs importantes assuntos concernentes robtica mvel: modelagem, odometria e controle. Sobre a modelagem, foram descritas as propriedades estruturais dos robs mveis, dos tipos de rodas, das restries associadas a cada roda e a caracterizao dos robs mveis em cinco classes com seus respectivos modelos cinemticos de postura. Com relao odometria destacou-se: um quadro comparando a odometria com outras tcnicas de estimao de posicionamento e orientao, o modelo de odometria obtido a partir dos parmetros cinemticos do Khepera, e o mtodo de avaliao e correo dos erros de odometria utilizado, denominado de UMBmark. No que se refere ao controle, utilizou-se a tcnica de rastreamento de trajetrias, com a finalidade de verificar o comportamento do modelo cinemtico de postura do Khepera mediante a correo de alguns de seus parmetros.

6.1 Principais Contribuies


As principais contribuies deste trabalho relacionam-se modelagem, a estimao da posio e orientao e ao controle de robs mveis, e so identificadas e comentadas a seguir: Modelagem cinemtica dos robs mveis com acionamento por rodas e para as cinco classes possveis, abordando os modelos cinemticos de postura, os tipos de rodas e as restries de movimento associadas; Estudo das propriedades cinemticas da Classe (2,0) com acionamento diferencial; Utilizao da odometria como forma de estimao da posio e orientao dos robs mveis;

CAPTULO 6. CONCLUSES E TRABALHOS FUTUROS

106

Avaliao e correo dos erros sistemticos de odometria em robs mveis com acionamento diferencial atravs do mtodo UMBmark. Aplicao do mtodo a plataforma Khepera. Os resultados obtidos evidenciaram a necessidade de correo de alguns dos parmetros cinemticos do rob; Incorporao dos resultados do mtodo UMBmark em situaes de controle. Utilizouse a tcnica de controle de rastreamento em coordenadas cartesianas como forma de verificar a posio e orientao do Khepera, aps a correo de alguns de seus parmetros cinemticos. Diversos resultados de simulao ilustram o bom desempenho da estratgia de controle adotada; Otimizao das trajetrias utilizadas, de modo a confrontar os resultados experimentais com os simulados. Devido a grande quantidade de pontos de interpolao gerados (em virtude do baixo passo de integrao utilizado nas simulaes) foram feitas algumas otimizaes, com o objetivo do rob atingir o ponto final da trajetria, no tempo desejado e com os seus parmetros cinemticos corrigidos.

6.2 Propostas de Trabalhos Futuros


Com base neste trabalho, so sugeridos os seguintes temas, cujas investigaes produziro acrscimos significativos aos resultados j alcanados: Incluso da avaliao e correo dos erros no-sistemticos de odometria [22]; Emprego da estatstica como forma de analisar os resultados obtidos de forma mais aprofundada e/ou decidir sobre a necessidade de novas correes dos erros de odometria; Estudo e incorporao da informao de como os erros sistemticos de odometria se propagam [20][21]. A idia incluir a incerteza dos sensores, adicionando-se um rudo gaussiano idntico nos dois encoders; Explorao do problema com a utilizao de outras tcnicas de estimao da posio e orientao (GPS, bssola digital, landmarks, e etc) [17][18]; Fuso da odometria com outras tcnicas de estimao da posio e orientao. Em [16][46], integra-se a informao de orientao fornecida por um odmetro com a

CAPTULO 6. CONCLUSES E TRABALHOS FUTUROS

107

informao de uma bssola digital mediante um filtro de Kalman. Em [47], tcnicas de processamento de imagens, baseadas em landmarks, so combinadas com as informaes de encoders, atravs de um filtro de Kalman Estendido. J em [48], os dados obtidos dos encoders so combinados com uma imagem que contenha pontos conhecidos (posio e orientao conhecidas) do ambiente. Estes pontos podem ser identificados na imagem atravs da Transformada de Hough ou atravs da comparao da imagem com mapas do ambiente e a posio do veculo em relao a este ponto conhecido computada. Mais uma vez, a fuso dos dados pode ser feita utilizando-se um Filtro de Kalman Estendido; Utilizao de um mdulo de comunicao por rdio entre o computador e o Khepera ao invs de fio, como forma de reduzir os erros no-sistemticos de odometria e aumentar o raio de ao do rob; Aplicao das tcnicas de estimao da posio e orientao em combinao com algoritmos reativos, tal como o veculo de Braitenberg [49]; Aplicao das tcnicas de estimao da posio e orientao em conjunto com tcnicas de planejamento de trajetria [7][14], por exemplo: grafos de visibilidade, mapas de grid, campos de potencial, diagramas de Voronoi, lgica Fuzzy ou splines; Aplicao das tcnicas de estimao da posio e orientao em conjunto com tcnicas de navegao autnoma empregando inteligncia artificial, por exemplo, redes neurais [15], algoritmos genticos, ou processamento de imagens baseadas na imposio de limiares [42], ultra-som, e infravermelho; Estudo e incluso da modelagem dinmica do rob; Melhoria na obteno dos resultados experimentais, por exemplo, atravs da monitorao grfica em tempo real do deslocamento do rob; Hierarquizao do controle do rob em camadas de prioridade atravs da Arquitetura de Assuno [50], o que permitiria a realizao de vrias tarefas ao mesmo tempo, por exemplo, a deteco de obstculos, seguimento de fontes de luz, recarga de energia, e etc, combinadas com as tcnicas de predio e correo da posio e orientao; Implementar outras tcnicas de controle, tais como: coordenadas polares, via modos deslizantes ou realimentao variante no tempo [19][33].

CAPTULO 6. CONCLUSES E TRABALHOS FUTUROS

108

Relacionar e desenvolver o estudo a outros tipos de robs mveis, inclusive os industriais, por exemplo, os AGVs.

Apndice A

Programa UMBmark-Khepera
A seguir fornecida a listagem completa do programa UMBmark adaptado ao Rob Khepera implementado em MATLAB, juntamente com a tabela de valores para controle.

A.1 Valores de Controle


Sentido Horrio Tabela A.1 Valores de controle para o sentido horrio
VE(pulso) VD(pulso)
2 1 2 1 2 1 2 1 2 -1 2 -1 2 -1 2 -1

DE(mm)
300 300 300 300 -

DD(mm)
300 300 300 300 -

90 90 90 90

Sentido Anti-Horrio Tabela A.2 Valores de controle para o sentido anti-horrio


VE(pulso) VD(pulso)
2 -1 2 -1 2 -1 2 -1 2 1 2 1 2 1 2 1

DE(mm)
300 300 300 300 -

DD(mm)
300 300 300 300 -

90 90 90 90

APNDICE A. PROGRAMA UMBMARK-KHEPERA

110

A.2 Programa UMBmark adaptado ao Khepera


% %Programa UMBmark adaptado ao Rob Mvel Khepera - desenvolvido por Jonas Pereira % load 'valores.txt'; %constantes fsicas nominais do Khepera em [mm]: Rn=7.81; %raio das rodas Drn=53; %distncia entre rodas %constantes fsicas atuais do Khepera em [mm]: re=7.798962; %raio da roda esquerda rd=7.821038; %raio da roda direita Dra=53.5339; %distncia entre rodas %%unidade de velocidade [mm/s]: %v=8.1786; %%unidade de deslocamento [mm]: ud=0.081786; %correo da leitura dos encoders: Ce=1; %fator de correo p/ roda esq. --> =1 (sem correo) Cre=1/Ce; Cd=1; %fator de correo p/ roda dir. --> =1 (sem correo) Crd=1/Cd; %correo da distncia entre rodas. DrC --> =1 (sem correo) DrC=1; %DrC=Dra/Drn; %carrega tabela de valores Ve=valores(:,1); %velocidade roda esq. Vd=valores(:,2); %velocidade roda dir. De=valores(:,3); %distancia roda esq. Dd=valores(:,4); %distancia roda dir. Tetagraus=valores(:,5); %angulo das curvas ou rotaes %programa principal ref=kopen([0,38400,1]); kBios(ref); %abre a porta serial (comunicao com o Khepera)

Q=size(valores,1); %quantidade Q de linhas da matriz valores for n=1:Q kSetProfile(ref,Ve(n),256,Vd(n),256); % % Retas % if Ve(n) == Vd(n) p=abs((De(n)/ud)-(Cre*(De(n)/ud))); Ma=floor(p); %calcula a quantidade if Ma == 0 Ma=1; end per=Cre*(De(n)/ud); %pulsos desej. pdr=Crd*(Dd(n)/ud); %pulsos desej. xpe=round(per/Ma); %pulsos desej. xpd=round(pdr/Ma); %pulsos desej. %calcula a dif. p de pulsos Ma de marcos artificiais

p/ p/ p/ p/

a a a a

roda roda roda roda

esq. dir. esq. dir.

p/ p/ p/ p/

o o o o

desloc. total desloc. total segm. de reta segm. de reta

APNDICE A. PROGRAMA UMBMARK-KHEPERA


m=0; for m=1:Ma kSetEncoders(ref,0,0); pos=kGetEncoders(ref); Gxpe=abs(pos(1)); Gxpd=abs(pos(2)); while (Gxpe < xpe)|(Gxpd < xpd) kMoveTo(ref,xpe,xpd); pos=kGetEncoders(ref); Gxpe=abs(pos(1)); Gxpd=abs(pos(2)); end end % % Curvas ou Rotaes: obs.: nas Rotaes usar Ve=1 e Vd=-1 ou vice-versa. % elseif Ve(n) ~= Vd(n)

111

Tetarad=(Tetagraus(n)*pi)/180; %converte graus p/ radianos DeltaDe=abs(Tetarad*(Ve(n)*(DrC*(Drn/2)))); %distancia p/ a roda esq. DeltaDd=abs(Tetarad*(Vd(n)*(DrC*(Drn/2)))); %distancia p/ a roda dir. if DeltaDe <= DeltaDd p=abs((DeltaDe/ud)-(Cre*(DeltaDe/ud))); %calcula a dif. p de pulsos Ma=floor(p); %calcula a quantidade Ma de marcos artificiais if Ma == 0 Ma=1; end elseif DeltaDe > DeltaDd p=abs((DeltaDd/ud)-(Crd*(DeltaDd/ud))); %calcula a dif. p de pulsos Ma=floor(p); %calcula a quantidade Ma de marcos artificiais if Ma == 0 Ma=1; end end per=Cre*(DeltaDe/ud); %pulsos desej. p/ a roda esq. p/ o desloc. total pdr=Crd*(DeltaDd/ud); %pulsos desej. p/ a roda dir. p/ o desloc. total xpe=round(per/Ma);%pulsos desej. p/ a roda esq. p/ o segm. de curva xpd=round(pdr/Ma);%pulsos desej. p/ a roda dir. p/ o segm. de curva m=0; for m=1:Ma kSetEncoders(ref,0,0); pos=kGetEncoders(ref); Gxpe=abs(pos(1)); Gxpd=abs(pos(2)); while (Gxpe < xpe)|(Gxpd < xpd) kMoveTo(ref,xpe,xpd); pos=kGetEncoders(ref); Gxpe=abs(pos(1)); Gxpd=abs(pos(2)); end end end kStop(ref); end kclose(ref); %fecha a porta serial (comunicao com o Khepera)

Apndice B

Programa Rastreador-Khepera
A seguir fornecido em diagrama de blocos - SIMULINK, o programa do controlador de rastreamento de trajetrias utilizado nas simulaes, juntamente com os programas em MATLAB com os parmetros de controle e de exibio dos grficos.

B.1 Programa em Diagrama de Blocos

Figura B.1- Diagrama de blocos do controlador de rastreamento de trajetrias

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

113

Figura B.2 Bloco velocidades de referncia

Figura B.3 Bloco modelo de referncia

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

114

Figura B.4 Bloco Te (erro de postura)

Figura B.5 Bloco controle de rastreamento

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

115

Figura B.6 Bloco modelo cinemtico do rob

Figura B.7 Bloco converso de velocidades

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

116

Figura B.8 Bloco modelo cinemtico do rob1

Figura B.9 Bloco Te1 (erro de postura)

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

117

B.2.1 Parmetros de Controle

% %Parmetros de controle % %constantes fsicas nominais do Khepera em [cm]: r=0.781; %raio das rodas Drn=5.3; %distncia entre rodas %constantes fsicas atuais do Khepera (aps correo) em [cm]: re=0.7798962; %raio da roda esquerda rd=0.7821038; %raio da roda direita Dra=5.353393; %distncia entre rodas %unidade de velocidade [0.81786 cm/s] = [1 pulso/10ms]: uv=0.81786; %velocidade do rob em [pulsos/10ms]: v=2; %velocidade do rob em [cm/s]: V=v*uv; %correo das velocidades: Ce=1; %fator de correo p/ roda esq. --> =1 (sem correo) Cre=1/Ce; Cd=1; %fator de correo p/ roda dir. --> =1 (sem correo) Crd=1/Cd; %correo da distncia entre rodas. DrC --> =1 (sem correo) DrC=1; %DrC=Dra/Drn; %postura inicial de referncia: xi=40; yi=10; tetai=0; %postura inicial do rob: xir=40; yir=10; tetair=0; %ganhos do controlador de rastreamento: k1=48; k2=0.12; k3=0.48;

APNDICE B. PROGRAMA RASTREADOR-KHEPERA

118

B.2.2 Exibe Grficos


% %exibe grficos % clc; load load load load load load load load load load load 'robor'; 'pr'; 'p'; 'preal'; 'ep'; 'epreal'; 'VdVe'; 'VdrealVereal'; 'Vref'; 'Vc'; 'Vcreal';

while 1, which = menu('RESULTADOS', ... 'Posio XY de ref. versus do rob desejada e real', ... 'Erro de postura desejado', ... 'Erro de postura real', ... 'Velocidades desejadas', ... 'Velocidades reais', ... 'Velocidade angular desejada versus real',... 'Velocidade submetida ao rob',... 'Distncia percorrida pelo rob',... 'Sada'); if which == 1, clf; %grfico xyr versus xy plot(pr(2,:), pr(3,:),'green',p(2,:), p(3,:),'blue', preal(2,:), preal(3,:),'red'); grid on; xlabel('X [cm]'); ylabel('Y [cm]'); zoom on; elseif which == 2, clf; %grfico ep1, ep2 e ep3 t = ep(1,:); subplot(3,1,1); plot(t, ep(2,:),'blue'); grid on; ylabel('ep1 [cm]'); zoom on; subplot(3,1,2); plot(t, ep(3,:),'blue'); grid on; ylabel('ep2 [cm]'); zoom on; subplot(3,1,3); plot(t, ep(4,:),'blue'); grid on; xlabel('t [s]'); ylabel('ep3 [rad]'); zoom on;

APNDICE B. PROGRAMA RASTREADOR-KHEPERA


elseif which == 3, clf; %grfico ep1real, ep2real e ep3real tr = epreal(1,:); subplot(3,1,1); plot(tr, epreal(2,:),'blue'); grid on; ylabel('ep1 [cm]'); zoom on; subplot(3,1,2); plot(tr, epreal(3,:),'blue'); grid on; ylabel('ep2 [cm]'); zoom on; subplot(3,1,3); plot(tr, epreal(4,:),'blue'); grid on; xlabel('t [s]'); ylabel('ep3 [rad]'); zoom on; elseif which == 4, clf; %grfico Vc, Vd e Ve; tc= Vc(1,:); t = VdVe(1,:); plot(tc, Vc(2,:),'blue', t, VdVe(2,:),'red', t, VdVe(3,:),'magenta'); grid on; ylabel('V [cm/s]'); zoom on; elseif which == 5, clf; %grfico Vcreal, Vdreal e Vereal; tcr = Vcreal(1,:); tr= VdrealVereal(1,:); plot(tcr, Vcreal(2,:),'black', tr, VdrealVereal(2,:),'green', tr, VdrealVereal(3,:),'cyan'); grid on; xlabel('t [s]'); ylabel('V [cm/s]'); zoom on; elseif which == 6, clf; %grfico Wc e Wcreal; tc= Vc(1,:); tcr = Vcreal(1,:); plot(tc, Vc(3,:),'blue', tcr, Vcreal(3,:),'red'); grid on; xlabel('t [s]'); ylabel('V [cm/s]'); zoom on; elseif which == 7, clf; %grfico velocidade (Vrd e Vre) submetida ao rob; t= robor(1,:); plot(t, robor(2,:),'red', t, robor(4,:),'blue',t, ((robor(2,:))+(robor(4,:)))/2,'green'); grid on;

119

APNDICE B. PROGRAMA RASTREADOR-KHEPERA


xlabel('t [s]'); ylabel('V [cm/s]'); zoom on; elseif which == 8, clf; %grfico distancia percorrida pelo rob em funo de Vrd e Vre; t= robor(1,:); plot(t, robor(3,:),'red', t, robor(5,:),'blue',t, ((robor(3,:))+(robor(5,:)))/2,'green'); grid on; xlabel('t [s]'); ylabel('D [cm]'); zoom on; elseif which == 9, close; break; end end

120

Referncias Bibliogrficas
[1] [2] Arago, A., Romero, R., Marques, E. (2000). Computao Reconfigurvel Aplicada Robtica. CORE2000. Da Silva, L. R. (2003). Anlise e Programao de Robs Mveis Autnomos da Plataforma Eyebot. (Dissertao de Mestrado, Programa de Ps-Graduao em Engenharia Eltrica). Universidade do Estado de Santa Catarina UFSC. Florianpolis SC. http://www.frc.ri.cmu.edu/~hpm/talks/Robot.Figures/fig.ch2/p027.html Vieira, R. De S. (1999). Prottipo de um Sistema de Monitoramento Remoto Inteligente. (Dissertao de Mestrado). Universidade do Estado de Santa Catarina UFSC. Florianpolis SC. http://www.frc.ri.cmu.edu/~hpm/project.archive/Image.Archive/Stanford.AI.Lab. 1970s/sail.rod/Cart.side.1979.jpg http://www.laas.fr/~matthieu/robots/images/hilare.gif Heinen, F. J. (1999). Robtica Autnoma: integrao entre planificao e comportamento reativo. (Trabalho de Iniciao Cientfica), Universidade do Vale do Rio dos Sinos UNISINOS, So Leopoldo RS, Brasil. http://www.egeminusa.com/products/AGVS/vehicles/index3.htm http://www.k-team.com/gallery/index.html

[3] [4]

[5] [6] [7]

[8] [9]

[10] http://br.wired.com/news/images/full/foto2.223.jpg [11] http://www.contrib.andrew.cmu.edu/%7Erjg/webrobots/alice99.jpg [12] http://grok.ecn.uiowa.edu/Main/Projects/nomad-climb.jpg [13] Silva, M. S., Machado, J. A. T. (2001). Sistemas Robticos de Locomoo Estado da Arte. Departamento de Engenharia Eletrotcnica, Instituto Superior de Engenharia do Porto. Porto, Portugal. [14] Ottoni, G. De L. (2000). Planejamento de Trajetrias para Robs Mveis. (Projeto de Graduao do Curso de Engenharia de Computao), Fundao Universidade Federal do Rio Grande, Rio Grande RS, Brasil.

REFERNCIAS BIBLIOGRFICAS

122

[15] Barreto, G. de A.; Arajo, A. F. R.; Rosa, M. de O (1997). Algoritmo de Busca Heurstica Usando Redes Neurais Competitivas para Planejamento timo de Trajetria de um Rob Mvel. Universidade de So Paulo USP, So Carlos SP, Brasil. [16] Lora, F. A. S., Hemerly, E. M., Lages, W. F. (1998). Sistema para Navegao e Guiagem de Robs Mveis Autnomos. SBA Controle e Automao, Vol. 9, N 3. [17] Borenstein, J.; Everett, H. R.; Feng, L. (1996). Where Am I? Sensors and Methods for Mobile Robot Positioning. University of Michigan Tecnical Report, EUA. [18] Borenstein, J.; Everett, H. R.; Feng, L.; Wehe, D. (1996). Mobile Robot Positioning Sensors and Techniques. University of Michigan, EUA. Invited paper for the Journal of Robotic Systems, Special Issue on Mobile Robots. Vol. 14, N 4. pgs. 231-249. [19] Lages, W. F. (1998). Controle e Estimao de Posio e Orientao de Robs Mveis. (Tese de Doutorado), Instituto Tecnolgico de Aeronutica ITA, So Jos dos Campos SP, Brasil. [20] Valgas Filho, J. H. ., Campos, M. F. M., (2002). Uma Metodologia de Correo Automtica de Erros de Odometria Durante a Navegao do Rob. XIV Congresso Brasileiro de Automtica, Natal RN. [21] Mchler, P. (1998). Robot Positioning By Supervised and Unsupervised Odometry Correction. (Thse de Docteur), cole Polytechnique Fdrale de Lausanne EPFL, Switzerland. [22] Borenstein, J.; Feng, L. (1994). UMBmark A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots. University of Michigan Tecnical Report, EUA. [23] Borenstein, J.; Feng, L. (1996). Measurement and Correction of Systematic Odometry Errors in Mobile Robots. University of Michigan, EUA. IEEE Transactions on Robotics and Automation, Vol. 12, N 5. [24] Borenstein, J.; Feng, L. (1995). Correction of Systematic Odometry Errors in Mobile Robots. University of Michigan Tecnical Report, EUA. Procedings of the International Conference on Intelligent Robots and Systems (IROS95) Pitsburgh, Pennsylvania, pgs. 569-574. [25] Martins de Lima, L. E. (1995). Modelagem e Controle de um Rob Mvel a Rodas. (Trabalho de Ps-Graduao), Universidade Federal do Esprito Santo, Vitria ES, Brasil. [26] http://www.jpl.nasa.gov/technology/images_videos/iv_browse/D120299B1browse. jpg [27] http://robotics.jpl.nasa.gov/tasks/tmr/homepage.html

REFERNCIAS BIBLIOGRFICAS

123

[28] http://www.ai.mit.edu/projects/genghis/genghis.jpg [29] Brooks, R. A. (1989). A Robot that Walks; Emergent Behaviors from a Carefully Evolved Network.Artificial Intelligence Laboratory. Massachusetts Institute of Technology. [30] http://www-2.cs.cmu.edu/~mwm/rover/i/sojourner.jpg [31] Campion, G., Bastin, G., D Andra-Novel, B. (1996). Structural Properties and Classification of Kinematic and Dynamic Models of Wheeled Mobile Robots. IEEE Transactions on Robotics and Automation, Vol. 12, N 1, pgs. 47-62. [32] Canudas de Wit, C.; Siciliano, B.; Bastin, G. (1996). Theory of Robot Control. SpringerVerlag, Londres. [33] De Oliveira, V. M. (2001). Tcnicas de Controle de Robs Mveis. (Dissertao de Mestrado), Universidade do Estado de Santa Catarina UFSC, Florianpolis SC. [34] Howard, A., Rorres, C. (2001). lgebra Linear com Aplicaes. Trad. Claus Ivo Doering. 8 Ed., Bookman, Porto Alegre RS. [35] Lages, W. F., Hemerly, E. M. (1998). Controle em Coordenadas Polares de Robs Mveis com Rodas. Anais do XII Congresso Brasileiro de Automtica, Vol. II, Pgs. 605-610, Uberlndia MG. [36] Jones, J. L., Flynn, A. M. (1993). Mobile Robots - Inspiration to Implementation. A K Peters, Wellesley Massachusetts. [37] Alsina, P. J.(2002). Sistemas Robticos Autnomos. (Apostila do curso disponvel em: http://www.dca.ufrn.br/~pablo/cursos.html). Centro de Tecnologia, Departamento de Engenharia de Computao e Automao, Universidade Federal do Rio Grande do Norte UFRN, Natal RN. [38] http://www.k-team.com [39] Mondada,F., Franzi, E., Lenne, P. (1994). Mobile Robot Miniaturization: A tool for investigation in control algorithms. Experimental Robotics III, Proceedings of the Third International Symposium on Experimental Robotics, Kyoto, Japan. Pgs. 501-513. [40] K-Team (1998). Khepera User Manual. Verso 5.0. Lausanne, Switzerland. [41] Floreano, F., Mondada, F. (1998). Evolutionary Neurocontrollers for Autonomous Mobile Robots. Swiss Federal Institute of Technology, Lausanne, Switzerland. [42] Bianchi, R. A. C., Costa, A. H. R., Simes, A. S. (2000). Comportamentos Reativos para Seguir Pistas em um Rob Mvel Guiado por Viso. Escola Politcnica da Universidade de So Paulo, So Paulo SP, Brasil.

REFERNCIAS BIBLIOGRFICAS

124

[43] Michelon, R. (2000). Desvio de Obstculos Utilizando um Ambiente Simulado para o Rob Mvel Khepera. (trabalho de concluso do Curso de Informtica). Universidade Regional Integrada do Alto Uruguai e das Misses URI, Frederico Westphalen RS, Brasil. [44] Pimentel, J. C. (2000). Tcnicas de Viso Computacional e de Controle para Aplicao em Robtica Mvel. (Tese de Mestrado), Instituto Tecnolgico de Aeronutica ITA, So Jos dos Campos SP. [45] Ogata, K. (1998). Engenharia de Controle Moderno. Prentice Hall do Brasil, 3 Edio. [46] Lora, F. A. S., Hemerly, E. M., Lages, W. F. (1997). Estimao em Tempo Real de Posio e Orientao de Robs Mveis Utilizando Sensores com Diferentes Taxas de Amostragem. Anais do 3 Simpsio Brasileiro de Automao Inteligente, Vitoria-ES, pgs. 453-458. [47] Lages, W. F., Hemerly, E. M., Pereira, L. F. A. (1996). Controle Linearizante de uma Plataforma Mvel Empregando Realimentao Visual. Anais do XI Congresso Brasileiro de Automtica, So Paulo, pgs. 537-542. [48] Lages, W. F., Hemerly, E. M. (1995). Tcnicas para Estimao de Posio e Orientao de uma Plataforma Mvel. Instituto Tecnolgico de Aeronutica ITA, So Jos dos Campos SP. [49] Braitenberg, V. (1984). Vehicles: Experiments in syntetic psychology. Cambridge, MIT Press. [50] Xavier, J. E. M. (1996). Uma Estrutura para a Construo de Sistemas de Controle Baseados em Agentes para Robs Mveis. Universidade Federal do Esprito Santo, Vitria ES, Brasil.

Вам также может понравиться