RoboticaCons PDF

También podría gustarte

Está en la página 1de 13

Universidad UTE

Robótica

Galo Unapanta

8-TD

Consulta

Control cinemático espacio de la tarea

La meta principal del control de movimiento en el espacio cartesiano, consiste en diseñar un


controlador cuya señal de mando u(t) garantice que las coordenadas generalizadas que definen la
pose del elemento terminal x(t) en el espacio de tareas, sigan lo más fielmente posible el valor
deseado de posición espacial xd(t), cumpliendo además con los índices de desempeño fijados para
el sistema. El control cartesiano difiere del articular, en que el error regulado resulta de la
diferencia entre la pose deseada y la real del elemento terminal, lográndose un mejor desempeño
del robot sobre todo en aplicaciones de control de movimiento y seguimiento de trayectorias.
Dado que el vector de entrada [ hd θd ϕd ] T establece la posición del centro de referencia móvil
del elemento terminal, para controlar el estado deseado se define el error cartesiano ex(t),
medido en el espacio de tareas. (CASTELLANOS, 2012)

La señal de mando generada en cada instante de tiempo, ubica la pose de la plataforma móvil en
dirección tal, que el error ex(t) tiende a cero, por consiguiente, la ley de control garantiza:

En la formulación del problema de control, se considera conocido el vector de coordenadas


espaciales del robot, gracias a la medición de la pose de la plataforma móvil en cada instante de
tiempo. El valor deseado de la elongación articular qd(t) no se conoce de manera directa; hay que
obtenerlo de calcular la señal de mando u(t) y la solución de la cinemática inversa del robot.

La figura muestra el esquema de control, el mismo está compuesto por dos lazos en cascada, el
lazo interior actúa directamente como control de posición articular, siendo diseñado para cumplir
con las especificaciones de diseño y con la capacidad de atenuar los efectos indeseables de
interacción dinámica entre los actuadores, en el rango de frecuencias de operación del robot. El
lazo exterior (control cinemático cartesiano), tiene la función de compensar el error cartesiano
que aparece debido a las imprecisiones del modelo, tolerancias y juego libre de las uniones,
variaciones en la carga, minimizando el error de posicionamiento espacial del robot. Obsérvese
que no se requiere el modelo dinámico del robot, ni el cálculo de la cinemática directa, cuyo
procedimiento de solución es un inconveniente para la implementación práctica en tiempo real.

Considerando que el error inicial ex(0) es suficientemente pequeño, existe una configuración
articular del robot para la cual se cumple la igualdad. Dado que, se busca que el error de
posicionamiento espacial sea cero en estado estable, se define la ley de control:

Dado que la relación entradas- salidas del sistema sensorial presenta comportamiento lineal, la
matriz de medición queda definida como:

Para ilustrar el comportamiento de la estabilidad del sistema de control, se implementa un


controlador integral, donde la función transferencial digital G(z) para un período muestreo de 60
ms, adquiere la forma:
Representando en el espacio de estado

siendo:

se establece que el sistema de control resulta desacoplado para cada coordenada cartesiana que
define la pose de la plataforma móvil, cumpliéndose:
Control cinemático en el espacio articular

la solución de control requiere de la obtención de la posición deseada de cada articulación,


mediante la solución de la cinemática inversa del robot, a partir de conocer la pose deseada.
Luego, se implementa un control desacoplado en el espacio articular, de probada robustez, que
garantiza el cumplimiento de las especificaciones de diseño, a pesar de los efectos de la
interacción dinámica entre las diferentes cadenas articuladas del sistema.

Las relaciones cinemáticas inversas del robot permiten conocer el valor individual de las
elongaciones deseadas de los pistones (variables articulares) en función de la pose del elemento
terminal en cada instante de tiempo; garantizando ubicar a la plataforma móvil en la orientación y
elevación deseadas.

Para la extensión de la aplicación al caso del simulador de movimiento de tres gdl, hay que tener

en cuenta la mayor complejidad estructural que caracteriza el mecanismo, donde para lograr cada
uno de los grados de libertad, es necesario el accionamiento en conjunto de sus extremidades
actuadas, así como el efecto de la interacción dinámica entre los actuadores, dado el carácter
acoplado del sistema.
En este caso, el controlador debe garantizar en lazo cerrado un par de polos (complejos
conjugados) dominantes de manera que satisfagan las especificaciones de tiempo de
establecimiento menor o igual a 0,5 segundos para entrada escalón, con un mínimo de sobre
cresta, rechazo del sistema a perturbaciones y acción integral incorporada, de modo que el
sistema sea tipo dos y garantice capacidad de seguimiento a referencias tipo rampa con cero
errores en estado estable. (CASTELLANOS, 2012)

Mientras que la ecuación característica deseada es de la forma:

Interpolación de trayectorias

Spline

La mayoría de los robots manipuladores realizan trayectorias curvas por la interpolación de tres
puntos, esto ahorra memoria, trabajo y tiempo, ya que no es lo mismo almacenar y programar
1555 puntos que 40 puntos. La interpolación por splines no es del todo necesaria para la
programación del robot manipulador, ya que el controlador del robot cuenta con sus propios
algoritmos de interpolación, sin embargo, si se desea diseñar y/o desarrollar una maquina o un
robot, las splines pueden ser la solución para las interpolaciones, además que ayudan a suavizar el
contorno del objeto y a tener una representación matemática del mismo.

El proceso para obtener las splines es el siguiente:

- De los puntos de pares ordenados del contorno del objeto, se seleccionan una cantidad
específica para realizar la interpolación por splines, a mayor cantidad mejor es la
aproximación al contorno real. Por ejemplo, para la imagen de la figura 4 se seleccionaron 40
puntos de 1555 que se tenían.
- Con los puntos considerados se realiza la interpolación por splines parametrizando para x e y
en función de t, siendo t un vector de las mismas dimensiones de x e y con incrementos
constantes. Por cada punto que se consideró, se obtienen 4 valores que son los coeficientes
que componen un polinomio cúbico, así se obtienen tantos polinomios cúbicos como puntos
fueron considerados para cada vector x e y.
Una vez que se tienen los coeficientes, se forman los polinomios y se evalúan para el intervalo
t0<t<tn para obtener las curvas paramétricas.

Finalmente se derivan los polinomios para obtener los vectores tangentes y normales a la
trayectoria del contorno, los cuales serán útiles para resolver la cinemática inversa del robot
manipulador. (Soto)

Lineales
Matlab

CÓDIGO MATLAB INTERPOLACIÓN DE LAGRANGE


% INTERPOLACION "POLINOMIO DE LAGRAGE"

clc %permite borrar el area de trabajo

clear %permite borrar las variables almacenadas

format long %permite utilizar la maxima capacidad de la maquina

fprintf('INTERPOLACION "POLINIMIO DE LAGRAGE"\n\n\n');

%fprintf me permite ingresar comentarios de manera textual que pueden

%orientar al usuario en el uso del programa

xi=input('Ingrese los puntos pertenecientes a las x: ');


yi=input('Ingrese los puntos pertenecientes a las y: ');

%input es un comando de solicitud de entrada de datos del usuario.

n=length(xi);

x=sym('x'); %esta funcion nos permite dejar la variable 'x' como simbólica

% y asi poder trabajar con ella, sin tener que asignarle un valor.

for j=1:n

producto=1;

for i=1:j-1

producto=producto*(x-xi(i)); %calculo del producto 1 superior de L

end

producto2=1;

for i=j+1:n

producto2=producto2*(x-xi(i)); %calculo del producto 2 superior de L

end

producto3=1;
for i=1:j-1

producto3=producto3*(xi(j)-xi(i)); %calculo del producto 3 inferior de L

end

producto4=1;

for i=j+1:n

producto4=producto4*(xi(j)-xi(i)); %calculo del producto 4 inferior de L

end

L(j)=(producto*producto2)/(producto3*producto4); %cálculos de las L para

fprintf('\n L%d:\n',j-1) %poder hallar el polinomio

disp(L(j)) %la función dispo nos permite visualizar variables o texto

% en el workspace

end

pn=0;

for j=1:n

pn=pn+L(j)*yi(j); %calculo del polinomio interpolante


end

fprintf('\n POLINOMIO INTERPOLANTE: \n')

%disp(pn) % esta ejecucion la podemos utilizar cuando no necesitamos

%simplicar la expresion

pn = simple(pn); %este comando nos permite simplificar toda la expresion

disp(pn) opc=input('\nDesea aproximar un valor (si/no): ','s');

%este comando nos permite saber si el usuario quiere obtener una

%aproximacion de un punto dado, en el polinomio que se acaba de obtener

if opc=='si'

x=input('\nIngrese el punto a aproximar: ');

y=eval(pn); %evaluar el punto en el polinomio

disp('\nLa aproximacion a f(x) es:')

disp(y)

end
interpolación lineal
x=[0.97 1.12 2.92 3.00 3.33 3.97 6.10 8.39 8.56 9.44];
y=[2.58 0.43 0.06 5.74 7.44 8.07 6.37 2.51 1.44 0.52];
xx=[1.0 2.0 3.5 5.5 8.0];
yy=interp1(x,y,xx,'linear');
disp([xx' yy'])
hold on
plot(x,y,'-bo','markersize',3,'markerfacecolor','b')
plot(xx,yy,'ro','markersize',4,'markerfacecolor','r')
xlabel('x')
ylabel('y')
grid on
title('Interpolación lineal');
hold off
Interpolación spline
s = spline(x,y,xq) devuelve un vector de valores interpolados s correspondiente a los puntos
de consulta de xq. Los valores de s se determinan mediante la interpolación de spline cúbico
de x y y.

pp = spline(x,y) devuelve una estructura polinómica tramos para su uso por ppval y la utilidad
spline unmkpp.

Sintaxis

s = spline(x,y,xq)
pp = spline(x,y)

Ejemplo:
Utilice spline para interpolar una curva sinusoidal sobre puntos de muestra espaciados
irregularmente.
x = [0 1 2.5 3.6 5 7 8.1 10];
y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)

Bibliografía
CASTELLANOS, E. (2012). repositorio universidad central de las villas. Obtenido de repositorio
universidad central de las villas:
file:///C:/Users/OMEN/Downloads/Ph.D%20Thesis.%20Eduardo%20Izaguirre%20Castellan
os_unlocked.pdf

Soto, A. (s.f.). researchgate. Obtenido de researchgate:


https://www.researchgate.net/profile/Jesus_Carlos_Pedraza_Ortega/publication/237122
434_Generacion_de_trayectorias_para_un_robot_manipulador_utilizando_procesamient
o_de_imagenes_y_splines_Trajectory_generation_for_a_manipulator_robot_using_image
_processing

También podría gustarte