52
Pré-soutenance Technique Couverture visuelle automatique par un groupe de robots Année 2006-2007 PARENT Pierre, GUEUCIER Sébastien, BOISTEAULT Nicolas

Pré-soutenance Technique

  • Upload
    dylan

  • View
    61

  • Download
    1

Embed Size (px)

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 Presentation

Citation preview

Page 1: Pré-soutenance Technique

Pré-soutenance Technique

Couverture visuelle automatique par un groupe de robots

Année 2006-2007

PARENT Pierre, GUEUCIER Sébastien, BOISTEAULT Nicolas

Page 2: Pré-soutenance Technique

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

Page 3: Pré-soutenance Technique

Plan1. Introduction

2. Choix envisagés

3. Architecture retenue

4. Résultats

5. Conclusion

3

Page 4: Pré-soutenance Technique

Introduction1. Objectifs

2. Applications

3. Contexte Mise en place

Système multi-agents

Marche aléatoire

4

Page 5: Pré-soutenance Technique

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

Page 6: Pré-soutenance Technique

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

Page 7: Pré-soutenance Technique

Contexte Mise en place

Aiboo Urbi (Universal Real-time Behavior Interface )o Javao Tim et Bob

7

Page 8: Pré-soutenance Technique

Contexte Système multi-agents

Apprentissage partagéo logistiqueo structures de partage

Interactions entre agentso communicationo types d'interactions

8

Page 9: Pré-soutenance Technique

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

Page 10: Pré-soutenance Technique

Choix envisagés1. Technique de Davison

2. Localisation Panoramique

3. WiFi

10

Page 11: Pré-soutenance Technique

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

Page 12: Pré-soutenance Technique

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

Page 13: Pré-soutenance Technique

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

Page 14: Pré-soutenance Technique

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

Page 15: Pré-soutenance Technique

Localisation Panoramique

15

Page 16: Pré-soutenance Technique

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

Page 17: Pré-soutenance Technique

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

Page 18: Pré-soutenance Technique

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

Page 19: Pré-soutenance Technique

Détection de points d'intérêt Fast Rosten

Détection des maximums locaux

19

Page 20: Pré-soutenance Technique

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

Page 21: Pré-soutenance Technique

Landmarks Génération de landmarks

Angle

Rayon

Rho-Theta

5

20

X

Y

21

Page 22: Pré-soutenance Technique

Landmarks SSD (Sum Squared Difference) Précision de la génération :

Rayon

Angle

22

Rayon

Angle

Page 23: Pré-soutenance Technique

Apprentissage Image -> Homing Lieu

- Apprentissage on-line -> Mapping

- Apprentissage off-line

23

Page 24: Pré-soutenance Technique

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

Page 25: Pré-soutenance Technique

Précision des calculs Influence de la précision sur le calcul de

rotation d'une image.

25

Page 26: Pré-soutenance Technique

Mapping

26

Page 27: Pré-soutenance Technique

Mapping Estimation de la distance d'un Landmark

Précision de l'estimation accrue avec le temps

27

Page 28: Pré-soutenance Technique

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

Page 29: Pré-soutenance Technique

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

Page 30: Pré-soutenance Technique

Tracking

30

Page 31: Pré-soutenance Technique

Tracking

31

Page 32: Pré-soutenance Technique

Tracking

32

Création d’un carré avec l’aibo

Page 33: Pré-soutenance Technique

Tracking

33

Marche avant / Marche arrière

Page 34: Pré-soutenance Technique

Résultats

34

Courbe Wifi attenduCourbe Wifi attendu Courbe Wifi obtenueCourbe Wifi obtenue

Page 35: Pré-soutenance Technique

Résultats Résistance des landmarks aux rotations

Vidéo

35

Page 36: Pré-soutenance Technique

Résultats Démo 1:

ScénarioVidéo

Démo 2:ScénarioVidéo

(Démo 3)

36

Page 37: Pré-soutenance Technique

Conclusion1. Difficultés rencontrées

2. Evolutions possibles

37

Page 38: Pré-soutenance Technique

Difficultés rencontrées URBI

○ Problèmes d’optimisation

Aibo○ WiFi○ Caméra○ Démarche○ Input

Projet taillé pour 4

38

Page 39: Pré-soutenance Technique

Evolutions Mise en place de la cartographie

Système Multi-Agents

Constantes odométriques

Test sur d'autres robots que le Aibo

39

Page 40: Pré-soutenance Technique

FIN

40

Page 41: Pré-soutenance Technique

ANNEXE Rôle de chacun Evolution Gestion matérielle Analyse des risques Arbre de Rosten Rotation Caméra Panorama Technique de Davison

41

Page 42: Pré-soutenance Technique

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

Page 43: Pré-soutenance Technique

Rôle de chacun

43

Page 44: Pré-soutenance Technique

Evolution

44

Page 45: Pré-soutenance Technique

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

Page 46: Pré-soutenance Technique

Analyse des risques Projet taillé au minimum pour 4

Domaine de recherche active

Projet complexe et coûteux en temps

46

Page 47: Pré-soutenance Technique

Arbre de Rosten

47

Page 48: Pré-soutenance Technique

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; }

Page 49: Pré-soutenance Technique

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;

}

Page 50: Pré-soutenance Technique

Caméra Images obtenues avec la caméra

50

Page 51: Pré-soutenance Technique

Création d’un panorama Pertes d’informations

Duplicité des éléments

51

Page 52: Pré-soutenance Technique

Technique de Davison Exemple d’un résultat obtenue

52