Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [t,q]=ode45( @robot, 0:0.01:10, [4;5;pi/3;1] )
- plot( q(:,1), q(:,2) )
- function dq = robot( t, q )
- x = q(1);
- y = q(2);
- theta = q(3);
- v = q(4);
- % trajektoria
- xr = sin(t);
- yr = cos(t);
- dxr = cos(t);
- dyr = -sin(t);
- ddxr = -sin(t);
- ddyr = -cos(t);
- % robot:
- dx = v*cos(theta);
- dy = v*sin(theta);
- % opis celu sterowania
- e = [xr;yr] - [x;y];
- de = [dxr;dyr] - [dx;dy];
- dde = -10*de-25*e;
- % sterowanie
- A = [ cos(theta), -v*sin(theta) ; ...
- sin(theta), v*cos(theta) ];
- aw = inv(A)*(-dde + [ddxr;ddyr] );
- a = aw(1);
- w = aw(2);
- % model układu - kinematyka / dynamika
- dq = [ v*cos(theta) ; ...
- v*sin(theta) ; ...
- w ; ...
- a ];
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement