Simulación del modelo matemático del seguimiento de trayectoria de un robot uniciclo basado en métodos numéricos

 

Simulation of the mathematical model of the trajectory tracking of a unicycle robot based on numerical methods

 

Simulação do modelo matemático do rastreamento de trajetória de um robô monociclo baseado em métodos numéricos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Correspondencia: fabian.heredia@espoch.edu.ec

 

Ciencias Técnicas y Aplicadas  

Artículo de Investigación

  

* Recibido: 22 de marzo de 2022 *Aceptado: 10 de abril de 2022 * Publicado: 12 de mayo de 2022

 

  1. Especialista de Proyectos, Escuela Superior Politécnica de Chimborazo, Riobamba, Ecuador.
  2. Docente de la Escuela Superior Politécnica de Chimborazo, Riobamba, Ecuador.
  3. Docente de la Escuela Superior Politécnica de Chimborazo, Riobamba, Ecuador.
  4. Docente de la Escuela Superior Politécnica de Chimborazo, Riobamba, 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 métodos numéricos, 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 Métodos Numéricos (Euler), 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 Métodos Numéricos para el seguimiento de trayectoria.

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

 

Abstract

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

The development focuses on the kinematic model with the displaced control point and the application of Numerical Methods (Euler), for which it begins with the design of three different controllers with the topic, their equations are specified around the law that governs this topic with the idea of having a clear and concise theoretical analysis. Next, we proceed to programming in Matlab, where the controller is designed by Numerical Methods for trajectory tracking.                                                                                  

Keywords:  Matlab; Path Tracking; Design; Controller; Kinematic Model.

 

Resumo

Este artigo trata da simulação do modelo matemático do rastreamento de trajetória de um robô monociclo baseado em métodos numéricos, dentro do qual é realizada uma análise explicativa e demonstrativa do tema proposto.

O desenvolvimento foca no modelo cinemático com o ponto de controle deslocado e na aplicação de Métodos Numéricos (Euler), para o qual se inicia com o projeto de três controladores diferentes com o tópico supracitado, suas equações são especificadas em torno da lei que rege este tópico com a ideia de ter uma análise teórica clara e concisa. Em seguida, é apresentada a programação em Matlab, onde o controlador é projetado por Métodos Numéricos 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.

 

Metodología

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.

Diseño del Controlador basado en Métodos Numéricos

Si consideramos la ecuación diferencial de primer orden

 

 

El uso de métodos numéricos en el cálculo de la evolución de sistemas se basa en la posibilidad de aproximar el estado del sistema en el instante de tiempo , si el estado y la acción de control en el instante de tiempo k son conocidas, esta aproximación se denomina método de Euler.

 

 

De esta forma el modelo discreto puede ser expresado

 

 

 Matriz jacobiana

 

 Vector de velocidades

 

El objetivo del control es llegar a una trayectoria deseada encontraremos el estado siguiente por el estado siguiente deseado agregando el error.

 

Donde es una matriz diagonal con  y es la trayectoria deseada

Por lo tanto, se obtiene el sistema de ecuaciones de la forma

 

 

Si consideramos que el sistema tiene el mismo número de ecuaciones e incógnitas  las velocidades de los actuadores pueden obtenerse mediante la simple inversión de la matriz jacobina.

 

 

De esta manera encontraríamos la ley de control propuesta.

 

Ahora procedemos a realizar la estabilidad, partiendo de la aproximación del modelo en tiempo discreto, la ley de control

 

 

 

Para hallar la ecuación en lazo cerrado consideramos el seguimiento perfecto de velocidades del controlador el cual va a ser iguales a las velocidades de lectura del robot uniciclo que se obtiene mediante enconder.

 

 

Donde es matriz identidad

 

 

 

 

 

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.

 

x1 = zeros(1,Q+1); 

y1 = zeros(1,Q+1); 

 

x1(1) = -0.07;

y1(1) = 0.5;

 

hx = zeros(1,Q+1); 

hy = zeros(1,Q+1); 

phi = zeros(1,Q+1);

phi(1)=-pi/2;

 

Modelo geométrico con el punto desplazado. se establece la posición de interés inicial (eje x) en metros (m) y la posición de interés inicial (eje y) en metros (m), ingresamos el modelo cinemático con control de posición desplazado calculado en los temas anteriores.

 

hx(1) = x1(1)+a*cos(phi(1));

hy(1) = y1(1)+a*sin(phi(1)); 

 

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 métodos numéricos.

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);

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

 

Luego se procede a ingresar la matriz jacobiana encontrada en la ecuación

 

b) Matriz jacobiana

        J11 = cos(phi(k));

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

 

        J21 = sin(phi(k));

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

 

        J=[J11 J12;...

           J21 J22];

c) ingreso del parámetro b encontrada en el diseño del controlador en la ecuación.

 

b = (1/ts)*[hxd(k+1)-wx*hxe(k)-hx(k);...

                    hyd(k+1)-wy*hye(k)-hy(k)];

 

Como último punto se aplica ley de control encontrada en la cual las velocidades de referencia son iguales a la inversa de la matriz de la matriz jacobiana por la derivada de la trayectoria más la constante  por el vector de errores y procederemos a separar las velocidades lineal y angular.

 

d) Control de la ley

        qpRef = pinv(J)*(b);

  

e) Control de acción independiente

        uRef(k) = qpRef(1);

        wRef(k) = qpRef(2);

 

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); % 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

 

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

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

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

 

% c) Modelo geométrico

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

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

 

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

 

scene=figure; 

tam=get(0,'ScreenSize');

set(scene,'position',[tam(1) tam(2) tam(3) tam(4)]); % posición y figura de tamaño en la pantalla

axis equal; % Establecer relaciones de aspecto del eje

axis([-5 5 -5 5 -0.5 1]); % Establecer límites de eje

view([135 35]); % figura de orientación

grid on;

 

robotParameters; % llamar al archivo parametros del robot

M1=robotPlot(x(1),y(1),phi(1)); %Trace el robot en la posición inicial x1, y1 y orientación phi

hold on

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

camlight right % luz de la escena

 

M2=plot3(x(1),y(1),0.26,'go','LineWidth',2); % punto inicial

M3=plot3(x(1),y(1),zeros(1),'b','LineWidth',2); % trayectoria inicial

M4=plot3(hxd,hyd,zeros(1,Q),'r','LineWidth',2); % trayectoria inicial

 

step=10;

 

for i=1:step:Q % Loop emulationk

     delete (M1) % borrar trayectoria

     delete (M3) % borrar robot

     M1=robotPlot(x(i),y(i),phi(i)); hold on; % Trama de robot de nuevo

     M3=plot3(x(1:i),y(1:i),zeros(1,i),'b','LineWidth',2); % trayectoria de la trama.

    pause(ts)

end

 

Resultados, Discusión y Análisis

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

Validación Del Modelo

Una vez concluida la programación del control de seguimiento de trayectoria basa en métodos numéricos se procede a la verificación de la simulación

La trayectoria que se procede a verificar es una sinusoidal, los valores de entrada se inicializan con:

 

Punto de partida del robot

Trayectoria

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1)=0.5,

y1(1)=0.5

hxd=0.1*t;

hyd=0.5*cos(0.3*t);

 

wx=0.90;

wy=0.90;

 

40s

-pi/2

 

 

Trayectoria simulada

Gráfico

Descripción generada automáticamente

 

 

Simulación de trayectoria sinusoidal

A continuación, se representan las velocidades lineales y angulares al simular la trayectoria mencionada con los parámetros de control establecidos.

 

 

Velocidades lineales y angulares de trayectoria sinusoidal

En la figura se puede observar los errores al seguir la trayectoria

 

 

Verificación de errores en trayectoria sinusoidal

La segunda trayectoria a verificar su comportamiento es una trayectoria circular con los siguientes parámetros

 

Punto de partida del robot

Trayectoria

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1)=0.5,

y1(1)=0.5

hxd=1.5*sin(0.5*t)

hyd=1.5*cos(0.5*t)

 

wx=0.90;

wy=0.90;

 

40s

-pi/2

 

 

La trayectoria para simular se visualiza en la figura

 

Gráfico

Descripción generada automáticamente

 

 

Simulación de trayectoria circular

Se presenta el comportamiento de las velocidades lineales y angulares

 

Velocidad angular y lineal trayectoria circular

En la figura se representa la evaluación de los errores l seguir la trayectoria

 

 

 

Verificación de errores trayectoria circulara

Y la última trayectoria a verificar es una trayectoria tipo lazo con los parámetros de entrada como se determina en la tabla:

 

Punto de partida del robot

Trayectoria

Parámetros de control

Tiempo de simulación

Angulo de orientación

x1(1)=3

y1(1)=3

hxd=3*sin(0.3*t)

hyd=3*cos(0.15*t)

wx=0.90;

wy=0.90;

40s

-pi/2

 

 

 

El seguimiento de la trayectoria tipo lazo se puede observar en la figura

Gráfico

Descripción generada automáticamente

Simulación de trayectoria circular

En la figura se evidencia el comportamiento de las velocidades lineales y angulares

 

 

 

Velocidad angular y lineal trayectoria tipo lazo

En la figura se presentan los errores al seguir la trayectoria tipo lazo

 

 

Verificación de errores trayectoria tipo lazo

Análisis de datos

Una vez realizada la verificación de la implementación del controlador basado en métodos numéricos en el software Matlab se procedió a la variación de cada uno de los parámetros con el objetivo una respuesta y un registro de errores y velocidades.

 

Resultado de la simulación del control de seguimiento de trayectoria sinusoidal:

 

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

wy=1.5;

5.40

2.98

23.42

139.7

wx=1;

wy=1;

0.7

0.1

0.18

0.1

wx=0.8;

wy=0.8;

0.07

0.1

0.12

2.5

wx=-0.6;

wy=-0.6;

0.14

0.1

2.39

12.55

 

 

Para el análisis del controlador por Métodos Numéricos el parámetro de regulación debe cumplir con , en la primera y la última simulación se ha tomado un valor excedente al intervalo, es decir mayor que 1 y menor que 0 respectivamente, con la finalidad de demostrar el comportamiento del robot como se observa los resultados en la tabla Los parámetros de regulación de las dos siguientes simulaciones se encuentran dentro del intervalo , en donde se puede determinar un comportamiento diferente, se identifica que el error de  seguimiento de trayectoria disminuye  además las velocidades lineales como angulares se pueden manjar.

Los errores al seguir la trayectoria son mínimos cuando el parámetro w se encuentra dentro del intervalo  y se puede determinar que las velocidades lineal y angular son periódicas para la trayectoria indicada.

 

 

 

 

 

 

 

Resultado de la simulación del control de seguimiento de trayectoria circular:

 

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;

wy=1;

-0.032

0.11

0.1

-0.1

wx=0.6;

wy=0.6;

-0.05

0.11

0.1

-0.1

wx=-0.5;

wy=-0.5;

0.065

0.11

1.43

8

 

 

Se ha seleccionado el parámetro de regulación igual a uno para la primera simulación, con la idea de analizar en la tabla el comportamiento del robot al tomar el límite del intervalo de , en donde los errores resultaron ser significativamente grandes al seguir la trayectoria.

En la tercera simulación se ha considerado que el parámetro de regulación se encuentra fuera del intervalo , en donde se puede observar que existen cambios bruscos en sus velocidades lineal y angular, así como también al inicio de la trayectoria.

En la tabla se confirma que los parámetros     se deben encontrar entre el intervalo  con el objetivo de disminuir el error de seguimiento de trayectoria y que las velocidades lineal y angular no presenten variaciones significativas.

 

Resultado de la simulación del control de seguimiento de trayectoria tipo lazo:

 

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

wy=1.2;

5.48

3.8

8.24

60

wx=0.5;

wy=0.5;

0.094

0.0033

0.46

2.51

wx=-0.1;

wy=-0.1;

17523

7422

14

25

En la trayectoria tipo lazo, al realizar la primera y última simulación con el parámetro  fuera del intervalo se determina que los errores y las velocidades lineal ya angular al seguir la trayectoria presentan variaciones considerables.

En la segunda simulación se determina que los puntos de partida del robot y de la trayectoria, así como los ángulos de dirección son iguales, además el parámetro de regulación se encuentra dentro del intervalo , dando como resultado un comportamiento en torno a sus errores y velocidades idóneas al seguir la trayectoria.

 

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.

·      Se permitió identificar los valores de   y con los cuales el robot uniciclo puede completar la trayectoria con el menor número de errores, disminuyendo de esta manera las oscilaciones que se presentan al momento de la simulación.

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

 

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.

 

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

Enlaces de Referencia

  • Por el momento, no existen enlaces de referencia
';





Polo del Conocimiento              

Revista Científico-Académica Multidisciplinaria

ISSN: 2550-682X

Casa Editora del Polo                                                 

Manta - Ecuador       

Dirección: Ciudadela El Palmar, II Etapa,  Manta - Manabí - Ecuador.

Código Postal: 130801

Teléfonos: 056051775/0991871420

Email: polodelconocimientorevista@gmail.com / director@polodelconocimiento.com

URL: https://www.polodelconocimiento.com/