Skip to main content

Stabilization of an Axially Moving Accelerated/Decelerated System via an Adaptive Boundary Control

  • Chapter
  • First Online:
Dynamic Modeling and Boundary Control of Flexible Axially Moving System
  • 85 Accesses

Abstract

In this chapter, an adaptive boundary control is developed for vibration suppression of an axially moving accelerated/decelerated belt system. The dynamic model of the belt system is represented by partial-ordinary differential equations with consideration of the high acceleration/deceleration and unknown distributed disturbance. By utilizing adaptive technique and Lyapunov-based backstepping method, an adaptive boundary control is proposed for vibration suppression of the belt system, a disturbance observer is introduced to attenuate the effects of unknown boundary disturbance, the adaptive law is developed to handle parametric uncertainties and the S-curve acceleration/deceleration method is adopted to plan the belt’s speed. With the proposed control scheme, the well-posedness and stability of the closed-loop system are mathematically demonstrated.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 139.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 139.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. K.J. Yang, K.S. Hong, F. Matsuno, Boundary control of a translating tensioned beams with varying speed. IEEE/ASME Trans. Mechatron. 10(5), 594–597 (2005)

    Article  Google Scholar 

  2. W. He, S.S. Ge, D. Huang, Modeling and vibration control for a nonlinear moving string with output constraint. IEEE/ASME Trans. Mechatron. 20(4), 1886–1897 (2014)

    Article  Google Scholar 

  3. Y. Liu, B.S. Xu, Y.L. Wu, et al., Boundary control of an axially moving belt, in Proceeding of the 32th Chinese Control Conference, (2013), pp. 1310–1315

    Google Scholar 

  4. H. Goldstein, Classical Mechanics (Addison-Wesley, Massachusetts, 1951)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Liu .

Appendix 1: Simulation Program

Appendix 1: Simulation Program

close all; clear all; clc; nx=50; nt=100*10^3; L= 1; tmax =10; % --- Compute mesh spacing and time step dx = L/(nx-1); dt = tmax/(nt-1); % --- Create arrays to save data for export x = linspace(0,L,nx); t = linspace(0,tmax,nt); % --- parameters m = 1 ; T = 4900; pi = 3.1415926; V0=0; c = 1; % --------------velocity----------------- V = zeros(1,nt); V(1,1) = V0; J=3.5*9.8; for j=2:10*10^3-1     V(1,j) = V(1,1)+0.5*J*(j*dt)^2; end V(1,10*10^3)=V(1,1)+0.5*J; for j=(10*10^3+1):20*10^3-1 V(1,j)=V(1,10*10^3)+0.5*J*(j*dt-1); end V(1,20*10^3)=V(1,10*10^3)+J; for j=(20*10^3+1):30*10^3-1     V(1,j) = V(1,20*10^3)+J*(j*dt-2)-0.5*J*(j*dt-2)^2; end V(1,30*10^3)=V(1,20*10^3)+0.5*J; for j=(30*10^3+1):70*10^3-1     V(1,j)=V(1,30*10^3); end V(1,70*10^3)=V(1,30*10^3); for j=(70*10^3+1):80*10^3-1     V(1,j)=V(1,70*10^3)-0.5*J*(j*dt-7)^2; end V(1,80*10^3)=V(1,70*10^3)-0.5*J; for j=(80*10^3+1):90*10^3-1     V(1,j)=V(1,80*10^3)-J*(j*dt-8); end V(1,90*10^3)=V(1,80*10^3)-J; for j=(90*10^3+1):nt-1     V(1,j)=V(1,90*10^3)-J*(j*dt-9)+0.5*J*(j*dt-9)^2; end V(1,100*10^3)=V(1,90*10^3)-0.5*J; % -------------disburtance------------- d = zeros(1,nt); f = zeros(nx,nt); for j=1:nt     d(1,j)=10+cos(1*(j-1)*dt)+cos(2*(j-1)*dt)+cos(3*(j-1)*dt); end for j = 1 : nt     for i = 1 : nx        f(i,j) = 0.001*(10*(i-1)*dx+sin(pi*(i-1)*dx*(j-1)*dt)+sin(2*pi*(i-1)*dx*(j-1)*dt)+sin(3*pi*(i-1)*dx*(j-1)*dt));     end end %**************************************** % uncontrolled %**************************************** ds=0.25; mc=5; w1 = zeros(nx,nt); w1(1,:) = 0; for i=2:nx     w1(i,1) = 0;     w1(i,2) = 0; end for j = 3 : nt     for i = 2 : nx - 1        w1(i,j) = 2*w1(i,j-1)-w1(i,j-2) +((T-m*V(1,j-1)^2)*(w1(i+1,j-1)-2*w1(i,j-1)+w1(i-1,j-1))/dx^2 -c*(w1(i,j-1)-w1(i,j-2))/dt - c*V(1,j-1)*(w1(i,j-1)-w1(i-1,j-1))/dx -2*V(1,j-1)*m*(w1(i,j-1)-w1(i,j-2)-w1(i-1,j-1)+w1(i-1,j-2))/(dx*dt) -m*(V(1,j-1)-V(1,j-2))/dt*(w1(i,j-1)-w1(i-1,j-1))/dx + f(i,j) ) / (m/dt^2);     end     w1(nx,j) = ( (2*mc/dt^2 + ds/dt )*w1(nx,j-1) - (mc/dt^2)*w1(nx,j-2) + d(1,j) + (T/dx)*w1(nx-1,j-1) )/ (mc/dt^2 + ds/dt + T/dx); end tshort = linspace(0,tmax,(nt/400+1)); xshort = linspace(0,L,nx); for j=1:nt/400     for i=1:nx        w1short(i,j)=w1(i,j*400);     end end w1short=[w1(:,1),w1short]; figure (1); surf(tshort,xshort,w1short); colormap('jet') ; xlabel('Time [s]','Fontsize',14); ylabel('x [m]','Fontsize',14); zlabel('w (x,t) [m]','Fontsize',14); set(gca,'YDir','reverse') %**************************************** % backstepping adaptive + controlled + disturbance observer %**************************************** ds = 0.25; mc = 5; k1 = 100; k2 = 100; k3 = 10; gamma = 0.1; lambda = 0.001; G=diag([1 1 1 1]); w2 = zeros(nx,nt); u1 = zeros(1,nt); z_e = zeros(1,nt); d_e1 = zeros(1,nt); phi_1 = zeros(1,nt); error_1 = zeros(1,nt); T_e = zeros(1,nt); mc_e = zeros(1,nt); m_e = zeros(1,nt); ds_e = zeros(1,nt); err_T = zeros(1,nt); err_mc = zeros(1,nt); err_ds = zeros(1,nt); err_m = zeros(1,nt); zeta=1; for j = 1 : 2     T_e(1,j) = 0;     mc_e(1,j) = 0;     ds_e(1,j) = 0;     m_e(1,j) = 0; end w2(1,:) = 0; for i=2:nx     w2(i,1) = 0;     w2(i,2) = 0; end for j = 3 : nt     for i = 2 : nx - 1        w2(i,j) = 2*w2(i,j-1)-w2(i,j-2) +((T-m*V(1,j-1)^2)*(w2(i+1,j-1)-2*w2(i,j-1)+w2(i-1,j-1))/dx^2 -c*(w2(i,j-1)-w2(i,j-2))/dt - c*V(1,j-1)*(w2(i,j-1)-w2(i-1,j-1))/dx -2*V(1,j-1)*m*(w2(i,j-1)-w2(i,j-2)-w2(i-1,j-1)+w2(i-1,j-2))/(dx*dt) -m*(V(1,j-1)-V(1,j-2))/dt*(w2(i,j-1)-w2(i-1,j-1))/dx + f(i,j) ) / (m/dt^2);     end     w2(nx,j) = 2*w2(nx,j-1)-w2(nx,j-2)+dt^2/mc*(u1(1,j-1)+d(1,j)-T*(w2(nx,j-1)-w2(nx-1,j-1))/dx-ds*(w2(nx,j-1)-w2(nx,j-2))/dt);     z_e(1,j) = (w2(nx,j)-w2(nx,j-1))/dt + k1*(w2(nx,j) - w2(nx-1,j))/dx ;     m_e(1,j) = m_e(1,j-1)+ dt*(-zeta*G(1,1)*m_e(1,j-1) + z_e(1,j)*G(1,1)*(k1*gamma*V(1,j)-gamma*V(1,j)^2-k1*lambda*L)*(w2(nx,j)-w2(nx-1,j))/dx );     mc_e(1,j) = mc_e(1,j-1)+dt*(-zeta*G(2,2)*mc_e(1,j-1)+z_e(1,j)*G(2,2)*k1*((w2(nx,j) - w2(nx-1,j) - w2(nx,j-1) + w2(nx-1,j-1))/(dx*dt)));     ds_e(1,j) = ds_e(1,j-1) +dt*(-zeta*G(3,3)*ds_e(1,j-1)+z_e(1,j)*G(3,3)*k1*(w2(nx,j) - w2(nx-1,j))/dx);     T_e(1,j) = T_e(1,j-1) +dt*(-zeta*G(4,4)*T_e(1,j-1)+z_e(1,j)*G(4,4)*(gamma-1)*(w2(nx,j)-w2(nx-1,j))/dx );     err_T = T - T_e(1,j);     err_mc = mc - mc_e(1,j);     err_m = m - m_e(1,j);     err_ds = ds - ds_e(1,j);     u1(1,j) = -d_e1(1,j-1) - ds_e(1,j)*k1*(w2(nx,j)-w2(nx-1,j))/dx -(gamma-1)*T_e(1,j)*(w2(nx,j)-w2(nx-1,j))/dx-mc_e(1,j)*k1*(w2(nx,j) -w2(nx-1,j)-w2(nx,j-1)+w2(nx-1,j-1))/(dt*dx)+m_e(1,j)*( gamma*V(1,j)^2 - k1*gamma*V(1,j) + k1*lambda*L)*(w2(nx,j)-w2(nx-1,j))/dx -k2*(w2(nx,j)-w2(nx,j-1))/dt - k1*k2*(w2(nx,j)-w2(nx-1,j))/dx;     phi_1(1,j) = phi_1(1,j-1) - dt*(k3*phi_1(1,j-1) - k3*ds*(w2(nx,j)-w2(nx,j-1))/dt - k3*T*(w2(nx,j)-w2(nx-1,j))/dx +k3*u1(1,j) + (k3)^2*mc*(w2(nx,j)-w2(nx,j-1))/dt );     d_e1(1,j) = phi_1(1,j) + k3*mc*(w2(nx,j) - w2(nx,j-1))/dt;     error_1(1,j) = d(1,j) - d_e1(1,j); end for j=1:nt/400     for i=1:nx        w2short(i,j)=w2(i,j*400);     end end w2short=[w2(:,1),w2short]; figure (2); surf(tshort,xshort,w2short); colormap('jet') ; xlabel('Time [s]','Fontsize',14); ylabel('x [m]','Fontsize',14); zlabel('w(x,t) [m]','Fontsize',14); set(gca,'YDir','reverse') figure (3); hold on subplot(2,1,1); plot(tshort,w1short(50,:),'b',tshort,w2short(50,:),':r'); title('(a)'); xlabel('Time [s]','Fontsize',14); ylabel('w(1,t) [m]','Fontsize',14); legend('uncontrolled','controlled'); box on grid on subplot(2,1,2); plot(tshort,w1short(25,:),'b',tshort,w2short(25,:),':r'); title('(b)'); xlabel('Time [s]','Fontsize',14); ylabel('w(0.5,t) [m]','Fontsize',14); legend('uncontrolled','controlled'); box on grid on hold off figure (4); plot(tshort,w2short(50,:),':r',tshort,w2short(25,:),'b'); legend('x = 1m','x = 0.5m'); xlabel('Time [s]','Fontsize',14); ylabel('w(x,t) [m]','Fontsize',14); figure(5); plot(t,d_e1,'b',t,d,'--r'); xlabel('Time [s]','Fontsize',14); ylabel('d(t) [N]','Fontsize',14); legend('estimate of disturbance','actual disturbance'); box on grid on figure(6); plot(t,u1,'b'); xlabel('Time [s]','Fontsize',14); ylabel('U(t) [N]','Fontsize',14); box on grid on

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Liu, Y., Liu, F., Mei, Y., Yao, X., Zhao, W. (2023). Stabilization of an Axially Moving Accelerated/Decelerated System via an Adaptive Boundary Control. In: Dynamic Modeling and Boundary Control of Flexible Axially Moving System. Springer, Singapore. https://doi.org/10.1007/978-981-19-6941-6_9

Download citation

Publish with us

Policies and ethics