You are on page 1of 5

Controle de Sistemas Embarcados Através de

Bluetooth Aplicado a Robótica


André Luiz Guerreiro Modesto e Marcos Henrique Kumagai Sampaio
Instituto de Estudos Superiores da Amazônia (IESAM), Avenida Gov. José Malcher, 1148 - Nazaré - Belém-PA. Telefone: 91 – 40055400.
Orientador: Prof.Dr José Felipe Almeida

Resumo  Este artigo trata do sistema de comunicação para


um mecanismo embarcado (robô) da classe ROVER. Usa-se o Cada dispositivo Bluetooth pode se comunicar com
protocolo Bluetooth para controle por celular. Uma das quaisquer outros dispositivos dentro de uma pequena rede
vantagens deste sistema é servir como alternativa ao controle do wireless. Isto é feito por uma arquitetura de rede chamada de
robô quando existir a necessidade de melhor mobilidade, piconet [7], que consiste em um nó mestre e até sete nós
independente de sua estação, além da alta taxa de bits para escravos ativos, situados dentro de um raio de cobertura de
transferência de dados. Essa necessidade está voltada 10 metros. Dessa forma, todos os dispositivos mantém uma
diretamente ao auxílio na exploração de ambientes hostis.
conexão lógica entre si. De outro modo, essa conexão lógica
Palavras-chaves  Controle, Robô, Bluetooth. apenas é convertida em uma conexão física quando existe a
necessidade de troca de dados entre os dispositivos.
I. INTRODUÇÃO A tecnologia Bluetooth é um sistema completo, desde a
camada física até a camada de aplicação. Sua comunicação é
Nos últimos anos ocorreu um grande crescimento no feita na faixa de freqüência que varia entre 2,402 e 2,480
desenvolvimento e pesquisa de robôs móveis [1]. Isso GHz, essa banda ISM6 é livre e não é licenciada em todo o
ocorreu, principalmente devido ao grande leque de aplicações mundo [4]. E, por ser uma técnica de mudança de faixas de
da robótica móvel, sendo utilizada em tarefas de alto risco ao freqüências muito rápida, é usada para fazer com que a
homem como: em indústrias mineradoras, manejo e freqüência escolhida, para a troca de dados, seja enviada e
manipulação de materiais perigosos [1,2]; em áreas de difícil recebida em várias vezes a cada segundo. Com isso, o
acesso, tais como: exploração espacial, áreas de atividade Bluetooth evita a interferência e o choque de dados causados
vulcânica e também em outras atividades, tais como: o setor pela troca de dados entre vários dispositivos numa mesma
médico, meio ambiente e ainda utilizado em tarefas piconet.
domésticas [3]. Os componentes da rede Bluetooth, são identificados
Este projeto tem como proposta um robô controlado via através de um endereço único, de uma forma bastante
Bluetooth. Isto é feito devido à necessidade de agilidade, pois parecida com o endereço MAC numa rede Ethernet. Esse
pode ser controlado por um celular. Além disto, este tipo de endereçamento e identificação são usados para regular
tecnologia, em comparação a outras [4,5], tem a vantagem de autorização, funcionalidades e segurança dos vários
altas taxas de bits para transferência de dados. Também, participantes.
oferece resistência a impactos e não é inflamável, por isto A velocidade sinalizada é de 1Mbit/s das quais 721Kbit/s
pode ser utilizado nas brigadas de incêndio para ajudar nos estão disponíveis para transferência de voz e de dados. O
trabalhos de resgates, registrarem imagens do local, alcance máximo do Bluetooth é de 10 ou 100 metros,
identificar vítimas e registrar as temperaturas dos locais. dependendo da potência utilizada pelo dispositivo. No
entanto, existem problemas no que se diz respeito às barreiras
II. TECNOLOGIA BLUETOOTH físicas, que ocasiona uma redução do alcance da piconet.
Para o controle próprio e comunicação entre dispositivos, o
Bluetooth é uma tecnologia de curto alcance via rádio, que Bluetooth usa uma pilha de protocolos, sendo dividida em
propicia uma conexão wireless para terminais móveis como dois itens: Camada e Perfis [8]. Dividindo cada um dos
notebooks, impressoras, telefones móveis, e PDA’s (Personal elementos da pilha Bluetooth em componentes individuais,
Data Assistent). Isto é feito de tal modo que é capaz de poderemos chamar esses elementos de camada da pilha, ou
conectar dispositivos distintos através de um protocolo de seja, todas as camadas do protocolo Bluetooth formam a pilha
comunicação [6]. Ou seja, a tecnologia Bluetooth veio para de protocolos.
tentar resolver problemas como a necessidade de uso de Um dos elementos, o protocolo RFCOMM (Radio
cabos para realizar a conexão e a substituição dos diferentes Frequency Communication), é assim chamado, pois faz
tipos de entrada de hardware utilizados por esses referência às portas seriais COMM1 e COMM2. Esse
dispositivos. protocolo é conhecido como uma porta serial para
comunicação wireless ou protocolo de substituição de cabos.
Um exemplo de como o RFCOMM funciona é quando um
Marcos Henrique Kumagai Sampaio, mhsampaio@gmail.com, André PDA está com sua pilha de Bluetooth ativa e sincroniza seus
Luiz Guerreiro Modesto, 0andreluiz@gmail.com, José Felipe Almeida, dados com um computador através de um dispositivo
wirelinux@gmail.com. Bluetooth usando a camada RFCOMM. Dessa maneira, eles
irão trocar seus dados como se estivessem interligados
através de cabos físicos e utilizando a porta serial. Outro IV. MODULO BLUETOOTH
exemplo seria a sincronização de um celular para enviar
dados para um módulo Bluetooth acoplado ao circuito, para Os comandos AT foram criados por Dennis C. Hayes e
que assim envie as informações ao microcontrolador e Dale Heatherington em 1977, quando Hayes construiu na
execute a determina ação desejada. mesa da sua sala de jantar um modulador-demodulador
controlado por microprocessador para uso em computadores -
primeiro modem inteligente da história. O usuário podia
III. DESENVOLVIMENTO DA APLICAÇÃO USANDO J2ME BLUETOOTH enviar comandos do computador para o modem utilizando
uma linguagem simples de comandos de controle em ASCII,
Para a sicronização de dados do celular com o robô, foi todos começando com “AT”.
utilizada o Java 2 Micro Edition (J2ME) que é a edição da A interface do módulo KcSerial é similar ao padrão de
linguagem Java para ser usada em dispositivos de Hayes. O módulo possui dois modos de operação, um modo
computação portáteis e móveis, que possuem as seguintes de comando e um modo de comunicação de dados
características: mobilidade, baixa capacidade de denominado bypass. Em modo de comando, o dispositivo no
processamento e pouca memória disponível, alimentação final da malha de comunicação (host) pode emitir strings
elétrica por baterias, pequenas áreas de display, e limitados e denominadas comandos. Estes comandos podem ser usados
variados métodos de entrada e saída [9]. para configuração ou gerenciamento de conexão com um
Para a integração do J2ME com Bluetooth foi definida uma dispositivo remoto. Contudo este módulo não suporta o
arquitetura com a especificação da JSR-82 que é o nome "Conjunto padrão Hayes de comandos AT" (Hayes Standard
formal para a API Bluetooth Wireless Technology (JABWT). AT Command Set). Em vez disso, ele tem comandos
[10] A API JSR-82 é baseada nas configurações CLDC, que especificados pelo fabricante, que se assemelham ao padrão
consiste de uma máquina virtual, a KVM, e um conjunto de de Hayes.
bibliotecas de classes para serem utilizados dentro de um Quando o modulo é ligado, entra em modo de comando
perfil definido pela indústria, tal como o MIDP. Por sua vez o para ser configurado e gerenciar as conexões. Após
MIDP, Mobile Information Device Profile (Perfil de estabelecer conexão, entra automaticamente em modo de
Dispositivo de Informações Móvel), é um perfil J2ME comunicação (bypass), assim, os dados enviados do host
direcionado a pequenos dispositivos, ligado ao CLDC. serão transmitidos através do Link Bluetooth até o dispositivo
JSR-82 opera na camada CLDC da arquitetura de remoto. Qualquer dado recebido será entregue ao host.
implementação da plataforma J2ME, mas na prática, ela é Todos os dados recebidos pela UART (Universal
usada como uma extensão de funcionalidades da camada de asynchronous receiver/transmitter) do host serão
profiles do J2ME. transmitidos, exceto a seqüência Escape. Enquanto em modo
Referência [11] apresenta o desenvolvimento Bluetooth, bypass, o modulo fica buscando a seqüência Escape
pois são necessários alguns componentes básicos como: (“^#^$^%”). Se esta seqüência for achada, o modulo entrará
• Stack initialization (Inicialização da pilha Bluetooth, em modo de comando. Enquanto em modo de comando, toda
onde se define a porta serial, baud rate e etc.) informação recebida neste intervalo será descartada e a
interface vai enviar as respostas de volta ao host para os
• Device Inquiry (Descoberta de serviços que estão comandos recebidos.
dentro do alcance do dispositivo inicializado)

• Device management (Gerenciamento das


funcionalidades dos dispositivos definidas pelo
Generic Access Profile)

• Name Discovery (Descoberta dos nomes dos


dispositivos)

• Service Discovery (Descoberta dos serviços


disponíveis)

• RFComm (Provê conexões de confiança,


bidirecionais e orientadas a stream)

• L2CAP (Define as interfaces L2CAPConnection e


L2CAPConnectionNotifier para o envio e
recebimento de pacotes)
Fig. 1. Fluxo de dados entre kcSerial, host, e dispositivo Bluetooth remoto.

IV. CÁLCULO DE ESTRUTURA DO ROBÔ


Fig.3. Planta de estrutura do robô.

A. Tração Diferencial
B. Escolha dos motores.
O tipo de tração diferencial com duas rodas motrizes (com
O Motor escolhido foi do tipo DC, com alimentação de
2 motores DC dotados de caixa de redução e alto torque) e
12V e alto torque, com capacidade de desenvolver até 50
uma roda boba de acordo com a Figura 2. Este sistema é
rpm. A regra para a escolha deste tipo de motor foi feita com
estável e de construção mecânica simples e robusta. Dessa
base em estudos e experimentos preliminares. Este tipo de
forma, a estabilidade está garantida, pois o centro de
sistema mecânico não desenvolve altas velocidades, contudo,
gravidade cai dentro do triângulo constituído pelos três
é um sistema robusto e preciso, capaz de suportar uma
pontos de contacto das rodas com o solo.
considerável quantidade de carga.
A principal vantagem deste tipo de tração está na facilidade
Assim, as principais preocupações no projeto de acordo
de manobra – é possível realizar uma rotação completa em
com a figura 4, foram:
um ponto na mesma posição.
1. ter força suficiente para entrar no estado de eminência,
adquirir movimento no solo e atingir uma velocidade
adequada ao piso;
2. ter força suficiente para subir uma rampa de leve
inclinação (max.25°).

Fig. 2. Tração diferencial.

1) Forma geométrica

As dimensões máximas estabelecidas no projeto do


IESAMBOT I estão descritas na Figura 3. Fig. 4. Diagrama da Pista para inclinação de 25°.

Os motores escolhidos cumpriram perfeitamente estas


especificações, para os dados considerados de:
1. peso do carro entre 1,5Kg até 3,0Kg; São usados módulos de comunicação sem fio na freqüência
2. diâmetro das rodas 12,0 cm. de 433 MHz, com modulação ASK, ou na freqüência de 2,4
GHz, com o Bluetooth.Também foi utilizado uma câmera
V. SENTIDO DO MOVIMENTO E SEU COMPORTAMENTO sem fio para transmissão de vídeo na faixa 900MHz até
DINÂMICO 1200MHz (microondas). O Programa para controlar o robô
por computador foi desenvolvido em C++ pelo ambiente de
O sentido do movimento, juntamente com o controle via desenvolvimento Microsoft Visual C++ com classes MFC e
computador através do usuário para a ação dos motores é DirectX para recepção dos frames de vídeo pelo computador.
muito importante. Para desviar de um obstáculo e efetuar O robô pode ser operado também por um controle
uma curva em relação à pista, um dos motores deve estar em microcontrolado construído para ele, sem auxílio do
velocidade maior que o outro (o outro fica em velocidade computador, logo é necessário um aparelho de televisão ou
menor) e, logo, chega-se a conclusão de que esta solução leva adaptador de aquisição RCA para computador na recepção
a um ângulo menor de rotação, portanto, mais estabilidade e dos frames de imagem.
menores oscilações de acordo com a Figura 5.

V. CONSIDERAÇÕES FINAIS

Este trabalho tratou sobre a implementação de um sistema de


comunicação de um mecanismo embarcado para Rovers. Para
isto um modelo dessa classe de robôs foi construído. O
principal sistema de comunicação utilizado foi o Bluetooth,
pois tem a vantagem de manter o sistema embarcado
funcionando mesmo em situações de difícil acesso. O uso de
uma rede de microcontroladores facilita o controle do sistema
que se torna modular e incremental, ou seja, não é necessário
reconfigurar o circuito na adição de mais funções ao robô e
sim adicionar um microcontrolador que irá controlar a nova
função à rede RS-485.

REFERÊNCIAS

[1] Lages, W. F. (1998). Controle e Estimação de Posição e Orientação de


Robôs Móveis, Tese de doutorado, Instituto Tecnológico de Aeronáutica,
São José dos Campos, SP. Disponível em http://www.eletro.ufrgs.br/
fetter/artigos.html.
[2] SILVA JÚNIOR, TREVISAN, M., E. P., IDIART, M. A. P., ENGEL, P.
M.
Fig. 5. Problema da Estabilidade Dinâmica – Alta oscilação em desvios e BVP-Exploration: further improvements. In: IEEE/RSJ International
veículo instável. Conference on Intelligent Robots and Systems (IROS), 2003,Las Vegas.
IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS). IEEE,2003.
[3] Azinheira, J.R.; De Paiva, E.C.; Ramos, J.J.G.; Bueno, S.S. (2000).
“Mission Path Following for an Autonomous Unmanned Airship.” IEEE
VII. OPERAÇÃO DO ROBÔ Int. Conference on Robotics and Automation, São Francisco, USA, April
2000.
[4] Bluetooth – Disponível em <http://www.bluetooth.com/>
O controle deste Sistema Embarcado e feito em duas Elfes, A.; Bueno, S.S.; Bergerman, M.; Ramos, J.J.G. (1998a) “A semi-
etapas: primeiro, o software de controle envia instruções autonomous robotic airship for environmental monitoring missions.”
através de um modulo de comunicação ou através de um IEEE International Conference on Robotics and Automation, Leuven,
celular, tal como Bluetooth; segundo, o robô recebe estas Bélgica, Maio de 1998, pp. 3449-3455.
[5] Datasheet – RF Módulo RX TX – Disponível em <
instruções, as interpreta e posteriormente as executa. Desta http://www.tato.ind.br/>, acesso em 20/08/2008.
forma, na ultima etapa, o módulo de recepção envia as [6] RFI Mobile Technologies AG – Bluetooth Technology: Manufacturer-
instruções para o barramento de comunicação RS-485. independent information on Bluetooth™ Technology and its economic
Assim, cada microcontrolador, munido de uma firmware aspects, 2001.
[7] TANENBAUM, ANDREW. Distributed Systems – Principles and
(programa do PIC), interpreta os dados recebidos de acordo Paradigms. Prentice Hall, 3a. Edição, 2002.
com a sua função no sistema em geral. Isto envolve o [8] Hopkins, B.; Antony, R. – Bluetooth for Java ISBN:1590590783 Edição
controle de movimento (motores DC) e o controle de giro da 2003.
câmera (motor de passo). Pela sua arquitetura com dois [9] Java 2 Platform Micro Edition (J2ME ) Technology for Creating Mobile
85.
motores DC, o robô possui dois graus de liberdade. [10] JSR 82: JavaTM APIs for Bluetooth. Disponivel em
<http://www.jcp.org/en/jsr/detail?id=82> , acesso em 22/04/2008.
[11] Getting Started with Java and Bluetooth – Disponivel em
<http://today.java.net/pub/a/today/2004/07/27/bluetooth.html >, acesso
05/06/2008.

You might also like