300 likes | 386 Views
Development of Computer Vision Applications for Mobile Robotic Platforms. Desenvolvimento de Aplicações de Visão Computacional para Plataformas de Robótica Móvel. Luiz Eduardo Galvão Martins, Ph.D . UNIFESP XBot legmartins@unifesp.br. September, 2011. Agenda. Evolução da Robótica
E N D
DevelopmentofComputerVision Applications for MobileRoboticPlatforms Desenvolvimento de Aplicações de Visão Computacional para Plataformas de Robótica Móvel Luiz Eduardo Galvão Martins, Ph.D. UNIFESP XBot legmartins@unifesp.br September, 2011
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
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 2000 - 2011 1993- 1999 1495 - 1926 1969 - 1989 1942 - 1963 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
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
Plataformas de Robótica Móvel para Pesquisa • Pioneer – MobileRobotsUSA • Create – IrobotUSA • Mindstorms NXT – LEGO Denmark • RoboticMobilityPlatform – SegwayUSA • RoboDeck – XbotBrazil
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
A Plataforma RoboDeck • Distribuição do sensoriamento do RoboDeck
A Plataforma RoboDeck • Visão geral da arquitetura de software do RoboDeck
A Plataforma RoboDeck • MAP contextualizado na placa de alta performance
A Plataforma RoboDeck • A placa de alta performance
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)
Aplicações de Visão Computacional na Robótica Móvel voidreconheceCirculoNaImagem() { 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 intmain(intargc, char *argv[]) { Camera *camera = newCamera(); IplImage *templ = cvLoadImage("seta_direita.png"); cvNamedWindow(mainWindowName); img = camera->NextFrame(); TemplateMatch *match = new TemplateMatch(img, templ); CvPoint *pos = &cvPoint(0, 0); doublemaxVal = 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 • Acionamento dos comandos robóticos: • MOTOR_Move(Motor nMotor, s16 intensity); • MOTOR_DirectionMove(Wheel nWheel, s8 Angulo);
Aplicações de Visão Computacional na Robótica Móvel Aplicações de Visão Computacional na Robótica 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
Aplicações de Visão Computacional na Robótica Móvel Aplicativos de Visão Computacional • Robô Vigilante • Aplicações • Galpões industriais • Áreas de convívio em condomínios • Escolas • Repartições públicas • Shopping Mall
Aplicações de Visão Computacional na Robótica Móvel Aplicativos de Visão Computacional • Robô Vigilante
Aplicações de Visão Computacional na Robótica Móvel Aplicativos de Visão Computacional • Esquadrilha de Robôs Vigilantes
Aplicações de Visão Computacional na Robótica Móvel Comentários Finais • 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
Aplicações de Visão Computacional na Robótica Móvel Comentários Finais • Robô Entregador • Aplicações • Armazéns, supermercados, galpões industriais, hospitais, bibliotecas P4 P3 P1 P2
Aplicações de Visão Computacional na Robótica Móvel Comentários Finais • 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 !
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
Contato Agradecimentos Luiz Eduardo Galvão Martins, Ph.D. legmartins@unifesp.br luiz@xbot.com.br