Adaptive neural network controller for strict – feedback nonlinear
systems
Nguyen Cong DanHanoi University of Science and
Technology
05/01/2023 Nguyen Cong Dan 2
The main content Researching object
Using neural networks to approximate a smooth function
Designing an adaptive controller for strict-feedback nonlinear systems
Applying this controller to Robot SCARA
05/01/2023 Nguyen Cong Dan 3
Part 1: Researching object
• Nonlinear systems written by strict – feedback form:
1 1 1 1 1 2
2 2 1 2 2 1 2 3
1 2 1 2
1
( ) ( )( , ) ( , )
.........( , ,..., ) ( , ,..., )n n n n n
x f x g x xx f x x g x x x
x f x x x g x x x uy x
05/01/2023 Nguyen Cong Dan 4
Part 2: Neural network to approximate
a smooth function.• With a smooth unknown function:
• Constructing a neural network having structure :
Where : : Input vector
: the first layer weight
: the second layer weight
( ) : mh Z R R
( ) ( )T Tnng Z W S V Z
1,1TT mZ R Z
( 1)1 2, ,... m l
lV v v v R
1 2, ,... T llW w w w R
05/01/2023 Nguyen Cong Dan 5
Neural network to approximate a smooth function.
INPUT LAYER 1 LAYER 2 OUTPUT
1
2
3
1
2
l
m+1
V(m+1,l) W(l,1)
05/01/2023 Nguyen Cong Dan 6
Part 3: Designing adaptive neural network controller
• First order system:
• Define: • Choose an integral-type Lyapunov function:
1 1 1 1 1 1
1
( ) ( )x f x g x uy x
1 1 ;dz x y 1 1 1 1 1 1( ) ( ) / ( )x x g x g
1
1 10( ) 0
z
z dV y d
05/01/2023 7
Designing adaptive neural network controller
• We can choose a controller for this system:
Where:
• Following Lyapunov theory, control function u1 can make this system stability.
• Problem: f1(.) and g1(.) are uncertain, thus we can’t define exactly as well as u1.
1 1 1 11 1
1 ( ) ( )( )
u k t z h Zx
g
1
1 1 1 1 1 1 1 10* ( ) ( ) ( ) ( )d dh Z x f x y z y d 3
1 1[ , , ]Td dZ x y y R
1 1( )h Z
Nguyen Cong Dan
05/01/2023 Nguyen Cong Dan
Designing adaptive neural network controller
• Apply the neural network designed to approximate
• And layer weights are updated during training process by proper laws.
8
1 1( )h Z
1 1 1 1 1 1 11 1
1 ˆ ˆ[ ( ) ( )]( )
T Tu k t z W S Vx
Zg
05/01/2023 Nguyen Cong Dan 9
N-dimensional nonlinear system
• Using backstepping design we can find adaptive NN controller for n-dimensional system. We need n steps, each step uses an intermediate control function.
• By viewing x2 as a virtual control input for (1); x3 as a virtual control input for (2)… along the similar process with the first order system. We can design intermediate control functions, train Neural network weights, and offer final controller.
1 1 1 1 1 2
2 2 1 2 2 1 2 3
1 2 1 2
1
( ) ( ) (1) ( , ) ( , ) (2)
.........( , ,..., ) ( , ,..., ) ( )n n n n n
x f x g x xx f x x g x x x
x f x x x g x x x u ny x
05/01/2023 Nguyen Cong Dan 10
Part 4: Apply this method to control Robot SCARA
• Robot Scara 3 DOF (2 Revolute joints and 1 Prismatic joint)
(1)(2)
(3)
- mi and ai : are the mass and the length of link i, (i =1,2,3)- qi is the joint variable in joint i
1 1 2 2 3 3; ; q q q d
1 2 3[ , , ]Tq q q q
Joint 2
Joint 3 Joint 1
05/01/2023 Nguyen Cong Dan 11
Robot Scara 3 DOF
Dynamic equation:
( ) ( , )M q q q q U
1
2
TU T
F
1 q M U
11 12 13
21 22 23
31 32 33
( ) ;m m m
M q m m mm m m
1
2
3
( , ) ;h
q q hh
05/01/2023 Nguyen Cong Dan 12
Robot Scara 3 DOF
So, we can write dynamic equation for each link:
1 1 11 11 1 12 2 13 3 1
1 1 12 21 1 22 2 23 3 2
1 1 13 31 1 32 2 33 3 3
(1)
(2)
(3)
q M h M h M h u
q M h M h M h u
q M h M h M h u
05/01/2023 Nguyen Cong Dan 13
Robot Scara 3 DOF
• Dynamic equation (1) written by strict-feedback form
• Although depend on we can view them as uncertain ingredients. Design adaptive independent controller for q1 like Part 3.
• Similar procedure with equation (2) and (3)
1 1
1 2
1 1 12 11 1 12 2 13 3 1
q xx x
x M h M h M h u
2 2 3 3, , , q q q q 1q
05/01/2023 Nguyen Cong Dan 14
Simulation
• Model Matlab – Simulink:
05/01/2023 Nguyen Cong Dan 15
Link’s trajectory follows desired trajectory
05/01/2023 Nguyen Cong Dan 16
Tracking error
05/01/2023 Nguyen Cong Dan 17
Conclusion
• The report has presented a method about adaptive NN control for strict-feedback nonlinear systems using backstepping design.
• Apply successfully this method to robotic arm, we can design independent controllers for each link of robot SCARA.