2007ACTI734
2007ACTI734
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
Saving energy is a critical issue for mini and micro-UAVs. We used tools rooted in the
’animat’ approach to generate energy saving behaviors for a glider robot. The connection
weights of feed-forward neural networks were optimized by evolutionary algorithms to
exhibit “soaring” behaviors, i.e. behaviors that capitalize on aerological conditions to
extract energy from the environment, focusing on thermal and slope wind exploitation.
Thermal soaring with spiral trajectories and slope soaring with eight-shaped trajectories
were thus exhibited. The optimization criterion used for thermal soaring was the average
altitude gain. For slope soaring, an additional criterion forced the glider to remain in a
limited area. These criteria were high-level specifications of the desired behaviors and did
not include any direct description of the strategy needed to get them.
I. Introduction
As the technology of battery manufacturing improves, substantial progress in the autonomy of small
UAVs (wingspan of about two meters) may be expected in the near future. However, it seems improbable
that flights largely exceeding one hour, like those performed by numerous animals, will be soon possible.
The reason does not only stem from technological limitations tied to energy storage or effector efficiency,
it is also related to the highly adapted energy-saving behaviors exhibited by these animals. Indeed, such
behaviors aim at minimizing energy consumption and at extracting energy from the environment whenever
possible. Birds, for instance, constantly exploit air masses movements to this end. Thanks to such dedicated
soaring behaviors, albatrosses, in particular, are able to remain airborne for days without even flapping their
wings.1, 2 Our research efforts mainly focus on behaviors that allow exploiting three different sources of air
movements, namely wind gradients, thermals and slope winds. The vertical gradient of an horizontal wind
makes it possible to extract energy when following a particular cyclic trajectory:3 starting at a high altitude,
wind in the back and diving, permits gaining speed; at low altitude, a sharp turn allows to face the wind and
to exploit the speed thus gained to reach the starting altitude again. Repeating this cycle allows to travel in
a given direction relative to the wind without loosing any energy as evidenced by albatrosses. Thermals are
simpler to exploit because they create a vertical air movement within which an aircraft just needs to remain
to gain altitude, generally exhibiting a spiral trajectory centered on the thermal like those exhibited by birds
of prey4 or glider pilots.5 Slope soaring is possible when the wind encounters a mountain, or at least a slope,
and lifts the aircraft. To avoid being crashed into the nearby obstacle, instead of a spiral trajectory, an
“eight-shaped” is better suited because it allows to fly with the slope safely maintained behind the aircraft.
This article describes results obtained on the design of controllers for autonomous UAVs able to exploit
such behaviors, as parts of the ROBUR project6 that aims at building a flapping-wing robot endowed with
the decisional autonomy required for fulfilling given missions without the help of a human operator. The
corresponding aircraft should have a wingspan of approximately one meter and should be able to remain
airborne for long periods of time. To this end, we design controllers that produce behaviors similar to soaring
behaviors in real birds. However, if qualitative information on how to exploit a particular environmental
condition is long-known, this knowledge is hardly compatible with classical control approaches. Although
human-designed controllers have been able to exhibit thermal soaring behavior in specific conditions,7 we
propose instead a generic methodology for the design of such controllers that relies on high-level behavior
description only, in fact on what the system should do rather than on how to do it. Such approach explores
∗ Prof.assistant, dept SIMA, [email protected]
† PhD student, dept SIMA, [email protected]
‡ Emeritus Research Director, dept SIMA, [email protected]
1
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
the available search space to answer the how to do it question. It is rooted in the animat approach,8 whose
goal is to build autonomous artificial artifacts and to develop adaptive algorithms that allow them to learn by
their own how to efficiently interact with their environment. In a similar perspective, Wharington already
proposed thermal soaring controllers relying on an adaptive scheme. In an experiment described in its
PhD,9 reinforcement learning was used to train a neural-based thermal locator. However, although efficient,
its system required too much computational power to be run in real time.
The proposed methodology mainly relies on the use of evolutionary algorithms that automatically design
general purpose controllers like neural networks or fuzzy rule-based systems. After completion of the evolu-
tionary process, these controllers aren’t changed anymore and require a computational power low enough to
be run on-board and in real time using current technology. The working principle of evolutionary algorithms
consists in exploring potential solutions through a trial-and-error process associated with selective pressures
and dedicated search operators. Given a genotype, i.e. a formal description of a solution – that may be a
mere vector of parameters or the description of a whole control architecture – and associated search oper-
ators, the algorithm explores the search space and converges towards solutions maximizing fitness criteria
provided by the user. These criteria correspond to the description of what can be expected from a good
solution and are expected to guide evolution towards solutions that are of interest for the user. To generate
soaring behaviors, for instance, a convenient fitness criterion may be as simple as the total flight time be-
cause controllers maximizing such criterion will necessarily call upon dedicated behaviors extracting energy
from the environment. It is also worth mentioning that evolutionary algorithms manipulate a population of
individuals in parallel. This is of interest especially when dealing with several antagonistic criteria. In our
case, for instance, we may wish to maximize the flight time while simultaneously maximizing the exploration
of the flight area : exploring is then antagonistic to exploiting a particular potential energy source once
discovered. In such circumstances, dedicated evolutionary algorithms generate at once an approximation of
the Pareto front, i.e. the set of the best compromises. The end-user can then analyze the different solutions
and choose the one that best suits his needs.
Recent work at ISIR concerned dynamic soaring control10 - i.e., the exploitation of wind gradients with
evolutionary algorithms and controllers based on fuzzy-rules systems. Starting with an inefficient hand-
designed controller, artificial evolution found controllers able to reach in simulation a performance similar to
that of an albatross with an endless flight in a wind gradient whose reference speed was 10m.s-1. The tests
of robustness that have been carried on showed that the behaviors were robust to initial conditions, but also
that they required very accurate sensors and were sensitive to gradient features. We furthered this work to
generate controllers for slope and thermal soaring behaviors.
After a presentation of the methodology, this paper describes our experiments and their results in simula-
tion, as well as the prototype that will be used to test the resulting controllers in real conditions. Perspectives
for future UAVs are also discussed.
II. Methodology
II.A. Model
II.A.1. Glider model
We used a semi-empirical, quasi steady-aerodynamics model in which our glider’s wings and tail are made
of independent panels. At each time step (0.02 sec in this work), the local incident airspeed is evaluated for
each panel and three aerodynamic forces are evaluated: the leading edge lift, the parachute drag and the
friction drag. All forces are summed to determine the movement of the whole glider. Further details on this
model can be found in.11
We have tuned the model to fit the features of the real platform that will be used to test the generated
behaviors in future experiments (see section III.C). Each wing is made with an internal and an external
panel and the tail has a “T” shape built with two other panels. The internal and the external panels of the
wing have a dihedral angle of 12o .
2
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
800
700
600
500
400
300
200
100
0
300
200
100
-300 0
-200
-100 -100
0
100 -200
200 -300
300
(a) (b)
Figure 1. Aerological conditions used in the work. (a) Thermal shape. Circles indicate the limit of thermal influence
for a given altitude. Inside a circle, the influence on the vertical speed increases from 0 on the periphery to its maximal
value at the center of the circle. X,Y and Z axis are 3D-coordinate in meters. (b) Visualisation of the wind field
(vertical component) near a 150m-high cliff. The wind blows from the left with a uniform speed of 11m.s−1 .
and crossover exchanges information between two (or more) different genotypes
3
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
design, such as a controller or a morphology in the case of robotics experiments, for instance;
• fitness and evaluation procedure: a value (or a vector of values in the case of multi-criteria evolutionary
algorithms) must be associated to a given genotype. It will be used by the selection algorithm to rank
individuals and determine which to keep and which to drop.
Thermal soaring. The goal of these experiments is to evolve a controller that allows the glider to gain
altitude thanks to a nearby thermal. The fitness function we used is then simply given by:
PT
t=0 (z(t) − zstart )
falt,i (ind) =
Ttotal
where falt,i (ind) is the altitude criterion value of individual ind for evaluation i, T is the occurrence time
of a crash (as detected by the condition z < 0 or in case of a numerical error in the simulationb ) and Ttotal
is the length of the allotted evaluation period if no crash occurred (Ttotal = 4000 in these experiments). z(t)
is the current altitude and zstart is the initial altitude.
The fitness f of an individual is then:
PN
falt,i (x)
f (ind) = falt (ind) = i=0
N
where f (ind) is the fitness value associated to individual ind and N is the number of evaluations.
To warrant a robust behavior not adapted to a single experiment, individuals were evaluated in a set
of seven runs which differed by the corresponding initial positions relative to the thermal. These initial
positions were respectively set at the center of the thermal, at four different locations inside the thermal and
at two positions outside the thermal (with the glider facing it).
Slope soaring The edge of our simulated slope being infinite, the optimal trajectory consists is a straight
lines with a carefully chosen orientation (“crab”-like trajectory). This behavior was easily generated by
evolution when using the altitude criterion only. However, because an infinite edge is not realistic, and
to avoid changing our slope model, we added a second criterion to the altitude criterion described above.
This criterion measured the deviation from an horizontal virtual axis perpendicular to the edge of the slope,
whose position has been arbitrarily chosen. This axis could characterize an area the glider was supposed to
remain into, either for its own safety (place where the wind was the most favorable) or for mission purposes
(observation for instance). The following criterion has thus been defined:
PT
− ytarget )
t=0 (y(t)
fdist,i (ind) =
Ttotal
PN
fdist,i (x)
fdist (ind) = i=0
N
b Such problem occasionally occurred in our simulation at high speeds, for instance. As the corresponding behavior was
unrealistic, we added a penalty – fi (x) = −100000 – to be sure that corresponding individuals would not reproduce.
4
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
(rollreal +noise)
• roll: roll angle, roll = π , where noise is a random value 6 7
less than 0.2rad
(pitchreal +noise)
• pitch: pitch angle pitch = π , where noise is a random o0 o1
2 elevator rudder
value less than 0.2rad
Figure 2. Neural network structure:
a multi-layer perceptron with two
• for thermal soaring experiments, the fourth input is constant and hidden neurons.
always equal to 1. For slope soaring experiments, this input was
the distance to the reference axis. This value was supposed to be
obtained from some GPS device or from a visual sensor.
Finally, connection weights were forced to belong to the interval [−2; 2] and were managed as an evolvable
vector of real values, as done with Evolution Strategies.16
All experiments have been implemented on the SFERES18 software, which is a framework dedicated to
the use of evolutionary algorithms on robotic simulations.
III. Results
III.A. Thermal soaring
5
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
a fitness of 89 was reached, meaning that the average altitude of the glider
during the evaluations is 89m above the starting altitude. The neural 2 1 0 3
exploiting the thermal in every case (fig 4). The trajectory is a sharp 1.81 −0.39 −0.87 −0.60
spiral that progressively shifts towards the center of the thermal.
6 7
To further evaluate the robustness of our controller, we tested it on a
wide set of initial conditions: starting always at the same altitude (300m),
the glider behavior was observed on a grid of x,y positions ranging between o0 o1
elevator rudder
-140m and 140m with a step of 10m. At this altitude, the thermal radius is
111m. We counted as successes experiments in which the highest altitude Figure 3. Neural network with the
connection weights evolved for ther-
reached was above 350m. On the 841 tests, 654 (77.8%) were successful mal soaring.
(figure 4-d); considering individuals starting from inside the thermal only,
the success rate increased up to 100%. The same test set on a thermal
with a convective velocity scale w∗ = 2.5 resulted in 73.1% successful tests (96.6% with starting positions
inside the thermal).
Unsuccessful trajectories followed a spiral with a wider radius than those inside the thermal. This
behavior enhances the probability of returning to the thermal, as the glider will cover a wider area, but it is
still sub-optimal, as only an Archimedes spiral - i.e. a spiral with an increasing radius, as used in7 - would
allow to return to the thermal. Generating such a trajectory would require using a kind of memory allowing
to increase a value representing the turn radius. This is not possible with the control structure that was used
here as it included no recurrent connections. Further experiments should rely on fixed recurrent structures
or on algorithms allowing their automatic design as used in.19, 20
6
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
900
800
700
900
800 600
700
600
500 500
400
300
200 400
100
0
300
250
200
150
100 200
-200 50
-150 0
-100 -50
-50 -100
0
50 -150 100
100 -200
150
200 -250
250
0
-200 -150 -100 -50 0 50 100 150 200 250
100
150
100
50
50
0 0
-50
-50
-100
-150
-100
-200
-250 -150
-200 -150 -100 -50 0 50 100 150 200 250 -150 -100 -50 0 50 100 150
Starting from above the slope edge, individual 0 tends to move towards the front of the slope, while individual
2 tends to move towards the back of the slope. In either cases, these characteristics are probably very fragile
and adapted to this particular slope and this particular wind speed. The system having no sensory input
giving its position relative to the slope, it is not surprising that we observe a shift towards the front or the
back of the slope. The focus here was to check if vx provided enough information for the glider to remain
in the most interesting region with respect to the slope. It seems that our evaluation length was not long
enough to put a sufficient pressure on that point. Indeed, even with an evaluation that is four times longer
than during evolution, the glider doesn’t leave the updraft, nor does it clearly remain at its center (figure
7). Further experiment should consider a smaller updraft or a longer evaluation time.
III.C. Prototype
A motor-glider is currently built to test the evolved behavior in real conditions (figure 8). It is based on a
“chimera”d motor glider with the following features:
• wingspan: 1.92m
• fuselage length: 1.12m
d http://www.topmodel.fr
7
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
i2 i1 i0 i3
pitch roll vz dy
i2 i1 i0 i3
2 1 0 3
2 1 0 3
−2 −1.37 0.36 −1.36 −0.96 −0.54 0.84 −1.03
−1.59 −0.51 0.16 −0.99 −1.10 −0.46 0.50 −1.29
4 5
4 5
2 −0.70 −1.89 −0.70
2 −1.29 −1.72 −0.71
6 7
6 7
o0 o1
elevator rudder o0 o1
(a) (b)
We equipped it with a Micronav IMU and a Stargate processing board from Crossbow. Preliminary
flights have been done, but low-level control remains to be completed before soaring experiments can be
tested with this prototype.
IV. Discussion
These results obtained so far are very encourag-
ing. Nevertheless, the thermal model we used repre-
sented only one particular kind of thermal and ther-
mals are known to be very different one another.21
Likewise, the slope soaring behavior should be tested
on different slope winds to confirm its efficiency. Up-
draft “centering”, or at least the ability to remain in
the updraft for slope soaring should be further ex-
plored as the controllers described here do not seem
to solve the problem. In the perspective of an inte-
grated system, our slope soaring controller can nev-
ertheless be used for temporary altitude gain. The
practicability of our “dy” sensor should also be as-
sessed and the sensibility of soaring behaviors to
coarse measurements should also be checked. In any
case, experiments on a real glider are necessary to
validate the results.
V. Conclusion
Figure 8. Motor-glider under development to test thermal
and slope soaring in real conditions. We presented a methodology rooted in the ani-
mat approach for automatic UAV behavior design.
A high-level description of the desired behavior is
provided to an evolutionary algorithm that opti-
8
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
450 450
400 400
350 350
300 300
250 250
200 200
150 150
1010 1010
1000 1000
990 990
980 980
13201340 970 14601480 970
13601380 960 15001520
14001420 950 15401560 960
14401460 940 15801600 950
14801500 930 16201640 940
15201540
920 16601680
930
3D view
450 450
trajectory for ind 0 trajectory for ind 2
starting point starting point
end of evaluation end of evaluation
400 400
350 350
300 300
250 250
200 200
150 150
1320 1340 1360 1380 1400 1420 1440 1460 1480 1500 1520 1540 1460 1480 1500 1520 1540 1560 1580 1600 1620 1640 1660 1680
1020 1020
1000 1000
980 980
960 960
940 940
920 920
1320 1340 1360 1380 1400 1420 1440 1460 1480 1500 1520 1540 1460 1480 1500 1520 1540 1560 1580 1600 1620 1640 1660 1680
9
3rd US-European Competition and Workshop on Micro Air Vehicle Systems (MAV07) & European Micro Air Vehicle
Conference and Flight Competition (EMAV2007), 17-21 September 2007, Toulouse, France
mizes the connection weights of a feedforward neural network. This methodology has been applied to
generate thermal and slope soaring behaviors for a simulated glider. Efficient gains in altitude have been
demonstrated.
The evolved controllers do not call upon a direct evaluation of specific parameters describing the aero-
logical conditions, but they respond to the perceived roll, pitch and vertical speed, for instance, so that their
action results in a behavior that is appropriate to gain altitude. They do not ”know” where they are and
what they do, they just react to what they perceive. This simplicity affords a low computational cost that
is compatible with current onboard computing devices.
VI. Acknowledgements
This study benefited from a grant from DGA. The corresponding work has been initiated during the
internships of Mathieu Schmitt for slope soaring and Guillaume Tatur for thermal soaring.
References
1 Pennycuick, C. J., “The flight of petrels and albatrosses (Procellariiformes), observed in South Georgia and its vicinity,”
in southern Israel,” The Condor , Vol. 99, No. 2, March-April 1997, pp. 458–469.
3 Davies, M., “An exploratory analysis of dynamic soaring trajectories in shear layer,” Tech. rep., Stanford University,
2004.
4 Hedenström, A., Rosén, M., Akesson, S., and Spina, F., “Flight performance during hunting excursions in Eleonoras
falcon falco eleonorae,” The Journal of Experimental Biology, Vol. 202, 1999, pp. 2029–2039.
5 Reichmann, H., Cross Country Soaring, Soaring Society of America, Inc., 1993, ISBN 1-883813-01-8.
6 Doncieux, S., Mouret, J.-B., Angeli, A., Barate, R., Meyer, J.-A., and de Margerie, E., “Building an Artificial Bird: Goals
and Accomplishments of the ROBUR Project,” Proceedings of the European Micro Aerial Vehicles (EMAV 2006) conference,
2006.
7 Allen, M. J., “Autonomous Soaring for Improved Endurance of a Small Uninhabited Air Vehicle,” Meeting Paper AIAA-
Building an Artificial Rat,” Robotics and Autonomous Systems, Vol. 50, No. 4, 2005, pp. 211–223.
16 Bäck, Hoffmeister, F., and Schwefel, H., “A survey of evolution strategies,” Proceedings of the 4th International Confer-
Quick Computation of Pareto-Optimal Solutions,” Evolutionary Computation, Vol. 13, No. 4, 2005, pp. 501–525.
18 Landau, S., Doncieux, S., Drogoul, A., and Meyer, J.-A., “SFERES: un framework pour la conception de systmes multi-
agents adaptatifs,” Technique et Science Informatiques, Vol. 21, No. 4, 2002, pp. 427–446.
19 Doncieux, S. and Meyer, J.-A., “Evolution of neurocontrollers for complex systems: alternatives to the incremental
approach,” Proceedings of The International Conference on Artificial Intelligence and Applications (AIA 2004), 2004.
20 Doncieux, S. and Meyer, J.-A., “Evolving Modular Neural Networks to Solve Challenging Control Problems,” Proceedings
of the Fourth International ICSC Symposium on engineering of intelligent systems (EIS 2004), 2004.
21 Reichmann, H., Cross-country Soaring, Thomson Publications, 1978.
10