pré-soutenance technique
DESCRIPTION
Pré-soutenance Technique. Couverture visuelle automatique par un groupe de robots Année 2006-2007 PARENT Pierre, GUEUCIER Sébastien, BOISTEAULT Nicolas. Composition de l’équipe. Equipe du projet Pierre PARENT (Chef de projet et responsable technique) - PowerPoint PPT PresentationTRANSCRIPT
Pré-soutenance Technique
Couverture visuelle automatique par un groupe de robots
Année 2006-2007
PARENT Pierre, GUEUCIER Sébastien, BOISTEAULT Nicolas
Composition de l’équipe Equipe du projet
○ Pierre PARENT (Chef de projet et responsable technique)○ Sébastien GUEUCIER (Responsable qualité)○ Nicolas BOISTEAULT
Clients○ Pierre ANDRY○ Philippe LAROQUE
2
Plan1. Introduction
2. Choix envisagés
3. Architecture retenue
4. Résultats
5. Conclusion
3
Introduction1. Objectifs
2. Applications
3. Contexte Mise en place
Système multi-agents
Marche aléatoire
4
Objectifs Localisation d’Aibo au sein d'un
environnement inconnu. Apprentissage d’un lieu et s'y rendre de
manière autonome. Système multi-agents:
○ Comportement coopératif○ Partage d’informations
5
Applications Application militaire :
○ Reperage d’un lieu de facon autonome et en multi-agent.○ ...
Application professionelle ou personnelle:○ Surveillance d’un lieu○ Aspirateur intelligent ○ ...
Application ludique:○ Interaction entre Aibo○ ...
6
Contexte Mise en place
Aiboo Urbi (Universal Real-time Behavior Interface )o Javao Tim et Bob
7
Contexte Système multi-agents
Apprentissage partagéo logistiqueo structures de partage
Interactions entre agentso communicationo types d'interactions
8
Contexte Marche aléatoire
Marche préemptibleChoix plus ou moins aléatoire des
trajectoiresAdaptation du comportement en cas
d’obstacle vue:o Arrêt du Aiboo Rotation du robot
9
Choix envisagés1. Technique de Davison
2. Localisation Panoramique
3. WiFi
10
Technique de Davison SLAM(Self Localization And Mapping) à partir
d’une seule caméra
Contraintes sur les points d’intérêt : ○ Ils doivent être pertinents ○ Un nombre minimum doit toujours être visible dans
l’image, quand ce n’est pas le cas, une nouvelle carte de points d’intérêt est initialisée.
○ Ces points d’intérêt doivent être répartis dans toute l’image.
11
Technique de Davison L’approche EKF(Extended Kalman Filter) :
○ X = ( Xv , Y1, Y2, … , Yn ) est composé de : Xv : position, orientation, vitesse linéaire ainsi que la
vitesse angulaire de la camera. Yn : paramètres composant le vecteur de la position 3D
des points d’intérêt.
Pas d’odomètrie modèle à vitesse constante Ce modèle exige des paramètres définissant:
○ le nombre d’images par seconde○ le maximum de la vitesse linéaire et angulaire.
12
Technique de Davison Limitations de la technique de Davison:
○ Les mouvements de la caméra pour lesquels le tracking peut être maintenu sont limités
○ Vitesse de mouvement de la caméra limité○ Angle de la caméra
Technique non adapté à notre environnement de test, et aux caractéristiques de l’Aibo.
13
Localisation Panoramique Ce procédé est une technique utilisée lors des
tournois de foot de Aibo, le Four-Legged League soccer, afin de pouvoir apprendre un environnement et s’y localiser
14
Localisation Panoramique
15
WIFI L’utilisation du WIFI aurait dû être un
axe majeur de notre projet.
Nos tests nous ont démontrés le contraire. Les raisons principales sont:
○ La non linéarité du signal WiFi ○ Paliers de décroissance pas assez marqué ○ Superficie de test restreinte ○ Position de l’émetteur/récepteur WiFi du Aibo
16
WIFI Tout n’est cependant pas à rejeter dans
le WiFi: ○ Positionnement à large échelle du Aibo○ Le WiFi reste également le moyen que nous
avons choisi pour les communications PC/Robot et Robot/PC
17
Architecture retenue1. Détection de points d'intérêt
2. Landmarks
3. Apprentissage
4. Rotations et précision des calculs
5. Mapping
6. Tracking
18
Détection de points d'intérêt Fast Rosten
Détection des maximums locaux
19
Détection de points d'intérêt Optimisation:
○ 2651 lignes en version de l'auteur○ 70 lignes dans notre version (sans l’arbre)
Angle
20
Landmarks Génération de landmarks
Angle
Rayon
Rho-Theta
5
20
X
Y
21
Landmarks SSD (Sum Squared Difference) Précision de la génération :
Rayon
Angle
22
Rayon
Angle
Apprentissage Image -> Homing Lieu
- Apprentissage on-line -> Mapping
- Apprentissage off-line
23
Rotations Démarche du Aibo
Vidéo
Recherche d'un invariant aux rotations○ Recherche d’un maximum dans le Landmark○ Angle du point d'intérêt
Calcul de cet invariant ( arbre de rosten )
24
Précision des calculs Influence de la précision sur le calcul de
rotation d'une image.
25
Mapping
26
Mapping Estimation de la distance d'un Landmark
Précision de l'estimation accrue avec le temps
27
Tracking Pourquoi le tracking :
o Estimer l’odomètrie de l’aiboo Comparer le trajet réel de l’aibo à des estimations
issues des différentes méthodes
Outils :o Langage Javao Utilisation de la JMFo Caméra + carte d’acquisition
28
Tracking Méthode :
Capture d’une image toutes les secondesCritère de sélection des points de l’image :
o Composantes RGB < Seuilo RGBcourant - RGBprécédent > Diff entre l’image
courante et la précédente• On situe le centre de l’aibo au milieu du premier et
du dernier point retenu• On ne traite qu’une zone de l’image autour de l’aibo
29
Tracking
30
Tracking
31
Tracking
32
Création d’un carré avec l’aibo
Tracking
33
Marche avant / Marche arrière
Résultats
34
Courbe Wifi attenduCourbe Wifi attendu Courbe Wifi obtenueCourbe Wifi obtenue
Résultats Résistance des landmarks aux rotations
Vidéo
35
Résultats Démo 1:
ScénarioVidéo
Démo 2:ScénarioVidéo
(Démo 3)
36
Conclusion1. Difficultés rencontrées
2. Evolutions possibles
37
Difficultés rencontrées URBI
○ Problèmes d’optimisation
Aibo○ WiFi○ Caméra○ Démarche○ Input
Projet taillé pour 4
38
Evolutions Mise en place de la cartographie
Système Multi-Agents
Constantes odométriques
Test sur d'autres robots que le Aibo
39
FIN
40
ANNEXE Rôle de chacun Evolution Gestion matérielle Analyse des risques Arbre de Rosten Rotation Caméra Panorama Technique de Davison
41
Rôle de chacun Pierre PARENT
○ Traitement d’images (Rosten, Hough, Harris, …)○ Apprentissage de Landmarks○ Mise en place des algorithmes sur le Aibo
Sébastien GUEUCIER○ Marche aléatoire○ Test WIFI, Panorama, …○ Etude de la technique de Davison et de la localisation
panoramique.
Nicolas BOISTEAULT○ Tracking
42
Rôle de chacun
43
Evolution
44
Gestion matérielle Ordinateurs
○ 3 pc de bureau, 1 ordinateur portable
Communications○ Routeur et clés USB WIFI afin de communiquer avec le robot
Choix du Aibo○ Robot disponible et équipé du WIFI, caméra, …
Choix de URBI○ Universel, simple et multi-langage
Pas de périphérique:○ Aucun élément n’a été ajouté au Aibo
45
Analyse des risques Projet taillé au minimum pour 4
Domaine de recherche active
Projet complexe et coûteux en temps
46
Arbre de Rosten
47
Rotation
48
Mauvaise précision :public static Raster badPrecisionRotation (Raster raster, int angle) {
int rayon=raster.getWidth()/2,x,y; double theta,r; int pixel[] = new int[1]; WritableRaster out=raster.createCompatibleWritableRaster();
for (int i = -rayon; i <= rayon; i++) { for (int j = -rayon; j <= rayon; j++) { r = Math.sqrt (i * i + j * j); if (r >= 0 && r <= rayon) { raster.getPixel (i + rayon, j + rayon, pixel); theta = Math.atan2(j, i)+Math.toRadians(angle); x=(int)(r*Math.cos(theta)); y=(int)(r*Math.sin(theta)); out.setPixel (rayon + x, rayon + y, pixel); } else { pixel[0] = 255; out.setPixel (i + rayon, j + rayon, pixel); } } } return out; }
Rotation
49
Bonne précision :
public static Raster goodPrecisionRotation (Raster raster, int angle) {
WritableRaster out;
AffineTransform tx = new AffineTransform (); tx.rotate (Math.toRadians (angle), raster.getWidth()/2, raster.getWidth()/2); AffineTransformOp op = new AffineTransformOp (tx,
AffineTransformOp.TYPE_BILINEAR);
out = raster.createCompatibleWritableRaster (); op.filter (raster, out);
return out;
}
Caméra Images obtenues avec la caméra
50
Création d’un panorama Pertes d’informations
Duplicité des éléments
51
Technique de Davison Exemple d’un résultat obtenue
52