<ul><li>Ejemplos de control  </li></ul><ul><li>por modelo inverso  </li></ul><ul><li>en robótica </li></ul>
<ul><li>Control por modelo inverso de un brazo articulado </li></ul><ul><li>Demostración: Ejecutar invkine </li></ul>
Control inverso de brazo articulado <ul><li>Sección de código de la función  invsurf.m : </li></ul><ul><li>for i = 1:lengt...
Control inverso de brazo articulado (II) <ul><li>Resultado de ejecutar la función  invsurf.m : </li></ul>
Control inverso de brazo articulado (III) x x Modelo del brazo articulado  de dos grados de libertad x y y
Control inverso de brazo articulado (IV) Modelo del brazo articulado  de dos grados de libertad x y Modelo inverso del bra...
Control inverso de brazo articulado (V) for i = 1:length(x), for j = 1:length(y), xx = x(i); yy = y(j); c2 = (xx^2 + yy^2 ...
Control inverso de brazo articulado (VI) <ul><li>[FIS,ERROR,STEPSIZE]=ANFIS(TRNDATA,INITFIS,TRNOPT,DISPOPT,[],OPTMETHOD) <...
<ul><li>Obtención del modelo inverso </li></ul><ul><li>Sistema borroso 1:  fismat1 </li></ul><ul><li>[fismat1, error1] =  ...
Modelo del brazo articulado  de dos grados de libertad x y theta1 = evalfis([x, y], fismat1); x d y d theta2 = evalfis([x,...
Control inverso de brazo articulado  (IX) <ul><li>Resultado de ejecutar  invkine.m : </li></ul>
<ul><li>Control por modelo inverso de un vehículo </li></ul>
Control basado en modelo inverso de un vehículo Modelo cinemático de un vehículo Modelo Simulink
Control basado en modelo inverso de un vehículo (II)  : Curvatura de las ruedas  : Orientación del vehículo (x, y): Posi...
Control basado en modelo inverso de un vehículo (III) x :  [-50, 50] metros con intervalos  de 5 metros  Organización dato...
[  , x;    ] l Control basado en modelo inverso de un vehículo (IV) Comportamiento conductor 0 -50 50 0 5 0 10 0 x y 0  ...
[  , x;    ] Control basado en modelo inverso de un vehículo (V) Comportamiento conductor >> entrada=[260, 0;270, 5; 270...
Control basado en modelo inverso de un vehículo (VI) Se entrena la red >> train(net,P,T)  >> gensim(net) Se exporta la red...
Control basado en modelo inverso de un vehículo (VII) Se integra en el modelo Simulink
Control basado en modelo inverso de un vehículo (VIII) Se ajusta hasta que el resultado sea semejante a  este
Upcoming SlideShare
Loading in …5
×

Ejemplos Control por Modelo Inverso

3,369 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,369
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ejemplos Control por Modelo Inverso

  1. 1. <ul><li>Ejemplos de control </li></ul><ul><li>por modelo inverso </li></ul><ul><li>en robótica </li></ul>
  2. 2. <ul><li>Control por modelo inverso de un brazo articulado </li></ul><ul><li>Demostración: Ejecutar invkine </li></ul>
  3. 3. Control inverso de brazo articulado <ul><li>Sección de código de la función invsurf.m : </li></ul><ul><li>for i = 1:length(r), </li></ul><ul><li>for j = 1:length(theta), </li></ul><ul><li>xx = r(i)*cos(theta(j)); Cinemática directa </li></ul><ul><li>yy = r(i)*sin(theta(j)); </li></ul><ul><li>c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2); </li></ul><ul><li>c2 = min(max(c2, -1), 1); </li></ul><ul><li>s2 = sqrt(1 - c2^2); </li></ul><ul><li>th2(i, j) = atan2(s2, c2); </li></ul><ul><li>k1 = l1 + l2*c2; </li></ul><ul><li>k2 = l2*s2; </li></ul><ul><li>th1(i, j) = atan2(yy, xx) - atan2(k2, k1); </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>Condiciones iniciales: </li></ul><ul><li>l1 = 10; </li></ul><ul><li>l2 = 7; </li></ul><ul><li>point = 21; </li></ul><ul><li>r = linspace(l1-l2, l1+l2, point); </li></ul><ul><li>theta = linspace(0, 2*pi, 2*point); </li></ul>
  4. 4. Control inverso de brazo articulado (II) <ul><li>Resultado de ejecutar la función invsurf.m : </li></ul>
  5. 5. Control inverso de brazo articulado (III) x x Modelo del brazo articulado de dos grados de libertad x y y
  6. 6. Control inverso de brazo articulado (IV) Modelo del brazo articulado de dos grados de libertad x y Modelo inverso del brazo articulado x d y d
  7. 7. Control inverso de brazo articulado (V) for i = 1:length(x), for j = 1:length(y), xx = x(i); yy = y(j); c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2); s2 = sqrt(1 - c2^2); th2(i, j) = atan2(s2, c2); k1 = l1 + l2*c2; k2 = l2*s2; th1(i, j) = atan2(yy, xx) - atan2(k2, k1); if abs(c2) < 1; data1(data_n, :) = [xx yy th1(i, j)]; data2(data_n, :) = [xx yy th2(i, j)]; data_n = data_n + 1; end end end invkine1 = data1(1:data_n, :); invkine2 = data2(1:data_n, :); invkine1 invkine2 Matrices inversas Definir matrices en Matlab
  8. 8. Control inverso de brazo articulado (VI) <ul><li>[FIS,ERROR,STEPSIZE]=ANFIS(TRNDATA,INITFIS,TRNOPT,DISPOPT,[],OPTMETHOD) </li></ul><ul><ul><li>TRNDATA: Datos de entrada-salida </li></ul></ul><ul><ul><li>INITFIS: Condiciones iníciales de los parámetros (Funciones de pertenencia, etc…) </li></ul></ul><ul><ul><li>TRNOPT(1): Número de épocas </li></ul></ul><ul><ul><li>TRNOPT(2): Error medio cuadrático objetivo </li></ul></ul><ul><ul><li>TRNOPT(3): Factor de aprendizaje inicial </li></ul></ul><ul><ul><li>TRNOPT(4): Razón de decremento del Factor de aprendizaje </li></ul></ul><ul><ul><li>TRNOPT(5): Razón de incremento del Factor de aprendizaje </li></ul></ul><ul><ul><li>DISPOPT: Visualizar la evolución del aprendizaje </li></ul></ul><ul><ul><li>OPTMETHOD: Aprendizaje híbrido o aprendizaje por gradiente descendente </li></ul></ul>La función ANFIS
  9. 9. <ul><li>Obtención del modelo inverso </li></ul><ul><li>Sistema borroso 1: fismat1 </li></ul><ul><li>[fismat1, error1] = anfis (invkine1, 3, [50, 0, 0.2]); </li></ul><ul><li>writefis(fismat1, 'invkine1.fis'); </li></ul><ul><li>% WRITEFIS (FISMAT,'filename') </li></ul><ul><li>Sistema borroso 2: fismat2 </li></ul><ul><li>[fismat2, error2] = anfis (invkine2, 3, [50, 0, 0.2]); </li></ul><ul><li>writefis(fismat2, 'invkine2.fis'); </li></ul>Control inverso de brazo articulado (VII) Pasos para obtener un modelo
  10. 10. Modelo del brazo articulado de dos grados de libertad x y theta1 = evalfis([x, y], fismat1); x d y d theta2 = evalfis([x, y], fismat2); Control inverso de brazo articulado (VIII) <ul><li>En el programa invkine.m : </li></ul><ul><li>fismat1 = readfis ('invkine1'); </li></ul><ul><li>fismat2 = readfis ('invkine2'); </li></ul>Ejemplo de cómo exportar bloques a Simulink
  11. 11. Control inverso de brazo articulado (IX) <ul><li>Resultado de ejecutar invkine.m : </li></ul>
  12. 12. <ul><li>Control por modelo inverso de un vehículo </li></ul>
  13. 13. Control basado en modelo inverso de un vehículo Modelo cinemático de un vehículo Modelo Simulink
  14. 14. Control basado en modelo inverso de un vehículo (II)  : Curvatura de las ruedas  : Orientación del vehículo (x, y): Posición del vehículo P Aparcamiento Velocidad constante l 0 -50 50 0 5 0 10 0 x y 0 o 9 0 o 18 0 o -90 o /27 0 o P  
  15. 15. Control basado en modelo inverso de un vehículo (III) x : [-50, 50] metros con intervalos de 5 metros Organización datos l y : Puede omitirse  : [-90 o , 270 o ] a intervalos de 30 o  : [-45 o , 45 o ] a intervalos de 15 º (positivos contrario a las manecillas del reloj) 0 -50 50 0 5 0 10 0 x y 0 o 9 0 o 18 0 o -90 o /27 0 o P  
  16. 16. [  , x;  ] l Control basado en modelo inverso de un vehículo (IV) Comportamiento conductor 0 -50 50 0 5 0 10 0 x y 0 o 9 0 o 18 0 o -90 o /27 0 o P  
  17. 17. [  , x;  ] Control basado en modelo inverso de un vehículo (V) Comportamiento conductor >> entrada=[260, 0;270, 5; 270, 10; 270, 15; 270, 20] >> salida=[30; 45; 45; 45; 45] >>P=entrada’ >>T=salida’ >> interv=minmax(P) >> num_capas=[17 8 1]; >> funcact={'tansig' 'tansig' 'purelin'}; >> net=newff(interv, num_capas, funcact, 'trainlm', 'learngdm', 'mse'); Definición de matrices Interpretación de parámetros de newff
  18. 18. Control basado en modelo inverso de un vehículo (VI) Se entrena la red >> train(net,P,T) >> gensim(net) Se exporta la red a bloque Simulink
  19. 19. Control basado en modelo inverso de un vehículo (VII) Se integra en el modelo Simulink
  20. 20. Control basado en modelo inverso de un vehículo (VIII) Se ajusta hasta que el resultado sea semejante a este

×