<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Isobath Following using an Altimeter as a Unique Exteroceptive Sensor</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luc Jaulin ENSTA Bretagne</string-name>
          <email>lucjaulin@gmail.com</email>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>105</fpage>
      <lpage>110</lpage>
      <abstract>
        <p>We consider an underwater robot equipped with an altimeter (a simple echo-sounder oriented downward), a barometer and a low cost gyroscope. The robot has no compass. We show that using vector field control combined with a Kalman observer, it is possible to follow an isobath (which is a curve that connects all points having the same depth). The robustness of the controller is validated on a simulation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        This paper deals with the difficult problem for a robot to explore an unknown environment, without any
localization system and without being lost. By being lost, we mean not being able to reach a target set, or equivalently
not being able to come back home. Under the water, we can easily know the depth using a barometer and the
problem of finding a path can be considered in the horizontal 2D plane. If we are able to measure some quantities
such as the altitude, the temperature, the salinity, etc, we can find a reliable path which allows us not being lost.
This the case of underwater animals such as marine turtles, or whales which follow isotherms
        <xref ref-type="bibr" rid="ref4">(Lohmann and
Lohmann, 1996)</xref>
        with the help of an internal compass. These underwater animals do not know where they are
but they know from the evolutionary process that if they follow a sequence of iso-potentials they will perform a
cycle which is stable.
      </p>
      <p>
        Here, to perform the exploration we will rely on a bathymetric approach. This is motivated by the thesis
of Rohou
        <xref ref-type="bibr" rid="ref6">(Rohou, 2017)</xref>
        who has shown that once some underwater exploration has been done, a bathymetric
localization can be performed if we know the map. Better than that, an efficient and reliable bathymetric
simultaneous localization and mapping (SLAM) could be done using the tube approach of Rohou
        <xref ref-type="bibr" rid="ref6">(Rohou, 2017)</xref>
        .
Now, Rohou assumed that the mission was already performed and an external localization system had to be used
for this purpose. This motivates the need to explore an unknown underwater environment using an altimeter
as the single exteroceptive sensor. The paper proposes a solution for this exploration following an isobath in a
simple manner, with simple low cost sensors, without any compass and without surfacing to use the GPS.
An isobath is an imaginary curve that connects all points having the same depth h(x, y) below the surface, i.e.,
an underwater level curve. Consider an underwater robot
        <xref ref-type="bibr" rid="ref2 ref3">(Jaulin, 2015a)</xref>
        described by the state equation:
 x˙ = cos ψ
 y˙ = sin ψ
 z˙ = u1
 ψ˙ = u2
 y1

      </p>
      <p>y2
 y3
= z − h(x, y)
= angle(∇h(x, y)) − ψ
= −z
where (x, y, z) corresponds to the position of the robot and ψ is its heading angle. The robot is able to measure
its altitude y1 with an echo sounder which is a simple and low-cost sonar transmitting a sound pulse. The time
interval between emission and return of a pulse is recorded and provides the distance to the seafloor. In the
first part of the paper, we assume that we measure the angle y2 of the gradient of h in its own frame. This
assumption which is not always realistic will be lifted later in Section 4. Moreover the robot is able to know its
depth y3 using a pressure sensor.</p>
      <p>The observation function of our system is thus
where ∇h(x, y) the gradient of h. For instance, if y = 7, − π2 , 2 , the robot knows that it is following an isobath
corresponding to −y1 − y3 = −7 − 2 = −9m, at a depth of 2m. This is illustrated by Figure 1.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Controller</title>
      <p>In this section, we propose a controller of the form u = r (y), which makes the robot follows an isobath
corresponding to h0 = −9m at a depth y3 = 2m. For the control of the depth, we can take a proportional control of
the form</p>
      <p>
        For the heading, assume that we first want to follow the isobath just below the robot. Equivalently we want to
the robot be perpendicular to ∇h(x, y), for instance, y2 = ± π2 , depending if we want the gradient on our right or
on our left. Take for instance e1 = y2 + π2 as an error. This means that we want to have an angle y2 = − π2 with
∇h, or equivalently, we want ∇h on the right, as in Figure 1. If e1 = 0, we follow an isobath, but is may not be
the right one. We thus have to consider another error corresponding to e2 = −y3 − y1 − h0 = 0. It e2 = 0, we are
just above the right isobath but maybe not parallel to it. If both e1 = 0 and e2 = 0, we are on the right isobath
(e1 = 0) but we also go on the right direction (e2 = 0). For the heading, we may take the following controller
π
u2 = tanh(e2) + sawtooth(e1) = −tanh(h0 + y3 + y1) + sawtooth(y2 + ),
2
where tanh creates a saturation
        <xref ref-type="bibr" rid="ref2 ref3">(Jaulin, 2015b)</xref>
        . The sawtooth function is given by:
As illustrated by Figure 2, the function corresponds to an error in heading. The interest in taking an error
θe filtered by the sawtooth function is to avoid the problem of the 2kπ modulus: we would like a 2kπ to be
considered non-zero.
      </p>
      <p>sawtooth(θe) = 2atan tan θ2e = mod(θe + π, 2π) − π
(5)
For the initial condition, we take x = 2, y = −1, z = −2, ψ = 0 we obtain the trajectory depicted on Figure 3.
h (x, y) = 2 · e− (x+2)21+0(y+2)2 + 2 · e− (x−2)21+0(y−2)2 − 10.</p>
      <sec id="sec-2-1">
        <title>The controller may thus be given by</title>
        <p>u =</p>
        <p>y3 − y3
−tanh(h0 + y3 + y1) + sawtooth(y2 + π2 )
.</p>
        <p>The coefficients for the controller (all taken here equal to ±1) should be tuned in order to have the stability
and correct time constants.</p>
        <p>Remark. For the heading, the controller is close to a proportional and derivative control, where tanh(h0 +
y3 + y1) corresponds to the proportional term and sawtooth(y2 + π2 ) to the derivative term. For the heading
control, we could take a proportional and derivative control of the form
u2 = (y1 − y1) + y˙1 = (y1 − y1) + z˙ − ∇h(x, y) ·
cos ψ
sin ψ
where y1 = −y3 − h0 , z˙ can be assumed to be zero and ∇h(x, y) · csoins ψψ
Recall that x, y, ψ are not measured and cannot be used by our controller.</p>
      </sec>
      <sec id="sec-2-2">
        <title>We consider a seafloor described by</title>
        <p>is assimilated to sawtooth(y2 + π2 ).
(6)
(7)
(8)</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Using an observer to get the gradient of the seafloor</title>
      <p>
        We assumed previously that the robot was able to measure the vertical distance y1 to the seafloor using an
echosounder. Now, we have also assumed that the robot was also able to measure the angle y2 of the underneath
isobath which is not realistic with a low-cost sonar. The angle y2 = angle(∇h(x, y))−ψ should thus be estimated
using an observer such as a Kalman filter. The idea is similar to what is proposed in
        <xref ref-type="bibr" rid="ref2 ref3">(Jaulin, 2015a)</xref>
        in the context
where a car has to follow a wall at a given distance from measuring the distance to the wall only.
      </p>
      <p>In the local frame of the robot projected onto the surface, the underneath plane satisfies the equation
(9)
(10)
z1 = p1x1 + p2y1 + p3
where (p1, p2) corresponds to the gradient and p3 to h (x, y). Let us note that
• (i) Since the robot has no compass, it has no idea of its orientation and can thus have an estimation of its
neighborhood only in its own frame. This is why we have chosen to express the plane in the robot frame.
• (ii) Without limitation of the method, we have chosen a linear model. Now, for more accuracy, we could
have taken a model of the seafloor with more parameters, such as a quadratic model z1 = p1x12 + p2y12 +
p3x1y1 + p4x1 + p5y1 + p5. This quadratic model is particularly interesting if the seafloor is smoothly curved.
Prediction. We assumed that the underneath seafloor is locally planar. We thus have:</p>
      <p> 0 ψ˙ 0 
p˙ =  −ψ˙ 0 0  p.</p>
      <p>1 0 0
This equation can be understood by the fact that the gradient (p1, p2) turns with the robot and that the variable
p3 increases when the robot moves with the gradient (i.e., with p1). As a consequence, we can assume the
following prediction equation for the underneath plane:
controller</p>
      <p>Kalman filter</p>
      <p>Correction. Since we measure both the altitude y1 and the depth y3, we have an indirect measurement of
p3. We thus have the correction equation:
−y1 − y3 =
where β (k) is a white Gaussian noise. The unknown gradient can thus be estimated by a Kalman filter which
returns an estimation pˆ of p. This is illustrated by Figure 4. In the Kalman filter box, we have represented a
plane which what is actually estimated by the Kalman observer.</p>
      <sec id="sec-3-1">
        <title>The controller (6) may thus be given by</title>
        <p>u =</p>
        <p>y3 − y3
−tanh(h0 − pˆ3) + sawtooth(atan2(pˆ2, pˆ1) + π2 )
.</p>
        <p>As illustrated by Figure 5, the trajectory oscillates and the isobath following is less accurate. If we observe the
covariance matrix for p, we observe that when the seafloor becomes planar for a while, the estimation is good
at the beginning and becomes slowly very bad. This is due to the fact that a straight trajectory corresponds to
a singularity. Now, in such a case, the robot goes ahead and performs the isobath following. Later, when the
seafloor changes its orientation, the estimation of p becomes more accurate and the robot is able to change its
orientation accordingly.
(11)
(12)
(13)</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>
        In this paper, we have shown that it was possible to follow an isobath with low-cost sensors that are not greedy
in energy. Now, once we are able to follow such an isobath, it should be possible to detect the existence of a
cycle using proprioceptive sensors (motors for instance)
        <xref ref-type="bibr" rid="ref1">(Aubry et al., 2013)</xref>
        . Such a cycle could thus lead us to
a localization and also to the possibility to perform a bathymetric SLAM. Since the control is bathymetric, we
have all elements to solve a pure bathymetric explore and return problem
        <xref ref-type="bibr" rid="ref5">(Newman et al., 2002)</xref>
        which has not
been solved yet, to our knowledge.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Aubry</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desmare</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Jaulin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Loop detection of mobile robots using interval analysis</article-title>
          .
          <source>Automatica</source>
          ,
          <volume>49</volume>
          (
          <issue>2</issue>
          ):
          <fpage>463</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Jaulin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2015a</year>
          ).
          <article-title>Automation for robotics</article-title>
          . John Wiley &amp; Sons.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Jaulin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2015b</year>
          ).
          <article-title>Mobile robotics</article-title>
          . Elsevier.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>1996</year>
          ).
          <article-title>Orientation and open-sea navigation in sea turtles</article-title>
          .
          <source>Journal of Experimental Biology</source>
          ,
          <volume>199</volume>
          (
          <issue>1</issue>
          ):
          <fpage>73</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Newman</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leonard</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Tard´os, J. D., and
          <string-name>
            <surname>Neira</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Explore and return: Experimental validation of real-time concurrent mapping and localization</article-title>
          .
          <source>In Robotics and Automation</source>
          ,
          <year>2002</year>
          . Proceedings. ICRA'02. IEEE International Conference on, volume
          <volume>2</volume>
          , pages
          <fpage>1802</fpage>
          -
          <lpage>1809</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Rohou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Reliable robot localization: a constraint programming approach over dynamical systems</article-title>
          .
          <source>PhD thesis</source>
          , Brest.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>