Transcription
Introducción a la RobóticaMóvilEduardo Morales, L. Enrique SucarInteligencia ArtificialIntro Robotica1
Contendio ¿Qué es un robot?Tipos de RobotsPartes de un robotArquitecturasPercepciónMapas del ambienteLocalizaciónPlaneación de trayectoriasMapeo y Localización Simultánea (SLAM)Interacción Humano RobotIntro Robotica2
¿Qué es un robot?Intro Robotica3
Un robot es . “manipulador programable ymultifuncional diseñado para movermateriales, partes, herramientas odispositivos específicos mediantemovimientos programados para realizardiferentes tareas” [Instituto de Robóticade América]Intro Robotica4
Un robot es . “agente activo artificial cuyo ambientees el mundo físico” [Russell y Norvig] “conexión inteligente de percepción aacción” [Jones y Flynn] “una máquina programable capaz depercibir y actuar en el mundo con ciertaautonomía” [Sucar]Intro Robotica5
Tipos de Robots Robots manipuladores (brazos) Robots móviles Robots “híbridos” (móviles conmanipulación) Vehículos autónomos Robots áereos (UAVs) Robots submarinos Robots humanoides Robots hexápodos .Intro Robotica6
Partes de un lActuadoresPotenciaIntro Robotica7
Actuadores Dispositivos que permiten al robotmodificar el medio ambiente Dos tipos principales:– Locomoción: cambiar la posición del robotrespecto al medio ambiente– Manipulación: mover otros objetos en elmedio ambienteIntro Robotica8
Dispositivos que permitenal robot percibir el medioambiente y su estadointerno Principales tipos:– “Propriception”Sensores– posición ymovimiento: Codificadores en unionesde manipuladores Odometría en robotsmóviles– Fuerza (bumpers)– Táctiles– Ultrasonido (sonares)Intro Robotica9
Sensores– Cámaras– Fotorreceptores– Apuntadores láser– Telémetros láser– Sensores de energía– Brújulas– KinectIntro Robotica10
Potencia Sistema de potencia que proporcionan laenergía eléctrica para la operación de lasdiferentes partes: electrónica, motores,sensores, etc. Los robots manipuladores se puedenalimentar de las líneas eléctricas (fijos),mientras que los robots móvilesnormalmente se alimentan de bateríasIntro Robotica11
Control Provee la interfaz entre el sistema deprocesamiento del robot y sus sensores yactuadores Normalmente se realiza mediante unacombinación de hardware y software Provee una serie de comandos(subrutinas) para los programas de altonivel del robot (“inteligencia”)Intro Robotica12
“Inteligencia” Programas que permiten que el robotrealice sus tareas Dependiendo del tipo de robot y de lacomplejidad y variedad de las tareas arealizar, se tienen diferentes tipos deprogramasIntro Robotica13
“Inteligencia” Algunas tareas de un robot móvil:– Integrar/interprertar la información de sus sensores– Navegación (evitar obstáculos, ir a cierto lugar - meta)– Planeación (decidir la serie de pasos para cumplir una omás metas)– Construir modelos del ambiente (mapas)– Localizarse en el mundo (en el mapa)– Reconocer lugares y/o objetos– Manipular objetos– Comunicarse con otros agentes: computadoras, otrosrobots, personasIntro Robotica14
Comunicación En diversas aplicaciones es necesario que elrobot se comunique con otros agentes Tipos de comunicación:– Telecontrol: programación y control a distancia– Cooperación: comunicación con robots u otrasmáquinas para realizar tareas conjuntas– Interacción humano-robot: comunicación conpersonas para recibir comandos o dar informaciónIntro Robotica15
Problemas fundamentales Obtener información del mundo:Percepción Saber donde estoy: Localización Construir un modelo del ambiente: Mapeo(SLAM) y Exploración Decidir como alcanzar el objetivo:Planeación Seguir un plan para alcanzar el objetivo:Navegación, ControlIntro Robotica16
Arquitecturas de Software “organización de la generación de accionesa partir de las percepciones del robot” “arreglo de módulos de software para unrobot móvil.” Principales tipos:– Arquitecturas deliberativas– Arquitecturas reactivas– Arquitecturas híbridasIntro Robotica17
Ejemplo Ir a la meta (luz) evitando los obstáculosIntro Robotica18
Arquitecturas básicas Arquitectura deliberativa Arquitectura reactivasensoresactuadoresIntro Robotica19
Arquitectura deliberativa Basada en el paradigma de sensa-planeaactua (SPA):– Se tiene un modelo completo (mapa) delambiente– Se construye un plan de acción para realizarla tarea basado en el modelo– Se ejecuta el planIntro Robotica20
Arquitectura deliberativaSensadoModelodelmundoPlanIntro RoboticaControlEjecución21
Ejemplo: enfoque deliberativo Construir mapa del ambiente, incluyendoobstáculos y meta Generar un plan para ir de la posicióninicial a la meta evitando los obstáculos Ejecutar el planIntro Robotica22
Ejemplo: plan en un mapa derejilla Plan: buscar una serie de acciones básicasque lleven al robot de la posición inicial a lametaIntro Robotica23
Arquitectura deliberativa Ventajas:– El tener un modelo del ambiente permite optimizarlas acciones para obtener el “mejor” plan Limitaciones:– Necesidad de un modelo preciso del ambiente– Altos requerimientos de cómputo y memoria– Dificultad de operar en un mundo dinámico odesconocido– Reacción “lenta” a situaciones imprevistasIntro Robotica24
Arquitectura Reactiva En el enfoque reactivo hay una conexióndirecta de percepción a acción sinnecesidad de un modelo del mundo Normalmente se considera una serie deniveles de comportamiento que realizandiferentes comportamientos en forma“paralela” (subsumption architecture)Intro Robotica25
Arquitectura basada eambularEvitar objetosIntro Robotica26
Manejo de Conflictos Al existir varios módulos en paralelopueden existir conflictos, que seresuelven dando prioridades a losdiferentes comportamientos El comportamiento de mayor prioridad“suprime” los otros comportamientosDeambularEvitar objetosIntro Roboticamotores27
Ejemplo: enfoque reactivoBuscar luzIr a la luzmotoresEvitar objetosIntro Robotica28
Arquitectura Reactiva Ventajas:– Bajo requerimiento de cómputo, respuestarápida– Facilidad de desarrollo modular– No requiere un modelo del mundo Limitaciones:– Difícil de extender a tareas complejas– Limitaciones sensoriales pueden ocasionarproblemas al no contar con un modelo– No garantiza la mejor solución (óptimo)Intro Robotica29
Arquitecturas Híbridas Combinación de arquitecturasdeliberativas y reactivas que intentanaprovechar ventajas de ambas Ejemplos:– Arquitecturas jerárquicas (3 capas)– Arquitecturas de pizarrón (blackboard)– Arquitecturas probabilísticasIntro Robotica30
Arquitectura de 3 capas Tres componentes básicos:– Capa de habilidades: Mecanismo decontrol reactivo (controlador)– Capa de secuenciación: Mecanismo deejecución de plan (secuenciador)– Capa de planeación: Mecanismodeliberativo (deliberador) El secuenciador selecciona losmecanismos básicos de la capa dehabilidades en base al plan de la capade planeación Intro Robotica31
Arquitectura de 3 inchocargirarIntro Roboticair aluzactuadores32
Arquitectura de Pizarrón Conjunto de módulos o procesos queinteractúan mediante un espacio de informacióncomún llamado pizarrón (blackboard) Cada módulo implemente una función específicay en conjunto todos realizan la tarea Todos los módulos pueden ver la información enel pizarrón y actúan en forma oportunística, deacuerdo al que más pueda aportar en esemomento (coordinador)Intro Robotica33
Arquitectura de PizarrónObtenerinfo.sensoresPIZARRÓNIr a lametaEvitarobstáculocontrolplaneaciónIntro Robotica34
Arquitectura probabilística Consideran la incertidumbre inherente en elmundo real, tanto en la información de lossensores como en la ejecución de losactuadores Representan en forma explícita dichaincertidumbre mediante distribuciones deprobabilidad:– Integración probabilística de sensores– Mapas probabilísticos– Acciones basadas en teoría de decisiones(maximizar utilidad)Intro Robotica35
Arquitectura alLocalizaciónNavegaciónactuadoresControl (sensores/actuadores)Intro Robotica36
Percepción del Ambiente Los sensores permiten al robot percibirsu medio ambiente y su estado interno Dos tipos básicos:– Sensores de estado interno– Sensores de estado externo Desde otro punto de vista se puedenclasificar en:– Activos: emiten energía o modifican elambiente– Pasivos: reciben energía pasivamenteRobótica Probabilista, L. E. Sucar37
Modelo del Sensor El modelo de un sensor provee unarelación matemática entre la propiedad deinterés (e) y la lectura del sensor (r)r f (e) El modelo debe incluir la relación deldispositivo físico y el ruido debido alsensor mismo (interno) y al medioambiente (externo)Robótica Probabilista, L. E. Sucar38
Modelo del SensorrruidoeRobótica Probabilista, L. E. Sucar39
Modelo del SensorConsiderando la incertidumbre – modelo probabilísticoP(Olaser Z)ZRobótica Probabilista, L. E. Sucar40
Fusión sensorial Una forma de reducir la incertidumbre escombinando varios sensores, ya sea del mismotipo o de diferente tipo: Fusión sensorial La forma más sencilla de combinar variossensores es simplemente tomar el promedio delas mediciones Existen técnicas más sofisticadas de fusióncomo técnicas bayesianas y el filtro de KalmanRobótica Probabilista, L. E. Sucar41
Fusión sensorial Existen al menos 3 diferentes formas defusión sensorial en robótica móvil:1. Diferentes sensores2. Diferentes posiciones3. Diferentes tiemposRobótica Probabilista, L. E. Sucar42
Filtro de Kalman Las variables de estado (X) y observaciones(Z) tienen una distribución Gaussiana Las funciones de transición y observación sonlineales:xt 1 A xt G wtzt C xt vt Donde A, C, G son constantes, y wt, vt son lostérminos que representan el ruido (media cero,varianza q, r)[En general, x y z son vectores y Q, R matrices de covarianza]Robótica Probabilista, L. E. Sucar43
Filtro de Kalman – Inferencia El problema básico es calcular la probabilidadposterior del estado, xt, dada la secuencia deobservaciones, z1, , ztP( xt z1, , zt ) Dado que las variables son Gaussians, sólonecesitamos estimar la media y varianza de xtm(xt z1, , zt )v(xt z1, , zt )Robótica Probabilista, L. E. Sucar44
Filtro de Kalman – Inferencia Algoritmo recursivo:– Actualización temporal-predicción P( xt 1 xt)– Actualización de la observación P(xt 1 xt, zt 1)P(xt 1 xt)P(xt 1 xt , zt 1)XtXt 1XtXt 1ZtZZZt 1TT 1TT 1Robótica Probabilista, L. E. Sucar45
Ejemplo – localización en 1-DDistr. inicial.Obs.nueva distr.Robótica Probabilista, L. E. Sucar46
Mapas Modelo del ambiente – generalemntese representa el espacio libre y elespacio ocupado (obstáculos) medianteuna representación geométrica: unmapa Tipos de mapas:– Mapas métricos– Mapas topológicos– Mapas semánticosRobótica Probabilista, L. E. Sucar47
Mapas Métricos Se representa el espacio libre y/oobstáculos mediante medidasespaciales (geométricas). Dos formas básicas:– descomposición o rejillas– geométricoRobótica Probabilista, L. E. Sucar48
Descomposición espacial Se representa el espacio libre / obstáculosmediante una discretización en un conjunto de celdas básicas, por medio de unarejilla de ocupación espacial (occupancygrids) Tipos de rejillas:– Binarias (bitmap) o probabilísticas– Uniformes o jerárquicasRobótica Probabilista, L. E. Sucar49
Mapas de RejillaRobótica Probabilista, L. E. Sucar50
Rejilla uniformeRobótica Probabilista, L. E. Sucar51
Obstáculos / espacio libreRobótica Probabilista, L. E. Sucar52
Mapa de Rejilla Probabilístico Cada celda tiene asociada una probabilidadde estar ocupadaRobótica Probabilista, L. E. Sucar53
Mapas Topológicos Se considera el ambiente como una seriede lugares y conexiones entre dichoslugares. Esto se puede considerar como un grafo:– Nodos: lugares– Arcos: conexiones Se le puede incorporar informaciónmétrica al grafo – longitud y orientación delos arcosRobótica Probabilista, L. E. Sucar54
Ejemplo: mapa topológico Grafo de conectividad entre “cuartos”Robótica Probabilista, L. E. Sucar55
Ejemplo: mapa topológico Grafo de conectividad entre “cuartos”Robótica Probabilista, L. E. Sucar56
Mapas semánticos Se tiene asociado a un mapa métrico otopológico, una cierta semántica para losdiferentes espacios/objetos en el mapa Esto permite una comunicación másnatural con el robot en forma análoga a lacomunicación entre personas (ve al a laoficina de Enrique )Robótica Probabilista, L. E. Sucar57
Mapas semánticosCuarto 1PasilloCuarto 2Cuarto 3EstanciaRobótica Probabilista, L. E. Sucar58
Localización Hay dos tipos principales de localización:1. Local (seguimiento) – dada una posiciónconocida del robot, mantener su localizaciónen el mapa2. Global – encontrar la posición sinconocimiento previo (o con conocimientoerróneo – “kidnapped robot”)Robótica Probabilista, L. E. Sucar59
Seguimiento de la posición Odometría (“dead reckoning”) – se estimala posición integrando los movimientos(traslación y rotación) desde una posiciónconocida Esto introduce un error que esacumulativo, normalmente mayor pararotaciones Puede utilizarse en combinación coninformación de sensores externosRobótica Probabilista, L. E. Sucar60
Localización global Consiste en determinar la posición delrobot sin tener una referencia de suposición anterior Dada las lecturas de los sensores,normalmente hay varias posibleslocalizaciones para el robot, por lo quetiene que en ocasiones tiene quedesplazarse para encontrar su posición“real”Robótica Probabilista, L. E. Sucar61
Localización basada en Marcas Una alternativa para la localización esusar marcas y triangulación Se pueden usar más de 2 marcas y hacerun esquema de “votación” para hacer elsistema más robusto Existen diferentes tipos de “marcasnaturales”, como esquinas, paredes,puertas, Robótica Probabilista, L. E. Sucar62
Localizaciónbasada enmarcasnaturalesd1d2Robótica Probabilista, L. E. Sucar63
Localización Local
No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicieel equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarlade nuevo.LocalizaciónglobalNo se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, acontinuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada.Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen einsertarla de nuevo.Robótica Probabilista, L. E. Sucar65
Localización de Markov Bajo el enfoque probabilístico, el problema delocalización global se puede resolver medianteel Filtro de Bayes (localización de Markov) El robot va alternando sensado/movimientohasta poder determinar su ubicación Se puede implementar de diferentes formas:– Filtro de Kalman– Filtros de partículas– Filtro discretoRobótica Probabilista, L. E. Sucar66
Localización de MarkovRobótica Probabilista, L. E. Sucar67
Ejemplo: localización (Fox 98) Sensado Predicción SensadoIntro Robotica68
Ejemplo de localización de Markov(Fox 98) Filtro de partículas: P(ST A1:T, O0:T)SSIntro Robotica69
Cinemática La cinemática se refiere a los efectos delas acciones de control en la configuracióndel robot La configuración es la posición yorientación de un cuerpo, en este caso unrobot en el espacioRobótica Probabilista, L. E. Sucar70
Espacio de configuraciones Grados de libertad:– Se refiere a los posibles movimientos de unrobot (X,Y,Z y rotaciones)– Para manipuladores, cada articulación proveeun grado de libertad (se requieren 6 paraubicar un objeto rígido en cualquier posición yorientación) Robots móviles:– Movimiento en el plano X-Y y rotaciónRobótica Probabilista, L. E. Sucar71
Configuración de un robot La configuración de un robot se refiere ala posición de sus todas articulacionesque definen su estado en el espacioΘ2Θ1Robótica Probabilista, L. E. Sucar72
Espacio de configuraciones Espacio “n”-dimensional donde se ubicacada grado de libertad del robot – elrobot (orgáno terminal) se puede vercomo un punto en este espacioΘ2Θ1Robótica Probabilista, L. E. Sucar73
Espacio de configuracionesPara un robot móvil, la configuración del robot está dada porsu posición X-Y y su orientación Ejemplos:– Robot Scout: X, Y, Θ1– Robot Nomad: X, Y, Θ1, Θ2Robótica Probabilista, L. E. Sucar74
Espacio de configuraciones:robot móvilYXΘRobótica Probabilista, L. E. Sucar75
Ejemplo: espacio deconfiguraciones, de obstáculos yespacio libreΘ2Θ1Robótica Probabilista, L. E. Sucar76
Planeación de Trayectorias Determinar una trayectoria en el espaciode configuraciones, entre unaconfiguración inicial (inicio) y unaconfiguración final (meta), de forma que elrobot no colisione con los obstáculos ycumpla con las restricciones cinemáticasdel robotRobótica Probabilista, L. E. Sucar77
Plan Un plan es un conjunto de acciones(operadores) que permiten a un agente(robot) ir de un estado inicial a unestado final o meta Los elementos básicos para hacer unplan son:– Estados (p. ej. Posición del robot),incluyendo el estado incial y el estadometa– Operadores: acciones que llevan de unestado a otro, Si SjRobótica Probabilista, L. E. Sucar78
Ejemplo de Plan Considerando el mapa de rejilla: Estados:– posición X,Y en el mapa– Estado inicial: 0,0– Estado meta (luz): Xm, Ym Acciones:– Movimiento a alguna de las celdas vecinas– X 1, Y 1, X-1, Y-1Robótica Probabilista, L. E. Sucar79
Ejemplo de Plan Plan: buscar una serie de acciones básicasque lleven al robot de la posición inicial a lametaRobótica Probabilista, L. E. Sucar80
Ejemplo: plan en el mapatopológico Plan búsqueda de una trayectoria en elgrafo, del nodo inicial al metaRobótica Probabilista, L. E. Sucar81
Programación dinámica Procedimiento iterativo (recursivo) paraevaluar el costo de la trayectoria mínimade cualquier punto a la meta Se considera un ambiente discreto y uncosto de moverse de un sitio (celda) a otro El algoritmo básico se conoce como“iteración de valor”Robótica Probabilista, L. E. Sucar82
Ejemplo – programacióndinámica2.421.4 122.4Robótica Probabilista, L. E. Sucar101.4 183
Ejemplo – programacióndinámica10.2 9.2 8.26.8 5.8 4.8 3.8 3.49.8 8.8 7.8 6.8 5.8 4.8 4.46.4 5.4 4.4 3.48.8 7.8 6.89.2 8.2 7.8432.421.4 124.4 3.4 2.4Robótica Probabilista, L. E. Sucar3101.4 184
Ejemplo – programacióndinámica10.2 9.2 8.26.8 5.8 4.8 3.8 3.49.8 8.8 7.8 6.8 5.8 4.8 4.46.4 5.4 4.4 3.48.8 7.8 6.89.2 8.2 7.8432.421.4 124.4 3.4 2.4Robótica Probabilista, L. E. Sucar3101.4 185
Ejemplo de programación dinámicaSe considera un conjunto de celdas (road-map) libresde obstáculos obtenidas previamenteIGRobótica Probabilista, L. E. SucarV(x,y) (pixel oscurosdenotan valores altos)86
SLAM El problema de construcción de mapas por elmismo robot es uno de los problemasfundamentales en robótica móvil Este involucra el resolver concurrentemente(simultáneamente) dos problemas:– Construir un mapa (espacio libre/ocupado) delambiente– Localizarse en el mapa que se va construyendo Por lo que se conoce como “mapeo ylocalización simultáneos” – SLAMRobótica Probabilista, L. E. Sucar87
El problema de construir un mapaMapaRobótica Probabilista, L. E. Sucar88
Construcción de mapas (Romero 2002)Robótica Probabilista, L. E. Sucar89
Robot simulado construyendo unmapa de rejillaRobótica Probabilista, L. E. Sucar90
Mapas en el INAOEPasillo oficinas 2do pisoLaboratorio de robóticaRobótica Probabilista, L. E. Sucar91
Interacción Humano-Robot
Detección de Personas
Reconocimiento de PersonasSIFT feature extractionLocalization and trackingFace recognitionVideo streamingResults
Ademanes Útiles para la comunicación humano-robot Comunicar información geométrica– Ve para allá– Toma ese objeto– Qué es eso? Complemento a la voz– Para!– Ven!
VenAtenciónDerechaIzquierdaAlto
Interacción por voz yemociones Reconocimiento ysíntesis de voz Simulación deemociones
Expresiones faciales
RoboCup@Home Torneo orientado a robots de servicio en casaque es parte de la iniciativa de RoboCup Alguna Tareas:––––––––PresentationWho is WhoFollow meLost & FoundShopping mallRestauranteFire detectionOpen challenge (mesero, rehabilitación, bailarín)
TMR 2013 - restaurante
Referencias Dudek, Jenkin, Computational Principlesof Mobile Robots, Cambridge Univ. Press Kortenkamp et al. (Eds.), ArtificialIntelligence and Mobile Robots, MIT Press Thrun, Burgard, Fox, ProbabilisticRobotics, MIT PressIntro Robotica101
Partes de un Robot Actuadores Sensores Comunicación "Inteligencia" Control Potencia . Intro Robotica 8 Actuadores . Algunas tareas de un robot móvil: - Integrar/interprertar la información de sus sensores - Navegación (evitar obstáculos, ir a cierto lugar - meta)