Académique Documents
Professionnel Documents
Culture Documents
Sujet
Etudiant : Responsables :
Tran Minh Tuan, IFI Michel Taïx, LAAS
Philippe Souères, LAAS
2
Résumé
Notre travail a été mené dans le cadre d’une collaboration entre Renault Agriculture et
le LAAS-CNRS visant à développer des algorithmes de navigation autonome pour
engins agricoles sur la base de données GPS.
Dans ce rapport, nous proposons une méthode de planification de trajectoire pour
engins agricoles, en considérant plus particulièrement le cas de champs polygonaux
non convexes sans obstacles. Le processus de traitement consiste d’abord à découper
automatiquement un champ polygonal non convexe en plusieurs sous-régions
convexes puis à rechercher une stratégie optimale de déplacement permettant de
travailler les différentes régions. Sur cette base, l’algorithme détermine ensuite la
trajectoire de recouvrement complète à partir des différentes trajectoires locales.
Nous proposons deux méthodes de découpage automatique basées sur la notion de
direction de travail. La méthode complète, très coûteuse en temps de calcul, peut être
couplée à une méthode heuristique qui permet de déterminer une solution sous-
optimale de bonne qualité pouvant être réalisée en un temps beaucoup plus court.
L’analyse d’un grand nombre de résultats permet d’illustrer notre raisonnement et de
valider notre approche.
Mots-clefs : Planification de trajectoires, couverture de surface, décomposition en
cellules convexes, chemin de type Hamiltonien (H-like), Robotique agricole.
3
Abstract
Our work has been done in the context of a collaboration between Renault Agriculture
and the LAAS-CNRS which aims at developing navigation strategies for agricultural
machines on the base of GPS data.
We propose a trajectory planning algorithm for field covering. In particular, the case of
non convex polygonal fields without obstacles is considered. The first step of the
algorithm consists in cutting the field into convex cells. Then, a sequencing strategy is
proposed to cover the successive regions. Finally, a complete trajectory is synthesized
on the basis of the local ones.
We present two methods of automatic decomposition based on the notion of working
direction. This approach which is high time-consuming can be associated to a heuristic
method which allows to determine good quality suboptimal solutions in much shorter
time. The description and the analysis of a large number of simulation results allow to
illustrate the reasoning and validate the approach.
Keywords: Trajectory planning, surface coverage, convex cell decomposition,
Hamiltonian graph (H-like), agricultural robotics.
4
Table des matières
Remerciements .............................................................................................................. 2
Résumé ........................................................................................................................... 3
Abstract.......................................................................................................................... 4
Table des matières......................................................................................................... 5
Liste des figures............................................................................................................. 6
Liste des tableaux.......................................................................................................... 7
Chapitre 1. Introduction .............................................................................................. 8
1.1. Contexte du travail............................................................................................... 8
1.2. Définitions............................................................................................................ 9
1.3. Problématique .................................................................................................... 11
Chapitre 2. Résultats antérieurs............................................................................... 12
2.1. Publications........................................................................................................ 12
2.2. Travail de Sébastien Fabre................................................................................. 12
2.3. Travail d’Hélène Frayssinet............................................................................... 13
Chapitre 3. Champs polygonaux convexes ............................................................... 14
3.1. Direction de travail et côtés d’un champ convexe polygonal ............................ 14
3.2. Détermination de la direction de travail optimale.............................................. 15
Chapitre 4. Champs polygonaux non convexes........................................................ 17
4.1. Différents types de coupe................................................................................... 17
4.2. Recherche exhaustive de découpage optimal .................................................... 18
4.3. Complexité de l’algorithme exhaustif................................................................ 18
4.4. Méthode heuristique........................................................................................... 19
4.5. Enchaînement entre sous-régions ...................................................................... 20
4.6. Trajectoire complète .......................................................................................... 23
4.7. Fusion de régions ............................................................................................... 25
Chapitre 5. Simulation................................................................................................ 26
5.1. Programme ......................................................................................................... 26
5.2. Environnement et données de test...................................................................... 28
5.3. Résultats principaux........................................................................................... 28
Chapitre 6. Conclusion ............................................................................................... 40
Annexe 1 : Algorithme exhaustif ............................................................................... 41
Annexe 2 : Algorithme heuristique ........................................................................... 42
Annexe 3 : Algorithme de recherche de chemin H-like........................................... 43
Références.................................................................................................................... 44
5
Liste des figures
6
Liste des tableaux
7
Chapitre 1. Introduction
1.1. Contexte du travail
RENAULT Agriculture (http://www.renault-agriculture.com) est une entreprise qui
fabrique des tracteurs depuis 1918. Grâce au progrès des systèmes de localisation par
satellites basés sur les données GPS (Global Positionning System), il est possible
d’asservir automatiquement le mouvement des véhicules agricoles le long de
trajectoires de référence. A cette fin, il est nécessaire de doter les tracteurs de
calculateurs capables de planifier une trajectoire dans un champ et d’en assurer
l’exécution. Le développement de tels systèmes permettra de soulager l’agriculteur de
la tâche pénible de suivi de trace. Il pourra alors porter toute son attention sur la
supervision du travail devant être réalisé.
En principe, un système de contrôle de tracteur à base de GPS est composé des 4 unités
suivantes [3,4,10] :
- Le capteur: Il délivre des informations en temps réel sur la base de données
GPS. Sa haute précision, selon les trois dimensions (σ < 2 cm), et sa faible
latence (tlatence < 0.2 s) permettent son utilisation pour la commande.
- Le tracteur à contrôler : Il est nécessaire de disposer d’un système de
commande électro-hydraulique. Il peut être dirigé soit par le conducteur soit par
l’ordinateur de bord.
- Le contrôleur : Il est implémenté sur l’ordinateur embarqué. Le système est
capable de suivre des traces courbes ou droites avec une précision inférieure à
10 cm.
- Le planificateur de trajectoire : Il calcule la trajectoire de référence globale
permettant de réaliser la tâche agricole souhaitée.
Chemin de Règles de
référence contrôle
erreur
angle de conduite
GPS
8
précisément, l’objet du stage était d’élaborer une méthode permettant de découper de
manière pertinente un champ polygonal non convexe en sous-régions convexes, puis
d’enchaîner de manière optimale le recouvrement ce chacune de ces régions afin de
minimiser le coût global de la trajectoire.
Le stage s’est déroulé au sein du groupe RIA (Robotique et Intelligence Artificielle),
du LAAS-CNRS, à Toulouse sur une durée de cinq mois.
1.2. Définitions
Comme nous venons de l’expliquer, l’objectif recherché est de parcourir un champ
pour effectuer un type de travail agricole tel que : le labour, l’épandage, ou la
moisson, en minimisant un critère de coût qui sera défini plus loin. A ce stade, il est
nécessaire de définir plus précisément un ensemble de notions relatives au champ et au
véhicule.
Le champ
Le champ est un terrain plan sur lequel on peut effectuer un ensemble de travaux
agricoles. Il peut être de forme plus ou moins complexe, convexe ou non, et à bords
droits ou courbes.
Pour travailler un champ convexe, on choisit une direction de travail. Le travail sera
alors effectué en suivant des traces parallèles à cette direction. Cette façon de travailler
est généralement celle qui est traditionnellement employée par les agriculteurs. On
définit ainsi :
- La trace : Segment de travail entre deux extrémités du champ.
- La direction de travail : direction destinée à guider les traces parallèles du
tracteur.
- La zone de travail : La zone dans laquelle le tracteur effectue son travail en
exécutant des traces rectilignes et parallèles à la direction de travail.
- La zone de fourrière : La zone dans laquelle le tracteur exécute des demi-tours
ou des manœuvres. La largeur de cette zone dépend des caractéristiques du
tracteur ainsi que de l’outil. La zone de fourrière doit également être travaillée,
mais l’ordre de travail n’est pas toujours le même. Par exemple, pour le labour,
elle n’est travaillée qu’après que la zone de travail ait été travaillée. Par contre,
lors de la moisson, cet ordre est inversé. La zone de fourrière peut être sous
forme d’un U, d’un O, ou éventuellement de deux I s’il y a 2 côtés du champ
parallèles à la direction de travail. L’illustration ci-dessous montre une zone de
fourrière de type U.
- La zone d’entrée : c’est zone où le tracteur avec son outil entre dans le champ.
- La zone de sortie : c’est la zone où le tracteur sort du champ.
9
zone d’entrée
zone de travail
zone de fourrière
direction de travail
trace
zone de sortie
R1
R2
10
1.3. Problématique
La problématique générale est définie à partir des données suivantes:
Données en entrée :
Un champ à couvrir qui peut être de n’importe quelle forme.
Un ou plusieurs obstacles fixes éventuellement présents dans le champ.
Un engin devant exécuter un type de tâche donné.
Une zone d’entrée et une zone de sortie pour l’engin.
Données en sortie :
Une trajectoire pour l’engin. La meilleure trajectoire est celle qui assure le
recouvrement complet du champ tout en minimisant un critère de coût
directement proportionnel au nombre de demi-tours, à la surface des zones de
fourrière, et à l’étendue du chevauchement entre traces différentes. Notons que
ces différents paramètres définissant le coût peuvent être pondérés
différemment au besoin. D’autres critères liés aux contraintes logistiques
peuvent être considérés tels que la nécessité de ressortir du champ pour faire le
plein de carburant, de produits de traitement, ou de semis.
Trouver une solution exacte pour tel problème général d’optimisation est en général
très complexe. Dans le cadre de ce stage, notre objectif est de développer un
algorithme permettant de trouver une solution dans le cas des champs non convexes,
sans obstacles. Nous avons considéré le cas d’une tâche de type labour/semis dans
laquelle la zone de travail est travaillée avant la zone de fourrière. Néanmoins,
l’extension de notre résultat à d’autres types de tâches peut être obtenue facilement.
11
Chapitre 2. Résultats antérieurs
2.1. Publications
Le problème de planification occupe une place centrale en robotique et un grand
nombre de publications lui ont été sont consacrées. Cependant, seul un petit nombre
d’entre elles étudient le problème de recouvrement par des mouvements de type back-
forth (avancer-reculer) selon une direction de travail fixée, et prenant en compte
l’existence d’une zone de fourrière devant également être travaillée.
Dans [7], un système réel de contrôle de tracteur, à partir de données capteurs, est
présenté pour l’exécution automatique de tâches de moisson. Le tracteur est doté de
deux capteurs ; la vision est utilisée pour percevoir l’environnement alors que le GPS
est utilisé directement dans la commande. Etant donnée la géométrie du champ, le
système construit d’abord un plan de couverture puis l’exécute en suivant des traces
calculées. La vision est utilisée pour détecter les obstacles tandis que le GPS sert à
guider le tracteur. Bien que système se montre puissant, son planificateur n’est pas
parfait, le recours à la vision est indispensable (pour éviter des obstacles). Cette
méthode ne permet pas de réaliser le travail de la zone fourrière de manière
automatique. De plus, les exemples de champs considérés sont assez simples, ils sont
presque carrés.
Dans [1] les auteurs décrivent une méthode de décomposition de terrain avec obstacles
en cellules. Cette méthode est intéressante même si elle ne considère pas la zone de
fourrière et ne considère pas la minimisation du nombre de manœuvres. La direction
de travail dans chaque cellule n’est pas définie.
Un autre ouvrage concernant la décomposition de terrain en cellules est [2]. La
méthode que l’auteur y présente consiste d’abord à créer des régions monotones en
décalant les côtés du terrain et les obstacles. Ensuite on essaie de combiner des sous-
régions et on calcule le total des altitudes de chaque combinaison. La meilleure
décomposition est celle ayant le total des altitudes le plus petit. Cette approche contient
des idées intéressantes mais son efficacité n’est pas vraiment convaincante. De plus la
formule de calcul d’altitude semble complexe, et l’auteur ne présente pas une
planification de trajectoire complète.
En bref, aucune contribution existante ne permet d’apporter une solution à notre
problème. Toutefois les méthodes de décomposition proposées peuvent être source
d’inspiration pour notre problème de décomposition de champ.
Dans la suite, nous résumons les contributions des deux précédents stagiaires qui ont
travaillé sur ce sujet au LAAS-CNRS.
12
simplifié. Sur la base des premiers objectifs de RENAULT Agriculture, Sébastien a en
premier lieu examiné le problème de couverture. Il a introduit des relations
paramétriques sur les différents types de travail agricole, les caractéristiques de
l’engin, la cinématique du tracteur, et la formule de calcul de la zone de fourrière.En
second lieu, il a proposé une méthode de couverture de surface dans un champ sans
obstacles. Cette méthode s’appuie sur l'algorithme de recherche d’un chemin
hamiltonien dans un graphe constitué de points topologiques qui représentent les
extrémités des traces. Comme l’algorithme est NP-complet, des heuristiques sont aussi
proposées.
Au prix du temps d’exécution, le résultat obtenu par la méthode de Sébastien est
optimal sur des terrains simples. Par contre, sur les terrains plus complexes (non
convexes), elle devient aberrante. L’algorithme ne donne de bons résultats que si on
fait manuellement un découpage de terrain au préalable.
13
Chapitre 3. Champs polygonaux convexes
Rappelons que la trajectoire complète doit assurer le recouvrement total du champ. Le
choix d’une direction de travail induit un nombre de traces et par suite un nombre de
demi-tours aux extrémités des traces. On souhaite minimiser le nombre de manœuvres
autant que possible parce qu’elles ralentissent le travail, nécessitent plus d’énergie, et
demandent plus d’attention...
Pour un champ polygonal convexe, nous appellerons donc direction de travail
optimale, la direction selon laquelle le nombre de demi-tours est minimisé. Pour cela il
est nécessaire d’établir certains résultats.
d d
d d d d
L c3
c1
c1
L c3 M p2
c1 p1
p1 p2 c4 c3
p1
M
c2 c4 c2 p2
L
c2 c4
14
Cas 1 : Entre c1 et c4, choisissons le côté faisant le plus petit angle avec la direction d
Dans cet exemple il s’agit de c1. Considérons alors le segment L issu de p2 et reliant
perpendiculairement c1. Dans cette construction il apparaît que L est plus petit que la
longueur d du segment [p1,p2]. Cela résulte du fait que, dans un triangle rectangle,
l’hypothénuse.est toujours le côté le plus long.
En fait, une construction similaire peut être obtenue en considérant les côtés c2 et c3
au lieu de c1 et c4.
Cas 2 : On choisit, entre c1 et c4, le côté faisant le plus petit angle avec la direction d
Puis, on construit le segment L issu de p2 de la même façon que pour le premier cas. Il
apparaît alors que L est moins long que le segment M, perpendiculaire à d et reliant p2
au côté c1. L est donc plus court que la bande comprise entre les deux droites de
direction d passant respectivement par p1 et p2.
Cas 3 : Similaire au cas 2. On effectue la même construction en raisonnant à partir des
côtés c2 et c3 au lieu de c1 et c4 pour obtenir un segment L de longueur plus courte M
et par suite que la largeur de la bande comprise entre les deux droites de direction d
passant respectivement par p1 et p2.
En résumé, nous avons démontré qu’il est toujours possible de minimiser le nombre
de traces et donc de manœuvres en considérant une direction de travail parallèle à l’un
des côtés du champ.
Remarque : Un autre avantage du fait de travailler parallèlement à un côté est que cela
permet de déterminer des zones de fourrière moins grandes. De plus, ce mode de
travail est conforme aux habitudes des agriculteurs.
15
4
L34 3
L41
L12
1 2
L23
16
Chapitre 4. Champs polygonaux non convexes
Afin de planifier le déplacement du tracteur dans un champ polygonal non convexe,
nous présentons d’abord une méthode de découpage du champ en sous-champs
convexes, puis nous décrivons la stratégie de séquencement du travail entre les
différents sous-champs. Nous expliquons ensuite comment la trajectoire globale est
construite à partir des trajectoires locales.
8
9 6
5
7
u1
u6
u2 4 3
u3 u4
u5
2
1
17
soit effectuée. D’ailleurs, chaque coupe peut être représentée par un couple (ipc, vec)
dont le premier élément désigne le sommet de concavité touché et le second désigne le
vecteur de découpage.
18
- Cas 1 : Un premier découpage produit deux régions dont l’une est triangulaire
et l’autre a N-1 côtés.
- Cas 2 : Il faut ‘briser’ tout sommet concave mais malheureusement il est
probable que plusieurs découpages soient nécessaires.
Par conséquent, dans le pire cas, le nombre total de découpages peut atteindre
N(N-1)...(N-K-m+1), c’est à dire de l’ordre de NK+m (m est un entier dépendant de la
forme du champ mais K+m ne dépasse pas N).
R1
R1
R2
R2
Efficacité = (coût de travail dans le (les) sous-champ (s) convexe (s)) /(superficie du
(des) sous-champ (s) convexe)
C’est-à-dire qu’à la première étape, on choisit la coupe correspondante à la meilleure
efficacité et on découpe le champ selon cette coupe. Ensuite, on applique la même
19
tactique à la partie de champ qui reste, et ainsi de suite de manière itérative.
Finalement, on obtient un découpage de champ dont le coût est localement optimal.
L’algorithme heuristique est présenté en pseudo-code dans l’annexe 2.
...
Première coupe
localement optimale ...
...
Deuxième coupe
localement optimale
20
Comme ce problème ne ressemble guère à la recherche de chemin hamiltonien dans un
graphe (ce n’est pas souvent qu’un chemin hamiltonien existe dans notre graphe), nous
baptisons le chemin à rechercher chemin H-like – Hamiltonien-like.
Evidemment, on veut chercher un chemin H-like qui est optimal, c’est-à-dire celui qui
minimise le nombre de passages entre régions ainsi que le retravail sur chaque région.
Nous allons démontrer théoriquement le fait suivant : Etant donné un graphe G
construit à partir des régions. Il existe toujours un chemin H-like dans G qui traverse
chaque couple de régions adjacentes 2 fois au maximum.
Démonstration se fait par récurrence :
− Pour un graphe G2 de 2 nœuds, on explore tous les cas possibles et on constatera
que la confirmation est correcte :
A B
21
rE
rX rX
rE = rS rS
Cas 1 Cas 2
rS rS rE
rX rX
rE rY
Cas 3 Cas 4
5. Travailler rS
r3
22
En pratique, on peut ajouter des heuristiques pour rendre l’algorithme plus performant.
Par exemple on ne considère pas un chemin contenant un cycle de passages A1 A2 A3...
A1 dans lequel aucun travail n’est effectué.
Le détail de l’algorithme est présenté en pseudo-code dans l’annexe 3.
23
Figure 4.8. Trajectoire dans un champ convexe
Remarques : L’avantage de notre méthode de construction de trajectoire locale réside
dans sa simplicité. Par contre elle n’assure pas que la trajectoire construite est vraiment
optimale en terme de minimisation de recouvrements. En effet, on peut appliquer
d’autres méthodes plus optimales au prix de la complexité (ex. méthode de Sébastien
utilisant un graphe hamiltonien [11]).
Pour construire la trajectoire globale on suit le chemin H-like. Celui-ci est le
navigateur qui détermine les passages entre les sous-champs de l’entrée jusqu’à la
sortie. Ici il y a deux types de passage à traiter :
- Le passage direct de A à B : On va directement du point actuel dans A à
l’extrémité la plus proche du segment frontière entre A et B.
- Le passage de A à B après avoir travaillé A : On considère que la sortie de A
est l’une puis l’autre des extrémités du segment commun à A et B. On calcule
les deux trajectoires correspondantes dans A et on choisit celle qui est la plus
courte.
Comme on débute toujours par le sous-champ où se trouve l’entrée, alors la trajectoire
est toujours déterministe.
24
S1
Région B
S2
Région A
F Région 2
Région 1 G
On peut combiner 1 et 3 ou 2 et 3
Région 3 mais pas 1 et 2 et 3 à la fois.
25
Chapitre 5. Simulation
Pour valider les recherches théoriques, nous avons construit un programme de
simulation baptisé PLASIM. L’outil employé est Matlab 6.5.1. Son mode
d’interprétation apporte la flexibilité de codage et de transport de code malgré sa
lenteur éventuelle.
5.1. Programme
Aucun outil particulier n’est utilisé dans le programme (nous ne nous servons pas de
Simulink). Il se compose de fichiers .m et d’un .fig comme interface.
5.1.1. Fonctionnalités principales
- Créer, Ouvrir, Sauvegarder : Ces fonctions permettent de saisir les données du
champ et de l’engin. En particulier, la sélection visuelle de coordonnées est
implémentée pour faciliter la saisie.
- Sauvegarder/ Imprimer le résultat : Une fois que le résultat est disponible, ces
fonctions permettent à l’utilisateur de le sauvegarder sous forme textuelle,
d’image ou bien de l’imprimer.
- Calculer : Cette fonction est indispensable. On peut choisir entre la méthode
heuristique ou exhaustive.
- Affichage : Cette fonction permet de sélectionner des fonctions d’affichage
différentes.
5.1.2. Mode d’exécution
- Mode normal : L’utilisateur saisit des données et fait calculer le résultat de
manière normale, chaque calcul se fait individuellement, l’un à la suite l’autre.
- Mode automatique : L’utilisateur fournit un ensemble de fichiers de données au
préalable puis laisse le programme calculer au fur et à mesure. Les résultats
sont enregistrés dans un fichier spécifié. En effet, ce mode sert à faire la
comparaison entre deux méthodes de découpage à travers des champs
complexes.
5.1.3. Approximation
Dans le programme, nous avons utilisé des approximations pour adapter la simulation
à la réalité. Elles sont définies ci-dessous:
- Colinéaire : 2 vecteurs sont considérés comme parallèles si l’angle entre eux est
inférieur à 4.5 degrés. On en déduit alors que 2 segments (0, 1000) et (0,
1000+20i) sont bien parallèles.
- Point sur segment : un point P est considéré appartenir à un segment S si la
distance entre P et S est moins de 20 mètres.
26
- Points coïncident : 2 points coïncident si la distance entre eux est moins de 5
mètres.
5.1.4. Exemple
Voici un exemple de calcul et le contenu du résultat enregistré :
ENTREE
1. Donnees du champ (en mettres) :
Coordonnees : (0.0, 0.0) (1247.0, 130.0) (948.0, 528.0) (697.0, 405.0)
(724.0, 992.0) (388.0, 983.0) (311.0, 587.0) (105.0, 1089.0) (-111.0,
962.0)
Points d'entree : (735.0, 705.0)
Points de sortie : (-47.0, 101.0)
2. Donnees de l'engin
Largeur de l'outil : 15.00 mettres
Vitesse de travail : 6.00 km/h
Vitesse de manoeuvre : 3.00 km/h
27
Region 1 :
Coordonnees : (311.0, 587.0) (105.0, 1089.0) (-111.0, 962.0) (0.0, 0.0)
(374.2, 39.0) (311.0, 587.0)
Superficie : 353236.18 mettre carre
Direction de travail optimale : -63.23
Nombre de manoeuvres : 29.50
Region 2 :
Coordonnees : (351.5, 235.7) (374.2, 39.0) (1247.0, 130.0) (948.0, 528.0)
(351.5, 235.7)
Superficie : 249261.49 mettre carre
Direction de travail optimale : 872.77
Nombre de manoeuvres : 28.60
Region 3 :
Coordonnees : (697.0, 405.0) (724.0, 992.0) (388.0, 983.0) (311.0, 587.0)
(351.5, 235.7) (697.0, 405.0)
Superficie : 246040.33 mettre carre
Direction de travail optimale : 27.00
Nombre de manoeuvres : 27.50
2. Enchainement entre regions :
- travailler 3 en passant a 2
- travailler 2 en passant a 1
- travailler 1 puis sortir
3. Resultat global :
Superficie entiere du champ : 848538.00 mettre carre
Temps total de couverture : 11.55 heures
Nombre total de manoeuvres : 85.60
Longeur parcourue : 62.21 km
28
Méthode exhaustive Méthode heuristique
29
Totalité de manoeuvres = 117 Totalité de manoeuvres = 126 (7.7% d’erreur)
Temps de calcul = 0.52 s Temps de calcul = 0.36 s
30
Méthode exhaustive Méthode heuristique
31
Totalité de manoeuvres = 132 Totalité de manoeuvres = 132 (0.0% d’erreur)
Temps de calcul = 11.81 s Temps de calcul = 0.70 s
32
Totalité de manoeuvres = 134 Totalité de manoeuvres = 150 (11.9% d’erreur)
Temps de calcul = 49.27 s Temps de calcul = 0.81 s
33
Totalité de manoeuvres = 118 Totalité de manoeuvres = 138 (16.9% d’erreur)
Temps de calcul = 95.61 s Temps de calcul = 0.94 s
34
Totalité de manoeuvres = 178 Totalité de manoeuvres = 190 (6.7% d’erreur)
Temps de calcul = 11.89 s Temps de calcul = 0.72 s
Tableau 5.2. Résultats sur les champs normaux
L’erreur moyenne de la méthode heuristique par rapport à la méthode exhaustive dans
le cas de ces champs normaux est alors :
Taux d’erreur moyen = 5.02 %.
5.3.3. Champs complexes
Sur les champs complexes, la méthode exhaustive exige énormément de temps de
calcul alors que la méthode heuristique en demande beaucoup moins.
Quelques expérimentations sur ce groupe sont montrées dans le tableau 5.3.
35
Totalité de manoeuvres = 131 Totalité de manoeuvres = 134 (2.3% d’erreur)
Temps de calcul = 550.60 s Temps de calcul = 0.83 s
36
Taux d’erreur moyen sur ces champs complexes = 4.33 %.
En conclusion, on peut dire que l’erreur moyenne dans les trois cas de champs est
autour de 3.8 %. La méthode heuristique fournit une bonne approximation en un faible
temps de calcul. Par contre, la méthode exhaustive se montre coûteuse, notamment
pour les champs complexes.
5.3.4. Influence de la largeur de l’outil
La largeur de l’outil influence le découpage. Par exemple, pour le champ suivant, on
obtient deux découpages différents en fonction de la largeur de l’outil (calculé par
méthode heuristique).
Non-fusion Fusion
37
5.3.6. Influence de l’entrée et la sortie
Le changement de position de l’entrée et de la sortie du champ entraîne le changement
de l’enchaînement H-like entre sous-champs. L’exemple suivant démontre illustre
cela :
38
Méthode exhaustive Méthode heuristique
Manoeuvres = 74 Manoeuvres = 76
Temps de travail total = 10.08 h Temps de travail total = 10.06 h
Longueur parcourue = 53.44 km Longueur parcourue = 53.20 km
En fait, le temps total est un bon critère à ajouter pour juger de la meilleure trajectoire.
Mais dans tous les cas, le nombre de manoeuvres est aussi un critère important parce
que les manoeuvres exigent une plus forte de consommation d’énergie et ralentissent le
travail.
5.3.8. Deux types de virage
Pour certaines applications, le tracteur doit faire un virage circulaire pour passer d’une
trace à une autre. Dans le cas il est capable de reculer, il peut alors effectuer un virage
de type queue-de-poisson.
39
Chapitre 6. Conclusion
Nous avons présenté notre contribution sur la planification de trajectoires pour engins
agricoles dans des champs polygonaux non convexes sans obstacles. En se basant sur
le résultat que la direction de travail permettant de minimiser le nombre de manœuvres
est toujours parallèle à l’un des côtés du champ, nous avons introduit différentes
stratégies de coupes et développé deux méthodes de calcul de découpage optimal. En
comparaison avec la méthode exhaustive, la méthode heuristique que nous avons
proposée s’est avérée efficace. Nous avons également introduit la notion de chemin H-
like et démontré un résultat permettant de rechercher efficacement de tels chemins.
Enfin, nous avons combiné les différentes étapes du raisonnement pour élaborer une
méthode complète qui permet de générer une trajectoire pour un champ polygonal non
convexe.
Néanmoins, la résolution du problème dans sa globalité nécessite un temps de travail
supérieur à un stage de 5 mois. En particulier, les points suivants restent à examiner :
- L’extension à des champs à bords courbes
- La prise en compte des obstacles
- Le calcul de coûts par multicritères
- L’extension a des surfaces non planes
Notre travail constitue une brique de base pour cette étude.
Finalement, les méthodes de planification de trajectoire en général et celle que nous
avons présentée en particulier sont applicables dans le domaine agricole mais
également dans d’autres domaines. Par exemple elles peuvent servir à inspecter un
terrain miné, à rechercher des personnes disparues dans une zone, ou encore à la
peinture de pièces planes.
40
Annexe 1 : Algorithme exhaustif
41
Annexe 2 : Algorithme heuristique
function découper(région)
efficacité_max = 0;
région_eff_max1 = [];
région_eff_max2 = [];
déterminer toutes les coupes possibles dans région;
for chaque coupe uk do
découper région selon uk et obtenir 2 sous-champs région_1 et région_2 ;
if région_1 est concave et région_2 est convave then
continue ;
else
cout_total = Σ (cout de travail de région_k);
k ∈{1,2} et région_k est convexe
super_total = Σ (superficie de région_m);
m ∈{1,2} et région_m est convexe
efficacité = cout_total/super_total;
if efficacité > efficacité_max then
efficacité_max = efficacité ;
région_eff_max1 = région_1 ;
région_eff_max2 = région_2 ;
end;
end;
end;
42
Annexe 3 : Algorithme de recherche de chemin H-like
43
Références
[1] H. Choset and P. Pignon, “Coverage Path Planning: The Boutrophedon Cellular
Decomposition”, International Conference on Field and Service Robotics, 1997.
[2] W. H. Huang, “Optimal Line-sweep-based Decompositions for Coverage
Algorithms”, International Conference on Robotics and Automation, 2001.
[3] S. Fabre, P. Souères, M. Taïx and L. Cordesses, “Farmwork path planning for
field coverage with minimum overlapping”, International Conference on Emerging
Technologies and Factory Automation, 2001.
[4] M. Taïx, P. Souères, H. Frayssinet and L. Cordesses, “Path Planning for Complete
Coverage with Agricultural Machines”, International Conference on Field and
Service Robotics, 2003.
[5] J. S. Oh, Y. H. Choi, J. B. Park and Y. F. Zheng, “Navigation of Cleaning Robots
Using Triangular-Cell Map for Complete Coverage”, International Conference on
Robotics and Automation, 2003.
[6] E. González, M. Alarcón, P. Aristizábal and C. Parra, “BSA: A Coverage
Algorithm”, International Conference on Intelligent Robots and Systems, 2003.
[7] T. Pilarski, M. Happold, H. Pangels, M. Ollis, K. Fitzpatrick and A. Stentz, “The
Demeter System for Automated Harvesting”, International Topical Meeting on
Robotics and Remote Systems, 1999.
[8] P. Fiorini and E. Prassler, “Cleaning and Household Robots: A Technology
Survey”, Autonomous Robots 9, 227-235, Kluwer Academic Publishers, 2000.
[9] H. Choset, “Coverage for robotics – A survey of recent results”, Annals of
Mathematics and Artificial Intelligence 31, 113-126, Kluwer Academic Publishers,
2001.
[10] L. Cordesses, P. Martinet, B. Thuilot and M. Berducat, “GPS-based control of a
land vehicule”, International Symposium on Automation and Robotics in
Construction, 1999.
[11] S. Fabre, “Rapport de projet de fin d’études”, Juin 2001.
[12] H. Frayssinet, “Rapport de projet de fin d’études”, Septembre 2002.
[13] M. Berg, M. Kreveld and M. Overmars, “Computational Geometry: Algorithms
and Applications”, Springer-Verlag, 2nd ed. 2000.
44