Advertisement
Ostu

Untitled

Jun 11th, 2021
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.64 KB | None | 0 0
  1. [t,q]=ode45( @robot, 0:0.01:10, [4;5;pi/3;1] )
  2. plot( q(:,1), q(:,2) )
  3.  
  4. function dq = robot( t, q )
  5. x = q(1);
  6. y = q(2);
  7. theta = q(3);
  8. v = q(4);
  9. % trajektoria
  10. xr = sin(t);
  11. yr = cos(t);
  12. dxr = cos(t);
  13. dyr = -sin(t);
  14. ddxr = -sin(t);
  15. ddyr = -cos(t);
  16.  
  17.  % robot:
  18. dx = v*cos(theta);
  19. dy = v*sin(theta);
  20. % opis celu sterowania
  21. e = [xr;yr] - [x;y];
  22. de = [dxr;dyr] - [dx;dy];
  23. dde = -10*de-25*e;
  24. % sterowanie
  25. A = [ cos(theta), -v*sin(theta) ; ...
  26. sin(theta), v*cos(theta) ];
  27. aw = inv(A)*(-dde + [ddxr;ddyr] );
  28. a = aw(1);
  29. w = aw(2);
  30. % model układu - kinematyka / dynamika
  31. dq = [ v*cos(theta) ; ...
  32. v*sin(theta) ; ...
  33. w ; ...
  34. a ];
  35. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement