Simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en algebra lineal
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
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
![]() |
|||
![]() |
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.
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
.
Observamos en la figura
que geométricamente en el eje y
se
obtiene
Para hallar los puntos en
la posición y
![]() |
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:
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
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
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
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.
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 similares
- Elvis Guillermo Fuentes-Tenorio , La valoración de la prueba en materia penal , Domino de las Ciencias: Vol. 9 Núm. 2 (2023): Febrero Especial
- Angie Gabriela Sánchez Erazo, Andrea Gabriela Zuleta Sánchez, La vulneración existente del sistema penal acusatorio vinculado con los principios legales , Domino de las Ciencias: Vol. 8 Núm. 3 (2022): Agosto Especial 2022
También puede {advancedSearchLink} para este artículo.
Artículos más leídos del mismo autor/a
- Luis Felipe Lema Palaquibay , Fabian Israel Heredia Moreno , José Fernando Esparza Parra, Daisy Carolina Carrasco López , Jhony Fernando Cruz Román , Alba Maritza Sinaluisa Pilco , Indicadores de calidad ambiental urbana, a partir de imágenes de satélite en la ciudad de Riobamba – Ecuador , Domino de las Ciencias: Vol. 9 Núm. 1 (2023): Enero-Marzo 2023