September, 2011 Luiz Eduardo Galvão Martins, Ph.D. [email protected] Development of...

30
September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESP XBot [email protected] Development of Computer Vision Applications for Mobile Robotic Platforms Desenvolvimento de Aplicações de Visão Computacional para Plataformas de Robótica Móvel

Transcript of September, 2011 Luiz Eduardo Galvão Martins, Ph.D. [email protected] Development of...

Page 1: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

September, 2011

Luiz Eduardo Galvão Martins, Ph.D.UNIFESP

[email protected]

Development of Computer Vision Applications for Mobile Robotic Platforms

Desenvolvimento de Aplicações de Visão Computacional para Plataformas de Robótica Móvel

Page 2: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

2

• 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

Agenda

Page 3: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

• RobóticaCiê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

Page 4: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

Evolução da Robótica

1495 - 1926 1942 - 1963 1969 - 1989 1993- 1999 2000 - 2011 Fonte: http://robotics.ece.auckland.ac.nz

Page 5: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

5

• A robótica móvel pode ser classificada, entre outras formas, de acordo com o meio físico de locomoção dos robôs:

Evolução da Robótica

Terrestre Aéreo Aquático

Page 6: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

6

• 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

Robótica Móvel Terrestre

Page 7: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

7

• Pioneer – MobileRobots USA

• Create – Irobot USA

• Mindstorms NXT – LEGO Denmark

• Robotic Mobility Platform – Segway USA

• RoboDeck – Xbot Brazil

Plataformas de Robótica Móvel para Pesquisa

Page 8: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

• O RoboDeck é uma plataforma robótica projetada para fins educacionais e de pesquisa na área de robótica móvel

A Plataforma RoboDeck

Page 9: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

9

A Plataforma RoboDeck

Indoor

Page 10: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

10

A Plataforma RoboDeck

Page 11: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

11

A Plataforma RoboDeck

Page 12: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

12

A Plataforma RoboDeck

• Distribuição do sensoriamento do RoboDeck

Page 13: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

13

A Plataforma RoboDeck

• Visão geral da arquitetura de software do RoboDeck

Page 14: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

14

A Plataforma RoboDeck

• MAP contextualizado na placa de alta performance

Page 15: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

15

A Plataforma RoboDeck• A placa de alta performance

Page 16: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

16

• 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)

Aplicações de Visão Computacional na Robótica Móvel

Page 17: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

17

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 );

}

Aplicações de Visão Computacional na Robótica Móvel

Page 18: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

18

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;

}

Aplicações de Visão Computacional na Robótica Móvel

Page 19: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

19

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);

Page 20: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

20

• 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

Aplicações de Visão Computacional na Robótica Móvel

Aplicações de Visão Computacional na Robótica Móvel

Page 21: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

21

• Robô Vigilante– Aplicações

• Galpões industriais• Áreas de convívio em condomínios• Escolas• Repartições públicas• Shopping Mall

Aplicativos de Visão ComputacionalAplicações de Visão

Computacional na Robótica Móvel

Page 22: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

22

• Robô Vigilante

Aplicativos de Visão ComputacionalAplicações de Visão

Computacional na Robótica Móvel

Page 23: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

23

• Esquadrilha de Robôs Vigilantes

Aplicativos de Visão ComputacionalAplicações de Visão

Computacional na Robótica Móvel

Page 24: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

24

• 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

Comentários FinaisAplicações de Visão

Computacional na Robótica Móvel

Page 25: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

25

Comentários FinaisAplicações de Visão

Computacional na Robótica Móvel

• Robô Entregador– Aplicações

• Armazéns, supermercados, galpões industriais, hospitais, bibliotecas

P2

P4

P3 P1

Page 26: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

• 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

Comentários FinaisAplicações de Visão

Computacional na Robótica Móvel

Onde encontro ... ?

Siga-me !

26

Page 27: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

27

A Empresa XBot

Page 28: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

A Empresa XBot

Page 29: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

29

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

Page 30: September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of Computer Vision Applications for Mobile Robotic Platforms.

30

Contato

Agradecimentos

Luiz Eduardo Galvão Martins, Ph.D.

[email protected]@xbot.com.br