September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of...

Post on 18-Apr-2015

108 views 2 download

Transcript of September, 2011 Luiz Eduardo Galvão Martins, Ph.D. UNIFESPXBotlegmartins@unifesp.br Development of...

September, 2011

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

XBotlegmartins@unifesp.br

Development of Computer Vision Applications for Mobile Robotic Platforms

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

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

• 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

Evolução da Robótica

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

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

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

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

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

A Plataforma RoboDeck

9

A Plataforma RoboDeck

Indoor

10

A Plataforma RoboDeck

11

A Plataforma RoboDeck

12

A Plataforma RoboDeck

• Distribuição do sensoriamento do RoboDeck

13

A Plataforma RoboDeck

• Visão geral da arquitetura de software do RoboDeck

14

A Plataforma RoboDeck

• MAP contextualizado na placa de alta performance

15

A Plataforma RoboDeck• A placa de alta performance

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

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

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

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

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

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

22

• Robô Vigilante

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

Computacional na Robótica Móvel

23

• Esquadrilha de Robôs Vigilantes

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

Computacional na Robótica Móvel

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

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

• 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

27

A Empresa XBot

A Empresa XBot

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

30

Contato

Agradecimentos

Luiz Eduardo Galvão Martins, Ph.D.

legmartins@unifesp.brluiz@xbot.com.br