Issue
Mechanics & Industry
Volume 21, Number 5, 2020
Scientific challenges and industrial applications in mechanical engineering
Article Number 512
Number of page(s) 16
DOI https://doi.org/10.1051/meca/2020037
Published online 11 August 2020

© T. Le Mézo et al., published by EDP Sciences 2020

Licence Creative CommonsThis is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

1 Introduction

Profiling floats, which are a specific kind of Autonomous Underwater Vehicle (AUV) widely used in oceanography, can only regulate their depth. They are commonly equipped with instruments such as temperature, pressure, conductivity or biochemical sensors that measure the state of the water column. Most of them carry out profiles in the open ocean and the last generation can dive up to 4000 m [1]. They help to a better understanding of the ocean and provide crucial data to oceanographic models through several years missions. The most well-known profiling floats are those of the Argo project [2]: about 4000 floats that gather data continuously all over the world.

More recently, the oceanographic community has been focused on swarm of profiling floats for shallow water [3,4] to better understand submesoscales dynamics (<1−10 km). In shallow water, the vertical and horizontal variation of biochemical parameters can be important. This is why oceanographers seek to increase the density of data gathered.

Designing a low-cost profiling float that can conduct shallow water mission is then a key challenge. By low-costwe mean a fast design and development phase, low or no calibration steps before using the float and obviously a low cost per unit, while maintaining a high level of energetic and dynamical performances. The cost of the whole life cycle should be taken into account.

After introducing the dynamic model of a float, a focus will be given on the mechanical and electronic parts. A new command law based on a full state feedback coupled with an Extended Kalman Filter (EKF) will then be introduced and validated with experimental trials. We will finally propose a loop iteration design that are guidance rules to build such robots.

2 Float dynamics

A profiling float controls its buoyancy to regulate its vertical position. There exists several mechanical systems to perform this task that either adjust the mass or the volume of the float. They are mainly based on hydraulic pump or piston system. Some floats are also equipped with a passive system: they are designed to stabilize themselves at a unique density.

We will choose the case of a piston based system (see Fig. 1) which is simple to design and suitable for shallow water.

The principle is to adjust the volume of the float by pushing in or pulling out a piston that will modify the density and so the buoyancy. A float is primarily subject to gravity, buoyancy and drag forces. We make the assumption that the float has only vertical motion, with no rotation, that it is in thermal equilibrium with surrounding water, that the density of water is constant and that there is no vertical water velocity. A more complex model could be developed for more precise studies but a basic one seems to be sufficient to achieve an effective control (see the experimental results in Sect. 5). We have: ( m f + m a ) z ¨ = F b + F d m f g \begin{equation*} \left(m_{f}&#x002B;m_{a}\right)\ddot{z}=\mathcal{F}_{b}&#x002B;\mathcal{F}_{d}-m_{f}g \end{equation*}(1)

where F b $\mathcal{F}_{b}$ and F d $\mathcal{F}_{d}$ are respectively the buoyancy force and the drag force. mf is the mass of the float and ma is the added mass which cannot be neglected in the case of water [5]. Table 1 summarizes all the parameters. The virtual mass mv = mf + ma is the sum of the two masses. We then have m v z ¨ =ρg V t 1 2 C d Sρ| z ˙ | z ˙ m f g \begin{align*} m_{v}\ddot{z} & =-\rho gV_{t}-\frac{1}{2}C_{d}S\rho\left|\dot{z}\right|\dot{z}-m_{f}g\end{align*}(2)

where Vt is the total volume of the float composed of the sum of the piston volume Vp and the float volume Vf. Note that the volume of the float Vf is supposed to be equal at zero depth to mfρ: the float has a neutral buoyancy. The piston volume Vp is then defined as a positive or negative volume from neutral buoyancy at zero depth. Equation (2) can then be simplified to: m v z ¨ =ρg( V f + V p ) 1 2 C d Sρ| z ˙ | z ˙ ρ V f g z ¨ = ρg m v V p C d Sρ 2 m v | z ˙ | z ˙ \begin{align*} m_{v}\ddot{z} & =-\rho g\left(V_{f}&#x002B;V_{p}\right)-\frac{1}{2}C_{d}S\rho\left|\dot{z}\right|\dot{z}-\rho V_{f}g\nonumber \\ \ddot{z} & =-\frac{\rho g}{m_{v}}V_{p}-\frac{C_{d}S\rho}{2m_{v}}\left|\dot{z}\right|\dot{z}\end{align*}(3)

A last phenomenon must be taken into account: the compressibility of the float. While increasing external pressure, the float’s volume will decrease. This is also the case for water. The isothermal compressibility K T = 1 V ( V P ) T $\mathcal{K}_{T}=-\frac{1}{V}\left(\frac{\partial V}{\partial P}\right)_{T}$ measures the relative change of volume as a response to a pressure. We will assume that the water and float temperatures are constant which means that K w $\mathcal{K}_{w}$, the water compressibility, and K f $\mathcal{K}_{f}$, the float compressibility are constant. We will also assume that the relation between the pressure P and the depth z is linear equal to P(z) = ρgz.

We can then deduce the loss of buoyancy of the float which is explained by the relative variation of volume δV of the float compared to the equivalent one of water under the same pressure: F K =ρgδV=ρg( K f K w )P(z) V f =( K f K w ) m f ρ g 2 z. \begin{equation*} \mathcal{F_{K}}=\rho g\delta V=\rho g\!\left(\mathcal{K}_{f}-\mathcal{K}_{w}\right)\!P(z)V_{f}=\left(\mathcal{K}_{f}-\mathcal{K}_{w}\right)\!m_{f}\rho g^{2}z. \end{equation*}(4)

Note that we have neglected the loss associated to the piston volume and we have supposed that the volume of the float is constant. Equation (3) can then be rewritten to take into account the compressibility: z ¨ = ρg m v V p C d Sρ 2 m v | z ˙ |z+( K f K w ) m f ρ g 2 z m v . \begin{equation*} \ddot{z}=-\frac{\rho g}{m_{v}}V_{p}-\frac{C_{d}S\rho}{2m_{v}}\left|\dot{z}\right|z&#x002B;\left(\mathcal{K}_{f}-\mathcal{K}_{w}\right)\frac{m_{f}\rho g^{2}z}{m_{v}}. \end{equation*}(5)

We set χ= m f ( K f K w )g $\chi=m_{f}\left(\mathcal{K}_{f}-\mathcal{K}_{w}\right)g$, the loss of volume per meter depth, which is homogeneous to m2. We obtain z ¨ = ρg m v ( V p χz ) C d Sρ 2 m v | z ˙ | z ˙ . \begin{equation*} \ddot{z}=-\frac{\rho g}{m_{v}}\left(V_{p}-\chi z\right)-\frac{C_{d}S\rho}{2m_{v}}\left|\dot{z}\right|\dot{z}. \end{equation*}(6)

Set A= ρg m v $A=\frac{\rho g}{m_{v}}$ and B= C d Sρ 2 m v $B=\frac{C_{d}S\rho}{2m_{v}}$, we obtain: z ¨ =A( V p χz )B| z ˙ | z ˙ . \begin{equation*} \ddot{z}=-A\left(V_{p}-\chi z\right)-B\left|\dot{z}\right|\dot{z}.\end{equation*}(7)

The sign of the χ coefficient significantly affects the stability of the system. The float is stable for a negative χ and unstable for a positive value. Let us take a float that is neutral buoyant for a depth z. Let us then move the float of δz in the case of a negative χ: the variation of volume δV will be of the same sign as δz which will produce a force in the opposite direction of the movement. The float will then go back to its previous depth z. In the case of a positive χ the movement is on the contrary amplified by the variation of volume. Figure 2 shows the trajectory over time of two floats with a negative and positive χ. The float is stable for z = 0 and was moved of δz = 0.1 m. In the case of a negative χ the drag force progressively reduces the oscillations while in the case of a positive χ the system is clearly unstable and reaches rapidly a constant positive velocity.

thumbnail Fig. 1

Float equipped with a piston system.

Table 1

Float physical parameters.

thumbnail Fig. 2

Evolution of float depth for a positive and a negative χ.

3 Robot design

The SeaBot float is a 80 cm low-cost system design for shallow water up to 50 m (see Fig. 3). The whole system uses as much as possible standard and off-the-shelf mechanical and electronic components. We also tried to limit machining operations for manufacturing the robot.

thumbnail Fig. 3

The Seabot float.

3.1 Mechanical architecture

We will givehere an overview of the different design problems that have to be considered in order to build a low-cost float. The idea is to give simple and first step design rules.

3.1.1 Float hull

To avoid corrosion phenomenon and to facilitate the development of the float, we have chosen to use a full plastic hull and a transparent tube. The caps and the piston are in polyoxymethylene (POM-C) and the tube is in polycarbonate (PC).

To design the thickness of the tube and the tube caps, we have to verify that [6,7]:

  • e pipe > P d pipe 2 σ e $e_{\textrm{pipe}}>\frac{P\cdot d_{\textrm{pipe}}}{2\sigma_{e}}$ where epipe is the thickness of the tube, P the external pressure, dpipe the diameter of the tube, σe the elastic limit,

  • e caps > r caps 2 3 P σ e $e_{\textrm{caps}}>r_{\textrm{caps}}\sqrt{\frac{2}{3}\frac{P}{\sigma_{e}}}$ where rcaps is the radius of the caps.

In the case of the SeaBot, we obtain, for a 50 m depth limit and a 120 mm tube, using Table 2, epipe > 0.4 mm. We have chosen a thickness of 5 mm that takes into account a safety coefficient and that limits the compressibility issue which will be studied later. We obtain ecaps > 8 mm for the caps.

Using stainless steel or aluminum would have allowed to reduce the thickness of the tube to few millimeters but it raises issues with the propagation of wireless signal, with the tube ovalization at small thickness and with the issue of galvanic corrosion. Moreover stainless steel is more dense than plastic materials, so the gain in thickness should be balanced with the additional mass that reduces the payload mass.

Table 2

Approximate values of material mechanical properties.

3.1.2 Float compressibility

Estimating the float compressibility is important to know if the system will be stable or unstable. At a first approximation, we can model the tube by an infinite cylinder. We know from classic results [8, p.240] that the total radial travel for the external radius of a pressured thick-walled tube is: u= 1ν E a 2 P I b 2 P E b 2 a 2 b+ 1+ν E a 2 b 2 ( P I P E ) ( b 2 a 2 )b \begin{equation*} u=\frac{1-\nu}{E}\frac{a^{2}P_{I}-b^{2}P_{E}}{b^{2}-a^{2}}b&#x002B;\frac{1&#x002B;\nu}{E}\frac{a^{2}b^{2}(P_{I}-P_{E})}{\left(b^{2}-a^{2}\right)b} \end{equation*}(8)

where u is the total radial travel, ν the poisson’s ratio, E the young modulus, a the internal radius, b the external radius, PE the external pressure and PI the internal pressure.

If we neglect the effect of the two caps, the loss of volume can be approximated by: V lost =π( b 2 (bu) 2 )L \begin{equation*} V_{\textrm{lost}}=\pi(b^{2}-(b-u)^{2})L \end{equation*}(9)

where L is the length of the tube. We can then deduce an approximation of the float compressibility: K f = V lost V f P E \begin{equation*} \mathcal{K}_{f}=-\frac{V_{\textrm{lost}}}{V_{f}P_{E}} \end{equation*}(10)

In the case of the SeaBot float, we obtain a mean compressibility for PE = 5 bar, PI = 0.6 bar and L =0.6 m of K f =4.30 × 9 Pa 1 $\mathcal{K}_{f}={4.30\times^{-9}}\,\textrm{Pa}^{-1}$. We can then deduce the loss of volume per meter χ = 7.22 ×−7 m3 m−1. The float is found to be passively unstable.

The χtheory is similar to the χmeasured ≃ 2.14 ×−6 m3 m−1. A more detailed study using numerical simulation should be undertaken to obtain a better estimation of the χtheory. By comparison, a 2 mm thick aluminum tube would have made the float less compressible than water.

3.1.3 Auto-ballasting system

The auto-ballasting system (ABS) is based on a 5 cm diameter piston that moves along a M12 steel threaded rod which is rotated with a brushed motor. The position of the piston is given by an optical codewheel (48 counts per revolution) and two reed switches that provide two mechanical zero position and maximum position references. Figure 4 shows the mechanical design of the system.

The required torque that the motor has to deliver can be calculated classically [6,7] by the following equation: T= F P r mean tan( i+φ ) \begin{equation*} \mathcal{T}=F_{P}r_{\textrm{mean}}\tan\left(i&#x002B;\varphi\right)\end{equation*}(11)

where T $\mathcal{T}$ is the torque (in N m), FP is the normal force applied to the piston (in N), rmean the mean radius of the threaded rod (in m), i the thread angle and φ the angle of friction that depends on the materials.

In the SeaBot case, we have FP = ρgzmaxS, rmean = 6 mm, the screw thread is 1.75 mm which gives i = 8° and if we assume a friction coefficient of 0.4 between steel and POM-C, φ = 22°. We obtain T max =3.4Nm $\mathcal{T}_{\textrm{max}}={3.4}\,\textrm{N\,m}$.

The SeaBot motor (MFA Como 970D1561) is a P m =19.8W $\mathcal{P}_{m}={19.8}\,{W}$, of 0.015 N m at maximum efficiency and 0.1 N m at the maximum torque, with a 156:1 reduction gearbox, which gives a maximum output torque between 2.34 N m and 15.6Nm> T max ${15.6}\,\textrm{N\,m}>\mathcal{T}_{\textrm{max}}$. The output rotation speed is 93RPM so we can compute the theoretical maximum volume variation of the piston per time: V ˙ p =5.32 × 6 m 3 s 1 $\dot{V}_{p}={5.32\times^{-6}}\,\textrm{m}^3\,\textrm{s}^{-1}$.

A compromise has to be found between the diameter of the piston, the maximum torque of the motor and the maximum volume rate of the piston.

thumbnail Fig. 4

Mechanical design of the ABS system.

3.1.4 Additional systems

The SeaBot float is also equipped with two low-cost thrusters that can be used at surface to correct its position.

In addition, the internal part of the float is maintained at a pressure of 600 mbar. This low pressure maintains the O-rings an the two caps even at the surface of the sea. This also provides an easy way to detect important leak issues.

3.2 Electronic system

The main electronic is based on a Raspberry Pi 3 B+ board and microcontrollers (μC) dedicated to real time control and hardware interfaces.

The float is equipped with a 18 cm accuracy, 0.1 mm resolution pressure sensor, an external temperature sensor, a MEMS IMU, a GNSS receiver, an Iridium transceiver, an optical codewheel for the piston and an internal temperature, pressure and humidity sensor to detect water leak issues. Figure 5 shows the electronic architecture.

Monitoring the humidity level appears to be more efficient to detect small leaks than monitoring the internal pressure which requires important water ingress to change.

The float has four 5Ah 3S LiPo batteries that provide a total of 20Ah. This gives around 226 W h which means about one day autonomy.1 The electronic system without the motor and thrusters consumes around 2.5 W. The electronic energy consumption could be greatly optimized in a second step design.

thumbnail Fig. 5

Electronic design.

3.3 Software architecture

The software is based on the ROS middleware. It is built around nodes that handle specific tasks and can communicate with each other. The SeaBot source code is available online (https://github.com/ThomasLeMezo/ seabot). Figure 6 shows a simplified functional architecture of the software. Note that the robot implements a safety observer that constantly checks the parameters of the float (maximum depth, leak issue, etc.) and triggers an emergency surfacing if necessary.

thumbnail Fig. 6

Software functional architecture.

4 Depth controller

In this section, we will deal with the depth controller of the float during diving. A key point, in the context of low-cost actuators and sensors,is to implement an efficient control law that minimizes the energy consumption while maintaining a low error relative to the depth set point.

Several approaches have been used in the literature: a survey of profiling float controllers can be found in [9]. Classic PID based controllers are not suitable in the context of low-cost floats as underlined in [10] because of the time required to tune experimentally their coefficients. State of the art float controllers now use state feedback [4] or adaptive controller [11] techniques. The main difficulty of those controllers is the ability to know an accurate dynamical model of the robot. Indeed, several parameters such as buoyancy depend on the surrounding water’s properties. An online estimator must therefore be implemented. To solve theproblem, several techniques have been used including fuzzy inferences [4] and full state observers [10].

In the following section, we will propose a new method built on a state feedback controller and on an online estimator based on an Extended Kalman Filter (EKF). This new method better takes into account the compressibility of the float. It also drives the float with a velocity constraint which is new. Indeed, from a theoretical point of view, the energy loss of the system is mainly due to drag forces which are linked to the velocity of the float. A precise control of the float velocity is therefore crucial.

The float system can be modeled through the following equation: x . =f( x,u ) $\dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x},\mathbf{u}\right)$ where x= ( z ˙ ,z, V p ) $\mathbf{x}=\left(\dot{z},z,V_{p}\right)^{\intercal}$ is the state vector of the system, f the evolution function of the system and u the input. From equation (7), we obtain: x . =( z ¨ z ˙ V ˙ p )=( A( V p χz )B| z ˙ | z ˙ z ˙ u ) \begin{equation*} \dot{\mathbf{x}}=\left(\begin{array}{c} \ddot{z}\\[2pt] \dot{z}\\[2pt] \dot{V}_{p} \end{array}\right)=\left(\begin{array}{c} -A\left(V_{p}-\chi z\right)-B\left|\dot{z}\right|\dot{z}\\[3pt] \dot{z}\\[2pt] u \end{array}\right)\end{equation*}(12)

where u is the piston volume rate.

4.1 Control law

In a context of low energy consumption, we want to avoid as much as possible any overshoot of the control which would cause unnecessary movements of the piston. In terms of energy, the mechanical work of the piston depends of the velocity and of the loss of volume per meter χ. If χ = 0, the float can move from an equilibrium depth position to an other with an ɛ move of the piston: the work is then directly linked to the velocity of the movement and not to the traveled depth.

To be able to limit the velocity while reaching the desired depth, we chose to control the float with a vector field that links the velocity and the depth error to the depth set-point (see Fig. 7): z ˙ =βarctan( z ¯ z α ) \begin{equation*} \dot{z}=\beta\arctan\left(\frac{\bar{z}-z}{\alpha}\right) \end{equation*}(13)

where z ¯ $\bar{z}$ is the depth set-point and ( α,β ) $\left(\alpha,\beta\right)$ is a pair of constant parameters. Other functions such as sigmoids could have been chosen as long as they are smooth, as this is required to apply state feedback techniques. The coefficients α and β will be chosen depending on the performances required by the user application in particular the maximum velocity z ˙ max =β π 2 $\dot{z}_{\textrm{max}}=\beta\frac{\pi}{2}$ and the deceleration phase near the depth set-point though β α $\frac{\beta}{\alpha}$. The adjustment of these parameters will be discussed in Section 6. Unless stated otherwise, we will let α =1.

To apply state feedback linearization technique [12], we chose for the system output y= z ˙ βarctan( z ¯ z α ) $y=\dot{z}-\beta\arctan\left(\frac{\bar{z}-z}{\alpha}\right)$. Our system has a relative degree of 2 which requires to derive two times the output. y ˙ = z ¨ β α z ˙ 1+ e 2 = z ¨ +γ z ˙ D \begin{eqnarray*} \dot{y} & = & \ddot{z}-\frac{\beta}{\alpha}\frac{-\dot{z}}{1&#x002B;e^{2}}=\ddot{z}&#x002B;\gamma\frac{\dot{z}}{D} \end{eqnarray*}(14)

where e= 1 α ( z ¯ z ) $e=\frac{1}{\alpha}\left(\bar{z}-z\right)$, D = 1 + e2, γ= β α $\gamma=\frac{\beta}{\alpha}$, y ¨ = z +γ z ¨ D z ˙ D ˙ D 2 = z +γ z ¨ D+2 α 2 e z ˙ 2 D 2 \begin{eqnarray*} \ddot{y} & = & \dddot{z}&#x002B;\gamma\frac{\ddot{z}D-\dot{z}\dot{D}}{D^{2}}=\dddot{z}&#x002B;\gamma\frac{\ddot{z}D&#x002B;2\alpha^{-2}e\dot{z}^{2}}{D^{2}} \end{eqnarray*}(15)

as = −2α−2 and with z =A(uχ z ˙ )2B| z ˙ | z ¨ $\dddot{z}=-A(u-\chi\dot{z})-2B\left|\dot{z}\right|\ddot{z}$, y ¨ =Au+Aχ z ˙ 2B| z ˙ | z ¨ +γ z ¨ D+2 α 2 e z ˙ 2 D 2 . \begin{equation*} \ddot{y}=-Au&#x002B;A\chi\dot{z}-2B\left|\dot{z}\right|\ddot{z}&#x002B;\gamma\frac{\ddot{z}D&#x002B;2\alpha^{-2}e\dot{z}^{2}}{D^{2}}. \end{equation*}(16)

We then chose u such that y is solution of λ3ÿ + λ2 + λ1y = 0 where λ1, λ2, λ3 are constant coefficients. In order to avoid any overshoot we want a single negative pole s such that the characteristic equation of the previous equality is ( 1s ) 2 $\left(1-s\right)^{2}$, which gives the coefficient values: λ3 = 1, λ2 = −2s and λ1 = s2. The control law can be then expressed as: u= 1 A ( 2s y ˙ + s 2 y+γ z ¨ D+2 α 2 e z ˙ 2 D 2 2B| z ˙ | z ¨ )+χ z ˙ . \begin{equation*} u=\frac{1}{A}\left(-2s\dot{y}&#x002B;s^{2}y&#x002B;\gamma\frac{\ddot{z}D&#x002B;2\alpha^{-2}e\dot{z}^{2}}{D^{2}}-2B\left|\dot{z}\right|\ddot{z}\right)&#x002B;\chi\dot{z}. \end{equation*}(17)

This allows y to converge towards 0 at a speed of ~ est. The pole s should be chosen according to the dynamics of the system.

The previous model is only valid when the float is completely immersed. This is not the case at surface when antennas are emerged. This is why a simple finite-state machine switches between a simple sinking procedure that slowly retracts the piston until a certain depth zf is reached, and a state feedback controller that is activated below this depth.

thumbnail Fig. 7

Map of the set-point velocity as a function of the depth error δz.

4.2 Estimation of unknown parameters

The main issue, with the control law described above, is that the exact volume Vp of the piston and the χ parameter are unknown. Concerning the volume, we measure with a high precision the volume of the piston Vm from a mechanical zero reference but we do not know the offset Vo such that the float is at equilibrium for a zero depth (Vp = Vm + Vo). The parameter χ is even more complex to estimate as it also depends of surrounding water properties.

This is why an EKF will be used to estimate Vo and χ. Note that some of the modeling errors would be also compensated by the estimation of both variables. By using equation (12), we can obtain a specific system for the estimation of Vo and χ. Note that Vp is here considered as the input u. We measure z and we assume that V0 and χ are constant over time. With the state vector x= ( z ˙ ,z, V 0 ,χ ) $\mathbf{x}=\left(\dot{z},z,V_{0},\chi\right)^{\intercal}$, we have for the continuous system: { x . = f c ( x . ,u ) =( A( uχz )B| z ˙ | z ˙ z ˙ 0 0 ) y=g( x ) =( z ) \begin{equation*} \begin{cases} \mathbf{\dot{\mathbf{x}}}=\mathbf{f}_{c}\left(\dot{\mathbf{x}},u\right) & =\left(\begin{array}{c} -A\left(u-\chi z\right)-B\left|\dot{z}\right|\dot{z}\\ \dot{z}\\ 0\\ 0 \end{array}\right)\\ \mathbf{y}=\mathbf{g}\left(\mathbf{x}\right) & =\left(z\right) \end{cases}\end{equation*}(18)

We recall the Kalman prediction and corrector equations2, in the case of a discrete time system, with an Euler integration scheme at step k, and a dt duration between steps:

  • Prediction

{ x ^ k+1k =f( x ^ kk , u k ) (predicted = x ^ kk +dt f c ( x k , u k ) estimation) Γ k+1k = A k Γ kk (predicted) A k + Γ α k covariance) \[ \begin{cases} \hat{\mathbf{x}}_{k&#x002B;1\mid k}=\mathbf{f}(\hat{\mathbf{x}}_{k\mid k},\mathbf{u}_{k})& \textrm{(predicted}\\\quad =\hat{\mathbf{x}}_{k\mid k}&#x002B;dt\cdot\mathbf{f}_{c}(\mathbf{x}_{k},\mathbf{u}_{k}) & \textrm{estimation)}\\ \Gamma_{k&#x002B;1\mid k}=\mathbf{A}_{k}\cdot\Gamma_{k\mid k}& \textrm{(predicted)}\\ \quad\cdot\mathbf{A}_{k}^{\intercal}&#x002B;\Gamma_{\mathbf{\alpha}_{k}} &\textrm{covariance)} \end{cases} \]
  • Update

{ x ^ kk = x ^ kk1 + K k z ˜ k (correctedestimation) Γ kk =(I K k C k ) × Γ kk1 (correctedcovariance) z ˜ k = y k C k x ^ kk1 (innovation) S k = C k Γ kk1 C k (covariance of the + Γ β k innovation) K k = Γ kk1 C k S k 1 (Kalmangain) \[ \begin{cases} \hat{\mathbf{x}}_{k\mid k}=\hat{\mathbf{x}}_{k\mid k-1} &#x002B;\mathbf{K}_{k}\tilde{\mathbf{z}}_{k} \!\!&\!\! \textrm{(corrected estimation)} \\ \Gamma_{k\mid k}=(\mathbf{I}-\mathbf{K}_{k}\mathbf{C}_{k})\\\quad \times \Gamma_{k\mid k-1} \!\!&\!\! \textrm{{\textrm{(corrected covariance)}}}\\ \tilde{\mathbf{z}}_{k}=\mathbf{y}_{k}-\mathbf{C}_{k}\hat{\mathbf{x}}_{k\mid k-1} \!\!&\!\! \textrm{(innovation)}\\ \mathbf{S}_{k}=\mathbf{C}_{k}\Gamma_{k\mid k-1}\mathbf{C}_{k}^{\intercal}\!\!&\!\! \textrm{(covariance of the} \\ \quad&#x002B;\Gamma_{\beta_{k}} \!\!&\!\! \textrm{innovation)} \\ \mathbf{K}_{k}=\Gamma_{k\mid k-1}\mathbf{C}_{k}^{\intercal}\mathbf{S}_{k}^{-1} \!\!&\!\! \textrm{(Kalman gain)} \end{cases} \]

where

  • A k = f( x ^ kk , u k ) x =( 2B| z ˙ ^ | A χ ^ A A z ^ 1 0 0 0 0 0 0 0 0 0 0 0 )dt+ I 4×4 $\mathbf{A}_{k}=\frac{\partial\mathbf{f}(\hat{\mathbf{x}}_{k\mid k},\mathbf{u}_{k})}{\partial\mathbf{x}}=\left(\!\begin{array}{cccc} -2B\left|\hat{\dot{z}}\right| & A\hat{\chi} & -A & A\hat{z}\\[2pt] 1 & 0 & 0 & 0\\[2pt] 0 & 0 & 0 & 0\\[2pt] 0 & 0 & 0 & 0 \end{array}\!\right)\cdot dt \phantom{dddstt} &#x002B;\mathbf{I}_{4\times4}$ is the evolution matrix,

  • C k = dg( x ^ kk1 ) dx =( 0 1 0 0 ) $\mathbf{C}_{k}=\frac{d\mathbf{g}(\hat{\mathbf{x}}_{k\mid k-1})}{d\mathbf{x}}=\left(\!\!\begin{array}{cccc} 0 & 1 & 0 & 0\end{array}\!\!\right)$ is the observation matrix,

  • and Γα, Γβ are respectively the process and the observation noise covariance matrices. In our case we set them diagonal and constant. Their coefficients depend on the accuracy of the sensors and of the dynamic of the float.

Figure 8 illustrates the depth controller structure with the EKF and the state-feedback.

thumbnail Fig. 8

Depth controller structure.

5 Experimental results

5.1 Testsin a controlled environment

The float system was tested in a 20 m deep sea water basin at Ifremer3 Brest (see Fig. 9). The state feedback controller and the EKF were running at 5 Hz with a transition depth zf = 0.3 m. The mission was to reach five differentdepth levels {1, 5, 10, 15, 18} m with a maximum speed of | z ˙ max |=0.04m s 1 $\left|\dot{z}_{\textrm{max}}\right|={0.04}\,\textrm{m\,s}^{-1}$, α =1 and s = −1. Figure 10 shows the trajectory over time and Figure 11 shows the piston volume measured Vm. There is no overshoot along z and we clearly see, on the volume Vm plot, the compensation of the loss of volume: the deeper the robot is, the larger the volume of the piston output must be.

thumbnail Fig. 9

Ifremer Brest water tank with the SeaBot float. The robot is secured along a rope guide.

thumbnail Fig. 10

Depth z (in meter) of the float in function of time t (in seconds). The setpoint depth trajectory is in red and the float depth trajectory is in black.

thumbnail Fig. 11

Piston volume measured Vm in function of time t (in seconds).

Evolution of χ

Measuring the volume of the piston once the float is stabilized at every depth level gives an idea of the value of χ. From experimental data, the loss of volume appears not to be linear with depth z but quadratic with respect to z. However, the EKF handles this model error and adjust the value of χ and V0 (see Fig. 12): this is why χ is not constant over time.4 The associated evolution of variances over time of χ and V0 are shown in Figure 13. We can notice that the variance of V0 increases when the variance of χ decreases. This could be due to the fact that the dynamic model of the system is oversimplified.

thumbnail Fig. 12

Estimation of V0 and χ by the EKF over time.

thumbnail Fig. 13

Variance of V0 and χ over time in logarithmic scale.

Energy consumption

To reduce the energy consumption during ascending and descending phases, we compute an interval of input [u] for an interval of maximum velocity [ z ˙ max ] $\left[\dot{z}_{\textrm{max}}\right]$ and we choose the command that minimizes [u]. A no piston movement strategy could also be adopted when the set-point is reached in the case of a stable float but this is not the case for our system.

Depth error

For this first test, the depth error after the depth set-point is reached is of few centimeters (in most cases under 2 cm). Some depth bias of up to4 cm can be observed which could come from mechanical hysteresis or error in the model. Adding an integral effect to the control law could be a solution to compensate these small biases.

We can also note that the pressure sensor, which drives in our case the performance limit of the system, has an equivalent resolution of around 0.9 mm. This means that the depth controller has a performance of around ten to twenty times the resolution of the sensor.

5.2 Tests in real environments

Ocean trials have been conducted in the Brest bay (see Fig. 15), in the Bertheaume cove (see Fig. 14) and in the Guerlédan lake (see Fig. 16). Results are the subject of ongoing analysis at the time these lines are written concerning sea trials.

The Guerlédan lake mission consisted of 8 identical two-hours series. The robot had to perform 20-min depth stops at: {10, 17.5, 25, 17, 9.5, 2,0} for a total of 17 hmission. The mission started on the 10th of October 2019 at 15h06UTC and lasted all the night. Figure 17 shows the result with a zoom on one of the stop. We can see that the depth error is relatively low with an order of magnitude of few millimeters.5

We can also note that just after 9 h of mission, the robot encountered wrong pressure data that led to a return to the surface. As a result of this event, the EKF diverged to false values which explains why there are small overshoots on the next depth stops. The situation came back to normal around 11 h of mission. Additional safety checks were added to prevent this problem from happening again.

For each surface rise, the robot sent its position through a satellite connection and used its thrusters to reach a next predefined area to dive.

thumbnail Fig. 14

Last test of the Seabot depth controller in the ENSTA Bretagne 2.5 m deep pool before a deployment in the Bertheaume cove. Note that we added colored stripes to make it easier to find the robot at the end of the mission.

thumbnail Fig. 15

Two SeaBot before their mission in the bay of Brest.

thumbnail Fig. 16

A Seabot after ending its mission in the lake of Guerlédan. We can only see the yellow antenna emerging from the surface at the center of the picture. An air drone is filming the scene.

thumbnail Fig. 17

The Guerlédan lake mission. The depth set-point trajectory is in red and the float depth trajectory is in black.

6 Validation of the depth control law

The SeaBot has mechanical constraints which bounds the volume V p [ V p ] $V_{p}\in\left[V_{p}\right]$ and the volume rate of the piston V ˙ p [ V ˙ p ] $\dot{V}_{p}\in\left[\dot{V}_{p}\right]$. These constraints narrow the α, β, s and z ¯ $\bar{z}$ possible values. The parameters for the SeaBot piston are summarized in Table 3. The asymmetry between V p + $V_{p}^{&#x002B;}$ and V p $V_{p}^{-}$ is due to the need to have a sufficient buoyancy to emerge antennas.

Table 3

Seabot piston parameters (experimental results, V ˙ p $\dot{V}_{p}$ is limited by software compared to the maximum possible values).

Maximum depth

The maximum depth is not only limited by the hull durability against pressure but also by the loss of volume due to compressibility. It is equal to around 70 m. At equilibrium in the case of the maximum depth, we have from equation (7): Vpχzmax = 0 which implies that z max =max ( V p χ ) V p [ V p ] =70m $z_{\max}=\max\left(\frac{V_{p}}{\chi}\right)_{V_{p}\in\left[V_{p}\right]}={70}\,\textrm{m}$. A stable float (χ < 0) will not be able to go deeper whereas an unstable float (χ > 0) will not be able to go back to a lower depth. Indeed, it will not have enough reserve buoyancy to come back to surface, if it goes deeper than this limit.

We have set a practical depth limit to zmax = 50 m to keep a safety margin which covers the mechanical strength of the tube and the compressibility issue.

Maximum velocity

Similarly, the float cannot exceed a certain velocity żmax due to compressibility. If we suppose that the float has stabilized its velocity to żmax, we then have from equation (7): A( V p χz )B| z ˙ max | z ˙ max =0 $-A\left(V_{p}-\chi z\right)-B\left|\dot{z}_{\textrm{max}}\right|\dot{z}_{\textrm{max}}=0$ which implies that z ˙ maxz = ( | A B ( V p χz ) | ) V p { V p , V p + } . \begin{equation*} \dot{z}_{\textrm{max\ensuremath{\mid z}}}=\left(\sqrt{\left|\frac{A}{B}\left(V_{p}-\chi z\right)\right|}\right)_{V_{p}\in\left\{ V_{p}^{-},V_{p}^{&#x002B;}\right\} }.\end{equation*}(19)

In the case of the SeaBot, we obtain6: { z ˙ maxz=0 { 0.255,0.097 }m s 1 z ˙ maxz=50 { 0.136,0.236 }m s 1 . \[ \begin{cases} \dot{z}_{\textrm{max\ensuremath{\mid z=0}}}\in\left\{ -{0.255}{},{0.097}{}\right\} {}\textrm{m\,s}^{-1}\\ \dot{z}_{\textrm{max\ensuremath{\mid z=50}}}\in\left\{-{0.136}{},{0.236}{}\right\} {}\textrm{m\,s}^{-1} \end{cases}\!\!\!\!\!. \]

This is consistent with the fact that at surface there is more positive reserve buoyancy than negative one that explains the difference of velocity. The phenomenon is reversed at 50 m due to the loss of volume. Note that these maximum velocities are only based on the hypothesis of stabilized velocity: higher values can be reached for a depth z depending on the initial condition of the trajectory.

Piston velocity limitation

We consider now the limitation induced by [ V ˙ p ] $\left[\dot{V}_{p}\right]$. The speed of the loss of volume due to compressibility is linked to the velocity of the float. Therefore, the piston should move fast enough to compensate this loss. Otherwise, in the case of an unstable float, it will not succeed in decelerating. In the stable case, the velocity will be limited by: z ˙ max = V ˙ p χ V ˙ p { V ˙ p , V ˙ p + } { -0.66,0.66 }m s -1 . \[ \dot{z}_{\max}=\frac{\dot{V}_{p}}{\chi}\mid_{\dot{V}_{p}\in\left\{ \dot{V}_{p}^{-},\dot{V}_{p}^{&#x002B;}\right\} }\in{\textrm{\ensuremath{\left\{{-0.66}{},{0.66}{}\right\} } \textrm{m\,s}^{-1}}}. \]

Therefore [ V ˙ p ] $\left[\dot{V}_{p}\right]$ limits the maximum allowable velocity of the float.

Vector field following

An other important issue is to verify that the maximum piston volume rate V ˙ p $\dot{V}_{p}$ is sufficient to follow the imposed trajectory, i.e. t,u( t )[ V ˙ p ] $\forall t,u\left(t\right)\in\left[\dot{V}_{p}\right]$.

We first consider that the float is stabilized on the trajectory [13]. We know that z ˙ =βarctan( z ¯ z α ) $\dot{z}=\beta\arctan\left(\frac{\bar{z}-z}{\alpha}\right)$ and we also know that = 0 so z ¨ =γ z ˙ D $\ddot{z}=\gamma\frac{-\dot{z}}{D}$ which implies that V p = 1 A ( γ z ˙ D +B| z ˙ | z ˙ )+χz $V_{p}=\frac{1}{A}\left(\frac{\gamma\dot{z}}{D}&#x002B;B\left|\dot{z}\right|\dot{z}\right)&#x002B;\chi z$. We can then compute u as a function of z, as we know ż and Vp as functions of z. In order to obtain a guaranteed evaluation of u( z ) $u\left(z\right)$ and avoid numerical errors, we will use interval computations to bracket the value of the function and obtain two boundaries u+ and u such that u[ u , u + ] $u\in\left[u^{-},u^{&#x002B;}\right]$ [14].

If we take s=1,β=0.05 2 π ,α=1 $s=-1,\beta=0.05\frac{2}{\pi},\alpha=1$ and z ¯ =0 $\overline{z}=0$, we obtain full black curves in Figure 18. We can see that the control input is always inside the maximum and minimum piston volume rates. We can clearly see that when the system is far from the target, it needs to compensate χ. The local increase of u near the set point is due to the deceleration. The maximum volume velocities computed are { 1.383 × 7 ,1.383×7 } m 3 s 1 [ V ˙ p ] $\left\{{-1.383\times^{-7}},{1.383\times{-7}}\right\}\,\textrm{m}^3\,\textrm{s}^{-1} \subset\left[\dot{V}_{p}\right]$.

We can also study the performance of the controller near the desired velocity set-point. If we assume now that z ˙ =βarctan( z ¯ z α )+w $\dot{z}=\beta\arctan\left(\frac{\bar{z}-z}{\alpha}\right)&#x002B;w$ where w[ 5 × 3 ,5 × 3 ]m s 1 $w\in\left[{-5\times^{-3}}{},{5\times^{-3}}{}\right]\textrm{m\,s}^{-1}$, we obtain the dotted curves of Figure 18 and the new maximum volume velocities: { 5.62 × 7 ,5.62 × 7 }m s 1 [ V ˙ p ]. \[ \left\{ {-5.62\times^{-7}}{},{5.62\times^{-7}}{}\right\} \textrm{m\,s}^{-1}\subset\left[\dot{V}_{p}\right]. \]

The study of the transition phase where the system reaches the vector field is also an important key-point that is not studied here. More generally, the computation of the largest positive invariant set [15] of the system in a context of a saturated input would be interesting. This means to find the set of all states from which the system will converge to the depth set-point. A sufficient reserve of V ˙ p $\dot{V}_{p}$ must be preserved to efficiently backtrack the correct velocity.

thumbnail Fig. 18

Outer approximation of the controller as a function of depth for two configurations. The maximum bounds of V ˙ p $\dot{V}_{p}$ are in red. Dotted curves correspond to the model with noise.

Minimum piston volume increment

Defining the minimum codewheel step increment is a difficult task. A way to estimate a minimum value is to evaluate from equation (19) which error of velocity produces a step of piston volume.

In the case of the SeaBot, if we allow a δż = 0.01 m s−1 velocity error at zero depth, we obtain an equivalent error of volume of δVp,max = 2.306 ×−7 m3. We have chosen, for the SeaBot, a 48 counts per revolution codewheel which gives a δVp = 7.16 ×−8 m3 < δVp,max.

Energy consumption

For a given maximum velocity żm and a depth change Δz with a zero velocity at the beginning, and at the end, we can deduce, for the piston, the required variation of volume. By taking into account the piston volume rate, we can obtain the amount of motor run time if we suppose at a first approximation a one-time movement. We can then deduce an under approximation of the energy required for the mission: E= Δ V p V ˙ p,max P m = 2( B A z ˙ m 2 )+| χΔz | V ˙ p,max P m . \begin{equation*} \mathcal{E}=\frac{\UpDelta V_{p}}{\dot{V}_{p,\textrm{max}}}\mathcal{P}_{m}=\frac{2\left(\frac{B}{A}\dot{z}_{m}^{2}\right)&#x002B;\left|\chi\UpDelta z\right|}{\dot{V}_{p,\textrm{max}}}\mathcal{P}_{m}. \end{equation*}(20)

We assume here, to simplify, that the piston movement for the velocity and for the loss of volume are independent. We also assume that the piston has to first move to reach żm and then has to move to decelerate to zero velocity. We recall that P m $\mathcal{P}_{m}$ is the powerof the motor.

In the case of the SeaBot, for a Δz = 50 m and żm = 0.05 m s−1, we obtain a run time of 83 s and E=0.457Wh $\mathcal{E}={0.457}\,\textrm{W\,h}$.

7 Designloop

Similarly to the ship design loop technique from the Naval Architecture community, we propose here a low-cost float design loop. The idea is to compute from the problem inputs, the minimum electronic and mechanical characteristics of the float.

  • Probleminputs:

    • mass of the payload: mp,

    • maximum float velocity required żmax, trajectory to follow and error allowed,

    • volume of the antennas Va,

    • max depth: zm,

    • mission duration T and number of typical depth variation Δz,

    • environmental parameters: water density ρ.

  • Design loop

    • 1.

      Compute the diameter d and length L of the float (function of mp). Choose a material for the hull and compute its minimum thickness (function of zm).

    • 2.

      Estimate the drag coefficient Cd (function of d) and the loss of volume per meter χ.

    • 3.

      Compute the interval volume of the piston [ V p ] $\left[V_{p}\right]$ required (i) to emerge antennas (Va), (ii) to compensate the loss of volume (χ), (iii) and to reach the maximum velocity (function of Cd).

    • 4.

      Compute the interval velocity of the piston [ V ˙ p ] $\left[\dot{V}_{p}\right]$ required to follow the trajectory and compensate χ. Set the minimum motor specifications.

    • 5.

      Compute the step increment of piston volume (δV) and choose a depth sensor according to specifications.

    • 6.

      Estimate the power consumption and choose the battery capacity.

    • 7.

      Go to step 1 if energy autonomy does not comply with the maximum payload weight.

8 Conclusion and future work

In this paper, we presented a new low-cost profiling float called SeaBot. It implements a new method based on a full state feedback controller and an EKF estimator that was tested experimentally. We also gave a special focus on proposing tools that help to validate the system characteristics. In particular, that the system is able to follow the depth profile set-point. To summarize the validation method, we proposed a design loop to develop low-cost float.

This new controller has the advantage of not having a depth overshoot which reduces power consumption. It does not require fine calibration of coefficients since they are estimated online. Compared to the state of the art, the controller seems to be equivalent or better than existing controllers in term of depth control accuracy. However, there is no sufficiently detailed data in the literature to make an accurate comparison. This work will therefore allow in the future to establish a basis for comparison on the performance of a density based controller given the accuracy of the pressure sensor.

This controller has several limitations that would be interesting to address in future work. The dynamic model on which the controller is based could be completed to take into account a more realistic compressibility law. The coefficient of friction of the float could also be estimated assuming that it is observable. In our case of a very high compressibility of the float compared to that of water, the influence of temperature on the density of water is negligible. This is no longer the case when the compressibility are of the same order of magnitude: this would need to be taken into account in the model. In addition, a float less compressible than water would make it stable and therefore would make it possible to have zeroenergy consumption once the set point is reached under the condition that there is no variation in vertical currents. Finally, we found that in the presence of shallow water, the swell can have an impact on the depth measured by the pressure sensor. An adapted filtering of the swell would therefore be necessary to avoid compensating it.

Acknowledgements

This work has been supported by the French Government Defense procurement and technology agency (DGA).

References

  1. S. Le Reste, V. Dutreuil, X. Andre, V. Thierry, C. Renaut, P. Le Traon, G. Maze, A new profiling float to extend the argo observations down to 4000m depth, J. Atmos. Ocean. Technol. 33, 1039–1055 (2016) [Google Scholar]
  2. S.C. Riser, H.J. Freeland, D. Roemmich, S. Wijffels, A. Troisi, M. Belbéoch, D. Gilbert, J. Xu, S. Pouliquen, A. Thresher, P.-Y. Le Traon, G. Maze, B. Klein, M. Ravichandran, F. Grant, P.-M. Poulain, T. Suga, B. Lim, A. Sterl, P. Sutton, K.-A. Mork, P.J. Vélez-Belchí, I. Ansorge, B. King, J. Turton, M. Baringer, S.R. Jayne, Fifteen years of ocean observations with the global argo array, Nat. Clim. Change 6, 145–153 (2016) [CrossRef] [Google Scholar]
  3. J.S. Jaffe, P.J.S. Franks, P.L.D. Roberts, D. Mirza, C. Schurgers, R. Kastner, A. Boch, A swarm of autonomous miniature underwater robot drifters for exploring submesoscale ocean dynamics, Nat. Commun. 8, 14189 (2017) [PubMed] [Google Scholar]
  4. W.M. Bessa, E. Kreuzer, J. Lange, M. Pick, E. Solowjow, Design and adaptive depth control of a micro diving agent, IEEE Robot. Auto. Lett. 2, 1871–1877 (2017) [Google Scholar]
  5. T.I. Fossen, Handbook of marine craft hydrodynamics and motion control =: Vademecum de navium motu contra aquas et de motu gubernando, Wiley, New York, (2011) [CrossRef] [Google Scholar]
  6. P. Agati, F. Lerouge, M. Rossetto, 2016 Résistance des matériaux - 2ème édition - Cours, exercices et applications industrielles. Dunod, 2e édition [Google Scholar]
  7. M. Aublin, R. Boncompain, M. Boulaton, D. Caron, E. Jeay, B. Lacage, J. Réa, Systèmes mécaniques - Théorie et dimensionnement, Dunod, Paris, 2005 [Google Scholar]
  8. S. Timoshenko, Strength of materials, part II, Adv. Theory Problems 245 (1941) [Google Scholar]
  9. Y. Shi, C. Shen, H. Fang, H. Li, Advanced control in marine mechatronic systems: A survey, IEEE/ASME Trans. Mech. 22, 1121–1131 (2017) [Google Scholar]
  10. B. McGilvray, C. Roman, 2016 Control system performance and efficiency for a mid-depth lagrangian profiling float, in OCEANS’10 IEEE SYDNEY, pp. 1–10 [Google Scholar]
  11. E.J. Berkenpas, B.S. Henning, C.M. Shepard, A.J. Turchik, C.J. Robinson, E.J. Portner, D.H. Li, P.C. Daniel, W.F. Gilly, A buoyancy-controlled lagrangian camera platform forIn SituImaging of marine organisms in midwater scattering layers, IEEE J. Ocean. Eng. 43, 595–607 (2018) [CrossRef] [Google Scholar]
  12. L. Jaulin, Mobile Robotics https://hal.archives-ouvertes.fr/hal-01236489 [Google Scholar]
  13. M. Le Gallic, J. Tillet, L. Jaulin, F. Bars, Tight slalom control for sailboat robots, in International Robotic Sailing Conference (2018) [Google Scholar]
  14. L. Jaulin, M. Kieffer, O. Didrit, É. Walter, Applied Interval Analysis: With Examples in Parameter and State Estimation, Robust Control and Robotics. Springer, London, 2001 [Google Scholar]
  15. T. Le Mézo, L. Jaulin, B. Zerr, An interval approach to compute invariant sets, IEEE Trans. Auto. Control 62, 4236–4242 (2017) [CrossRef] [Google Scholar]

1

This depends heavily on the use of thrusters and on the dive curve.

2

Notations are taken from [12].

3

Institut Français de Recherche pour l’Exploitation de la Mer.

4

The deformation of the tube is not constant but looks like an hourglass. Indeed, the caps at the end prevent the tube to be compressed regularly.

5

The implementation of the controller was improved compared to the first test.

6

The drag coefficient was not estimated accurately so the results only give an order of magnitude.

Cite this article as: T. Le Mézo, G. Le Maillot, T. Ropert, L. Jaulin, A. Ponte, B. Zerr, Design and control of a low-cost autonomous profiling float, Mechanics & Industry 21, 512 (2020)

All Tables

Table 1

Float physical parameters.

Table 2

Approximate values of material mechanical properties.

Table 3

Seabot piston parameters (experimental results, V ˙ p $\dot{V}_{p}$ is limited by software compared to the maximum possible values).

All Figures

thumbnail Fig. 1

Float equipped with a piston system.

In the text
thumbnail Fig. 2

Evolution of float depth for a positive and a negative χ.

In the text
thumbnail Fig. 3

The Seabot float.

In the text
thumbnail Fig. 4

Mechanical design of the ABS system.

In the text
thumbnail Fig. 5

Electronic design.

In the text
thumbnail Fig. 6

Software functional architecture.

In the text
thumbnail Fig. 7

Map of the set-point velocity as a function of the depth error δz.

In the text
thumbnail Fig. 8

Depth controller structure.

In the text
thumbnail Fig. 9

Ifremer Brest water tank with the SeaBot float. The robot is secured along a rope guide.

In the text
thumbnail Fig. 10

Depth z (in meter) of the float in function of time t (in seconds). The setpoint depth trajectory is in red and the float depth trajectory is in black.

In the text
thumbnail Fig. 11

Piston volume measured Vm in function of time t (in seconds).

In the text
thumbnail Fig. 12

Estimation of V0 and χ by the EKF over time.

In the text
thumbnail Fig. 13

Variance of V0 and χ over time in logarithmic scale.

In the text
thumbnail Fig. 14

Last test of the Seabot depth controller in the ENSTA Bretagne 2.5 m deep pool before a deployment in the Bertheaume cove. Note that we added colored stripes to make it easier to find the robot at the end of the mission.

In the text
thumbnail Fig. 15

Two SeaBot before their mission in the bay of Brest.

In the text
thumbnail Fig. 16

A Seabot after ending its mission in the lake of Guerlédan. We can only see the yellow antenna emerging from the surface at the center of the picture. An air drone is filming the scene.

In the text
thumbnail Fig. 17

The Guerlédan lake mission. The depth set-point trajectory is in red and the float depth trajectory is in black.

In the text
thumbnail Fig. 18

Outer approximation of the controller as a function of depth for two configurations. The maximum bounds of V ˙ p $\dot{V}_{p}$ are in red. Dotted curves correspond to the model with noise.

In the text

Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.

Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.

Initial download of the metrics may take a while.