300 likes | 386 Views
Explore the development of computer vision applications for mobile robotic platforms, including the evolution of robotics, platforms for research, and practical applications in mobile robotics. Learn from expert Luiz Eduardo Galvão Martins at UNIFESP.
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