Você está na página 1de 100

Movimentao Autnoma de Robs

Mveis de Baixo Custo, com Base no


Sistema NXT da LEGO

Pedro Miguel de S Pereira da Silva

Dissertao de Mestrado Integrado em Engenharia Mecnica


Orientador: Prof. Doutor Manuel Romano Barbosa
Co-Orientador: Prof. Doutor Antnio Mendes Lopes

Faculdade de Engenharia da Universidade do Porto


Mestrado Integrado em Engenharia Mecnica

Julho de 2010

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Aos meus pais

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Resumo
O aparecimento de robs mveis em ambientes industriais pode aliar-se necessidade
de agilizar a movimentao de materiais de um local de carga para um local de descarga.
Inicialmente, esta movimentao era feita atravs de tapetes transportadores, mas esta soluo
apresenta diversos inconvenientes, como sejam: pouca flexibilidade nas trajectrias de
movimentao ou na capacidade de adaptao ao aumento do volume de carga. Para colmatar
estas dificuldades desenvolveram-se veculos com capacidade de serem programveis e
progressivamente dotados de alguma autonomia. Actualmente, existem no mercado diversas
empresas que disponibilizam solues mais ou menos capazes de satisfazer as necessidades
do utilizador.
No mbito desta rea da robtica, surgiu a presente dissertao que se debrua sobre a
locomoo de veculos mveis. Em particular foram consideradas vrias solues para a
implementao das trajectrias de um veculo de accionamento diferencial e realizados os
respectivos ensaios, com posterior anlise dos mesmos. As solues foram implementadas e
testadas com recurso a um veculo mvel de baixo custo da Lego Mindstorms NXT.

iii

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Autonomous movement of low cost mobile robots based on Lego


Mindstorms NXT system
Abstract

The emergence of mobile robots in industrial environments arised from the need to
streamline the movement of materials from a point of loading to a point of unloading.
Initially, an alternative was to use conveyor type systems. However, this solution has several
drawbacks, such as: low flexibility of the movement paths or in the ability to adapt to changes
in capacity. To overcome these difficulties vehicles capable of being programmed and with
some degrees of autonomy were developed. Currently, there are several commercial solutions
capable of satisfying some of the users needs.
This dissertation appeared due to our interest for this area of robotics. The work
presented is related to the movement of differential type vehicles, and various solutions for
the definition and implementation of trajectories are presented. These strategies were
implemented in a low cost mobile vehicle from Lego Mindstorms NXT, and the results
obtained from running several tests are presented.

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Agradecimentos
Faculdade de Engenharia da Universidade do Porto, por ser um dos
estabelecimentos de ensino superior mais reconhecidos em Portugal. Pela poltica
organizacional que leva a cabo. Pelo alargar de novos horizontes em termos acadmicos e
profissionais

Ao Prof. Doutor Manuel Romano Barbosa e Prof. Doutor Antnio Mendes Lopes,
pela incrvel disponibilidade, pacincia e tentativa de transmisso de conhecimento. Pelo
apoio incondicional e pela partilha de outros pontos de vista

Ao Prof. Doutor Francisco Freitas que sempre se prestou a ouvir, aconselhar e


ajudar. Obrigado por todas as palestras, conversas e ensinamentos

A todos os professores do departamento de Engenharia Mecnica

Snia, a todos os meus amigos e colegas que ajudaram a ultrapassar esta fase da
vida com sucesso. Nem sempre foi fcil mas nada como uma mo amiga para ajudar nos
momentos mais complicados

vii

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

ndice de contedos
1

Introduo geral e estado da arte ................................................................................................... 1


1.1

Utilizao de veculos automatizados do tipo AGV em sistemas fabris.................................. 1

1.2

Robs mveis (RM) ................................................................................................................. 6

1.2.1

Locomoo ...................................................................................................................... 7

1.2.2

Configuraes dos robs mveis .................................................................................. 11

1.2.3

Localizao .................................................................................................................... 14

1.2.4

Navegao ..................................................................................................................... 14

1.3
2

Modelizao cinemtica de um veculo diferencial ...................................................................... 17


2.1

Caractersticas de um veculo diferencial.............................................................................. 17

2.2

Modelo de um veculo diferencial: derivao geomtrica.................................................... 19

2.3

Modelo do veculo diferencial: derivao analtica .............................................................. 21

2.3.1

Roda standard ............................................................................................................... 21

2.3.2

Roda castor livre ............................................................................................................ 22

2.3.3

Restries ao movimento do veculo ............................................................................ 23

2.4
3

Concluses............................................................................................................................. 15

Concluso .............................................................................................................................. 25

Implementao de trajectrias com base no modelo do veculo diferencial ............................... 27


3.1

Implementao de uma trajectria tendo por base dois movimentos distintos ................. 28

3.2
Implementao de uma trajectria com base em comandos de velocidade de rotao para
as rodas ............................................................................................................................................. 31

3.3

Localizao e navegao do veculo ...................................................................................... 36

3.4

Concluses............................................................................................................................. 37

Implementao e avaliao experimental .................................................................................... 39


4.1

Apresentao do sistema experimental................................................................................ 41

4.2

Experincias e testes ............................................................................................................. 45

4.2.1
4.3

Implementao de trajectrias ..................................................................................... 49

Concluses............................................................................................................................. 82

Concluses e trabalhos futuros ..................................................................................................... 83

Referncias .................................................................................................................................... 85

ix

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

ndice de figuras
Figura 1- Sistema de veculos automaticamente guiados do porto de Roterdo (Holanda). ...... 1
Figura 2 - Primeiro AGV desenvolvido por A. M. Barrett [2]. ................................................... 2
Figura 3 - Arquitectura do sistema de software utilizado pela empresa Danaher [5]. ............... 4
Figura 4 - Veculo AGV da empresa Swisslog [6]. .................................................................... 5
Figura 5 - Sistema de hardware utilizado num AGV pela empresa Danaher [5]. ..................... 6
Figura 6 - Configurao possvel para um rob mvel segundo Roland Siegwart & Illah
Nourbakhsh [1]. .......................................................................................................................... 7
Figura 7 - Comparao dos vrios mecanismos de locomoo tendo em conta a velocidade
possvel vs energia [1]. ............................................................................................................... 9
Figura 8 - Os quatro tipos bsicos de rodas utilizados em robs mveis [1]. .......................... 10
Figura 9 - Roda omnidireccional com configurao Swedish-45 [12]..................................... 10
Figura 10 - Roda omnidireccional convencional. ..................................................................... 11
Figura 11 - Configurao do tipo Synchro drive. ..................................................................... 12
Figura 12 - Referencial implementado para o veculo diferencial em estudo [1]. ................... 18
Figura 13 - Dimenses do veculo mvel utilizado [18]. ......................................................... 19
Figura 14 Restries presentes numa roda standard. ............................................................. 20
Figura 15 - Localizao genrica da roda standard no veculo (XRYR). .................................. 21
Figura 16 - Roda castor livre. ................................................................................................... 22
Figura 17 - Localizao genrica de uma roda do tipo castor livre no veculo (XRYR) ........... 22
Figura 18 - Planeamento de uma trajectria em parbola seguindo o primeiro mtodo. ......... 28
Figura 19 - Trajectria realizada pelo veculo mvel. .............................................................. 29
Figura 20 - Fluxograma do movimento do veculo para uma trajectria em parbola. ........... 30
Figura 21 - Discretizao do movimento da parbola. ............................................................. 31
Figura 22 - Perfil de velocidade trapezoidal implementado. .................................................... 33
Figura 23 - Fluxograma de implementao da trajectria com comando em velocidade. ....... 34
Figura 24 - Discretizao do movimento da parbola, perfil de velocidade trapezoidal. ........ 35
Figura 25 - Trajectrias e perfis de velocidade implementados. .............................................. 40
Figura 26 - Veculos e sensores utilizados na implementao das trajectrias. ....................... 41
Figura 27 - Ambiente de programao do veculo Lego. Bloco do motor. ............................ 42
Figura 28 - Programa desenvolvido para programao do Lego NXT, programa da parbola
com perfil trapezoidal. .............................................................................................................. 43
Figura 29 - Fluxograma do programa a implementar no veculo mvel da Lego Mindstorms
NXT. ......................................................................................................................................... 44
Figura 30 - Caracterstica do motor C, sem carga. ................................................................... 45
Figura 31 - Caracterstica do motor B, sem carga. ................................................................... 46
Figura 32 - Caracterstica do motor C, em carga e sentido de rotao igual nos dois motores.
.................................................................................................................................................. 46
Figura 33 - Caracterstica do motor B, em carga e sentido de rotao igual nos dois motores.
.................................................................................................................................................. 47
Figura 34 - Caracterstica do motor C, em carga e rotao de apenas um motor. .................... 47
Figura 35 - Caracterstica do motor B, em carga e rotao de apenas um motor. .................... 48
Figura 36 - Caracterstica do motor C, em carga e rotao dos motores em sentidos opostos. 48
Figura 37 - Caracterstica do motor B, em carga e rotao dos motores em sentidos opostos. 49
xi

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 38 Perfil de velocidade sinusoidal para o perfil de deslocamento em parbola. ....... 54


Figura 39 Evoluo da trajectria do veculo em posio, no eixo x do referencial global
(caso 1). .................................................................................................................................... 55
Figura 40 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global
(caso 1). .................................................................................................................................... 55
Figura 41 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 56
Figura 42 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 56
Figura 43 - Localizao do veculo com auxlio de odometria. ............................................... 57
Figura 44 Perfil de velocidade trapezoidal para o deslocamento em parbola. .................... 59
Figura 45 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 59
Figura 46 Evoluo da trajectria do veculo em posio, no eixo y do referencial global. 60
Figura 47 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 60
Figura 48 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 61
Figura 49 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 61
Figura 50 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global. . 62
Figura 51 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 62
Figura 52 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 63
Figura 53 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 65
Figura 54 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global. . 65
Figura 55 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 66
Figura 56 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 66
Figura 57 - Localizao do veculo com auxlio de odometria. ............................................... 67
Figura 58 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 68
Figura 59 Evoluo da trajectria do veculo em posio, no eixo y do referencial global. 69
Figura 60 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 69
Figura 61 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 70
Figura 62 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 72
Figura 63 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global. . 72
Figura 64 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 73
Figura 65 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 73
Figura 66 - Localizao do veculo com auxlio base em odometria. ...................................... 74
Figura 67 Evoluo da trajectria do veculo em posio, no eixo x do referencial global. 75
Figura 68 Evoluo da trajectria do veculo em posio, no eixo y do referencial global. 76
Figura 69 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 76
Figura 70 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 77
Figura 71 - Evoluo da trajectria do veculo em posio, no eixo x do referencial global. . 78
Figura 72 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global. . 78
Figura 73 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab. .... 79
Figura 74 - Valores de power para cada roda, calculados pelo NXT e Matlab. .................... 79
Figura 75 - Estratgia de implementao de movimentos de rotao e deslocamento linear
com correco utilizando sensores externos. ........................................................................... 81

xii

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

ndice de tabelas
Tabela 1 - Configurao das rodas para robs mveis [1]. ...................................................... 13
Tabela 2 Valores utilizados na implementao das estratgias A1, A2 e A3. ...................... 50
Tabela 3 - Resultados da implementao da trajectria com deslocamento em parbola. ....... 51
Tabela 4 - Resultados da implementao da trajectria com deslocamento em semicrculo. .. 51
Tabela 5 - Resultados da implementao da trajectria com deslocamento em linha recta. .... 52
Tabela 6 - Variveis de entrada para as trajectrias. ................................................................ 53
Tabela 7 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade
sinusoidal. ................................................................................................................................. 53
Tabela 8 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade
trapezoidal. ............................................................................................................................... 58
Tabela 9 - Variveis de entrada para as trajectrias. ................................................................ 64
Tabela 10 - Valores medidos da implementao da trajectria pelo NXT, perfil da velocidade
sinusoidal. ................................................................................................................................. 64
Tabela 11 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade
trapezoidal. ............................................................................................................................... 68
Tabela 12 Ponto inicial e final do movimento em linha recta para os perfis B3.1, B3.2 e
B3.3.. ........................................................................................................................................ 71
Tabela 13 Valores medidos da implementao da trajectria pelo NXT. ............................. 71
Tabela 14 Valores medidos da implementao no NXT para a trajectria B3.2. ................. 75
Tabela 15 Valores medidos da implementao da trajectria pelo NXT, estratgia B3.3. ... 77
Tabela 16 - Valores da posio inicial e final pretendida. ....................................................... 80
Tabela 17 Valores medidos da implementao da trajectria pelo NXT, trajectria C. ....... 80
Tabela 18 - Movimentos de rotao em torno de um ponto fixo. ............................................ 82

xiii

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Introduo geral e estado da arte

A robtica mvel pode ser considerada como um ramo particular do grande universo
que a robtica. A sua importncia pode ser avaliada pelos inmeros exemplos de aplicaes
com interesses particulares, tais como, operaes de busca e salvamento [9], de acesso a
ambientes remotos e hostis [14], controlo do fluxo de materiais em sistemas industriais e
servios [15] ou mesmo em casos de carcter ldico [8]. Apesar de a locomoo estar
subjacente aos objectivos ltimos de um rob, coloca problemas tecnolgicos particulares,
quer relativos s solues de locomoo propriamente ditas, quer no que diz respeito ao
funcionamento independentemente da existncia de um condutor. Conhecer a localizao
relativamente a um referencial fixo aparece como um problema central.
A evoluo da robtica mvel pode ser vista segundo duas linhas em funo das
aplicaes: em sistemas industriais como veculos automatizados para transporte; e em outras
aplicaes mais genricas, com objectivos distintos, muitas vezes abrangendo movimentao
em ambientes no estruturados. Actualmente, a evoluo tecnolgica permite uma
aproximao destas duas linhas atravs da implementao de solues aplicveis aos
problemas comuns.

1.1 Utilizao de veculos automatizados do tipo AGV em sistemas fabris


A utilizao de veculos sem condutor (AGV Automated Guided Vehicles) em
sistemas industriais tem vindo a aumentar. A evoluo que tem existido na tecnologia permite
que a aplicao deste tipo de veculos se tenha expandido a reas em que anteriormente no
era possvel a sua utilizao (Figura 1).

Figura 1- Sistema de veculos automaticamente guiados do porto de Roterdo (Holanda).

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Actualmente, os mercados impem que as empresas sejam cada vez mais eficientes
reduzindo ou eliminado desperdcios que aparecem sob vrias formas. O dinamismo e
concorrncia a que as empresas esto sujeitas, obriga-as a ter como um objectivo, eliminar
todas as despesas suprfluas e maximizar a sua capacidade de reaco a alteraes do
mercado.
Os sistemas de transporte baseados em AGVs so uma alternativa mais flexvel a
outros tipos automatizados de sistemas de transporte, possibilitando uma maior capacidade de
adaptao a alteraes.
A flexibilidade dos AGVs pode ser considerada em relao aos trajectos, a alteraes
de locais de carga/descarga, bem como capacidade de trabalho, mantendo a repetibilidade e
controlo de fluxo de materiais associados aos sistemas automatizados e uma diminuio dos
custos de mo-de-obra directa.
O primeiro veculo do tipo AGV (Figura 2) foi desenvolvido em 1954 por A. M.
Barrett [2]. O mtodo utilizado para guiar o veculo recorria a um fio condutor colocado
segundo a trajectria pretendida, que o veculo seguia. Actualmente, o fio condutor
normalmente colocado a uma profundidade entre os 13-26 mm e alimentado com uma
corrente elctrica AC (de baixa amplitude e uma frequncia de entre 1-15 kHz) [7]. O veculo
tenta seguir o fio condutor, usando a influncia do campo electromagntico no sistema de
guiamento. A localizao do veculo no percurso definido pelo fio condutor feita recorrendo
a odometria e calibrao atravs de marcas exteriores ao veculo. A grande limitao deste
tipo de veculos consiste na necessidade de existirem percursos fisicamente pr-definidos e de
reconfigurao pouco prtica.

Figura 2 - Primeiro AGV desenvolvido por A. M. Barrett [2].

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

O interesse em ultrapassar esta limitao levou ao desenvolvimento dos veculos,


aumentando a sua mobilidade dentro do espao de trabalho (free-ranging). Os veculos
passam a poder movimentar-se atravs de percursos definidos por software, ou seja virtuais.
Esta capacidade tornou-se efectiva pela primeira vez usando um sistema de medio da
distncia do veculo a posies conhecidas no ambiente de trabalho, atravs de um sensor
laser [10]. Com base nestas medidas e num mapa do local possvel atravs de triangulao
conhecer em cada instante a localizao do veculo.
Actualmente, a tendncia para combinar vrias tcnicas, incluindo o recurso a
sistemas inerciais e reconhecimento do ambiente atravs de scanners com laser e sistemas de
viso [11].
Os AGVs so tipicamente associados a veculos guiados automaticamente. A evoluo
dos sistemas de localizao, bem como dos sistemas de locomoo (veculos
omnidireccionais) leva a que a nfase se possa centrar em veculos mais autnomos e desta
forma mais prximos de robs mveis.
Um sistema de transporte baseado em AGVs pressupe para alm dos veculos, um
elemento externo de controlo e gesto da frota, que assume a responsabilidade do sistema de
AGVs responder a solicitaes de transporte (Figura 3).
Neste contexto as caractersticas principais dos veculos so [16]:
- sistema de guiamento;
- programao de tarefas/percursos;
- comunicao com o sistema externo e/ou outros veculos;
- estabilidade;
- manobrabilidade;
- controlabilidade;
- caractersticas da superfcie onde se realiza a locomoo;
- velocidade de deslocao;
- carga mxima de utilizao;
- acesso para carga/descarga;
3

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

- ambiente e tarefas a que se destina;

O sistema de controlo e gesto de frota tem como funes:


- administrar e supervisionar a frota de veculos;
- alocar tarefas a cada veculo;
- definir percursos e gerir o trfego;
- gerir a interface entre o sistema de produo/ de armazenagem e sistema de gesto.
Os fabricantes de veculos automticos normalmente disponibilizam software
apropriado para os controlar, como por exemplo: a Danaher [5], a Siemens [4], a Swisslog [6]
e a Pioneer [3].

Figura 3 - Arquitectura do sistema de software utilizado pela empresa Danaher [5].

Nas Figuras 3 a 5, so visveis os componentes principais de um sistema de AGVs


comercial disponibilizado pelas empresas (Danaher e Swisslog) que incluem um sistema de
transmisso de dados (para comunicao com o computador central onde corre o software de
controlo), um sistema de locomoo (dependente do tipo de estrutura do veculo), um sistema
de deteco de obstculos (sensores laser) e um sistema de guiamento do AGV (dependente
4

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

do objectivo a que destinado). Por questes de segurana existe normalmente um boto de


emergncia e em alguns casos um LCD para visualizao de dados por parte do utilizador
(Figura 4).
O fabricante Swisslog, disponibiliza dois sistemas possveis para comunicao entre o
computador central e o AGV. Esta comunicao pode ser efectuada atravs de um cabo USB,
ligando-se directamente o AGV ao computador, ou enviando a informao atravs rdio
frequncia (RF) [6].

Figura 4 - Veculo AGV da empresa Swisslog [6].

A soluo apresentada pela empresa Danaher no muito diferente da soluo da


Swisslog. Cada AGV leva a bordo um controlador com a capacidade para controlar os drivers,
encoders, display, PLC, sensores de segurana e navegao, e uma entrada para utilizar o
AGV com controlo manual (Figura 5). O veculo utiliza um sistema RF para comunicar com o
computador central que se encontra numa sala de controlo.
O computador central gere todos os veculos e sincroniza-os com a linha de produo
de forma a constituir-se um fluxo ininterrupto de material [5].

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 5 - Sistema de hardware utilizado num AGV pela empresa Danaher [5].

Nas instalaes fabris tm-se utilizado, frequentemente, AGVs com a configurao de


trs e quatro apoios [5]. Estas duas configuraes so as que apresentam melhor
balanceamento entre estabilidade, capacidade de carga e complexidade do veculo.

1.2 Robs mveis (RM)

Apesar das caractersticas particulares da utilizao de AGVs em sistemas industriais,


a sua evoluo actual justifica uma abordagem mais geral no mbito da robtica mvel.
Roland Siegwart & Illah R. Nourbakhsh [1] apresentam uma estrutura de um rob
mvel em que possvel destacar os seus mdulos principais (Figura 6).
- percepo do meio que o rodeia;
- localizao;
- capacidade de navegao;
- locomoo.

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 6 - Configurao possvel para um rob mvel segundo Roland Siegwart & Illah Nourbakhsh [1].

1.2.1 Locomoo

Os robs mveis necessitam de mecanismos de locomoo que se adaptem ao meio


fsico para o qual so projectados. A maioria dos sistemas de locomoo so inspirados na
natureza e de seguida replicados em laboratrio. Existem robs com capacidade de andar,
saltar, correr, arrastar, deslizar, nadar, voar e rolar. Para se conseguirem estas aptides
desenvolveram-se vrios tipos de locomoo que ao nvel de veculos assumem particular
relevncia: rodas, pernas, lagartas e mistos ou hbridos.
O tipo de locomoo utilizado determinante no comportamento do rob mvel,
definindo a sua interaco directa com o ambiente em que se desloca. O nmero e
configurao dos pontos de contacto, as caractersticas de atrito, centro de gravidade e
inclinao do terreno, so determinantes para a sua estabilidade esttica e dinmica. As
7

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

caractersticas (gua, ar, solo) e as condies (estruturado, interior ou exterior do meio fsico
so tambm determinantes na escolha de uma soluo de locomoo [1].
A locomoo por pernas caracterizada por uma srie de pontos de contacto entre o
rob e a superfcie de deslocamento. As principais vantagens so a elevada adaptabilidade e
manobrabilidade em superfcies irregulares. Um rob com locomoo por pernas tem ainda a
capacidade de superar depresses ou elevaes na superfcie to extensas quanto as suas
limitaes fsicas permitirem. Uma ltima vantagem deste tipo de configurao a possvel
capacidade de manipulao [1]. Como desvantagens podem referir-se a maior complexidade
de implementao do sistema mecnico e do seu controlo.
A grande vantagem da locomoo por lagartas a sua elevada capacidade de traco e
estabilidade, devidas grande superfcie de contacto entre o rob e o solo. Estas
caractersticas podem ser bastante interessantes em ambientes acidentados. Por vezes esta
caracterstica torna-se indesejada. Por exemplo, na altura de alterar a orientao do rob
necessrio um binrio elevado para vencer as foras de atrito entre a superfcie e as lagartas.
Uma outra desvantagem a dificuldade de determinar o centro de rotao do rob e a
consequente dificuldade em se calcular a correcta orientao e posio (depende da frico
entre as superfcies) [1].
A locomoo mista ou hbrida conjuga o melhor dos dois sistemas (por rodas e por
pernas). Este sistema combina a adaptabilidade de uma perna com a eficincia de uma roda. A
desvantagem desta soluo a sua ineficincia e a complexidade do sistema para o
controlar [1].
As rodas tm sido a escolha mais frequente para a soluo de locomoo nos robs
mveis. Isto deve-se sobretudo sua eficincia (Figura 7) e simplicidade dos sistemas
mecnicos associados sua implementao [1]. A principal desvantagem a dificuldade de
locomoo em ambientes pouco estruturados.
O tipo, o nmero e a configurao geomtrica das rodas determinante para o
comportamento cinemtico de um rob mvel. Tipicamente, uma roda pode impor restries
ou permitir o movimento em determinadas direces.

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 7 - Comparao dos vrios mecanismos de locomoo tendo em conta a velocidade possvel vs energia [1].

Na Figura 8 esto representados os quatro tipos de rodas mais usados. A roda (a)
designada standard, apresenta dois graus de liberdade: a rotao em torno do eixo da roda
(traco) e a rotao em torno de um eixo que passa pelo ponto de contacto com a superfcie
(orientao). A roda (b) designa-se por castor mvel ou roda livre, tem tambm dois graus de
liberdade, sendo que o eixo de rotao associado direco est desalinhado do ponto de
contacto com a superfcie. A roda (c) apresenta uma configurao particular, com roletes na
periferia, designando-se normalmente por roda omnidireccional (ex. Swedish), apresentando
trs graus de liberdade: rotao em torno do eixo da roda (traco), em torno dos roletes em
contacto com a superfcie (passivo) e em torno do eixo que passa pelo ponto de contacto com
a superfcie (direco). A roda (d), esfrica, pode deslocar-se em qualquer direco no plano.

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 8 - Os quatro tipos bsicos de rodas utilizados em robs mveis [1].

A roda standard, comparativamente com a roda castor, absorve foras laterais,


transmitindo-as directamente ao chassis do veculo.
As rodas Swedish e esfrica so as que apresentam menores restries ao nvel das
direces que o veculo pode seguir. A roda Swedish semelhante roda standard mas com a
caracterstica de conter baixo atrito nas direces dos rolos, tipicamente colocados a 45
(Figura 9) ou 90. O conceito de omnidireccionalidade encontra o seu expoente mximo nas
rodas esfricas. A configurao das rodas esfricas parecida com a usada nos ratos de
computador em que so colocados rolos motorizados para movimentar a esfera.

Figura 9 - Roda omnidireccional com configurao Swedish-45 [12].

10

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Existem outros tipos de rodas omnidireccionais (ex. Figura 10). Estas apresentam boas
caractersticas a nvel da capacidade de carga, tolerncia a irregularidades da superfcie de
deslocamento e so mecanicamente simples [13].

Figura 10 - Roda omnidireccional convencional.

1.2.2 Configuraes dos robs mveis

A manobrabilidade do veculo (equivalente ao nmero de graus de liberdade


controlados) est associada sua capacidade de se orientar e deslocar, o que determinado
no s pelas condies de movimentao de cada roda, mas tambm pelo seu nmero e
disposio no veculo. A quantificao da manobrabilidade pode ser feita considerando um
grau de mobilidade e um grau de direccionalidade. O grau de mobilidade tem em conta uma
anlise das restries ao movimento do veculo a partir da anlise das restries cinemticas
inerentes (no deslizamento/escorregamento) ao movimento de cada roda e a respectiva
conjugao quando consideradas todas as rodas. O grau de direccionalidade tem em conta a
liberdade adicional obtida pela utilizao de rodas direccionais.
Apesar de a configurao com trs rodas, partida, garantir estabilidade esttica no
quer dizer que no se alcanasse estabilidade com outras formas. Essas outras opes podem
11

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

levar necessidade de um controlo do mecanismo do veculo mais robusto, ou de um sistema


mecnico mais elaborado. Na configurao de quatro ou mais rodas necessria a utilizao
de um sistema de suspenso para garantir o contacto entre a superfcie e as rodas. Numa
configurao de duas rodas necessrio garantir que o centro de gravidade se encontra abaixo
do eixo das rodas, alinhado com este, e que as rodas sejam de grandes dimenses [1].
Um rob considerado omnidireccional se tiver a capacidade de se movimentar em
qualquer direco no plano xy sem que seja necessria qualquer rotao prvia. Os robs
omnidireccionais tm a vantagem de conseguir movimentar-se em espaos congestionados.
Esta manobrabilidade conseguida normalmente recorrendo a rodas que se consigam
deslocar em mais do que uma direco, logo a implementao de rodas esfricas ou Swedish
quase obrigatria. No entanto, um caso particular de um veculo com esta capacidade de se
deslocar em todas as direces a configurao Synchro drive (Figura 11). Esta configurao
apenas usa trs rodas standard direccionais todas actuadas por um motor para traco e outro
para orientao da plataforma.

Figura 11 - Configurao do tipo Synchro drive.

Na Tabela 1, esto expostos alguns tipos de configuraes para robs com duas, trs e
quatro rodas e uma descrio da sua configurao.

12

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO
Tabela 1 - Configurao das rodas para robs mveis [1].

Nmero de rodas
2

Configurao fsica

Descrio
Duas rodas diferenciais com o centro de massa
entre os seus eixos
Uma roda de traco (traseira) e uma roda de
direco (dianteira).

Duas rodas motorizadas, independentes. Um


apoio omnidireccional
Duas rodas motorizadas, ligadas entre si. Uma
roda direccional.
Duas

rodas

anteriores

sem

traco.

Roda

posterior motorizada e direccional.


Trs

rodas

motorizadas

do

tipo

Swedish,

colocadas com arranjo triangular.


Trs rodas motorizadas e sincronizadas entre si
mas que no permitem o controlo da orientao
da plataforma.
4

Duas rodas motorizadas e duas rodas com


traco. As posteriores direccionam o veculo e as
detrs impulsionam.
Duas rodas na posio anterior e duas rodas
posteriores motorizadas e direccionalidade.
Duas rodas diferenciais e dois pontos adicionais
de contacto.
Quatro rodas motorizadas com castor livre.

13

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

1.2.3 Localizao

O problema da localizao um dos problemas centrais em robs mveis, tendo sido


exaustivamente estudado nas ltimas dcadas e existindo actualmente vrias solues
disponveis. Estas solues incluem a utilizao de sensores associados ao sistema de
locomoo bem como sensores para identificao de marcadores externos.
Uma soluo interessante a utilizao de um sistema de GPS (Global Positioning
system). Este sistema permite resolver o problema da localizao do rob com diferentes
resolues (m/ cm) mas apresenta desvantagens importantes como: limitaes sua utilizao
no interior de espaos ou em locais muito congestionados e o tempo de actualizao da
informao (em particular com baixas resolues).
Outro sistema de localizao atravs de um sensor laser. Este sistema utiliza a
medio da posio do rob relativamente a pontos pr-definidos. Utilizando um sistema de
triangulao e conhecendo o espao de trabalho possvel calcular a posio do rob mvel e
a sua orientao [1].
Um processo muito utilizado consiste em usar a informao da rotao das rodas
(odometria) para estimar a posio do rob conhecendo o ponto de onde partiu. Os
marcadores externos (magnetes) e sensores inerciais (giroscpios, acelermetros) permitem
actualmente bons resultados para estas solues.

1.2.4 Navegao

A navegao um dos maiores desafios colocados a um rob mvel. O sucesso desta


operao necessita do sucesso dos quatro blocos que o constituem: percepo (o rob mvel
tem de receber e interpretar os dados recebidos a partir dos seus sensores), localizao
(necessita saber a sua localizao no ambiente que o rodeia), conhecimento (tem de decidir
como agir para alcanar os objectivos) e controlo (capacidade de movimentao na trajectria
pretendida a partir do controlo dos seus motores).

14

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

A navegao pode considerar-se como a capacidade que um rob mvel tem para,
partindo do conhecimento do ponto de partida e de chegada, calcular uma trajectria que lhe
permita deslocar-se entre esses pontos, evitando os obstculos que possa encontrar.
Existem portanto duas competncias principais que tm de ser atribudas ao rob
mvel para resolver o problema da navegao: planeamento de trajectrias e deteco de
obstculos [1].
A primeira competncia envolve a identificao dos percursos, conhecimento do ponto
de partida e chegada e uma estratgia para resoluo de problemas de modo a alcanar os
resultados desejados.
A segunda competncia, deteco de obstculos, envolve a monitorizao dos sensores
em tempo real e uma actualizao e modelizao de trajectrias durante a execuo das
tarefas [1].
No caso de robs mveis industriais do tipo AGV, a atribuio de tarefas ao respectivo
rob mvel da responsabilidade do sistema de gesto. Este sistema de gesto de frotas
encontra-se colocado num qualquer ponto da empresa podendo controlar vrios robs mveis
ao mesmo tempo (existe ainda a possibilidade de controlar atravs da internet). Normalmente,
estes sistemas de gesto de frota esto integrados com os sistemas de produo e gesto, de
forma a maximizar o desempenho de todo o sistema.

1.3 Concluses

Este trabalho debrua-se sobre uma questo muito actual no mundo da robtica mvel,
isto , qual a melhor soluo para se conhecer a localizao e controlar a navegao de um
rob mvel?
Para responder a esta questo foram analisadas as solues que esto a ser
implementadas pelas empresas ligadas robtica mvel em geral e em particular aos AGVs.
O crescente interesse por este tipo de problemas e a existncia de solues com custo
reduzido levou tentativa de materializar algumas das solues para os problemas associados
aos robs mveis usando o sistema Lego Mindstorms NXT. Neste sentido, no captulo
seguinte (capitulo 2) apresentado o modelo cinemtico de um veculo diferencial. O captulo
15

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

3 aborda algumas estratgias para a implementao de trajectrias e de localizao usando


odometria. O captulo 4 descreve o sistema da Lego Mindstorms NXT utilizado, as
experincias e testes efectuados. Finalmente, no captulo 5 so apresentadas as concluses e
sugestes para trabalhos futuros.

16

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

2 Modelizao cinemtica de um veculo diferencial


O estudo do modelo cinemtico de um rob mvel bastante relevante. Esse modelo
permite conhecer as capacidades e limitaes que o veculo apresenta ao nvel da sua
mobilidade e controlabilidade.
As questes cinemticas que so colocadas na robtica mvel so bastante
semelhantes s colocadas na robtica de manipulao. Para este ramo da robtica, o estudo
cinemtico tem vindo a ser realizado nos ltimos trinta anos, pelo que est bastante mais
desenvolvido.
A grande diferena entre o estudo de um brao manipulador e de um rob mvel a
necessidade de se conhecer, em qualquer instante de tempo, a posio em que o rob se
encontra. Este problema no se coloca nos braos manipuladores, uma vez que apresentam
sempre um ponto fixo em relao ao referencial absoluto.
A localizao dos robs mveis tem sido um obstculo ao seu desenvolvimento e
implantao na indstria. Para o estudo do comportamento de um rob mvel necessrio
compreender o contributo que cada roda d para a deslocao da plataforma. A prpria
configurao e posio da roda no veculo impem restries ao movimento do veculo (por
exemplo: no movimento lateral).

2.1 Caractersticas de um veculo diferencial


Existem vantagens na utilizao de veculos diferenciais de trs rodas em detrimento
de outras solues. Este tipo de configurao d garantias de estabilidade da plataforma do
veculo e no exige a implementao de um sistema de suspenso em cada roda para manter o
contacto permanente entre a roda e o solo.
O veculo mvel que analisado no decorrer deste trabalho apresenta uma
configurao com trs apoios (duas rodas de traco independentes e um castor livre).
Considerou-se um veculo de corpo rgido, permitindo assim eliminar variveis internas.
Assim, sero considerados trs graus de liberdade para o veculo, dois no plano xy (orientao
no plano) e um outro, (orientao), que o ngulo de rotao segundo o eixo ortogonal ao
plano.
17

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 12 - Referencial implementado para o veculo diferencial em estudo [1].

O modelo cinemtico de um veculo permite conhecer a posio/ velocidade linear e a


orientao/ velocidade angular em que este se encontra, em qualquer instante de tempo, em
funo da posio/ velocidade das rodas. Inicialmente, define-se um referencial global XIYI.
De seguida, define-se um referencial local XRYR, fixo em relao ao veculo. Neste caso, foi
escolhido um referencial com origem no ponto P, orientao do eixo XR segundo a direco da
deslocao linear e orientao do eixo YR perpendicular a este (Figura 12).
Estes veculos so bastante usados devido sua simplicidade, que permite com apenas

dois motores colocar o veculo em qualquer configurao ou pose , , no seu espao


de trabalho.

Os movimentos simples de deslocamento (linear segundo XR ou angular da plataforma,


R) so obtidos impondo respectivamente velocidades iguais, e iguais mas simtricas, para as
duas rodas.
No entanto a movimentao do veculo no espao de trabalho requer trajectrias mais
complexas, que tenham em conta as restries cinemticas associadas a estes veculos.

18

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

2.2 Modelo de um veculo diferencial: derivao geomtrica

A velocidade do veculo expressa no referencial local pode ser calculada atravs da


matriz R():

cos
= sin
0

sin
cos
0

0
0
1

(2.1)

=
em que =

(2.2)

a velocidade expressa no referencial local e =

a velocidade expressa no referencial absoluto.

Figura 13 - Dimenses do veculo mvel utilizado [18].

Tendo em conta os parmetros: dimetro das rodas (D = 2r) e a distncia entre eixos

(2 l) a velocidade de rotao de cada uma das rodas ( 1 e 2 ) dada por:


=

(2.3)

19

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

O modelo utilizado resulta de uma anlise geomtrica das velocidades em causa e,


para alm de ser apenas um modelo cinemtico, assume as seguintes simplificaes:
- o contacto entre a superfcie de trabalho e as rodas reduzido a um ponto;
- no existe escorregamento entre as rodas e superfcie de trabalho;
- o plano das rodas, em qualquer instante, sempre vertical ao plano de movimento;
- considera-se que o veculo um corpo rgido.

Estas simplificaes, para as rodas standard utilizadas, traduzem-se em (Figura 14):


- existir apenas rolamento durante o movimento;
- no existir movimento lateral das rodas;

Figura 14 Restries presentes numa roda standard.

O mesmo modelo poderia ser derivado de uma forma analtica considerando em geral
as restries cinemticas impostas por cada uma das rodas envolvidas, tal como mostrado na
seco seguinte.

20

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

2.3 Modelo do veculo diferencial: derivao analtica


2.3.1 Roda standard

As duas rodas acopladas aos motores do veculo so do tipo roda standard. Este tipo de
rodas tem apenas a possibilidade de rodar em torno do seu eixo horizontal, sendo a sua
orientao na plataforma , conhecida e fixa.

Considerando uma posio (A) e orientao genricas de uma roda standard na

plataforma do veculo de acordo com a Figura 15, possvel exprimir as restries ao

rolamento no plano da roda = e ao deslizamento na direco perpendicular ao plano

da roda (velocidade nula) atravs das seguintes equaes; em funao dos parmetros , ,

e das velocidades do veculo,

= .

Figura 15 - Localizao genrica da roda standard no veculo (XRYR).

21

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

sin +

cos +

cos +

sin +

cos . = 0
sin . = 0

(2.4)

(2.5)

2.3.2 Roda castor livre

A roda do tipo castor livre tem apenas a capacidade de rotao em torno de um eixo
vertical (Figura 16). A grande diferena deste tipo de rodas para as rodas standard
direccionais que o eixo vertical de rotao no contm o ponto de contacto entre a roda e a
superfcie de deslocao.

Figura 16 - Roda castor livre.

Figura 17 - Localizao genrica de uma roda do tipo castor livre no veculo (XRYR)

22

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

O ponto de contacto entre a roda e a superfcie de deslocao o ponto B, que se


encontra a uma distncia fixa d, no referencial local, do ponto A (Figura 17).
Esta relao tem em conta que os pontos A e B se encontram no plano da roda em
qualquer instante de tempo.
Estas rodas apresentam dois parmetros que se alteram em funo do tempo, (t) e
(t). O primeiro caracteriza a rotao da roda em torno do seu eixo horizontal de rotao e o
segundo representa o ngulo de rotao do vector AB em relao ao veculo.
De uma forma anloga derivao das equaes que resultam das restries ao
movimento imposto pelas rodas standard, resultam as equaes:

sin +

cos +

cos . = 0

(2.6)

cos +

sin + d

+ . sin . + = 0

(2.7)

2.3.3 Restries ao movimento do veculo

Para obter o modelo cinemtico de um veculo consideram-se as restries impostas


pelas rodas que resultam num sistema de equaes.
Estas condies podem ser expressas em duas equaes matriciais:
- restries ao rolamento

e restries ao deslizamento

em que:

= 0

(2.8)

= 0

(2.9)

projeco das componentes de velocidade do veculo segundo as direces de


rolamento de cada roda (rodas fixas e rodas direccionais);

23

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

projeco das componentes de velocidade do veculo segundo as direces

perpendiculares aos planos das rodas (rodas fixas e rodas direccionais);


matriz diagonal que contm o raio das rodas standard;

ngulo de orientao da roda relativamente ao veculo.


Como se trata de um veculo diferencial, o castor livre no impe restries ao
movimento, logo pode ser desprezado. Devido s rodas standard serem apenas motrizes e no
terem a capacidade de orientao, pode simplificar-se J1(s) e C1(s).
Utilizando a representao esquemtica das Figuras 12 e 15 o eixo das rodas est

alinhado com o eixo YR, definindo para roda direita (roda 2) = /2 e = . Para a

roda esquerda (roda 1) = /2 e = 0, resultando as equaes que permitem obter o

modelo cinemtico.

= 0

(2.10)

sin + cos + cos


0
sin + cos + cos

1 0


0
1 0

0
0
=

0
.

= +

24

0
0
=

0

(2.11)

(2.12)

(2.13)

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

2.4 Concluso

Neste captulo obteve-se o modelo cinemtico do veculo a partir de duas abordagens. A


primeira usa uma abordagem geomtrica para relacionar as velocidades linear e angular da
plataforma com as velocidades das rodas. Na segunda caracteriza-se o comportamento das
rodas relativamente s restries que impem ao movimento do veculo, de forma a poderem
ser usadas para derivar o modelo cinemtico.
Com base no modelo cinemtico, no captulo seguinte, apresentam-se as estratgias
para implementao de vrias trajectrias.

25

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

26

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Implementao de trajectrias com base no modelo do veculo


diferencial

A capacidade de um veculo se movimentar no espao de trabalho contornando


obstculos, fixos ou mveis, pode tirar partido da possibilidade de implementar diferentes
trajectrias, isto , definir caminhos e velocidades que lhe permitam deslocar-se entre
diferentes pontos.
Para implementar diferentes trajectrias foram utilizadas duas estratgias baseadas em
odometria. Inicialmente, optou-se por uma abordagem em dois movimentos distintos
independentes: rotao e translao, para cada seco da trajectria. O comando dos
movimentos feito atravs do fornecimento dos valores dos ngulos de rotao que os
motores tm de rodar.
No caso da rotao da plataforma so fornecidos aos motores valores de igual
grandeza mas com sinais diferentes, o que provoca a rotao dos motores em sentidos
opostos e, por consequncia, a rotao da plataforma.
No caso do deslocamento linear do veculo, o valor fornecido igual e com o mesmo
sinal. O veculo desloca-se em linha recta.
As trajectrias obtidas apresentam vrios inconvenientes, entre os quais:
- descontinuidade do movimento;
- tempos de execuo das trajectrias longos.

Com o intuito de se melhorar a trajectria e eliminar a paragem do movimento no


decorrer da reorientao da plataforma implementou-se uma segunda estratgia baseada em
comandos de velocidade para as rodas.
A trajectria gerada especificando a posio e velocidade desejadas, expressas no
referencial absoluto, sendo usado o modelo cinemtico do veculo para gerar as referncias de
velocidade para as rodas. Os movimentos de rotao e translao do veculo iniciam-se e
terminam ao mesmo tempo e a trajectria contnua.

27

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

No decorrer do trabalho, foram implementadas diversas trajectrias (parbola, linha


recta e interpolao circular) com diversos perfis de velocidade (sinusoidal, triangular e
trapezoidal) de forma a verificar qual a melhor estratgia de implementao.
De forma a diminuir o erro presente em ambas as estratgias, implementou-se um
algoritmo de controlo para se aferir a posio em que o veculo se encontra e posteriormente
corrigir possveis erros.

3.1 Implementao de uma trajectria tendo por base dois movimentos


distintos

A abordagem inicialmente utilizada no planeamento de trajectrias tem por base a


diviso do movimento em duas fases. A primeira fase a rotao da plataforma, no sentido de
se orientar em relao ao ponto seguinte. A segunda fase consiste no deslocamento linear at
ao referido ponto. A trajectria a percorrer dividida em n pontos equidistantes segundo o
eixo X no referencial global (Figura 18).

Figura 18 - Planeamento de uma trajectria em parbola seguindo o primeiro mtodo.

Este tipo de aproximao trajectria verificou-se no ser muito eficiente. Sendo


notrio que o tempo que o veculo demorava a percorrer a trajectria podia ser melhorado.
Por outro lado, neste tipo de estratgia, o erro entre a trajectria aproximada e a trajectria
pretendida pode ser melhorado, impondo um nmero de intervalos suficientemente elevado,
28

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

para que o ngulo e o deslocamento linear sejam incrementos pequenos. Na Figura 19 est
representada a trajectria pretendida (a negro) e a trajectria aproximada (a vermelho). Como
se pode verificar, no caso do nmero de intervalos ser reduzido, o erro entre as duas
trajectrias acentuado mas o ponto de destino final igualmente alcanado.

Figura 19 - Trajectria realizada pelo veculo mvel.

A implementao do movimento foi realizada de acordo com o fluxograma da


Figura 20. Para o clculo da trajectria necessrio fornecer os dados abaixo descritos:
- Dimetro das rodas (D1, D2);
- Distncia entre eixos (2 l);
- Nmero de pontos em que o movimento se divide (n);
- Configurao inicial do veculo (x inicial, y inicial, inicial);
- Configurao final do veculo (x final, y final, final).

Para as outras trajectrias implementadas apenas se altera a funo que define o


percurso.

29

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 20 - Fluxograma do movimento do veculo para uma trajectria em parbola.

30

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Inicialmente, calculado o parmetro k da parbola a realizar. A obteno deste tem


em conta a configurao inicial e final do veculo diferencial e utilizado durante a totalidade
da implementao do movimento.
Dividindo a trajectria nas vrias seces pretendidas, tido em conta que o ponto

inicial dessa seco apresenta a configurao , , e o ponto de destino da seco


apresenta a configurao , , , (Figura 21).

Xi

Yi

i

Xd

Yd

d

Figura 21 - Discretizao do movimento da parbola.

O clculo dos valores dos ngulos de rotao que cada roda recebe tem por base o
modelo cinemtico anteriormente descrito para um veculo diferencial.

A configurao final do veculo tem em conta o valor de que fornecido ao

veculo para calcular a trajectria. Esta considerao tem implicaes uma vez que o ltimo
movimento uma da rotao da plataforma.

3.2 Implementao de uma trajectria com base em comandos de


velocidade de rotao para as rodas

A implementao de uma trajectria com base numa especificao da velocidade das


rodas permite definir movimentos para alm dos movimentos de rotao em torno do ponto
central do entre eixo das rodas e dos movimentos lineares simples.

31

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

A mudana de comando do veculo mvel, de comando em posio para comando em


velocidade, tinha como principais objectivos a diminuio do tempo que o veculo demorava
a cumprir o movimento e eliminar as descontinuidades durante o mesmo.
Este tipo de comando permite quaisquer trajectrias e, teoricamente, menores erros.
As principais diferenas relativamente estratgia anterior esto em no se basear numa
aproximao por segmentos de recta ao percurso pretendido. Nesta segunda estratgia,
impondo um perfil de velocidade e um tempo de execuo (T) possvel definir a trajectria
pretendida, por uma aproximao apenas limitada pela capacidade (rapidez) de processamento
do sistema ou seja do incremento de tempo/ ciclo (Ts). Estes dois factores (T e Ts) so
utilizados para calcular a velocidade de rotao que cada roda deve cumprir, durante um
determinado intervalo de tempo (Ts), para deslocar o veculo do ponto inicial para o ponto
seguinte, sucessivamente at ao ponto final.
Para a implementao deste tipo de comando necessrio fornecer ao veculo os
seguintes dados:
- Dimetro das rodas (D1, D2);
- Distncia entre eixos (2l);
- Tempo do movimento (T);
- Tempo/incremento de ciclo (Ts);

- Configurao inicial do veculo , , ;


- Configurao final do veculo , , ;

Para se conseguir comparar os resultados obtidos pelas duas estratgias uma das
trajectrias escolhidas foi uma parbola com um perfil de velocidade do tipo trapezoidal
simtrico, Figura 22. Foi escolhido este perfil de velocidade devido a conter uma acelerao e
desacelerao suaves, diminuindo a possibilidade de escorregamento das rodas.

32

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

O perfil de velocidade dado pela equao:

,


,
< 

,
>

(3.1)

sendo usados, entre outros, os seguintes parmetros,

= 1/3
= 1/3

(3.2)

em que, c1T o tempo de acelerao e c2T o tempo de desacelerao.

k1

c1T

T-c2T

Figura 22 - Perfil de velocidade trapezoidal implementado.

33

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Os fluxogramas das Figuras 23 e 24 descrevem a implementao da trajectria.


Parmetros de
entrada
t=0
Clculo da trajectria da plataforma mvel
(discretizada)

Ex.: Planeamento de
uma trajectria em
2
parbola

t=t+Ts

Perfis de posio e velocidade

Trajectrias de posio (xi,yi,i) no


referencial global

Trajectria velocidade (dxi/dt, dyi/dt, di/dt)


no referencial global

Trajectria velocidade (dxi/dt, dyi/dt, di/dt)


no referencial local

Velocidade angular de cada roda

Potncia fornecida a cada roda

Tempo de
Movimento = T

Ponto
Destino

Figura 23 - Fluxograma de implementao da trajectria com comando em velocidade.

O bloco referente ao clculo da potncia para cada roda necessrio pois o nico
parmetro disponvel para comandar a velocidade das rodas. Sendo necessrio portanto
converter o valor de velocidade para potncia (descrita na seco 4.1).
Para alm da trajectria parablica com perfil de velocidade trapezoidal foram
implementados outros perfis (sinusoidal e triangular) e trajectrias circulares e em linha recta.
A implementao seguiu uma estratgia idntica das Figuras 23 e 24.
34

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

t (i)
1
t (i )

sin 2

T
2
T

p=

pd =

t (i )
1

1 cos 2

T
T

xi = x0 + (x f x0 ) p
2

y i = y 0 + k (x i x 0 )

180
a tan (2 k ( xi x0 ))

i =

v xI = (x f x 0 ) p d

v yI = 2 v xI k ( xi x0 )
1
180

2
1+ 4 k 2 (xi x0 ) 2 k vxI

I =

v xR = v xI cos ( i ) + v yI sin ( i )
v yR = v xI sin ( i ) + v yI cos ( i )

& R = & I

& esquerda

v xR
L
+ & R
r
2 r

Potnciadireita = 6.51 & direita + 4.27

& direita

v xR
L
& R
r
2 r

Potnciaesquerda = 7.00 & esquerda + 3.49

Figura 24 - Discretizao do movimento da parbola, perfil de velocidade trapezoidal.

35

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

3.3 Localizao e navegao do veculo

A implementao das trajectrias pressupe a necessidade de conhecer em cada


instante a localizao do veculo. Numa primeira abordagem considerou-se um controlo em
malha aberta, ou seja aceita-se que os movimentos so executados como pretendido, e
portanto, a localizao corresponde obtida por leitura dos encoders das rodas (odometria).

Posteriormente inclu-se a correco da posio , , atravs de sensores de distncia


(infravermelhos) e orientao (bssola digital).

O modelo usado para atravs de odometria calcular a posio e orientao do veculo,


representado pelas seguintes equaes [1]:
= . cos +
= . sin +
=
=

(3.3)

(3.4)

(3.5)

(3.6)

; ; - variao da posio em relao ao intervalo de tempo anterior;


, distncias percorridas pelas rodas direita e esquerda;

2l - entre-eixo no caso de um veculo diferencial.

A posio e orientao (p) podem ser calculadas atravs da seguinte equao, em que
p representa a posio anterior.
. cos +
. cos +

= = + . sin + = + . sin + (3.7)

Alguns resultados da utilizao deste modelo so apresentados na seco 4.2.

36

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

3.4 Concluses

As estratgias aqui descritas tiveram por base o modelo cinemtico de um veculo


diferencial. O objectivo da implementao de duas abordagens totalmente distintas permite
aferir em qual delas se obtm melhores resultados.
Apresentou-se tambm um modelo para estimar a posio do veculo atravs de
odometria.
No captulo seguinte (captulo 4) apresentado o sistema da Lego Mindstorms NXT
que serviu de base implementao destas estratgias e os testes efectuados.

37

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

38

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Implementao e avaliao experimental

Neste captulo apresenta-se a materializao das estratgias de definio de trajectrias


apresentadas no captulo 3, tendo por base o sistema NXT Mindstorms da Lego. Em
primeiro lugar feita uma descrio do sistema, na seco 4.1. De seguida, so apresentados
os testes efectuados para cada uma das estratgias, apresentadas na Figura 25.

39

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 25 - Trajectrias e perfis de velocidade implementados.

40

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

4.1 Apresentao do sistema experimental

O veculo mvel utilizado foi o sistema da LEGO Mindstorms NXT numa


montagem diferencial (Figura 26). A anlise do mesmo pode ser efectuada dividindo-o em
duas partes, no software e no hardware. A nvel de hardware, o sistema constitudo por um
controlador baseado num processador de 32 bits AMR7. A sua capacidade de memria de
256 kb e a comunicao pode ser realizada de duas maneiras: atravs de uma porta USB 2.0
ou por um sistema de comunicao sem fios (Bluetooth).
Este controlador possui quatro portas de entrada que podem ser usadas para ligar os
diversos sensores (ex. sensores de luz, distncia (ultrasons, infravermelho), posio, som,
acelerao ou orientao) e trs portas de sada para ligar os motores. Os motores utilizados
so servomotores DC com um encoder ptico incorporado. A resoluo do encoder de um
grau.

Figura 26 - Veculos e sensores utilizados na implementao das trajectrias.

A nvel de software, o controlador pode ser programado atravs da linguagem grfica,


fornecida pelo fabricante do sistema.
O ambiente de programao pode ser visualizado nas Figuras 27 e 28. A linguagem
grfica NXT foi desenvolvida com base em Labview o que permite desenvolver novos
blocos directamente nesta linguagem.

41

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

As estratgias descritas no captulo 3 foram simuladas e testadas em Matlab e


posteriormente implementadas no veculo mvel NXT. A implementao das estratgias em
Matlab permite validar os programas desenvolvidos para o NXT.
As restries impostas pela linguagem de programao NXT obrigaram a adaptar os
algoritmos desenvolvidos para implementar as trajectrias (Figuras 20 e 24), de forma a
contornar entre outras, as seguintes limitaes:
- resoluo do clculo igual a 0.01;
- implementao particular das funes sinusoidais;

- baixa capacidade de processamento, impondo Tciclo200ms nos programas

implementados.

O fluxograma da Figura 29 representa a verso de implementao em NXT do


algoritmo representado no fluxograma da Figura 24.

Figura 27 - Ambiente de programao do veculo Lego. Bloco do motor.

42

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 28 - Programa desenvolvido para programao do Lego NXT, programa da parbola com perfil trapezoidal.

43

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

K =

p=

y_

(x

_ f

y_0
x_0

T (i) 1
1
36010T (i)

sin

T 2 1000
T

1
1
T (i) 36010
pd = 1
cos

T 1000
T

xi = x0 + x f x0 * p
y i = y 0 + k * (x i x 0 )2

i = 10 atg (1000 k 2 ( x i x 0 ))

I
x

(x

x 0 )* p

v yI = 2 * v xI * k * ( x i x 0 )

2 x id

4 k (x i x 0

)2

1
k

1
1
sin (10 i ) + vxI
cos(10 i )
1000
1000
1
1
v yR = v yI
cos(10 i ) + vxI
sin (10 i )
1000
1000

vxR = vyI

&

Potnciadireita = direita 0,11 + 6,47

&

Potncia esquerda = esquerda 0,11 + 5,63

Figura 29 - Fluxograma do programa a implementar no veculo mvel da Lego Mindstorms NXT.

44

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

4.2 Experincias e testes

Tendo em conta as necessidades de comando dos motores em velocidade para algumas


das estratgias e a impossibilidade de atribuir directamente referncias de velocidade aos
motores foi necessria a obteno das caractersticas (potncia vs velocidade).
Estas caractersticas foram obtidas executando uma srie de testes, em diferentes
condies: motores sem carga, motores com carga e o mesmo sentido de rotao, motores
com carga mas com sentido de rotao oposto e rotao de um motor de cada vez.
O primeiro teste foi realizado com os motores sem carga, numa gama dos 10% at aos
100% e uma tenso da bateria de 8,3V. Foram realizados testes abaixo de 10% de power mas
nem sempre certo que o motor possa rodar nestas condies.
Nas Figuras 30 e 31 apresentam-se os resultados para o motor esquerdo (C) e motor
direito (B), respectivamente.

Power (%)

Caracterstica do motor C, sem carga


100
90
80
70
60
50
40
30
20
10
0

Velocidade de rotao do
motor C (rad/s)
y = 6,1381x + 1,684
R = 0,9999
0,00

5,00

10,00

15,00

20,00

Velocidade rotao (rad/s)

Figura 30 - Caracterstica do motor C, sem carga.

45

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Power (%)

Caracterstica do motor B, sem carga


100
90
80
70
60
50
40
30
20
10
0

Velocidade de rotao do
motor B (rad/s)
y = 6,2289x + 1,1166
R = 0,9998
0,00

5,00

10,00

15,00

20,00

Velocidade rotao (rad/s)

Figura 31 - Caracterstica do motor B, sem carga.

O segundo teste que foi realizado teve em conta o veculo em carga, sobre a superfcie
onde posteriormente se iriam realizar as trajectrias e a bateria com uma tenso de 8,2 Volt. O
sentido de rotao dos dois motores foi o mesmo e numa gama de power dos 10% at aos
100% (Figuras 34 e 35).

Power (%)

Caracterstica do motor C, rotao dos dois


motores no mesmo sentido
100
90
80
70
60
50
40
30
20
10
0

Velocidade de rotao do
motor C (rad/s)
y = 6,3697x + 2,9575
R = 0,9998
0,00

5,00

10,00

15,00

20,00

Velocidade de rotao (rad/s)

Figura 32 - Caracterstica do motor C, em carga e sentido de rotao igual nos dois motores.

46

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Power (%)

Caracterstica do motor B, rotao dos dois


motores no mesmo sentido
100
90
80
70
60
50
40
30
20
10
0

Velocidade de rotao do
motor B (rad/s)
y = 6,3875x + 2,8311
R = 0,9996
0,00

5,00

10,00

15,00

20,00

Velocidade de rotao (rad/s)

Figura 33 - Caracterstica do motor B, em carga e sentido de rotao igual nos dois motores.

O teste seguinte tinha em conta a rotao apenas de uma roda, a outra permanecia
parada, obrigando o veculo a rodar em torno do ponto de contacto desta com a superfcie de
trabalho. A bateria estava com 8V e a gama de power inicia em 10% at aos 100%
(Figuras 34 e 35).

Curva caracterstica do motor C, rotao de


apenas um motor
100

Power (%)

80
60
Velocidade de rotao do
motor C (rad/s)

40
20

y = 6,5477x + 5,751
R = 0,9998

0
0,00

5,00

10,00

15,00

20,00

Velocidade de rotao (rad/s)

Figura 34 - Caracterstica do motor C, em carga e rotao de apenas um motor.

47

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Curva caracterstica do motor B, rotao de


apenas um motor
100

Power (%)

80
60
Velocidade de rotao do
motor B (rad/s)

40
20

y = 6,6525x + 4,7256
R = 0,9999

0
0,00

5,00

10,00

15,00

20,00

Velocidade de rotao (rad/s)

Figura 35 - Caracterstica do motor B, em carga e rotao de apenas um motor.

Por ltimo, foram colocados os motores com igual velocidade de rotao mas sentidos
opostos. A tenso da bateria era de 8V. Gama de power vai igualmente dos 10% aos 100%.

Curva caracterstica do motor C, rotao dos


motores em sentidos opostos
120

Power (%)

100
80
60
Velocidade de rotao do
motor C (rad/s)

40
20

y = 6,5073x + 4,2658
R = 0,9995

0
0,00

5,00

10,00

15,00

20,00

Velocidade de rotao (rad/s)

Figura 36 - Caracterstica do motor C, em carga e rotao dos motores em sentidos opostos.

48

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Curva caracterstica do motor B, rotao dos


motores em sentidos opostos
120

Power (%)

100
80
60
Velocidade de rotao do
motor B (rad/s)

40
20

y = 7,0009x + 3,4872
R = 0,9991

0
0,00

5,00

10,00

15,00

Velocidade de rotao(rad/s)

Figura 37 - Caracterstica do motor B, em carga e rotao dos motores em sentidos opostos.

Todos os testes foram realizados com o mesmo veculo, com a mesma bateria e na
mesma superfcie. Desta forma, tentou minimizar-se a influncia das variveis externas que
poderiam influenciar os resultados.
Para a implementao das trajectrias foram tidas em conta as piores condies que o
veculo poderia encontrar. Para tal utilizaram-se as curvas caractersticas dos motores para a
rotao de apenas uma roda durante o movimento.

4.2.1 Implementao de trajectrias

Os testes realizados correspondem esquematizao, apresentada na Figura 25, das


vrias estratgias e perfis (posio e velocidade) implementados.
Tendo em conta as limitaes dos meios utilizados para medir a posio e orientao
do veculo, admite-se um erro de 5mm (posio) e 2 graus (orientao) nos valores
medidos, apresentados para as vrias estratgias.

49

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia A Movimento de rotao e deslocamento linear independentes, sinal em


posio
As primeiras trajectrias a serem implementadas foram baseadas na estratgia A. Esta
estratgia consiste na diviso da trajectria em duas fases distintas: rotao da plataforma na
direco correcta, seguida de deslocamento linear da mesma. Para tal, o percurso pretendido
foi dividido num nmero de intervalos (nmero de iteraes), e obtidos os diversos pontos ao
longo da trajectria a executar.
O objectivo deste tipo de deslocamento era ir do ponto inicial at aos pontos de
destino (casos 1 e 2) com uma determinada orientao da plataforma do veculo, para tal,
foram usados os seguintes dados (Tabela 2).
Tabela 2 Valores utilizados na implementao das estratgias A1, A2 e A3.

5
56
114

N de iteraes [n]
Dimetro das rodas (d1, d2) [mm]
Distncia entre-eixos (2l) [mm]

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

200
800
---

100
400
---

Posio final (X_f) [mm]


Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Estratgia A1 Perfil de deslocamento em parbola


O primeiro perfil de posies implementado foi o correspondente estratgia A1,
deslocamento em parbola com velocidade constante. Na Tabela 3 esto descritos dois testes
para cada ponto escolhido. A orientao final do veculo coincide com a do movimento linear.
Foram ainda implementados mais dois perfis de deslocamento, um em semicrculo
(estratgia A2 Tabela 4) e um perfil em linha recta (estratgia A3 Tabela 5), todos eles
com velocidade constante.

50

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO
Tabela 3 - Resultados da implementao da trajectria com deslocamento em parbola.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
Teste 1 Teste 2
0
0
0
0
0
0
250
780
80

170
790
85

Caso 2
Teste 1 Teste 2
0
0
0
0
0
0
120
380
82

100
390
82

Estratgia A2 Perfil de deslocamento em semicrculo


Alterando o perfil de deslocamento para um semicrculo mas mantendo os pontos
finais da trajectria (0; 800) e (0; 400), os resultados so apresentados na Tabela 4.
Tabela 4 - Resultados da implementao da trajectria com deslocamento em semicrculo.

Caso 1
Posio inicial (X_0) [mm]
Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 2

0
0
0

0
0
0

0
0
0

0
0
0

50
920
60

60
910
60

30
450
50

25
460
55

Estratgia A3 Perfil de deslocamento em linha recta


Com um perfil de deslocamento em linha recta, era de esperar que os resultados
obtidos fossem melhores, uma vez que no h acumulao de erros nos clculos e nos
movimentos. Os resultados obtidos so apresentados na Tabela 5.

51

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO
Tabela 5 - Resultados da implementao da trajectria com deslocamento em linha recta.

Caso 1
Posio inicial (X_0) [mm]
Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 2

0
0
0

0
0
0

0
0
0

0
0
0

150
800
15

140
800
15

90
400
12

95
400
12

Como era esperado, os resultados foram melhorados em relao s duas estratgias


anteriores (A1 e A2).

Estratgia B Movimento de rotao e deslocamento da plataforma simultaneamente,


sinal em velocidade
A estratgia B foi implementada com trs perfis de deslocamento. O objectivo era
saber se a mudana do tipo de perfis de deslocamento poderia, ou no, afectar o erro de
posicionamento e em que grandeza. Cada perfil de deslocamento era implementado,
novamente, com trs perfis de velocidade distintos. O objectivo da implementao de um
perfil de velocidade conseguir impor a acelerao e desacelerao da plataforma do veculo,
uma vez que, um dos grandes factores de erro na movimentao e posicionamento est nestas
duas fases do movimento.

Estratgia B1 Perfil de deslocamento em parbola


Para as estratgias B1.1, B1.2 e B1.3 foram implementados perfis de velocidade
sinusoidal, trapezoidal e triangular.
Na Tabela 6 esto definidos os valores dos parmetros para as trs trajectrias
definidas anteriormente.

52

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO
Tabela 6 - Variveis de entrada para as trajectrias.

Tempo de ciclo [s]


Tempo iterao [s]

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

8
0,2
Caso 1
0
0
0

Caso 2
0
0
0

100
1000
---

300
800
---

Estratgia B1.1 Perfil de velocidade sinusoidal


A estratgia B1.1 utiliza um perfil de velocidade sinusoidal, apresentado na Figura 38.
Este tipo de perfil tem a vantagem de acelerar e desacelerar de uma forma suave mas tem
como principal inconveniente no serem as duas independentes. A Tabela 7 apresenta os
resultados da implementao dessa trajectria.

Tabela 7 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade sinusoidal.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

48
960
60

350
840
75

53

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 38 Perfil de velocidade sinusoidal para o perfil de deslocamento em parbola.

A evoluo das trajectrias resultantes dos clculos efectuados em Matlab e no


programa implementado no controlador do rob (NXT) do referencial global esto
representadas nas Figuras 39 a 42 respectivamente, validando a implementao efectuada. As
diferenas observadas resultam das limitaes de clculo do controlador NXT (ex.
resoluo = 0.01).

54

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Trajectria da posio no eixo x

Caso 1

Trajectria em posio no eixo x, referncial


global
100
80
60
40

Valores Matlab

20

Valores NXT

0
0

10

Tempo (s)

Trajectria da posio eixo do y

Figura 39 Evoluo da trajectria do veculo em posio, no eixo x do referencial global (caso 1).

Trajectria em posio no eixo y, referncial


global
1000
800
600
400

Valores Matlab

200

Valores NXT

0
0

10

Tempo (s)

Figura 40 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global (caso 1).

55

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Velocidade de rotao das rodas


15,00
Velocidade de rotao (rad/s)

13,00
11,00
Velocidade roda direita NXT

9,00
7,00

Velocidade roda esquerda


NXT

5,00

Velocidade roda direita


MatLab

3,00
1,00
-1,00

10

Velocidade roda esquerda


MatLab

-3,00
-5,00

Tempo (s)

Figura 41 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

Potncia fornecida s rodas

Power (%)

90,00
70,00

Potncia roda direita NXT

50,00

Potncia roda esquerda NXT

30,00

Potncia roda direita


MatLab

10,00

Potncia roda esquerda


MatLab

-10,00 0

10

Tempo (s)

Figura 42 - Valores de power para cada roda, calculados pelo NXT e Matlab.

Atravs da leitura dos encoders e utilizando odometria, possvel refazer a trajectria


que o veculo mvel percorreu ao longo do tempo (Figura 43).

56

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Localizao do veculo no referencial global


baseada em odometria
Trajectria no eixo y

1200
1000
800

(101,05;1042,9)

600
400
200
0
0

20

40

60

80

100

120

Trajectria no eixo x

Figura 43 - Localizao do veculo com auxlio de odometria.

Pode verificar-se, atravs da Figura 43 e dos valores apresentados na Tabela 7, que a


posio final do veculo, medida directamente na implementao laboratorial (48; 960) e a
obtida atravs da leitura e discretizao do movimento atravs dos encoders (101,05; 1042,9),
usando o modelo apresentado na seco 4.3, apresentam diferenas significativas.
Para essas diferenas podem contribuir os erros associados resoluo dos encoders,
que em odometria so cumulativos, bem como o erro associado s medies directas atrs
referidos.

57

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia B1.2 Perfil de velocidade trapezoidal


Na estratgia B1.2 modifica-se o perfil de velocidade anterior para um perfil de
velocidade trapezoidal (Figura 44). A alterao permite impor, com maior eficincia, a
acelerao, velocidade mxima e a desacelerao do veculo mas mantendo a vantagem de
estas poderem ser suaves. Os resultados obtidos so apresentados na Tabela 8.

Tabela 8 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade trapezoidal.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

45
920
70

270
800
85

O perfil de velocidade obtido em Matlab (Figura 44), neste caso, com um tempo de
acelerao e desacelerao iguais.
Tal como para o caso anterior do perfil de velocidade sinusoidal a validao da
implementao efectuada pode verificar-se nas Figuras 45 a 48.

58

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Figura 44 Perfil de velocidade trapezoidal para o deslocamento em parbola.

A trajectria calculada para eixo do x, do referencial global, foi calculada em Matlab


e no controlador do LEGO NXT e apresenta um erro menor que 1%.

Trajectria da posio eixo x

Caso 1

Trajectria em posio no eixo x, referencial


global
100
80
60
40

Valores Matlab

20

Valores NXT

0
0

10

Tempo (s)

Figura 45 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

59

Trajectria da posio eixo y

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Trajectria em posio eixo y, referencial


global
1000
800
600
400

Valores Matlab

200

Valores NXT

0
0

Tempo (s)

Figura 46 Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

Velocidade de rotao das rodas


15,00
Velocidade de rotao (rad/s)

13,00
11,00
Velocidade roda direita NXT

9,00
7,00

Velocidade roda esquerda


NXT

5,00

Velocidade roda direita


MatLab

3,00
1,00
-1,00

10

Velocidade roda esquerda


MatLab

-3,00
-5,00

Tempo (s)

Figura 47 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

60

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Power fornecida s rodas

Power (%)

90,00
70,00

Potncia roda direita NXT

50,00

Potncia roda esquerda NXT

30,00

Potncia roda direita


MatLab

10,00

Potncia roda esquerda


MatLab

-10,00 0

10

Tempo (s)

Figura 48 - Valores de power para cada roda, calculados pelo NXT e Matlab.

Estratgia B1.3 Perfil de velocidade triangular


O perfil de velocidade triangular um caso particular do perfil de velocidade
trapezoidal. Apresentando-se igualmente as Figuras 49 a 50 que permitem validar o modelo
implementado em NXT.

Trajectria da posio no eixo x

Caso 1

Trajectria em posio no eixo x, referencial


global
100
80
60
40

Valores Matlab

20

Valores NXT

0
0

10

Tempo (s)

Figura 49 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

61

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Trajectria da posio no eixo y

Trajectria em posio no eixo y, referencial


global
1000
800
600
400

Valores Matlab

200

Valores NXT

0
0

10

Tempo (s)

Figura 50 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

Velocidade de rotao (rad/s)

Velocidade de rotao das rodas


14,00
12,00
Velocidade roda direita NXT

10,00
8,00

Velocidade roda esquerda


NXT

6,00

Velocidade roda direita


MatLab

4,00
2,00

Velocidade roda esquerda


MatLab

0,00
0

10

Tempo (s)

Figura 51 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

62

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Power fornecida s rodas

Power (%)

90,00
70,00

Potncia roda direita NXT

50,00

Potncia roda esquerda NXT

30,00

Potncia roda direita


MatLab

10,00

Potncia roda esquerda


MatLab

-10,00 0

10

Tempo (s)

Figura 52 - Valores de power para cada roda, calculados pelo NXT e Matlab.

Estratgia B2 Perfil de deslocamento em semicrculo


As estratgias B2.1 e B2.2 foram implementadas com um perfil de velocidade
sinusoidal, trapezoidal e triangular.

Estratgia B2.1 Perfil de velocidade sinusoidal


Nas duas trajectrias foram utilizados os seguintes valores de variveis para a sua
implementao (Tabela 9).
O perfil de velocidade idntico ao utilizado na estratgia B1.1. Os resultados obtidos
esto apresentados na Tabela 10.

63

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO
Tabela 9 - Variveis de entrada para as trajectrias.

Tempo de ciclo [s]


Tempo iterao [s]

8
0,2

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

Posio final (X_f) [mm]


Posio final (Y_f) [mm]
Orientao final (_f) [graus]

0
-1000
---

0
-500
---

Tabela 10 - Valores medidos da implementao da trajectria pelo NXT, perfil da velocidade sinusoidal.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

0
-990
180

0
-490
180

A validade da implementao pode ser observada nas Figuras 53 a 56, tal como nos
casos anteriores.

64

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Caso 1

Trajectria da posio eixo do x

Trajectria em posio no eixo x, referencial


global
0
0

10

-200
-400
Valores Matlab
-600

Valores NXT

-800
-1000

Tempo (s)

Figura 53 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

Trajectria da posio eixo do y

Trajectria em posio no eixo y, referencial


global
500
400
300
200

Valores Matlab

100

Valores NXT

0
0

10

Tempo (s)

Figura 54 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

65

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Velocidade de rotao das rodas


0,00
Velocidade de rotao (rad/s)

-2,00 0

10

-4,00
Velocidade roda direita NXT

-6,00
-8,00

Velocidade roda esquerda


NXT

-10,00

Velocidade roda direita


MatLab

-12,00
-14,00

Velocidade roda esquerda


MatLab

-16,00
-18,00
-20,00

Tempo (s)

Figura 55 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

Potncia fornecida s rodas


0
-10 0

10

-20
Potncia roda direita NXT

Potncia (%)

-30
-40

Potncia roda esquerda NXT

-50
Potncia roda direita
MatLab

-60
-70

Potncia roda esquerda


MatLab

-80
-90
-100

Tempo (s)

Figura 56 - Valores de power para cada roda, calculados pelo NXT e Matlab.

Atravs da leitura dos encoders e utilizando odometria, refaz-se a trajectria que o


veculo mvel percorreu ao longo do tempo.

66

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

O valor calculado a partir dos encoders permite calcular a posio do veculo no


referencial global que para a estratgia B2.1 e caso 1, apresentada na Figura 57.

Localizao do veculo no referencial global


baseada em odometria
0
Trajectria no eixo do y

-100 0

50

100

150

200

250

300

350

400

450

500

-200
-300
-400
-500
-600
-700
-800

(0; -968.2)

-900
-1000

Trajectria no eixo do x

Figura 57 - Localizao do veculo com auxlio de odometria.

Pode verificar-se, atravs da Figura 57, que a posio final do veculo, medida
directamente na implementao laboratorial (0; -990) e a obtida atravs do modelo de
odometria apresenta um erro substancial.

67

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia B2.2 Perfil de velocidade trapezoidal


Nesta estratgia usa-se um perfil de velocidade trapezoidal, idntico da estratgia
B2.2. Na Tabela 11 so apresentados os resultados obtidos.

Tabela 11 - Valores medidos da implementao da trajectria pelo NXT, perfil de velocidade trapezoidal.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

20
-980
5

15
-495
5

Tal como para os casos anteriores, as Figuras 58 a 61 permitem validar a


implementao efectuada.

Caso 1

Trajectria da posio no eixo x

Trajectria em posio no eixo x, referencial


global
0
0

10

-200
-400
Valores Matlab
-600

Valores NXT

-800
-1000

Tempo (s)

Figura 58 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

68

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Trajectria da posio no eixo y

Trajectria em posio no eixo y, referencial


global
1000
800
600
400

Valores Matlab

200

Valores NXT

0
0

10

Tempo (s)

Figura 59 Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

Velocidade de rotao das rodas


0
Velocidade de rotao (rad/s)

-1 0

10

-2
Velocidade roda direita NXT

-3
-4

Velocidade roda esquerda


NXT

-5

Velocidade roda direita


MatLab

-6
-7

Velocidade roda esquerda


MatLab

-8
-9
-10

Tempo (s)

Figura 60 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

69

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Potncia fornecida s rodas


0
-10 0

10

-20
Potncia roda direita NXT

Potncia (%)

-30
-40

Potncia roda esquerda NXT

-50
Potncia roda direita
MatLab

-60
-70

Potncia roda esquerda


MatLab

-80
-90
-100

Tempo (s)

Figura 61 - Valores de power para cada roda, calculados pelo NXT e Matlab.

70

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia B3 Deslocamento em linha recta


Na estratgia B3 foi implementado um deslocamento em linha recta. O objectivo era
deslocar o veculo de um ponto para o outro, mantendo a orientao inicial, e medir a posio
e orientao final do mesmo. Foram utilizados trs perfis de velocidade, sinusoidal B3.1,
trapezoidal B3.2 e triangular B3.3.
Os pontos utilizados para a implementao desta estratgia foram os apresentados na
Tabela 12.

Tabela 12 Ponto inicial e final do movimento em linha recta para os perfis B3.1, B3.2 e B3.3..

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

900
0
0

500
0
0

Estratgia B3.1 Perfil de velocidade sinusoidal


Para esta estratgia foi usado um perfil idntico ao da estratgia B1, mas com os
pontos inicial e final do movimento representados na Tabela 12. Neste tipo de deslocamento
pretende-se avaliar a capacidade do veculo manter uma trajectria em linha recta.
Os resultados obtidos para os dois casos testados esto apresentados na Tabela 13.
Tabela 13 Valores medidos da implementao da trajectria pelo NXT.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

900
30
5

470
40
10

71

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Com o objectivo de validar o programa implementado no controlador do veculo, tal


como nos casos anteriormente apresentados, foram aferidos os resultados obtidos em Matlab e
em NXT (Figuras 62 a 65).
Caso 1

Trajectria da posio no eixo x

Trajectria em posio no eixo x, referencial


global
900
800
700
600
500
400
300
200
100
0

Valores Matlab
Valores NXT

10

Tempo (s)

Figura 62 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

Trajectria da posio no eixo y

Trajectria em posio no eixo y, referencial


global
5
4
3
2

Valores Matlab

Valores NXT

0
0

10

Tempo (s)

Figura 63 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

72

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Velocidade de rotao (rad/s)

Velocidade de rotao das rodas


10,00
9,00
8,00
7,00
6,00
5,00
4,00
3,00
2,00
1,00
0,00

Velocidade roda direita NXT


Velocidade roda esquerda
NXT
Velocidade roda direita
MatLab
Velocidade roda esquerda
MatLab
0

10

Tempo (s)

Figura 64 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

Power fornecida s rodas


100,00
90,00
80,00
Power (%)

70,00

Potncia roda direita NXT

60,00
50,00

Potncia roda esquerda NXT

40,00
30,00

Potncia roda direita


MatLab

20,00
10,00

Potncia roda esquerda


MatLab

0,00
0

10

Tempo (s)

Figura 65 - Valores de power para cada roda, calculados pelo NXT e Matlab.

73

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

A posio do veculo no referencial global, obtida a partir das medies efectuadas


com os encoders das rodas apresentada na Figura 66.

Localizao do veculo no referencial global


baseada em odometria
Trajectria no eixo y [mm]

0,9

0,4

(870,84; -0,40)
-0,1

100

200

300

400

500

600

700

800

900

-0,6

-1,1

Trajectria no eixo x [mm]

Figura 66 - Localizao do veculo com auxlio base em odometria.

O erro baseado no modelo de odometria encontra-se dentro do intervalo 1mm,


aproximadamente, na direco y. No entanto comparando a posio final obtida com este
modelo com os valores medidos (900; 30), Tabela 13, pode concluir-se que o erro bastante
superior.

74

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia B3.2 Perfil de velocidade trapezoidal


O perfil de velocidade anterior foi alterado para trapezoidal permitindo impor os
tempos de acelerao e de desacelerao.
Os valores obtidos para os dois casos testados foram registados na Tabela 14.
Tabela 14 Valores medidos da implementao no NXT para a trajectria B3.2.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

900
50
10

500
10
5

Posio final (X_f) [mm]


Posio final (Y_f) [mm]
Orientao final (_f) [graus]

As Figuras 67 a 70 mostram que os resultados obtidos em Matlab e NXT so bastante


semelhantes, validando o programa implementado no controlador no veculo.

Trajectria da posio no eixo x

Caso 1

Trajectria em posio no eixo x, referencial


global
900
800
700
600
500
400
300
200
100
0

Valores Matlab
Valores NXT

10

Tempo (s)

Figura 67 Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

75

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Trajectria da posio no eixo y

Trajectria em posio no eixo y, referencial


global
10
8
6
4

Valores Matlab

Valores NXT

0
0

10

Tempo (s)

Figura 68 Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

Velocidade de rotao (rad/s)

Velocidade de rotao das rodas


10,00
9,00
8,00
7,00
6,00
5,00
4,00
3,00
2,00
1,00
0,00

Velocidade roda direita NXT


Velocidade roda esquerda
NXT
Velocidade roda direita
MatLab
Velocidade roda esquerda
MatLab
0

10

Tempo (s)

Figura 69 Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

76

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Power fornecida s rodas


100,00
90,00
80,00
Power (%)

70,00

Potncia roda direita NXT

60,00
50,00

Potncia roda esquerda NXT

40,00
30,00

Potncia roda direita


MatLab

20,00
10,00

Potncia roda esquerda


MatLab

0,00
0

10

Tempo (s)
Figura 70 - Valores de power para cada roda, calculados pelo NXT e Matlab.

Estratgia B3.3 Perfil de velocidade triangular


Por ltimo foi implementado um perfil de velocidade triangular para se verificar se
havia alterao significativa dos resultados obtidos.
Os valores obtidos para os dois casos testados esto listados na Tabela 15.

Tabela 15 Valores medidos da implementao da trajectria pelo NXT, estratgia B3.3.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

960
40
10

470
30
10

As Figuras 71 a 74, tal como nos casos anteriores, permitem validar a implementao
no sistema NXT.

77

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Caso 1

Trajectria da posio no eixo x

Trajectria em posio no eixo x, referencial


global
900
800
700
600
500
400
300
200
100
0

Valores Matlab
Valores NXT

10

Tempo (s)

Figura 71 - Evoluo da trajectria do veculo em posio, no eixo x do referencial global.

Trajectria da posio no eixo y

Trajectria em posio no eixo y, referencial


global
10
8
6
4

Valores Matlab

Valores NXT

0
0

10

Tempo (s)

Figura 72 - Evoluo da trajectria do veculo em posio, no eixo y do referencial global.

78

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Velocidade de rotao (rad/s)

Velocidade de rotao das rodas


10,00
9,00
8,00
7,00
6,00
5,00
4,00
3,00
2,00
1,00
0,00

Velocidade roda direita NXT


Velocidade roda esquerda
NXT
Velocidade roda direita
MatLab
Velocidade roda esquerda
MatLab
0

10

Tempo (s)

Figura 73 - Valores de velocidade de rotao das rodas calculados pelo NXT e Matlab.

Power fornecida s rodas


100,00
90,00
80,00
Power (%)

70,00

Potncia roda direita NXT

60,00
50,00

Potncia roda esquerda NXT

40,00
30,00

Potncia roda direita


MatLab

20,00
10,00

Potncia roda esquerda


MatLab

0,00
0

10

Tempo (s)

Figura 74 - Valores de power para cada roda, calculados pelo NXT e Matlab.

79

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia C Movimento de rotao e deslocamento linear independentes, com


correco de erros de orientao e posio

A estratgia C consiste numa adaptao da estratgia A, ou seja movimentos de


orientao e deslocamento linear independentes e sucessivos. Uma primeira alterao consiste
em usar a informao de orientao de uma bssola digital para alinhar a plataforma na
direco pretendida. Para alm desta correco utilizou-se um sensor de distncia (por
infravermelhos) para obter os erros de posio relativamente a dois alvos fixos no referencial
absoluto, e desta forma corrigir o erro de posio , .

A implementao desta estratgia est delineada na Figura 75.


A utilizao dos sensores pressupe deslocamentos com velocidades reduzidas. Na

Tabela 16 esto representadas as condies para os casos testados e na Tabela 17 medidos.

Tabela 16 - Valores da posio inicial e final pretendida.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

Caso 1
0
0
0

Caso 2
0
0
0

200
800
0

100
400
0

Tabela 17 Valores medidos da implementao da trajectria pelo NXT, trajectria C.

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

80

Caso 1
0
0
0

Caso 2
0
0
0

200
800
0

100
400
0

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Posicionamento manual do veculo no


ponto inicial, verificando a orientao
desejada pela informao da bssola.

Movimento autnomo de orientao na direco ao ponto de


destino, usando a informao da bssola.

Movimento de deslocamento linear at ao ponto de destino.

Movimento de orientao para alinhamento com o alvo (y).

Medida de distncia e movimento linear (correco segundo y).

Movimento de orientao para alinhamento com o alvo (x).

Medida de distncia e movimento linear (correco segundo x).

Movimento de rotao para a orientao final, usando a informao


da bssola.

Figura 75 - Estratgia de implementao de movimentos de rotao e deslocamento linear com correco utilizando
sensores externos.

81

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Estratgia D Movimento circular, com um raio de curvatura conhecido e velocidades


constantes

Uma das vantagens do veculo diferencial que a implementao de uma trajectria


circular (de raio R) consiste num caso particular, simples, do modelo cinemtico: a relao
entre as velocidades das rodas mantm-se constante ao longo da trajectria.
Com a estratgia D pretendia-se, de uma forma simples, verificar a qualidade deste
tipo de trajectria circular. Implementou-se a estratgia para vrias velocidades ficando
descrito na Tabela 18 os resultados obtidos.

Tabela 18 - Movimentos de rotao em torno de um ponto fixo.

Caso 1
500
0
90

Posio inicial (X_0) [mm]


Posio inicial (Y_0) [mm]
Orientao inicial (_0) [graus]
Raio da circunferncia
Power (%)
Posio final (X_f) [mm]
Posio final (Y_f) [mm]
Orientao final (_f) [graus]

500
Caso 1 (40%)

Caso 2 (80%)

490
0
90

500
0
90

4.3 Concluses

Conseguiu-se implementar diferentes trajectrias representativas de movimentos


tpicos (rectilneo, circular, parablico) e com diferentes perfis de velocidade (sinusoidal,
triangular, trapezoidal), num veculo de baixo custo. Os testes efectuados limitaram-se a um
conjunto reduzido de casos, em parte devido s dificuldades derivadas das limitaes da
linguagem de programao e dos componentes do sistema.
A possibilidade de este sistema de baixo custo poder incluir sensores para correco
de posicionamento, extende a sua aplicao para alm da baseada unicamente em odometria.

82

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

5 Concluses e trabalhos futuros


O trabalho aqui apresentado teve como objectivo desenvolver um sistema de
movimentao autnoma de robs mveis com base num sistema de baixo custo (Lego
Mindstorms NXT 2.0).
A rea da robtica mvel sem dvida uma rea em expanso. Tarefas to variadas
como armazenagem, explorao de locais desconhecidos, segurana ou servios esto a exigir
tecnologias e solues inovadoras. No sentido de tornar possvel uma maior utilizao de
robs mveis, as empresas tm necessidade de criar solues mais acessveis e amigas do
utilizador.
Ao longo do trabalho foram abordadas vrias solues para implementao de
trajectrias. Estas envolvem essencialmente dois tipos de movimentao: movimentos de
rotao e translao independentes por um lado e, comando de velocidade que resulta em
movimento de orientao e translao executadas simultaneamente.
A programao do rob mvel foi feita no ambiente de programao fornecido pela
Lego, Mindstorms NXT Programming 2.0. Todos os programas foram validados em
Matlab.
O ambiente de programao da Lego Mindstorms NXT 2.0 baseia-se numa
linguagem grfica em que o programa definido por uma sequncia de aces representadas
por blocos. Estas caractersticas, por vezes, facilitam a elaborao de programas simples mas
dificultam a programao de tarefas mais elaboradas e especficas.
Actualmente o veculo capaz de efectuar trajectrias em parbola, semicirculares e
em linha recta, com perfis de velocidade sinusoidais, trapezoidais e triangulares. Foi ainda
testada a correco da orientao do veculo atravs de uma bssola digital e a correco da
posio com auxlio a um sensor de infravermelhos.
A avaliao dos resultados foi dificultada pela no disponibilidade de meios expeditos
para medio dos erros de posicionamento. Apesar destas dificuldades foi possvel verificar
que as trajectrias com perfis de velocidade trapezoidal, pelo facto de permitirem ajustar a
acelerao/ desacelerao, minimizam os problemas de comando do veculo a baixas
velocidades melhorando o seu desempenho.

83

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

Sendo um veculo de baixo custo, os problemas de pouca rigidez da plataforma,


incerteza nos parmetros dimensionais, folgas, entre outros, evidenciam as diferenas do
modelo cinemtico utilizado relativamente ao sistema real. A estas limitaes somam-se ainda
a baixa resoluo dos encoders (1), o comportamento a baixa velocidade dos motores e a
capacidade de processamento do controlador (ex. resoluo de 0.01, baixa velocidade de
processamento).
O trabalho desenvolvido pode ser utilizado para testar mais casos e servir de base
utilizao de outros mtodos complementares de localizao.

84

Movimentao Autnoma de Robs Mveis de Baixo Custo, com Base no Sistema NXT da LEGO

6 Referncias
[1] Siegwart, R., Nourbakhsh, I. R., Introduction to autonomous mobile robots, A Bradford
Book, MIT press, United States of America, 2004.
[2]Groover,

M.

P.,

Automation,

production

systems,

and

computer-integrated

manufacturing, Prentice-Hall, Inc., Englewood Cliffs, NJ, 2000.


[3] www.mobilerobots.com/researchrobots/researchrobots/pioneerp3dx.aspx (consultado em
03/03/2010)
[4] - www.automation.siemens.com (consultado em 03/03/2010)
[5] - www.danahermotion.com (consultado em 03/03/2010)
[6] - www.swisslog.com (consultado em 04/03/2010)
[7] H. Choset, Principles of robot motion: theory, algorithms, and implementation,
MIT Press, Cambridge, MA, 2005.
[8] - http://botleague.net/robot-stats.asp (consultado em 20/03/2010)
[9] - http://crasar.org/ (consultado em 21/03/2010)
[10] - www.fmcsgvs.com (consultado em 10/03/2010)
[11] - www.gottwald.com (consultado em 10/03/2010)
[12] - www.omnixtechnology.com (consultado em 30/03/2010)
[13] - www.robotshop.ca (consultado em 30/03/2010)
[14] - www.globalsecurity.org (consultado em 01/04/2010)
[15] - www.softdesign.se/ (consultado em 02/04/2010)
[16] J. C. Latombe, Robot motion planning, kluwer Academic Plublishers, Boston/
Dordrecht/ London, 1991.
[17] Vieira, F. C., Controle dinmico de robs mveis com acionamento diferencial,
Dissertao, Grau de Mestre, Programa de Ps-Graduao em Engenharia Eltrica,
Universidade Federal do Rio Grande do Norte, Rio Grande do Norte, Brasil, 2005.
85

Você também pode gostar