Development of Computer Vision
Applications for Mobile Robotic Platforms
Desenvolvimento de Aplicações de Visão
Computacional para Plataformas de Robótica Móvel
September, 2011
Luiz Eduardo Galvão Martins, Ph.D.
UNIFESP
XBot
legmartins@unifesp.br
Agenda
•
•
•
•
•
Evolução da Robótica
Robótica Móvel Terrestre
Plataformas de Robótica Móvel para Pesquisa
A Plataforma RoboDeck
Aplicações de Visão Computacional na
Robótica Móvel
• A Empresa XBot
• Comentários Finais
2
Evolução da Robótica
• Robótica
Ciência e técnica da concepção, construção e
utilização de robôs
• Robô
Segundo Ronald Arkin, do Instituto de Tecnologia da
Geórgia (Estados Unidos), “um robô é uma
máquina capaz de extrair informações do
ambiente e usar conhecimento sobre o mundo de
modo a se mover com segurança e com um
propósito”
Evolução da Robótica
1495 - 1926
1942 - 1963
1969 - 1989
1993- 1999
2000 - 2011
Fonte: http://robotics.ece.auckland.ac.nz
Evolução da Robótica
• A robótica móvel pode ser classificada, entre
outras formas, de acordo com o meio físico de
locomoção dos robôs:
Terrestre
Aéreo
Aquático
5
Robótica Móvel Terrestre
• Navegação em ambientes internos estruturados
(ou não)
• Navegação em ambientes externos estruturados
(ou não)
• Mapeamento de ambientes
• Sistemas de auxílio à condução de veículos
–
–
–
–
–
Detecção de pedestres
Detecção de placas de sinalização
Estacionamento autônomo de veículos
Comboios automatizados
Outros
6
Plataformas de Robótica
Móvel para Pesquisa
• Pioneer – MobileRobots
USA
• Create – Irobot
USA
• Mindstorms NXT – LEGO
Denmark
• Robotic Mobility Platform – Segway
• RoboDeck – Xbot
Brazil
USA
7
A Plataforma RoboDeck
• O RoboDeck é uma
plataforma robótica
projetada para fins
educacionais e de
pesquisa na área de
robótica móvel
A Plataforma RoboDeck
Indoor
9
A Plataforma RoboDeck
10
A Plataforma RoboDeck
11
A Plataforma RoboDeck
• Distribuição do sensoriamento do RoboDeck
12
A Plataforma RoboDeck
• Visão geral da arquitetura de software do
RoboDeck
13
A Plataforma RoboDeck
• MAP contextualizado na placa de alta
performance
14
A Plataforma RoboDeck
• A placa de alta performance
15
Aplicações de Visão
Computacional na Robótica Móvel
• Oferecer ao robô capacidade de visão
computacional, por meio de algoritmos de
processamento de imagens
– Algoritmos para reconhecimento de cores
– Algoritmos para reconhecimento de formas
(objetos)
– Algoritmos para perseguição de objetos prédefinidos (tracking)
16
Aplicações de Visão
Computacional na Robótica Móvel
void reconheceCirculoNaImagem()
{
IplImage* img = cvLoadImage("figuras.jpg", 1);
IplImage* gray = cvCreateImage(cvGetSize(img), 8, 1);
CvMemStorage* storage = cvCreateMemStorage(0);
cvCvtColor(img, gray, CV_BGR2GRAY);
cvSmooth(gray, gray, CV_GAUSSIAN, 9, 9);
CvSeq* circles = cvHoughCircles(gray, storage,CV_HOUGH_GRADIENT, 2,
gray->height/4, 200, 100);
printf("%f",circles);
int i; for (i = 0; i < circles->total; i++)
{
printf("\ncírculo na cena ");
float* p = (float*)cvGetSeqElem( circles, i );
cvCircle( img, cvPoint(cvRound(p[0]),cvRound(p[1])), 3,
CV_RGB(0,255,0), -1, 8, 0 );
cvCircle( img, cvPoint(cvRound(p[0]),cvRound(p[1])),
cvRound(p[2]), CV_RGB(255,0,0), 3, 8, 0 );
}
cvNamedWindow( "circles", 1 );
cvShowImage( "circles", img );
cvNamedWindow( "smooth", 2 );
cvShowImage( "smooth", gray );
}
17
Aplicações de Visão
Computacional na Robótica Móvel
int main(int argc, char *argv[])
{
Camera *camera = new Camera();
IplImage *templ = cvLoadImage("seta_direita.png");
}
cvNamedWindow(mainWindowName);
img = camera->NextFrame();
TemplateMatch *match = new TemplateMatch(img, templ);
CvPoint *pos = &cvPoint(0, 0);
double maxVal = 0;
while(true)
{
cvMinMaxLoc(match->Match(), 0, &maxVal, pos);
if(maxVal > THRESHOLD)match->DrawRect(pos);
cvShowImage(mainWindowName, match->GetImg());
match->SetImg(camera->NextFrame());
if(cvWaitKey(10) == 27) break;
}
cvDestroyWindow(mainWindowName);
delete match;
delete camera;
return 0;
18
Aplicações de Visão
Computacional na Robótica Móvel
Acionamento dos comandos robóticos:
• MOTOR_Move(Motor nMotor, s16 intensity);
• MOTOR_DirectionMove(Wheel nWheel, s8 Angulo);
19
Aplicações
deComputacional
Visão
Aplicações
de Visão
Computacional
na Robótica
na Robótica
Móvel Móvel
• Robô Vigilante
– Rondas em rotas pré-estabelecidas (trajetos com sinais)
– Monitoramento de objetos (portas, janelas com
marcações especiais)
– Acionamento do sistema central de segurança
– Comunicação com vigias humanos
20
Aplicações
Visão
Aplicativos
dedeVisão
Computacional
na Robótica Móvel
Computacional
• Robô Vigilante
– Aplicações
•
•
•
•
•
Galpões industriais
Áreas de convívio em condomínios
Escolas
Repartições públicas
Shopping Mall
21
Aplicações
Visão
Aplicativos
dedeVisão
Computacional
na Robótica Móvel
Computacional
• Robô Vigilante
22
Aplicações
Visão
Aplicativos
dedeVisão
Computacional
na Robótica Móvel
Computacional
• Esquadrilha de
Robôs Vigilantes
23
Aplicações de Visão
Comentários
Finais Móvel
Computacional
na Robótica
• Robô Entregador
– Programação de rotas a ser percorridas dentro do
ambiente de entrega
– Ativação do robô por meio de fala
– Capacidade de desviar de pessoas
e outros objetos
– Associação de sinais aos trajetos
– Aviso automático da entrega
realizada
– Aplicações
• Armazéns, supermercados, galpões
industriais, hospitais, bibliotecas
24
Aplicações de Visão
Comentários
Finais Móvel
Computacional
na Robótica
• Robô Entregador
– Aplicações
• Armazéns, supermercados, galpões
industriais, hospitais, bibliotecas
P4
P3
P1
P2
25
Aplicações de Visão
Comentários
Finais Móvel
Computacional
na Robótica
• Robô Guia
– Auxílio a pessoas em ambientes complexos
• “follow me workstation”
– Interação via terminal touchscreen
– Interação via reconhecimento de fala
– Capacidade de desvio de
obstáculos e pessoas
– Aplicações:
• Aeroportos, centro de convenções,
museus, repartições públicas
Onde
encontro ... ?
Siga-me !
26
A Empresa XBot
27
A Empresa XBot
Comentários Finais
• A robótica está mais presente no dia-a-dia das
pessoas
• Visão Computacional ajudando a melhorar a
autonomia dos robôs móveis
• Plataforma RoboDeck como alternativa atrativa
para o desenvolvimento de pesquisas e
protótipos na área de robótica móvel
• Tendência futura: comunicação, interação,
colaboração e inteligência coletiva
29
Contato
Agradecimentos
Luiz Eduardo Galvão Martins, Ph.D.
legmartins@unifesp.br
luiz@xbot.com.br
30
Download

Development of Computer Vision Applications for Mobile Robotic