Depth Control for Micro-Autonomous Underwater Vehicles (μAUVs): Simulation and Experimentation

Swarms of micro-autonomous underwater vehicles (μAUVs) are an attractive solution to the problem of nuclear storage pond monitoring. Independent movement in the horizontal and vertical planes is necessary to maximize manoeuvrability. This paper presents a comparison of different control strategies for independent depth control using both simulations and real experimental results. PID, sliding mode and a simplification of sliding mode (called ‘bounded PD’) are simulated using a MATLAB/SIMULINK model and are then compared to experimental results obtained when the controllers were implemented on a prototype μAUV.


Introduction
In 2006, 276,000 metric tons of heavy metal waste were produced by nuclear reactors, with that figure increasing by approximately 4% a year [1]. Around 61% of the waste is stored in wet storage facilities [2].
Radioactive waste is stored in water-filled ponds to facilitate heat removal and to act as a biological shield. To maintain the viability of the storage ponds, a number of parameters have to be measured. If the water quality is not kept consistent, the fuel cladding integrity can be reduced over time.
Storage ponds can be split into one of two categories: modern or legacy. Modern ponds are well organized and there are detailed records of the contents [3]. Legacy ponds date from the origins of the nuclear power industry and can be up to 50 years old. In some cases, the records of the contents of the ponds are incomplete [4].
For both types of storage ponds, obtaining a high spatial and temporal resolution of measurements is difficult. A solution to this problem has been proposed in [5], which uses a swarm of micro-autonomous underwater vehicles (µAUVs) to explore and monitor the ponds.
The µAUVs are highly manoeuvrable, allowing them to explore confined spaces. They could be used in modern facilities to improve monitoring capabilities and identify leaks from canisters [6], or in legacy ponds to map the contents and aid in the real-time removal of the waste.
Several prototype vehicles have been constructed [7] and are being used to investigate low-level control strategies. This paper presents work conducted on the development of a controller for the independent control of vertical motion in the form of simulations and experimental results.
The experiments reported in this paper were conducted in a water tank with the dimensions 2 m x 1 m x 1 m.
The paper is organized as follows: Section 2 provides an overview of the prototype vehicle. Section 3 outlines the simulation model while Section 4 provides a summary of the control strategies investigated. Sections 5, 6 and 7 detail the simulations and experiments conducted with different types of controller. Section 8 draws conclusions.

Prototype Vehicle Design
The latest prototype vehicle (the MK VI) is shown in Figure 1 [7]. It is spherical in shape with a hull diameter of 150 mm. There are six propeller-based thruster units mounted around the equator providing four degrees of freedom (DOF): surge, sway, heave and yaw [8].
The vehicle has a sensor suite consisting of a pressure sensor (depth), a rate gyroscope (angular velocity) and a digital compass (angular position). An acoustic positioning system (APS) is currently under development and will provide horizontal position estimates. The motors and sensors are controlled by a custom-built embedded system which uses three microcontrollers. Sensor readings and control outputs can be stored in flash memory on one of the microcontrollers and uploaded to a PC via a USART connection for further analysis. The vehicle is powered by a 7.5 V Li-Ion battery.

Experimental Set-up
As stated in Section 1, the experiments presented in this paper were conducted in a 2 m x 1 m x 1 m tank (length, width, depth). The vehicle was placed in the middle of the tank so that the chance of colliding with the side due to unwanted horizontal motion was reduced.
Two methods were used to improve confidence in the validity of the results obtained: sensor calibration and manual checks. Prior to the experiments, the vehicle was manually moved to pre-defined depths and the output of the pressure sensor was recorded. During the experiments, a ruler was placed into the water to confirm the actual depth. Both of these methods agreed with the final results.

Simulation Model
This paper is only concerned with the development of control systems for motion in the vertical plane. Details of the controllers developed for horizontal motion can be found in [7].
The model for the heave DOF is given in Equation 1. mt is the total mass (including added mass), dt is the drag factor [9], mi is the imbalanced mass, g is the gravitational constant, τ is the thrust force and ν is the velocity in the body-fixed coordinate frame.
The heave DOF is open-loop unstable due to the imbalanced mass force, � � �. This represents the buoyancy of the vehicle. If the vehicle is positively buoyant, it will rise to the surface if the motors are turned off. If it is negatively buoyant, it will sink to the bottom.
Analysis of Equation 1 shows that for the vehicle to be stable, the control system must ensure that |�| � |� � �| for � � �.
The vehicle was made positively buoyant so that if the battery failed, it would rise to the surface. This means that the thrusters have to be permanently turned on to allow the vehicle to maintain a given depth.
Two thrusters provided force in the vertical plane; however, they were modelled as a single point force acting through the centre of the vehicle. This model was acceptable due to the vehicle's ballasting.
The vehicle was ballasted in such a way that movement in roll and pitch could not occur. The vehicle's centre of gravity was below the geometric centre of the vehicle and calculations suggest that a thrust force of around 11 N would be required to move the vehicle in roll or pitch.
The thrust output of each motor is approximately 40 mN, meaning that this could never occur.
The actuator saturation was modelled by the inequality in Equation 2 . The values of F and mi were difficult to estimate and were therefore classed as free parameters. When analysing the experimental data and comparing it with the simulations, these parameters were used to tune the simulation. (2) The model was simulated in the MATLAB/SIMULINK environment. The equation of motion was solved using a discrete time solver with a period of 0.1 s. This represented the achievable sampling period on the vehicle's embedded system.

Control Strategies
Control tasks can be split into two categories: regulation (or stabilization) and tracking (servo-control) [10]. Regulation tasks require the system to stabilize around an equilibrium point -for example, the temperature control in an oven or the altitude control of an aircraft. Tracking tasks require the output of the system to track a timevarying trajectory, such as a robotic car following a specific path.
From these definitions, it can be seen that the control problem can be viewed as either one of stabilization or one of tracking, depending on the mission requirements. For example, if the vehicle is required to move to a specific position and take a measurement reading, this is regulation problem. Alternatively, if the vehicle is navigating through a cluttered environment on a given trajectory, it is a tracking problem.
There are many different types of controllers which have been used for unmanned underwater vehicles (UUVs). The most widely used are proportional integral derivative (PID), sliding mode and adaptive controllers, or variations of them. Table 1 in the Appendix shows a list of the UUVs which use these controllers. These three account for approximately 90% of the implemented controllers identified.
There are, however, many other control strategies which have been successfully implemented on AUVs (a list of them can be seen in Table 2 in the Appendix). In total, Tables 1 and 2 cover 56 different AUV/controller combinations, which represent a large section of the research-based AUV field. Details of the control systems for commercial AUVs are not widely available. Of the 56 listed, only 19 have been fully implemented and tested on a UUV. There are several reasons behind this disparity.
Firstly, many of the controllers have been designed purely in simulation, and have not tested in the real world because the hardware is not available. Secondly, the difference between the simulated environment and the real world may be sufficient to cause the controller not to work or else the project may have finished before the controller could be fully implemented, tested and published. Table 1 in the Appendix identifies 10 UUVs which have successfully implemented a PID controller. Of these 10 vehicles, performance data have not been published for five of them (SPARUS, REMUS, ORCA, Ictineu and ARCS). However, the apparent success of the vehicles suggests that the performance was acceptable.

Review of UUV PID Implementations
Experimental data for the other five vehicles were available and all but one of them saw, in general, good performance. The KwaZulu Natal AUV [11] used PID control for all DOF. The depth controller provided a response which oscillated in steady-state (SS) with an amplitude of 0.2 m and a frequency of 0.1 Hz. The heading controller oscillated in SS; however, the amplitude and frequency were not constant. The horizontal control system had an accuracy of less than 0.5 m.
The OBERON AUV [12] used PID controllers for depth/altitude. The vehicle mission presented was to stay at a fixed height above the sea floor (1.5 m). The vehicle was able to do this with a standard deviation of 0.2 m. It is interesting to note that OBERON was positively buoyant and that the thrusters were permanently turned on to overcome this.
ODIN [13] was used as a test bed for controller development for many years and several forms of PID controller were implemented on it. A manually tuned PID controller provided adequate performance; however, an adaptive tuning algorithm was developed to overcome PID performance degradations caused by disturbances.
The THETIS AUV [14] used a PI controller with an antiwind-up compensator. The parameters were manually tuned and, from the published results, the best results had an overshoot of approximately 2.5 cm with slight oscillations in SS.
The final vehicle, Subjugator [15], suffered from poor performance when there was noise or disturbance. A sliding mode controller was used in place of the PID controller.

Review of UUV Sliding Mode Implementations
Three vehicles implemented a traditional sliding mode controller: Benthos RPV-430 [16], the Hamburg ROV [17] and Subjugator [15]. The Benthos RPV-430 was the first AUV to use sliding mode and the performance of the controller was concluded to be good. The parameter uncertainties for the model were 50%.
The Hamburg ROV's implementation was successful; however, there was an approximately 5 cm overshoot on the initial set-point and minor oscillations in SS. When implemented on the Subjugator AUV, the control strategy performed acceptably in the presence of parameter uncertainties.

Control Review Summary
This section has shown that the most popular implemented control strategy for UUVs is the PID controller. Sliding mode and adaptive controllers have also been implemented when better performance has been required or when there have been large uncertainties in the model.
Given the success rate of PID implementations and the lack of implementation data for custom, specialist controllers, it is logical to start with a PID controller for this vehicle. The novelty comes not from the type of controller being used, but the effects of the vehicle it is being implemented on in terms of low-cost, low-tolerance components and limited computational power.

PID Control
The PID controller is the most common type of control system in use, accounting for around 90% of industrial controllers [18]. The name of the controller is an acronym for its constituent components: proportional (P), integral (I) and derivative (D).
PID controllers are mainly used for linear time invariant (LTI) Single Input Single Output SISO systems and are therefore usually expressed in the form of a transfer function (TF) in the Laplace domain. Many different structures are used, although the most common are the ideal and parallel forms [19]. For the purpose of this work, the parallel form was used (Equation 3) due to its flexibility. To provide increased tuning flexibility, the integral and derivative gains were separated from the time constants. (3) Kx are the individual component gains and Tx are the component time constants. γ is the derivative gain.
A PIDγ controller had previously been successfully implemented on an earlier prototype vehicle (the MK V) [20]. The differences between the MK V implementation and the MK VI implementation were the operating frequency and the use of floating-point arithmetic instead of fixed-point.
The PIDγ controller shown in Equation 3 was discretized using the Tustin approximation and a derived difference equation, suitable for implementation in the C programming language. The full derivation of the implemented difference equation can be found in [21].
A first-order low-pass filter was also added to mitigate the effects of the derivative term amplifying the highfrequency components of the measurement noise. For the simulation, mt was set to 2.6505 Kg and dt to 66.44 Kgm -1 . Originally, dt was based on the drag factor of a perfect sphere; however, as shown in Figure 1, the vehicle has a collar around the equator which increases the drag. The drag factor was tuned by comparing experimental data from a number of tests.
The imbalanced mass was tuned to 1 g and the total thrust forces to and (the motors are mounted such that is the force provided upwards). Figure 2 shows that the simulation and the experiment match quite well. Gaussian measurement noise with a variance of 2.8 x 10 -5 m 2 was added to the simulation to represent the errors produced by the pressure sensor. This value was obtained through statistical analysis of the pressure sensor data.

Figure 2. Comparison of Simulation and Experimental Results for a PIDγ Controller
It can be seen that the rise time is approximately 40 s and that there are some oscillations in the SS. There is also a SS error of approximately 10 mm, which is caused by the buoyancy of the vehicle [8].
The SS error could be eliminated by adding a compensation term to the controller. This would require accurate knowledge of the imbalanced mass, which in this scenario is not possible. An adaptive term could be added which automatically compensates; however, that is a topic of future research.

Sliding Mode Control
The sliding mode controller (SMC) is a more robust control strategy which is well suited to dealing with disturbances and unmodelled dynamics [10].
Equation 4 shows the basic form of the SMC controller. u is the control output, � � is the continuous control law estimate, K is the gain and s is the sliding surface. To reduce the effects of chattering, a saturation function is used instead of a sign function [10].
u is the control output, � � is the estimated mass, � is the gradient of the sliding surface, � � is the drag factor estimate, K is the switching gain, s is the sliding surface, � is the boundary thickness and � is the switching gain constant.
The thrust forces used in the simulation shown in Figure 3 were based on tuned experimental data from modified SMC experiments. A simulation using the same thrust forces as used in the PID experiments is shown in Figure 16 in the Appendix. It can be seen that the response profile is the same, although the rise time is quicker.
The response shown in Figure 3 is much better than the response of the PIDγ controller in Figure 2. There is a SS error, however, caused by a combination of the imbalanced mass [8] and the lack of integral action [22]. Increasing the size of the parameter uncertainty to 50% had no noticeable effect on performance.  To achieve the performance shown in Figure 3, a very small value of boundary thickness ( ) was used. This has the effect of frequently switching the thrust output between the minimum and maximum values, as shown in Figure 5. This is similar to the chattering effect observed when sign functions are used instead of saturation functions [10]. Based on the power consumption of the thrusters, the total energy consumed was estimated to be approximately 8 J.
If the boundary layer thickness is increased, the size of the different terms becomes nearly equal, as shown in Figure 7. In this simulation, the boundary thickness was increased to 0.4. The effect of this is to reduce the amount of thrust required (shown in Figure 8); however, the SS error increases (shown in Figure 6). The energy consumption estimate for the boundary thickness of 0.4 was approximately 4.7 J.
Another factor which has to be considered is the effect of different imbalanced masses. As discussed in Section 2, the vehicle was made positively buoyant to aid recovery should the power supply or thrusters fail.
Unfortunately, ballasting the vehicle accurately during the experiments was found to be very difficult. Moreover, during some of the experiments, the hull leaked and the vehicle's buoyancy changed from positive to negative. Imbalanced masses of up to 3 g have been estimated.  The conclusion which can be drawn is that, for this scenario, there is a trade-off between energy consumption and performance. The purpose of the vehicle is to take measurements at a relatively fine spatial resolution; therefore, the controller with the better performance was chosen for implementation. This decision may be revisited at a later date. This means that the boundary thickness of the SMC is relatively small and the differences in magnitude between the individual components of the SMC are quite large.

Simplification of the SMC
Having made the decision to use a thin boundary layer, it is of interest to investigate the effects of removing the continuous control law from the SMC. As Figure 4 showed, the continuous law output was an order of magnitude smaller than the sliding surface output.
The new control law is shown in Equation 6. It can be seen that the removal of the model uncertainty component simplifies the controller to a PD control law which is bounded.
(6) Figure 11 shows a comparison of the new bounded PD controller and the full SMC. It can be seen that the responses are almost identical. The parameters of the bounded PD controller were the same as the SMC but with the gain, K, set to 1.
The decision was therefore made to perform experiments with the bounded PD controller rather than the SMC.

Bounded PD Controller
The bounded PD controller (described by Equation 7 in Section 7.1) was implemented on the MK VI prototype vehicle and the response to a step input is shown in Figure 12.
It can be seen that the response is less oscillatory than the PIDγ controller in Figure 2. The SS error is approximately 20 mm and caused by the positive buoyancy. This experiment was repeated a number of times with similar results.
At this point, it should be noted that the bounded PD controller requires both position and velocity errors as inputs, unlike the PIDγ controller which only required position errors.
A Kalman filter was implemented to obtain accurate velocity estimates, as only position was directly measured. The response with the Kalman filter is shown in Figure 12 and the response without it is shown in Figure 13.  An experiment was conducted to try and obtain a direct comparison of the SS response between the bounded PD controller and the PIDγ controller. A bounded PD controller was used to move the vehicle to a depth of 0.5 m and to hold station for a period of approximately 40 s. The controller was then switched to the PIDγ controller and the vehicle tasked to continue holding station. The response is shown in Figure 14.
In Figure 14, it can be seen that the SS performance of the bounded PD controller is better than the PIDγ controller (i.e., it is less oscillatory). To investigate the response to multiple inputs over an extended period of time, an experiment was conducted using a staircase input. The vehicle had to move to the setpoint and hold station for a period of time before moving to the next one. The response is shown in Figure 15.  Figure 15 shows that the control system operates consistently, over multiple set-points, with no overshoot and with uniform rise times.
The differences in SS error (the error is negative for the first two set-points and positive for the other three) can be accounted for by variations in the vehicle's buoyancy (the hull leaked and the buoyancy changed from positive to negative). While the change in buoyancy is undesirable, it shows that the controller is robust to limited buoyancy variations.

Conclusions
Independent movement in the vertical plane is important for high manoeuvrability in underwater vehicles. This paper has presented work conducted in the investigation and development of a number of vertical motion controllers for use with a µAUV.
Two control systems were identified as being of interest: PID and sliding mode. Experiments and simulations of the PID controller showed that the response was oscillatory during SS.
Analysis of the SMC showed that, for the magnitude of model parameters and the velocities the vehicle moved at, the boundary layer was the key variable with regard to performance and energy consumption.
When the low-tolerance of the components was taken into account, a thin boundary layer was chosen. It was observed that the model uncertainty component of the SMC was an order of magnitude smaller than the sliding surface, and so the effects of removing it were investigated.
The new control law took the form of a bounded PD controller, and simulations indicated that its performance was almost identical to the SMC. Experiments showed that it gave better performance than the PID controller.
There was a good correlation between the simulations and the experimental results; however, the simulation had to be tuned using two free parameters: the imbalanced mass caused by ballasting and the thrust force. Both of these values were difficult to measure experimentally, although the tuned simulation values appear to be reasonable estimates.
The next stage of development will be to integrate the vertical controller with the horizontal controllers so that full closed-loop 3D control can be tested. Table 1 shows a list of the most common control strategies used on UUVs. This table was taken from [21], which contains the complete list of references for each of the controller/UUV pairs. The controllers which were implemented are highlighted in bold.   [21]