VISUS - Revista Politécnica de Desarrollo e Innovación
PLATAFORMA PLA TAFORMA AUTÓ A UTÓNOMA NOMA MÓVIL MÓVIL PARA SEGUIMI SEGUIMIENTO ENTO DE TRAYECTORIAS Y EVASIÓN DE OBSTÁCULOS Andr An drés és Br B r i t o Cal derón der ón Ingeniero en electrónica y Control Escuela Politécnica Nacional, Ecuador
[email protected]
Jonathan Tirado Rosero
Nelson Nelson Sotomayor Orozco Magister en Ingeniería Industrial Escuela Politécnica Nacional, Ecuador
[email protected]
Ingeniero en electrónica y Control Escuela Politécnica Nacional, Ecuador
[email protected] [email protected] .ec
RESUMEN En la actualidad los avances tecnológicos han permitido que el estudio de algoritmos de control para plataformas móviles sea vertiginoso. Por lo general estos algoritmos son probados mediante simulación lo que permite el desarrollo matemático del mismo, sin embargo la implementación real de estos algoritmos se ve limitada por el alto costo de plataformas móviles para las pruebas de campo. La motivación de este artículo es desarrollar una Plataforma Autónoma Móvil con prestaciones para la implementación de aplicaciones de control, ya sea directamente en su computador a bordo o por medios inalámbricos desde un procesador remoto. Una característica importante de este proyecto constituye el tamaño y la robustez de la estructura mecánica. Se finaliza el documento con un análisis de los resultados obtenidos con el uso de una técnica de seguimiento de trayectorias y evasión de obstáculos implementada en el computador central, y cuyo desplazamiento se realizó en un ambiente semi-estructurado. Estos resultados evidencian un desempeño aceptable del primer prototipo (error máximo del 3% en la posición) en lo que se refiere a eficacia, y proporcionan sugerencias de mejoras a realizarse en futuros prototipos. Palabras clave: Robot clave: Robot Uniciclo, SBC, Seguimiento de Trayectoria.
ABSTRACT AB STRACT Nowadays, technological advances have improved a faster increase in the development and study of control algorithms for mobile platforms. Commonly, the mathematic structure of these kind of algorithms is tested using simulation software since its implementation is limited by the difficulty of acquiring expensive commercial mobile platforms intended for laboratory research. The incentive for this work is the creation of an autonomous mobile platform whose features enable the implementation of control algorithms. This new platform has two possibilities for implementation: a Single Board Computer (SBC) mounted in the structure, or the use of wireless technology with a remote processor. Moreover, other remarkable traits are the huge size and robustness of the mechanical structure. Finally, the last section of this t his article includes the analysis of the results which were obtained after using a tracking trajectory with obstacle avoidance algorithm programmed in the SBC. The experiments were carried out in a semi-structured sem i-structured environment. All of these results display an adequate performance of the first platform prototype (maximum position error about 3%), as well as, suggestions for enhancements in future prototypes. protot ypes. Keywords: Unicycle Keywords: Unicycle Robot, SBC, Tracking Trajectory. Innovación Tecnológica
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
INTRODUCCIÓN La investigación y el desarrollo de tecnología son pilares importantes para el progreso de un país, dado que impulsan al sector productivo de una nación. En América Latina y el Caribe, a partir de los años 90, se experimenta un aumento en la importancia de las políticas relacionadas con el desarrollo de ciencia y tecnología, apoyadas económicamente por entidades como el Banco Interamericano de Desarrollo (BID) con sus instrumentos de financiamiento: Competitive Research Grants (CRG) y Technology Development Funds (TDF) (Hall & Maffioli, 2008). A pesar de estos incentivos el problema aún radica en las grandes brechas tecnológicas presentes en la región. El desarrollo teórico de algoritmos de control requiere una menor inversión en tecnología ya que como mínimo solo es necesario un computador y un software de simulación adecuado para obtener resultados que justifiquen la teoría. Resultados más apegados a la realidad necesitan de una inversión mayor de recursos para la adquisición de hardware especializado. En relación a este artículo, los algoritmos de interés corresponden a los desarrollados para el control de robots móviles tipo uniciclo, los cuales han sido publicados de forma amplia en las pasadas décadas, y además de ser probados mediante simulación, se han implementado en plataformas comerciales diseñadas para el trabajo en laboratorios. Por ejemplo, (Scaglia, Rosales, Quintero, Mut, & Agarwal, 2010) propone un controlador para seguimiento de trayectoria basado en interpolación lineal y donde se resumen las bases matemáticas para su estabilidad y funcionamiento, en (Scaglia, Quintero, Mut, & Sciascio, 2008) se retoma dicho controlador y se analiza las condiciones para mejorar su funcionamiento tomando en cuenta el tipo de trayectoria y en especial los cambios bruscos que pueda presentar, y finalmente en (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008) el mismo principio del controlador se utiliza pero considerando el modelo dinámico del robot y
agregando la capacidad de evasión de obstáculos mediante el método de campo de fuerzas. Todos estos trabajos fueron verificados tanto en simulación como en pruebas de campo usando la tecnología comercial de las plataformas Pioneer. En contraste, en este artículo se propone la construcción de una plataforma robótica móvil a partir de la adquisición e incorporación de dispositivos individuales, para crear un sistema instrumentado que pueda ser utilizado tanto en el ambiente académico como de investigación. En (Katzourakis, Papaefstathiou, & Lagoudakis, 2010) se puede encontrar un trabajo similar al que se propone, donde se construye una plataforma móvil a escala de código abierto y se implementa un control de estabilidad electrónico (ESC) tolerante a fallos mediante el uso de una SBC y un microcontrolador de 8 bits, pero a pesar de su aporte significativo, en la actualidad este prototipo no es competencia para las plataformas comerciales que se encuentran en el mercado. Por tanto, el reto para el trabajo presentando en este artículo radica en construir un sistema con similares funcionalidades a las que se ofertan actualmente en el mercado, tomando como punto de partida que en los últimos años el avance tecnológico ha aportado a que la construcción de sistemas robóticos se facilite. Para la plataforma se hace uso de las nuevas tecnologías en microcontroladores y procesadores embebidos, de las técnicas de comunicación inalámbrica, y de aplicaciones en software libre junto con el concepto del Internet de las cosas (IoT). En el artículo se detalla los componentes y su interacción en la plataforma móvil, en la cual el computador principal ejecuta exclusivamente las acciones de control correspondientes al seguimiento de trayectoria, la adquisición de datos previamente procesados por los dispositivos periféricos y la interacción humanomáquina. Los dispositivos periféricos corresponden a los microcontroladores secundarios encargados del procesamiento de las variables sensoriales y a los sensores comerciales conectados directamente hacia el computador central.
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Plataforma Autónoma Móvil Robótica Para Seguimiento De Trayectorias Y Evasión De Obstáculos
El artículo está organizado de la siguiente manera. La segunda sección describe el diseño del sistema instrumentado, desde el punto de vista de Software y Hardware, haciendo énfasis en la tarjeta de desarrollo usada como computador central. Los algoritmos implementados para seguimiento de trayectorias y evasión de obstáculos se exponen en la tercera sección. Después de desarrollar los scripts correspondiente se llega a la cuarta sección donde se presentan los resultados y discusión obtenidos en las pruebas de campo. Se finaliza con la quinta sección donde se presenta conclusiones del trabajo.
SISTEMA INSTRUMENTADO Hardware • Introducción
Los componentes físicos de la plataforma permiten la interacción con el entorno, por lo que en esta sección se detallan los elementos correspondientes al hardware utilizado, además de su función y características. Los procesadores constituyen los elementos centrales de la plataforma debido a que son los encargados de recibir las señales de entrada y generar las señales de salida, tal como se puede observar en la Figura 1. Las señales de entrada son generadas por los sensores encargados de obtener información referente al entorno donde se desplaza la plataforma. Así mismo, las señales de salidas son las encargadas de producir el movimiento de la plataforma en el entorno.
•
Controlador de velocidad
En lo que se refiere al movimiento de la plataforma, el uso de dos motores de corriente continua fue la solución seleccionada. Para dirigir el movimiento plataforma en el entorno es necesario que cada motor cuente son su propio controlador de velocidad, el cual está conformado por los elementos necesarios para lograr la regulación de velocidad. Dichos elementos son un microcontrolador que no solo se encarga de recibir las mediciones de velocidad generadas por un encoder incremental, sino que además genera las señales de salida para variar el voltaje de armadura, y por tanto la velocidad del motor. En esta aplicación además de utilizar un driver de motor, se optó por diseñar una placa de acoplamiento óptico entre el microcontrolador y el conversor de potencia, esto se puede apreciar en forma esquemática en la Figura 2. La utilización del acoplamiento óptico se sustenta en el uso de dos fuentes de alimentación independientes, una batería de polímero de litio para alimentar al microcontrolador y todos los elementos con la misma referencia de voltaje, y dos baterías de plomo-ácido en configuración serie para alimentar al conversor de potencia y al motor.
Figura 2. Esquema Básico Control de Velocidad.
Figura 1. Esquema Básico de Entradas-Salidas.
La parte del procesamiento en el controlador de velocidad está a cargo de la plataforma de desarrollo Propeller QuickStart, la cual está diseñada en base al microcontrolador Propeller P8X32A. Este microcontrolador presenta una arquitectura multi-núcleo de 32 bits y una frecuencia de reloj configurable hasta de 80 MHz, con lo que provee procesamiento de alta
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
velocidad gracias a sus ocho núcleos, llamados cogs, que pueden desarrollar simultáneamente tareas de forma independiente o cooperativa (Parallax Inc, 2011). La Figura 3 muestra un diagrama de bloques del microcontrolador.
UDOO cuenta con el soporte de dos sistemas operativos de desarrollo el primero es UDOObuntu y el segundo es Android 4.4.2 KitKat, para esta aplicación se elige UDOObuntu que está basado en la distribución Lubuntu 12.04 de Linux. •
Figura 3. Diagrama de Bloques Propeller (Parallax Inc, 2011).
La selección de un microcontrolador multi-núcleo radica en la necesidad de implementar dos controladores de velocidad que funcionen en forma simultánea y cooperativa, lo cual implica recibir la información de dos encoders y generar señales PWM para dos drivers de motor, y así controlar el desplazamiento de la plataforma a partir del control de sus dos motores. •
Unidad central de procesamiento UDOO
UDOO es una plataforma multi-desarrollo para Android, Linux, Arduino. Esta tarjeta provee un entorno flexible para explorar las nuevas fronteras del internet de las cosas (IoT). Es una tarjeta de desarrollo open hardware de bajo costo. Tiene un micro controlador ATMEL SAM3X8E ARM para el Arduino y para el sistema central se usa un Freescale i.MX6 Quad, un System on a Chip (SoC) que incluye un procesador de cuatro núcleos de 1 GHz basados en la arquitectura ARM Cortex-A9 capaz de proporcionar altas prestaciones en el área multimedia y para la automatización. Entre sus especificaciones importantes están una Memoria RAM DDR3 de 1 GB y la frecuencia de operación de su procesador central que es de 1 GHz. Un Módulo Wifi para comunicación inalámbrica. Adicional a esto contiene varios terminales para conexión de dispositivos periféricos a la tarjeta SBC. (Udoo, 2016)
Estructura física
El diseño requerido para la plataforma móvil terrestre es un vehículo uniciclo de tracción diferencial, con su centro de masa ubicado en el centro del eje de los motores, de esta forma es factible trabajar con el modelo cinemático del robot móvil uniciclo. Las dimensiones del vehículo están dadas en función de las dimensiones de los motores y las baterías, dado que son los elementos con los tamaños y pesos más considerables. Se debe de procurar distribuir el peso en el centro del eje de los motores y de no ser posible en el área trasera donde estará ubicada la rueda castor. Para dar estabilidad a la plataforma se usa una rueda castor la cual forma un trípode que permite distribuir el peso de los elementos y la estructura. Para lo que se determina un triángulo isósceles, cuya altura de 24 cm, que es la distancia entre el centro del eje de los motores y la rueda castor. Software • Introducción
El trabajo con software libre implica un acceso más amplio al conocimiento acumulado por la comunidad, y a pesar de ser propenso a contener errores, gracias al lenguaje de programación usado fue posible identificarlos y corregirlos. Ésta es una de las razones principales para que los programas de la plataforma hayan sido desarrollados usando software libre. Los programas desarrollados están basados en tres lenguajes principalmente: Spin, Python y Qt4. •
Desarrollo del Firmware
El firmware para la plataforma constituye el programa desarrollado para el
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Plataforma Autónoma Móvil Robótica Para Seguimiento De Trayectorias Y Evasión De Obstáculos
microcontrolador. El lenguaje propio de microcontrolador es el Spin, el cual a su vez presenta dos variantes: un lenguaje de alto nivel orientado a objetos y un lenguaje de bajo nivel para manejo de registros (Propeller Assembly) (Parallax Inc, 2011). Para la implementación de la plataforma fue necesario el uso de ambos lenguajes, junto con un mecanismo de semaforización para la comunicación entre dos o más entidades (LOCKs), el cual es propio del microcontrolador y permite sincronizar el funcionamiento de los diferentes núcleos. Las tareas principales encargadas a los diferentes núcleos se realizan simultáneamente, de tal forma que en el microcontrolador se implementan dos controladores digitales de velocidad en paralelo. En la Figura 4 se detalla en un diagrama de bloques el funcionamiento del controlador de velocidad, representando los núcleos y sus tareas.
desarrollo para software libre, dentro de una distribución de Linux y usando como lenguaje de programación Python. •
Seguimiento de Trayectoria y Evasión de Obstáculos
El algoritmo de seguimiento de trayectorias que se propone es implementado en leguaje Python. El Script desarrollado se lo ejecuta directamente en la computadora a bordo, evitando tener tiempos de retardo por la comunicación inalámbrica, permitiendo tener un tiempo de muestreo en alto nivel de 100 ms. Previo a la implementación del algoritmo de seguimiento de trayectorias es necesario generar la trayectoria deseada o adquirirla de una tabla. Particularmente para la aplicación se genera una tabla de valores deseados, los cuales pertenecen a la trayectoria a seguir. Esta trayectoria puede ser Circular, Rectangular o Senoidal. •
Comunicación Interna
La comunicación interna hace referencia a la comunicación de la SBC con la placa de desarrollo Propeller, El Microcontrolador Arduino encargado de la lectura de periféricos y el sensor Laser.
Figura 4. Diagrama de Bloques Firmware
•
Desarrollo de la Aplicación en Linux
La aplicación se concibe bajo la idea de tener una plataforma que permita cumplir dos objetivos, el primero tener un sistema autónomo que permita el seguimiento de trayectorias y evasión de obstáculos y el segundo una plataforma controlada por un medio inalámbrico desde una base remota. El proyecto en su totalidad fue diseñado bajo una plataforma de
La comunicación con el microcontrolador Propeller se lo realiza mediante el protocolo serial a una velocidad de transmisión de 115200 bps. Esta comunicación permite el envío de referencias de velocidad a los motores y la obtención de los parámetros odométricos. El Arduino proporciona la información de los sensores periféricos que posee la plataforma y recibe la posición del servomotor que fija la orientación de una cámara. La velocidad a la que este se comunica es de 115200 bps, vale recalcar que la conexión física de este dispositivo esta hecho internamente dentro de la misma placa de la SBC UDOO. Finalmente se tiene la comunicación con el sensor laser el cual se lo realiza mediante un
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
puerto USB de la UDOO. La velocidad de transmisión con este dispositivo es de 9 Mbps. De este se obtiene la distancia del obstáculo y en qué posición angular se encuentra con respecto al punto de ubicación del sensor laser. •
Comunicación Inalámbrica Cliente-Servidor
La comunicación inalámbrica entre la UDOO y el computador remoto, se lo utiliza para la transmisión de comandos de control hacia la plataforma y para la recepción de datos de lectura de sensores en el operador remoto, esto permite la manipulación de la estructura remotamente por medio de Wifi. Para la comunicación se utiliza el protocolo TCP/IP con lo cual se usa una topología Cliente Servidor. Como medio físico para la conexión se tiene un Access point inalámbrico que permite la interconexión entre el computador remoto y la UDOO. La velocidad de transmisión está dada a 150 Mbps que es la velocidad del módulo Wifi de la UDOO.
ALGORITMOS IMPLEMENTADOS Para el funcionamiento de la plataforma propuesta en este trabajo, es necesario el uso de tres algoritmos que permitan el cálculo de las acciones de control requeridas. En primer lugar, se busca regular la velocidad de cada motor, por lo que se seleccionó un controlador PID discreto (Phillips & Nagle, 1995). Además, para comprobar que la plataforma puede ser usada en la implementación de algoritmos diseñados para robots móviles, se tomó en cuenta un algoritmo para seguimiento de trayectorias basado en la utilización de métodos numéricos (Scaglia, Quintero, Mut, & Sciascio, 2008) y un algoritmo de evasión de obstáculos que usa el método de campo de fuerzas ficticias (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008). Estos algoritmos permiten determinar las referencias de velocidad que cada motor requiere para que la plataforma se desplace siguiendo una trayectoria fija y que además puede poseer obstáculos (ambiente semiestructurado). En los siguientes párrafos se detallan los algoritmos usados.
•
Controlador PID de Velocidad
Para la implementación de un controlador PID discreto a ser usado en la regulación de velocidad, se usó como punto de partida la planta que se iba a controlar (motores DC). Se partió del diseño en el dominio de ‘s’ para
posteriormente discretizarlo y pasar al dominio de ‘z’. Para obtener el modelo matemático de
los motores se utilizó la identificación de parámetros eléctricos y mecánicos (Monasterio & Gutiérrez, 2012), con lo cual se llegó a determinar las siguientes funciones de transferencia continuas en (1) y (2).
9347 028930.8736 = 0.1490.2330.10.6320. 8588 035920.7375 = 0.1130.16740.0.12970.
(1) (2)
El objetivo del diseño del controlador es obtener los valores de las constantes del PID que satisfagan los requerimientos mínimos de la respuesta de la planta en lazo cerrado (tiempo de establecimiento y máximo sobrepico), para esto se utilizó el método de cancelación de polos y ceros que simplifica la función de transferencia en lazo cerrado a un sistema de primer orden. En la Figura 5 se resume el diagrama de bloques total que representa el controlador de velocidad para cada motor DC. En la implementación se decidió utilizar valores de frecuencia para representar las velocidades angulares ya que así se aumenta la precisión sin la necesidad de utilizar decimales (menor consumo de recursos en el microcontrolador) y debido a que las mediciones del encoder se las expresa directamente en estas unidades. F(s) es una representación aproximada del conversor de potencia, obviando el retardo que produce para simplificar el modelo. En cambio, H(s) representa el efecto que causa la caja de engranajes y el encoder en la medición de la velocidad.
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Plataforma Autónoma Móvil Robótica Para Seguimiento De Trayectorias Y Evasión De Obstáculos
control. Las dos variables de control del robot que están disponibles son: Velocidad lineal y Velocidad angular.
Figura 5. Diagrama de Bloques Lazo de Control
Finalmente, fue necesario discretizar la función de transferencia del controlador PID para obtener una ley de control que pueda ser implementada en un microcontrolador (3). Mediante la utilización de integración numérica por la regla rectangular para el término derivativo y de integración numérica por la regla trapezoidal para el término integrativo, se llega a la siguiente función de transferencia en el dominio de ‘z’ (Phillips & Nagle, 1995):
= −1 2 2 −2 − −1 −2
•
(3)
Seguimiento y Evasión
La plataforma presentada en este trabajo se diseñó con la finalidad que pueda ser utilizada en pruebas de laboratorio mediante la implementación de algoritmos de control pensados para robots móviles tipo uniciclo. Después de analizar opciones de algoritmos relacionados con control de pose (Secchi, Carelli, & Mut), seguimiento de camino (Aguiar & Hespanha) y seguimiento de trayectorias (Scaglia, Quintero, Mut, & Sciascio, 2008), se tomó la decisión de implementar el último debido a su confiabilidad basada en varios trabajos publicados (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008), (Scaglia, Rosales, Quintero, Mut, & Agarwal, 2010), con lo cual se aseguraba el funcionamiento del algoritmo en la plataforma. En el trabajo (Scaglia, Quintero, Mut, & Sciascio, 2008)) se propone el uso de métodos numéricos, y más específicamente de interpolación lineal, para obtener las ecuaciones a ser usadas para el cálculo de las acciones de
Los valores de dichas variables se obtienen cada período de muestreo mediante el cálculo de los desplazamientos de la posición cartesiana ( y ) y de la orientación ( ). El tiempo de muestreo utilizado en esta aplicación bordea los 100 ms y coincide con el tiempo necesario para la lectura del sensor láser. En resumen, para el cálculo de las acciones de control se utilizan las ecuaciones (4) y (5)
∆ ∆
1 = ∆cos1 ∙∆∆sin ( )
∆
(4)
=arctan∆∆
(5)
∆=+ − − − ∆=+ − − − ∆= − − −
(6)
Las ecuaciones (6), (7) y(8) muestran la forma como se debe calcular los desplazamiento (Scaglia, Rosales, Quintero, Mut, & Agarwal, 2010). El uso de estas ecuaciones, basadas en cálculo de errores, tiene la finalidad de evitar que el sistema tienda abruptamente a la referencia y se presentes inestabilidades. Donde , y son las constantes que determinan la rapidez con la que el sistema tiende a la referencia.
(7) (8)
Adicionalmente, se consideró la inclusión de un algoritmo de evasión de obstáculos. Debido a su amplio estudio y uso. Se utilizó un algoritmo basada en el método de campo de fuerzas ficticias presentado en el paper (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008) y en (Capito R. & Proaño C., 2015) y mediante una adaptación se llegó al funcionamiento del algoritmo con los datos provenientes del sensor láser.
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
En la Figura 6 se esquematiza el funcionamiento del método de campo de fuerzas modificado.
<1
0<
El parámetro toma valores en el intervalo , y es usado para reducir la magnitud de velocidad deseada modificada cuando el robot evade el obstáculo.
RESULTADOS Y DISCUSIÓN
Figura 6. Diagrama del Método Modificado de Campo de Fuerzas (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008)
Buscando que el ángulo de rotación tome valores entre -90º y +90º, se calcula usando la ecuación (9): (9)
0 , > =arctan|−′| ∙sin , ≤
′ ′ >} ′ ={ , , ≤
Donde es una variable que permite que sea igual a ±90º la plataforma se encuentra en . Para el cálculo de se usa (10): (10)
Se aplica la tangente inversa, de tal forma como es usada en (Capito R. & Proaño C., 2015) para permitir que el ángulo este dentro del intervalo antes definido. Además, se utiliza el ángulo , definido y usado en (Rosales, Scaglia, Mut, di Sciascio, & Nieto, Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods, 2008), ya que el sensor láser proporciona dicho ángulo.
Finalmente, los valores calculados se utilizan en una matriz de rotación que permite girar el vector desplazamiento y así llegar a evadir el obstáculo. Matemáticamente se utilizan las ecuaciones (11) :
> ∆∆=∆∆cos, −sin ∆, ≤ sin cos ∆
(11)
En esta sección se resumen los resultados del funcionamiento de la plataforma. En primer lugar, se realizaron pruebas al control de velocidad de cada motor mediante la adquisición de datos de velocidad en respuesta a una referencia determinada. Además, para contrastar las mediciones se usa los datos provenientes de la simulación de la función de transferencia de cada motor. Posteriormente se presentarán los resultados de las pruebas realizadas al controlador de alto nivel, implementando el algoritmo de seguimiento de trayectorias y evasión de obstáculos, estos resultados se los contrasta con las simulaciones realizadas en el software de Matlab. Controlador de Velocidad Para la adquisición de los datos de velocidad provenientes de cada uno de los motores fue necesaria la utilización del microcontrolador encargado de realizar el control, pero con una ligera modificación en su código. Además de medir la velocidad codificada en las señales del encoder, se almacenó estos datos en un espacio de memoria reservado, para que posteriormente todos estos datos sean enviados a un computador a través del puerto serial. De esta forma se asegura que las mediciones de velocidad adquiridas se encuentran espaciadas temporalmente en intervalos definidos por el tiempo de muestreo del controlador de velocidad, dicho tiempo, para esta aplicación, es de 2.0076 ms según las mediciones. A partir de las funciones de transferencia para los motores y para los controladores PID, es posible obtener la simulación de la respuesta de velocidad para cada motor. La figura 7 muestra en diagrama de bloques la simulación del controlador de velocidad de cada uno de los motores usando Simulink de MATLAB.
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Plataforma Autónoma Móvil Robótica Para Seguimiento De Trayectorias Y Evasión De Obstáculos
Figura 7. Diagrama de bloques del controlador de velocidad implementado en Matlab.
Las respuestas de la simulación se contrastan con las respuestas de velocidad producto de la adquisición de datos, y se resumen en la figura 8. Las referencias de velocidad fueron seleccionadas tomando en cuenta en rango que manejan los motores, entre 0 y 235 rpm.
En la tabla 1 se resumen las características temporales principales obtenidas de las gráficas. Para el tiempo de subida se utiliza el 63.21% de la referencia y para el tiempo de establecimiento se define una banda del 2%. Seguim iento de Trayector ias y Evasión de Obstáculos Para esta prueba se configura dos vueltas sobre la misma trayectoria Circular con un radio de 200 cm a una velocidad de 10 cm/s. Lo que se busca es evidenciar la acumulación de los errores de edometría al aumentar la distancia recorrida.
Figura 8. Respuesta de velocidad para motor 1
Las velocidades seleccionadas corresponden a los valores mínimo, intermedio y máximo que se utilizan en el funcionamiento de la plataforma.
Figura 9. Trayectoria trazada usando azúcar
Tabla 1. Características temporales para motor 1 Referencia de velocidad (RPM)
Medido
Simulado
Medido
Simulado
5.27
64.8
12
158.4
48
20.14
26.4
12
60
48
120.38
31.2
12
60
45.6
Tiempo de Subida (ms)
Tiempo de Establecimiento (ms)
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
Figura 11. Error en la posición de la plataforma
La ¡Error! No se encuentra el origen de la referencia.2 resume mediciones importantes realizadas durante esta prueba de campo y los valores obtenidos a partir de la simulación. Tabla 2. Mediciones resultantes para la trayectoria circular Parámetros
Figur a 10. Características del Movimiento de la plataforma
En este caso también se utilizó azúcar para graficar la trayectoria seguida por la plataforma mientras se desplazaba por la superficie, pero debido a que en la segunda vuelta la plataforma no se desvía significativamente de la trayectoria no es posible apreciar en forma clara una doble línea sobre la superficie. En la Figura 9 se aprecia el resultado de la prueba graficada sobre una superficie. En la figura 10 se muestra las gráficas correspondientes a las características del movimiento de la plataforma. La figura 11 presenta la curva del error de posición con respecto al tiempo obtenida de la plataforma.
Tiempo
Tiempo de muestreo aproximado
100 (ms)
Tiempo de movimiento simulado
250(s)
Tiempo de movimiento real
263.228 (s)
Máxima separación desde el obstáculo
42 (cm)
Estado Final de la plataforma Finalmente, la plataforma se presenta funcional, con una estructura robusta, resistente a colisiones y apta para ser usada en ambientes semi-estructurados. La Figura 12 muestra una vista general de la plataforma donde se aprecian las protecciones (bumpers), el sensor láser, la cámara y el panel de extensiones, los terminales de carga de las baterías de plomo-ácido y el disyuntor termomagnético, el paro de emergencia ubicado en la parte posterior de la misma.
Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Plataforma Autónoma Móvil Robótica Para Seguimiento De Trayectorias Y Evasión De Obstáculos
Los retardos en la trasmisión de comandos de velocidad entre el controlador y el actuador son un factor muy importante que limita el periodo de muestreo mínimo, por lo que es necesario optimizar en lo posible la longitud de las tramas de control. El uso de un microcontrolador de múltiples núcleos permite el control simultáneo de los dos motores NPC-T64, pero es necesario mantener la sincronía de los procesos realizados por los diferentes núcleos por lo que es importante el uso de un mecanismo de semaforización (Locks). El algoritmo implementado se basa en el modelo cinemático del robot uniciclo, con el cual se logra resultados favorables para bajas velocidades en cuerpos de baja inercia, para este caso particular la inercia no es despreciable debido a las características constructivas del robot, por lo que las pruebas se realizan a velocidad que no superan los 20 cm/s.
Figura 12. Estado final de la plataforma
CONCLUSIONES
En base a los resultados obtenidos en las pruebas de campo del controlador para seguimiento de trayectoria y evasión de obstáculos, se aprecia claramente que los datos provenientes de la odometría de los encoders presentan un error esperado (deslizamientos) que no afecta en gran medida al desempeño de la plataforma, obteniendo resultados favorables que se presentan en la sección de resultados.
Para la implementación de una plataforma El proyecto se finaliza teniendo como resultado robótica móvil terrestre es necesario un una Plataforma Robótica Móvil Terrestre con un elemento que se encargue de coordinar tanto la control de velocidad funcional y accesible información proveniente de sensores como las mediante comunicación serial. Su procesador acciones de control destinadas hacia un central UDOO permite la implementación de actuador. Las cantidades de dispositivos que nuevas aplicaciones con el hardware instalado, puede incluir una plataforma solo depende de la además de una expansión de sensores y aplicación, y ésta puede cambiar con el tiempo. actuadores según sean las nuevas necesidades Debido a estas necesidades, a la cantidad de que presente el usuario. Teniendo una SBC a información a ser procesada, a la velocidad a la bordo la plataforma no se ve limitada a la que debe trabajar y a un lenguaje de aplicación presentada en este proyecto, por el programación más relacionado con el usuario se contrario presenta una gran versatilidad de hace necesario el uso de una SBC. La UDOO nuevas implementaciones como es el objetivo de específicamente reúne todas estas una plataforma comercial. características y además incluye un microcontrolador Arduino Due que incrementa el AGRADECIMIENTOS número de tareas que se pueden realizar en forma simultánea, enlazando de esta forma el Los autores agradecen el financiamiento software con el hardware de la plataforma. otorgado por la Escuela Politécnica Nacional Revista VISUS - Diciembre 2017, Vol. 1, No. 1
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.
para la realización del proyecto PIMI-14-04 “Investigación
de
soluciones
tecnológicas
inteligentes para exploración y transporte de objetos en zonas nocivas para seres hu manos”
REFERENCIAS BIBLIOGRÁFICAS Capito R., L., & Proaño C., P. (Sep. de 2015). Seguimiento de Trayectorias mediante cuatro Técnicas de Control utilizando una Plataforma Robótica Pioneer 3DX y el Sistema Operativo Robótico ROS. Obtenido de http://bibdigital.epn.edu.ec/handle/15000/11593 Hall, B. H., & Maffioli, A. (2008). Evaluating the impact of technology development funds in emerging economies: evidence from Latin America. The European Journal of Development Research(20:2), 172-198.
Scaglia, G., Quintero, O. L., Mut, V., & Sciascio, F. d. (2008). Numerical methods based controller design for mobile robots. IFAC Proceedings Volumes, 41 (2), 48204827. Scaglia, G., Rosales, A., Quintero, L., Mut, V., & Agarwal, R. (2010). A linear-interpolationbased controller design for trajectory tracking of mobile robots. Control Engineering Practice, 18(3), 318-329. Udoo. (30 de Agosto de 2016). Udoo Docs. Obtenido de UDOO DUAL/QUAD: http://www.udoo.org/docs/Introduction/Introdu ction.html
Katzourakis, D. I., Papaefstathiou, I., & Lagoudakis, M. G. (Septiembre de 2010). An Open-Source Scaled Automobile Platform for Fault-Tolerant Electronic Stability Control. IEEE Transactions on Instrumentation Measurement, 59 (9), 2303 - 2314.
and
Parallax Inc. (2011). Propeller Manual. Obtenido de https://www.parallax.com/sites/default/files/dow nloads/P8X32A-Web-PropellerManual-v1.2.pdf Rosales, A., Scaglia, G., Mut, V., di Sciascio, F., & Nieto, J. (2008). Trajectory Tracking and Collision Avoidance of Mobile Robots by Using Numerical Methods. V Jornadas Argentinas de Robótica (JAR'08) . Rosales, A., Scaglia, G., Mut, V., di Sciascio, F., & Nieto, J. (Nov. de 2008). TRAJECTORY TRACKING AND COLLISION AVOIDANCE OF MOBILE ROBOTS BY USING NUMERICAL METHODS. V Jornadas Argentinas de Robótica (JAR'08).
Revista VISUS - Diciembre 2017, Vol. 1, No. 1