Você está na página 1de 12

VISUS - Revista Politécnica de Desarrollo e Innovación

PLATAFORMA AUTÓNOMA MÓVIL PARA SEGUIMIENTO


DE TRAYECTORIAS Y EVASIÓN DE OBSTÁCULOS
Andrés Brito Calderón
Ingeniero en electrónica y Control
Escuela Politécnica Nacional, Ecuador Nelson Sotomayor Orozco
andres.brito@epn.edu.ec Magister en Ingeniería Industrial
Escuela Politécnica Nacional, Ecuador
Jonathan Tirado Rosero nelson.sotomayor@epn.edu.ec
Ingeniero en electrónica y Control
Escuela Politécnica Nacional, Ecuador
jonathan.tirado@epn.edu.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 Uniciclo, SBC, Seguimiento de Trayectoria.

ABSTRACT

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 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 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.

Keywords: Unicycle Robot, SBC, Tracking Trajectory.

Innovación Tecnológica
Andrés Brito C.; Jonathan Tirado R.; Nelson Sotomayor O.

agregando la capacidad de evasión de


INTRODUCCIÓN obstáculos mediante el método de campo de
fuerzas. Todos estos trabajos fueron verificados
La investigación y el desarrollo de tecnología son tanto en simulación como en pruebas de campo
pilares importantes para el progreso de un país, usando la tecnología comercial de las
dado que impulsan al sector productivo de una plataformas Pioneer.
nación. En América Latina y el Caribe, a partir de
los años 90, se experimenta un aumento en la En contraste, en este artículo se propone la
importancia de las políticas relacionadas con el construcción de una plataforma robótica móvil a
desarrollo de ciencia y tecnología, apoyadas partir de la adquisición e incorporación de
económicamente por entidades como el Banco dispositivos individuales, para crear un sistema
Interamericano de Desarrollo (BID) con sus instrumentado que pueda ser utilizado tanto en
instrumentos de financiamiento: Competitive el ambiente académico como de investigación.
Research Grants (CRG) y Technology En (Katzourakis, Papaefstathiou, & Lagoudakis,
Development Funds (TDF) (Hall & Maffioli, 2010) se puede encontrar un trabajo similar al
2008). A pesar de estos incentivos el problema que se propone, donde se construye una
aún radica en las grandes brechas tecnológicas plataforma móvil a escala de código abierto y se
presentes en la región. implementa un control de estabilidad electrónico
(ESC) tolerante a fallos mediante el uso de una
El desarrollo teórico de algoritmos de control SBC y un microcontrolador de 8 bits, pero a
requiere una menor inversión en tecnología ya pesar de su aporte significativo, en la actualidad
que como mínimo solo es necesario un este prototipo no es competencia para las
computador y un software de simulación plataformas comerciales que se encuentran en el
adecuado para obtener resultados que mercado. Por tanto, el reto para el trabajo
justifiquen la teoría. Resultados más apegados a presentando en este artículo radica en construir
la realidad necesitan de una inversión mayor de un sistema con similares funcionalidades a las
recursos para la adquisición de hardware que se ofertan actualmente en el mercado,
especializado. En relación a este artículo, los tomando como punto de partida que en los
algoritmos de interés corresponden a los últimos años el avance tecnológico ha aportado
desarrollados para el control de robots móviles a que la construcción de sistemas robóticos se
tipo uniciclo, los cuales han sido publicados de facilite. Para la plataforma se hace uso de las
forma amplia en las pasadas décadas, y además nuevas tecnologías en microcontroladores y
de ser probados mediante simulación, se han procesadores embebidos, de las técnicas de
implementado en plataformas comerciales comunicación inalámbrica, y de aplicaciones en
diseñadas para el trabajo en laboratorios. Por software libre junto con el concepto del Internet
ejemplo, (Scaglia, Rosales, Quintero, Mut, & de las cosas (IoT).
Agarwal, 2010) propone un controlador para
seguimiento de trayectoria basado en En el artículo se detalla los componentes y su
interpolación lineal y donde se resumen las interacción en la plataforma móvil, en la cual el
bases matemáticas para su estabilidad y computador principal ejecuta exclusivamente las
funcionamiento, en (Scaglia, Quintero, Mut, & acciones de control correspondientes al
Sciascio, 2008) se retoma dicho controlador y se seguimiento de trayectoria, la adquisición de
analiza las condiciones para mejorar su datos previamente procesados por los
funcionamiento tomando en cuenta el tipo de dispositivos periféricos y la interacción humano-
trayectoria y en especial los cambios bruscos máquina. Los dispositivos periféricos
que pueda presentar, y finalmente en (Rosales, corresponden a los microcontroladores
Scaglia, Mut, di Sciascio, & Nieto, Trajectory secundarios encargados del procesamiento de
Tracking and Collision Avoidance of Mobile las variables sensoriales y a los sensores
Robots by Using Numerical Methods, 2008) el comerciales conectados directamente hacia el
mismo principio del controlador se utiliza pero computador central.
considerando el modelo dinámico del robot y

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 • Controlador de velocidad


manera. La segunda sección describe el diseño
del sistema instrumentado, desde el punto de En lo que se refiere al movimiento de la
vista de Software y Hardware, haciendo énfasis plataforma, el uso de dos motores de corriente
en la tarjeta de desarrollo usada como continua fue la solución seleccionada. Para
computador central. Los algoritmos dirigir el movimiento plataforma en el entorno es
implementados para seguimiento de trayectorias necesario que cada motor cuente son su propio
y evasión de obstáculos se exponen en la tercera controlador de velocidad, el cual está
sección. Después de desarrollar los scripts conformado por los elementos necesarios para
correspondiente se llega a la cuarta sección lograr la regulación de velocidad. Dichos
donde se presentan los resultados y discusión elementos son un microcontrolador que no solo
obtenidos en las pruebas de campo. Se finaliza se encarga de recibir las mediciones de
con la quinta sección donde se presenta velocidad generadas por un encoder
conclusiones del trabajo. incremental, sino que además genera las
señales de salida para variar el voltaje de
SISTEMA INSTRUMENTADO armadura, y por tanto la velocidad del motor.

Hardware En esta aplicación además de utilizar un driver


de motor, se optó por diseñar una placa de
• Introducción acoplamiento óptico entre el microcontrolador y
el conversor de potencia, esto se puede apreciar
Los componentes físicos de la plataforma en forma esquemática en la Figura 2. La
permiten la interacción con el entorno, por lo que utilización del acoplamiento óptico se sustenta
en esta sección se detallan los elementos en el uso de dos fuentes de alimentación
correspondientes al hardware utilizado, además independientes, una batería de polímero de litio
de su función y características. para alimentar al microcontrolador y todos los
elementos con la misma referencia de voltaje, y
Los procesadores constituyen los elementos dos baterías de plomo-ácido en configuración
centrales de la plataforma debido a que son los serie para alimentar al conversor de potencia y al
encargados de recibir las señales de entrada y motor.
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.

Figura 2. Esquema Básico Control de Velocidad.

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
Figura 1. Esquema Básico de Entradas-Salidas. 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 UDOO cuenta con el soporte de dos sistemas
tareas de forma independiente o cooperativa operativos de desarrollo el primero es
(Parallax Inc, 2011). La Figura 3 muestra un UDOObuntu y el segundo es Android 4.4.2
diagrama de bloques del microcontrolador. KitKat, para esta aplicación se elige
UDOObuntu que está basado en la distribución
Lubuntu 12.04 de Linux.

• 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.
Figura 3. Diagrama de Bloques Propeller (Parallax
Inc, 2011). Las dimensiones del vehículo están dadas en
función de las dimensiones de los motores y las
La selección de un microcontrolador multi-núcleo baterías, dado que son los elementos con los
radica en la necesidad de implementar dos tamaños y pesos más considerables. Se debe
controladores de velocidad que funcionen en de procurar distribuir el peso en el centro del eje
forma simultánea y cooperativa, lo cual implica de los motores y de no ser posible en el área
recibir la información de dos encoders y generar trasera donde estará ubicada la rueda castor.
señales PWM para dos drivers de motor, y así
controlar el desplazamiento de la plataforma a Para dar estabilidad a la plataforma se usa una
partir del control de sus dos motores. 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
• Unidad central de procesamiento UDOO triángulo isósceles, cuya altura de 24 cm, que
es la distancia entre el centro del eje de los
UDOO es una plataforma multi-desarrollo para motores y la rueda castor.
Android, Linux, Arduino. Esta tarjeta provee un
entorno flexible para explorar las nuevas Software
fronteras del internet de las cosas (IoT). Es una
tarjeta de desarrollo open hardware de bajo • Introducción
costo. Tiene un micro controlador ATMEL
SAM3X8E ARM para el Arduino y para el El trabajo con software libre implica un acceso
sistema central se usa un Freescale i.MX6 más amplio al conocimiento acumulado por la
Quad, un System on a Chip (SoC) que incluye comunidad, y a pesar de ser propenso a
un procesador de cuatro núcleos de 1 GHz contener errores, gracias al lenguaje de
basados en la arquitectura ARM Cortex-A9 programación usado fue posible identificarlos y
capaz de proporcionar altas prestaciones en el corregirlos. Ésta es una de las razones
área multimedia y para la automatización. principales para que los programas de la
plataforma hayan sido desarrollados usando
Entre sus especificaciones importantes están software libre. Los programas desarrollados
una Memoria RAM DDR3 de 1 GB y la están basados en tres lenguajes principalmente:
frecuencia de operación de su procesador Spin, Python y Qt4.
central que es de 1 GHz. Un Módulo Wifi para
comunicación inalámbrica. Adicional a esto
• Desarrollo del Firmware
contiene varios terminales para conexión de
dispositivos periféricos a la tarjeta SBC. (Udoo,
El firmware para la plataforma constituye el
2016)
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 desarrollo para software libre, dentro de una


microcontrolador es el Spin, el cual a su vez distribución de Linux y usando como lenguaje
presenta dos variantes: un lenguaje de alto nivel de programación Python.
orientado a objetos y un lenguaje de bajo nivel
para manejo de registros (Propeller Assembly) • Seguimiento de Trayectoria y Evasión de
(Parallax Inc, 2011). Para la implementación de Obstáculos
la plataforma fue necesario el uso de ambos
lenguajes, junto con un mecanismo de El algoritmo de seguimiento de trayectorias que
semaforización para la comunicación entre dos se propone es implementado en leguaje Python.
o más entidades (LOCKs), el cual es propio del El Script desarrollado se lo ejecuta directamente
microcontrolador y permite sincronizar el en la computadora a bordo, evitando tener
funcionamiento de los diferentes núcleos. tiempos de retardo por la comunicación
inalámbrica, permitiendo tener un tiempo de
Las tareas principales encargadas a los muestreo en alto nivel de 100 ms.
diferentes núcleos se realizan
simultáneamente, de tal forma que en el Previo a la implementación del algoritmo de
microcontrolador se implementan dos seguimiento de trayectorias es necesario
controladores digitales de velocidad en paralelo. generar la trayectoria deseada o adquirirla de
una tabla. Particularmente para la aplicación se
En la Figura 4 se detalla en un diagrama de genera una tabla de valores deseados, los
bloques el funcionamiento del controlador de cuales pertenecen a la trayectoria a seguir. Esta
velocidad, representando los núcleos y sus trayectoria puede ser Circular, Rectangular o
tareas. 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.

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.
Figura 4. Diagrama de Bloques Firmware
El Arduino proporciona la información de los
sensores periféricos que posee la plataforma y
• Desarrollo de la Aplicación en Linux
recibe la posición del servomotor que fija la
La aplicación se concibe bajo la idea de tener orientación de una cámara. La velocidad a la
una plataforma que permita cumplir dos que este se comunica es de 115200 bps, vale
objetivos, el primero tener un sistema autónomo recalcar que la conexión física de este
que permita el seguimiento de trayectorias y dispositivo esta hecho internamente dentro de
evasión de obstáculos y el segundo una la misma placa de la SBC UDOO.
plataforma controlada por un medio inalámbrico
desde una base remota. El proyecto en su
totalidad fue diseñado bajo una plataforma de 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 • Controlador PID de Velocidad


transmisión con este dispositivo es de 9 Mbps.
De este se obtiene la distancia del obstáculo y Para la implementación de un controlador PID
discreto a ser usado en la regulación de
en qué posición angular se encuentra con
velocidad, se usó como punto de partida la
respecto al punto de ubicación del sensor laser. planta que se iba a controlar (motores DC). Se
partió del diseño en el dominio de ‘s’ para
• Comunicación Inalámbrica Cliente-Servidor posteriormente discretizarlo y pasar al dominio
de ‘z’. Para obtener el modelo matemático de
La comunicación inalámbrica entre la UDOO y los motores se utilizó la identificación de
el computador remoto, se lo utiliza para la parámetros eléctricos y mecánicos (Monasterio
transmisión de comandos de control hacia la & Gutiérrez, 2012), con lo cual se llegó a
plataforma y para la recepción de datos de determinar las siguientes funciones de
lectura de sensores en el operador remoto, esto transferencia continuas en (1) y (2).
permite la manipulación de la estructura
remotamente por medio de Wifi. Para la 0.9347
𝐺𝑢(𝑠) = (1)
(0.149𝑠 + 0.233)(0.1632𝑠 + 0.02893) + 0.8736
comunicación se utiliza el protocolo TCP/IP con
lo cual se usa una topología Cliente Servidor. 0.8588
Como medio físico para la conexión se tiene un 𝐺𝑢(𝑠) = (2)
(0.113𝑠 + 0.1674)(0.1297𝑠 + 0.03592) + 0.7375
Access point inalámbrico que permite la
interconexión entre el computador remoto y la
UDOO. La velocidad de transmisión está dada El objetivo del diseño del controlador es obtener
a 150 Mbps que es la velocidad del módulo Wifi los valores de las constantes del PID que
de la UDOO. satisfagan los requerimientos mínimos de la
respuesta de la planta en lazo cerrado (tiempo
ALGORITMOS IMPLEMENTADOS 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
Para el funcionamiento de la plataforma transferencia en lazo cerrado a un sistema de
propuesta en este trabajo, es necesario el uso primer orden.
de tres algoritmos que permitan el cálculo de las
acciones de control requeridas. En primer lugar, En la Figura 5 se resume el diagrama de
se busca regular la velocidad de cada motor, por bloques total que representa el controlador de
lo que se seleccionó un controlador PID discreto velocidad para cada motor DC.
(Phillips & Nagle, 1995). Además, para
comprobar que la plataforma puede ser usada En la implementación se decidió utilizar valores
en la implementación de algoritmos diseñados de frecuencia para representar las velocidades
para robots móviles, se tomó en cuenta un angulares ya que así se aumenta la precisión
algoritmo para seguimiento de trayectorias sin la necesidad de utilizar decimales (menor
basado en la utilización de métodos numéricos consumo de recursos en el microcontrolador) y
(Scaglia, Quintero, Mut, & Sciascio, 2008) y un debido a que las mediciones del encoder se las
algoritmo de evasión de obstáculos que usa el expresa directamente en estas unidades. F(s)
método de campo de fuerzas ficticias (Rosales, es una representación aproximada del
Scaglia, Mut, di Sciascio, & Nieto, Trajectory conversor de potencia, obviando el retardo que
Tracking and Collision Avoidance of Mobile produce para simplificar el modelo. En cambio,
Robots by Using Numerical Methods, 2008). H(s) representa el efecto que causa la caja de
Estos algoritmos permiten determinar las engranajes y el encoder en la medición de la
referencias de velocidad que cada motor velocidad.
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.

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.

Los valores de dichas variables se obtienen


cada período de muestreo mediante el cálculo
de los desplazamientos de la posición
Figura 5. Diagrama de Bloques Lazo de Control
cartesiana (∆𝑥 y ∆𝑦) y de la orientación (∆𝜃). El
tiempo de muestreo utilizado en esta aplicación
Finalmente, fue necesario discretizar la función bordea los 100 ms y coincide con el tiempo
de transferencia del controlador PID para necesario para la lectura del sensor láser. En
obtener una ley de control que pueda ser resumen, para el cálculo de las acciones de
implementada en un microcontrolador (3). control se utilizan las ecuaciones (4) y (5)
Mediante la utilización de integración numérica
por la regla rectangular para el término 1 (4)
(∆𝑥 cos 𝜃𝑑𝑛 + ∆𝑦 sin 𝜃𝑑𝑛 )
derivativo y de integración numérica por la regla 𝑣𝑛 𝑇0
(𝜔 ) =
𝑛 1
trapezoidal para el término integrativo, se llega ∙ ∆𝜃
𝑇0
a la siguiente función de transferencia en el ( )
dominio de ‘z’ (Phillips & Nagle, 1995):
∆𝑦 (5)
𝜃𝑑𝑛 = arctan ( )
𝑇𝑘𝑖 𝑘𝑑 ∆𝑥
𝑢(𝑘) = 𝑢(𝑘 − 1) + (𝑘𝑝 + + ) 𝑒(𝑘) (3)
2 𝑇
𝑇𝑘𝑖 𝑘𝑑 Las ecuaciones (6), (7) y(8) muestran la forma
+( − 2 − 𝑘𝑝 ) 𝑒(𝑘 − 1)
2 𝑇 como se debe calcular los desplazamiento
𝑘𝑑
+ 𝑒(𝑘 − 2)
𝑇 (Scaglia, Rosales, Quintero, Mut, & Agarwal,
2010). El uso de estas ecuaciones, basadas en
• Seguimiento y Evasión cálculo de errores, tiene la finalidad de evitar
que el sistema tienda abruptamente a la
La plataforma presentada en este trabajo se referencia y se presentes inestabilidades.
diseñó con la finalidad que pueda ser utilizada Donde 𝑘𝑥 , 𝑘𝑦 y 𝑘𝜃 son las constantes que
en pruebas de laboratorio mediante la determinan la rapidez con la que el sistema
implementación de algoritmos de control tiende a la referencia.
pensados para robots móviles tipo uniciclo.
Después de analizar opciones de algoritmos ∆𝑥 = 𝑥𝑑𝑛+1 − 𝑥𝑛 − 𝑘𝑥 (𝑥𝑑𝑛 − 𝑥𝑛 ) (6)
relacionados con control de pose (Secchi,
Carelli, & Mut), seguimiento de camino (Aguiar ∆𝑦 = 𝑦𝑑𝑛+1 − 𝑦𝑛 − 𝑘𝑦 (𝑦𝑑𝑛 − 𝑦𝑛 ) (7)
& Hespanha) y seguimiento de trayectorias
(Scaglia, Quintero, Mut, & Sciascio, 2008), se ∆𝜃 = 𝜃𝑑𝑛 − 𝜃𝑛 − 𝑘𝜃 (𝜃𝑑𝑛 − 𝜃𝑛 ) (8)
tomó la decisión de implementar el último
debido a su confiabilidad basada en varios Adicionalmente, se consideró la inclusión de un
trabajos publicados (Rosales, Scaglia, Mut, di algoritmo de evasión de obstáculos. Debido a su
Sciascio, & Nieto, Trajectory Tracking and amplio estudio y uso. Se utilizó un algoritmo
Collision Avoidance of Mobile Robots by Using basada en el método de campo de fuerzas
Numerical Methods, 2008), (Scaglia, Rosales, ficticias presentado en el paper (Rosales,
Quintero, Mut, & Agarwal, 2010), con lo cual se Scaglia, Mut, di Sciascio, & Nieto, Trajectory
aseguraba el funcionamiento del algoritmo en la Tracking and Collision Avoidance of Mobile
plataforma. Robots by Using Numerical Methods, 2008) y en
(Capito R. & Proaño C., 2015) y mediante una
En el trabajo (Scaglia, Quintero, Mut, & adaptación se llegó al funcionamiento del
Sciascio, 2008)) se propone el uso de métodos algoritmo con los datos provenientes del sensor
numéricos, y más específicamente de láser.
interpolación lineal, para obtener las ecuaciones
a ser usadas para el cálculo de las acciones de

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 El parámetro 𝜎 toma valores en el intervalo 0 <


funcionamiento del método de campo de 𝜎 < 1, y es usado para reducir la magnitud de
fuerzas modificado. velocidad deseada modificada cuando el robot
evade el obstáculo.

RESULTADOS Y DISCUSIÓN

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
Figura 6. Diagrama del Método Modificado de contrastar las mediciones se usa los datos
Campo de Fuerzas (Rosales, Scaglia, Mut, di provenientes de la simulación de la función de
Sciascio, & Nieto, Trajectory Tracking and Collision
transferencia de cada motor.
Avoidance of Mobile Robots by Using Numerical
Methods, 2008)
Posteriormente se presentarán los resultados
de las pruebas realizadas al controlador de alto
Buscando que el ángulo de rotación 𝛼 tome nivel, implementando el algoritmo de
valores entre -90º y +90º, se calcula usando la seguimiento de trayectorias y evasión de
ecuación (9): obstáculos, estos resultados se los contrasta
𝛼 (9) con las simulaciones realizadas en el software
0 , 𝑑 > 𝑑𝑚𝑎𝑥 de Matlab.
={ 𝑘𝛼 }
arctan ( ) ∙ 𝑠𝑔𝑛(sin 𝛽) , 𝑑 ≤ 𝑑𝑚𝑎𝑥
|𝑑𝑚𝑖𝑛 − 𝑑 ′ | Controlador de Velocidad

Donde 𝑑 ′ es una variable que permite que 𝛼 sea Para la adquisición de los datos de velocidad
igual a ±90º la plataforma se encuentra en 𝑑𝑚𝑖𝑛 . provenientes de cada uno de los motores fue
Para el cálculo de 𝑑 ′ se usa (10): necesaria la utilización del microcontrolador
encargado de realizar el control, pero con una
𝑑, 𝑑 > 𝑑𝑚𝑖𝑛 (10) 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
Se aplica la tangente inversa, de tal forma como espacio de memoria reservado, para que
es usada en (Capito R. & Proaño C., 2015) para posteriormente todos estos datos sean
permitir que el ángulo 𝛼 este dentro del intervalo enviados a un computador a través del puerto
antes definido. Además, se utiliza el ángulo 𝛽, serial. De esta forma se asegura que las
definido y usado en (Rosales, Scaglia, Mut, di mediciones de velocidad adquiridas se
Sciascio, & Nieto, Trajectory Tracking and encuentran espaciadas temporalmente en
Collision Avoidance of Mobile Robots by Using intervalos definidos por el tiempo de muestreo
Numerical Methods, 2008), ya que el sensor del controlador de velocidad, dicho tiempo, para
láser proporciona dicho ángulo. esta aplicación, es de 2.0076 ms según las
mediciones.
Finalmente, los valores calculados se utilizan en
una matriz de rotación que permite girar el A partir de las funciones de transferencia para
vector desplazamiento y así llegar a evadir el los motores y para los controladores PID, es
obstáculo. Matemáticamente se utilizan las posible obtener la simulación de la respuesta de
ecuaciones (11) : velocidad para cada motor. La figura 7 muestra
en diagrama de bloques la simulación del
∆𝑥 controlador de velocidad de cada uno de los
∆𝑥𝑢
( ),
∆𝑦
𝑑 > 𝑑𝑚𝑎𝑥 (11)
(
∆𝑦𝑢
)={
cos 𝛼 − sin 𝛼 ∆𝑥
} motores usando Simulink de MATLAB.
𝜎( )( ), 𝑑 ≤ 𝑑𝑚𝑎𝑥
sin 𝛼 cos 𝛼 ∆𝑦

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 En la tabla 1 se resumen las características


con las respuestas de velocidad producto de la temporales principales obtenidas de las
adquisición de datos, y se resumen en la figura gráficas. Para el tiempo de subida se utiliza el
8. Las referencias de velocidad fueron 63.21% de la referencia y para el tiempo de
seleccionadas tomando en cuenta en rango que establecimiento se define una banda del 2%.
manejan los motores, entre 0 y 235 rpm.
Seguimiento de Trayectorias 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


Figura 9. Trayectoria trazada usando azúcar
los valores mínimo, intermedio y máximo que se
utilizan en el funcionamiento de la plataforma.

Tabla 1. Características temporales para motor 1

Referencia Tiempo de
Tiempo de Subida
de Establecimiento
(ms)
velocidad (ms)
(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

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 Tiempo

Tiempo de muestreo aproximado 100 (ms)

Tiempo de movimiento simulado 250(s)

Figura 10. Características del Movimiento de la Tiempo de movimiento real 263.228 (s)
plataforma
Máxima separación desde el obstáculo 42 (cm)
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 Estado Final de la plataforma
no se desvía significativamente de la trayectoria Finalmente, la plataforma se presenta funcional,
no es posible apreciar en forma clara una doble con una estructura robusta, resistente a
línea sobre la superficie. En la Figura 9 se colisiones y apta para ser usada en ambientes
aprecia el resultado de la prueba graficada semi-estructurados.
sobre una superficie.
La Figura 12 muestra una vista general de la
En la figura 10 se muestra las gráficas plataforma donde se aprecian las protecciones
correspondientes a las características del (bumpers), el sensor láser, la cámara y el panel
movimiento de la plataforma. de extensiones, los terminales de carga de las
baterías de plomo-ácido y el disyuntor termo-
magnético, el paro de emergencia ubicado en la
La figura 11 presenta la curva del error de parte posterior de la misma.
posición con respecto al tiempo obtenida de la
plataforma.

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.

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
Figura 12. Estado final de la plataforma presentan un error esperado (deslizamientos)
que no afecta en gran medida al desempeño de
la plataforma, obteniendo resultados favorables
CONCLUSIONES 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 Scaglia, G., Quintero, O. L., Mut, V., &
“Investigación de soluciones tecnológicas Sciascio, F. d. (2008). Numerical methods
inteligentes para exploración y transporte de based controller design for mobile robots.
objetos en zonas nocivas para seres humanos”
IFAC Proceedings Volumes, 41(2), 4820-
4827.
REFERENCIAS BIBLIOGRÁFICAS

Scaglia, G., Rosales, A., Quintero, L., Mut, V.,


Capito R., L., & Proaño C., P. (Sep. de 2015). & Agarwal, R. (2010). A linear-interpolation-
Seguimiento de Trayectorias mediante cuatro based controller design for trajectory tracking
Técnicas de Control utilizando una Plataforma of mobile robots. Control Engineering Practice,
Robótica Pioneer 3DX y el Sistema Operativo 18(3), 318-329.
Robótico ROS. Obtenido de
http://bibdigital.epn.edu.ec/handle/15000/11593 Udoo. (30 de Agosto de 2016). Udoo Docs.
Obtenido de UDOO DUAL/QUAD:
Hall, B. H., & Maffioli, A. (2008). Evaluating the http://www.udoo.org/docs/Introduction/Introdu
impact of technology development funds in ction.html
emerging economies: evidence from Latin
America. The European Journal of Development
Research(20:2), 172-198.

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 and
Measurement, 59(9), 2303 - 2314.

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

Você também pode gostar