Nonlinear Output Feedback for Autonomous U-turn Maneuvers of a
Robot in Orchard Headlands
E. Le Fl
´
echer
1,2 a
, A. Durand-Petiteville
3
, F. Gouaisbaut
1,2
, V. Cadenat
1,2
, T. Sentenac
1
and S. Vougioukas
3
1
CNRS, LAAS, 7 avenue du colonel Roche, F-31400 Toulouse, France
2
Univ. de Toulouse, UPS, F-31400, Toulouse, France
3
Departement of Biological and Agricultural Engineering, University of California, Davis, CA, 95616, U.S.A.
Keywords:
Mobile Robotics, Sensor-based Navigation, Control Theory, Agricultural Robotics, Orchards.
Abstract:
This paper is devoted to the navigation of a robot in orchard headlands using embedded sensors such as lasers,
Lidars or cameras. The main idea is to consider a differential robot model directly in polar coordinates and
not in Cartesian coordinates which makes it possible to obtain simpler expressions of the outputs. Then two
nonlinear output state feedback controllers are proposed to track two shapes based on spirals allowing to go
from one row of fruit trees to another. These controllers are based on an input to output linearization and
proved to be very efficient on simulations.
1 INTRODUCTION
According to (Foley et al., 2011), agriculture will
need by 2050 to double its production to feed the in-
creasing population. Mechanization has been iden-
tified as one of the best solutions to increase signifi-
cantly the food production (Reid, 2011). For mowing,
spraying, pruning, harvesting in fields or orchards,
one of the main challenge consists in navigating. In
other words, the robot has to autonomously drive from
the entrance of a row to its exit, then navigate in the
headlands to reach the entrance of the next row. This
process is repeated to cover the area of interest. This
problem has been addressed for many years as it is
shown in the review proposed in (Li et al., 2009).
Most of the presented solutions focus on open field
navigation and rely on GPS. The presented work is in-
cluded in the orchards navigation problem where GPS
cannot be used because its signal is blocked by the
dense canopy. For this reason, orchards navigation
systems are based on sensors such as laser range find-
ers, Lidars or cameras. For example, laser range find-
ers and cameras are used to drive through rows (Sub-
ramanian et al., 2006), (Sharifi and Chen, 2015). The
headland navigation problem is addressed in works
such as (Andersen et al., 2010), (Zhang et al., 2014)
and (Bayar et al., 2015) where sensory data (proprio-
a
https://orcid.org/0000-0002-2683-8675
ceptive and/or exteroceptive) are used to localize the
robot in a metric map of the orchard in order to follow
a precomputed path. However, keeping an updated
metric map seems challenging due to constant varia-
tion of the environment. Indeed, over the years, trees
grow up, and are pruned; over the seasons, leaves
grow then disappear; over the days, fruits grow, bend
branches and finally fall. Moreover, metric localiza-
tion can accumulate errors and lead to the navigation
failure. To overcome these drawbacks, we have pre-
sented in (Durand-Petiteville et al., 2017) a solution
relying on a topological representation of the envi-
ronment coupled with a set of output feedback con-
trollers. Especially, the headland navigation consists
in a U-shape turn around the last tree of the row. It
is performed thanks to an output feedback controller
tracking a spiral, inspired by the work presented in
(Boyadzhiev, 1999).
However, as presented in (Bochtis and Vou-
gioukas, 2008) and in (Zhang et al., 2014), it is not
always possible to perform a simple U-shape turn be-
cause of the minimum turning radius of the robot
which might be too small to deal with narrow rows.
It is then mandatory to consider different shapes for
turns. Thus, in this paper, we address the headland
navigation by designing controllers allowing to per-
form two different shapes of turns (see figure 1). The
first one, the classical U-shape turn, is used when
Flécher, E., Durand-Petiteville, A., Gouaisbaut, F., Cadenat, V., Sentenac, T. and Vougioukas, S.
Nonlinear Output Feedback for Autonomous U-turn Maneuvers of a Robot in Orchard Headlands.
DOI: 10.5220/0007918803550362
In Proceedings of the 16th International Conference on Informatics in Control, Automation and Robotics (ICINCO 2019), pages 355-362
ISBN: 978-989-758-380-3
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
355
the robot turning radius is large enough to allow the
vehicle directly reach the middle of the next row.
When it is not the case, a more complex shape for the
turn known as -shape turn is chosen as proposed in
(Bochtis and Vougioukas, 2008). This shape is clas-
sically used when the robot can only drive forward.
The lack of sensors to detect hazards while driving
backward usually motivates this choice.
Figure 1: Dashed red: U-shape k Solid blue: -shape.
The problem considered in this paper is centered
around control only (the planning level is not consid-
ered here). Thus, this work aims i) at creating the
paths of reference to perform U-turn maneuvers (ei-
ther or U, built from spirals, following the ideas
proposed in (Boyadzhiev, 1999)) and ii) at design-
ing nonlinear controllers able to track the predefined
shapes. The whole problem is stated in terms of po-
lar coordinates instead of Cartesian ones as presented
in (Siegwart et al., 2011). This formulation allows
to design output feedback controllers which depend
on the measurements and not only on the robot ab-
solute position for instance as it has been done in
(d’Andrea Novel et al., 1992; d’Andr
´
ea Novel et al.,
1995). Therefore, unlike the works (Asif et al., 2016;
Yang et al., 2016; Shi et al., 2016), there is no need to
consider the design of observers to recover the whole
state. In this way, metric localization and cumulative
errors can be avoided. From a technical point of view,
the proposed controllers rely on an input to output lin-
earization based on the expression of the errors dy-
namics. A nonlinear diffeomorphism based only on
the outputs allows to transform the nonlinear model
into a linear system. This latter is then controlled
using classical linear control laws. Finally, notice
that both controllers induce a zero dynamic which is
proved to be stable only.
This paper is organized as follows. The next sec-
tion is devoted to the problem statement. An exoge-
nous model of the spiral shape is first derived using
polar information. Then, based on this reference, a
nonlinear model of the error dynamics is established.
The nonlinear output feedbacks controllers, based on
input to state linearization techniques (Isidori, 2013),
allowing to vanish these errors are designed in section
3. Finally, simulation results allowing to highlight the
interest and the efficiency of the approach end the ar-
ticle.
2 ROBOT AND U-TURNS
MODELING
In this section, the mathematical models used in this
paper are introduced. First the model of a differen-
tial robot is presented. Next, the spiral model from
(Boyadzhiev, 1999) is recalled. Finally, based on the
geometry of the spiral, the two shapes of turns are
modeled.
2.1 System Modeling
We consider a differential robot driving in the head-
land by turning around the last tree of a row. Firstly,
a global frame F
w
= (O
w
,~x
w
,~y
w
,~z
w
) represents the
position of the tree of interest (see figure 2(a)). Next,
the frame F
r
= (O
r
,~x
r
,~y
r
,~z
r
) is attached to the dif-
ferential robot. The robot states in F
w
are defined by
χ(t) = [d(t) β(t) α(t)]
T
, where d(t) is the norm of
the vector
~
d connecting O
w
and 0
r
, β(t) the angle be-
tween ~x
w
and
~
d , and α(t) the angle between ~x
r
and
~
d. d(t) and β(t) are the polar coordinates of the robot
in F
w
, and α(t) is its orientation. This choice for the
state representation is motivated by the fact that both
d(t) and α(t) can be directly measured by embedded
sensors such as laser range finders, stereo visions sys-
tems or Lidars. Thus, it is assumed that the measure
is given by:
y(t) =
1 0 0
0 0 1
χ(t) (1)
Finally, the robot control input is defined by
[v(t) ω(t)]
T
, with v(t) the linear velocity along~x
r
and
ω(t) the angular velocity around ~z
r
. Thus, the kine-
matic equations are given by:
˙
d(t)
˙
β(t)
˙
α(t)
=
cos(α(t)) 0
sin(α(t))
d(t)
0
sin(α(t))
d(t)
1
v(t)
ω(t)
(2)
2.2 Spiral Modeling
In this work, it is proposed to perform different shapes
of turns by tracking paths created thanks to spirals,
whose a model is given in (Boyadzhiev, 1999). Let
define a point O
p
moving on a plane with respect to
a fixed point O
s
(see figure 2(b)). From now on, O
s
will be considered as the center of the spiral. ~v
?
is the
velocity vector applied to O
p
and its norm is denoted
ICINCO 2019 - 16th International Conference on Informatics in Control, Automation and Robotics
356
(a) System model (b) Spiral model
Figure 2: Models.
by v
?
(t). Moreover
~
d
?
is the vector connecting O
s
to
O
p
whose norm is d
?
(t). Finally α
?
(t) is defined as
the oriented angle between~v
?
and
~
d
?
. In (Boyadzhiev,
1999) it is shown that if both v
?
(t) and α
?
(t) are con-
stant then O
p
describes a spiral whose center is O
s
.
For this reason they are respectively denoted v
?
and
α
?
from now on. Moreover the author shows that the
dynamics of the distance d
?
is defined as follows:
˙
d
?
= v
?
cos(α
?
) (3)
As it can be seen in this equation, the type of per-
formed spiral depends on the sole parameter α
?
. First
if 0 < α
?
< π, O
p
turns counter-clockwise with re-
spect to O
s
otherwise if 0 < α
?
< π it turns clock-
wise. Then if 0 α
?
< π/2 or 0 α
?
< π/2,
d
?
(t) decreases with time. In other words, O
p
is
describing an inward spiral around O
s
. If π/2 <
α
?
π or π/2 < α
?
π then d
?
(t) increases with
time which means O
p
is describing an outward spi-
ral around O
s
. Finally, if α
?
= π/2 or α
?
= π/2,
d
?
(t) = d
?
(0). O
p
then describes a circle of radius
d
?
(0) around O
s
.
Equation (3) and its analysis highlight our interest
in the spirals. Indeed, adapting the spiral model to our
system, i.e., the center of the spiral is the position of
the tree of interest with O
w
= O
S
, defines a reference
path, whose distance dynamics is known, solely based
on one point. The reference path is thus defined in the
robot sensor space.
2.3 U-shape Turn Modeling
2.3.1 U-shape Turn in the Navigation Problem
In the context of an orchard navigation, the robot has
to drive from p
i
, end of the current row, to p
f
, begin-
ning of the next row (see figure 3(a)). In this spe-
cific application, the width of each row is roughly
known (e.g., farmers data or Google map) and saved
in the robot database. Thus, when the end of the
row is detected by a dedicated data processing algo-
rithm, the robot measures d
S1
i
and extracts d
S1
f
from
its database. It is then possible to compute the spiral
S
1
linking those two points, i.e., to compute α
?
for a
given v
?
. Moreover, for a given spiral, one can calcu-
late the required turning radius. If this latter is smaller
than the robot one, then a U-shape turn is tracked to
enter the next row.
2.3.2 U-shape Turn Error
As previously explained, U-shape turns are performed
by tracking a spiral. To do so, it is mandatory to re-
spectively make α(t) and d(t) converge towards α
?
and d
?
(t). Thus, the problem of tracking a U-shape
turn can be seen as the problem of finding a controller
such that the error (4) converges to zero.
e
d
(t) = d(t) d
?
(t)
e
α
(t) = α(t) α
?
(4)
(a) U-shape and -shape
turns
0 10 20 30 40 50
(t) (deg)
4
5
6
7
8
9
10
11
d ( (t)) (m)
(b) Dotted: d
S1
& d
S2
k
Solid: d
β
(β(t))
Figure 3: U-shape, -shape and distance profile d
β
(β(t)).
2.4 -shape Turn
2.4.1 -shape Turn in the Navigation Problem
In case the spiral S
1
computed in 2.3.1 requires a too
large turning radius, the robot has to perform an -
shape turn. One recalls that this choice is motivated
by the inability of the robot to go backward. An -
shape turn is made of three parts: i) moving from p
i
to a spiral S
2
(ϕ
1
), ii) tracking S
2
(ϕ
2
), and iii) mov-
ing from S
2
to p
f
(ϕ
3
). For each part, the robot turn-
ing radius has to be large enough to track the refer-
ence. Moreover, one has to guarantee the shape,
and thus the success of the U-turn. Let define, β
ϕ
the angular distance to switch from one row to the
next one. Moreover, β
ϕ
1
, β
ϕ
2
and β
ϕ
3
are respec-
tively the angular distances of parts ϕ
1
, ϕ
2
and ϕ
3
.
Because β
ϕ
1
+ β
ϕ
2
+ β
ϕ
3
= β
ϕ
, with β
ϕ
1
0, β
ϕ
2
0
and β
ϕ
3
0, it is mandatory that:
β
ϕ
1
+ β
ϕ
3
β
ϕ
(5)
Next, let define S
min
, the spiral centered on O
w
with
the smallest radius d
min
such that the robot turning ra-
dius is large enough to track it. Thus, parts ϕ
1
and ϕ
3
Nonlinear Output Feedback for Autonomous U-turn Maneuvers of a Robot in Orchard Headlands
357
have to make the robot move from/to spiral S
1
to/from
a spiral S
2
centered on O
w
with a radius d
S2
d
min
while respecting the constraint introduced by equa-
tion (5). For this reason, it is proposed to track a
distance profile d
β
(β(t)), guaranteeing that the robot
reaches the spiral for a given angular distance.
2.4.2 Distance Profile Design
To design the distance profile d
β
(β(t)), we first define
normalized angle
¯
β(t), with 0
¯
β(t) 1, as:
¯
β(t) =
β(t) β(t
0
)
β(t
f
) β(t
0
)
(6)
where t
0
and t
f
are the initial and final time, and β(t)
is based on the encoders measurements. β(t
0
) and
β(t
f
) represent therefore the starting angle and the fi-
nal angle. In addition,
¯
d
β
(
¯
β(t)) is defined as the nor-
malized distance to track, with 0
¯
d
β
(
¯
β(t)) 1. In
order to obtain a distance profile dealing with the ini-
tial and final robot orientations, the path described by
the profile is tangent to the spirals. Thus, it is pro-
posed to define
¯
d
β
(
¯
β(t)) such as:
¯
d
β
(
¯
β(t)) = k
0
tan
1
(k
1
(
¯
β(t) + k
2
)) + k
3
(7)
with k
0
,k
1
,k
2
and k
3
, scalar terms used to design
the shape of the normalized function. Moreover the
choice of those parameters has to guarantee that the
distance profile to track does not require a too large
turning radius. Finally, using equations (6) and (7),
we obtain:
d
β
(β(t)) = d(t
0
) +
¯
d
β
(
¯
β(t))[d(t
f
) d(t
0
)] (8)
An example of this distance profile is given in figure
3(b) with k
0
= 0.365, k
1
= 10, k
2
= 0.5, k
3
= 0.5,
β(t
0
) = 0 rad, β(t
f
) = π/4 rad, d(t
0
) = 5 m and
d(t
f
) = 10 m.
2.4.3 -shape Turn Error
As previously explained, -shape turns are made of
three parts. ϕ
2
consists in a spiral tracking and thus
requires to find a controller vanishing the error (4).
Regarding parts ϕ
1
and ϕ
3
, it is mandatory to make
d(t) converge towards d
β
(β(t)). Thus, the problem of
making the robot reach a spiral turns into the prob-
lem of finding a controller such that the error (9) con-
verges to zero.
e
d
β
(t) = d(t) d
β
(β(t)) (9)
U-shape and -shape turns can thus be performed
by following a spiral and moving from one spiral to
the other. At this stage, as the different turns have
been expressed by introducing a set of errors, the next
section will be dedicated to the design of controllers
allowing to make them vanish.
3 CONTROLLERS DESIGN
This section proposes to design an output feedback
control law which makes the errors (4) and (9) con-
verge toward zero asymptotically. As the system
is nonlinear, the main idea is to use an exact input
to state linearization method proposed by (Isidori,
2013). We first present the controller allowing the
tracking of a spiral. In a second subsection, an adap-
tation of this controller is presented to move from one
spiral to another one. In this section, it is assumed that
v(t) is a constant input set at v
?
. The only remaining
input is therefore ω(t).
3.1 Spiral Tracking
The errors (4) dynamics are defined by:
˙e
d
(t) = v
?
[cos(α
?
) cos(α(t))]
˙e
α
(t) = ω(t) +
v
?
d(t)
sin(α(t))
(10)
Which can be written as follows:
˙e
d
(t) = v
?
[cos(α
?
) cos(e
α
(t) + α
?
)]
˙e
α
(t) = ω(t) +
v
?
e
d
(t)+d
?
(t)
sin(e
α
(t) + α
?
)
(11)
The main idea of this section is to linearize the error
system. To this end, consider the transformation:
z =
z
1
z
2
=
e
d
(t)
v
?
[cos(α
?
) cos(e
α
(t) + α
?
)]
= T (e)
(12)
Notice that T(0) = 0 and in the domain D defined by:
D =
(e
d
,e
α
)
2
ke
d
,e
α
] α
?
,α
?
+ π[}
(13)
T defines a diffeomorphism. Applying this transfor-
mation to the error system leads to:
˙z
1
= z
2
˙z
2
= v
?
sin(e
α
(t) + α
?
) ˙e
α
(t)
(14)
and
˙z
1
= z
2
˙z
2
= v
?
sin(e
α
(t) +α
?
)(ω(t) +
v
?
e
d
(t)+d
?
(t)
sin(e
α
(t) +α
?
))
(15)
Taking:
ω(t) =
1
v
?
sin(e
α
(t) +α
?
)
ω
2
(t) +
v
?
e
d
(t) +d
?
(t)
sin(e
d
(t) +d
?
)
(16)
we obtain:
˙z
1
= z
2
˙z
2
= ω
2
(t)
(17)
where ω
2
(t) is a new control law, which has to be
designed. At this stage, as the system (17) is linear, a
classical linear control law:
ICINCO 2019 - 16th International Conference on Informatics in Control, Automation and Robotics
358
ω
2
(t) = λ
1
z
1
(t) λ
2
z
2
(t) (18)
with λ
1
,λ
2
> 0, allows to stabilize asymptotically sys-
tem (17).
Therefore, we propose the following theorem:
Theorem 1. Consider two positive scalars, λ
1
,λ
2
,
the error system (10) in closed loop with the control
law (16), (17), (18), where z = T (e) in (12) is locally
asymptotically stable.
Proof 1. It is sufficient to notice that z converge
asymptotically to zero and z = T (e) defines a local
diffeomorphism with T(0) = 0.
Remark 1. λ
1
and λ
2
are two gains used to tune the
speed of convergence of the system in closed loop.
Remark 2. The relative degree of the chosen output
e
d
used for the linearization is two while the original
state space dimension is three. Therefore, there exists
a zero dynamic. Defining β
?
the reference trajectory
for β, the β error dynamics is driven by
˙e
β
(t) = (
sinα
d(t)
+
sinα
?
d
?
)v
?
Following (Isidori, 2013), it is straightforward to see
that the zero dynamic defined by
˙e
β
(t) = 0
is stable only. As a consequence, in steady state, we
may expect a static error between β(t) and its ex-
pected value β
?
(t).
3.2 Distance Profile Tracking
From now on, a path leading to the convergence to-
ward a specific spiral is described and thus a function
of d
β
(β(t)) is proposed. Therefore, the error to be
minimized can be rewritten as:
e
d
β
(t) = d(t) [d(
¯
β(t
0
)) +
¯
d
β
(
¯
β(t))d
gap
] (19)
The controller designed to ensure the convergence
of the error will use the same input to output feed-
back linearization method than the previous one. Let
introduce the following new states
z
s
=
z
1s
z
2s
=
e
d
β
(t)
˙z
1s
and therefore the transformation T
s
z
s
=
z
1s
z
2s
=
"
e
d
β
(t)
v
?
cos(α) + d
0
β
(β(t))
sin(α)
d
#
= T
s
(χ(t))
(20)
where d
0
β
(β(t)) stands for the derivative of d
β
with
respect to β. It can be proved that the transformation
T
s
defines a local diffeomorphism and applying this
transformation leads to:
˙e
d
β
(t) = v
?
cos(α(t)) k
0
k
1
˙
¯
β(t)d
gap
k
2
1
(
¯
β(t) + k
2
)
2
+ 1
(21)
Calculating the derivative of z
2s
along the trajectories
of the original system gives:
¨e
d
β
(t) =v
?
˙
α(t)sin(α(t))
k
0
k
1
¨
¯
β(t)d
gap
(k
2
1
(
¯
β(t) + k
2
)
2
+ 1)
+
2k
0
k
3
1
˙
¯
β
2
d
gap
(
¯
β(t) + k
2
)
(k
2
1
(
¯
β(t) + k
2
)
2
+ 1)
2
(22)
where, thanks to the Eq.6,
˙
¯
β(t) and
¨
¯
β(t) are computed
as:
˙
¯
β(t) =
v
?
sin(α(t))
d(t)β
gap
(23)
¨
¯
β(t) =
v
?
sin(α(t))
˙
d(t)
d
2
(t) β
gap
+
v
?
˙
α(t)cos(α(t))
d(t)β
gap
(24)
Hence, the z
s
system can be rewritten as :
˙z
1s
= z
2s
,
˙z
2s
= f (α(t),β(t),d(t)) + g(α(t),β(t), d(t))ω
(25)
where the function f is defined accordingly to
(22),(23),(24).
Choosing the control law for ω such that
ω(t) =
1
g(α,β,d)
( f (α,β,d) + ω
3
(t)) (26)
where ω
3
(t) is a new control allowing to obtain the
following system defined by a simple double integra-
tor:
˙z
1s
= z
2s
,
˙z
2s
= ω
3
(t)
(27)
We propose therefore the following control law for
ω
3
(t)
ω
3
(t) = λ
1s
˙e
d
β
(t) λ
2s
e
d
β
(t), (28)
where λ
1s
and λ
2s
are two positive scalars which en-
sure the asymptotic stability of the closed loop system
(25) with the control (26), (28).
Therefore we propose the following theorem:
Theorem 2. Consider two positive scalars, λ
1s
,λ
2s
,
the error system (25) in closed loop with the con-
trol law (26), (28), where z
s
= T
s
(χ) in (20) is locally
asymptotically stable.
Proof 2. Omitted.
Nonlinear Output Feedback for Autonomous U-turn Maneuvers of a Robot in Orchard Headlands
359
Remark 3. The controllers (16), (26), shows two sin-
gularities, when α(t) = π and α(t) = 0. These singu-
larities are due to the polar coordinates model and the
construction of the transformation T . Furthermore,
these ones occurs when the robot is facing the last tree
or let it on its back. Dealing with these configurations
are then easily avoidable.
As previously noted in the last subsection, 3.1, the
system in closed loop exibits also a stable zero dy-
namic.
In this section, we have proposed two output state
feedbacks controlling the convergence of the states to-
ward its references. A first one follows a specific spi-
ral based on d
?
(t) and α
?
(t). It is used for the part
ϕ
2
of our shapes of turn. The second controller al-
lows performing the convergence toward a spiral with
a given angle β
?
through a arctan profile. It will be
used during the part ϕ
1
and ϕ
3
of our turns.
4 SIMULATIONS
In this section, simulations realized with the
MATLAB
c
software are presented. First, we fo-
cus on the previously designed controllers, then we
couple them in order to simulate -shape turns. For
all the simulations: the sampling time is setup as
T
s
= 0.1 s, the spiral center is defined as [0,0] and
the linear velocity is given as v = 0.15 m.s
1
. More-
over, the robot is represented by a set of green and red
lines, respectively ~x
r
and ~y
r
.
4.1 Spiral Tracking
The first set of simulations shows the performance of
the spiral tracking controller given by equation (16)
setup with λ
1
= 0.1 and λ
2
= 0.5. Here, two different
situations are presented. The first column (i.e., figures
4(a), 4(c), 4(e) and 4(g)) presents the behavior of the
robot when the initial robot pose is on the spiral to
be tracked. The robot starts at χ(t) = [7,0, π/2]
T
and
tracks an inward spiral defined by α
?
(t) = 15π/32 rad
and d
?
(t
0
) = 7 m. The second column (i.e., figures
4(b), 4(d), 4(f) and 4(h)) presents the behavior of the
robot when its initial pose is not on the spiral. The
robot starts at χ(t) = [6, 0,π/2]
T
and tracks the same
spiral. In figure 4(a) it can be seen that the robot tracks
accurately the spiral when its initial position belongs
to it. In figure 4(b), the robot first converges toward
the spiral and then follows it. However, the tracking
is not fully accurate and there is an error between the
current position and the desired one. As mentioned in
section 3.1, it can be explained by a static error on β(t)
in steady state. Indeed, as it can be seen in figures 4(d)
(a) Dotted: Reference spiral
- Solid: Robot trajectory
(b) Dotted: Reference spiral
- Solid: Robot trajectory
(c) solid: β(t) spiral - Solid:
β(t) robot
(d) solid: β(t) spiral - Solid:
β(t) robot
(e) Dotted: errors - Solid:
e
d
(t) - Dashed: e
α
(t)
(f) Dotted: errors - Solid:
e
d
(t) - Dashed: e
α
(t)
(g) ω(t) (h) ω(t)
Figure 4: Simulation of spiral tracking.
and 4(c) displaying the evolution of β(t) and β
?
(t),
a static error exists on steady state when the initial
robot state does not belong to the spiral. However,
the static error on β does not modify the controller
performances regarding e
α
(t) and e
d
(t) which both
converge towards zero (see figures 4(f), 4(e)). Finally,
figures 4(h) and 4(g) show the evolution of ω(t) used
to track the spiral.
4.2 Distance Profile Tracking
The second set of simulations presents the perfor-
mances of controller given by equation (26), allow-
ing to move toward a specific spiral. The controller is
set up with λ
S1
= 0.05, λ
S2
= 0.1 and d
β
(β(t)) is de-
fined with k
0
= 0.365, k
1
= 10, k
2
= 0.5, k
3
= 0.5,
β(t
0
) = 0 and β(t
f
) = 3π/8. The robot starts at
χ(t) = [5,0,π/2] and has to reach a spiral defined with
ICINCO 2019 - 16th International Conference on Informatics in Control, Automation and Robotics
360
d
?
(t
0
) = 10 m and α
?
= π/2 rad. As it can be seen
in figure 5(c), the robot reaches the desired spiral at
the given angle β(t
f
). Moreover, the distance profile
is accurately tracked (5(b)) with a smooth command
ω(t) (see figure 5(a)).
(a) ω(t) (b) e
d
(t)
(c) Dashed: Spirals of reference -
Dotted: desired trajectory - Solid:
Robot trajectory
Figure 5: Distance profile tracking.
4.3 -shape Turn
The third set of simulations presents an example of
-turn in the context of a headland navigation. First,
a row following task (see (Durand-Petiteville et al.,
2017) for more details) is performed, followed by
an -turn driving the robot to the next row. Fi-
nally, a new row following task is started. For this
simulation, the turn is performed with ω
MINMAX
=
±0.08 rad/s
1
and it requires both controllers given
by equations (16), (18), (26), and (28). The parame-
ters λ
1
= 0.01, λ
2
= 0.05 and λ
s1
= 0.01, λ
S2
= 0.05
are used for their respective controller. A profile
is created for ϕ
1
and ϕ
3
with k
0
= 0.365, k
1
= 10,
k
2
= 0.5 and k
3
= 0.5. The robot starts at χ(t) =
[3,0,π/2] and needs to reach a spiral defined at d
S2
=
8m and α
?
= π/2 rad with a respective angle of refer-
ence of β(ϕ
1
) = 3π/8 rad. Finally, d
s1
f
= 2.5m with
an angle of reference of β(ϕ
3
) = 3π/8 rad. In addi-
tion, to assess the sensitivity of the controllers to er-
rors, a centered Gaussian noise has been added to d(t)
and α(t), with a respective amplitude of 0.05m and
1
. As shown in 6(c), the robot successfully performs
a -shape turn by using alternatively both controllers
presented above. Indeed the designed distance pro-
files, as well as the spiral, are accurately tracked by
the robot (see figure 6(b)). Moreover, it should be no-
ticed that the static error on steady state during the
spiral tracking does not affect the turn. Indeed, the
distance profile for ϕ
1
is designed to allow to start the
spiral tracking when the robot state belongs to the spi-
ral. Thus, despite this drawback, the controller given
by (16) provides suitable performances for our spe-
cific navigation problem. It can also be noticed that
the noise added to the measures does not disturb the
behavior of the robot. Finally, an appropriate tuning
of parameters defining the distance profiles and spiral
allows to perform an -shape turn while dealing with
a maximal robot turning radius.
(a) Dashed: ω
MINMAX
-
Solid: ω(t)
(b) Dashed: d
S2
(t) -
Dashed: d
?
(β(t)) - Solid:
d(β(t))
(c) Dashed: Reference path - Solid:
Robot trajectory - Pink crosses: controller
switches - Black crosses: trees
Figure 6: -shape turn.
5 CONCLUSION
In this work, the problem of driving in headlands dur-
ing an orchard navigation has been addressed. First,
U-shape and -shape turns have been modeled using
polar coordinates in order to generate the paths to fol-
low when driving in the headland. Then, two nonlin-
ear output state feedbacks controllers have been de-
signed to track the designed paths. Their design was
based on input to state linearization techniques.
Simulations have highlighted the suitable perfor-
mances of the controllers and their usefulness to effi-
ciently drive the robot in orchards headlands. The ob-
tained results are encouraging and must be integrated
on our testbed. To do so, it is planned to couple the
controllers with a perception system allowing to de-
Nonlinear Output Feedback for Autonomous U-turn Maneuvers of a Robot in Orchard Headlands
361
tect the trees in the surroundings of the robot. Thus, it
will be possible to evaluate the efficiency and robust-
ness of the proposed approach.
Moreover, a couple of challenges have to be ad-
dressed to obtain a fully autonomous system. The
first one consists in automatically generating the spi-
ral and distance profile parameters based on the a pri-
ori known and on-line acquired data related to the or-
chard structure. Moreover, the controller sensitivity
to robot state has to be investigated. Thus, it might
be required to design a recursive estimation process
based on the acquired data to improve the accuracy
of the state knowledge. Finally, it seems relevant to
guarantee the continuity of the control law when the
robot switches from one controller to the other one.
REFERENCES
Andersen, J. C., Ravn, O., and Andersen, N. A. (2010).
Autonomous rule-based robot navigation in orchards.
IFAC Proceedings Volumes, 43(16):43–48.
Asif, M., Memon, A. Y., and Junaid Khan, M. (2016). Out-
put feedback control for trajectory tracking of wheeled
mobile robot. Intelligent Automation & Soft Comput-
ing, 22(1):75–87.
Bayar, G., Bergerman, M., Koku, A. B., and ilhan Konuk-
seven, E. (2015). Localization and control of an au-
tonomous orchard vehicle. Computers and Electron-
ics in Agriculture, 115:118–128.
Bochtis, D. and Vougioukas, S. (2008). Minimising the
non-working distance travelled by machines operating
in a headland field pattern. Biosystems engineering,
101(1):1–12.
Boyadzhiev, K. N. (1999). Spirals and conchospirals in the
flight of insects. The college mathematics Journal,
30(1):23.
d’Andrea Novel, B., Bastin, G., and Campion, G. (1992).
Dynamic feedback linearization of nonholonomic
wheeled mobile robots. In Robotics and automation,
1992., pages 2527–2532. IEEE.
d’Andr
´
ea Novel, B., Campion, G., and Bastin, G. (1995).
Control of nonholonomic wheeled mobile robots by
state feedback linearization. The International journal
of robotics research, 14(6):543–559.
Durand-Petiteville, A., Le Flecher, E., Cadenat, V., Sen-
tenac, T., and Vougioukas, S. (2017). Design of a
sensor-based controller performing u-turn to navigate
in orchards. International Conference on Informatics
in Control, Automation and Robotics, 2:172–181.
Foley, J. A., Ramankutty, N., Brauman, K. A., Cas-
sidy, E. S., Gerber, J. S., Johnston, M., Mueller,
N. D., O’Connell, C., Ray, D. K., West, P. C., et al.
(2011). Solutions for a cultivated planet. Nature,
478(7369):337.
Isidori, A. (2013). Nonlinear control systems. Springer
Science & Business Media.
Li, M., Imou, K., Wakabayashi, K., and Yokoyama, S.
(2009). Review of research on agricultural vehicle au-
tonomous guidance. International Journal of Agricul-
tural and Biological Engineering, 2(3):1–16.
Reid, J. F. (2011). The impact of mechanization on agricul-
ture. Bridge, 41(3):22–29.
Sharifi, M. and Chen, X. (2015). A novel vision based row
guidance approach for navigation of agricultural mo-
bile robots in orchards. In Automation, Robotics and
Applications (ICARA), 2015 6th International Confer-
ence on, pages 251–255. IEEE.
Shi, S., Yu, X., and Khoo, S. (2016). Robust finite-time
tracking control of nonholonomic mobile robots with-
out velocity measurements. International Journal of
Control, 89(2):411–423.
Siegwart, R., Nourbakhsh, I. R., and Scaramuzza, D.
(2011). Introduction to autonomous mobile robots.
MIT press.
Subramanian, V., Burks, T. F., and Arroyo, A. (2006). De-
velopment of machine vision and laser radar based au-
tonomous vehicle guidance systems for citrus grove
navigation. Computers and electronics in agriculture,
53(2):130–143.
Yang, H., Fan, X., Xia, Y., and Hua, C. (2016). Ro-
bust tracking control for wheeled mobile robot based
on extended state observer. Advanced Robotics,
30(1):68–78.
Zhang, J., Maeta, S., Bergerman, M., and Singh, S. (2014).
Mapping orchards for autonomous navigation. In
2014 Montreal, Quebec Canada July 13–July 16,
2014, page 1. American Society of Agricultural and
Biological Engineers.
ICINCO 2019 - 16th International Conference on Informatics in Control, Automation and Robotics
362