Simulación del modelo matemático de un robot móvil diferencial con control de posición sin orientación basado en ley de lyapunov

 

Simulation of the mathematical model of a differential mobile robot with position control without orientation based on lyapunov's law

 

Simulación del modelo matemático de um robô móvel diferencial com controle de posição sem orientação basado en ley de lyapunov

 

 

 

 

 

 

 

 

 

 


Correspondencia: fabian.heredia@espoch.edu.ec

 

Ciencias de la Computación

Artículo de investigación

 

 

*Recibido: 13 de septiembre de 2020 *Aceptado: 09 de octubre de 2020 * Publicado: 25 de noviembre de 2020

 

        I.            Ingeniero en Electrónica, Control y Redes Industriales, Especialista de Proyectos y Transferencia de Tecnologías, Escuela Superior Politécnica del Chimborazo, Chimborazo, Ecuador.

      II.            Ingeniera en Electrónica Control y Redes Industriales, Docente, Centro de Capacitación Fundel, Ecuador.

   III.            Master Universitario en Ingeniería de Software y Sistemas Informáticos, Ingeniero en Sistemas Informáticos, Escuela Superior Politécnica del Chimborazo, Chimborazo, Ecuador.

   IV.              Magister en Tecnología e Innovación Educativa, Ingeniera en Sistemas, Docente, Universidad Laica Eloy Alfaro de Manabí, Manabí, Ecuador.

 


Resumen

El presente artículo trata de la simulación para situar un robot móvil diferencial en un punto de referencia sin orientación basado en leyes de Lyapunov. Para lo cual se ha considerado un ambiente de trabajo estructurado, donde la herramienta principal es el software matemático Matlab, mismo que se es el protagonista dentro de la simulación del robot móvil diferencial. Como punto de partida se ha procedido a realizar cálculos cinemáticos y dinámicos, siendo una de las partes fundamentales de esta investigación para comprender el comportamiento dentro de la simulación del robot. El manejo de los controladores en este trabajo es una parte importante debido a que los mismos se ha encargado de brindar un ajuste detallado a los cálculos realizados para la simulación del robot móvil. Los parámetros de los controladores se los ha desarrollado mediante un conjunto de funciones descritas en el entorno de Matlab.

Palabras Clave: Robot móvil; Simulación; Matlab; Leyer de Lyapunov; Cálculo cinemático; Cálculo dinámico; Controlador.

 

Abstract

This article deals with the simulation to locate a differential mobile robot in a reference point based on Lyapunov laws. For that, a structured working environment has been considered, from which the main tool is the Matlab mathematical software, which is the protagonist within the simulation of the differential mobile robot. As a starting point, cinematic and dynamic calculations have been carried out, being one of the fundamental parts of this investigation to understand the behavior within the robot simulation. The management of the controllers in this work is an important part due to the fact that the monks have been responsible for providing a detailed adjustment to the calculations made for the simulation of the mobile robot. The parameters of the controllers have been developed using a set of functions described around Matlab.

Keywords: Mobile robot; Simulation; Matlab; Lyapunov's Leyer; Cinematic calculation; Dynamic calculation; Controller.

 

Resumo

O presente artigo trata da simulação para situar um robô móvel diferencial em um ponto de referência sem orientação baseado em leyes de Lyapunov. Para que cual seja considerado um ambiente de trabalho estruturado, faça o herramienta principal é o software matemático Matlab, mismo que é o protagonista dentro da simulação do robô móvel diferencial. Como ponto de partida se há procedido para realizar cálculos cinemáticos e dinâmicos, siendo una de las partes fundamentales de esta investigação para comprender el comportamiento dentro de la simulación del robot. O manejo de los drivers neste trabalho é uma parte importante debido a que los mismos se encargado de brindar um ajuste detalhado e los cálculos realizados para a simulação do robô móvil. Os parâmetros dos drivers são desarrollados mediante um conjunto de funções efetuadas no entorno de Matlab.

Palabras Clave: Robot móvil; Simulación; Matlab; Leyer de Lyapunov; Cálculo cinemático; Cálculo dinámico; Controlador.

 

Introducción

Los robots móviles a menudo se hallan en escenarios en las que tienen que trasladarse de un punto a otro enfrentando los inconvenientes del entorno como son los obstáculos y las limitaciones de su capacidad. (Bruce & Veloso, 2002).

A menudo los métodos de control de movimiento requieren altos costes computacionales y errores numéricos que lo hacen inadecuados para aplicaciones en tiempo real. (Frazzoli, Dahleh, & Feron, 2005).

Los métodos de planificación para rutas, se desarrollan continuamente para problemas cada vez más desafiantes y con costos computacionales más bajos, todas las investigaciones apuntan a lograr mecanismos móviles autónomos, este objetivo es posible lograrlo con el uso de métodos reactivos que permiten al robot interactuar con el entorno de trabajo.

El problema básico de un robot móvil con ruedas está enfocado en encontrar el camino de un punto inicial a un punto final, evadiendo obstáculos que se presentan en el ambiente de trabajo.

La propuesta contempla en un algoritmo matemático para un robot móvil diferencial desde un punto de partida hacia un punto de llegada, en un ambiente estructurado con control de posición sin orientación.

 

Diseño del sistema

Diseño de sistemas de control no lineal: usando Lyapunov

La teoría de estabilidad de Lyapunov es una herramienta estándar y una de las más importantes en el análisis de sistemas no lineales, además permite analizar la estabilidad de un sistema de control y puede ser aplicada como una estrategia para el diseño de controladores, el objetivo de este método es encontrar una función candidata de Lyapunov, cumpliendo con ciertas condiciones asegurando así la estabilidad de los puntos de equilibrio.

Sistema estable

 La presente investigación es de tipo cuantitativa, debido a que se fundamenta en una valoración numérica del software, tanto desde la perspectiva de los usuarios, así como una valoración técnica de las características del producto con base en los resultados brindados por dos herramientas de testeo (WebPagetest y MatchMetrics), de las cuales se tomaron en cuenta únicamente los parámetros determinados por la norma ISO/IEC 25010, todo esto como un estudio de campo. Posteriormente, se utilizó la investigación descriptiva para detallar los hallazgos (potencialidades y deficiencias) del software y las conclusiones del estudio.

La función principal de Lyapunov V(x) es una función de estados x que cumple con las siguientes condiciones.

 

1.      V(x) es continua y sus derivadas parciales son continuas

 

Función definida positiva

 

2.      V(x) = 0 para x = 0

 

3.      V(x) > 0 para x 0

 

Función semi-definida negativa

 

4.      (dV(x))/dt=0 para x=0

 

5.      (dV(x))/dt  0 para x 0

 

Las condiciones son fundamentales para que el sistema de control sea considerado un sistema estable. De esta manera se utilizó la teoría de Lyapunov para realizar algoritmos de control, por lo tanto, los estados x serán los errores, y los puntos de equilibrio que van serán el origen, es decir el punto cero, esto debido a que el objetivo del control es llegar a que el error del mismo vaya hacia cero de esta manera las condiciones para que el sistema sea estable son las siguientes:

1.      La función candidata de Lyapunov y sus derivadas parciales debe ser continua.

2.      La función candidata de Lyapunov debe ser igual a cero solo para x igual a cero

3.      La función debe ser mayor a cero solo para valores diferentes de cero

4.      La derivada de la función candidata de Lyapunov debe ser igual a cero para x igual a cero.

5.      La derivada de la función candidata de Lyapunov debe ser menor igual a cero para x diferente de cero.

6.      V(x) es continua y sus derivadas parciales son continuas

7.      Función definida positiva

8.      V(x) = 0 para x = 0

9.      V(x) > 0 para x 0

10.  Función semi-definida negativa

 

Metodología

Diseño de sistemas de control no lineal basados en el modelo

Las consideraciones para el diseño del controlador no lineal basado en el modelo e implementado la teoría de Lyapunov son las siguientes:

·        Dado un sistema físico (modelo matemático y sus restricciones) y su comportamiento deseado, el objetivo obtener una ley de control de modo que el sistema realimentado se comporte como se desea.

·        Si las tareas del sistema de control involucran gran cantidad de las variables o alta velocidad, muy probablemente deba recurrirse a un diseño de control no lineal al fin de alcanzar las especificaciones.

Los robos móviles diferencial cuenta con dos pares de ruedas: esto quiere decir dos ruedas de tracción que tienen acoplados dos motores DC, y dos ruedas estabilizadas que mantienen el balance del vehicúlalo (figura 1).

 

Figura 1-3: robot móvil diferencial.

                                                                             

La traslación y rotación de este tipo de plataformas diferenciales se determina por el movimiento independiente de cada una de las ruedas de tracción.

Para proceder al cálculo cinemático se trazó el sistema de referencia, en este caso en el palo x, y. A continuación, se inserta el robot móvil diferencial en una posición diferente a la del origen x1, y1 figura 2.

 

Figura 2-3: calculo cinemático.

 

Datos:

φ orientación

μ_(l )velocidad lineal de la llanta derecha

μ_(r )velocidad lineal de la llanta izquierda

h(x,y)  posición del robot en el punto de control en este caso es en el centro del eje de las ruedas.

Sabiendo que el punto de control es el punto de interés para conocer la posición.

El sistema total del robot tendrá una velocidad lineal que permita al robot moverse hacia delante y hacia atrás.

La velocidad angular μ que permite que el robot gire en sentido horario y en sentido antihorario.

 

Modelo Cinemático de un robot móvil diferencial

Como se puede observar en la figura 2-3 el robot se ha desplazado:

 

 

 

 

Si se deriva la posición se obtiene la velocidad, Por consiguiente, la velocidad se va a descomponer en el eje (x,y) por lo tanto se tendrá que la velocidad en el punto x  será igual a la velocidad lineal.

Ecuación 1

 

Ecuación 2

 

y la derivada de la orientación da como resultado la velocidad angular ω.

 

φ ̇= ω

Ecuación 3

 

La velocidad total del sistema será el promedio de la velocidad de la llanta derecha μ_r mas promedio de la velocidad de la llanta izquierda.

 

μ=  (μ_r+μ_l)/2

Ecuación 4

 

La velocidad angular se relaciona con la velocidad lineal de la llanta derecha menos la velocidad angular de la llanta izquierda por una distancia .

 es la distancia entre las ruedas

 

Ecuación 5

 

Una vez que se tenga planteadas las ecuaciones, se puede remplazar la ecuación 3 en la ecuación 1 y en la ecuación 2

 

Ecuación 6

 

Diseño de controladores

Suponiendo que al robot móvil se le asigna una trayectoria de movimiento h(t) al punto de interés en términos de h ̇(t) y sus condiciones iniciales de posición y orientación, determinando un conjunto de velocidades q ̇(t) que reduzca la trayectoria dada. Se considera un sistema que tenga el mismo número de ecuaciones que incógnitas que m=n, las velocidades de los actuadores se pueden obtener mediante la inversión de la matriz jacobiana.

 

Ecuación 10

velocidades de los actuadores

 matriz inversa Jacobiano

 velocidades en el punto de interés

 

Sin embargo, las velocidades  en tiempo discreto no coinciden con la   velocidades en tiempo continuo, este inconveniente se puede supera a un esquema de solución que tenga en cuenta el ERROR entre la posición y orientación del punto de interés deseado y real.

 

Ecuación 11

 

 error

 velocidad de la trayectoria deseada

 punto real

Sí se aplica la deriva al error:

 

 

 

Despejando  

 

Ecuación 12

 

 

 

Las velocidades de los actuadores son:

 

Ecuación 13

 

Control de posición sin orientación

El control de posición consiste en ubicar al robot en un punto de referencia deseado con o sin una orientación deseada figura 3-3

 

Figura 3-3: calculo cinemático.

 

                                   

 

Partiendo de la ecuación 13, en este caso  la trayectoria deseada será constante porque solo se va a posicionar en un punto al robot, por lo tanto, la constante a lo largo del tiempo es la misma.

De esta manera la derivada de la contante es

Por lo tanto, se obtiene que la velocidad de los actuadores:

 

Ecuación 14

 

Estabilidad de Lyapunov

El objetivo de aplicar la estabilidad de Lyapunov es asegurar que el controlador sea asintóticamente estable.

Para el análisis de estabilidad se asume el seguimiento perfecto de velocidades.

 

Ecuación 15

 

Donde la velocidad de referencia (controlador) serám iguales a las velocidades de lectura que tienen el robot diferencial.

Considerando la función candidata de Lyapunov.

 

Ecuación 16

Ecuación 17

 

Ecuación 18

 

La función candidata de Lyapunov debe cumplir los términos asintóticamente estables antes mencionados.

1.       la función candidata debe ser continua si cumple.

2.        Función definida es positiva cumple con la condición

3.      Para el análisis de la derivada se debe asegurar que la derivada sea definida negativa, en este caso no se utilizara la derivada del error en algoritmo de control (ecuación 17) de esta manera se utilizara la ecuación 18 en la cual se asume que   de esta manera se obtiene la ecuación:

 

 

Donde,  es una matriz definida positiva (generalmente diagonal) para que el sistema sea asintóticamente estable se obtiene:

Ecuación 19

 

En las cuales las velocidades de referencia que se aplicará a los actuadores son iguales a la inversa de la matriz jacobiana por una matriz  diagonal definida positiva por el error.

Con esto se desarrolla el algoritmo de control a implementarse en Matlab.

 

Emulación del robot móvil diferencial

Para proceder a realizar la simulación del robot primero se creó dos archivos.

•          MobilPlot.m

•          MobileRobot.m

En el archivo MobilRobot.m se almacenarán todos los parámetros del robot en el cual se encuentran las dimensione del mismo, tamaño de las llantas, colores etc.

 

Figura 4-3: archivo de Matlab MobilPlto.m

 

Y el archivo MobilPlot.m permitirá dibujar al robot en la posición de  y con una orientación phi, para esto se utilizó matrices de traslación y de rotación figura 5-3

 

Figura 5-3: matrices de rotación

 

 

 

 

 

 

 

 

Figura 6-3: matrices de traslación

 

Implementación del Controlador en Matlab

Para la implementación del controlador en Matlab se calculó el error con el siguiente código:

 

>> hxe(k) = hxd - hx(k);

>> hye(k) = hyd - hy(k);

>> he = [hxe(k) hye(k)]';

 

Establecida en la ecuación 11, donde hxe y hye son las posiciones son las posiciones reales del robot.

 

Lugo se generó la matriz jacobiana para la simulación:

 

J11 = cos(phi(k));

J12 = -a*sin(phi(k));

 

J21 = sin(phi(k));

J22 = a*cos(phi(k));

 

J= [J11 J12;... J21 J22];

 

El parámetro de control a utilizar es matriz diagonal definida positiva:

 

K = [0.3 0;...0 0.3];

 

Luego se insertó la ley de control hallada en la ecuación 19.

qpref = pinv(J)*(K*tanh(he));

 

Para obtener la inversa de la matriz jacobiana se utilizó la función pinv propia de Matlab, obteniendo las velocidades de referencia que se aplicara al robot diferencial.

 

Se separó las acciones de control en velocidad lineal y angular.

>> uRef(k) = qpref(1);% velocida lineal

>> wRef(k) = qpref(2);%velocidad angúlar


Aplicar acciones de control al robot móvil simulado

Se calculó la orientación real del siguiente instante de muestreo utilizando las acciones de control que se obtuvo en el modelo.

 

1.      Robot simulado (modelo cinemático)

>> phi(k+1)=phi(k)+ts*wRef(k);% orientación real en radianes

>> x1p=uRef(k)*cos(phi(k+1)); % velocidad real en metros / segundos

>> y1p=uRef(k)*sin(phi(k+1)); % velocidad real en metros / segundos

 

Con el método de Euler se halló las posiciones en los siguientes instantes de muestreo del eje central de las ruedas, considerando que no es el punto de interés o el punto de control que se calcula para dibujar el robot en el cual el robot debe ingresar la posición central en el eje de las ruedas

 

2.      Integral numérica (método de Euler)

>> x1(k+1)=x1(k)+ts*x1p; % posición real del centro (eje x) en metros (m)

>> y1(k+1)=y1(k)+ts*y1p; % posición real del centro (eje y) en metros (m)

 

Se calculó el punto de interés donde hx y hy nuestros puntos de control o interés.

 

 

3.      modelo geométrico

>>hx(k+1)=x1(k+1)+a*cos(phi(k+1));   % posición de interés real (eje x) en metros (m)

 >>hy(k+1)=y1(k+1)+a*sin(phi(k+1));   % posición de interés real (eje y) en metros (m)

 

Resultados, discusión y análisis

Una vez terminado el programa de Matlab se procedió a modificar los valores para obtener los resultados del modelo matemático implementado.

 

Validación del modelo

Para la validación del modelo se ejecutó la programación en el software de Matlab para esto se ingresó los parámetros de su posición inicial.

 

>> hxd = -3; 

>> hyd = 3;

 

Figura 7-4: simulación del robot móvil desde la posición inicial a su posición final sin considerar su orientación.

 

 

Al realizar la simulación se observó que el robot se aproximan al punto desea (3;-3).

 

 

 

 

Figura 8-4: velocidad lineal

 

Como se puede observar en la figura la velocidad lineal es de 0.41 m/s luego va decreciendo hasta llegar a 0 m/s

 

Figura 9-4: velocidad angular

 

La velocidad angular se dispara alcanzando los 4 rd/seg y luego se estabiliza.

 

Figura 10 -4: errores h_x y h_y

Como se puede evidenciar en la figura 3-4 los errores convergen a cero.

Realizando el cambio del parámetro de nuestras condiciones iniciales.

 

>> hxd = 4.5; 

>> hyd = 2.8:

 

Figura 11-4: simulación del robot móvil desde la posición inicial a su posición final (4.5:2.8) sin considerar su orientación.

 

Figura 13 -4: errores h_x y h_y

 

Como se puede observar en la figura 11-4 el robot se dirige a la posición deseada y su error tienden a cero con esto se logró verificar que el controlador está funcionando correctamente.

 

Pruebas de comportamiento

Las pruebas para verificar el comportamiento del controlador se las detalla a continuación, para lo cual es importante mencionar que el valor de k correspondiente a una constante fue tomando distintos valores. Como se mencionó en los cálculos, la constante debería ser positiva de esta manera se modificó para obtener un control.

K = [1.3 0;...0 1.3];

Figura 3-8: simulación del robot móvil

 

Como podemos observar en la figura el robot se traslada bruscamente

 

Figura 14-4: acciones de control

 

En las acciones de control se puede observar que existe un cambio brusco en su velocidad angular asta estabilizarse. 

 

 

 

 

 

Figura 14-4: errores

Se puede observar que los errores decrecen más rápido a cero, pero sin embargo existen variaciones, hay que mencionar que le robot no va alcanzar estas velocidades mayores a 0.5.

 

Conclusiones

·        Para establecer las pruebas reales no sobrepasar 1 la constante K por movimientos bruscos del robot.

·        El cálculo cinemático encontrado es eficiente par que el robot móvil diferencial con control deposición sin orientación llegue al punto deseado

·        El controlador implementado ha permitido que los errores se establezcan en cero dando como resultado la ubicación deseada con exactitud de 0.001.

·        El modelo cinemático considera las velocidades, posición del robot móvil, sin tomar en cuenta los efectos de las fuerzas e inercias productos de la masa del robot, este modelo cinemático sirve para la implementación de un esquema de control de seguimiento de caminos

·        El controlador cinemático propuesto para el robot móvil diferencial tiene como variable de control la velocidad lineal y angular del robot móvil, este controlador garantiza la estabilidad mediante el criterio de Lyapunov, demostrando que los errores de posición convergen a cero cuando el tiempo tiende al infinito.

 

 

 

Referencias

1.      Adams. M.D, “Sensor Modelling, Design and  Data Processing  for Autonomous Navigation.”,    World Scientific Publishing,  Series in Robotics and  Intelligent Systems. Singapore, 1999.

2.      Agre, Philip E. y Chapman David. “ What are plans for?”, Robotics and Autonomous Systems. No. 6 (1990); p. 17 – 34.

3.      IEEE Robotics and Automatization Soviet 2001.

4.      Akbarally,  Huzefa  y   Kleeman,  Lindsay.  “A sonar sensor  for  accurate  3D  target  localisation  and classification”       IEEE   International    conference   on robotics and automation. 1995.

5.      Mataric, Maja. “A distributed model for mobile robot environment-learning  and  navigation.”Cambridge,  MA,1990.

6.      Parker,   L.   “Current  State   of  the   Art  in   Dist Distributed Autonomous Mobile Robotic” ,Distributed Autonomous Robotic Systems. Tokyo. Vol 4, (2000); p. 3-12.

7.      Yamasaki, H. ”Intelligent Sensing Technology.”, Journal  of the Japan  Society of Precision  Engineering. Vol. 55, No. 9; 1989.

8.      [8] Everett, H.R. y   Peters, A K. “ Sensors for MobileRobots” , Wellesley, MA,1995.

9.      Feng, L, Borenstein, J y Everett, H.R. “ Where am I? “ Sensors  and  methods  for  mobile  robot  positioning. Universidad de Michigan. 1996.

10.  Adams. M.D. “Sensor Modelling, Design and Data Processing for Autonomous Navigation.”  World cientific publishing  , Series in Robotics and  Intelligent  Systems. Singapore. Vol. 13. 1999.

11.  [mcbtec.com. “Funcionamiento_Encoder”< www.mcbtec.com/Funcionamiento_Encoder.pdf >. superrobotica.com,   “   sensor   brújula   digital   “<http://www.superrobotica.com/S320160.htm >

12.  Borges, G, Nogueira, A y G. S. Deep, “Characterization  of a  Trajectory  Recognition  Optical Sensor for an Automated Guided Vehicle.”, IEEE Transactions  on Instrumentation  and measurement, Vol.49, Nº. 4, pp. 813 – 819.  2000.

13.  Malik  R. y Yu H., “The Infrared  Detector  Ring: Obstacle  Detection  for an Autonomous Mobile Robot.” IEEE 35th Midwest Symposium on Circuit and Systems,1992.

14.  Flynn A., “Combining sonar  and  infrared  sensors for mobile robot navigation.”, The International  Journal of Robotics Research, Vol. 7, Nº. 6, pp. 5 – 14. 1988.

15.  Sabatini A, Genovese V, Guglielmelli E, Mantuano

16.  A,  Ratti  G,  y  Dario  P.  “A low-cost,  composite  sensor array combining ultrasonic and infrared proximity sensors.”,   Procedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 120 -126. Pittsburgh, 1995.

17.  Novotny P y   Ferrier N, “ Using infrared  sensors and the Phong illumination model to measure distances.” Procedings of the IEEE

 

 

 

 

 

 

 

 

 

©2020 por los autores. Este artículo es de acceso abierto y distribuido según los términos y condiciones de la licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) (https://creativecommons.org/licenses/by-nc-sa/4.0/).