Lyapunov Based Control of A Robot and Mass-Spring System Undergoing An Impact Collision

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

Lyapunov Based Control of a

Robot and Mass-Spring System


Undergoing
An
Impact Collision
CONTROL OBJECTIVE:

To design a nonlinear controller which regulate the spring


mass to a desired compressed state after it has undergone a
collision with a two link manipulator.

DIFFICULTY?
The equations of motion are different when the system status
changes suddenly from a non-contact state to a contact state.
DYNAMIC MODEL

• 2-Link manipulator :

• Mass spring system:

Property of euler-lagrange dynamics:

1. M is symmetric and

2. Skew symmetric property:


Definations:
1.Manipulator end position:
2.Relation between Xdot and qdot:
3.Contact Force:

4. Contact Torque:
Model of system after collision:

Converting to X-Y Co-ordinates:


Control Development:
Goal here is to regulate the states of a dynamic system (i.e., a two-link
planar robot) that has an impact collision with another dynamic system
(i.e., a mass-spring).
A regulation error, denoted by is defined to quantify this
objective as :
FILTER TRACKING ERROR

(To facilitate the subsequent control design and stability analysis)


CLOSE LOOP ERROR SYSTEM:
BACKSTEPPING TECHNIQUE:
Virtual control law is defined as 𝑥𝑟𝑑1 :

Objective is to control the dynamics of mass-spring system by virtual


control law and dynamics of two-link manipulator can be controlled by
actual control law defined for torque/force.
LYAPUNOV FUNCTION AND DEFINING
CONTROL LAWS:
Let denote the following continuously differentiable,
nonnegative, radially unbounded function (i.e. a Lyapunov function
candidate):

Which can be upper and lower bounded i.e.:


CONTROL LAWS:
Virtual control law:

Close loop Dynamics of mass-spring system obtained now:


CONTROL FORCE ON LINKS:

Close loop Dynamics of two-link manipulator system obtained now:


STABILITY ANALYSIS IN DIFFERENT
SITUATIONS:
Taking the time derivative of LYAPUNOV CANDIDATE FUNCTION defined
before and substituting for close-loop dynamics we will get the
following expression for Vdot:
CASE-I:
Before the initial contact, the mass-spring system is at rest and the spring is
not compressed. Hence,

Barbalat’s Lemma can be applied to


conclude that:
CASE-II:
After an impact, the robot may loose contact with the spring-mass.
In this case:

NOW:
Now:
CASE-III:
When the robot and mass-spring systems are in contact, Vdot can be
upper bounded as :

After completing the squares on the bracketed terms, the following


expression is obtained:
Now if

Global exponential stability result is obtained.


and exponentially converge to zero as the time
increases.
Simulation code:
function Xdot=MSR(t,x)
m=1;m1=1;m2=1;l1=1;l2=1;ko=1;k=100;alpha=1;k1=1;k2=1;
k3=[10 0;
0 2];
xmd=1.5;xo=1.2;xr2d=.5;
xr1d=((alpha*m*x(6)+ko*(xmd-x(5)-xo)+(k1+k2)*(x(6)+alpha*x(5)))/k)+(xmd-x(5));
xr1=xr1d-x(1);
xr2=xr2d-x(2);
xm=xmd-x(5);
if xr1>=xm
v=1;
elseif xr1<xm
v=0;
else
v=1;
End
q2=acos(((xr1^2+xr2^2)-(l1^2+l2^2))/(2*l1*l2));
q1=atan(((l1+l2*cos(q2)*x(2))-(l2*sin(q2)))/((l2*sin(q2)*x(2))+(l1+l2*cos(q2))*xr1));
j11=-l1*sin(q1)-l2*sin(q1+q2);
j12=-l2*sin(q1+q2);
j21=l1*cos(q1)+l2*cos(q1+q2);
j22=l2*cos(q1+q2);
J=[j11 j12;
j21 j22];
M11= (m1+m2)*l1^2+ m2*l2^2 + 2*m2*l1*l2*cos(q2);
M12= m2*l2^2+ m2*l1*l2*cos(q2);
M21= M12;
M22= m2*l2^2;
M=[M11 M12;
M21 M22];
Mbar=J'^-1*M*J^-1;
emdd=((1-v)*(ko*(xmd-x(5)-xo)+alpha*m*x(6))+k*v*x(1)-v*(k1+k2)*(x(6)+alpha*x(5))-alpha*m*x(6));
erd=[x(3);x(4)];
er=[x(1);x(2)];
erdd=Mbar^-1*(-alpha.*Mbar*erd-k3*(erd+alpha.*er)-er);
Xdot=[x(3);x(4);erdd(1);erdd(2);x(6);emdd];
end
function [t,x]=MSR_plot(x1i,x2i,x3i,x4i,x5i,x6i,n)
f=[x1i,x2i,x3i,x4i,x5i,x6i];
g=[0,n];
[t,x]=ode45(@MSR,g,f);
figure(1)
plot(t,x(:,1),'r');
hold on
plot(t,x(:,2),'g');
legend('er1','er2');
figure(2)
plot(t,x(:,3),'r');
hold on
plot(t,x(:,4),'g');
legend('er1dot','er2dot');
figure(3)
plot(t,x(:,5),'b');
hold on;
plot(t,x(:,6),'c');
legend('em','emdot');
end
Simulation Results:
• Two-link manipulator position errors:
Mass Spring system Position error:
Variation of 𝑥𝑚 , 𝑥𝑟1 , 𝑥𝑟1𝑑 with contact and non contact position:

You might also like