Club robotique de Sophia-Antipolis

Accueil > Projets, études > Nos réalisations > Balises de localisation > Balises et caméra omnidirectionnelle (2007)

Balises et caméra omnidirectionnelle (2007)

dimanche 17 août 2008, par Julien H.

Ce dispositif a été réalisé par l’équipe 2007 de l’Association Astromech pour la Coupe de France de robotique. Il est très novateur car il met en oeuvre une caméra omnidirectionnelle et un traitement d’image qu’on pourrait penser réservé à l’industrie ou à la recherche.

Le système de détection repose sur la mesure des angles entre trois balises lumineuses qui émettent chacune un code différent. Une fois détectées, identifiées et les angles mesurés, un peu de trigonométrie va donner la position de la caméra, donc du robot. C’est le principe inverse à nos balises lasers qui étaient actives et mesuraient les angles qu’elles faisaient avec le mat du robot, passif.

La caméra omnidirectionnelle

Une vue omnidirectionnelle est réalisée en positionnant un miroir conique à la distance focale de la caméra, pointe vers l’objectif : les rayons lumineux provenant d’un ruban circulaire concentrique à l’axe de la caméra et d’une largeur égale à la hauteur du cône vont se concentrer sur le capteur et donner une image en anamorphose de l’environnement direct du robot.

Tourelle embarquée
Composée d’un miroir conique et d’une paroi transparente.

Pour aller plus loin

Les capteurs électroniques des caméras standards (webcam) sont constitués de cellules électriques photosensibles disposées selon des matrices rectangulaires très régulières (pour schématiser, chaque capteur donnant un pixel ligne/colonne de l’image obtenue). Il existe des capteurs particuliers dont les cellules sont disposées selon des cercles concentriques, mais restant connectées à une ligne et une colonne de l’image cible : cette image va donc représenter directement la vue omnidirectionnelle de notre "ruban circulaire" présenté plus haut : les lignes représentent la hauteur du ruban et les colonnes décrivent les 360° du cercle périphérique à la caméra.

Le miroir conique

Ce miroir a été réalisé "à la main" en sculptant un morceau de métal à l’aide d’un tour. On peut trouver des miroirs coniques, hyperboliques et sphériques sur ce site : produits Accowle

Consultez cette page très intéressante (en anglais) sur la vision omnidirectionnelle.

Voici une comparaison entre deux miroirs, l’un conique et l’autre sphérique, faite par Nicolas :

On voit d’abord le problème de qualité de la webcam et on voit la comparaison entre le cône et une boule brillante que l’on avait testé. Sur la boule on voit plus la camera que l’environnement.

Miroir conique
Miroir sphérique

Les balises

Chaque balise comportait des leds lumineuses rouges. Le nombre de points lumineux permettait d’identifier la balise.

L’analyse et les mesures

L’image obtenue est déformée. Cela n’est pas important pour l’usage que l’on en fait : l’objectif n’est pas de visualiser l’image, mais d’y retrouver des motifs associés à chacune des balises, puis de mesurer les angles entre chacun des motifs.

La mesure de l’angle est la plus simple : l’image étant circulaire, chacun des motifs se trouve sur un rayon et l’angle entre deux balises est l’angle de l’arc reliant chaque paire de rayons.

L’identification du motif est plus difficile, car le motif n’est pas dans le bon sens. Il faudrait donc parcourir une bande de largeur suffisante pour chacun des rayons. Nicolas va nous en dire plus lors d’une prochaine réunion.

Les calculs

On va reprendre notre calculette et ressortir les règles de trigonométrie élémentaires. A suivre !

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.