Você está na página 1de 8

DESENVOLVIMENTO DE UM ROB AUTNOMO DETECTOR DE

OBSTCULOS

WILLIAM PENANTE DOS SANTOS, RONALDO BENTES BATISTA JUNIOR, RAPHAEL DIEGO
COMESANHA E SILVA
Instituto de Estudos Superiores da Amaznia
Av. Governador Jos Malcher, 1148 Nazar Belm-PA CEP 66055-260
E-mails: wpenante@hotmail.com, junior_batistaa@hotmail.com,
raphael@iesam-pa.edu.br.

Abstract - This article is concerned with developing a autonomy robot able to move around and avoid obstacles. For the
full functionality of this prototype were performed to test and selection of appropriate components to that application.
Thus, the robot consists of two ultrasound sensors, which function as detectors of objects, two actuators (servo), used for
locomotion, and a control unit and data processing based on the Arduino technology. The task performed by the
prototype mounted is moving straight and deviate from medium-sized objects present in front of them without making
physical contact.
Key Words: Autonomy Robot, Arduino, ultrasound sensors, servo.
Resumo - Este artigo preocupa-se em desenvolver um rob capaz de se locomover e desviar de obstculos. Para o pleno
funcionamento desse prottipo foram realizados a escolha e testes dos componentes adequados a essa aplicao. Assim, o
rob constitudo por dois sensores ultra-som, os quais funcionam como detectores de objetos, dois atuadores
(servomotores), usados para locomoo, e uma unidade de controle e processamento de dados baseado na tecnologia
Arduino. A tarefa executada pelo prottipo montado consiste em se locomover em linha reta e desviar de objetos de porte
mdio presentes sua frente sem realizar contato fsico.
Palavras-Chaves: Rob autnomo, Arduino, sensor de ultra-som, servomotor.

1 Introduo
Nos ltimos anos observou-se um aumento no
potencial de aplicaes dos robs autnomos
mveis, na substituio do homem, em especial
em tarefas que ponham a vida em risco. As
aplicaes propostas para robtica parecem
cobrir quase totalidade da atividade humana.
Estas incluem: combate ao fogo, salvamento de
emergncia, preveno de desastres, patrulha de
segurana, limpeza industrial e domstica,
servio domstico, manipulao de pacientes,
operaes de procura em ambientes distantes
e/ou inspitos, etc. (Jcobo, 2001)
Um exemplo dessas aplicaes o Mega
Hurtz (figura 1.a) utilizado nas foras policiais
Norte Americanas para misses tticas. Seu
chassi reforado de ao foi especialmente
projetado para demolir portas e paredes com
facilidade. E tambm o Rover da NASA (figura
1.b) usado na explorao do planeta Marte na
pesquisa de condies favorveis vida e
capazes de preservar essas mesmas condies
no planeta.
Com base em pesquisas realizadas, atravs
de livros, artigos, revistas e trabalhos sobre
robtica, foi possvel criar uma linha de

raciocnio em que pode-se desenvolver um rob


capaz de se locomover e detectar obstculos.
Inicialmente, foi preciso definir como o
rob vai se locomover, como ele vai perceber o
mundo ao seu redor, que tipo de controle ser
usado e como esse controle ser aplicado.
Posteriormente, foi pesquisado quais tipos
de robs se aplicam para o que se pretende
desenvolver. Em seguida, procurou-se facilitar a
aplicao escolhida para aqueles que no tm
pratica com o assunto.
Para cada um desses pontos, foi necessrio
detalhar o princpio fsico de funcionamento e
as caractersticas tcnicas dos componentes que
sero usados; realizar experimentos de
integrao entre sensores, atuadores e o centro
de processamento, e finalmente definir uma
estratgia de controle de execuo das tarefas do
rob.
2 Desenvolvimento

Na realizao deste trabalho, foi necessrio


seguir vrios passos: escolha de um
microcontrolador adequado s necessidades do
projeto, conhecimento da linguagem de
programao, seleo dos motores, tipos de
sensores a serem usados, testes e montagem do
conjunto.

E para o processamento de dados foi


selecionado o Arduino Duemilanove (Figura 4),
que uma plataforma de software e hardware
abertos, a qual composta por um
microcontrolador Atmega328.

Figura 4 Arduino Duemilanove

Todos os componentes citados a cima foram


instalados em uma estrutura plstica,
constitudas por trs rodas, sendo duas delas
comandadas pelos servos e a terceira de apoio, e
uma base frontal para instalao dos sonares.
Como pode ser visto na Figura 5.

Figura 1 a) Rover Nasa b) Mega Hurtz

2.1 Escolha dos componentes


Atravs da pesquisa bibliogrfica, foram
escolhidos dois sensores de ultra-som (Figura
2), fabricados pela Tato Equipamentos
Eletrnicos, para realizar a deteco de
obstculos.

Figura 5 Estrutura fsica do rob

2.2 Descrio tcnica dos componentes

Figura 2 - Modulo Sonar Tato

Para locomoo do rob foi utilizado dois


servomotores genricos de rotao continua
(Figura 3).

Figura 3 Servo Motor

Todos os componentes escolhidos possuem


caractersticas de operao nominal que so
importantes para o pleno funcionamento do
dispositivo.
O Modulo Sonar um equipamento
eletrnico que possui quatros 4 pinos, sendo
dois de alimentao (pinos 1 e 4) e 2 pinos de
comando (pinos 2 e 3), dos quais s o pino 2
utilizado neste projeto, e esse mdulo contm,
ainda, um emissor e um receptor de ondas ultrasnicas.
O princpio de funcionamento desse sensor
baseia-se na emisso e recepo de ondas ultrasnicas, de tal forma que, quando se envia um
pulso de tenso positiva ao pino OUT, com
durao de 5 microsegundos, o sensor gera um
pulso de onda. E quando o receptor detecta a

mesma, gerado outro pulso de tenso positiva


no mesmo pino (Figura 6).

Figura 6 a) Emisso de onda; b) Deteco de onda

Esse dispositivo tem como caractersticas


nominais uma corrente mdia de 2mA e tenso
de alimentao de 5 volts, que produz um
consumo mdio de 0,01VA.
J os servomotores, utilizados na
movimentao, so dispositivos capazes de
converter energia eltrica em energia mecnica.
Geralmente servomotores so de posio
(Correia, 2006), como esse tipo de servo no se
aplica ao rob desenvolvido, precisa-se usar
servomotores de rotao continua.
O servomotor contnuo converte os pulsos
de controle em velocidade de rotao contnua.
Pode ser controlado diretamente por um
microcontrolador sem eletrnica adicional, o
que o torna um excelente atuador para
prottipos de robtica. Os servosmotores
possuem trs componentes bsicos:
Sistema Atuador - constitudo por um
motor eltrico, embora tambm possa encontrar
servos com motores de corrente alternada, a
maioria utiliza motores de corrente contnua.
Tambm est presente um conjunto de
engrenagens que forma uma caixa de reduo
com uma relao bem longa o que ajuda a
amplificar o torque.
Sensor - normalmente um
potencimetro solidrio ao eixo do servo. O
valor de sua resistncia eltrica indica a posio
angular em que se encontra o eixo. A qualidade
desse vai interferir na preciso, estabilidade e
vida til do servomotor.
Circuito de Controle - formado por
componentes eletrnicos discretos ou circuitos
integrados e geralmente composto por um
oscilador e um controlador PID (Controle
proporcional integrativo e derivativo) que
recebe um sinal do sensor (posio do eixo) e o
sinal de controle e aciona o motor no sentido
necessrio para posicionar o eixo na posio
desejada.
Servos possuem trs fios de interface, dois
para alimentao e um para o sinal de controle.
As caractersticas que compem o
servomotor utilizado so:
Dimenses: 40 x 20 x 36.6mm

Peso: 38g
Velocidade de operao (4.8V sem
carga): 0.12sec/60 graus
Torque (4.8V): 3.5 kg/cm
Tenso de funcionamento: 4.8-6.0 Volts
Como base para processamento dos dados
dos sensores e atuadores, o Arduino um
componente capaz de sentir o estado do
ambiente que o cerca por meio da recepo de
sinais de sensores e pode interagir com os seus
arredores, controlando luzes, motores e outros.
(Arduino, 2010)
Alm de ser microcontrolador, o
componente tambm e pr-programado com um
bootloader que simplifica o carregamento de
programas para o chip de memria flash
embutido, comparado com outros aparelhos que
usualmente necessitam de um circuito
programador externo.
O microcontrolador na placa programado
com a linguagem de programao Arduino,
baseada na linguagem Wiring (Barragn, 2010),
e o ambiente de desenvolvimento Arduino,
baseado no ambiente Processing (Fry e Reas,
2010).
A seguir podemos detalhar alguma das
principais
caractersticas
do
Arduino
Duemilanove (Tabela 1):
Microcontrolador
Tenso
de
funcionamento
Tenso de entrada
(recomendada)
Tenso de entrada
(limites)
I / O Digitais

ATmega328
5V
7-12 V
6-20 V
14 (dos quais 6
podem ser usados como
PWM)

Entradas
Analgicas
Max.
Corrente
DC por pino de I/O
Max.
Corrente
DC por pino de I/O
3.3V
Memria Flash
SRAM
EEPROM

6
40 mA
50 mA
32 KB (dos quais
0.5 KB utilizados pelo
bootloader)
2 KB
1024 bytes

Tabela 1 Caractersticas do Arduino

2.3 Testes experimentais

Sabe-se que todos os componentes citados


anteriormente so de grande importncia, pois
atravs dos mesmos o projeto em questo
comea a ser estruturado.
Mas para tal pretenso, faz-se necessrio
realizar experimentos que comprovem tudo o
que foi especificado sobre tais componentes e
por fim poder integr-los.

velocidade do som j transformado. Obtm-se o


dobro da distncia do objeto, assim divide-se
esse valor por dois para chegar ao resultado da
distncia do mesmo.
Sabendo como se calcula essa distncia, j
possvel integrar a programao do Arduino
junto ao sensor, na Figura 8 podemos visualizar
atravs de grfico essa variao de distncia.

2.3.1 Medio de distncia


Para realizar os testes de medio e deteco de
um objeto, foram usados o sensor de ultrasom
em conjunto com o Arduino para o
processamento do sinal adquiro do sensor,
Como pode ser visto atravs do esquema de
ligao da Figura 7.

Figura 8 Deteco e medio de distncia na tela do


computador

Figura 7 Esquema de ligao com o sensor

Feita as devidas ligaes de alimentao,


colocado o pino OUT do sensor no pino 7 de
entrada e sada digital do Arduino.
Para calcular-mos o valor da distncia em
que se encontra o objeto medido pelo sensor
ultrasnico, precisa-se saber a velocidade do
som no ar. Esse valor calculado atravs da
equao descrita a seguir:

Onde v a velocidade de propagao da


onda em m/s, B o mdulo volumtrico de
elasticidade em Pa e a densidade do meio de
propagao em kg/m, no caso o ar (Fialho,
2007).
Alterando a unidade da velocidade do som
no ar, que de aproximadamente 340 m/s
(Sengpielaudio, 2010), para 29 s /cm,
possvel determinar a distncia do objeto atravs
do tempo de emisso e recepo da onda, em
centmetros, dividindo-se esse mesmo valor pela

Com base nesse teste, percebeu-se que a


distncia real mnima que o sensor detecta de
25 cm e mxima de 268 cm, resultado que
possibilita a aplicao desse sensor neste
trabalho.
A
programao
executada
no
microcontrolador bastante simplificada,
atravs de um temporizador podemos contar
quanto foi o tempo em que a onda foi emitida e
recebida pelo sensor em s.
Atravs desse valor calculada a distncia
que se encontra o obstculo, explicada
anteriormente. De ante desse valor enviado
essa mesma informao via comunicao serial
para um computador, que atualizada a cada
100 s, exemplificada na Figura 9.

Figura 10 Resistor de pull-up

O fluxograma do programa que executa


esse teste est demonstrado na figura 11, o qual
funciona da seguinte forma: so setados
inicialmente os pinos do servo e do led como
sada, em seguinte o boto como entrada digital.
Feito isso, a programao executa atravs de
laos if/else a verificao do estado do boto, se
o boto pressionado a velocidade de giro do
atuador diminui a 30 %, se no mantida a
rotao a 100 %.

Figura 9 Fluxograma para calculo da distncia

2.3.2 Reduo da velocidade de rotao de um


servo
Testando-se os servos podemos ter uma base de
como vai ser aplicado junto aos outros
componentes do projeto. Para iniciar esse teste
necessita-se a utilizao de uma sada PWM
(Corteletti, 2010), uma entrada e uma sada
digital.
Para identificao do comando enviado ao
Arduino usando um boto, faz-se necessrio a
utilizao de um resistor de pull-up (Figura 10),
dessa maneira, quando o mesmo pressionado,
o servomotor reduz sua velocidade de giro, prprogramada no microcontrolador (Figura 11).
Podemos ver a ligao do servo junto ao
Arduino na Figura 12, onde a sada PWM no
pino 10 comanda o atuador e a entrada digital
que recebe o sinal do boto ligado no pino 4, e
para identificao visual do que est sendo
executado com o servo, setado como sada um
led do prprio Arduino que est conectado ao
pino 13.

Figura 11 Fluxograma de execuo de comandos para o


servo

Figura 12 Esquema do circuito de ligao do Arduino com


servo

2.3.3 Deteco de distncia usando dois


sonares acionando dois leds

possvel visualizar algica do experimento


descrito.

Sabe-se que, para o prottipo executar uma ao


preciso que esse tenha uma base de comandos
pr-definidos em sua programao. Esse teste
realiza basicamente como o rob ir se
comportar frente a um obstculo.
Sabendo
dessa
importncia,
foram
utilizados dois sonares para a deteco de
obstculo, e dois leds que simulam os servos
(um do lado direito e outro no lado esquerdo).
Baseado nos circuitos dos testes anteriores,
os dois sensores foram ligados nas
entradas/sadas digitais (pinos 7 e 8) do Arduino
e os leds nas sadas PWM (pinos 10 e 11) do
mesmo, exemplificado na Figura 13.

Figura 14 Fluxograma para deteco usando dois sonares

Figura 13 Circuito integrando 2 sonares e 2 leds ao


Arduino.

A lgica de programao nesse teste baseiase no fato de os dois sensores estarem lado a
lado (a uma distncia de 3 cm entre eles), ento
foi possvel perceber com o presente
experimento, que um sonar pode detectar um
objeto a uma distncia ligeiramente superior ou
inferior ao outro (dependendo de onde se
encontra o objeto). Com essa informao,
podemos programar para que um dos leds
aumente ou diminua a sua intensidade luminosa
a travs do PWM, de acordo com o sensor
que est identificando um objeto mais prximo
ou mais distante do outro sensor.
Exemplificando o que foi descrito a cima,
podemos imaginar que o sonar 1 (esquerda) esta
indicando que detectou um obstculo a 30 cm, e
o sonar 2 (direita) est detectando a 34 cm,
ento o led 1 aumenta ou mantm a sua
intensidade luminosa, enquanto o led 2 diminui
a sua intensidade ( ou seja o rob ira desviar
para a sua direita). E no caso dos dois sonares
indicarem a mesma distncia os leds matem
suas luminosidades iguais (o rob segue em
linha reta). No fluxograma da Figura 14

2.4 Desenvolvimento final do rob


De posse dos esquemas dos circuitos de
sensores, de atuadores e de controle de dados,
tem-se a base necessria para a montagem final
de todo o conjunto que compem o rob
autnomo detector de obstculo. Para isso,
deve-se ligar os pinos (7 e 8) de entra e sada
digital do Arduino com o pino OUT dos
sonares. Em seguida, conectar, os pinos de
alimentao dos sonares na alimentao da
placa do Arduino. Seguindo o mesmo
raciocnio, alimentam-se os servos, tambm,
diretamente na placa, ligando sadas PWM
(pinos 10 e 11) junto ao fio de comando dos
servos, como mostrado na Figura 15.

Figura 15 Esquema do circuito do rob

J montado o circuito do rob, preciso


implementar sua lgica de programao, a qual
utiliza o mesmo principio do teste com os
sonares e os leds, porem substituindo os leds
pelos servos.
Agora, utilizando duas interrupes
externas, que fazem os clculos das distncias
obtidas pelos sensores, a velocidade de
processamento dos dados e comandos, usados
na programao do Arduino, foi otimizada
(Figura 16).
Figura 17 Montagem final do rob

3 Concluso

Figura 16 Fluxograma final da programao do rob

Integrando essas duas partes do projeto,


pode-se montar os componentes junto
estrutura fsica do prottipo (Figura 17) e assim
poder estudar seu comportamento diante o
mundo que o cerca.

Com o presente trabalho foi possvel obter


conhecimento multidisciplinar sobre vrias
reas relacionadas engenharia de controle e
automao.
No mundo da robtica, necessrio saber
como tais dispositivos se comportam, para que
so utilizados, como se estrutura um rob, como
funciona cada componente que o integra e
tambm a importncia de cada um deles para o
mesmo.
Verificou-se
pelos
resultados
das
simulaes, que o Arduino Duemilanove
bastante eficaz para esse tipo de projeto, tanto
na parte de software como na parte de hardware,
j que com sua utilizao facilitou muito o
manuseio de outros equipamentos, como o
Modulo Sonar Tato e os servomotores.
Alm disso, a aplicabilidade da robtica,
aqui proposta demonstra as mais vastas
aplicaes, assim, sendo possvel a utilizao
dessa rea de estudo nos mais variados projetos.
Como proposta para trabalhos futuros,
pode-se desenvolver estratgias de software e
hardware mais sofisticados, como por exemplo,
o desenvolvimento de robs autnomos usando
controle PID ou ainda mesmo inteligncia
Artificial, para uma autonomia e uma eficincia
ainda maior.
Agradecimentos
Primeiramente agradecemos a Deus por ter nos
dado a oportunidade de hoje estarmos aqui
concluindo a primeira etapa da nossa vida
acadmica, aos nossos pais, que sem seu apoio
no poderamos estar aqui, e ao Professor
Raphael Comesanha pela orientao.
Referncias Bibliogrficas

Jcobo, J. E. A. (2001). Desenvolvimento de um


Rob Autnomo Mvel Verstil utilizando
Arquitetura Subsumption. Unicamp.
Correia, L. (2006). Tpicos introdutrios sobre
robs mveis. Faculdade de Cincias
Universidade de Lisboa. Portugal. Pg 4 5.
Arduino, (2010). Arduino. http://www.arduino.cc
/playground/Portugues/HomePage.
Acessado: outubro/2010.
Barragn,
H.
(2010).
Wiring.
http://wiring.org.co. Acessado: outubro/
2010
Fry, B.; Reas, C. (2010). Processing.
http://www.processing.org.
Acessado:
outubro/ 2010.
Fialho, A. B. (2007). Instrumentao Industrial:
Conceitos, Aplicaes e Anlises. 5 Ed.
So Paulo; rica. Pg. 189.
Sengpielaudio,
(2010).
Speed
Sound.
http://www.sengpielaudio.com/calculatorspeedsound.htm. Acessado: Agosto/2010
Corteletti, D. (2010). Programao. Centro
Tecnolgico de Mecatrnica / Centro
Tecnolgico Automotivo, SENAI.

Você também pode gostar