Comparing Methods of DC Motor Control for UUVs
Abstract
:Featured Application
Abstract
1. Introduction
1.1. Literature Review
To determine the orbit of a heavenly body, without any hypothetical assumption, from observations not embracing a great period of time, and not allowing the selection with a view to the application of special methods.
1.1.1. Challenges
1.1.2. Motivation
1.1.3. Literature Gap
1.2. Developments Presented
- Validation of recently published proposal to use deterministic artificial intelligence for motor control by application to a disparate motor.
- Comparison of four disparate methods (including model-following) paralleling comparisons just published.
- Illumination of a limitations due to discretization with deterministic artificial intelligence.
2. Materials and Methods
2.1. Truth Model for Motor Dynamics
2.2. Model-Following Motor Control Design
2.3. Deterministic Artificial Intelligence Methodology
2.4. Analysis and Prediction
3. Results
3.1. Plant Parameter Estimation for Model-Following Benchmark
3.2. Adaption Using Model-Following and Various Parameter Estimation (Benchmarks)
3.3. Analysis
4. Discussion
Future Research
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A
- Algorithm A1: Recursive Least Squares
- Algorithm A2: Auto-regressive moving average
- Algorithm A3: Extended Least Squares
- Algorithm A4: Deterministic Artificial Intelligence
Algorithm A1 Recursive Least Squares |
clear all;clc; %%%%%%%%%%%%%%%%%RECURSIVE LEAST SQUARES%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rand(’seed’,1); B=[0 0.1065 0.0902];A=poly([1.1 0.8]); a1=0;a2=0;b0=0.1;b1=0.2; Am=poly([0.2+0.2j 0.2−0.2j]);Bm=[0 0.1065 0.0902]; am0=Am(1);am1=Am(2);am2=Am(3);a0=0; Rmatrix=[]; factor = 25; %create square wave for reference input maxtime=200; Uc = zeros(1,201); for i=1:length(Uc) if (mod(floor(i/20),2) == 0) Uc(i) = 1; else Uc(i) = 0; end end %Uc = [ones(1,50) -ones(1,50) ones(1,50) -ones(1,51)]; traj_Uc = zeros(1,length(Uc)); check = 1; run_next = 0; for i=1:length(Uc)-1 if (check) traj_Uc(i) = Uc(i); diff = Uc(i+1)-Uc(i); lasti = i; lastval = Uc(i); end if (diff ~= 0) check = 0; if (run_next) traj_Uc(i) = lastval + diff/2*(1+(sin(0.2*pi*(i-lasti)-pi/2))); end run_next = 1; if (traj_Uc(i) == Uc(i) && (i ~= lasti)) disp(’enter’); check = 1; run_next = 0; end end end Uc = Uc(1:200); n=4;lambda=1.0; nzeros=5;time=zeros(1,nzeros);Y=zeros(1,nzeros);Ym=zeros(1,nzeros); U=ones(1,nzeros);Uc=[ones(1,nzeros),Uc]; Noise = 1/factor*randn(1,maxtime+nzeros); P=[100 0 0 0;0 100 0 0;0 0 1 0;0 0 0 1]; THETA_hat(:,1)=[-a1 -a2 b0 b1]’;beta=[]; alpha = 0.5; gamma = 1.2; for i=1:maxtime; phi=[]; t=i+nzeros; time(t)=i; Y(t)=[-A(2) -A(3) B(2) B(3)]*[Y(t-1) Y(t-2) U(t-1) U(t-2)]’ + Noise(t-1) + Noise(t-2); Ym(t)=[-Am(2) -Am(3) Bm(2) Bm(3)]*[Ym(t-1) Ym(t-2) Uc(t-1) Uc(t-2)]’; BETA=(Am(1)+Am(2)+Am(3))/(b0+b1); beta=[beta BETA]; %RLS implementation phi=[Y(t-1) Y(t-2) U(t-1) U(t-2)]’; K=P*phi*1/(lambda+phi’*P*phi); P=P-P*phi*inv(1+phi’*P*phi)*phi’*P/lambda; %RLS-EF error(i)=Y(t)-phi’*THETA_hat(:,i); THETA_hat(:,i+1)=THETA_hat(:,i)+K*error(i); a1=-THETA_hat(1,i+1);a2=-THETA_hat(2,i+1);b0=THETA_hat(3,i+1);b1=THETA_hat(4,i+1); Af(:,i)=[1 a1 a2]’; Bf(:,i)=[b0 b1]’; % Determine R,S, & T for CONTROLLER r1=(b1/b0)+(b1^2-am1*b0*b1+am2*b0^2)*(-b1+a0*b0)/(b0*(b1^2-a1*b0*b1+a2*b0^2)); s0=b1*(a0*am1-a2-am1*a1+a1^2+am2-a1*a0)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(am1*a2-a1*a2-a0*am2+a0*a2)/(b1^2-a1*b0*b1+a2*b0^2); s1=b1*(a1*a2-am1*a2+a0*am2-a0*a2)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(a2*am2-a2^2-a0*am2*a1+a0*a2*am1)/(b1^2-a1*b0*b1+a2*b0^2); R=[1 r1];S=[s0 s1];T=BETA*[1 a0]; Rmatrix=[Rmatrix r1]; %calculate control signal U(t)=[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’; U(t)=1.3*[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’;% Arbitrarily increased to duplicate text end %store values of control, output, and theta for this estimation method plotu = [U]; ploty = [Y]; plottheta = [THETA_hat]; %%%%%%%%%%%%%%%%%%%%%%%%END OF RECURSIVE LEAST SQUARES%%%%%%%%%%%%%%%%%%%% |
Algorithm A2 Autoregressive moving average |
%%%%%%%%%%%%%%%%%%%%%%%%AUTOREGRESSIVE MOVING AVERAGE%%%%%%%%%%%%%%%%%%%%% B=[0 0.1065 0.0902];A=poly([1.1 0.8]); H=tf(B,A,0.5); a1=0;a2=0;b0=0.01;b1=0.2; Am=poly([0.2+0.2j 0.2−0.2j]);Bm=[0 0.1065 0.0902]; am0=Am(1);am1=Am(2);am2=Am(3);a0=0; Rmatrix=[]; maxtime=200; n=4;lambda=1; nzeros=5;time=zeros(1,nzeros);Y=zeros(1,nzeros);Ym=zeros(1,nzeros); U=ones(1,nzeros); THETA_hat = zeros(4,maxtime); THETA_hat(:,1)=[-a1 -a2 b0 b1]’;beta=[]; Noise = 1/factor*randn(1,maxtime+nzeros); epsilon=[zeros(1,nzeros+maxtime)]; n = 8; P=10000*eye(n);P(1,1)=1000;P(2,2)=100;P(3,3)=100;P(4,4)=10000;P(5,5)=1000;P(6,6)=100; theta_hat_els = zeros(n,1); phi=[]; for i=1:maxtime t=i+nzeros; time(t)=i; Y(t)=[-A(2) -A(3) B(2) B(3)]*[Y(t-1) Y(t-2) U(t-1) U(t-2)]’ + Noise(t-1) + Noise(t-2); %Create truth output Ym(t)=[-Am(2) -Am(3) Bm(2) Bm(3)]*[Ym(t-1) Ym(t-2) Uc(t-1) Uc(t-2)]’; BETA=(Am(1)+Am(2)+Am(3))/(b0+b1); beta=[beta BETA]; phi=[phi; Y(t-1) Y(t-2) U(t-1) U(t-2)]; if (i > 3) THETA_hat(:,i+1) = inv(phi’*phi)*phi’*Y(1+nzeros:t)’; else THETA_hat(:,i+1) = THETA_hat(:,i); end a1=-THETA_hat(1,i+1);a2=-THETA_hat(2,i+1);b0=THETA_hat(3,i+1);b1=THETA_hat(4,i+1);% Update A & B coefficients; Af(:,i)=[1 a1 a2]’; Bf(:,i)=[b0 b1]’; % Store final A and B for comparison with real A&B to generate epsilon errors % Determine R,S, & T for CONTROLLER r1=(b1/b0)+(b1^2-am1*b0*b1+am2*b0^2)*(-b1+a0*b0)/(b0*(b1^2-a1*b0*b1+a2*b0^2)); s0=b1*(a0*am1-a2-am1*a1+a1^2+am2-a1*a0)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(am1*a2-a1*a2-a0*am2+a0*a2)/(b1^2-a1*b0*b1+a2*b0^2); s1=b1*(a1*a2-am1*a2+a0*am2-a0*a2)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(a2*am2-a2^2-a0*am2*a1+a0*a2*am1)/(b1^2-a1*b0*b1+a2*b0^2); R=[1 r1];S=[s0 s1];T=BETA*[1 a0]; Rmatrix=[Rmatrix r1]; %calculate control signal U(t)=[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’; U(t)=1.3*[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’;% Arbitrarily increased to duplicate text end plotu = [plotu; U]; ploty = [ploty; Y]; plottheta = [plottheta; THETA_hat]; %%%%%%%%%%%%%%%%%%%END OF AUTOREGRESSIVE MOVING AVERAGE%%%%%%%%%%%%%%%%%%% |
Algorithm A3 Extended Least Squares |
%%%%%%%%%%%%%%%%%%EXTENDED LEAST SQUARES%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B=[0 0.1065 0.0902];A=poly([1.1 0.8]); H=tf(B,A,0.5); a1=0;a2=0;b0=0.01;b1=0.2; Am=poly([0.2+0.2j 0.2−0.2j]);Bm=[0 0.1065 0.0902]; am0=Am(1);am1=Am(2);am2=Am(3);a0=0; Rmatrix=[]; maxtime=200; n=4;lambda=1; nzeros=5;time=zeros(1,nzeros);Y=zeros(1,nzeros);Ym=zeros(1,nzeros); U=ones(1,nzeros); THETA_hat(:,1)=[-a1 -a2 b0 b1]’;beta=[];% Initialize P(to), THETA_hat(to) & Beta Noise = 1/factor*randn(1,maxtime+nzeros); epsilon=[zeros(1,nzeros+maxtime)]; n = 8; P=10000*eye(n);P(1,1)=1000;P(2,2)=100;P(3,3)=100;P(4,4)=10000;P(5,5)=1000;P(6,6)=100; theta_hat_els = zeros(n,1); for i=1:maxtime; phi=[]; t=i+nzeros; time(t)=i; Y(t)=[-A(2) -A(3) B(2) B(3)]*[Y(t-1) Y(t-2) U(t-1) U(t-2)]’ + Noise(t-1) + Noise(t-2); %Create truth output Ym(t)=[-Am(2) -Am(3) Bm(2) Bm(3)]*[Ym(t-1) Ym(t-2) Uc(t-1) Uc(t-2)]’; BETA=(Am(1)+Am(2)+Am(3))/(b0+b1); beta=[beta BETA]; k=i+nzeros; phi=[Y(t-1) Y(t-2) U(t-1) U(t-2) epsilon(t) epsilon(t-1) epsilon(t-2) epsilon(k-3)]’; K=P*phi*1/(1+phi’*P*phi); P=P-P*phi*pinv(1+phi’*P*phi)*phi’*P; error(i)=Y(k)-phi’*theta_hat_els(:,i); theta_hat_els(:,i+1)=theta_hat_els(:,i)+K*error(i); epsilon(k)=Y(k)-phi’*theta_hat_els(:,i+1); %Form Posterior Residual THETA_hat(:,i+1) = theta_hat_els(1:4,i+1); a1=-THETA_hat(1,i+1);a2=-THETA_hat(2,i+1);b0=THETA_hat(3,i+1);b1=THETA_hat(4,i+1);% Update A & B coefficients; Af(:,i)=[1 a1 a2]’; Bf(:,i)=[b0 b1]’; % Store final A and B for comparison with real A&B to generate epsilon errors r1=(b1/b0)+(b1^2-am1*b0*b1+am2*b0^2)*(-b1+a0*b0)/(b0*(b1^2-a1*b0*b1+a2*b0^2)); s0=b1*(a0*am1-a2-am1*a1+a1^2+am2-a1*a0)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(am1*a2-a1*a2-a0*am2+a0*a2)/(b1^2-a1*b0*b1+a2*b0^2); s1=b1*(a1*a2-am1*a2+a0*am2-a0*a2)/(b1^2-a1*b0*b1+a2*b0^2)+b0*(a2*am2-a2^2-a0*am2*a1+a0*a2*am1)/(b1^2-a1*b0*b1+a2*b0^2); R=[1 r1];S=[s0 s1];T=BETA*[1 a0]; Rmatrix=[Rmatrix r1]; %calculate control signal U(t)=[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’; U(t)=1.3*[T(1) T(2) -R(2) -S(1) -S(2)]*[Uc(t) Uc(t-1) U(t-1) Y(t) Y(t-1)]’;% Arbitrarily increased to duplicate text end plotu = [plotu; U]; ploty = [ploty; Y]; plottheta = [plottheta; THETA_hat]; %%%%%%%%%%%%%%%%%%%%%%%%%%END OF EXTENDED LEAST SQUARES%%%%%%%%%%%%%%%%%%% |
Algorithm A4 Deterministic Artificial Intelligence |
%%%%%%%%%%%%%%%%%%%%DETERMINISTIC AI%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B=[0 0.1065 0.0902];A=poly([1.1 0.8]); H=tf(B,A,0.5); %Convert Plant [num] and [den] to discrete transfer function Rmatrix=[]; %Create command signal, Uc based on Example 3.5 plots...square wave with 50 sec period n=4;lambda=1; % number of parameters to estimate and Exponential Forgetting Factor nzeros=5;time=zeros(1,nzeros);Y=zeros(1,nzeros);Ym=zeros(1,nzeros);%Initialize ouput vectors U=ones(1,nzeros); Noise = 1/25*randn(1,maxtime+nzeros); epsilon=[zeros(1,nzeros+maxtime)]; n = 4; phi_awr = []; ustar = []; hatvec = []; t=[0:200]; hvy_m = [zeros(1,nzeros) traj_Uc]; eb = Y(1) - hvy_m(1); err = 0; kp = 2.0; kd = 6.0; phid = []; ustar = []; hatvec = zeros(4,1); for i=1:maxtime+1; %Loop through the output data Y(t) t=i+nzeros; time(t)=i; de = err-eb; u = kp*err + kd*de; U(t-1) = u; Y(t)=[-A(2) -A(3) B(2) B(3)]*[Y(t-1) Y(t-2) U(t-1) U(t-2)]’ + Noise(t-1) + Noise(t-2); phid = [phid; Y(t) -Y(t-1) Y(t-2) -U(t-2)]; ustar = [ustar; u]; newest = phid\ustar; hatvec(:,i) = newest; eb = err; disp(t); err = hvy_m(t)-Y(t); end THETA_hat = [hatvec(2,:)./hatvec(1,:); hatvec(3,:)./hatvec(1,:); ones(1,201)./hatvec(1,:); hatvec(4,:)./hatvec(1,:)]; plotu = [plotu; U]; ploty = [ploty; Y(1:205)]; plottheta = [plottheta; THETA_hat]; %%%%%%%%%%%%%%%%%%%%%%%%%END OF DETERMINISTIC AI%%%%%%%%%%%%%%%%%%%%%%%%% |
References
- Liu, Z.; Zhuang, X.; Wang, S. Speed Control of a DC Motor using BP Neural Networks. In Proceedings of the 2003 IEEE Conference on Control Applications, Istanbul, Turkey, 25–25 June 2003; pp. 832–835. [Google Scholar]
- Mishra, M. Speed Control of DC Motor Using Novel Neural Network Configuration. Bachelor’s Thesis, National Institute of Technology, Rourkela, India, 2009. [Google Scholar]
- Hernández-Alvarado, R.; García-Valdovinos, L.G.; Salgado-Jiménez, T.; Gómez-Espinosa, A.; Fonseca-Navarro, F. Neural Network-Based Self-Tuning PID Control for Underwater Vehicles. Sensors 2016, 16, 1429. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Rashwan, A. An Indirect Self-Tuning Speed Controller Design for DC Motor Using A RLS Principle. In Proceedings of the 21st International Middle East Power Systems Conference (MEPCON), Cairo, Egypt, 17–19 December 2019; pp. 633–638. [Google Scholar]
- Sands, T. Development of deterministic artificial intelligence for unmanned underwater vehicles (UUV). J. Mar. Sci. Eng. 2020, 8, 578. [Google Scholar] [CrossRef]
- Sands, T. Control of DC Motors to Guide Unmanned Underwater Vehicles. Appl. Sci. 2021, 11, 2144. [Google Scholar] [CrossRef]
- Keller, J. Navy Eyes Unmanned Underwater Vehicle (UUV) Weapons Payloads to Stop or Disable 160-Foot Ships at Sea. 24 May 2018. Available online: https://www.militaryaerospace.com/unmanned/article/16726886/navy-eyes-unmanned-underwater-vehicle-uuv-weapons-payloads-to-stop-or-disable-160foot-ships-at-sea (accessed on 16 April 2021).
- Rees, C. Maxon Launches High Torque DC Brushless Motors. 5 May 2015. Available online: https://www.unmannedsystemstechnology.com/2015/05/maxon-launches-high-torque-dc-brushless-motors/ (accessed on 16 April 2021).
- Underwater Thruster Propeller Motor for ROV AUV. Available online: https://www.alibaba.com/product-detail/underwater-thruster-propeller-motor-for-ROV_62275939884.html (accessed on 16 April 2021).
- Gauss, C. Theoria Motus Corporum Coelestum Werke, 1809. In Theory of the Motion of the Heavenly Bodies Moving about the Sun in Conic Section; Davis, C.H., Translator; Dover: New York, NY, USA, 1963; Available online: https://doi.org/10.5962/bhl.title.19023 (accessed on 27 May 2021).
- Gauss, C. Theoria Combinationis Erroribus. 1821, 1823a, 1826. In Theory of the Combination of Observations Least Subject to Errors; Stewart, G.W., Translator; SIAM: Philadelphia, PA, USA, 1995. [Google Scholar]
- Gauss, C. Minimis Obnoxiae, Parts 1, 2, and Supplement Werke 4, l-108, ~1803–1809 Disquisitiones de elementis ellipticis Pallidis Werke 6, l–24; Reprinted by Werke: Leipzig–Berlin, 1863–1933; Cambridge University Press: Cambridge, UK, 2013; Available online: https://doi.org/10.1017/CBO9781139058247 (accessed on 27 May 2021).
- Hamel, J. Heinrich Christian Schumacher-mediator between Denmark and Germany Center of Scientific Communication in Astronomy. In Around Caspar Wessel and the Geometric Representation of Complex Numbers: Proceedings of the Wessel Symposium at the Royal Danish Academy of Sciences and Letters, Copenhagen, 11–15 August 1998; Invited Papers; Videnskabernes Selskab: Copenhagen, Denmark, 2001; pp. 99–120. Available online: http://gymarkiv.sdu.dk/MFM/kdvs/mfm%2040-49/mfm-46-2.pdf (accessed on 29 April 2021).
- Astrophysical Institute. Astronomische Nachrichten; Archived from the original on 28 June 2012; Astrophysical Institute: Potsdam, Germany, 2012; Available online: https://onlinelibrary.wiley.com/loi/15213994/year/1823 (accessed on 29 April 2021).
- Kalbfleisch, J. A Source Book of Mathematics; McGraw-Hill Book Company: New York, NY, USA, 1929; pp. 576–579. [Google Scholar]
- Legendre, A. Notes on Nouvelles Methodes pour la Determination des Orbites des Cometes; Second supplement to the third edition of Legendre (1805); Stigler; Ruger Legendre, H.A.; Walker, H.M., Translators; Courcier: Paris, France; McGraw-Hill: New York, NY, USA, 1920. Available online: https://catalogue.nla.gov.au/Record/866184 (accessed on 27 May 2021).
- Åström, K.; Wittenmark, B. On the Control of Constant but Unknown Systems. In Proceedings of the 5th IFAC World Congress, Paris, France, 12–17 June 1972. [Google Scholar]
- Åström, K.; Wittenmark, B. On self-tuning regulators. Automatica 1973, 9, 185–199. [Google Scholar] [CrossRef]
- Åström, K.; Wittenmark, B. Adaptive Control; Addison-Wesley: Boston, FL, USA, 1995; pp. 43, 48, 63–65, 331. [Google Scholar]
- Sands, T. Space System Identification Algorithms. J. Space Explor. 2018, 6, 138. [Google Scholar]
- Sands, T. Nonlinear-Adaptive Mathematical System Identification. Computation 2017, 5, 47. [Google Scholar] [CrossRef] [Green Version]
- Slotine, J.; Weiping, L.W. Applied Nonlinear Control; Prentice-Hall: London, UK, 1991; pp. 331, 365. [Google Scholar]
- Fossen, T. Comments on Hamiltonian adaptive control of spacecraft by J.J.E. Slotine and M.D. Di Benedetto. IEEE Trans. Autom. Control 1993, 38, 671–672. [Google Scholar] [CrossRef]
- Sands, T.; Kim, J.; Agrawal, B. Improved Hamiltonian Adaptive Control of spacecraft. In Proceedings of the 2009 IEEE Aerospace Conference, Big Sky, MT, USA, 7–14 March 2009; pp. 1–10. [Google Scholar] [CrossRef]
- Shorey, T.; Tijdeman, R. Exponential Diophantine Equations. In Cambridge Tracts in Mathematics; Cambridge University Press: Cambridge, UK, 1986. [Google Scholar]
- Bézout, É. Theorie Generale Des Equations Algebriques (1779); Kessinger Publishing: Whitefish, MT, USA, 2010. [Google Scholar]
- Bhau, D. Brief Notes on the Age and Authenticity of the Works of Aryabhata, Varahamihira, Brahmagupta, Bhattotpala, and Bhaskaracharya. J. R. Asiat. Soc. G. B. Irel. 1865, 1, 392–418. [Google Scholar]
- Schoukens, M.; Noël, J.P. Three Benchmarks Addressing Open Challenges in Nonlinear System Identification. In Proceedings of the 20th World Congress of the International Federation of Automatic Control, Toulouse, France, 9–14 July 2017; pp. 448–453. [Google Scholar]
- Sands, T.; Kim, J.; Agrawal, B. Spacecraft fine tracking pointing using adaptive control. In Proceedings of the 58th International Astronautical Congress, Hyderabad, India, 24–28 September 2007; International Astronautical Federation: Paris, France, 2007. [Google Scholar]
- Sands, T.; Lorenz, R. Physics-Based Automated Control of Spacecraft. In Proceedings of the AIAA Space Conference & Exposition, Pasadena, CA, USA, 14–17 September 2009. [Google Scholar]
- Sands, T.; Kim, J.J.; Agrawal, B.N. Spacecraft Adaptive Control Evaluation. In Proceedings of the Infotech@ Aerospace, Garden Grove, CA, USA, 19–21 June 2012; American Institute of Aeronautics and Astronautics: Reston, VA, USA, 2012; pp. 2012–2476. [Google Scholar]
- Smeresky, B.; Rizzo, A.; Sands, T. Optimal Learning and Self-Awareness versus PDI. Algorithms 2020, 13, 23. [Google Scholar] [CrossRef] [Green Version]
- Guida, D.; Nilvetti, F.; Pappalardo, C.M. Parameter Identification of a Two Degrees of Freedom Mechanical System. Int. J. Mech. 2009, 3, 23–30. [Google Scholar]
- Guida, D.; Pappalardo, C.M. Sommerfeld and Mass Parameter Identification of Lubricated Journal Bearing. WSEAS Trans. Appl. Theor. Mech. 2009, 4, 205–214. [Google Scholar]
- Heidlauf, P.; Cooper, M. Nonlinear Lyapunov Control Improved by an Extended Least Squares Adaptive Feed Forward Controller and Enhanced Luenberger Observer. In Proceedings of the International Conference and Exhibition on Mechanical & Aerospace Engineering, Las Vegas, NV, USA, 2–4 October 2017. [Google Scholar]
- Baker, K.; Cooper, M.; Heidlauf, P.; Sands, T. Autonomous Trajectory Generation for Deterministic Artificial Intelligence. Electr. Electron. Eng. 2018, 8, 59–68. [Google Scholar] [CrossRef]
- Sands, T. Comparison and Interpretation Methods for Predictive Control of Mechanics. Algorithms 2019, 12, 232. [Google Scholar] [CrossRef] [Green Version]
- Marusak, P.M. Numerically Efficient Fuzzy MPC Algorithm with Advanced Generation of Prediction—Application to a Chemical Reactor. Algorithms 2020, 13, 143. [Google Scholar] [CrossRef]
- Marusak, P.M. Advanced Construction of the Dynamic Matrix in Numerically Efficient Fuzzy MPC Algorithms. Algorithms 2021, 14, 25. [Google Scholar] [CrossRef]
- Nebeluk, R.; Ławryńczuk, M. Tuning of Multivariable Model Predictive Control for Industrial Tasks. Algorithms 2021, 14, 10. [Google Scholar] [CrossRef]
- Pappalardo, C.; Guida, D. On the dynamics and control of underactuated nonholonomic mechanical systems and applications to mobile robots. Arch. Appl. Mech. 2019, 89, 669. [Google Scholar] [CrossRef]
- Pappalardo, C.M.; Guida, D. System Identification Algorithm for Computing the Modal Parameters of Linear Mechanical Systems. Machines 2018, 6, 12. [Google Scholar] [CrossRef] [Green Version]
- Bruzzone, L.; Fanghella, P.; Baggetta, M. Experimental Assessment of Fractional-Order PDD1/2 Control of a Brushless DC Motor with Inertial Load. Actuators 2020, 9, 13. [Google Scholar] [CrossRef] [Green Version]
Estimated Parameter | True Value | RLS | ELS | Batch LS |
---|---|---|---|---|
a1 | 1.9000 | 0.011/0.007 | 0.012/0.005 | 0.025/0.004 |
a2 | −0.8800 | 0.020/0.009 | 0.020/0.002 | 0.021/0.003 |
b0 | 0.1065 | 0.002/0.001 | 0.0005/0.0002 | 0.001/0.001 |
b1 | 0.0902 | 0.003/0.002 | 0.0004/0.0002 | 0.001/0.0007 |
Model F. w/RLS | Model F. w/ELS | Model F. w/Batch LS | Deterministic Artificial Intelligence |
---|---|---|---|
0.149/0.247 | 0.147/0.224 | 0.159/0.245 | 0.224/0.288 |
Direct STR | Indirect STR: No Zero Cancellation | Indirect STR: Zero Cancellation | Deterministic Artificial Intelligence |
---|---|---|---|
−0.35445/2.9984 | 23.2272/109.7158 | 0.023531/0.58929 | −0.012239/0.1895 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Shah, R.; Sands, T. Comparing Methods of DC Motor Control for UUVs. Appl. Sci. 2021, 11, 4972. https://doi.org/10.3390/app11114972
Shah R, Sands T. Comparing Methods of DC Motor Control for UUVs. Applied Sciences. 2021; 11(11):4972. https://doi.org/10.3390/app11114972
Chicago/Turabian StyleShah, Rohan, and Timothy Sands. 2021. "Comparing Methods of DC Motor Control for UUVs" Applied Sciences 11, no. 11: 4972. https://doi.org/10.3390/app11114972
APA StyleShah, R., & Sands, T. (2021). Comparing Methods of DC Motor Control for UUVs. Applied Sciences, 11(11), 4972. https://doi.org/10.3390/app11114972