You are on page 1of 5

Método de Desenvolvimento de um Robô Móvel

Diferencial Didático
Levi C. A. Pereira¹, Elionai G. A. Sobrinho²
¹-² Instituto de Estudos Superiores da Amazônia – IESAM, Avenida Gov. José Malcher, 1148 – Nazaré. CEP66055-260.
E-mails: ¹levi.azevedopereira@gmail.com, ²elionai@prof.iesam-pa.edu.br

Otávio A. Chase³
³ Instituto de Tecnologia da Universidade Federal do Pará – ITEC/UFPA, Rua Augusto Corrêa, 01 – Guamá. CEP66075-110. Caixa Postal 479.
E-mail: chase@neoradix.com.br

Resumo ⎯ Este artigo apresenta o desenvolvimento de um O primeiro passo para o desenvolvimento do robô móvel é
método para o projeto de construção de um robô móvel a definição de sua utilidade final, e em seguida, com base
diferencial de forma didática e prática. O objetivo é que este nessa definição, é estabelecido o modo de locomoção mais
material sirva de guia prático para iniciantes no estudo da adequado, o tipo de comunicação com o operador remoto,
robótica móvel. A abordagem em camadas para o projeto de
como será feita a aquisição de dados para o posicionamento
robôs é descrita para que sejam ordenados tópicos relacionados
à mecânica, eletrônica e o sistema computacional que o do robô em relação ao ambiente ao qual ele será inserido e
constitui, e assim agilizar todas as etapas do projeto. O robô por último deverá ser escolhido o microcontrolador – uC que
móvel AlfaUno, desenvolvido neste método, é composto por irá atender as necessidades do projeto.
sensores, atuadores e um microcontrolador PIC18F252 da
Microchip, cuja programação torna o robô capaz de ser B. Definições Básicas do Projeto
autônomo ou controlado remotamente.
Neste projeto, o escopo básico para o robô móvel foi
Palavras-chaves ⎯ Robótica móvel, Abordagem em camadas, definido com base em sua finalidade de uso. A Tabela I
Sistemas microcontrolados. apresenta os dados colhidos para sua elaboração.
I. INTRODUÇÃO TABELA I DEFINIÇÕES BÁSICAS DO ROBÔ MÓVEL ALFAUNO
Itens Definições
Nos últimos anos, grandes avanços foram apresentados na Finalidade Apresentação didática
área da robótica. Diversos projetos são desenvolvidos por Tipo Terrestre
todo o território nacional, e novos estudantes ingressam nos Locomoção Duas rodas, tração diferencial
estudos da robótica móvel, mas somente alguns conseguem Comunicação Sem comunicação, autonomo
Ambiente Urbano
integrar suas pesquisas e iniciar de forma aceitável seus Sensoriamento Sonar, Infravermelho
projetos. A robótica móvel segue três ramos: terrestre, aérea e Microcontrolador PIC18F252
subaquática [1], [4], porém o princípio de construção do robô
é o mesmo para as três ramificações. C. Definindo os Componentes do Robô Móvel em Camadas
Um dos métodos aplicados no desenvolvimento de robôs
móveis é o de distribuição em camadas. Este método consiste Já com o escopo inicial do robô definido, parte-se para a
na organização do robô em camadas, que são: a camada estruturação em camadas. A primeira camada a ser definida é
mecânica, que engloba os atuadores e a estrutura do robô, a a mecânica, onde estão localizados os atuadores de
camada eletrônica, onde está incluído todo o circuito, locomoção e a estrutura.
sensoriamento e comunicação do robô, a camada de A estrutura escolhida para o Robô Móvel AlfaUno foi uma
computação, esta responsável pelo controle autônomo ou pequena chapa de acrilico nas medidas de 10cm x 10cm x
guiado do robô, através de sua programação e por último a 0.5cm. Devido as pequenas dimensões, a estrutura é bem
camada de integração, onde as três camadas são unificadas rigida e segura para agregar todos os componentes do robô. A
[1]-[3]. estrutura foi escolhida pelo fato de ser simples e compacta, o
Este trabalho apresenta um método para o desenvolvimento que facilita sua locomoção no ambiente urbano.
de um robô móvel terrestre com tração diferencial, e o estudo Os atuadores escolhidos para a locomoção do AlfaUno
aplicado desse método produziu um pequeno robô foram dois Servos Motores de rotação. Há dois tipos de
denomidado de AlfaUno. servos: os de posição, com giro de 180º, e o de rotação, que
possui o giro contínuo. O Servo de Posição é utilizado em
II. PROJETANDO UM ROBÔ MÓVEL
braços robóticos para as articulações e movimentos gerais, na
robótica móvel terrestre para o controle de pernas mecânicas
A. Iniciando o Projeto
e para o controle de cameras. O Servo de Rotação é
prioritariamente escolhido para a locomoção por rodas,
porém deve-se atentar para o torque do servo, pois se o robô
ultrapassar o peso limite suportado em relação ao torque do partir de 13cm até 3mts, ou dependendo da reflexão do objeto
servo, ele poderá ser danificado implicando na sua chegar a 6mts [3], Fig. 3; (ii) um sensor infravermelho que
substituição. A Fig. 1 mostra a estrutura com os servos presos utiliza o GP1U783R IR Detecting Unit For Remot Control da
a ela e a Fig. 2 apresenta a estrutura já com as rodas Sharp, que detecta um objeto à até 20cm do seu alvo pela
integradas. As rodas de locomoção utilizadas são de reflexão de luz infravermelha. (iii) três sensores
aeromodelo e a terceira roda é somente para estabilizar o infravermelhos baseados no phototransistor TIL78 e no
sistema, por tanto não possui tração, possuindo somente a emissor infravermelho TIL32 mostrados na Fig. 4, estes
função de arraste. sensores são para a função de seguidor de linha do robô.
A Fig. 5 apresenta o esquema do sensor e a Fig. 6 ilustra o
funcionamento do sensor infravermelho.

Fig. 3. MaxSonar EZ1 e seu Campo de Detecção.

Fig. 1. Estrutura e Servo Motores.

Fig. 4. Sensores Infravermelho, TIL78 e TIL32.

Fig. 2. Rodas Integradas ao robô.

A segunda camada a ser estruturada é a eletrônica. Nessa


camada estão alocados todos os componentes eletrônicos, os
sensores e os componentes para a comunicação. O único item
que não está nessa camada é o microcontrolador, sendo que
esse estará na camada de integração. Porém a camada Fig. 5. Esquema do Sensor infravermelho, TIL78 e TIL32.
eletrônica definirá qual uC será o mais adequado para o
controle do robô. Com a definição do tipo do robô, o
ambiente ao qual ele estará inserido e a sua finalidade, o
sensoriamento torna-se simples. Os sensores são dispositívos
projetados para quantificar ou detectar parâmetros
especificados por meio de elementos transdutores.
Transdutores são elementos que tem a função de converter
uma dada magnitude física em outra [1].
Os sensores escolhidos para o AlfaUno foram: (i) um sonar
MaxSonar EZ1, capaz de detectar distâncias do seu alvo à
Fig. 6. Acionamento do Sensor Infravermelho.

Fig. 8. Conexão de Comunicação Microcontrolador / Computador.


Também é alocado na camada eletrônica o tipo de
comunicação do robô móvel com seu operador ou servidor de Com os parâmetros, atuadores para a locomoção, sensores e
dados. Atualmente para a comunicação em robótica móvel, e comunicação estabelecidos, a escolha do microcontrolador já
diversas aplicações embarcadas [2], o protocolo ZigBee IEEE se torna mais clara.
802.15.4 é o mais difundido, e várias empresas produzem seu As camadas do projeto não são independentes umas das
próprio dispositivo, como o XBee™ da empresa americana outras, cada uma delas precisa da outra para existir e ser
MaxStream® [6]. A comunicação com o robô móvel ou com definida. A camada computacional dependerá da escolha do
qualquer sistema microcontrolado é estabelecida pelas portas microcontrolador, a linguagem de programação C é a mesma
RX e TX do microcontrolador. para todos, porém cada um deles possui parâmetros
O circuito básico para a comunicação do módulo XBee-Pro específicos para sua programação. Esses parâmetros variam
com um microcontrolador e o circuito básico de comunicação de uma família para outra e entre alguns modelos dentro de
do microcontrolador com um computador via serial são uma mesma família.
apresentados na Fig. 7 e Fig. 8, respectivamente. No projeto A escolha do microcontrolador é baseada nos tipos de saída
do robô móvel AlfaUno, a comunicação com o operador não dos sensores, no tipo de sinal para o acionamento dos
será estabelecida, portanto não há a necessidade de utilização atuadores e no tipo de conexão com o desenvolvedor.
do dispositivo XBee-Pro ou da comunicação serial via RS- O MaxSonar EZ1 possui vários sinais de saída, porém a
232 com o CI MAX232. escolhida para ser utilizada foi a saída analógica, que gera
~10mV por polegada. O sensor infravermelho para o
seguimento de linha retorna nível alto ou baixo para as
detecções, o sensor infravermelho com o CI GP1U783R da
Sharp retorna uma string de três bits, direita, esquerda e
centro. Como esse sensor só informa nível alto ou baixo, não
precisará de alguma função especial do microcontrolador. O
robô móvel não se comunicará com o computador, porém a
saída serial TX e RX do microcontrolador será necessária
para a gravação do mesmo via BOOTLOADER [2], que será
explicada na camada computacional.
O uC para a o projeto precisará de um conversor A/D
interno de 10bits para melhor precisão dos dados,
comunicação USART com suporte para RS-232 e RS-485,
portas com interrupção, timers que são contadores de tempo
internos e suporte PWM para uma possível implementação
no controle dos servo motores. Após uma pesquisa no site da
fabricante, a escolha do microcontrolador foi efetuada e o
modelo escolhido foi o PIC18F252 da empresa norte
americana Microchip, que atende as necessidades do projeto
perfeitamente.
Fig. 7. Conexão de Comunicação XBee / Microcontrolador. Com o microcontrolador definido, pode-se iniciar a camada
computacional e desenvolver a programação para controlar o
robô móvel. O primeiro passo é montar o fluxograma do
algoritmo de controle, caso o robô tenha outros modos de
operação, como demonstra a Fig. 9, deve-se preparar também
o fluxograma desses modos, Fig. 10 e Fig. 11. Então, em
seguida, com base nos fluxogramas, passa-se para a
programação em C.
Após o termino do código em C e sua compilação, deve-se
gravar o HEX gerado, que é o firmware em linguagem de
máquina, no microcontrolador. Um dos modos de gravação é
por meio do BOOTLOADER, Fig. 12.

Fig. 9. Fluxograma do Algoritmo de Controle. Fig. 12. Rotina do Bootloader Colt18 [7].

O Bootloader é uma rotina de programação do tipo ICSP


(In Circuit Serial Programer), que ocupa os primeiros 512-
bytes da memória de programa do microcontrolador, a fim de
gerenciar os dados escritos na memória de programa. Logo, o
firmware pode ser regravado quantas vezes forem necessárias
atavés da comunicação serial, sem o uso de gravadoras ou
retirar o microcontrolador do circuito de aplicação. Bastando
usar a gravadora apenas uma vez quando o HEX do
bootloader é gravado no microcontrolador. A rotina de
programação deve anteceder a função principal do código:
int main(), [7].
No final, as camadas foram aplicadas ao projeto e seu
desenvolvimento se manteve estável até sua conclusão, a fim
de tornar sua visão uniforme e transparente, pois mesmo com
todo o projeto segmentado, todas as camadas estão integradas
e trabalham de forma cooperativa conforme visto na Fig. 13.

Fig. 10. Fluxograma do Modo 2, Sensor Sonar.

Fig. 13. Camadas do Projeto.

Fig. 11. Fluxograma do Modo 1, Sensor Infravermelho.


III. RESULTADOS EXPERIMENTAIS IV. CONCLUSÃO

O processo de estruturação em camadas apresentou 100% O método apresentado cumpriu sua proposta quanto ao
de eficássia quanto a sua proposta de produção. Ao fim de desenvolvimento de um robô móvel diferencial didático,
todo o projeto, o robô móvel tornou-se concreto e demonstrando sua aplicabilidade no ensino da robótica
amplamente funcional para a utilização em uma plataforma móvel.
didática. O desenvolvimento deste projeto visou reunir o máximo de
Um dos aspectos de relevânica a sua aplicação, é o informações possíveis para que o estudante de robótica móvel
incentivo a pesquisa e o estudo de cada componente do fosse capaz de iniciar um pequeno projeto de robô de forma
sistema, forçando o desenvolvedor do projeto buscar uma simples e focada através de um método didático e prático.
solução viável a sua realidade local. Não espera-se que este método seja aplicado como um guia
As maiores dificuldades para o desenvolvimento da ou manual definitivo para estudos na robótica móvel, mas
robótica móvel ainda são o custo elevado de componentes sim com um passo inicial no desenvolvimento de qualquer
específicos e de precisão, encontrar uma fonte energética que projeto robótico.
forneça energia suficiente para o funcionamento estável do Em futuro breve, pretende-se aplicar este método de
sistema robótico como um todo, e que essa fonte seja leve o desenvolvimento no ensino da robótica móvel, e com o apoio
bastante para ser embarcada no sistema móvel. do governo local, levar a alunos da rede pública de ensino o
As baterías mais adequadas para o sistema são as fabricadas acesso a essa informação, pois todo o projeto foi viabilizado
em Íon de Lithium – Li-ion, elas são leves e a relação com um baixo custo ao desenvolvedor.
CARGA X TEMPO é excelente, além de poderem ser
recarregadas sem a preocupação de que ocorra o efeito AGRADECIMENTOS
memória, que ocorre em baterías de Nickel Metal Hidreto –
Ni-MH e Nickel Cadmium – Ni-Cad. O sitema de A Deus por ser minha fonte de vida e por ter me concedido
alimentação dos atuadores e dos circuitos devem ser a vitória de estar concluindo mais essa etapa. Aos meus pais
independentes, pois os atuadores podem gerar sobrecarga no por todo o apoio e investimento durante minha jornada
sistema eletrônico, causando o mal funcionamento do acadêmica e por terem acreditado na minha competência.
mesmo. Ao meu orientador Prof. Dr. Elionai de Almeida Sobrinho
Todos os componentes utilizados no robô móvel AlfaUno por suas colaborações originais para o enriquecimento deste
Fig. 14, estão disponíveis no mercado nacional, tanto no trabalho e por ter acreditado neste projeto.
comércio local quanto no comércio eletrônico por meio da Ao meu co-orientador Otávio Chase, GERSIC/UFPA por
internet e seus valores são acessíveis aos estudantes e todo apoio na elaboração deste trabalho e pelo incentivo ao
profissionais atuantes na robótica móvel. desenvolvimento da robótica móvel paraense.

REFERÊNCIAS
[1] Pieri, E. R. “Curso de Robótica Móvel”, Editora UFSC, Brasil, 2002.
[2] O. A. Chase, J. R. Brito-de-Souza, J. F. Almeida. “Robô de Inspeção para
Aquisição de Dados Ambientais na Região Amazônica com o uso da
Norma IEEE1451”. Brasília-DF, SBAI 2009.
[3] K. L. Machado, D. R. Ribeiro, L. A. Pereira, O. A. Chase, M. K. Sampaio,
J. F. Almeida. “Rede Neural Artificial Embarcada em Robótica Móvel”.
Rio Grande-RS, 3MCSUL 2009.
[4] D. F. Wolf, E. V. Simões, F. S. Osório, O. T. Junior. “Robótica Móvel
Inteligente: Da Simulação às Aplicações no Mundo Real”. Bento
Gonçalves-RS, CSBC 2009.
[5] R. Bianchi. “Introdução a Robótica Móvel”. Aula ministrada ao Mestrado
em Inteligência Artificial Aplicadas a Automação, Centro Universitário da
FEI, Brasil, 2007. Disponível em: www.fei.edu.br/~rbianchi/robotica.
[6] ROGERCOM. (2008). “Controle Remoto e Aquisição de Dados Via
XBee/ZigBee (IEEE 802.15.4)”. Acesso em: Agosto de 2009, Brasil.
[7] M. H. Kumagai, O. A. Chase, “Sistema de Aquisição de Dados com o
Microcontrolador PIC18F252”.Belém-PA, UFPA/NEORADIX 2009.

Fig. 14. Vista Lateral do Protótipo AlfaUno Finalizado.

You might also like