Introducción A La Robótica Móvil - Inaoep.mx

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)