Proceedings of the 999 EEE International Conference on Robotics & Automation Detroit, Michigan May 999 Experimental Study on Adaptive Control of Underwater Robots J. Yuh, Jing Nie, and C.S.G. Lee* Autonomous Systems Laboratory, University of Hawaii Honolulu, HI 968, USA *School of Electrical & Computer Engineering Purdue University, West Lafayette, 7907, USA ABSTRACT The control of underwater robots presents a number of unique and formidable challenges. Underwater robot dynamics are highly nonlinear, coupled, and timevarying, and subject to hydrodynamic uncertainties and external disturbances such as current. Unlike land mobile robots, underwater robots cannot use GPS (Global Positioning System). Most popular underwater positioning sensors are sonar-based, such as long-base line (LBL). However, autonomous processing of sonar measurements is plagued by noise, drop-outs, missed detection, false reading, poor resolution, etc. This paper presents a new adaptive control of underwater robots with sonar-based position measurements. Experimental results show robustness of the control system in the presence of unmodelled dynamics and various noise.. INTRODUCTION Several advanced controllers for underwater robots have been proposed in the literature. Among them are sliding mode control [ -3, neural network based control [], fuzzy logic control [SI, hybrid adaptive control [6], to name a few. Jose et al. [l] presented an adaptive control scheme for dynamic positioning of remotely operated vehicles based on a control algorithm called Variable Structure Model-Reference Adaptive Control (VS-MRAC). In this scheme, each degree of freedom of interest is controlled by a single loop VS-MRAC controller. Healey and Lienard [] used the sliding mode methods for the control of underwater vehicle and separated the system into non-interacting (or lightly interacting) subsystems grouping certain key motion equations together for the separate functions of steering, diving, and speed control. The design and testing of the flight control system of an advanced unmanned underwater vehicle (UUV) also using sliding mode methods with several single-input single-output (SISO) controllers was presented in [3]. Ishii et al. [] proposed a neural network based control system called "Self- Organizing Neural-Net-Controller System" (SONCS) for autonomous underwater vehicles (AUV) and examined its effectiveness through the application to the heading keeping control of an AUV called "Twin-Burger." In their study, a quick adaptation method of the controller called "Imaginary Training" was used to improve the time-consuming adaptation process of SONCS. A simple -rule fuzzy logic controller was developed and simulated for the depth control of an UUV in DeBitetto's study []. In the hybrid adaptive control (suggesting that the procedure is a mixture of continuous and discrete operations) of AUV done by Tabaii et al. [6], the system was simulated in the continuous domain while the control and identification section were discrete. In this study, a new adaptive control scheme for underwater robots was developed and experimentally implemented on ODIN (Omni-directional Intelligent Navigator) (Fig. ). ODIN is a 6 degrees-of-freedom, autonomous underwater robot with 8 thrusters; various navigation sensors such as sonars, a pressure sensor, and an inertial navigation system; and an on-board CPU with VxWorks OS in VMEbus. Its detailed description is available at http://www.eng.hawaii.edu /-asvodm.html and ref. [7]. The presented control scheme is different from conventional adaptive control schemes in that it estimates a set of combinations of unknown bounded constants of system parameter matrices rather than each parameter. And also the presented adaptive law adjusts the controller gains based on the performance of the system instead of the knowledge of the dynamic model. Its computational requirement does not depend on the number of unknown system parameters. Therefore, the presented adaptive control system is structurally simple and computationally efficient. The stability analysis by Lyapunov method proves that the tracking error can asymptotically converge to zero. Results from wet experiments show that the controller can achieve high-performance trajectory tracking in the presence of model uncertainties, measurement noises, and external disturbances.. NAVIGATION AND CONTROL Figure shows a general overview of the underwater robot or vehicle's navigation and control systems. The tasklmotion planning and trajectory generator modules provide the desired vehicle position as a fimction of time. The controller then computes desired vehicle forceltorque, by comparing the desired vehicle position and the current position estimate based on the sensor 0-7803-80-0-/99 $0.00 0 999 IEEE 393
measurements. The corresponding value of each thruster force to provide the desired vehicle forceltorque is computed using a thruster control matrix (TCM). TCM's elements are geometry dependent and can be obtained for each vehicle in advance. Then, the desired input voltage to each thruster driver can be computed by using a thruster model. Input to the thruster model is the input voltage to the thruster driver and its output is the thruster force. A thruster system has highly nonlinear dynamics. Therefore, a simple thruster static model (TSM) is often used to compute the desired input voltage to each thruster driver, assuming that a time constant of the thruster system is much smaller than a time constant of the overall control system. In this study, a simple linear TSM of ODIN, which was experimentally obtained, was used. A pressure sensor was used to measure its position in z and its velocity was estimated by Kalman filter. Eight sector sonars on ODIN were used to determine its position in x and y coordinates defined in a water tank. As shown in figure, their raw measurements were processed through the pre-processing filter to get rid of false reading; the function filter to estimate x and y position with INS outputs; and the Kalman filter to estimate velocities in x and y. These estimates were used in control system. As this paper focuses on the control system, detailed description of the navigation system is omitted here. Detailed information about the navigation systems and filters used on ODIN is available in ref. [SI. Figure 3 a, b & c show effectiveness of the navigation system with three filters shown in figure : Fig. 3-a shows input signals to the navigation system, which are raw data of one sonar with lots of false readings and noise; Fig. 3-b & c show output of the navigation system, which are position and velocity estimates of the Kalman filter, respectively. 3. ADAPTIVE CONTROL SYSTEM The presented control system is based on the adaptive control with bound estimation developed by Yuh (Yuh [9], Choi & Yuh [lo]). In general, underwater vehicles can be represented by the following vector equation: where M, = M, +MA, C,(v) = C, +CA, M,= rigid body inertia matrix, MA = added inertia matrix; C,(v) = rigid body Coriolis and centripetal matrix, CA (v) = hydrodynamic Coriolis and centripetal matrix, D,(v) = hydrodynamic damping and lift matrix, g,(q)= gravitational forces and moments vector, T,= control inputs (forces and moments) vector, v = vehicle frame state vector, q= fixed frame state vector, and J= transformation matrix between vehicle and fixed frames. It can also be written in earth-fixed coordinates as follows: Mii+C(v,ll)-ii+D(v,ll)i+g(lll)+ud = (3) where M(q) = J-~M,J-', C(V,~) = J-T[Cv(~) -M,J-'J]J-' D(v, q) = J-TDv(V)J-', g(q) = J-Tg, (q) and Ud represents a class of modeled effects which are bounded by () where di, i=o,, are positive constants and the tracking error vector e is defined as e=qd-q () where T)d is a desired value of q. The system matrices of the vehicle are assumed to be bounded as llm-'llsa, IIMII~PI? IIC+DIIsp,, II gll P3, L-W') ) Y (6) where a,p,, and are positive constants. Instead of mathematically proving (6), we will present how to estimate e.= a(pi +di-3) i =,..., (7) I Y where p = ps =E, E is a positive constant, and d, = o for a (i- 3) < 0. Consider the following control law: r=kliid+kzi+k,+ke+kse=cki@, (8) where = qd, CD, = i, C D ~ = K, a positive constant vector, (D = e, = e, and K~ are control gain matrices. From Eqs. (3) and (8), the error equation can be obtained as follows e = M-'(M - Kl)iid + M-'(C + D - K,)il+ M-'(g - K3) (9) +M-'ud -M-'K,e-M-'K,e =M-'k(P, -Kl)CD, +M-'ud where P' =M, P, =c+d,p, =g,p, =ps =o. Theorem: The tracking error e will asymptotically converge to zero with the following adaptive controller: where f are positive constants, Gi are estimates of ei, and e =e+oe where ois a positive constant. - () 39
Prooj Consider the following Lyapunov function candidate: v = ZTZ + L c f;'y(q - iji$ (3) Differentiating Eq. 3 along Eq. 9 with respect to time yields V=i&+&Te-~py(q -bigi = [ZT(M-l&'i@i +M-'ud)+G*e- iflfli6i With the adaptive controller (lo), () and equation in the first bracket of () becomes and the equation in the second bracket becomes 'I the From ( ), ( ), and ( 6), we can conclude that v < o for all F # O. Therefore, the tracking error e will asymptotically go to zero from Eq. 0. The adaptive controller is described by (8), (0) and ( ). However, the direct use of the controller of (0) would generate large control input signals at near zero value of denominator. To avoid this problem, the following modified controller is used: (7) where i =,..., and 6, is a positive constant. The modified controller (7) may not guarantee the asymptotic stability but tracking errors are bounded by small numbers depending on 6i. To reduce the error, a term k,jedt is added to (S), where k, is a small constant.. INFLUENCE OF CONTROL PARAMETERS There are four parameters that affect the performance of the adaptive controller: adaptation gain (f) in Eq. ( l), sigma (0) in Eq. (), threshold ( 6 ) in Eq. (7), and I- control gain (k,) discussed at the end of previous section. One can notice the following. Sigma affects the time constant of the overall control system. The adaptation gain f affects the adaptation period. Appropriate values of the threshold 6 would keep the denominator in Eq. 7 from becoming the near zero value that may cause high gain values and large control signals beyond saturation limits. Appropriate small values of the I-control gain k,would help reduce the steady state errors due to 6 while it does not affect the overall stability. Effects of these parameters were investigated by experiments on ODIN. ODIN's desired path has three segments. Segment : ODIN moves downward from the surface with the position control in z direction only. Segment : then move ODIN in y direction with position control in all 6 dof (tracking in y and regulation in x, z, pitch, roll, and yaw motion). Segment 3: then move ODIN in x direction with position control in all 6 dof (tracking in x and regulation in y, z, pitch, roll, and yaw motion). The desired trajectory for each segment (z, y, and x) of the path was generated using a trapezoidal velocity profile. Since there was no position control in x and y during segment, ODIN was usually away from the desired location in x and y after segment. As can be seen from experimental results in Figs. -6, ODIN tried to move to the desired x and y location (.m,.m) as soon as ODIN started segment with control in all 6 dof During experiments, all control gains were initially set to zero. Case I: Effect of (3 was tested with three different values of (T =, and 3. The same values of (f, 6, ki)=(o.9,,o.0os) were used for each 0. It can be seen from figure that the tracking in the x-y plane is much better when sigma = (fig. -b) than when sigma = (fig. -a). However, when sigma increases to sigma = 3, the performance degrades. This is because when sigma is too large, it leads to very large voltage input thus hit the saturation limit of the motor. Oscillation is observed in fig. -c. Case : Effect off was tested with three different values of f = 0., 0., and 0.9. The same values of (0,6, k,)=(,,0.008) were used for each f. Figure shows that the performance gets better when adaptation gain f increases from f = 0. (fig. -a) to f = 0. (fig. -b) and to f = 0.9 (fig. -c). Case 3: Effect of 6 was tested with three different values of 6 =, 60, and 6. The same values of (0, f, k,)=(,0.9,0.008) were used for each 6. As shown in figure 6, tested values of 6 provide almost same 39
performance even though it was observed during the wet experiment that 6 =O caused instability of the system. Case : During wet tests to investigate effect of k,, the following values for other parameters were used: ((T, f, S)=(,0.9,). The influence of I-control gain k, is shown in figure 7. It was observed in earlier tests that almost no steady state error in x, y and other angles with or without k, but large steady state errors in z direction without k,. Therefore, k, was used only for z direction. It can be seen from Figure 7 that the steady state errors are reduced significantly with k, = 0.008 (fig. 7-b) compared to steady state errors with k, = 0 in (fig. 7-a).. CONCLUSIONS This paper describes a new MIMO adaptive controller using bound estimation for underwater robots and presents experimental results of the control system on ODIN. Results show that the control system does not require any prior information about the system dynamics and yet can provide high performance in the presence of noise and unmodelled dynamics. Even though a very simple static thruster model was used as part of the control system, the adaptive controller could still provide good performance. No information about the ODIN s hydrodynamics was required in the adaptive controller design, yet it could still provide good performance. One may argue that the presented adaptive controller should have been compared to other conventional controllers. However, any conventional linear controller with zero gains or poorly tuned gains cannot provide good performance and it may even result in instability while the presented adaptive control performs well with gains initially set to zero. Fine-tuning of PID-type controller gains for the underwater robot system is very difficult if not impossible. Based on a theoretical model and experimental results, ODIN s dynamic model was obtained and computer simulator software for ODIN, OdinSim was also developed in Matlab as well as in C language, including all modules shown in Fig.. Future research will be on integration of a GA-based motion planner [ with the presented navigation and control system and its implementation on ODIN. ACKNOWLEDGEMENT This research was sponsored in part by the NSF I M Award (BES9-7896), in part by NSF (BES97-06), in part by ONR (NOOO-97--096), in part by SNU ERC-ACI, and in part by a grant agreement (NA36RG0007) from NOAA of the Dept. of Commerce (RES-). The views expressed herein are those of the authors and do not necessarily reflect the views of funding agencies. UNIHI-SEAGRANT-CP-99-77. REFERENCES [l] Cunha, J. P. et al. (99) Design of a High Performance Variable Structure Position Control of ROV s. IEEE J. of Oceanic Engineering, Vol. 0, No., pp. -. [] Healey, A. J. and Lienard, D. (993) Multivariable Sliding Mode Control for Autonomous Diving and Steering of Unmanned Underwater Vehicles. IEEE Journal of Oceanic Engineering, Vol. 8, No. 3, pp. 37-339. [3] Dougherty, F. et al. (990) At-Sea testing of an Unmanned Underwaer Vehicle Flight control System. Proceedings of Sym. of Autonomous underwater Vehicle Technology, pp. 6-73. [] Ishii, K. et al. (99) A Quick Adaptation Method in a Neural Network Based Control System for AWs. Proceedings of Sym. of Autonomous Underwater Vehicle Technology, pp. 69-7. [] DeBitetto, P. A. (99) Fuzzy Logic for Depth Control of Unmanned Undersea Vehicles. Proceedings of Sym. of Autonomous Underwater Vehicle Technology, pp. 33-. [6] Tabaii, S. S. et al. (99) Hybrid Adaptive Control of Autonomous Underwater Vehicle. Proceedings of Sym. of AW Technology, pp. 7-8. [7] Kawaguchi, K. et al. (996) Design of an Autonomous Underwater Robot: ODIN. World Automation Congress, Montpellier, France, May. [SI Nie, J. et al. (998) On-Board Sensor-based Adaptive Control of Small UUVs in Very Shallow Water, ZFAC CAM 98, Fukuoka, Japan, Oct. [9] Yuh, J. (996) An Adaptive and Learning Control System for Underwater Robots. 3th World Congress IFAC, San Francisco, CA, June 996, A, -0. [lo]choi, S. K. and J. Yuh. (996) Experimental Study on a Learning Control System with Bound Estimation for Underwater Robots. Int l J. of Autonomous Robots, 3 ( & 3), 87-9. [lllsugihara, K. and J. Yuh (998) GA-based motion planning for underwater robotic vehicles. Proceedings of the 0th Int l Symp. on Unmanned Untethered Submersible Technology (UUST-IO), Durham, NH, September, 06-. Fig. : ODIN (Omni-directional Intelligent Navigator) 396
TasWmotion planning &Trajectory Generator j / / I / *...... :.: I...,..,... I. " ~.. j j.. j! j Controller (TSM).l : ;. i s : + Thruster + i i f I j. i. j System : / / j./ :. :.... / i j i A i i I i j I Figure. Block diagram of navigation and control system. f e e 0.8 0.0 0. - 3 O.: -..a.8 : 0 0 0 0 w 0 w m 0 0 w 0 Pp 0 0 0 00 0 00 0 UmD Ircl ui* (- UmDtrcl Figure. 3 (a) Unfiltered sonar signal, (b) Position from Kalman filter, (c) Velocity from Kalman filter.! 3 s x n W 3 8 =m U Figure. Influence of control parameter sigma. (a) sigma =, (b) sigma =, (c) sigma=3. 397
6._ E 3 8.I n 3 6 X I n Figure. Influence of control parameter f. (a) H., (b) 60., (c)=0.9. f 3 6.I w 3 8.I m Figure 6. Influence of control parameter threshold. (a) threshold=, (b) threshold=60, (c) threshold=6... - - p. p. N l N l 0. 0. 0 0 0 90 3 80 70 3 360 0 90 3 80 70 3 360 Time (sec) Time (sec) (a) (b) Figure 7. Influence of control parameter k, in z direction. (a) k, =0, (b) k, = 0.008. - Desired trajectory, -- Actual trajectory. 398