TDP-ARTIGO Decepticons Ufes

6
1 Equipe UFES DECEPTICONS Agosto de 2011 EQUIPE UFES DECEPTICONS CARMEN R FARIA SANTOS 1 , MATHEUS DARÓS PAGANI 1 , MARCOS TESCH CAVICCHIA 1 , FABRICIO DEMUNER MAGALHÃES 1 , ANDRÉ EFFGEN DE AMORIM 1 DEPARTAMENTO DE ENGENHARIA MECÂNICA 1 1. Centro Tecnológico, Universidade Federal do Espírito Santo Av. Fernando Ferrari s/n – Goiabeiras, Vitória ES [email protected], [email protected], [email protected], [email protected], [email protected] Resumo: Este artigo relata o trabalho desenvolvido pela quipe UFES DECEPTICONS na construção e programação de robôs para cumprimento do desafio proposto na categoria IEEE SEK - Standard Educational Kits 2011. A equipe se reuniu durante quatro meses para desenvolver estratégias que resolvessem o problema com maior eficiência. Ao longo dos trabalhos foram encontradas várias soluções para reso- lução do desafio proposto. O material apresentado a seguir relata as idéias propostas pelo grupo durante o desenvolvi- mento, e o resultado atual alcançado pela equipe. Palavras-chave: robôs autônomos, cooperação de robôs, CBR, IEEE SEK, UFES. Abstract: This paper reports the work of the team UFES DECEPTICONS building and programming robots to solve the challenge posed in IEEE Standard Education Kits 2011 category. The team met daily for four months to develop strategies that solve the problem more efficiently. Through- out the works were found several solutions for solving the challenge, however, the material presented below shows only the results currently achieved by the team. Keywords: robot, competition, CBR, IEEE, challenge, UFES. 1 INTRODUÇÃO Este artigo apresenta as estratégias utilizadas pela equipe UFES DECEPTICONS para o cumprimento do desafio IEEE Standard Education Kits 2011, proposto na Competi- ção Brasileira de Robótica - CBR (Competição Brasileira de Robótica, 2011) e na Competição Latino Americana de Ro- bótica LARC (Latin American Robotics Cup, 2011). O desafio propõe a construção de diques ao longo de rios com objetivo de conter a inundação em áreas alagadas, como também previnir outros pontos de enchentes ao longo do curso. Para resolução deste problema a proposta foi a cons- trução e programação de dois robôs, para que, de forma autônoma, trabalhassem em cooperação em busca de uma solução eficiente na construção, tanto do dique de contenção de águas, como de prevenção de futuras inundações. A estrutura dos robôs foram construídas com o material do kit educacional Lego Mindstorms NXT, e a linguagem de programação C foi utilizada para a navegação dos robôs no RobotC (RobotC, 2005). A equipe é formada por alunos do Programa de Educação Tutorial PET, do curso de gradua- ção em Engenharia Mecânica da Universidade Federal do Espírito Santo. O trabalho foi desenvolvido no Laboratório de Robótica Educacional do Centro Tecnológico da UFES, sob orientação da Profª Carmen R Faria Santos e com o apoio do tutor do PET, Prof. Geraldo Rossoni Sisquini. 2 DESCRIÇÃO DO TRABALHO Este desafio tem como objetivo a construção e programação de dois robôs para trabalhar de forma cooperativa e autôno- ma na identificação de alagamentos ao longo de rios para construção de diques de contenção das áreas alagadas e de prevenção de novos acidentes, como mostrado na Figura1. A pontuação é atribuída de acordo com o cumprimento das tarefas propostas. O tempo máximo para o cumprimento da tarefa é de 5 minutos. A principal meta é a contenção do alagamento, sendo a prevenção apenas um objetivo secundá- rio. Figura1. Possível situação de alagamento O desafio é concluído no momento em que o rio é totalmen- te cercado, tanto pelos diques de retenção, quanto os de prevenção. 3 CONSIDERAÇÕES DO AMBIENTE O cenário proposto foi simulado com uma arena de superfí- cie na cor branca, demarcada com linhas verticais e horizon- tais de cor preta. As linhas subdividem a arena em 110 qua- drados de 18cmx18cm. Na arena são colocados blocos de isopor na cor azul, representando o alagamento do rio, e pequenos tubos PVC nas cores vermelha, que deverão ser usados para a construção de diques de contenção dos alaga- mentos, e verde, usados na construção do dique de preven- ção de futuras enchentes. (Figura1). Entretanto, os blocos e os tubos podem assumir várias configurações diferentes, obrigando aos robôs a identificar o cenário antes de operar as construções necessárias.

Transcript of TDP-ARTIGO Decepticons Ufes

Page 1: TDP-ARTIGO Decepticons Ufes

1 Equipe UFES DECEPTICONS Agosto de 2011

EQUIPE UFES DECEPTICONS

CARMEN R FARIA SANTOS1, MATHEUS DARÓS PAGANI

1, MARCOS TESCH CAVICCHIA1,

FABRICIO DEMUNER MAGALHÃES1, ANDRÉ EFFGEN DE AMORIM

1 DEPARTAMENTO DE ENGENHARIA MECÂNICA

1

1. Centro Tecnológico, Universidade Federal do Espírito Santo Av. Fernando Ferrari s/n – Goiabeiras, Vitória ES

[email protected], [email protected], [email protected], [email protected], [email protected]

Resumo:::: Este artigo relata o trabalho desenvolvido pela quipe UFES DECEPTICONS na construção e programação de robôs para cumprimento do desafio proposto na categoria IEEE SEK - Standard Educational Kits 2011. A equipe se reuniu durante quatro meses para desenvolver estratégias que resolvessem o problema com maior eficiência. Ao longo dos trabalhos foram encontradas várias soluções para reso-lução do desafio proposto. O material apresentado a seguir relata as idéias propostas pelo grupo durante o desenvolvi-mento, e o resultado atual alcançado pela equipe.

Palavras-chave: robôs autônomos, cooperação de robôs,

CBR, IEEE SEK, UFES.

Abstract:::: This paper reports the work of the team UFES

DECEPTICONS building and programming robots to solve

the challenge posed in IEEE Standard Education Kits 2011

category. The team met daily for four months to develop

strategies that solve the problem more efficiently. Through-

out the works were found several solutions for solving the

challenge, however, the material presented below shows

only the results currently achieved by the team.

Keywords:::: robot, competition, CBR, IEEE, challenge,

UFES.

1 INTRODUÇÃO Este artigo apresenta as estratégias utilizadas pela equipe

UFES DECEPTICONS para o cumprimento do desafio

IEEE Standard Education Kits 2011, proposto na Competi-

ção Brasileira de Robótica - CBR (Competição Brasileira de

Robótica, 2011) e na Competição Latino Americana de Ro-

bótica – LARC (Latin American Robotics Cup, 2011). O

desafio propõe a construção de diques ao longo de rios com

objetivo de conter a inundação em áreas alagadas, como

também previnir outros pontos de enchentes ao longo do

curso. Para resolução deste problema a proposta foi a cons-

trução e programação de dois robôs, para que, de forma

autônoma, trabalhassem em cooperação em busca de uma

solução eficiente na construção, tanto do dique de contenção

de águas, como de prevenção de futuras inundações.

A estrutura dos robôs foram construídas com o material do

kit educacional Lego Mindstorms NXT, e a linguagem de

programação C foi utilizada para a navegação dos robôs no

RobotC (RobotC, 2005). A equipe é formada por alunos do

Programa de Educação Tutorial – PET, do curso de gradua-

ção em Engenharia Mecânica da Universidade Federal do

Espírito Santo. O trabalho foi desenvolvido no Laboratório

de Robótica Educacional do Centro Tecnológico da UFES,

sob orientação da Profª Carmen R Faria Santos e com o

apoio do tutor do PET, Prof. Geraldo Rossoni Sisquini.

2 DESCRIÇÃO DO TRABALHO Este desafio tem como objetivo a construção e programação

de dois robôs para trabalhar de forma cooperativa e autôno-

ma na identificação de alagamentos ao longo de rios para

construção de diques de contenção das áreas alagadas e de

prevenção de novos acidentes, como mostrado na Figura1.

A pontuação é atribuída de acordo com o cumprimento das

tarefas propostas. O tempo máximo para o cumprimento da

tarefa é de 5 minutos. A principal meta é a contenção do

alagamento, sendo a prevenção apenas um objetivo secundá-

rio.

Figura1. Possível situação de alagamento

O desafio é concluído no momento em que o rio é totalmen-

te cercado, tanto pelos diques de retenção, quanto os de

prevenção.

3 CONSIDERAÇÕES DO AMBIENTE O cenário proposto foi simulado com uma arena de superfí-

cie na cor branca, demarcada com linhas verticais e horizon-

tais de cor preta. As linhas subdividem a arena em 110 qua-

drados de 18cmx18cm. Na arena são colocados blocos de

isopor na cor azul, representando o alagamento do rio, e

pequenos tubos PVC nas cores vermelha, que deverão ser

usados para a construção de diques de contenção dos alaga-

mentos, e verde, usados na construção do dique de preven-

ção de futuras enchentes. (Figura1). Entretanto, os blocos e

os tubos podem assumir várias configurações diferentes,

obrigando aos robôs a identificar o cenário antes de operar

as construções necessárias.

Page 2: TDP-ARTIGO Decepticons Ufes

Equipe UFES DECEPTICONS Agosto de 2011 2

4 PROCEDIMENTOS Para a resolução do desafio foram construídos dois robôs

estruturalmente idênticos, perém, como serão posicionados

sobre lados opostos da arena, um será programado para

operar sobre um campo espelhado em relação ao outro.

A seguir serão detalhadas a composição estrutural, bem

como algumas partes da lógica de resolução atual.

4.1 Estrutura Mecânica Como sustentação o robô utiliza duas rodas ativas, duas passivas e um ponto de apoio fixo. Para as rodas ativas fo-ram escolhidas peças de um diâmetro maior, pois desenvol-vem maior deslocamento escalar a partir de uma mesma rotação do motor �� � ����. Foram escolhidas duas rodas passivas para serem posicionadas na parte traseira, pois essa configuração oferece maior estabilidade e menor probabili-dade de falha mecânica, sendo portanto, a mais adequada. Apesar de ocorrer um aumento indesejável no arrasto, prin-cipalmente nas curvas, devido a estas rodas apresentarem somente um grau de liberdade, o atrito é pequeno e não influencia tanto no desempenho do robô.

Uma das premissas de projeto era construir um robô de menores dimensões possíveis, pois dessa forma o risco de impacto com componentes da arena seria menor, além de reduzir o raio de giro, o que reduziria o tempo de curva. Um grande problema gerado a partir dessa premissa foi o posici-onamento do centro de gravidade – CG – do robô que, devi-do ao processador ter sido posicionado verticalmente, ficou localizado fora da região de sustentação. Para resolver este problema foi implementado um ponto de apoio fixo na parte frontal do robô com uma barra de fixação grande o bastante para inclinar o chassis para trás, dessa forma reduzindo a distância entre o CG e o eixo de giro das rodas ativas, garan-tindo uma maior estabilidade ao robô. Ou seja, mesmo quando um tubo estiver acoplado ao robô, este não se deses-tabilizará. Foram realizados alguns experimentos para determinar qua-

litativamente o nível de torque necessário para agarrar e

transportar os tubos de forma segura, sem perder velocidade

na abertura e no fechamento da garra. A partir destes expe-

rimentos, foi definida uma redução de 3:10, utilizando uma

engrenagem de 12 dentes para a transmissão do torque do

servomotor e duas engrenagens de 40 dentes para a movi-

mentação das garras.

O sensor magnético e os encoders exercem a função de posicionamento e controle da movimentação do robô e os sensores de luz e ultrassom fazem o reconhecimento do ambiente.

Figura2. Vistas em diferentes perspectivas

4.1.1 Etapas de montagem

Até chegar ao projeto final, vários modelos foram desenvolvidos em busca de um melhor desempenho dos robôs.

4.1.2 Montagens com garras eleváveis

4.1.3 Modelo 1

O primeiro protótipo, como mostrado na Figura3, tinha o motor de garra acoplado a outros motores, que levantariam o tubo, a fim de que este não esbarrasse em nenhum obstáculo.

Figura3. Modelo 1 de garra elevada

Entretanto, este modelo apresentou alguns problemas que tornaram sua navegação mais complicada. Dentre eles, o fato do robô ter ficado muito grande; a posição do sensor de luz se mostrou inviável no processo de pegar o cano; a posi-ção da garra muito elevada fazia com que os canos escapas-sem com grande freqüência. Foi proposto então, adicionar um outro par de garras mais abaixo para garantir que o cano ficasse fixo no lugar, e também elevar o cano de uma forma menos brusca.

Modelo 2 No segundo protótipo, o robô foi completamente remontado para ocupar menos espaço, e o sistema de elevação foi tro-cado de angular para linear.

Figura4. Modelo 2 de garra elevada

Nesta configuração os problemas apresentados foram o fato não termos conseguido diminuir o tamanho do robô; o ponto de apoio frontal atrapalhar a travessia da ponte, e ainda as cremalheiras se mostraram instáveis. Como melhorias, po-demos relatar a construção de garras duplas e um maior aperto nestas devido a transmissão de cerca de 50:1, e tam-bém ao posicionamento viável do sensor de luz.

Aplicados os testes, observou-se que com dois pares de

garras o cano certamente ficou muito mais firme, porém o sistema de cremalheiras mostrou-se ineficiente e frequente-mente as engrenagens desencaixavam.

Page 3: TDP-ARTIGO Decepticons Ufes

3 Equipe UFES DECEPTICONS Agosto de 2011

Decidiu-se então, retornar ao uso da elevação angular, pois não conseguimos fazer uma conversão de movimento angu-lar dos motores para uma elevação linear utilizando somente as peças de lego. Modelo 3 No terceiro protótipo o sistema de elevação volta a ser angu-lar e elimina-se a necessidade de um ponto de apoio frontal.

Figura5. Modelo 3 de garra elevada Neste modelo o robô ainda estava com uma estrutura maior do que a desejada. Como melhoria, conseguimos a transmis-são mais compácta e eficiente. Na aplicação dos testes, apesar das modificações, elevar os

canos não se mostrou viável, devido à necessidade de mais

de um processado e as dificuldades mecânicas do kit da

LEGO. Decidiu-se então, montar um novo protótipo com

garras fixas, de forma a ser mais portátil.

4.1.4 Modelos de garra fixa

Modelo 1 O primeiro modelo com garra fixa acabou sendo muito mais compácto e eficiente, entretanto, a garra era demasiadamen-te curta e, muitas vezes, não conseguia pegar o cano. Como vantagem, o robô já apresentava um tamanho aceitável.

Modelo 2 O segundo modelo teve o braço que segura a garra um pou-co mais longo, porém mal posicionado (Figura6). Nesta configuração a garra ficou muito alta, e muitas vezes o cano escapava ou caia.

Figura6. Esquema modelo 1 de garra fixa

Modelo 3 O terceiro modelo foi montado com uma configuração mais eficiente das garras e sensores, contando com duas garras unidas, como mostra a Figura7.

Figura7. Modelo 3 de garra fixa

Nesta configuração o problema apresentado foi que o apoio para balanço muitas vezes atrapalhava o robô de subir a ponte, entretanto tivemos melhorias devido a garra estar melhor posicionada além de garantir maior superfície de contado pelo fato de ser dupla.

Modelo 4 O quarto e último modelo foi montado com uma configura-ção mais compácta e estável e o posicionamento da garra foi melhorado, apresentado na Figura8.

Figura8. Modelo 4 de garra fixa Problemas:

• Algumas raras vezes o sensor de ultrassom não funciona corretamente pela proximidade com o chão

Melhorias: • Garra melhor posicionada • Sensor de luz melhor posicionado • Apoio melhor posicionado • Borracha na garra evita o escorregamento do tubo

4.1.5 Posição dos sensores

MODELO 1 O posicionamento inicial do sensor de ultrassom era sobre a garra, apontado para baixo. Ele foi posicionado a 20 cm do chão, e, como mede distân-cia, sempre que apontasse uma distância x, significa que existe um objeto de (20 - x) cm de altura à frente do robô. Dessa forma era possível identificar se â frente do robô havia um bloco de alagamento, uma das plataformas para os canos ou um cano propriamente dito. O sensor de luz serve somente para identificar a cor do cano à frente ou confirmar se há realmente um bloco de alaga-mento sendo detectado (Figura9).

Problemas:

• Identifica somente o que está imediatamente à fren-te do robô

Page 4: TDP-ARTIGO Decepticons Ufes

Equipe UFES DECEPTICONS Agosto de 2011 4

Figura9. Esquema modelo 1 dos sensores

MODELO 2 A fim de agilizar a busca, o sensor de ultrassom foi posicio-nado na horizontal, abaixo da garra. De fato, não é mais possível identificar a altura do objeto à frente, mas ainda é possível identificar de que objeto se trata, visto que o robô possui memória de posição. A identificação de objetos se dá pela possibilidade de co-nhecer parcialmente os cenários possíveis da arena. Sendo assim, ao detectar um objeto à frente, sabendo o que se pode estar naquele lugar, é possível identificar se alí há um cano, um bloco de alagamento ou nada. Da mesma forma, ao fazer a busca pelo tipo de alagamento, se não houver objetos à frente ao mirar para uma possível localidade de alagamento, significa que não há um bloco alí. Assim, o sensor de ultrassom identifica se há ou não objetos em dadas localidades e o sensor de cor somente classifica os canos quanto à cor (Figura10).

Melhorias:

• Sensor de ultrassom melhor posicionado • Leitura mais eficiente do cenário

Figura10. Esquema modelo 2 dos sensores

MODELO 3 Na montagem final, o sensor de ultrassom continua abaixo da garra, e o sensor de luz é colocada junto à mesma, para identificar melhor a cor do cano (Figura11).

Melhorias:

• Melhor leitura de cor

Figura11. Modelo 3 dos sensores

4.2 Localização e movimentação A navegação do robô na arena segue uma matriz definida de posições, onde cada célula é um dos 110 quadrados que compõem a arena. Sabendo exatamente a posição X e Y na matriz de localização, bem como a direção para a qual o robô está voltado – determinada através do sensor magnético – é possível navegar com precisão utilizando a memória de percurso, os dados recolhidos pelos encoders, e as linhas no piso da arena como referência de progresso entre linhas e colunas.

Para a identificação destas linhas foi utilizado um sensor de luz, localizado na parte inferior do robô e voltado para o piso.

A partir do momento que a linha é detectada são acionados os encoders, que controlam o número de rotações fazendo com que o robô navegue até a posição necessária para o cumprimento da tarefa sendo realizada no momento em questão.

Apesar de todo o sensoriamento utilizado no protótipo, foi

necessária, para uma maior precisão, a implementação de

sistemas de previsão de erros baseados na orientação do

sensor magnético. A partir destes sistemas foi elaborado,

juntamente com modelos matemáticos, métodos de correção

-tanto da movimentação quanto da orientação- que atuam

simultaneamente ao deslocamento do robô.

4.2.1 Curva Uma das complicações de trabalhar com o sensor magnético é que o mesmo é programado para retornar valores na ordem de 0 a 360, enquanto os motores trabalham numa taxa de potência de -100 a 100. Calcular curvas é algo intuitivo para a maioria dos intervalos, exceto para aqueles que passem pelo ponto marcado como 0. Existem sempre duas maneiras de se curvar, uma em sentido horário, e outra em sentido anti-horário. É intuitivo que o robô mais ágil curva sempre pelo lado com menor distância até seu destino. Porém calcular intervalos angulares com ângulos marcados de 0 a 360 não pode ser feito com simples subtrações, visto que ir de 90º a 180º é calculado de uma forma e ir de 330º a 30º de outra. Para resolver isso, basta converter as entradas em radianos, subtrair e converter novamente para graus. Assim, as opera-ções de subtração são sempre feitas numa escala contínua de 2 a -2.Assim, dado Ө i- ângulo inicial – e Өf– ângulo final desejado –, Ө = degrad(Өi) - rad(Өf), sendo rad(A) a forma em radianos de A, e deg(B) a forma em graus de B. Outro problema encontrado na curva é que, muitas vezes o robô curvava a mais, visto que o movimento de curva não estava sendo parado rápido o suficiente. Para solucionar isso, foi feita uma função para controlar a potência nas rodas

Page 5: TDP-ARTIGO Decepticons Ufes

5 Equipe UFES DECEPTICONS Agosto de 2011

em função da diferença ângular em cada instante de tempo, fazendo com que o robô comece a curvar mais rápido e, conforme chega ao destino, pare suavemente. Para curvar, o robô aplica em uma das rodas a potência P e na outra -P, visto que as rodas são paralelas e equidistantes ao centro de gravidade do mesmo. A potência P foi modula-da na fórmula:

P = C + Pm(sen(Ө /D))n

Testes e resultados:

A constante C define a potência mínima de curva. Se for alta demais, o problema persiste independente do restante da fórmula. Se for baixa demais, o robô acaba realizando o final da curva muito lentamente. Após muitos testes, foi adotado para C o valor de 10. A constante Pm define a potência máxima, a qual é adotada no começo da curva, quando o valor do restante da fórmula é maximo. Pode variar conforme o padrão de velocidade adotado. O valor de D, inicialmente, foi 2, visto que pode variar de 0 a 180. Logo, servia somente para que a fórmula funcionásse com o máximo em = 180 e mínimo em = 0. Porém observou-se que com D valendo 4 o robô curvava melhor, visto que somente a parte de alta declividade da função seno é usada no domínio de 0° a 45º. O grau n define o quão brusca é a declividade da função. Valores menores que 1 e maiores que 0 amenizam a queda, fazendo que o robô chegue ao destino mais rapidamente. Valores maiores que 1 aceleram a queda, fazendo com que o robô chegue a seu destino mais cautelosamente. Foi adotado o grau 1, pois este foi suficientemente bom (vide resultados na Figura12).

Figura12. Potência de curva em função da defasagem angular - n = 0.5, n = 1 e n = 2, respectivamente.

4.2.2 Ajuste de Direção Para o desafio era necessário que o robô apenas se movi-mentasse em linha reta em quatro direções, as quais foram adotadas como norte, sul, leste e oeste. A movimentação do robô em linha reta foi implementada utilizando a função para controle da potência dos motores. ∆ = Csen(k Ө)n Ө = |Өe - Өr| Өe direção esperada, Өr direção real Potf= Poti ± ∆ Sendo a variação entre o ângulo que a bússola retorna e o ângulo referente a direção que o robô deveria estar seguindo, calibrado anteriormente. A potência aplicada em cada roda é atualizada para potf, sendo que numa delas a potência é acrescida de , e na outra é reduzida de , de tal forma que essa diferença de potências venha a interferir destrutivamente no desvio anterior (Ogata, 2003).

Testes e resultados: Pelo fato da variável n causar uma variação maior na potên-cia e por isso exercer uma maior influencia na mesma, fixa-mos a constante k no valor 2e testamos n para os valores 0.5, 1, e 2. A partir de algumas analises, foi observado que para n=1, o comportamento da variação da potência em função da defasagem angular foi o que chegou mais próximo do dese-jado (vide resultados na Figura13). Após encontrar uma constante n favorável, variamos k de 2 a 4. Foram realizados então testes para determinar o k que conferiu o melhor comportamento de correção e alinhamen-to do robô dentro do esperado. O valor que mais se adequou foi k=2. Desta forma, foi estabelecido um modelo matemático que determina a potência do motor em função da distância angu-lar entre a direção do sensor magnético e a direção em que o robô deveria se movimentar. Esta implementação trouxe grandes benefícios em relação ao tempo gasto na realização do desafio, pois não havia necessidade do robô ter que parar para se corrigir, pois a correção era feita durante a movi-mentação. Além disso, vimos que foi possível aumentar a potência com que o robô se movimentava na arena, pois essa correção simultânea possibilitou uma confiabilidade muito maior na movimentação do robô, além de nos possibilitar o uso de somente quatro valores globais, um para cada dire-ção. Dependendo das constantes adotadas, o robô descreve um movimento harmônico amortecido em torno da trajetória desejada (Ogata, 2003).

Figura13. Ajuste de curva com resultado para k = 2 e n = 2, descartado pela demora do ajuste, acima; para n = 1, satisfatório por ser ágil e pouco oscilante, no meio; para n = 0.5, não satisfatório por ser muito oscilante, abaixo.

4.3 Estratégia de Resolução do Desafio O primeiro passo para a resolução do desafio é a identifica-ção do tipo de alagamento e onde o mesmo está posiciona-do. Para cumprir esta etapa foi utilizado um sensor ultras-som aliado a uma lógica de busca que visa reduzir ao míni-mo o número de verificações necessárias para identificar o alagamento.

Após a caracterização do alagamento o robô começa a reso-lução do desafio em si. Como o robô já identificou o tipo de alagamento, ele passa então a identificar os tubos, seguindo um padrão. Quando identificado um tubo prioritário, o mesmo é levado ao seu local de destino. Caso seja um tubo verde, sua posição é armazenada na memória do robô. Ter-minada a construção do dique de contenção, o protótipo

Page 6: TDP-ARTIGO Decepticons Ufes

Equipe UFES DECEPTICONS Agosto de 2011 6

continua o procedimento de busca de tubos e inicia a cons-trução do dique de prevenção (vide etapas do desafio na Figura14).

Figura14. Colocação de um dos canos à esquerda acima; Identificação e captura de um dos canos à direita acima; Possível solução da arena à esquerda abaixo; Identifica-

ção de um bloco de alagamento à direita abaixo

4.3.1 Busca V

No início do desafio o robô devia localizar o tipo de alaga-mento e ver a disposição em que se encontravam os diques de contenção e prevenção. Deu-se prioridade em localizar o tipo de alagamento e em seguida buscar os diques para reso-lução do desafio. O desafio possuia um número limitado de disposições de alagamento, portanto no algoritmo de busca foi desenvolvi-da uma otimização para que o robô, com o menor número de averiguações possíveis, pudesse englobar todos os casos de alagamento. Com o reposicionamento do sensor de ultras-som, colocado à altura do alagamento, o robô poderia averi-guar o alagamento à distância, sem se aproximar, reduzindo assim o tempo de busca e diminuindo o risco de esbarrar nos blocos, o que resultava em penalidade. Assim que o robô identificasse em que caso o alagamento estivesse classificado, a proxima tarefa seria buscar entre os diques, um a um, qual era o dique de contenção para reter o alagamento principal, ou em caso de alagamento simples aguardar a mensagem do outro robô para saber qual necessi-dade dos diques. Os casos são identificados segundo os valores percebidos pelo sensor de ultrassom, com cada etapa sendo classificada em falso ou verdadeiro, dependendo da presença ou não de um bloco à frente. No diagrama, a seta vermelha representa não encontrar blo-co à frente, ou zero, e a seta verde representa que o sensor detectou bloco à frente, ou 1. Assim, os casos podem ser classificados como binários. Por exemplo, na parte superior, vemos dois alagamentos possíveis, um chamado de 11 - ou três - e outro chamado de 10 - ou dois (Filho, 2007). Nota-se também que o máximo de tentativas até achar o alagamento é 5, nos casos 01111 e 01110, e a média é 3,56 tentativas para achar o alagamento, enquanto o método nor-mal sempre faz 6 verificações, em todos os casos (vide o diagrama na Figura15).

Figura15. Diagrama de identificação do alagamento

5 CONCLUSÃO No campo de estudos da robótica, mesmo em um nível bási-co, pode-se perceber vários desafios que surgem à medida que o projeto se desenvolve. Estes desafios, de caráter me-cânico, eletrônico, lógico, mostram a multidisciplinaridade necessária para o desenvolvimento de novas tecnologias na área de robótica.

Com o desenvolvimento do protótipo e vencimento dos obstáculos iniciais, novas possibilidades de otimização sur-giram, e com elas novos obstáculos a serem superados.

Muitos dos conceitos aplicados e adquiridos com este proje-to são aplicáveis ao mundo real para a superação de uma infinidade de problemas. Como exemplo disto podemos citar o posicionamento do centro de gravidade do robô, que sur-giu à partir de uma otimização aplicada ao dimensionamento do robô.

Nesta proposta, a melhor estratégia encontrada para resolver o desafio foi localizar os alagamentos e conter a inundação construindo o dique contenção para resolver o problema imediáto e em seguida o dique de prevenção, evitando futu-ras inundações.

Algumas tecnologias desenvolvidas para otimizar o proble-ma foram a implementação da função para identificar o erro de movimentação e posição do robô nas células, e a imple-mentação do algoritmo identificando cada caso e a melhor maneira de resolvê-lo.

6 BIBLIOGRAFIA (2005). (Robomatter Inc.) Acesso em 15 de junho de 2011, disponível em RobotC: http://www.robotc.net (2011). Acesso em 9 de junho de 2011, disponível em Competição Brasileira de Robótica: http://www.cbr2011.org/ (2011). Acesso em 9 de junho de 2011, disponível em Latin American Robotics Cup: http://www.ieeelarc.org/ (2011). Acesso em 20 de junho de 2011, disponível em LEGO Mindstorms: http://mindstorms.lego.com Filho, F. F. (2007). Algoritmos Numéricos. LTC. Ogata, K. (2003). Engenharia de Controle Moderno. Pearson Brasil.