Control de Movimientos



Documentos relacionados
TIPOS DE RESTRICCIONES

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano.

Ejercicio de estadística para 3º de la ESO

Movimiento a través de una. José San Martín

IES Menéndez Tolosa. La Línea de la Concepción. 1 Es posible que un cuerpo se mueva sin que exista fuerza alguna sobre él?

Mecánica Racional 20 TEMA 3: Método de Trabajo y Energía.

Funciones, x, y, gráficos

Ideas básicas sobre movimiento

Modelos de Help Desk

1. El vector de posición de una partícula viene dado por la expresión: r = 3t 2 i 3t j.

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

Qué es una fuerza? Cómo se relaciona con el movimiento?

SYSMAN SOFTWARE. Soluciones efectivas

Nombre de la asignatura: Robótica Industrial. Carrera: Ingeniería Electrónica

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

CONCEPTOS DE LA FUERZA

UNIVERSIDAD DE SALAMANCA

1.1 EL ESTUDIO TÉCNICO

El concepto de integral con aplicaciones sencillas

PROGRAMACIÓN LINEAL Introducción Inecuaciones lineales con 2 variables

ANÁLISIS DE DATOS NO NUMERICOS

Unidad V: Integración

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada

TRABAJO COOPERATIVO EN ROBOTS

No hay resorte que oscile cien años...

DOMINIO Y RANGO DE UNA FUNCIÓN I N D I C E. martilloatomico@gmail.com. Página. Titulo:

6. DESCRIPCIÓN DEL SOFTWARE

Actividades con GeoGebra

Salud de Activos Reflejo de la Estrategia de Mantenimiento

PROCESO DE ASIGNACIÓN DE CRÉDITOS A LOS PLANES DE ESTUDIOS 1

Unidad: Representación gráfica del movimiento

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Examen de TEORIA DE MAQUINAS Junio 94 Nombre...

La relación entre la altura de caída y el tiempo que tarda en rebotar 6 veces una pelota

App para realizar consultas al Sistema de Información Estadística de Castilla y León

I.E.S. ANDRÉS DE VANDELVIRA DEPARTAMENTO DE TECNOLOGÍA SISTEMAS DE REPRESENTACIÓN GRÁFICA: PERSPECTIVA. J.Garrigós

Integrales y ejemplos de aplicación

4 Localización de terremotos

Cap. 24 La Ley de Gauss

1. Dominio, simetría, puntos de corte y periodicidad

Reconocimiento de imágenes

Sistemas de Locomoción de robots móviles. Automatización y Robótica Industrial 5 Ing Industrial

Acuerdo Marco Vinculación con el Mundo del Trabajo en el Tercer Ciclo de la EGB

INTRODUCCION A LA PROGRAMACION DE PLC

CAPÍTULO 4: ALGORITMOS DE APRENDIZAJE

Guía de Planificación Estratégica de la Informática Educativa

Movimiento Rectilíneo Uniforme

Módulo I Unidad Didáctica 2

BREVE MANUAL DE SOLVER

TEMA 1: REPRESENTACIÓN GRÁFICA. 0.- MANEJO DE ESCUADRA Y CARTABON (Repaso 1º ESO)

SERVOMOTORES. Los servos se utilizan frecuentemente en sistemas de radiocontrol, mecatrónicos y robótica, pero su uso no está limitado a estos.

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO REPORTE DE INVESTIGACION

MCBtec Mas información en

La magnitud vectorial mas simple es el desplazamiento (cambio de posición de un punto a otro de una partícula o de un cuerpo)

Casuística 4.1 INTRODUCCIÓN

PARÁBOLA. 1) para la parte positiva: 2) para la parte negativa: 3) para la parte positiva: 4) para la parte negativa:

FUNCIONES 1. DEFINICION DOMINIO Y RANGO

Cálculo de las Acciones Motoras en Mecánica Analítica

Las funciones trigonométricas

TEMA 8: SISTEMA DE COSTES POR PROCESOS. INDICE. 1.- Caracteristicas generales de los sistemas de costes por procesos.

, o más abreviadamente: f ( x)

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Instalación de Sistemas de Automatización y Datos

Oferta tecnológica: Vehículos autónomos para transporte de materiales en almacenes

Solemne I Profesor: Marcelo Leseigneur P. Ayudante: Renzo Lüttges C.


Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

PMI. Pulso de la profesión Informe detallado. Gestión de carteras

8.1. Introducción Dependencia/independencia estadística Representación gráfica: diagrama de dispersión Regresión...

El Outsourcing como Opción Estratégica

Métodos Heurísticos en Inteligencia Artificial

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

SISTEMA. Figura 3 Esquema general de un sistema

Resumen manejo lista de precios en Discovery 3.70 / 3.71

DOS EXPERIENCIAS DE CLASE CON RECURSOS INFORMÁTICOS. TEMAS: LÍMITES Y APLICACIONES DE FUNCIÓN LINEAL

Qcad. Es un programa de diseña asistido por ordenador en 2 dimensiones.

Ingeniería en Informática

DIAGRAMA DE GANTT. Este gráfico consiste simplemente en un sistema de coordenadas en que se indica:

ENTORNO DE TRABAJO DE WORD 2007

Capítulo IV. Manejo de Problemas

MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas

1 Introducción. Titulo

CINTAS TRANSPORTADORAS EN AUTOMATIZACIÓN DE LA PRODUCCIÓN. Fabio Gómez-Estern

TEMA 5. DISTRIBUCION EN PLANTA.

PLAN DE DESARROLLO PERSONAL GESTIÓN POR COMPETENCIAS DEL PAS DE LA UCA

7. Conclusiones. 7.1 Resultados

Capítulo 5: METODOLOGÍA APLICABLE A LAS NORMAS NE AI

La masa es la magnitud física que mide la inercia de los cuerpos: N

UNIVERSIDAD COMPLUTENSE DE MADRID

Tema 3. Medidas de tendencia central Introducción. Contenido

ACTIVIDADES UNIDAD 6: Funciones

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

Capítulo 12: Indexación y asociación

Manual de guía para Clientes Sistema MoTrack

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Unidad 1. Fundamentos en Gestión de Riesgos

1. Funciones y sus gráficas

punto, es que los criterios de evaluación de las medidas antes citadas se ajustan a las medidas señaladas para la toma del indicador VTD.

Solución Actividades Tema 4 MOVIMIENTOS RECTILÍNEOS Y CIRCULARES. INTRODUCCIÓN A LA CINEMÁTICA.

Transcripción:

Cartilla Control de Movimientos IA y Robótica MINA InCo Fing UdelaR IAR09 1/11

MINA InCo Fing UdelaR MINA InCo Fing UdelaR IAR09 2/11

Introducción Planificación de movimientos En el desarrollo de sistemas robóticos autónomos, la planicación de movimientos juega un papel clave. Su objetivo es, en primera instancia, especificar en un lenguaje de alto nivel qué tareas deben realizar los robots (planificación); y en segunda instancia, traducir esta especicación a un conjunto de comandos de bajo nivel que puedan ser interpretados por los robots para ser transformados en movimientos primitivos (control), que les permitan cumplir con las tareas asignadas. El Problema de la Mudanza del Piano (Piano Mover's Problem) es una versión clásica de problema de planicación de movimientos, el cual consiste en encontrar un camino libre de obstáculos que permita mover un piano desde una habitación a otra (en [CLH+05] puede encontrarse una síntesis del mismo). Aplicado a la Robótica, se pretende encontrar un camino que permita mover un robot desde una conguración 1 inicial hacia una conguración objetivo. A partir del planteo clásico, la planificación de movimientos ha evolucionado para atender una enorme cantidad de variaciones del problema, permitiendo aplicaciones en la industria (p. ej.: diseño automático del plano de distribución de una fábrica, automatización de la línea de ensamblaje), el entretenimiento (p. ej.: animación de personajes digitales), la medicina (p. ej.: planicación quirúrgica, diseño de medicamentos), la realización de tareas de rescate (p. ej.: cartografía de entornos inexplorados), entre otros. Cada variación tiene su propia particularidad, ya que depende de aspectos inherentes al dominio de la aplicación, como pueden ser: las restricciones impuestas por el entorno (p. ej.: leyes físicas que actúan sobre los cuerpos, dimensionalidad, etc.). la geometría de los robots. la cantidad, el tipo y la forma de las articulaciones, que acotan la libertad de movimiento; si el entorno es abierto (admite nuevos miembros) o cerrado. si los obstáculos son móviles o estacionarios. otros. Sin embargo, a pesar de su especialización a cada dominio de aplicación, el problema puede clasicarse de acuerdo a qué aspectos del entorno serán tenidos en cuenta efectivamente para la planicación: si se considera que el entorno es invariante a lo largo del tiempo (entorno estático), el problema se denomina Planicación de Caminos (path planning). si se considera que el entorno cambia a lo largo del tiempo (entorno dinámico), el problema se denomina Planicación Dinámica de Trayectorias (dynamic trajectory planning ) 2. Un esquema básico de planificación de movimientos se muestra en la figura 1. En ellas aparecen con bastante nitidez las dos componentes: planificación y control. 1 La conguración de un robot es un conjunto de parámetros independientes que definen de manera única la posición y la orientación de cada punto del robot [2]. 2 Esta clasificación fue realizada por Th. Fraichard et al. en [3]. Utilizando el mismo criterio, en [2] el autor clasifica el problema de planicación de movimientos en path planning y trajectory planning. MINA InCo Fing UdelaR IAR09 3/11

MINA InCo Fing UdelaR IAR09 4/11

Figura 1: Esquema de planificación de movimiento para un robot móvil Control de movimientos Antes de describir las diferentes propuestas es importante conocer, por un lado, qué aspectos inciden en su elaboración y, por otro, qué características generales debería tener. Características del entorno Las características del entorno son determinantes en cuanto al tipo de problema de planificación de movimientos que se pretende resolver: Estático/Dinámico: la planificación de movimientos se plantea como un problema de planificación de caminos o dinámica de trayectorias, respectivamente. Totalmente observable: proporciona toda la información necesaria para localizar a cada robot y se conoce completamente el mapa donde se mueven: la solución que bajo otras hipótesis podría comprender tareas que ayuden a descubrir el entorno debe resolver únicamente la navegación de cada robot. Determinista: debido a que el estado siguiente del entorno puede determinarse en base al estado actual y la acción elegida por el agente. Agente individual: la solución debe pensarse para un entorno donde no existe ni competencia ni cooperación con otros agentes. Además es Secuencial y Continuo. Características de los robots MINA InCo Fing UdelaR IAR09 5/11

Existen al menos tres características de los robots que restringen la geometría de las trayectorias: Sistema no holonómico: Los robots pueden moverse hacia adelante y hacia atrás, pero no hacia los lados. Esta característica limita su libertad de movimiento y debe ser contemplada en la determinación de la geometría de las trayectorias. Posición del eje: El eje de rotación de las ruedas puede encontrarse desplazado horizontalmente respecto al centro del robot. Esta asimetría determina que la geometría de las trayectorias sea distinta cuando se evalúa alcanzar el objetivo marcha adelante o marcha atrás. Ver figura 2. Límite de velocidades/aceleraciones: La velocidad de cada rueda está limitada a un intervalo [ MaxVel, MaxVel]. La geometría de la trayectoria debe permitir maximizar la velocidad sin comprometer la posibilidad de recorrerla. Figura 2: Desplazamiento del eje de las ruedas respecto al centro del robot. Controles A partir de la configuración actual del robot, el control calcula las próximas velocidades de las ruedas para permitirle avanzar un paso hacia el objetivo. Para realizar este cálculo, el control se vale únicamente de la configuración actual del robot y de la configuración objetivo a la cual se quiere llegar, entendiéndose por configuración: la posición y rotación del robot. La sucesión de todos los pasos, desde que comenzó hasta que terminó la aplicación del control, determina la trayectoria realizada por el robot. Control LV (Linear velocity Lyapunov approach) [4] Esta, es una versión adaptada (en el marco del proyecto FRUTo [6,7]) del control original y básicamente consta de dos fórmulas (ver ecuación 1) que determinan la velocidad lineal y angular del robot para llegar a un destino determinado. ν = γe ω = γ sin( α) + h θ sin( α ) + βα (1) α γ > 0, 1 < h, 2 < β < 1 + h ν =Velocidad lineal ω =Velocidad angular e =Distancia Euclidiana al punto destino. θ =Ángulo entre el eje horizontal y la recta que une el centro del robot y el punto destino. MINA InCo Fing UdelaR IAR09 6/11

α =Diferencia θ entre y la orientación del robot. Valores utilizados de los parámetros: γ = 2,0 h = 2,0 β = 2,5 Figura 3: Parámetros considerados por el control Este método asume que el objetivo (xg, yg, fg) es (0, 0, 0) con fg el ángulo de llegada, y que la posición actual del robot se encuentra en el cuadrante II o III de la cancha. Por lo tanto, las velocidades izquierda y derecha (de cada rueda) del robot se determinan como se muestra en la ecuación 2. Con L la distancia entre las ruedas del robot. υr = ν + ωl 2 (2) υl = ν ω L 2 La adaptación que se le hace al control LV original tiene que ver con el hecho de que éste considera la velocidad proporcional a la distancia. Esto puede no ser aplicable en todos los casos ya que frente a distancias muy grandes la velocidad calculada superaría el límite (velocidad máxima) del robot, y frente a distancias muy pequeñas, la velocidad calculada sería casi nula. En este ultimo caso los robot quedarían prácticamente quietos. Las fórmulas adaptadas de las velocidades de cada rueda son las que se muestran en la ecuación 3. υ r = υr LV máx( υllv, υrlv) υ l = υllv máx( υllv, υrlv) MaxVel MaxVel (3) MINA InCo Fing UdelaR IAR09 7/11

Una observación importante es que los parámetros que indican la posición original del robot deben corregirse puesto que el método considera las coordenadas del centro del robot. En realidad lo que se pretende es que la parte delantera del robot llegue a un punto destino determinado. Esta corrección se basa en considerar el volumen del robot de modo que los parámetros utilizados en los cálculos del control LV son los que se muestran en la ecuación 4. Siendo (xr, yr ) coordenadas reales. xlv = xr + x, x = 1 1, 85 si yr 0 (4) ylv = yr + y, y = 1, 85 si yr > 0 Control BV (Bounded velocity Lyapunov approach) [4] Mientras en el control LV se asume una dependencia lineal entre la velocidad y la distancia, este control propone establecer una cota superior a la velocidad alcanzada mediante la propuesta de Lyapunov. Se introduce así una constante que representa una medida de la desaceleración del vehículo cuando se aproxima al objetivo. Control SD (Superimposed Dynamics) [4] Este control se basa en una estrategia de superposición de dinámicas del movimiento, donde se consideran, especialmente, los siguientes aspectos: aproximación al objetivo en forma directa: desde lejos, solo se considera la diferencia entre la orientación del robot y el objetivo (α ) para definir el control del vehículo. aproximación al objetivo con cierta orientación: cercano al objetivo es necesario considerar la diferencia entre la orientación del robot y orientación final deseada así como la distacia al objetivo. en el objetivo: cuando se está tan cerca del objetivo y la distancia restante es similar a la incertidumbre, la dirección hacia el objetivo no debería influenciar más la dinámica del movimiento. Esto se debe a que no es deseable que la velocidad angular ω sea afectada por los cada vez más frecuentes e inevitables cambios en α. Control Direct Este control es una propuesta original del equipo FRUTo [6, 7] y surgió a raíz de la necesidad de contar con un control de movimiento simple pero de alta eficiencia. A diferencia del control LV, no toma en cuenta el ángulo de llegada y no asume ninguna hipótesis respecto a la posición relativa de los robots dentro del campo de juego. Las fórmulas de las velocidades de las ruedas son las que se muestran en la ecuación 5. (MaxVel + f ( α), MaxVel) si α < 0 ( υr, υl ) = (5) (MaxVel, MaxV el f ( α)) si α 0 MINA InCo Fing UdelaR IAR09 8/11

Siendo f una función que convierte ángulos expresados en radianes a grados. Control Direct LV [6, 7] Es una combinación de los dos controles presentados anteriormente que resuelve el problema de ir desde un punto a otro llegando con cierto ángulo, superando así la limitante que presentaba el control LV (asume que la posición original del robot pertenece al cuadrante II o III de la cancha). Se distinguen dos casos que se describen a continuación. Caso 1: el robot se encuentra en el cuadrante II o III de la cancha. En este caso se aplica el control LV con las adaptaciones vistas. Ver figura 4. Figura 4: Control Direct LV Caso 1. Caso 2: el robot se encuentra en el cuadrante I o IV de la cancha. En este caso se aplica primero el control Direct para posicionar al robot en un punto del cuadrante II o III y a partir de esa posición se empieza a aplicar el control LV para llegar al destino con la orientación requerida. Ver figura 5. Figura 5: Control Direct LV Caso 2. Control Direct Ang [6, 7] Básicamente, es igual al control Direct pero hace posible que los robots se desplacen sin tener en cuenta el sentido del cuerpo (mirando hacia adelante o hacia atrás) aprovechando la forma simétrica de los mismos. Este control se utiliza cuando el ángulo entre la orientación del robot y la orientación con la que se quiere llegar al destino es mayor que 90 grados, ya que evita tener que rotar el robot inicialmente antes de comenzar la trayectoria o al final antes de arribar al punto deseado. El cálculo de las velocidades se realiza como lo muestra la ecuación 6. MINA InCo Fing UdelaR IAR09 9/11

( MaxVel + f ( α), MaxVel) si α < 0 ( υr, υl ) = (6) ( MaxVel, MaxVel + f ( α)) si α 0 El beneficio aportado por este control en la rapidez para alcanzar el punto destino se muestra en la figura 6. Figura 6: Las siguientes figuras muestran un robot partiendo de una posición con ángulo 180 grados y destino la pelota. Arriba, el control Direct primero rota el robot. Abajo, el control DirectAng llega marcha atrás. Control Direct Ang2 [6, 7] Análogo al Direct Ang pero recibe un parámetro más que permite controlar la curvatura de la trayectoria. Control CS (Splines Cúbicos) [6, 7] A diferencia de los controles descritos anteriormente, este control permite contemplar el tiempo y velocidad de llegada al destino. Con este control es posible pasar del estado inicial (xi, yi, ri, ti, vi ) al estado final (xf, yf, rf, tf, vf ). Para la aplicación de este control se consideran dos situaciones: La situación estática, que maneja la hipótesis de que el punto destino no varía y por lo tanto se calcula la trayectoria una sola vez. La situación dinámica, donde esa hipótesis no se cumple y por lo tanto la trayectoria debe recalcularse en cada iteración. En la práctica, la implementación de este control es parcial ya que, en algunas oportunidades, las aceleraciones lineales y/o angulares necesarias para seguir la trayectoria planificada exceden las capacidades de los robots. Por lo tanto, la implementación no asegura el tiempo ni la velocidad llevando los robots desde estados iniciales de la forma ( xi, yi, ri ) hasta estados finales ( xf, yf, rf ). Además, al no tomar en cuenta la velocidad, se desarrolló un control de velocidades que permitiera disminuir la velocidad frente a curvas que, en la práctica, resultan imposibles de seguir a altas velocidades. MINA InCo Fing UdelaR IAR09 10/11

En la figura 7 se muestran los resultados de una trayectoria a partir de la implementación de este control, con y sin control de velocidades: Figura 7: Trayectorias hechas por el control CS estático. Los cuadrados pequeños muestran las trayectorias halladas mediante splines cúbicas, el cuadrado grande representa el próximo punto significativo en la curva y la línea blanca es la trayectoria hecha por el robot. (a) muestra la solución final con control de velocidades, (b) muestra la solución sin control de velocidades. Referencias [1] Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, and Sebastian Thrun, Principles of robot motion theory, algorithms, and implementations, The MIT Press, 2005, ISBN 0 262 03327 5. 24,69, 70. [2] Thierry Fraichard, Trajectory planning in a dynamic workspace: a 'state time space' approach, Advanced Robotics (1999), INRIA Rhône Alpes, Francia. 24. [3] Thierry Fraichard and Alexis Scheuer, Car like robots and moving obstacles, IEEE Int. Conf. on Robotics and Automation, San Diego, California (1994), LIFIA INRIA Rhône Alpes IMAG, Francia. 24, 25. [4] Webers, C. and Zimmer, U.; Motion Control of Mobile Robots from static targets to fast drives in moving crowds ; Autonomous Robots; 12; 173 185; 2002. [5] Armagno, G. Benavides, F. and Rostagnol, C.; Proyecto FibRA: Documento Final ; Tech. Report; 23,24,69 71; Instituto de Computación; Facultad de Ingeniería; UdelaR; Uruguay; Nov. 2006. [6] Armagno, G. Benavides, F. and Rostagnol, C.; Proyecto FibRA: Estado del Arte ; Tech. Report; 63 67; Instituto de Computación; Facultad de Ingeniería; UdelaR; Uruguay; Nov. 2006. [7] Castromán, A. and Copello, E.; Fútbol de robots uruguayo para torneos: el equipo ; Tech. Report; 57 63; Instituto de Computación; Facultad de Ingeniería; UdelaR; Uruguay; May. 2004. MINA InCo Fing UdelaR IAR09 11/11