Você está na página 1de 12

UMA SOLUÇÃO DE PLANEJAMENTO DE ROTAS PARA MINI-ROBÔS MÓVEIS

INTELIGENTES, BASEADA EM SINAIS SIMULADOS DO GLOBAL POSITION


SYSTEMS (GPS)
*
João Reis (joaodrsj@yahoo.com.br), Diego Ferreira (diegoof@gmail.com) e Benedito Tourinho Dantas
(tourinho@frb.br)

___________________________________________________________________________
RESUMO
O fascínio por aparatos eletrônicos aplicados na solução de problemas que reduzam os riscos para a vida do
homem, substituindo-o por máquinas móveis, ditas inteligentes, remonta à Antigüidade. Para contribuir com
estudos dessa área do conhecimento, este trabalho apresenta uma solução de um protótipo, montado a partir da
integração de diferentes tecnologias. A utilização do kit Lego® Mindstorm, associado ao uso da linguagem
NQC, e simulação do sinal GPS, permitiu o desenvolvimento de um mini-robô móvel inteligente que se locomove
em um ambiente desconhecido, desviando-se de obstáculos e planejando sua rota.
PALAVRAS-CHAVE: robôs móveis, planejamento de rota, Lego® Mindstorm.
__________________________________________________________________________________________

INTRODUÇÃO

Atualmente, os robôs são empregados em diversas aplicações, quer seja na indústria ou na


fabricação e transporte de materiais, peças e ferramentas de diversos tipos. Segundo Pazos
(2002), existem muitas razões para utilizar robôs, entre elas, reduzir custos de longo prazo e
melhorar a produtividade, qualidade e gerenciamento da produção.
Esses robôs geralmente ficam estacionados em um local, fazendo sempre as mesmas
atividades a eles designadas. Entretanto, o uso da robótica móvel inteligente lhes dá a
capacidade de locomoção, realizando suas próprias tarefas e tomando decisões, dependendo
das informações percebidas do meio. Existe, por exemplo, o projeto Mars Expedition Rover,
da Agência Espacial Norte-Americana (NASA), em que dois robôs, o Spirit e o Opportunity,
exploram o Planeta Marte (MUSSER, 2004).
Esses robôs são enviados para examinar o solo e recolher amostras de uma determinada
região. Durante essa operação, podem ocorrer problemas no monitoramento por conta de
erros ou atrasos das informações, devido à distância da estação de comando. Sendo assim,
para navegar, eles precisam perceber o ambiente nas decisões dos seus movimentos e
conhecer sua posição para planejar uma rota.
O aperfeiçoamento desses equipamentos permite a exploração e também a possibilidade de
navegar em ambientes hostis e desconhecidos, fazendo com que eles reajam de forma
inteligente, aos estímulos do meio.
As dificuldades que aparecem no processo de montar esses robôs são: atribuir-lhes a
capacidade de interpretação das informações de forma inteligente; direcionar o equipamento
para um destino conhecido; contornar os diferentes obstáculos e calibrarem as coordenadas a
partir de uma leitura externa, além de fazer todas essas atividades em um tempo e velocidade
razoáveis.
Este trabalho tem o objetivo de simular uma solução para o problema de movimentação de um
mini-robô móvel em um ambiente desconhecido, iniciando o movimento a partir de uma
coordenada, até outra posição de destino, conhecida, resolvendo o problema do planejamento
da rota de forma autônoma.
O kit Lego® utilizado no trabalho é uma ferramenta que possibilita a prototipação de mini-
robôs móveis inteligentes (RMIs), resolvendo as questões da camada eletrônica, facilitando a
*
Graduandos do curso de Ciências da Computação sob orientação do professor Benedito Tourinho
(tourinho@frb.br).
2

abstração mecânica e permitindo um ambiente computacional de razoável capacidade.


O mini-robô Lego® tem dificuldades semelhantes às dos originais: realizar as suas próprias
decisões, de forma inteligente, desviar-se dos obstáculos encontrados em uma simulação do
mundo real e replanejar sua posição com a leitura obtida através de sensores e das
coordenadas simuladas de GPS (Global Position System), para apontar a direção a ser
seguida.
O capítulo seguinte apresenta o levantamento do referencial teórico utilizado para desenvolver
a solução. O terceiro capítulo descreve o trabalho implementado, desde o planejamento da
abstração mecânica e do código, a construção da unidade móvel planejada, a programação do
código, até a montagem do contexto que simula a comunicação com o GPS e testes da
solução. Por fim, apresentam-se as considerações finais deste estudo.

PLANEJANDO ROTAS E CONSTRUINDO MINI-ROBÔS

Este item apresenta definições de planejamento de rota, robótica, automação e conceitos de


Inteligência Artificial (IA) utilizado no projeto. Também estão descritos os componentes do
kit LEGO® Mindstorm™, destacando-se o pré-processador RCX e os sensores usados no
robô. Em seguida, abordam-se as definições necessárias para a compreensão do que é a
linguagem Not Quit C (NQC), empregada para manipular os componentes eletrônicos do
robô, a comunicação wireless necessária, além da composição e dos tipos de utilidades do
GPS.

PLANEJAMENTO DE ROTA

Considera-se rota como o caminho a ser percorrido entre a origem e o destino. O seu
planejamento é feito através do tratamento das informações obtidas pelo robô, originadas dos
sensores, de fatos existentes no ambiente no qual o robô está inserido e das coordenadas
simuladas GPS, recebidas através de comunicação wireless.
Existem diversas formas de mapeamento e navegação, entre as quais se destacam as baseadas
em mapas métricos e qualitativos. Nas representações utilizando mapas métricos, os
ambientes dos robôs são definidos por um sistema único de coordenadas. O mapa é uma rede
na qual cada célula representa algum espaço no mundo real. Já nas representações com os
mapas qualitativos, também chamados de mapas topológicos, os ambientes dos robôs são
representados por “lugares” e conexões entre eles. A idéia é de um mapa que não contém
métrica, informação geométrica ou geográfica. Interessam nelas apenas os lugares e não o
meio que estão inseridos (KORTENKAMP et. al., 1998).
Nesse trabalho o planejamento de rota foi feito baseado na simulação de sinais GPS, leitura de
sensores e auxiliado por uma bússola analógica monitorada por um sensor ótico. Nele são
utilizados os dois planos de navegação, um global e um de reação à colisão. O plano global é
o caminho que o aparato deve seguir para chegar ao seu objetivo; o de reação à colisão
implementa a estratégia que determina quais decisões devem ser tomadas ao ocorrer tal
problema (KORTENKAMP et. al., 1998).

ROBÓTICA

De acordo com Salant (1990, p.1), a robótica é o estudo feito sobre qualquer tipo de
equipamento mecânico, controlado e motorizado por computador. Esses dispositivos podem
ser programados para fazer diversas tarefas de modo automático, ou seja, sem a supervisão
humana.
A robótica móvel é um desafio para os pesquisadores de Inteligência Artificial (IA). Os robôs
móveis são autônomos e requerem a integração do sensoriamento, ação e planejamento como
um sistema único (KORTENKAMP et. al., 1998).

2
3

Atualmente, a comunidade de IA apresenta uma visão dominante na qual um sistema de


controle de um robô móvel autônomo deve ser decomposto em três elementos funcionais:
sensoriamento, planejamento e execução. A função do sistema de sensoriamento é traduzir a
entrada dos sensores em um modelo global. O sistema de planejamento reproduz o modelo
global, encontra um destino e gera um plano para chegar ao ponto desejado. Já o sistema de
execução parte do plano e produz as ações que ele executa (KORTENKAMP et. al., 1998).

KIT LEGO MINDSTORM

Os kits da linha LEGO® Mindstorm™ são especialmente desenvolvidos para a construção de


mini-robôs móveis de maneira simples e rápida. A sua utilização auxilia várias atividades de
educação e pesquisa. Esse kit possui um controlador que abstrai a camada eletrônica, e é
utilizado como unidade de processamento central, o cérebro do robô, que vem encapsulado
num “tijolo” Lego®.
Através desse “tijolo”, pode-se gerar corrente para a movimentação dos motores, processar
programas de computadores e ler dados sensoriais. Essa unidade apresenta as seguintes portas
de comunicação: três saídas para comando de motores, três entradas para uso de sensores e
uma porta de comunicação infravermelho (IR), como demonstrado na figura 1.

Figura 1 – Unidade de controle RCX.

Além disso, esse equipamento possui internamente um processador Hitachi 8 bits de 16 MHz,
16 Kb de memória ROM (Read-Only Memory) para controladores de dispositivos, 32 Kb de
memória RAM (Random-Access Memory) para firmware (HÜBNER, 2004).
O RCX exige a carga inicial do firmware, que se transforma no seu sistema operacional. As
rotinas da ROM carregam as rotinas desse sistema a partir da torre IR, armazenando na RAM.
O firmware, além de processar as rotinas da ROM, pode reconhecer e responder às operações
realizadas por cada botão do painel do RCX e, o mais importante, pode receber programas
(definidos num nível mais alto de programação, chamados de bytecodes), através da porta da
torre IR, interpretá-los e executá-los.

SENSORES

Existe uma variedade de tipos de sensores usados como dispositivos periféricos em robótica,
toque, luz, temperatura, resistência, presença, sonar, pneumático. Porém, neste trabalho,
apenas os que estão sendo usados na construção do robô terão destaque.
Os sensores óticos são projetados para emitir e receber luz. Eles percebem a proximidade de
um obstáculo pela sua influência na propagação do sinal, como ilustra a figura 2.

Figura 2 – Sensor óptico – proximidade.


3
4

Entre suas funcionalidades, está a capacidade de indicar a presença e de perceber tons, bem
como a proximidade de um objeto, o que, conforme Groover (1988), é uma característica
especialmente útil para sistemas de locomoção e de dirigibilidade.
O sonar é um sensor que emite e recebe ondas sonoras e, a depender do tempo de propagação
entre a emissão e a recepção da onda, o robô identificará a distância da barreira. A figura 3
seguinte ilustra o sonar.

Figura 3 – Sensor ultra-sônico de 24KHz.

A capacidade de percepção do sonar encontra-se no intervalo entre 30 cm e 2,5 m, e o seu


feixe tem a propagação angular, em forma de cone, com dispersão de aproximadamente 30
graus. A figura 4 ilustra esse comportamento, apresentando, no lado esquerdo, a fonte de
emissão e, no lado direito, a de recepção de ondas, medindo-se, assim, o campo de detecção
do sensor.

Figura 4 – Emissão e capitação da onda, feixe do ângulo percepção do sensor.

Para detecção de obstáculos, uma vantagem desses dispositivos, em relação ao sensor de luz,
é a independência da iluminação do ambiente, visto que o sonar trabalha com ondas ultra-
sônicas e, portanto, não é afetado pelo grau de luminosidade do espaço e nem pela
transparência de um objeto à sua frente. Por outro lado, eles também apresentam algumas
limitações: não funcionam bem com superfícies acústicas, possuem uma área angular de
detecção restrita a 30º e não conseguem diferenciar distâncias inferiores a onze polegadas de
um objeto à frente, tampouco trabalha em ambientes de muito ruído sonoro.
A utilização de diversos sensores maximiza a robustez de identificação da aproximação,
considerando que diferentes tipos apresentam diferentes características próprias de percepção.
Eles apresentam algumas características principais: faixa de atuação, exatidão e relação sinal-
ruído.
Define-se como faixa do sensor o conjunto de todos os níveis de amplitude da grandeza física
em que o sensor pode operar. Por exemplo, um sensor de temperatura pode ser fabricado para
operar de 0 ºC a 100 ºC. A exatidão de um sensor é a diferença entre o valor real do sinal de
saída entregue por ele e o sinal ideal a que ele deveria retornar como valor de grandeza física
medido. A relação sinal-ruído é a ligação que existe entre a potência de um sinal qualquer,
entregue na saída do aparelho e a potência do sinal de ruído, medida com o envio de uma
informação de entrada nula. Essa correspondência pode ser medida em percentuais decibéis
(dB) (PAZOS, 2002).

4
5

ATUADORES

Os atuadores são dispositivos responsáveis pela movimentação do robô, através de forças


aplicadas sobre as juntas. Os atuadores podem ser de três tipos: elétricos, pneumáticos e
hidráulicos.
Segundo Groover (1988), tanto os atuadores pneumáticos quanto os hidráulicos são acionados
por fluidos em movimento. No primeiro caso, o fluido é o ar comprimido e, no segundo caso,
geralmente óleo pressurizado. A figura 5 apresenta um atuador elétrico utilizado pelos kits
Lego®.

Figura 5 – Atuador elétrico (Fonte: LEGO® MINDSTORM™, 2004).

Os motores elétricos são os atuadores mais usados pelos projetistas de robôs. Eles oferecem
uma boa “controlabilidade” a um custo baixo de manutenção.

NOT QUIT C (NQC)

A linguagem NQC é uma adaptação da linguagem C, desenvolvida para ser empregada na


manipulação de componentes robóticos do Lego. Ela permite o acesso e configuração de
sensores e atuadores através de algoritmos de controle implementados no RCX.
Essa linguagem apresenta algumas restrições impostas pelo firmware da Lego, todavia, além
de possuir a vantagem de ser fácil de programar, ela se beneficia da estabilidade deste
“sistema operacional” que apresenta suporte à comunicação sem fio e permite compilação,
através de uma linha de comando. É importante salientar que existem outros ambientes de
programação para o RCX, como o Java e Delphi, embora o utilizado no trabalho tenha sido o
NQC.

COMUNICAÇÃO WIRELESS

O nome wireless vem sendo comumente utilizado no meio da informática para designar as
tecnologias que permitem comunicação sem conexão física direta entre os equipamentos.
Entre as vantagens existentes, uma é que essa tecnologia pode ser utilizada com maior
eficiência em locais de difícil instalação de cabos, fazendo com que todo o sistema adquira
maior mobilidade e autonomia.
Porém, a comunicação wireless exibe um comportamento menos confiável, com taxas de erro
que podem ter ordens de grandeza superiores e períodos de inacessibilidade freqüentes. Esses
efeitos ocorrem com maior freqüência quando essas técnicas de comunicação são empregadas
em aplicações para robôs móveis que operam em ambientes dinâmicos, onde uma avaliação e
ou condicionamento prévio do meio operacional é muito custosa (CAMBADA, 2004).
A figura 6 apresenta o esquema básico de comunicação entre um microcomputador e o
controlador RCX. Observa-se o computador enviando mensagens, através da IR tower na
forma de ondas infravermelhas para o RCX.

5
6

Figura 6 – Comunicação entre computador e o RCX (Fonte: NIED, 2004).

Essa comunicação é usada para realizar a troca de mensagens entre o robô e o computador, na
qual o programa foi desenvolvido e as coordenadas globais foram produzidas. O RCX irá se
comunicar com o microcomputador através de uma conexão IR. Desta forma, o robô receberá
as informações necessárias para se locomover no ambiente em que for inserido.

GLOBAL POSITION SYSTEMS (GPS)

O GPS é um sistema de navegação baseado em sinais de rádio que cobre o mundo inteiro. Ele
é composto por satélites e estações associadas em terra, os quais, em conjunto, por
triangulação, calculam as coordenadas de uma localização terrestre, medindo distâncias em
relação a, pelo menos, três satélites.
Na robótica, o uso desse equipamento contribui para aumentar o grau de liberdade dos robôs,
adquirindo maior autonomia para navegar em um terreno desconhecido e se desviar de
obstáculos sem perder a orientação global e a referência do seu destino. Nesse trabalho, como
proposto inicialmente, será feito uma simulação das coordenadas transmitidas por esse
equipamento.

CONSTRUINDO O ROBÔ PLANEJADOR DE ROTAS

Montou-se um protótipo básico de um mini-robô móvel, com duas esteiras de borracha


acopladas em suas laterais. Cada esteira é controlada por um atuador com funcionamento
autônomo, fazendo com que, além de se movimentar para frente e para trás, possa também
virar para a direita e à esquerda, em diferentes ângulos de curva, dependendo da rotação em
conjunto dos atuadores. A figura 7 mostra vista em perspectiva do equipamento montado.

Figura 7 – Visão em perspectiva do mini-robô.

Tais esteiras provêem melhor mobilidade por terem seu ambiente de navegação mais
adequado a esse tipo de instrumento de deslocamento. Para a detecção de obstáculos e
reconhecimento do ambiente, é usado um par de sonar, ambos posicionados na parte frontal
do aparato e direcionados para frente, como mostra a figura 8.

6
7

Figura 8 – Posicionamento dos sonares no mini-robô.

Também foi utilizada uma bússola analógica embarcada na parte superior do mini-robô,
acoplada a um sensor de luz, que identifica o norte geográfico, como pode ser visto na figura
9. Essa bússola foi colocada para permitir que o robô conheça o ângulo em que ele se
encontra, em determinado momento.

Figura 9 – Bússola adaptada ao sensor de luz.

A bússola foi pintada toda de preto e a parte imantada da sua agulha, de branco, para facilitar
a reflexão da luz, melhorando a percepção do sensor, já que o contraste garante maior
precisão na leitura da direção. Ela foi colocada a uma distância aproximada de 15 cm do
RCX, sobre uma torre, como mostra a figura 7, evitando o campo magnético gerado pelo
circuito do controlador. Esse circuito produz um campo magnético que provoca interferência
na bússola. O valor de 15 cm foi adquirido experimentalmente.
A transmissão das coordenadas é feita através do envio das coordenadas, simuladas pelo
computador e encaminhadas através da torre infrared do kit Lego®, onde é captada pela
porta IR do RCX e posteriormente processada pelo programa NQC do mini-robô. A
simulação utilizada não interfere no código do planejamento do robô, deixando-o
desacoplado. Isso possibilita uma futura migração para um GPS real, em ambientes de
maior escala.
Para que o robô faça o seu planejamento de rota, foi desenvolvido um sistema de navegação
no qual, a partir de dois conjuntos de coordenadas cartesianas: um representando a posição
inicial ou posição atual do móvel, ou seja, seu ponto de localização, e outro representando o
objetivo ou local de chegada, o equipamento calcula nova rota.
Então, após obter as posições iniciais x e y e finais x’ e y’, subtrai-se o x’ por x (1), operando,
da mesma maneira, com y’ e y (2). Assim, obtêm-se o cateto adjacente (Ca) e o oposto (Co).
Com isso, calcula-se o complemento do ângulo referente à rotação, através do arco-tangente
da razão entre o cateto oposto e o adjacente (3). A figura 10 mostra o esquema de uso das
informações no cálculo do planejamento.

7
8

Ca = x’ – x (1)
Co = y’ – y (2)
θ = arctg (Co / Ca) (3)

Figura 10 – Cálculo para o planejamento da rota sem obstáculo.

O ângulo de rotação depende do quadrante onde a coordenada do objetivo se encontra,


tomando como origem a posição do robô. Por exemplo, se o resultado da subtração das
abscissas e das ordenadas for positivo, ou se o resultado da subtração das abscissas for
negativo e o da subtração das ordenadas for positivo, o alvo se encontra no I ou no II
quadrante, respectivamente.
Neste caso, subtrai-se o valor de θ calculado em (3) de 90º. Caso contrário, o objetivo está no
III ou IV quadrante. Sendo assim, soma-se 90º ao θ e obtêm-se ângulo de rotação α. O
mesmo conceito é aplicado para que o robô decida para que lado ele deva girar. Ele rotaciona
para direita se o objetivo estiver no I ou IV quadrante, caso contrário, ele vira para a esquerda.
A figura 11 apresenta um esquema que ilustra essas decisões.

Figura 11 – Decisão de para qual lado e que ângulo rotacionar.

Na ausência do sensor de ângulo para girar na direção desejada, projeta-se,


experimentalmente, o tempo de funcionamento dos motores em sentido inverso, apropriando-
se de uma média de várias medidas sobre o tempo que o robô demora em efetuar uma volta
completa, em torno de si, dividindo por 360. Esse resultado determina o tempo necessário
para atingir 1 grau de giro. Há de se destacar que a energização das baterias influencia no
resultado.
Depois desses passos, o robô segue para frente, em direção ao alvo, no intuito de cumprir seu
objetivo. Caso não encontre obstáculos no percurso, sua navegação é concluída ao encontrar a
coordenada final. Havendo algum obstáculo no caminho, ele aciona o algoritmo de desvio.
Ao desviar-se, o robô perde a direção do objetivo, necessitando de novo alinhamento. Ele
recebe, nesse momento, as coordenadas simuladas, obtendo uma referência de como ele se
encontra posicionado, para que o novo ângulo da rota seja calculado. Para se nortear o robô,
utiliza a bússola analógica, fazendo com que o robô fique posicionado para o norte. Isso

8
9

acontece quando o sensor de luz identifica a agulha branca. Após esse alinhamento, o mini-
robô faz uma pausa para o cálculo do novo ângulo de rotação, utilizando o mesmo
procedimento usado anteriormente. Há de se considerar que a iluminação do ambiente onde o
robô se encontra influencia na percepção da agulha branca.

Figura 12 – Cálculo para o planejamento da rota com obstáculo.

A figura 12 esquematiza esse procedimento, repetindo o processo tantas vezes quantas forem
necessárias, até que o alvo seja alcançado.
Os testes foram divididos em módulos de funcionalidades do robô, separando a tarefa de
posicionamento em direção ao alvo desejado da tarefa de desvios de obstáculos. No final,
houve uma integração desses blocos para testar o algoritmo em sua totalidade.
Na primeira seqüência de testes, executou-se o módulo de orientação do robô em relação ao
alvo. Nesse teste, o simulador do GPS informou as coordenadas iniciais e finais. Em seguida,
o robô alinhou-se ao norte, utilizando a bússola embarcada para obter uma referência da
direção em que ele se encontrava, e, finalmente, calculou o ângulo rota equivalente,
deslocando-se até o ponto. A tabela 1 abaixo apresenta os resultados obtidos nesse teste.

Tabela 1 – Valores do tempo gasto para a orientação da rota.


o Coordenada Coordenada Ângulo de Ângulo de
N Teste Tempo gasto
inicial final rotação realizado rotação previsto
1 (1,2) (5,6) 45º 43º-47º 1m e 57s
2 (1,2) (5,6) 44º 43º-47º 2m
3 (1,2) (5,6) 46º 43º-47º 2m e 28s
4 (4,1) (1,7) 61º 61º-65º 2m e 22s
5 (4,1) (1,7) 65º 61º-65º 2m e 28s
6 (4,1) (1,7) 65º 61º-65º 2m e 15s

Em todos os testes apontados, houve um direcionamento suficientemente razoável para que o


robô pudesse chegar à coordenada final. Contudo, o processo de alinhamento com o norte
consumiu, em média, 95% do tempo gasto. Isso porque os movimentos bruscos causados pelo
mini-robô, durante o alinhamento, gerou instabilidade no ponteiro da bússola. Em vista disso,
a velocidade do aparato teve de ser adaptada para realizar movimentos mais lentos,
permitindo que o sensor de luz da bússola pudesse captar a informação da direção norte.
Além disso, o cálculo que foi feito para encontrar o ângulo de rotação apresenta uma margem
de erro de 2º (dois graus), devido à imprecisão no cálculo do arco tangente do ângulo, já que a
linguagem NQC não possui ponto-flutuante.
A superfície do ambiente também interfere na velocidade. No atrito das esteiras com o chão
pode ocorrer rotações de diferentes velocidades. Isso causa problemas na escolha de uma
potência de funcionamento que melhor satisfaça à leitura da bússola.

9
10

Na segunda seqüência de testes, foi executado o módulo de desvio de obstáculos. Nessa etapa,
avaliou-se a capacidade que o mini-robô tem de se desviar de um objeto à sua frente. Para
isso, foram preparados dois ambientes, com diferentes formatos, como mostra a figura 13
abaixo.

Figura 13 - Formatos dos ambientes para testes de desvio de obstáculo.

Os ambientes foram criados com esses formatos, para simular ambientes de acesso fácil e
difícil, pois o teste de desvio em obstáculos que possuam regiões côncavas é mais
“estressante” para o mini-robô do que objetos que possuam áreas com formatos convexos. No
primeiro ambiente, foi construído um cercado com apenas uma saída. Nessa estrutura, o robô
obteve os resultados registrados na tabela 2.

Tabela 2 – Faixas de valores de tempo gasto para saída do primeiro problema.


Formato Número de saídas Tempo gasto Limite de aproximação
1 1 n/a 11 polegadas
1 1 42s 12 polegadas
1 1 17s 12 polegadas

Na primeira tentativa, o mini-robô esbarrou em um obstáculo, isso porque ultrapassou o limite


de 11 polegadas determinado pela sua faixa de percepção, o que fez com que desmontasse um
de seus sonares, impossibilitando a continuidade da navegação. Para corrigir esse problema,
aumentou-se o limite máximo de aproximação, evitando o erro. Nas tentativas seguintes, o
robô atingiu o objetivo em um tempo razoável. É importante destacar que o tempo de saída
não é aperfeiçoado pelo robô, pois as tentativas de desvio são feitas de forma aleatória.
O segundo ambiente, caracterizado pelo formato 2 da figura 20, possui uma estrutura mais
complexa que o ambiente anterior, cujos resultados dos testes são apresentados na tabela 3.

Tabela 3 – Faixas de valores de tempo gasto para saída do segundo problema.


Formato Número de saídas Tempo gasto
2 2 40s
2 2 1m e 2s
2 2 3m e 58s

Nesse ambiente, embora o robô tenha demorado um tempo médio maior que o do ambiente
do problema anterior, não ocorreram colisões com os obstáculos. Por fim, foram feitos
testes na implementação, unindo os dois módulos em uma única solução. Dessa forma, os
resultados refletem as observações dos testes nos módulos individuais. Na tabela 4, estão
algumas cronometragens que o robô gastou para desenvolver sua trajetória desde a sua
orientação com o ponto de chegada até a conclusão do seu objetivo com quantidades
diferentes de obstáculos.

10
11

Tabela 4 – Valores do tempo gasto para atingir o objetivo.


Coordenada inicial Coordenada final Número de obstáculos Tempo gasto
(1,2) (5,6) 1 1m e 56s
(1,2) (5,6) 2 2m e 20s
(1,2) (5,6) 2 3m e 23s

A partir dos testes que foram realizados, observou-se ainda que há ocorrência de falhas
ocasionais na transmissão wireless das coordenadas, durante a comunicação entre o simulador
GPS e o mini-robô. Isso leva à perda de algumas mensagens, necessitando de reenvios
sucessivos.

CONCLUSÃO

A pesquisa, materializada por este trabalho, proporcionou o desenvolvimento de uma solução


que resolve o problema de movimentação de um mini-robô móvel em ambiente desconhecido,
que inicia o movimento a partir de uma coordenada até outra posição de destino conhecida,
atualizando as coordenadas intermediárias por simulação de sinais GPS, planejando a rota de
forma autônoma.
Nos testes realizados, observou-se, inicialmente, que o direcionamento do robô para a
coordenada final possui um erro da ordem de 2º (dois graus), provocado pela ausência de
ponto flutuante na linguagem NQC, implicando em erros no cálculo do ângulo de rotação.
Há, inclusive, uma instabilidade no ponteiro da bússola, provocada pelos movimentos bruscos
causados pelo mini-robô, durante seu alinhamento. Tal fato ocasiona leituras errôneas do
sensor de luz, que capta as informações necessárias para posicionar o aparato em relação ao
norte. Assim, a bússola torna-se o ponto crítico do direcionamento.
Outro problema é a limitação do hardware da unidade móvel. O RCX possui apenas 32k de
memória RAM. Quando é utilizado acima do limite, provoca um estouro da capacidade de
armazenamento. Portanto, o número de declarações do tipo inteiro fica comprometido.
Esses problemas impõe a necessidade do emprego de uma linguagem de programação mais
robusta, que permita a resolução dos problemas matemáticos de maneira mais eficiente e
precisa. É oportuno então acrescentar um hardware adicional ao equipamento móvel, para
superar os problemas de limitações do hardware utilizado.

REFERÊNCIAS BIBLIOGRÁFICAS
CAMBADA. Coordenação de Paulo Pedreiras. Desenvolvido pelo Instituto de Engenharia e
Telemática de Aveiro. Apresenta projetos sobre Infra-estrutura de Comunicações Wireless
para Agentes Móveis Autônomos. Disponível em: <www.ieeta.pt/~jam/leet/5ano/
Projectos0304/p29.pdf>. Acesso em: 11 nov. 2004.
ENGE, Per. As coordenadas do futuro. Scientific American Brasil. São Paulo: Duetto
Editorial, 2004. p.80- 87.
GIBBS, W. Wayt. Uma nova geração de robôs. Scientific American Brasil. São Paulo: Duetto
Editorial, 2004. p.36-45.
GROOVER, Mikell P. et al. Robótica: tecnologia e programação. São Paulo: McGraw-Hill,
1988.
HEINEN, Farlei J. Robótica Autônoma: Integração entre planificação e comportamento
reativo. Disponível em: <http://ncg.unisinos.br/robotica/robotica.html >. Acesso em: 12 set.
2004.
HÜBNER, Jomi Fred. Introdução à Robótica. Disponível em: <http://www.inf.furb.br/
~jomi/robotica/slides/hardware-4x1.pdf>. Acesso em: 11 nov. 2004.
KORTENKAMP, David et al. Artificial Intelligence and Mobile Robots. Massachusetts: The
MIT Press, 1988.

11
12

LEGO MINDSTORM. Site oficial da LEGO. Disponível em: <http://www.legomindstorms


.com>. Acesso em: 18 set 2004.
LEITÃO, Paulo. Robótica móvel. Disponível em: <http://www.ipb.pt/~pleitao/disciplinas/ ar-
ei/robotica-movel.pdf>. Acesso em: 11 nov 2004.
MUSSER, George. O desvendamento de Marte. Scientific American Brasil. São Paulo:
Duetto Editorial, 2004. p.30-35.
NIED. Coordenção de João V. d' Abreu. Desenvolvido pelo Núcleo de informática aplicado à
Computação. Apresenta descrições de projetos de pesquisas na área da robótica. Disponível
em: <http://www.nied.unicamp.br/~siros/slogolego/legorcx.htm>. Acesso em: 11 nov. 2004.
NQC. Coordenção de Luiz M. G. Gonçalvez. Desenvolvido pela Universidade Federal do Rio
Grande do Norte. Apresenta guia, manual e exemplos sobre a linguagem NQC. Disponível
em: <http://www.dca.ufrn.br/~paulino/robotica/nqc.html>. Acesso em: 09 set. 2004.
PAZOS, Fernando. Automação de sistemas e robótica. Rio de Janeiro: Axcel Books, 2002.
SALANT, Michael A. Introdução à robótica. São Paulo: McGraw-Hill,1990.

12

Você também pode gostar