symbolic sliding mode control package - inria
TRANSCRIPT
![Page 1: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/1.jpg)
1
Symbolic Sliding Mode Control Package
Summer School 2015
Ali ASSAF
![Page 2: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/2.jpg)
2
Contents
a – The goals of the ChaSLIM project
a.1 - NOLIACPA and ChasLIM
b – Introduction to SymPy software
b.1 - Sympy vs Maple vs Matlab: Some examples
c – Sliding Mode Control of Order 1 based on Input-Output Feedback Linearization
c.1 - Example of Nominal System
c.2 - Case of Unknown Parameters System
d – Second Order Sliding Mode Control (SOSM)
d.1 - SOSM Sympy example of SISO system with relative degree equals to 1
d.2 - SOSM Sympy example of SISO system with relative degree equals to 2
![Page 3: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/3.jpg)
3
e – System Dynamics Simulation using Python
e.1 – Fourth order Runge-Kutta Method and Euler Method in Python
e.2 – Some Examples
f – ChaSlim Graphical User Interface
g – Conclusion
Contents
![Page 4: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/4.jpg)
44
a - Goals of the ChaSLIM project
Design new sliding mode controllers avoiding the
chattering phenomena.
Using SymPy language to develop a symbolic
software package based on NOLIACPA ( IRCCyN
software).
Synthesize controllers and simulate the closed-loop
system.
4
![Page 5: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/5.jpg)
55
a.1 - NOLIACPA and ChasLIM
NOLIACPA: a symbolic NOnLInear Analysis and Control PAckage for nonlinear systems using Maple.
Structural Analysis of nonlinear systems- Relative degrees
- Zeros at infinity
- Nonlinear Interactor (Inversion algorithm)
- Essential orders
5
![Page 6: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/6.jpg)
66
a.1 - NOLIACPA and ChasLIM
Application to nonlinear systems Control :
Decoupling control via Dynamic Compensator,
State and input-output Linearization via feedback,
Observers design via exact transformation to linear system
and input-output injection.
6
![Page 7: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/7.jpg)
77
b - Introduction to SymPy
SymPy is a Python library for symbolic computation
that aims to become a full-featured computer algebra
system.
SymPy is entirely written in Python and does not
require any external libraries.
http://sympy.org/fr/index.html
7
![Page 8: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/8.jpg)
88
b.1- Sympy vs Maple vs Matlab: Some examples
SymPy is a cost free open source, while Maple and
Matlab are proprietary softwares released under
proprietary commercial licenses.
Maple and Matlab come with both a GUI and a
command line interface.
SymPy has a command line interface. Plotting with
SymPy needs to install others libraries.
8
![Page 9: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/9.jpg)
99
In SymPy, to raise something to a power, we use **,
Maple and Matlab: ^.
In SymPy, we have to define symbols before using
them.
Differentiation : diff(f(x), x)
Integration : SymPy integrate(f(x), x),
Maple and Matlab int(f, x)
9
b.1- Sympy vs Maple vs Matlab: Some examples
![Page 10: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/10.jpg)
1010
Algebraic equations : solve (f(x),x)
simplify() to arrive at the simplest form of an
expression.
expand() to expand polynomial expressions.
Linear Algebra :
M = Matrix(2, 3, [1, 2, 3, 4, 5, 6])
M.det() SymPy
det(M) Matlab
determinant(M) Maple
10
b.1- Sympy vs Maple vs Matlab: Some examples
![Page 11: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/11.jpg)
1111
c - Sliding Mode Control of Order 1 based on Input-Output Feedback Linearization
Consider the nonlinear system
The main goal of the sliding mode control is to force the system
dynamics to slide on a desired manifold (Sliding surface) in order
to robustly follow a given trajectory.
(1)
)(
)()(
xhy
uxgxfx
![Page 12: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/12.jpg)
1212
c - Sliding Mode Control of Order 1 based on Input-Output Feedback Linearization
A particular choice for S(x,t)
• r is the relative degree of ouput y(t).
• Tracking error e(t) = yd(t) – y(t)• Ʌi tuning parameters, positives.
Candidate Lyapunov function
(2)
(3)
ei
r
ii
txS
1
0
),(
2
),()(
2tx
xV s
![Page 13: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/13.jpg)
13
c - Sliding Mode Control of Order 1 based on Input-Output Feedback Linearization
Time derivative of S(x,t):
uxStxS
uxgxfx
S
t
SetuxS ir
i i
)(),(
))()((),,(
21
11
0
(4)
Control law:nequu
)],([)( 1
1
2 txSxSueq
nn uxS 1
2 )(
0)sgn(**..
SKSSKSSV
Equivalent Control:
Discontinuous Control:
where
0,)sgn( KSKun
(5)
(6)
![Page 14: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/14.jpg)
14
c.1 - Example of Nominal System
![Page 15: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/15.jpg)
15
c.1 - Example of Nominal System
![Page 16: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/16.jpg)
1616
c.2 - Case of Unknown Parameters System
In the real case, the system includes uncertainties in the model
to be controlled.
∆f(x), ∆g(x) and ∆h(x) are bad known but bounded.
(7)
![Page 17: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/17.jpg)
1717
c.2 - Case of Unknown Parameters System
In MIMO case, from the Lyapunov function, we obtain p inequations with p variables, which are complicated to besolved.
The gain kj (j=1,…,p) depends on the uncertainties and initial conditions at the same time.
(Nominal System Control) (8)
(9)
)](*),([)( 1
1
2 SsignktxSxSu NN
)](*),([)(*),( 1
1
221
.
SsignktxSxSSStxS NN
![Page 18: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/18.jpg)
18
c.2 - Case of Unknown Parameters System : a proposed method
Limitation on inputs :
if S > 0 :
if S < 0 :
(10)
(11)
(12)V S :
![Page 19: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/19.jpg)
19
c.2 - Case of Unknown Parameters System : a proposed method
MIMO case :
(13)
![Page 20: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/20.jpg)
20
c.2 - Case of Unknown Parameters System : a proposed method
The uncertain system is :
dx1/t = u1*(1.1*x1(t) + 1) + x2(t)
dx2/t = x3(t)
dx3/t = u2 + 0.9*x1(t) + x2(t)**2
y1 = 1.3*x1(t)
y2 = x2(t)
--------------------------------------------------------------------
-- Calculation of the vector of relative degrees --
The system is written as diff(y,r)=A0+B0u
with vdeg the vector of relative degrees : Matrix([[1], [2]])
The matrix A0 is : Matrix([[x2(t)], [x1(t) + x2(t)**2]])
The matrice B0 is : Matrix([[x1(t) + 1, 0], [0, 1]])
The sum of relative degrees is : 3
---------------------------------------------------------------
![Page 21: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/21.jpg)
21
c.2 - Case of Unknown Parameters System : a proposed method
The static state feedback control laws which achieve input-
output decoupling diff(y,r)=v are :
u1=(v1 - x2(t))/(x1(t) + 1)
u2=v2 - x1(t) - x2(t)**2
--------------------------------------------------------------------
First order Sliding Mode Control U = ueq + Vn :
--------------------------------------------------------------------
U[1] = (-K1*sign(x1(t) - sin(t)) - x2(t) + cos(t))/(x1(t) + 1)
with K1 = -Umax1*(x1(t) + 1) - (x2(t) - cos(t))*sign(x1(t) - sin(t))
--------------------------------------------------------------------
U[2] = -K2*sign(k20*x2(t) - k20*sin(t) + x3(t) - cos(t)) - k20*x3(t)
+ k20*cos(t) - x1(t) - x2(t)**2 - sin(t)
with K2 = -Umax2 - (k20*x3(t) - k20*cos(t) + x1(t) + x2(t)**2 +
sin(t))*sign(k20*x2(t) - k20*sin(t) + x3(t) - cos(t))
---------------------------------------------------------------
![Page 22: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/22.jpg)
22
d - Definition of Second Order Sliding Mode Control (SOSM)
Using a high order mode control to reduce chattering.
As a first time, the control law u is calculated as for the first
order sliding mode control.
![Page 23: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/23.jpg)
23
d - Definition of Second Order Sliding Mode Control (SOSM)
(i=1..m), the discontinuous controls signals act on the second
time derivate of the sliding variable to enforce and
Candidate Lyapunov function :
(14)
(15)
![Page 24: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/24.jpg)
24
d.1 - SOSM Sympy example of system SISO with relative degree equals to 1
24
Second order Sliding Mode Control :
Control law :
(16)
(17)
![Page 25: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/25.jpg)
25
d.1 - SOSM Sympy example of system SISO with relative degree equals to 1
25
Consider the following SISO system with relative degree equal to 1 :
The sliding variables Sy(x,t) of output y :
The time derivative of Sy(x,t) :
(18)
(19)
(20)
![Page 26: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/26.jpg)
26
d.1 - SOSM Sympy example of system SISO with relative degree equals to 1
0 5 10 15 20 25 30 35 40-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Time(s)
Positio
n t
rackin
g
Reference signal
Output signal
0 5 10 15 20 25 30 35 40-6
-5
-4
-3
-2
-1
0
1
2
Time(s)
Contr
ol in
put
u
26
Control law :
(21)
![Page 27: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/27.jpg)
27
d.2 - SOSM Sympy example of system SISO with the relative degree equals to 2
27
Consider the following SISO system with relative degree equal to 2 :
The sliding variables Sy(x,t) of output y :
The time derivative of Sy(x,t) :
(22)
(23)
(24)
![Page 28: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/28.jpg)
28
d.2 - SOSM Sympy example of system SISO with relative degree equals to 2
0 5 10 15 20 25 30 35 40-1.5
-1
-0.5
0
0.5
1
1.5
Time(s)
Positio
n t
rackin
g
Reference signal
Output signal
28
Control law :
(25)
![Page 29: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/29.jpg)
29
e - System Dynamics Simulation using Python
SciPy is a package of tools for science and
engineering for Python. It includes modules for ODE
solvers, statistics, optimization, integration, linear
algebra, Fourier transforms, signal and image
processing, and more…
matplotlib is a python 2D ploting library.
NumPy is a fundamental package for scientific
computing with Python.
other libraries …
29
![Page 30: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/30.jpg)
30
e.1 - Fourth Order Runge-Kutta Method in Python
Runge-Kutta method is a mathematical algorithm
used to solve systems of ordinary differential
equations.
ode(sys).set_integrator('dopri5',atol=1.e-6,rtol=1.e-3)
odeint(sys, x0, t)
30
ode(sys).set_integrator(‘vode',atol=1.e-6,rtol=1.e-3)
![Page 31: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/31.jpg)
31
e.2 – Some Examples
310 10 20 30 40 50 60
-1
-0.5
0
0.5
1
1.5
2
Times (s)
Positio
n t
rackin
g
Matlab simulation using ode45
Reference signal
Output signal
Matlab & Scipy Comparison
and
![Page 32: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/32.jpg)
f- ChaSlim Graphical User Interface
cx_Freeze, py2app, py2exe Convert Python scripts into executable
programs
32
![Page 33: Symbolic Sliding Mode Control Package - Inria](https://reader031.vdocuments.us/reader031/viewer/2022012412/616c9e0b9ba4221e2745469b/html5/thumbnails/33.jpg)
33
g - Conclusion
33
This package needs to be extended to include new methodologies
of High Order Sliding Mode (HOSM) controllers, in order to reduce
the chattering and improve the disturbance rejection and which can
also be applied to non-smooth systems.
The Symbolic Sliding Mode Control Package provides also the simulation results of the closed loop system. This is convenient for the user to help him for the gain k tuning (with respect to the limitation of the input, ...).
Graphical User Interface to facilitate the use of ChaSlim package.