Você está na página 1de 5

SISTEMA DE CONTROLE DE UMA PLATAFORMA ROBTICA

EXPERIMENTAL BASEADO EM VISO COMPUTACIONAL UTILIZANDO


KINECT
Leonardo Camilo Ribeiro1, Amanda Bragana Farias1, Eduardo Max Amaro Amaral 2
1

CURSO TCNICO EM INFORMTICA - INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO ESPRITO


SANTO - CAMPUS SERRA
Rodovia ES 010, Km 6.5, Manguinhos
CEP 29.173-084 Serra ES
2

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO ESPRITO SANTO - CAMPUS SERRA


Rodovia ES 010, Km 6.5, Manguinhos
CEP 29.173-084 Serra ES

Abstract The educational robotics has become an important


tool in the insertion of students in the research environment.
This paper presents a experimental robotic platform of low
cost, what uses the Kinect as vision sensor. Also presents a
computer vision based system capable of control tasks simple
of the robot. The results demonstrated that the proposed robotic
platform is feasible and can be used in the development of new
algorithms, until even more complex than those developed in
this work.
Keywords: Robotics, Education, Arduino, Robotics Kits,
Kinect.
Resumo A robtica educacional tem se tornado uma
ferramenta importante na insero de alunos no ambiente de
pesquisa. Este artigo apresenta uma plataforma robtica
experimental de baixo custo, que utiliza o Kinect como sensor
de viso. Tambm apresenta um sistema baseado em viso
computacional capaz de controlar tarefas simples do rob. Os
resultados demonstraram que a plataforma robtica proposta
vivel e pode ser utilizada no desenvolvimento de novos
algoritmos, at mesmo mais complexos do que os
desenvolvidos neste trabalho.
Palavras Chaves:
Robticos, Kinect.

Robtica,

Educao, Arduino,

Kits

fsica, matemtica e raciocnio lgico, pode ser uma excelente


ferramenta no auxlio ao aprendizado e para promoo da
interdisciplinaridade (Martins, Oliveira e Oliveira, 2012). Zilli
(2004) tambm caracteriza a atividade robtica como
interdisciplinar, pois possibilita estimular o pr-projeto, a
engenharia e habilidades em computao, e sendo, por isso,
altamente relevante para o currculo escolar.
Segundo Amaral, Pin e de Oliveira (2012), para que haja a
prtica da robtica educacional so utilizados kits didticos
para robtica. Dentre esses kits, alguns so distribudos
comercialmente de uma forma fixa podendo ser mudada apenas
a lgica de controle (como, por exemplo, os produzidos pela
LEGO). Estes kits possuem a desvantagem de permitirem
poucas modificaes no hardware reduzindo a possibilidade de
se adicionar novas funcionalidades, alm de serem de alto
custo, o que dificulta sua aquisio por parte das escolas.
Ao escolher uma plataforma robtica, o custo no o nico
fator a ser considerado. Uma bem-sucedida plataforma robtica
deve ter uma pequena curva de aprendizagem para atividades
simples, mas deve se expandir para atender necessidades
avanadas e de pesquisa, ou seja, deve possuir uma boa
escalabilidade (Johnson, 2002).

De acordo com Johnson (2002), o interesse em robtica


aumentou espantosamente nos ltimos anos. A robtica vista
por muitos como a oferta de novos e importantes benefcios na
educao em todos os nveis.

Neste contexto, o objetivo deste trabalho foi comprovar o


proposto por Amaral, Pin e de Oliveira (2012), construindo
uma plataforma robtica experimental (PR), com o intuito de
desenvolver algoritmos de viso computacional, utilizando o
Kinect da Microsoft, capaz de controlar a PR. Outro objetivo
foi verificar a interdisciplinaridade desta atividade e inserir
alunos do curso Tcnico em Informtica em um ambiente de
pesquisa, totalmente propcio ao desenvolvimento da
capacidade criativa dos alunos. Especificamente, neste projeto,
foi criada uma plataforma robtica experimental (PR)
controlada por movimentos de um usurio detectados pelo
Kinect. Esse controle poderia ser relevante quando um rob
autnomo encontra-se com dificuldades na realizao dos
movimentos (por exemplo, desvio de obstculos complexos) ou
quando ainda no possui um ambiente mapeado.

O rob, por ser um dispositivo que exige a conexo de diversos


elementos de maneira planejada e coordenada e pelo fato de
tais elementos exigirem conhecimentos de diversas reas, como

Este artigo encontra-se organizado da seguinte forma: a seo 2


apresenta a forma de construo da PR. A seo 3 relata a
arquitetura fsica. J a seo 4 descreve a arquitetura do

INTRODUO

Robs so amplamente utilizados em todo o mundo e em


diversas aplicaes. Por conseguinte, o campo da robtica
educacional tem recebido crescente ateno dos educadores e
estudantes. Como exemplo, o nmero de estudantes no Brasil
que participam da Olimpada Mundial de Robtica aumentou, e
eles tm alcanado notvel sucesso (Martins, Oliveira e
Oliveira, 2012).

Mostra Nacional de Robtica (MNR)

sistema. Os resultados so apresentados na seo 5, e as


concluses so apresentadas na seo 6.

desenvolvida sobre uma biblioteca que simplifica a escrita da


programao em C/C++ (Arduino, 2013).

PLATAFORMA ROBTICA

Este projeto foi desenvolvido no LARSE (Laboratrio de


Robtica e Sistemas Embarcados). O LARSE vinculado ao
NERA (Ncleo de Estudos em Robtica e Automao), e os
trabalhos desenvolvidos pelo Ncleo j demonstraram a
interdisciplinaridade da robtica e os benefcios, no processo
de aprendizagem em programao e eletrnica, desfrutados
pelos alunos envolvidos (Martins, Oliveira, e Amaral, 2012),
(Amaral, Pin e De Oliveira, 2012) e (Martins, Oliveira e
Oliveira, 2012).
Sendo assim, a plataforma robtica experimental (PR)
desenvolvida neste trabalho foi baseada no projeto feito por
Amaral, Pin e de Oliveira (2012). A PR apoiada em duas
placas de acrlico sobrepostas, contendo trs rodas, sendo duas
delas motrizes e a terceira de apoio, como em um rob de
acionamento diferencial. As diferenas bsicas da PR com
relao ao trabalho de Amaral, Pin e de Oliveira so descritas a
seguir.
Escolheu-se uma base acrlica maior, com o propsito de
suportar mais equipamentos embarcados. Neste caso, rodas
maiores, uma placa Arduino, uma protoboard, uma bateria e
dois servomotores na plataforma inferior. Um Kinect da
Microsoft e um notebook (controlador) na plataforma superior,
conforme Figura 1.

Figura 1 - Plataforma robtica experimental.


Alm disso, os servomotores escolhidos foram de maior torque,
no caso, 5.0 Kg-cm (no projeto original eram de 3.3 Kg-cm).
Como dito, as rodas tambm foram modificadas por rodas com
maior dimetro.

ARQUITETURA FSICA

Figura 2 - Plataforma robtica experimental.


J o Kinect (da Microsoft) fornece imagens que vm sendo
chamadas de RGBD, fazendo referncia aos trs canais de
cores e ao canal adicional de profundidade (com a letra D
vindo do termo depth, profundidade em ingls). Vrios
trabalhos em robtica tambm tm utilizado o Kinect como
sensor de profundidade e reconstruo 3D. Um sistema de
controle de rastreamento do movimento humano com Kinect a
bordo de um rob mvel foi desenvolvido por (Machida et al.,
2012). Em (El-Laithy et al, 2012), ele usado para aplicaes
de navegao indoor em veculo terrestre.
O princpio bsico por trs do sensor de profundidade do
Kinect a emisso de um padro de IR (infravermelho) e a
captura de imagem simultnea da imagem IR com uma cmera
CMOS (tradicional). O processador de imagem do Kinect
utiliza as posies relativas dos pontos no padro para calcular
o deslocamento de profundidade em cada posio de pixel na
imagem (Andersen et al, 2012). A preciso de profundidade
de aproximadamente 10 milmetros a uma distncia de 2
metros.
O Kinect um sensor de grande valia para a rea de Viso
Computacional, tendo sido explorado em projetos das mais
variadas aplicaes. Alm disso, possui como vantagem um
baixo custo de aquisio. Sendo assim, utilizou-se esse sensor
na deteco dos movimentos para o controle da plataforma
robtica experimental.

ARQUITETURA DO SISTEMA

Abaixo (Figura 3), pode-se ver um diagrama onde est


representada a arquitetura do sistema e como a plataforma
robtica experimental funciona de forma terica.

A arquitetura fsica define como as estruturas fsicas sero


interligadas. Essa arquitetura pode ser observada na Figura 2.
A arquitetura fsica composta por um controlador (notebook)
interligado, pela porta USB, a um Arduino, que por sua vez,
est ligado a dois atuadores (servos) pelas portas PWM (Pulse
Width Modulation - Modulao por Largura de Pulso) de sua
placa. Alm disso, um sensor, do tipo Kinect, est ligado ao
controlador tambm pela porta USB.
O Arduino faz parte do conceito de hardware e software livre e
est aberto para uso e contribuio de toda sociedade. uma
plataforma de computao fsica (so sistemas digitais ligados
a sensores e atuadores, que permitem construir sistemas que
percebam a realidade e respondem com aes fsicas), baseada
em uma simples placa de Entrada/Sada microcontrolada e
Mostra Nacional de Robtica (MNR)

Figura 3 - Arquitetura do Sistema.

4.1

Controle Bsico de Movimentos e


Comunicao

movimentos pr determinados, atravs do Kinect, e a partir


deles controlar um rob diferencial.

As funes bsicas de movimento disponveis no rob so:


frente - forward, r - backward, pare - stop, direita 90 right e esquerda 90 - left. Essas funes so as mesmas
desenvolvidas por Amaral, Pin e de Oliveira (2012) e esto
embarcadas na placa microcontrolada (Arduino).

Para isso, o mapa de profundidade fornecido pelo Kinect


dividido em quadrantes, conforme Figura 5.

Na Comunicao, feita pela porta USB, foi definido um


protocolo entre o Arduino e o controlador. O Arduino recebe
uma string contendo a deciso de movimento (forward,
backward, stop, right e left). Essa comunicao feita
utilizando-se o Processing. Este ambiente de cdigo aberto
disponibilizado para diversos sistemas operacionais, incluindo
Windows e Linux, e j possui uma biblioteca de comunicao
com o Arduino (Processing, 2013).

4.2

Mapa de Profundidade

De acordo com Tlgyessy e Hubinsk (2011), uma parte


importante da interao humano-rob (HRI - Human-robot
interaction) controlar um sistema robtico com gestos da
mo e isso tem sido objeto de muitos trabalhos de pesquisa.
Segundo os autores, interagir com sistemas digitais, sem a
necessidade de um mouse, teclado ou joystick tem um futuro
promissor. Muitos algoritmos que utilizam apenas uma nica
cmara RGB tm sido propostos. No entanto, a informao 3D
do Kinect proporciona uma grande ajuda na realizao de
algoritmos de reconhecimento de gestos estticos e dinmicos.
O Kinect um sensor de baixo custo que fornece mapas de
profundidade. Esse equipamento contm uma cmera RGB e
um emissor IR, sendo que o mapa de profundidade obtido a
partir da triangulao de luz estruturada projetada. A
localizao 3D determinada a partir da interseo entre a
direo da viso da cmera e a direo da luz produzida pelo
emissor (Figura 4).

Figura 5 - Mapa de profundidade produzido pelo Kinect e a


diviso dos quadrantes que definem os movimentos.
O ponto mais prximo do dispositivo escolhido para
controlar os movimentos (aqui chamado de ponto mnimo).
Um distncia de 1 metro foi definida como padro para
deteco do ponto mnimo. O usurio, ao posicionar a mo
frente do corpo, direcionada ao Kinect, esse ponto mnimo
detectado. Aps a deteco, ao movimentar a mo para um
determinado quadrante, um movimento do rob diferencial
acionado. Os movimentos foram definidos como:
ponto mnimo no quadrante superior a direta: rob se
move para frente (forward) (Figura 6);
ponto mnimo no quadrante superior a esquerda: rob
se move para trs (backward);
ponto mnimo no quadrante inferior a direita: rob se
move a direita (right);
ponto mnimo no quadrante inferior a esquerda: rob
se move a esquerda (left);

Figura 4 - A profundidade uma estimativa da distncia do


objeto em relao ao plano de cmera (Andersen et al,
2012).
A cada instante i, um mapa de profundidade Di gerado pelo
Kinect. Dada a imagem da cmera, a profundidade de cada
pixel u ento associada ao mapa de profundidade.

4.3

Deteco de Movimentos e Controle de


Deciso

O algoritmo desenvolvido neste trabalho foi baseado no


algoritmo proposto por Borenstein (2012). O intuito detectar

Figura 6 - Exemplo de um movimento de comando feito


pelo usurio. Ponto mnimo no quadrante superior a direta:
rob se move para frente (forward).
Uma regio centralizada do mapa de profundidade foi
escolhida como regio de descanso, onde o rob no realiza
movimentos (stop). O ponto mnimo fica nessa regio quando a
distncia mnima no alcanada (Figura 5).
Mostra Nacional de Robtica (MNR)

EXPERIMENTOS E RESULTADOS

Para avaliar o modelo proposto, foram feitos testes no


laboratrio, em ambiente controlado (Figura 7).

Os erros ocorridos na deteco de movimentos foram causados


pela alta taxa de dados na porta USB, conforme descrito acima,
e logo foram resolvidos. J no controle bsico de movimentos,
os erros ocorreram duas vezes devido a falha de conexo dos
fios do arduino com os servos motores e uma vez devido a um
encaixe incorreto das rodas. Melhorias na plataforma j esto
sendo executadas para sanar esses problemas. Nenhum erro
ocorreu no controle de deciso.

CONCLUSES

Embora neste trabalho apenas tenha sido desenvolvida uma


nica aplicao prtica, foi possvel comprovar que a
plataforma vivel, e que se comportou de forma estvel.
Sendo assim, a soluo proposta se mostrou um bom caminho
para a construo de veculos robticos equipados com sensor
de viso computacional (Kinect) a serem utilizados em robtica
educacional.

Figura 7 - Rob executando um percurso, de acordo o


movimento de comando do usurio, em um ambiente
controlado.
Para os testes, um padro de movimento do rob foi adotado,
simulando um desvio de obstculos. Ele deveria executar um
percurso composto de: uma movimentao frente, uma
parada, uma r, uma rotao direita ou esquerda, e uma
movimentao frente.
Em todos os testes a PR demonstrou boa estabilidade, tanto
com relao aos movimentos quanto com relao deteco de
movimentos de controle feita pelo Kinect (Tabela 1). O
conjunto proposto neste trabalho foi capaz de desenvolver o
percurso sugerido com os movimentos totalmente controlados
por um usurio.
A integrao da placa Arduino, do veculo, do controlador e
dos softwares se deu de forma no muito complexa e
trabalhosa. As maiores dificuldades encontradas com relao
PR foram na montagem das rodas e na manipulao dos fios. J
na deteco de movimentos e controle feitos pelos algoritmos
implementados utilizando o Kinect, as dificuldades foram com
a calibrao da taxa de comunicao entre o Processing e o
Arduino. Correes foram necessrias no sistema de deteco
de movimentos do usurio, para reduzir as atualizaes de
controle. Para isso, uma suavizao na movimentao do ponto
mnimo foi implementada.
Tabela 1 - Erros de controle e movimento da PR.
Quantidade
de Testes

Erro

% de
Erro

% de
Acerto

Deteco de
movimentos

20

10,0

90,0

Controle de deciso

20

0,0

100,0

Controle bsico de
movimentos

20

15,0

85,0

Mostra Nacional de Robtica (MNR)

O projeto desenvolvido na realizao deste estudo permitiu a


utilizao de ferramentas tecnolgicas modernas, como a
prpria robtica, a viso computacional e a eletrnica,
demonstrando a grande interdisciplinaridade da rea. Alm
disso, proporcionou um estmulo aos alunos do Curso Tcnico
em Informtica do Instituto Federal a participarem mais
ativamente de projetos de iniciao cientfica. Este trabalho j
est sendo utilizado como referncia por outros trabalhos em
andamento, como: desvio de obstculos, mapeamento e
reconhecimento de gestos, todos utilizando o Kinect como
sensor. Ou seja, criou-se a possibilidade de se acrescentar
vrias outras funcionalidades ao rob, com o intuito de
melhorar o seu funcionamento, mas o mais relevante
possibilitar ao aluno o exerccio da criatividade e o
aprimoramento dos conhecimentos em robtica.
O Kinect se mostrou uma grande e complexa ferramenta que
pode ser usada para ensinar os alunos muitas tarefas robticas
comuns. Como sensoriamento 3D uma tendncia atual na
pesquisa, estudando robtica com o Kinect como parte do
equipamento um tanto desafiador e motivador.
O custo total do projeto no ultrapassou R$ 800,00 (sem
considerar o controlador - notebook), atingindo o objetivo que
era de construir uma plataforma com valores acessveis
realidade de muitas escolas brasileiras.
Trabalhos futuros podem ser executados na melhoria da
plataforma. Pode-se propor uma melhor implementao da
comunicao entre Arduino e o controlador (protocolo),
melhorias fsicas de locomoo e nos cdigos de movimento.
Outras melhorias no cdigo de controle tambm podem ser
feitas, dando mais inteligncia e autonomia ao rob, alm da
possibilidade de criao de mapas em tempo real do ambiente
navegado e implementao de tcnicas de inteligncia
artificial.

REFERNCIAS BIBLIOGRFICAS
Amaral, E. M. A., Pin, L. B. e de Oliveira, D. (2012).
LUDEbot: Uma plataforma com Servomotores e
Sensoriamento utilizando a Placa Arduino e Controle
Externo, In: III Workshop on Educational Robotics,
IEEE SBR/LARS/WRE (I Brazilian Robotics
Symposium, IX Latin American Robotics Symposium),
Fortaleza, CE, 2012.
Andersen, M.R., Jensen T., Lisouski P., Mortensen, A.K.,
Hansen, M.K., T. Gregersen, P. (2012). Ahrendt: Kinect
Depth Sensor Evaluation for Computer Vision

Applications, Department of Engineering, Aarhus


University. Denmark. 37 pp. Technical report ECE-TR6, 2012.
Anderson, M., Thaete L. and Wiegand N. (2007). Player/Stage:
A Unifying Paradigm to Improve Robotics Education
Delivery, In: RSS Workshop on Research on Robotics in
Education 2007, Atlanta, GA.
Arduino. (2013). Language Reference, Disponvel em:
http://arduino.cc/en/Reference/HomePage. Acesso em:
julho de 2013.
Borenstein, G. (2012). Making Things See: 3D Vision with
Kinect, Processing, Arduino, and MakerBot, First
Edition, Published by OReilly Media, Inc., ISBN: 9781-449-30707-3.
El-Laithy, R.A., Huang, J., Yeh, M. (2012). Study on the use of
Microsoft Kinect for robotics applications. Position
Location and Navigation Symposium (PLANS), In:
2012 IEEE/ION, vol., no., pp.1280, 1288, 23-26 April
2012. doi: 10.1109/PLANS.2012.6236985.
Johnson, J. (2002). Children, robotics, and education, 7th
International Symposium on Artificial Life and
Robotics, Oita, Japan, January 1618, 2002. Print ISSN
1433-5298.
Machida, E., Cao, M., Murao, T., Hashimoto, H. (2012).
Human motion tracking of mobile robot with Kinect 3D
sensor, In: SICE Annual Conference (SICE),

Proceedings of , vol., no., pp.2207, 2211, 20-23 Aug.


2012.
Martins, F. N., Oliveira, H. C. e Amaral, E. M. A. (2012).
NERA A Center for Research on Educational Robotics
and Automation, In: WEROB 2012 Workshop on
Educational Robotics, 16th RoboCup International
Symposium, Mexico City, 2012.
Martins, F. N., Oliveira, H. C. e Oliveira, G. F. (2012).
Robtica
como
Meio
de
Promoo
da
Interdisciplinaridade no Ensino Profissionalizante, In:
WRE/LARS 2012 - Workshop de Robtica Educacional
- parte do Latin American Robotics Symposium,
Fortaleza. Anais do LARS SBR 2012.
Processing. (2013). Language Reference, Disponvel em:
http://www.processing.org/reference/. Acesso em: julho
de 2013.
Tlgyessy, M., Hubinsk, P. (2011). The Kinect Sensor in
Robotics Education, Proceedings of 2nd International
Conference on Robotics in Education (RiE 2011).
Publisher: INNOC - Austrian Society for Innovative
Computer Sciences.
Zilli, S. R. (2004). A robtica educacional no ensino
fundamental: perspectivas e prtica, Dissertao de
Mestrado, UFSC, Florianpolis, SC, 2004.

Mostra Nacional de Robtica (MNR)