Pré-soutenance Technique

Post on 16-Mar-2016

64 views 1 download

Tags:

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

Transcript of 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

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