Robótica TEMA 5: ROBOTS MÓVILES Martin Mellado (martin@isa.upv.es) Departamento de Ingeniería de Sistemas y Automática (DISA) Facultad de Informática de Valencia (FIV) Universidad Politécnica de Valencia (UPV) 1
Tema 5 OBJETIVOS Conocer lo que son y los componentes de un robot móvil Entender el problema cinemático de robots móviles Saber resolver la cinemática básica de un robot móvil diferencial Conocer conceptos necesario para el desarrollo de la navegación de un robot móvil 2
Tema 5 CONTENIDOS 1. Introducción 2. Componentes 3. Modelado d Cinemático 4. Autolocalización 5. Cinemática Inversa 6. Planificación de caminos 7. Modelos de comportamientos 3
Introducción Tipos de robots Fijos Cortesía MIT Cortesía RESL Cortesía Kuka Móviles: A Hélices Rodantes Cortesía Pioneer Andantes Cortesía Honda Reptiles Saltadores Cortesía IAI-CSIC Cortesía Pioneer Cortesía SBU
Introducción Primeros antecedentes: t Robot Shakey 1970 LIFE photo archive (hosted by Google) 5
Introducción Robots industriales móviles Guiados por Raíles Filoguiados Autoguiados (AGVs) Cortesía ACME Cortesía EAI Cortesía AGP Cortesía AGVP Cortesía AGVP
Introducción Aplicaciones de servicio Agricultura Espaciales Limpieza Asistenciales Vigilancia Entretenimiento 7
Introducción Vehículos autoguiados (AGVs) Abarcan todo tipo de sistema de transporte sin conductor Gran flexibilidad en el transporte de materiales y productos Complejidad creciente con las prestaciones requeridas 8
Introducción Características de los AGVs Sin conductor Sin guías mecánicas Movimiento por el suelo Baja capacidad de carga Velocidad lenta Trayectorias programables 9
Componentes Componentes de un robot móvil Sistema motriz Sistema de alimentación Sistema de sensorización Sistema de control Sistema de comunicaciones i 10
Componentes Sistema motriz Ruedas: Simple y sencillo Útil para suelos lisos Cadenas: Para suelos irregulares Mayor agarre Especiales: Para escaleras y bordillos (rueda en trébol) Omnidireccionales (ruedas suecas) Cortesía Acroname Robotics 11
Componentes Sistema de alimentación Baterías móviles (acumuladores) Limitada autonomía Recarga: Automática (cargador) Manual (operario) Cambio de baterías (automática/manual) Placas solares (sólo exterior) Combustibles fósiles Contaminantes y ruidosos Cortesía Friendly Robotics 12 Cortesía Electrolux
Componentes Sistema de sensorización Propioceptiva: p Sensores internos Conocer estado del robot Extereoceptiva: Sensores externos Conocer entorno del robot 13
Componentes Sensorización propioceptiva Encoders Control por odometría Bajo coste, sencillos y robustos Problemas en suelos irregulares Sistemas inerciales Brújulas, acelerómetros, giróscopos, etc. Coste medio Adecuados para terrenos irregulares 14
Componentes Sensorización extereoceptiva Sensores de contacto (bumpers) Bajo coste, sistema de seguridad ante colisiones Sensores de ultrasonidos / infrarrojos Bajo coste, detección de obstáculos Problemas de ecos y reflejos. Poco precisos Balizas por radiofrecuencia y GPS Entornos exteriores Escáner láser Coste medio-alto, elevadas prestaciones Sistemas de visión Precio dependiendo de las prestaciones 15
Componentes Sistema de sensorización Propioceptiva: Sensores internos: Conocer estado del robot Ventajas: baratos, fácil control Inconvenientes: acumulan errores Extereoceptiva: Sensores externos: conocer entorno del robot Ventajas: no acumulan errores Inconvenientes: caros, difícil control 16
Componentes Sistema de control Hardware Computador industrial PLCs Sistema operativo Sistemas operativos en T.R. (Linux, WNT,...) Software de control Localización, generación de trayectorias,... 17
Componentes Sistema de comunicaciones Vía modem Sencillez Prestaciones limitadas Por infrarrojos o radiofrecuencia Tarjeta Ethernet por radiofrecuencia Mayor flexibilidad Otros sistemas wireless Bluetooth 18
Modelado cinemático Cinemática Estudio del movimiento del robot según su geometría: Modelo matemático para el diseño del controlador Simulación de los movimientos Control de la odometría 19
Modelado cinemático Problema cinemático directo: Conocido: velocidades de las ruedas localización actual del robot Parámetros cinemáticos Obtener: nueva localización del vehículo en tiempo t Adicionalmente, obtener nueva orientación de las ruedas 20
Modelado cinemático Limitaciones: El robot se mueve por una superficie plana No existen elementos flexibles (ni en ruedas) 0 ó 1 grado de direccionamiento por rueda con eje perpendicular al suelo No existen fricciones No existen deslizamientos 21
Modelado cinemático Configuraciones típicas de vehículos: Rueda fija Diferencial (2 ruedas motrices paralelas) Bicicleta Tricíclo (diferentes tipos) Configuración Ackerman (coche) 22
Modelado cinemático Vehículo de rueda fija: X U Z Y X t (x,y, ) W V (x,y, ) Y U U (x,y, ) W W Conocido: - Localización (x,y,γ) - Velocidad angular w en (º/s) Parámetros cinemáticos: - Radio rueda WR 23
Modelado cinemático Vehículo de rueda fija: X (x,y, ) Y t U (x,y, ) W U W Velocidad lineal: V = WR*ω*π/180 Nueva localización: x = x + V*cos(γ)*t y = y + V*sin(γ)*t g y z son inalterables Nueva situación de la rueda: θ = θ + ω*π/180*t 24
Modelado cinemático Vehículo diferencial: Y Whe eeldist W L WR (x,y) v L γ v R Conocido: - Localización (x,y,γ) - Velocidad angular de las ruedas: ω R y ω L en (º/s) Parámetros cinemáticos: X R W R - Radios de las ruedas WR R y WR L - Distancia entre ruedas WheelDist 25
Modelado cinemático Vehículo diferencial: Y Whe eeldist W L WR X (x,y) v L γ R v R W R Velocidades lineales en ruedas: V R = WR R *ω R *π/180 V L = WR L *ωω L *π/180 Velocidad lineal instantánea: V = (V R + V L )/2 Nueva posición: (para t pequeño) x =x+v*cos(γ)*t y = y + V*sin(γ)*t 26
Modelado cinemático Vehículo diferencial: Y Whe eeldist W L WR X (x,y) v L γ R v R W R Velocidad angular del vehículo: ϖ = (V R -V L ) / WheelDist Nueva orientación del vehículo: γ = γ + ϖ*(180/π)*t z es inalterable Nueva situación de las ruedas: θ R = θ R + ϖ R*t θ L = θ L + ϖ L *t 27
Modelado cinemático Bicicleta: Centro de giro φ WR F φ Conocido: - Localización (x,y,γ) - Velocidad angular rueda trasera ω R (º/s) - Angulo direccional rueda frontal φ (º) Y (x,y) X WR R v R γ WheelDist Parámetros cinemáticos: - Radios de las ruedas WR R y WR F - Distancia entre ruedas WheelDist 28
Modelado cinemático Triciclo: Centro de giro φ Y W L WR Whee eldist X (x,y) γ WR R WR F φ FrontWheelDist Conocido: - Localización (x,y,γ) - Velocidad angular rueda frontal ω (º/s) - Angulo direccional rueda frontal φ (º) Parámetros cinemáticos: - Radios de las ruedas WR R, WR L y WR F - Distancias entre ruedas: WheelDist y FrontWheelDist 29
Modelado cinemático Configuración Ackerman: Centro de giro Y φ R WR RL φ WheelDist φ L (x,y) X γ WR RR WR FL φ L FrontWheelDist φ φ R WR FR Conocido: - Localización ió (x,y,γ) - Velocidad angular ruedas traseras ω (º/s) - Angulo direccional medio ruedas frontales φ (º) Parámetros cinemáticos: - Radios de las ruedas: WR RR, WR RL, WR FR y WR FL - Distancias entre ruedas: WheelDist y FrontWheelDist 30
Autolocalización Técnicas para autolocalización Sensores de localización global: GPS: precisiones de centímetros Información global, sin acumular errores Odometría: Encoders en las ruedas Información local, acumulación de errores 31
Autolocalización Odometría Estimación de la posición del vehículo en función del movimiento de las ruedas Hace uso del modelo cinemático del robot Calcula las velocidades de las ruedas a partir de su movimiento No resuelve deslizamientos, saltos,... Hay que diferenciar: Errores sistemáticos Errores no sistemáticos 32
Autolocalización Aplicación de odometría al vehículo diferencial Situación de partida: Una localización inicial (x=x 0, y=y 0, γ= γ 0 ) relativa a un sistema de referencia fijo Robot parado: inicialmente las velocidades del robot (V=0, ϖ=0) y de las ruedas son nulas (ω L =0, ω R =0) Se aplican velocidades a las ruedas: ω L, ω R Dónde está el robot tras un tiempo t (pequeño)? El modelo cinemático permite calcular la posición en condiciones ideales 33
Autolocalización Aplicación de odometría al vehículo diferencial Estimar movimiento i realizado por robot Uso de encoders Se conoce situación inicial de las ruedas: θ L =θ L0, θ R =θ R0 Se conoce situación de las ruedas en tiempo t: θ L, θ R Dónde está el robot tras ese tiempo t? 34
Autolocalización Aplicación de odometría al vehículo diferencial Velocidad angular de las ruedas (º/s): ω L =(θ L -θ L )/t ω R =(θ R -θ R )/t Aplicar ahora modelo cinemático V L =WR L *ω L *π/180 V R =WR R *ω R *π/180 V=(V R +V L )/2 ϖ=(v R -V L )/WheelDist x =x+v*cos(γ*π/180)*t y =y+v*sin(γ*π/180)*t γ =γ+ϖ*(180/π)*t t 35
Cinemática inversa En la cinemática directa se calcula la nueva localización del robot a partir de las velocidades de las ruedas En la cinemática inversa, se desea alcanzar una nueva localización y se deben calcular las velocidades de las ruedas para alcanzarla Es un problema más complejo y engorroso, en el que existen infinitas soluciones y múltiples estrategias de resolución Requiere control temporal y odométrico 36
Cinemática inversa Cinemática inversa del vehículo diferencial Es uno de los casos más sencillos La solución más simple consiste en la descomposición en tres movimientos: Orientación Avance Reorientación 37
Cinemática inversa Cinemática inversa del vehículo diferencial Ejemplo gráfico Meta Inicio Orientación Avance Reorientación 38
Cinemática inversa Algoritmo para el avance Movimiento recto en sentido de avance una distancia D a velocidad V: Velocidades angulares de las ruedas (º/s): ω L =(V/WR L )*(180/π)) ω R =(V/WR R )*(180/π)) Duración del movimiento: t = D/V Algoritmo básico: Aplicar velocidades ω L y ω R a las ruedas, esperar t segundos, parar Se mejoraría mediante el control con un regulador 39
Cinemática inversa Algoritmo para la orientación/reorientación Movimiento de giro sin avance de un ángulo α (º) () a velocidad angular ϖ (º/s): (/s): Diferencia de velocidades: V=(ϖ*WheelDist)*(π/180) Para que no se produzca avance: V R =-V L =V/2 Velocidades angulares de las ruedas (º/s): ω L =(V L/WR L L) )*(180/π) ) ω R =(V R/WR R R) )*(180/π) ) Duración del movimiento: t = α/ϖ Algoritmo básico: Aplicar velocidades ω L y ω R a ruedas, esperar t segundos, parar Se mejoraría mediante el control con un regulador 40
Cinemática inversa No es solución óptima Requiere dos paradas Acumula errores El movimiento no es suave La generación de una trayectoria curva sería más adecuada d Meta Inicio 41
Planificación de caminos Problema básico: Llevar el robot de una localización inicial a una final sin colisionar con los obstáculos del entorno 3 métodos básicos Generan secuencias de localizaciones para llegar a la meta Usan la cinemática inversa para moverse entre las localizaciones 42
Planificación de caminos Métodos de planificación para entornos conocidos INICIO META INICIO META Mapa de Carreteras Descomposición Celular Aplicable en el Espacio de Configuraciones Difícil Extensión a 3D o Espacios Mayores Conocimiento Previo del Entorno Procesado Off-line Dificultad Dependiente del Número y Complejidad de Obstáculos 43
Planificación de caminos Método de planificación para entornos (des)conocidos INICIO META Campos Potenciales Artificiales: Aplicable a los Espacios Cartesianos y de Configuraciones Método Local o Global Procesado On-line en Tiempo Real Fácil Extensión a Espacios n- dimensionales Dificultad Poco Dependiente del Número de Obstáculos No Requiere Conocimiento Previo del Entorno Método Basado en la Obtención de Distancias (sensorial para entornos desconocidos) 44
Modelos de comportamientos Modelos de Braitenberg: Son 5 modelos de vehículos que implementan comportamientos básicos de los humanos Son la base de comportamientos para evitar obstáculos, seguir fuentes de luz o calor, etc. Vehículo 1. Alive Se compone de un sensor de calor y un motor Cuanto mayor sea el valor captado por el sensor mas rápido va el motor Se comporta como si estuviera vivo, se mueve, y no le gusta el calor 45
Modelos de comportamientos Modelos de Braitenberg: Vehículo 2.a. Fear: Dos sensores de calor y dos motores, cada sensor conectado con el motor del mismo lado Cuanto mayor sea el valor que capte un sensor su motor correspondiente irá más rápido No le gusta la fuente que capta el sensor Vehículo 2.b. Aggresion: Dos sensores de calor y dos motores, cada sensor conectado con el motor de otro lado (conexiones cruzadas) Cuanto mayor sea el valor que capte un sensor su motor correspondiente irá más rápido Ataca a las fuentes de calor 46
Modelos de comportamientos Modelos de Braitenberg: Vehículo 3.a. Love: Dos sensores de calor y dos motores, cada sensor conectado con el motor del mismo lado Cuanto mayor sea el valor que capte un sensor su motor correspondiente irá más lento Se comporta como si amase la fuente, quiere acercarse y descansar junto a ella Vehículo 3.b. Explore: Dos sensores de calor y dos motores, cada sensor conectado con el motor de otro lado (conexiones cruzadas) Cuanto mayor sea el valor que capte un sensor su motor correspondiente irá más lento Se aleja de las fuentes, se dedica a explorar 47
Modelos de comportamientos Comportamientos t posibles: Evitación de obstáculos (fear) Búsqueda de fuentes de luz o calor (love) Exploración (explorer) Seguimiento de líneas Seguimiento de paredes Búsqueda de objetivo... 48
Modelos de comportamientos Arquitectura t reactiva Debe manejar y activar los comportamientos posibles de actuación Se usan técnicas de lógica borrosa (fuzzy) Se ponderan los diferentes comportamientos Se consideran tratamientos de excepciones y emergencias 49
Tema 5 CONCLUSIONES Se han introducido los principios y componentes de robots móviles Se ha resuelto el modelo cinemático Se ha visto el control odométrico Se han planteado aspectos de navegación 50