Skip to main content

Abstract

This chapter introduces two kinds of adaptive discrete neural network controllers for discrete nonlinear system, including a direct RBF controller and an indirect RBF controller. For the two control laws, the adaptive laws are designed based on the Lyapunov stability theory; the closed-loop system stability can be achieved.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Jagannathan S, Lewis FL (1994) Discrete-time neural net controller with guaranteed performance. In: Proceedings of the American control conference, pp 3334–3339

    Google Scholar 

  2. Ge SS, Li GY, Lee TH (2003) Adaptive NN control for a class of strict-feedback discrete- time nonlinear systems. Automatica 39(5):807–819

    Article  MathSciNet  MATH  Google Scholar 

  3. Yang C, Li Y, Ge SS, Lee TH (2010) Adaptive control of a class of discrete-time MIMO nonlinear systems with uncertain couplings. Int J Control 83(10):2120–2133

    Article  MathSciNet  MATH  Google Scholar 

  4. Ge SS, Yang C, Dai S, Jiao Z, Lee TH (2009) Robust adaptive control of a class of nonlinear strict-feedback discrete-time systems with exact output tracking. Automatica 45(11):2537–2545

    Article  MathSciNet  MATH  Google Scholar 

  5. Yang C, Ge SS, Lee TH (2009) Output feedback adaptive control of a class of nonlinear discrete-time systems with unknown control directions. Automatica 45(1):270–276

    Article  MathSciNet  MATH  Google Scholar 

  6. Yang C, Ge SS, Xiang C, Chai T, Lee TH (2008) Output feedback NN Control for two classes of discrete-time systems with unknown control directions in a unified approach. IEEE Trans Neural Netw 19(11):1873–1886

    Article  Google Scholar 

  7. Ge SS, Yang C, Lee TH (2008) Adaptive robust control of a class of nonlinear strict- feedback discrete-time systems with unknown control directions. Syst Control Lett 57:888–895

    Article  MathSciNet  MATH  Google Scholar 

  8. Ge SS, Yang C, Lee TH (2008) Adaptive predictive control using neural network for a class of pure-feedback systems in discrete time. IEEE Trans Neural Netw 19(9):1599–1614

    Article  Google Scholar 

  9. Zhang J, Ge SS, Lee TH (2005) Output feedback control of a class of discrete MIMO nonlinear systems with triangular form inputs. IEEE Trans Neural Netw 16(6):1491–1503

    Article  Google Scholar 

  10. Ge SS, Zhang J, Lee TH (2004) State feedback NN control of a class of discrete MIMO nonlinear systems with disturbances. IEEE Trans Syst, Man Cybern (Part B) Cybern 34(4):1630–1645

    Google Scholar 

  11. Ge SS, Li Y, Zhang J, Lee TH (2004) Direct adaptive control for a class of MIMO nonlinear systems using neural networks. IEEE Trans Autom Control 49(11):2001–2006

    Article  MathSciNet  Google Scholar 

  12. Ge SS, Zhang J, Lee TH (2004) Adaptive MNN control for a class of non-affine NARMAX systems with disturbances. Syst Control Lett 53:1–12

    Article  MathSciNet  MATH  Google Scholar 

  13. Ge SS, Lee TH, Li GY, Zhang J (2003) Adaptive NN control for a class of discrete-time nonlinear systems. Int J Control 76(4):334–354

    Article  MathSciNet  MATH  Google Scholar 

  14. Lee S (2001) Neural network based adaptive control and its applications to aerial vehicles. Ph.D. dissertation, School of Aerospace Engineering, Georgia Institute of Technology, Atlanta, GA

    Google Scholar 

  15. Shin DH, Kim Y (2006) Nonlinear discrete-time reconfigurable flight control law using neural networks. IEEE Trans Control Syst Technol 14(3):408–422

    Article  Google Scholar 

  16. Zhang J, Ge SS, Lee TH (2002) Direct RBF neural network control of a class of discrete-time non-affine nonlinear systems. In: Proceedings of the American control conference, pp 424–429

    Google Scholar 

  17. Fabri SG, Kadirkamanathan V (2001) Functional adaptive control: an intelligent systems approach. Springer, New York

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Appendix

Appendix

10.1.1 Programs for Sect. 10.2.3

Simulation program: chap10_1.m

%Discrete neural controller

clear all;

close all;

L=9; %Hidden neural nets

c=[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2;

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2];

b=2;

w=rand(L,1);

w_1=w;

u_1=0;

x1_1=0;x1_2=0;

x2_1=0;

z=[0,0]';

Gama=0.01;rou=0.001;

L*(1+rou)*Gama %<=1/g1-1/k0

(L+rou)*Gama %<=1.0

for k=1:1:10000

time(k)=k;

ym(k)=sin(pi/1000*k);

y(k)=x1_1; %tol=1

e(k)=y(k)-ym(k);

M=2;

if M==1 %Linear model

x1(k)=x2_1;

x2(k)=u_1;

elseif M==2 %Nonlinear model

x1(k)=x2_1;

x2(k)=(x1(k)*x2_1*(x1(k)+2.5))/(1+x1(k)^2+x2_1^2)+u_1+0.1*u_1^3;

end

z(1)=x1(k);z(2)=x2(k);

for j=1:1:L

h(j)=exp(-norm(z-c(:,j))^2/(2*b^2));

end

w=w_1-Gama*(h'*e(k)+rou*w_1);

wn(k)=norm(w);

u(k)=w'*h';

%u(k)=0.20*(ym(k)-x1(k)); %P control

x1_2=x1_1;

x1_1=x1(k);

x2_1=x2(k);

w_1=w;

u_1=u(k);

end

figure(1);

plot(time,ym,'r',time,x1,'k:','linewidth',2);

xlabel('k');ylabel('ym,y');

legend('Ideal position signal','Position tracking');

figure(2);

plot(time,u,'r','linewidth',2);

xlabel('k');ylabel('Control input');

figure(3);

plot(time,wn,'r','linewidth',2);

xlabel('k');ylabel('Weight Norm');

10.1.2 Programs for Sect. 10.3.5.1

Simulation program: chap10_2.m

%Discrete RBF controller

clear all;

close all;

ts=0.001;

c1=-0.01;

beta=0.001;

epcf=0.003;

gama=0.001;

G=50000;

b=15;

c=[-1 -0.5 0 0.5 1];

w=rands(5,1);

w_1=w;

u_1=0;

y_1=0;

e1_1=0;

e_1=0;

fx_1=0;

for k=1:1:2000

time(k)=k*ts;

yd(k)=sin(2*pi*k*ts);

yd1(k)=sin(2*pi*(k+1)*ts);

%Nonlinear plant

fx(k)=0.5*y_1;

y(k)=fx_1+u_1;

e(k)=y(k)-yd(k);

x(1)=y_1;

for j=1:1:5

h(j)=exp(-norm(x-c(:,j))^2/(2*b^2));

end

v1_bar(k)=beta/(2*gama*c1^2)*h*h';

e1(k)=(-c1*e1_1+beta*(e(k)+c1*e_1))/(1+beta*(v1_bar(k)+G));

if abs(e1(k))>epcf/G

w=w_1+beta/(gama*c1^2)*h'*e1(k);

elseif abs(e1(k))<=epcf/G

w=w_1;

end

fnn(k)=w'*h';

u(k)=yd1(k)-fnn(k)-c1*e(k);

%u(k)=yd1(k)-fx(k)-c1*e(k); %With precise fx

fx_1=fx(k);

y_1=y(k);

w_1=w;

u_1=u(k);

e1_1=e1(k);

e_1=e(k);

end

figure(1);

plot(time,yd,'r',time,y,'k:','linewidth',2);

xlabel('time(s)');ylabel('yd,y');

legend('Ideal position signal','Position tracking');

figure(2);

plot(time,u,'r','linewidth',2);

xlabel('time(s)');ylabel('Control input');

figure(3);

plot(time,fx,'r',time,fnn,'k:','linewidth',2);

xlabel('time(s)');ylabel('fx and fx estimation');

legend('Ideal fx','fx estimation');

10.1.3 Programs for Sect. 10.3.5.2

Simulation program with known f(x(k − 1)): chap10_3.m

%Discrete controller

clear all;

close all;

ts=0.001;

c1=-0.01;

u_1=0;y_1=0;

fx_1=0;

for k=1:1:20000

time(k)=k*ts;

yd(k)=sin(k*ts);

yd1=sin((k+1)*ts);

%Nonlinear plant

fx(k)=0.5*y_1*(1-y_1)/(1+exp(-0.25*y_1));

y(k)=fx_1+u_1;

e(k)=y(k)-yd(k);

u(k)=yd1-fx(k)-c1*e(k);

y_1=y(k);

u_1=u(k);

fx_1=fx(k);

end

figure(1);

plot(time,yd,'r',time,y,'k:','linewidth',2);

xlabel('time(s)');ylabel('yd,y');

legend('Ideal position signal','Position tracking');

figure(2);

plot(time,u,'r','linewidth',2);

xlabel('time(s)');ylabel('Control input');

Simulation program with unknown f(x(k − 1)): chap10_4.m

%Discrete RBF controller

clear all;

close all;

ts=0.001;

c1=-0.01;

beta=0.001;

epcf=0.003;

gama=0.001;

G=50000;

b=15;

c=[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2];

w=rands(9,1);

w_1=w;

u_1=0;

y_1=0;

e1_1=0;

e_1=0;

fx_1=0;

for k=1:1:10000

time(k)=k*ts;

yd(k)=sin(k*ts);

yd1(k)=sin((k+1)*ts);

%Nonlinear plant

fx(k)=0.5*y_1*(1-y_1)/(1+exp(-0.25*y_1));

y(k)=fx_1+u_1;

e(k)=y(k)-yd(k);

x(1)=y_1;

for j=1:1:9

h(j)=exp(-norm(x-c(:,j))^2/(2*b^2));

end

v1_bar(k)=beta/(2*gama*c1^2)*h*h';

e1(k)=(-c1*e1_1+beta*(e(k)+c1*e_1))/(1+beta*(v1_bar(k)+G));

if abs(e1(k))>epcf/G

w=w_1+beta/(gama*c1^2)*h'*e1(k);

elseif abs(e1(k))<=epcf/G

w=w_1;

end

fnn(k)=w'*h';

u(k)=yd1(k)-fnn(k)-c1*e(k);

%u(k)=yd1(k)-fx(k)-c1*e(k); %With precise fx

fx_1=fx(k);

y_1=y(k);

w_1=w;

u_1=u(k);

e1_1=e1(k);

e_1=e(k);

end

figure(1);

plot(time,yd,'r',time,y,'k:','linewidth',2);

xlabel('time(s)');ylabel('yd,y');

legend('Ideal position signal','Position tracking');

figure(2);

plot(time,u,'r','linewidth',2);

xlabel('time(s)');ylabel('Control input');

figure(3);

plot(time,fx,'r',time,fnn,'k:','linewidth',2);

xlabel('time(s)');ylabel('fx and fx estimation');

10.1.4 Programs for Sect. 10.3.5.3

Simulation program: chap10_5.m

%Discrete RBF controller

clear all;

close all;

ts=0.001;

c1=-0.01;

beta=0.001;

epcf=0.003;

gama=0.001;

G=50000;

b=15;

c=[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2;

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2];

w=rands(9,1);

w_1=w;

u_1=0;y_1=0;y_2=0;

e1_1=0;e_1=0;

x=[0 0]';

fx_1=0;

for k=1:1:10000

time(k)=k*ts;

yd(k)=sin(k*ts);

yd1(k)=sin((k+1)*ts);

%Linear model

fx(k)=1.5*y_1*y_2/(1+y_1^2+y_2^2)+0.35*sin(y_1+y_2);

y(k)=fx_1+u_1;

e(k)=y(k)-yd(k);

x(1)=y_1;x(2)=y_2;

for j=1:1:9

h(j)=exp(-norm(x-c(:,j))^2/(2*b^2));

end

v1_bar(k)=beta/(2*gama*c1^2)*h*h';

e1(k)=(-c1*e1_1+beta*(e(k)+c1*e_1))/(1+beta*(v1_bar(k)+G));

if abs(e1(k))>epcf/G

w=w_1+beta/(gama*c1^2)*h'*e1(k);

elseif abs(e1(k))<=epcf/G

w=w_1;

end

fnn(k)=w'*h';

u(k)=yd1(k)-fnn(k)-c1*e(k);

%u(k)=yd1(k)-fx(k)-c1*e(k); %With precise fx

%u(k)=0.10*(x1d(k)-x1(k)); %P control

fx_1=fx(k);

y_2=y_1;

y_1=y(k);

w_1=w;

u_1=u(k);

e1_1=e1(k);

e_1=e(k);

end

figure(1);

plot(time,yd,'r',time,y,'k:','linewidth',2);

xlabel('time(s)');ylabel('yd,y');

legend('Ideal position signal','Position tracking');

figure(2);

plot(time,u,'r','linewidth',2);

xlabel('time(s)');ylabel('Control input');

figure(3);

plot(time,fx,'r',time,fnn,'k:','linewidth',2);

xlabel('time(s)');ylabel('fx and fx estimation');

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Tsinghua University Press, Beijing and Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Liu, J. (2013). Discrete Neural Network Control. In: Radial Basis Function (RBF) Neural Network Control for Mechanical Systems. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34816-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34816-7_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34815-0

  • Online ISBN: 978-3-642-34816-7

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics