Simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en algebra lineal

Michael Estefania Jativa Brito
Fabian Israel Heredia Moreno

El presente artículo trata de la simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en Algebra Lineal, dentro del cual se realiza un análisis explicativo y demostrativo del tema planteado.


El desarrollo se centra en el modelo cinemático con el punto de control desplazado y la aplicación de Algebra Lineal, para lo cual se inicia con el diseño de tres diferentes controladores con el tema mencionado, se especifica sus ecuaciones entorno a la ley que rige a dicho tema con la idea de tener un análisis teórico claro y conciso. A continuación, se da paso a la programación en Matlab, en donde se diseña el controlador por Algebra Lineal para el seguimiento de trayectoria.

 

Ciencias Técnicas y Aplicadas

Artículo de Investigación  

 

Simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en algebra lineal

 

Simulation of the mathematical model of trajectory tracking of a unicycle robot based on linear algebra

 

Simulação do modelo matemático de rastreamento de trajetória de um robô monociclo baseado em álgebra linear

 

Michael Estefania Jativa Brito I
estefania.jativa@espoch.edu.ec
 https://orcid.org/0000-0002-6394-2586   
,Fabian Israel Heredia Moreno II
fabian.heredia@espoch.edu.ec
https://orcid.org/0000-0003-3645-5165
Segundo Fabián Siza Moposita III
segundo.siza@espoch.edu.ec
 https://orcid.org/0000-0001-8036-6974
 

 

 

 

 

 

 

 

 

 

 


Correspondencia: estefania.jativa@espoch.edu.ec

 

 

         *Recibido: 29 de noviembre del 2022 *Aceptado: 12 de diciembre de 2022 * Publicado: 26 de enero de 2023

 

       I.          Docente, Escuela Superior Politécnica de Chimborazo (ESPOCH), Ecuador.

     II.          Especialista de Proyectos, Escuela Superior Politécnica de Chimborazo (ESPOCH), Ecuador.

   III.          Docente, Escuela Superior Politécnica de Chimborazo (ESPOCH), Ecuador.

 

 

 

 

Resumen

El presente artículo trata de la simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en Algebra Lineal, dentro del cual se realiza un análisis explicativo y demostrativo del tema planteado.

El desarrollo se centra en el modelo cinemático con el punto de control desplazado y la aplicación de Algebra Lineal, para lo cual se inicia con el diseño de tres diferentes controladores con el tema mencionado, se especifica sus ecuaciones entorno a la ley que rige a dicho tema con la idea de tener un análisis teórico claro y conciso. A continuación, se da paso a la programación en Matlab, en donde se diseña el controlador por Algebra Lineal para el seguimiento de trayectoria.

Palabras Claves: Matlab; Seguimiento de Trayectoria; Diseño; Controlador; Modelo Cinemático.

 

Abstract

This article deals with the simulation of the mathematical model of trajectory tracking of a unicycle robot based on Linear Algebra, within which an explanatory and demonstrative analysis of the raised issue is carried out.

The development focuses on the kinematic model with the displaced control point and the application of Linear Algebra, for which it begins with the design of three different controllers with the mentioned theme, its equations are specified around the law that governs said topic with the idea of having a clear and concise theoretical analysis. Next, programming in Matlab is given, where the controller is designed by Linear Algebra for trajectory tracking.

Keywords: Matlab; Trajectory Tracking; Design; Controller; Kinematic model.

 

Resumo

Este artigo trata da simulação do modelo matemático de rastreamento de trajetória de um robô monociclo baseado em Álgebra Linear, dentro do qual é realizada uma análise explicativa e demonstrativa da questão levantada.

O desenvolvimento se concentra no modelo cinemático com o ponto de controle deslocado e na aplicação da Álgebra Linear, para a qual se inicia com o projeto de três controladores diferentes com o tema mencionado, suas equações são especificadas em torno da lei que rege o referido tópico com a ideia de ter uma análise teórica clara e concisa. Em seguida, é dada a programação em Matlab, onde o controlador é projetado por Álgebra Linear para rastreamento de trajetória.

Palavras-chave: Matlab; Rastreamento de Trajetória; Projeto; Controlador; modelo cinemático.

 

Introducción

El robot tipo uniciclo perteneciente a la categoría de robots móviles es un vehículo capaz de seguir una trayectoria que ha sido previamente planificada dentro de un espacio de trabajo. Estos autómatas son utilizados actualmente en diferentes áreas que requieran la intervención de este tipo de móviles, se debe tomar en cuenta que no todos los robots uniciclo son configurados para seguir una trayectoria.

El presente artículo por habla del modelado y de la simulación de un robot uniciclo, el objetivo principal es diseñar un controlador óptimo para un correcto seguimiento de trayectoria, esto en base a un análisis específico de cada paso a seguir.

Al final del trabajo se pretende obtener una respuesta clara entorno al seguimiento de trayectoria del robot uniciclo, tomando a consideración el estudio y análisis del controlador diseñado.

2. METODOLOGÍA

   2.1 Modelo cinemático con punto de control desplazado

El cálculo del modelo cinemático con el punto de control desplazado nos permite implementar manipuladores para futuras investigaciones.

 

 

Diagrama, Dibujo de ingeniería

Descripción generada automáticamente

 

De esta manera el objetivo es hallar el modelo con respecto al punto de control desplazado. Determinamos velocidad lineal de la rueda derecha,  velocidad lineal de la rueda izquierda el ángulo de orientación y la  posición del robot .

Diagrama

Descripción generada automáticamente

 

 

 

Observamos en la figura que geométricamente en el eje  y  se obtiene

 

Para hallar los puntos en la posición   y

 

Forma

Descripción generada automáticamente

 

 

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

 

 

Para hallar las ecuaciones del punto deseado, observamos que se forma un triángulo rectángulo en la cual aplicamos razones trigonométricas y se obtiene:

Diagrama

Descripción generada automáticamente con confianza baja

Despejando  y

 

Derivamos el sistema de ecuaciones con respecto al tiempo utilizando la regla de la cadena, y obtenemos que la derivada de la orientación es la velocidad angular .

 

 

 

 

Remplazamos en el sistema de ecuaciones

 

 

 

 

Ahora se procede a dejar el sistema de ecuaciones en función de las velocidades lineales de la rueda izquierda y derecha, para esto encontramos la velocidad total del sistema que será el promedio de la velocidad de la llanta derecha más promedio de la velocidad de la llanta izquierda.

 

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

 

 

Remplazamos en el sistema de ecuaciones

 

 

 

 

Se procede a un planteamiento matricial del sistema de ecuaciones encontrado.

 

 

 

Una vez que ha obtenido la matriz Jacobiana, finalmente se tiene el modelo matemático el cual relaciona las velocidades en el punto de control con las velocidades de los actuadores.

2.2 Diseño del Controlador basado en Algebra Lineal

 

Este control fue seleccionado dado que se puede obtener más ecuaciones que incógnitas, de esta forma el modelo discreto del robot puede ser expresado de la siguiente manera:

 

 

 

 

 

 

 

 

 

En la cual se obtiene tres ecuaciones con dos incógnitas, la velocidad lineal y la velocidad angular , al existir este tipo de sistemas de ecuaciones pueda que exista solución o no, entonces para hallar una solución exacta se implementará algebra lineal.

 

 

 

 

 

 

 

 

Se obtiene el modelo en tiempo discreto, con la finalidad que los errores de seguimiento tiendan a cero, partiendo de:

 

 

 

 

 

 

 

 

 

 

Por lo tanto, se obtiene el sistema de ecuaciones:

 

 

 

 

 

 

 

 

 

 

 

 

 

En este caso la matriz  no es una matriz cuadrada por tal motivo no se puede resolver realizando la inversión de la matriz jacobiana. El sistema de ecuaciones puede ser resuelto utilizando ecuaciones normales las cuales son aplicadas en algebra lineal para resolver el sistema de ecuaciones mediante mínimos cuadrados obteniendo una optimización.

 

 

 

 

 

Por lo tanto, se obtiene de la ecuación donde se indica que las velocidades de referencia son iguales a la matriz jacobiana transpuesta por el vector , hallando el controlador, este sistema al tener más ecuaciones que incógnitas puede llegar a tener una solución o en su caso se puede llegar a la conclusión de que no exista solución.

Para este caso se considera una solución exacta, considerando que al menos una de las variables de estado tiene que tomar cualquier valor para que los otros puedan seguir las referencias, a esta variable se la conocerá como variable sacrificada. Dado que el objetivo del control es que el robot siga una trayectoria en el plano x,  y la variable que vamos a sacrificar es la orientación, se identifica la variable sacrificada .

Se procede a calcular la variable sacrificada, garantizando una solución exacta; una de las formas para garantizar la solución exacta es que los vectores sean paralelos.

Para que un vector sea paralelo debe existir una relación en este caso se ha elegido la columna de la matriz   donde son linealmente independientes el  y el

 

 

 

Po lo tanto al despejar  se obtiene:

 

 

 

Para la representación en Matlab se sabe que , lo que permite calcular el arco tangente en los 4 cuadrantes:

 

 

 

De esta manera se sacrifica la variable de orientación con la finalidad de que el algoritmo de control converja a cero siempre y cuando los valores deben mantenerse en un rango de 0 y 1.

 

 

2.3 Implementación del Controlador en Matlab

 

Encabezado. - en este punto se declara y se inicializa las variables como el tiempo de simulación (tf), tiempo de muestreo (ts), vector de tiempo(t), distancia al punto de interés en metros (a) y numero de muestras Q-1 esto es debido a que el algoritmo de control necesitamos el valor .

clear

close all

clc

tf=40;

ts=0.1;

t=0:ts:tf;

a=0.1;

Q=length(t)-1;

 

Condiciones iniciales. – comprende la posición central inicial (eje x) en metros (m), punto de inicio del robot, posición real inicial (eje x) en metros (m), ángulo de orientación de partida (rad). Se debe tomar en cuenta que los parámetros el punto de inicio del robot con el punto de inicio de la trayectoria deseada deben ser iguales.

hx = zeros(1,Q+1); 

hy = zeros(1,Q+1); 

phiez = zeros(1,Q+1);

phi = zeros(1,Q+1);

phi(1)=0;

hy(1) = 0.5;

 

Configuración de la Trayectoria deseada. -  comprende el ingreso de la trayectoria que va a realizar el robot uniciclo, trayectoria que depende del tiempo.

hxd=0.1*t;

hyd=0.5*cos(0.3*t);

 

Comportamiento del controlador. - Constantes que permiten regular el controlador, parámetros encontrados en el tema de diseño del controlador basado en Algebra lineal.

wx=0.90;

wy=0.90;

Enserando los vectores. - medición de la velocidad lineal (m / s), medición de la velocidad angular.

uRef=zeros(1,Q); 

wRef=zeros(1,Q); 

hxe = zeros(1,Q);

hye = zeros(1,Q);

phie = zeros(1,Q);

tiempo=zeros(1,Q);

Controlador. – posición de los errores el cual cambia en cada instante de muestreo de esta manera encontramos el error en los ejes y  al final armaremos un vector de errores.

% a) error

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

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

phie(k) = phiez(k)-phi(k);

 

 

Ingreso del parámetro encontrado en la ecuación 84:

phiez(k+1)=atan2(hyd(k+1)-wy*(hye(k))-hy(k),hxd(k+1)wx*(hxe(k)) hx(k));

 

uRef(k)=((hxd(k+1)-wx*(hxe(k))-hx(k))/ts)*cos(phiez(k))+ ((hyd(k+1)-wx*(hye(k))-hy(k))/ts)*sin(phiez(k));

    wRef(k) = (phiez(k+1)-wy*(phie(k))-phi(k))/ts;

 

Simulación del robot. - simulación del control de trayectoria del robot uniciclo

% a) Robot simulado (modelo cinemático)

phi(k+1)=phi(k)+ts*wRef(k);

x1p=uRef(k)*cos(phi(k+1));

y1p=uRef(k)*sin(phi(k+1));

    % b) integral numérica (método de Euler)

x1(k+1)=x1(k)+ts*x1p; 

y1(k+1)=y1(k)+ts*y1p; 

    % c) Modelo geométrico

x(k+1)=x1(k+1)+a*cos(phi(k+1));

y(k+1)=y1(k+1)+a*sin(phi(k+1));

 

Movimiento estroboscópico del robot uniciclo. - en este apartado se llama al archivo “robotParameters” y “ robotPlot”  son los parámetros del robot para realizar la simulación.

 

scene=figure; 

tam=get(0,'ScreenSize');

set(scene,'position',[tam(1) tam(2) tam(3) tam(4)]);

axis equal;

axis([-5 5 -5 5 -0.5 1]);

view([135 35]);

grid on;

robotParameters;

M1=robotPlot(x(1),y(1),phi(1));

hold on

xlabel('x(m)'); ylabel('y(m)'); zlabel('z(m)');

camlight right

 

 

3. RESULTADOS, DISCUSIÓN Y ANALISIS

Una vez concluida la programación en Matlab se procedió a modificar los valores para obtener los resultados del modelo matemático.

3.1 Validación del modelo

Una vez concluida la programación del control de seguimiento de trayectoria basa en Algebra lineal, se procede a la verificación de la simulación.

El primer tipo de trayectoria que se va a verificar es una sinusoidal, los valores de entrada se inicializan con:

 

Tabla 1. Valores de entrada para trayectoria tipo sinusoidal con controlador basado en Algebra

punto de inicio del robot

Trayectoria que depende del tiempo

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1)=0.1,

y1(1) =0.47

hxd=0.1*t;

hyd=0.5*cos(0.3*t);

wx=0.90;

wy=0.90;

40s

0

 

El resultado de la simulación se puede observar en la figura

 

Gráfico

Descripción generada automáticamente

Figura . Trayectoria tipo sinusoidal; Algebra.

Los resultados de las velocidad angular y velocidad lineal se observan en la figura

 

Figura . Velocidades lineal y angular de trayectoria tipo sinusoidal; Algebra.

Las velocidades son bajas lo cual nos permite implementar en un robot real, ahora procedemos a observar lo errores en la figura

Figura . Verificación de errores en trayectoria tipo sinusoidal; Algebra.

El segundo tipo de trayectoria que se va a verificar es un círculo, los valores de entrada se inicializan con:

Tabla 2. Valores de entrada para trayectoria tipo circular  con controlador basado en Algebra

punto de inicio del robot

Trayectoria que depende del tiempo

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1)=0.11,

y1(1) =1.99

hxd=2*sin(0.2*t);

hyd=2*cos(0.2*t)

wx=0.90;

wy=0.90;

40s

0

Figura . Trayectoria tipo circular; Algebra.

 

Figura . Velocidades lineal y angular de trayectoria tipo circular; Algebra.

En la figura 42 se puede observar que en la velocidad angular se tiene un incremento después de un tiempo de que el robot empieza a moverse, esto se debe a que en el controlador por Algebra Lineal es el que presenta un menor error al momento de cumplir con la trayectoria indicada.

Figura  Verificación de errores en trayectoria tipo circular; Algebra.

El tercer tipo de trayectoria que se va a verificar es un tipo lazo, los valores de entrada se inicializan con:

 

Tabla 3. Valores de entrada para trayectoria tipo Lazo con controlador basado en Algebra

punto de inicio del robot

Trayectoria que depende del tiempo

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1) = -0.07;

y1(1) = 0.5;

hxd=2*sin(0.3*t);

hyd=2*cos(0.15*t);

wx=0.90;

wy=0.90;

40s

0

 

El resultado de la simulación se puede observar en la figura 44

 

Gráfico

Descripción generada automáticamente

Figura . Trayectoria tipo lazo; Algebra.

 

Figura . Velocidades lineal y angular de trayectoria tipo lazo; Algebra.

Figura . Verificación de errores en trayectoria tipo lazo; Algebra.

 

3.2 Análisis de datos

El análisis se va a realizar en las trayectorias sinusoidal, circular y tipo lazo, en las cuales se observa como el controlador responde a la variación de los parámetros. Al modificar estos valores se obtendrá una respuesta del simulador y un registro de errores y velocidades.

Control de seguimiento de trayectoria: Sinusoidal

Al realizar la simulación se obtuvo las respuestas mostradas en la figura del Anexo XIV figuras (AXIV.1 a la AXIV.4) cada una de estas respuestas es encontrada en la simulación al variar el parámetro  y el ángulo de orientación, en esta trayectoria se considera el punto de partida de la trayectoria es igual al punto de salida del robot uniciclo

Tabla 4.  Resultado de la simulación del control de seguimiento de trayectoria tipo sinusoidal con algebra

Parámetro de regulación

Angulo de orientación

Phi

Error inicial máximo

Valores máximos

hx

(m)

hy

(m)

Velocidad

lineal

(m/s)

Velocidad angular

(rad/seg)

wx=1.1;

wy=1.1;

0

0

wx=0.5;

wy=0.5;

0.18

0.5

wx=-1;

wy=-1;

0.008

0.01

0.26

32

La primera simulación tiene como parámetro de regulación un valor excedente del intervalo de , en donde se puede visualizar que el robot presenta errores grandes dado que el seguimiento a la trayectoria indicada no se cumple.

Como se puede observar en la segunda simulación el ángulo de partida del robot es igual a la trayectoria a seguir, el parámetro de regulación se encuentra dentro del intervalo de , el error de trayectoria en esta simulación disminuye considerablemente como se evidencia en la tabla, además las velocidad lineal y angular son periódicas, es decir no existe mayor perturbación en su comportamiento.

Control de seguimiento de trayectoria: Circunferencia

Al realizar la simulación se obtuvo las respuestas, cada una de estas es encontrada en la simulación al variar los parámetros  y el ángulo de orientación, en esta trayectoria se considera el punto de partida de la trayectoria es igual al punto de salida del robot uniciclo.

 

 

Tabla 5.  Resultado de la simulación del control de seguimiento de trayectoria tipo circular con algebra

Parámetro de regulación

Angulo de orientación

Phi

Error inicial máximo

 

Valores máximos

hx

(m)

hy

(m)

Velocidad

lineal

(m/s)

Velocidad angular

(rad/seg)

wx=1.1;

wy=1.1;

0

0

wx=0.5;

wy=0.5;

0.4

0.1

wx=-1;

wy=-1;

0.01

0.56

60

La primera simulación indica un valor mayor al intervalo del parámetro de regulación, por lo que se puede determinar que no sigue la trayectoria indicada, es así como lo errores de la trayectoria plasmados en la tabla son grandes.

El parámetro de regulación de la segunda simulación se encuentra dentro del intervalo establecido para , se ha considerado que los ángulos de dirección del robot y de la trayectoria son iguales, así como también sus puntos de partida, de esta manera se puede identificar en la tabla 18 que los errores de seguimiento de trayectoria tienden a cero.

Finalmente, para la tercera simulación se tiene un valor dentro del parámetro de control fuera del intervalo, en este caso un valor negativo, por este motivo existen perturbaciones considerables dentro de los errores y las velocidades.

 

Control de seguimiento de trayectoria: Tipo lazo

Al realizar la simulación se obtuvo cada una de estas respuestas es encontrada en la simulación al variar los parámetros  y el ángulo de orientación, en esta trayectoria se considera el punto de partida de la trayectoria es igual al punto de salida del robot uniciclo

 

Tabla 6.  Resultado de la simulación del control de seguimiento de trayectoria tipo lazo con algebra.

Parámetro de regulación

 

 

Angulo de orientación

Phi

Error inicial máximo

 

Valores máximos

hx

(m)

hy

(m)

Velocidad

lineal

(m/s)

Velocidad angular

(rad/seg)

wx=1.1;

wy=1.1;

0

0

wx=0.5;

wy=0.5;

0.34

0.87

wx=-1;

wy=-1;

0.4

6

 

En la primera simulación se tiene el parámetro de regulación con un valor excedente del intervalo de , lo que crea grandes errores, impidiendo que el robot siga con la trayectoria indicada.

Para la segunda simulación se tiene al parámetro de regulación dentro del intervalo indicado de , de esta manera se logra errores de seguimiento de trayectoria pequeños (tienden a cero), así como sus velocidades lineal y angular manejables según la figura AXVI.2 del anexo AXVI, en la última simulación se tiene que  es un valor negativo, por que se presentan perturbaciones significativas dentro de los errores y las velocidades.

 

4. CONCLUSIONES

Ø  Se ha de terminado que el punto de partida del robot uniciclo tiene que ser igual al punto de partida de la trayectoria y de la misma manera el ángulo de trayectoria igual al ángulo de partida del robot.

Ø  El control de seguimiento de trayectoria se ve afectado por la forma de la trayectoria seguir; además la mejor forma de garantizar el funcionamiento correcto de estos sistemas de control es mediante una trayectoria que no presente cambios abruptos de dirección

El desarrollo del control de seguimiento de trayectoria mediante el método basado en algebra lineal y aplicando la optimización y asegurándonos que posea una solución debido a que tiene más ecuaciones que incógnitas ha determinado que el controlador sea estable y que el parámetro de control  satisface el error al seguir la trayectoria deseada, de esta manera determinando que la parte calculada cumple con la simulada.

 

Referencias

1.     Cartagena, M., & Pillajo, R. (2018). DISEÑO, SIMULACIÓN Y COMPARACIÓN DE CONTROLADORES BASADOS EN MÉTODOS NUMÉRICOS Y ÁLGEBRA LINEAL APLICADOS A PROCESOS QUÍMICOS CON RESPUESTA INVERSA APROXIMABLES A MODELOS DE ORDEN REDUCIDO. Escuela Superior Politécnica Nacional.

2.     Andaluz Ortiz, G. M. (2015). Escuela Superior Politécnica De Chimborazo.

3.     Heredia, F., & Játiva, M. (2021). Modelado y simulación de un robot uniciclo para seguimiento de trayectoria. Universidad Internacional de la Rioja.

 

 

 

 

 

©2023 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/).|

 

Artículos más leídos del mismo autor/a