Project Submission
Project Submission
Plant Dynamics
Controller Dynamics
Plant Dynamics:
(3)Adaptive Controller :
The termsM(q); Vm(q; q_); Fd are uncertain, i.e. their
structure is known as in (1) but the parameters p1; p2; p3; fd1 ; fd2are unknown
Adaptive controller :
function [e,tau,theta_hat_dot,e_theta,qd,theta] =
controller(t,q,q_dot,theta_hat)
%#codegen
%q=[q(1);q(2)];
c2=cos(q(2));
s2=sin(q(2));
alpha=1;
kr=5;
rhotheta=[1];
p1=3.473;
p2=0.196;
p3=0.242;
fd1=5.3;
fd2=1.1;
theta=[p1;p2;p3;fd1;fd2];
qd=[2*sin(t);cos(t)]
qd_dot=[2*cos(t);-sin(t)];
qd_ddot=[-2*sin(t);-cos(t)];
e=q-qd;
e_dot=q_dot-qd_dot;
r=e_dot+alpha*e;
z11=-q_dot(1)+e_dot(1)
z12=-qd_ddot(2)+e_dot(2)
z13=-2*c2*qd_ddot(1)-
c2*qd_ddot(2)+2*(s2*q_dot(2)*q_dot(1))+s2*(q_dot(2))^2-
s2*q_dot(2)*e_dot(1)-s2*q_dot(2)*e(1)-s2*q_dot(1)*e_dot(2)-
s2*q_dot(1)*e(2)-s2*q_dot(2)*e_dot(2)-
s2*q_dot(2)*e(2)+2*c2*e_dot(1)+c2*e_dot(2);
z14=q_dot(1);
z15=0;
z21=0;
z22=-qd_dot_dot(1)-qd_dot_dot(2)+e_dot(1)+e_dot(2);
z23=-c2*qd_dot_dot(1)-
s2*q_dot(1)*q_dot(1)+s2*q_dot(1)*e(1)+s2*q_dot(1)*e(1)+c2*e_dot(1);
z24=0;
z25=q_dot(2);
z=[z11 z12 z13 z14 z15;z21 z22 z23 z24 z25];
theta_hat_dot=rhotheta*z'*r; % Update Law
tau=-Z*theta_hat-kr*r-e; % Adaptive Controller
e_theta=theta-theta_hat;