Você está na página 1de 9

V CEM−NNE98

DESENVOLVIMENTO DE UM MANIPULADOR COM DOIS


GRAUS DE LIBERDADE CONTROLADO REMOTAMENTE VIA
INTERNET
Trabalho número: 0421
GRACO − Grupo de Automação e Controle
Departamento de Engenharia Mecânica, Faculdade de Tecnologia − UnB
CEP 70910−900 Brasília − DF, Brasil
E−mail: alvares@jazz.graco.unb.br e luiz@jazz.graco.unb.br

RESUMO
Este “paper” apresenta os aspectos técnicos referentes ao desenvolvimento de um
manipulador com dois graus de liberdade comandado remotamente via Internet. O
manipulador, que é comandado de maneira remota através de um servidor WWW (World
Wide Web), posiciona uma câmera de vídeo responsável pela captura de imagens e vídeo
"on−line" do ambiente monitorado. Este trabalho situa−se na área de teleoperação. O
GRACO (Grupo de Automação e Controle), com o objetivo de iniciar pesquisas nesta área,
apoiou o desenvolvimento do sistema denominado RobWebCam composto por um
manipulador com dois graus de liberdade, uma câmera de vídeo, rede Internet,
computadores e "driver" de comunicação entre o manipulador e o sistema Unix.

PALAVRAS−CHAVES
1) Telecomando 2) Automação e Robótica 3) Internet 4) Motor de Passo 5)Unix

1INTRODUÇÃO

Este trabalho apresenta os aspectos tecnológicos referente ao desenvolvimento e


implementação de um sistema para controlar remotamente um manipulador utilizando a
Internet como via de controle. O manipulador posiciona uma câmera de vídeo para adquirir
imagens e vídeo "on−line" do ambiente monitorado. Este tema tem despertado o interesse de
diversos grupos de pesquisa em âmbito mundial (Murphy, 1996, Bradford, 1997, Robotics,
1997). Com a utilização desta tecnologia é possível mover objetos a distância, minimizando
custos de transporte, de materiais e pessoas, atuando em "tempo real", no processo que se
deseja controlar.
Com o objetivo de iniciar os estudos nesta área, o GRACO (Grupo de Automação e
Controle) do Departamento de Engenharia Mecânica da UnB, desenvolveu um sistema
composto por um manipulador com 2 graus de liberdade, câmera de vídeo, conexão com a
rede Internet, computadores e os "drivers" de comunicação entre os diversos componentes.

2PROJETO DO SISTEMA ROBWEBCAM

2.1Arquitetura do Sistema

O manipulador, que suporta a câmera de vídeo, é acionado através de motores de passo.


Estes são acionados através da placa de circuito impresso, que contêm o "driver" de potência
e a parte referente a alimentação de energia do equipamento. A placa comunica−se com o
servidor que contém os programas de controle, através de um cabo próprio para porta
paralela. Este servidor é, também, o roteador da rede. A câmera possui alimentação própria
de força e é interligada ao outro servidor através de um cabo de vídeo conectado na placa de
vídeo do servidor. Nele estão alocados o "driver" para receber as imagens e as páginas da
V CEM−NNE98

internet utilizadas para operar o sistema. O cliente, via Internet, recebe as imagens e os
comandos deste servidor. A arquitetura do sistema pode ser visualizada na figura 1.

2.2Diretrizes do
Projeto

O sistema foi
desenvolvido em uma
arquitetura aberta e de
baixo custo para que
não existissem
problemas em relação a
sua construção e
implantação. A
arquitetura aberta
significa trabalhar com
equipamentos e
"softwares" de domínio
público, os quais são de
fácil obtenção e de vasta
documentação. Desta
forma, foi utilizado o
Figura 1 − Arquitetura do sistema sistema operacional
"Linux", pela grande
vantagem de ser aberto
e confiável.
Na parte física, tentou−se utilizar equipamentos de fácil obtenção, como motores de
passo de unidades de leitura de discos flexíveis de 5 ¼" de computadores pessoais XT.
Recorreu−se, também, ao CME (Centro de Manutenção de Equipamentos) da UnB para
obtenção de peças e dados sobre estas.

2.3Manipulador

O manipulador possui uma pequena base para a


câmera na parte superior, que está acoplada a um dos
motores de passo para o acionamento. Toda a parte
superior que sustenta a câmera e o primeiro motor é
fixada a um eixo que é equilibrado por dois mancais
localizados na parte inferior. A parte superior é chamada
de base móvel e a parte inferior de base fixa. Para cada
grau de liberdade foi colocado um motor de passo, sendo
o localizado na base fixa nomeado como motor 1 e o
Figura 2 − Desenho localizado na base móvel de motor 2. Toda a estrutura do
esquemático do manipulador manipulador é feita em alumínio, devido às suas boas
propriedades contra a corrosão, ao seu baixo peso
específico e por ser de fácil trabalho. Na figura 2 pode−se visualizar o desenho esquemático
do manipulador.
São utilizadas engrenagens de dentes retos para poder transmitir a potência dos motores
para os eixos. O uso de engrenagens foi escolhido pois não permitem escorregamento e
possibilitam criar uma relação de transmissão. Através dessa relação, pode−se criar um freio,
o qual não permite que os eixos se movimentem livremente quando os motores não estão
V CEM−NNE98

acionados. Além disso, fornecem um torque maior, o que favorece o movimento dos eixos.
As engrenagens utilizadas foram retiradas da impressora "Emília" da IBM.

2.4Acionadores do Manipulador

Figura 3 − Foto do Motor de Passo aberto


Foram escolhidos os motores de passo ASTROSYN 15PM − KO14 (fig. 3), o quais foram
retirados de unidades de leitura de discos flexíveis de 5 ¼”. Foram escolhidos os dois iguais
por uma questão de unificação na construção do manipulador e para facilitar a análise do
sistema. Estes possuem um passo de 0,90º, pequeno o suficiente para o sistema. São motores
de passo do tipo híbrido, de quatro fases e bipolares. A sua alimentação é de 12V DC e a
amperagem máxima não ultrapassa os 400 mA. Foram feitos testes para se obter uma curva
de torque e comprovar a capacidade de serem utilizados.

2.5Alimentação dos Motores

Para o funcionamento dos motores foi necessário o uso de um transformador que


fornecesse uma corrente de energia adequada. O transformador utilizado possui tensão no
lado de alta de 220 Volts AC e no lado de baixa de 18 Volts AC. Considerando este
equipamento adequado para a alimentação do sistema, foi necessária a especificação de uma
fonte de tensão contínua de 12 V para alimentar os motores de passo.
Para se obter a corrente contínua no nível de voltagem desejado foi elaborado um
circuito que retifica a tensão que sai do transformador, e em seguida, a filtra com um
capacitor, regulando a tensão DC por meio de um CI regulador, e finalmente, filtrando com
outro capacitor o ruído de alta freqüência. O transformador e o circuito ficam localizados no
interior da base fixa do manipulador.

2.6“Driver” de Potência

Entre o computador e os motores de acionamento do manipulador existe a necessidade


de um dispositivo que faça a conversão dos pulsos enviados pelo computador (Kenjo, 1986),
em baixa voltagem, para uma tensão apropriada dos motores (fig. 4). Para essa interligação
buscou−se um circuito simples e prático.
V CEM−NNE98

Figura 4 − "Driver" de Potência do Sistema

Figura 5 − Pinagem do CI ULN 2003 utilizado como "driver" de potência


Realizada a pesquisa (Boylestad et al., 1994, Harries, 1997), foi definido o CI ULN2003,
mostrando−se o ideal para a montagem de um circuito simples (fig. 5). Além de atender às
necessidades do sistema, é facilmente encontrado em placas controladoras antigas. O CI é um
“buffer” TTL tipo Darlington, de 7 bits, 50 V e 500 mA. O CI foi incorporado a placa de
circuito impresso, a qual também possui o cicuito para a fonte de tensão dos motores.

Figura 6 − Placa de circuito impresso visualizada no PROTEL


V CEM−NNE98

Após o recebimento via Internet, arquitetura Cliente (Servidor), dos dados de comando de
movimentação para uma direção desejada, o software de controle envia para a porta paralela
os bits de acionamento do(s) motor(es). A placa de circuito impresso recebe o comando pela
sua interface com a porta paralela do PC. Então, os bits são enviados para o circuito integrado
ULN2003 que opera como um “driver” de potência.

2.7Placa de Circuito Impresso

A placa de circuito é integrada à base fixa do manipulador. O projeto da placa atendeu a


dois requisitos básicos: funcionalidade e dimensões reduzidas. As dimensões da placa
levaram em consideração o valor da corrente que circula pelo circuito e também o espaço
disponível no interior do manipulador.
O “software” utilizado para a confecção do “lay−out” da placa de circuito impresso foi
o PROTEL DESIGN SYSTEM. Este software, com interface muito mais amigável que os
antigos ORCAD e o TANGO, gera todos os arquivos necessários ao sistema de confecção de
placas de circuito impresso QUICK CIRCUIT evitando assim a incompatibilidade de
extensões de arquivo exigidas. A figura 6 apresenta o “lay−out” final da placa do sistema
RobWebCam gerada no PROTEL. O projeto da placa de circuito impresso foi realizado por
um aluno de engenharia elétrica integrante do GRACO.

2.8Sistema Operacional (SO)

A escolha do SO para o servidor que controla o manipulador foi baseada nos seguintes
requisitos:
• Multiusuário e multitarefa;
• Arquitetura cliente/servidor;
• Protocolo TCP/IP (Internet);
• Servidor de câmera de vídeo já disponível;
• Ter documentação de fácil acesso;
• Sistema aberto e de baixo custo;
• Facilidade para acessar a porta paralela;
• Ter uma boa variedade de compiladores e outros tipos de programas que rodem em
sua plataforma do tipo PC.
Analisados estes requisitos, foi definido o sistema operacional LINUX (Mohr,1997). O
Linux é uma implementação de Unix para computadores pessoais que atende todos os
requisitos, além de ser “freeware”. Possui um grande número de aplicações desenvolvidas,
sendo um sistema multiusuário, 32 bits, compatível com a maioria dos micro−processadores,
como: x86, a família PowerPC, série Alpha e os "chips" MIPS. Aceita todos os utilitários e
ferramentas dos sistemas UNIX comerciais, além de suportar uma boa parte dos periféricos
de "hardware". Junto com o sistema é fornecido um pacote com compiladores C e C++, um
sistema de processamento de texto, uma planilha, simuladores de ambientes gráficos e
servidor WWW ("World Wide Web").
Neste servidor é executado o programa que controla o manipulador. O servidor do
RobWebCam é composto pelo PC (LINUX) e os "softwares" e "hardwares" de controle e da
conexão à Internet. Foi desenvolvido o "driver" de controle do manipulador, que é acionado
através de uma página em HTML por um "cliente" utilizando um "browser" (Netscape e
similares) que possibilita o posicionamento da câmera, comandando remotamente o
acionamento do manipulador. O programa CGI de controle do manipulador foi desenvolvido
V CEM−NNE98

em linguagem "C", pois esta possui as características necessárias para o acesso à interface
paralela e uma grande interação com o UNIX.

2.9Captura de Vídeo e Imagem

A captura de vídeo e imagem é realizada por uma câmera da Sun. Esta câmera faz parte
da estação de trabalho da Sun situada no Laboratório do Graco. O “driver” que realiza a
captura de imagem e vídeo, adquire imagens e as envia ao servidor Web. O servidor pode
gerar extensões de arquivo como: JPEG , MPEG e CellB ou utilizar o mecanismo de “server
push” enviando ao cliente uma seqüência de imagens JPEG.
O “driver” Webcam pode ser obtido no endereço: http://lrcwww.epfl.ch/~oechslin/
wc_download.html. O Webcam possui um modo de operação que permite a renovação
periódica da imagem de maneira que o cliente possa visualizar a última imagem atualizada.
Este “driver” é fornecido gratuitamente sendo um aplicativo escrito em linguagem C (sob a
plataforma Sun) que pode ser diretamente instalado no diretório cgi−bin do servidor http. Ele
pode reproduzir desde imagens JPEG simples até seqüências de imagens JPEG formatadas
em mensagens MIME de múltiplas partes.

2.10Programação para Internet

Figura 7 − Diagrama de Fluxo de Dados


A parte de programação para Internet é realizada em duas etapas. Na primeira etapa, foi
implementado um “software” em linguagem C++ em arquivos tipo CGI para o acionamento e
controle dos motores de passo, e na segunda etapa, implementou−se uma página em HTML
para visualização da imagem capturada e do “joystick” que indica as possíveis direções de
movimento. Para obter a disponibilização deste serviço é necessário ter um servidor http que
receberá as conexões dos clientes (browsers) que irão requerer este serviço. O fluxo de dados
no sistema RobWebCam pode ser visualizado na figura 8.
O programa da página em HTML contém textos explicativos, as imagens “ao vivo” do
laboratório do GRACO e a figura mapeada do “joystick”. A solução adotada para a
implementação do comando do manipulador pela Internet utiliza uma figura em forma de
“joystick”, a qual foi mapeada do lado do cliente. Desta forma, evitou−se acessar o servidor
por causa do mapeamento. Quando o usuário executar um clique em uma região definida
desse modo, o próprio browser realizará a matemática para determinar o URL alvo e
V CEM−NNE98

responderá com apenas um pedido HTTP. A página eletrônica pode ser visualizada no
endereço da Internet: http://graco.unb.br /robwebcam.html.

3ROBWEBCAM EM OPERAÇÃO

Com todos os sub−sistemas funcionando, o sistema RobWebCam foi colocado em


funcionamento em caráter definitivo no final do mês de outubro de 1997. Todos os módulos
do sistema podem ser visualizados na figura 9.
Para utilizar o sistema basta acessar a página do GRACO (http://graco.unb.br) ou ir
diretamente pelo endereço já mencionado (http://graco.unb.br /robwebcam.html).
V CEM−NNE98

MANIPULADOR
−Parte física do manipulador;
−Motores de passo;
− Placa com o circuito lógico e
de potência;
−Transformador;
−Câmera de vídeo da SUN.

CABO DE VÍDEO
PARALELA lp0

SERVIDOR DO GRACO SERVIDOR GATE


−Servidor WebCam; −Programas de controle em CGI;
−Página do sistema; − Porta paralela conectada ao
−SO SOLARIS. TCP/IP manipulador;
−Roteador;
−SO LINUX.

INTERNET TCP/IP

FRAME 1
CLIENTE
POSICIONAMENTO
−Browser (tipo Netscape);
DO
−Visualização e controle;
MANIPULADOR

FRAME 2
IMAGEM
DA
CÂMERA

Figura 9 − Arquitetura final do sistema RobWebCam

4CONCLUSÃO

O trabalho apresentado situa−se na área de teleoperação utilizando a Internet como meio


de acesso, sendo um desenvolvimento inédito no Brasil. O sistema RobWebCam foi testado
de várias formas a fim de ser comprovada a funcionalidade e detectadas eventuais
imperfeições operacionais. Com relação à funcionalidade, os testes realizados consideraram o
sistema como apto para as aplicações para as quais ele se destina. Foram observadas algumas
possibilidades de otimizações, decorrentes das análises feitas, para uma possível continuidade
do projeto. O manipulador construído apresenta baixo ruído nos deslocamentos realizados e
possui dimensões reduzidas quando comparado a outros sistemas de posicionamento de
V CEM−NNE98

câmera existentes no mercado. Além disso, os custos foram bastante reduzidos conforme a
proposta do projeto.
Como áreas de aplicação características do sistema temos: vigilância de
estabelecimentos, visualização de ambientes de trabalho, visualização de ambientes
comerciais para propaganda, visualização de ruas ou pontos turísticos, entre outras. Um dos
grandes empecilhos à tecnologia de teleoperação via Internet, atualmente, é o tempo de espera
elevado em função da largura de banda existente na Internet, ou seja, ainda é grande o
intervalo de tempo entre o envio do comando, a efetivação do posicionamento e a
visualização da nova situação monitorada.
O sistema RobWebCam demonstrou−se como mais uma aplicação viável. No presente
trabalho foi evidenciada a sua viabilidade de desenvolvimento e implantação. Os objetivos
propostos foram alcançados, confirmando o êxito do projeto.

5REFERÊNCIAS BIBLIOGRÁFICAS

BOYLESTAD, R., NASHELSKY, L. , “Dispositivos Eletrônicos e Teoria de Circuitos”, PHB, 5a


edição, Rio de Janeiro, p.p. 746 − 749 , (1994).

BRADFORD ROBOTIC TELESCOPE OBSERVATORY, Internet, http://www.telescope.org/, 1997.

HARRIES, I. Stepper Motor Controller Connection Diagram, Internet,


http://www.doc.ic.ac.uk/~ih/, 1997.

KENJO, T. Stepping motors and their microprocessor controls, Oxford University Press,
Belfast, 1986.

MOHR, J., “Linux: mais do que o Unix”, Revista BYTE Brasil, vol. 06, nº 3, p.p. 70−72,
(1997).

MURPHY, P. Telerobot of University of Western Australia, Internet, http://130.95.52.65/, 1996.

ROBOTICS − RELATED WEB SERVERS, Internet, http://piglet.cs.umass.edu:4321/cgi−bin/robotics/,


1997.

Você também pode gostar