Aller au contenu


Photo
- - - - -

Projet de robot topographique

localisation Mapping Cartographie Topographie

80 réponses à ce sujet

#61 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 02 avril 2013 - 09:02

antenne GPS (5m de cable.....).

J'ai réussi a scanné le périmètre d'une surface en utilisant le 2eme étage uniquement.(envoi des coordonées du périmètre au serveur via le wifi

Hello
je vois que ça se concrétise!
donc pourquoi 5m de cable ce n'est une mini antenne ?
T'as déjà une idée de la précision du relevé et de répétabilité ?
Bonne continuation
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#62 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 03 avril 2013 - 08:49

Je n'ai pas fait de test de précision
C'est d'ailleur ce que je devrais faire dans un premier temps.

Suivant le protocole suivant par exemple (si vous avez d'autres idées...) :
- Je place le robot et j'enregistre ses coordonnées GPS.
- Je déplace manuellement le robot et je le laisse retrouver tout seul sa postion initiale (coordonée précédement enregistrée)
- en répétant l'opération je vais pouvoir obtenir une idée de sa précision.

Ca va me faire une bonne étape avant d'arrivé à automatiser le parcours préprogrammé

++

#63 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 06 avril 2013 - 08:59

Je n'ai pas fait de test de précision
C'est d'ailleur ce que je devrais faire dans un premier temps.

Suivant le protocole suivant par exemple (si vous avez d'autres idées...) :
- Je place le robot et j'enregistre ses coordonnées GPS.
- Je déplace manuellement le robot et je le laisse retrouver tout seul sa postion initiale (coordonée précédement enregistrée)
- en répétant l'opération je vais pouvoir obtenir une idée de sa précision.

Ca va me faire une bonne étape avant d'arrivé à automatiser le parcours préprogrammé

++

Les résultats devraient ressembler aux précédents tests.
Compte tenu de la précision espérée, il faudra certainement procéder à de nombreuses mesures du terrain pour en obtenir un relevé statistique. Ce qui n'est pas forcément rédhibitoire.
Y aura t il des obstacles sur la surface ?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#64 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 11 avril 2013 - 01:44

non pas d'obstacle à la surface
et effectivement il va falloir que le robot fasse du chemin pour effectuer les relevés sur toute la surface.

#65 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 11 avril 2013 - 01:54

Voila le robot roule en donnant une route préprogrammé.
Rien d'extraordinaire mais ca fait plaisir de voir évoluer sa propre construction.
Et avec la carte md25 c'est pas bien compliqué.

Je vais attaqué la recherche de position avec le GPS en procédent en 2 étapes:
- enregistrement du point recherché
- Je vais deplacer le robot manuellement et le laisser retrouver le point enregistré.

Je vais essayer uniquement avec le GPS et odométrie (codeurs des moteurs EMG30 associée à la carte MD25).
le problème c'est que je ne connais pas l'orientation du robot car le GPS ne fourni pas l'azimuth (il me semble...faut que je vérifie ce point quand meme)
Pour cela je vais faire évoluer le robot sur 2m environ afin d'obtenir son orientation (position t / position t-1)

Je vais pouvoir calculer l'angle entre son orientation actuelle et la position de l'objectif, ainsi que la distance jusqu'a l'objectif.
Afin de palier le défaut davancement en parfaite ligne droite et les défaut de positionnement lorsque le robot tourne (pour se placer suivant la consigne) je vais recalculer régulierement son orientation (et la distance) par rapport à l'objectif à atteindre.
je validerais l'objectif lorsque le robot sera a moins d'un mètre.


l'algo pour se placer sur la position recherchée:
avance 2m
calcul orientation du robot dans l espace
calcul orientation et distance vers objectif

tant que (distance objectif > 1m) {  //précision recherchée 1m
  rotation du robot pour aligner vers objectif (si nécessaire)
  avance 2m ou moins (si distance objectif < 2m)
  calcul orientation du robot   
  calcul orientation et distance vers objectif
}


N'hesitez pas a commenter, critiquer....
a+

#66 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 11 avril 2013 - 07:21

Une question : avec l'arduino tu disposes de toutes les fonctions trigo car on aboutit à un calcul de trigo sphérique (je dois encore avoir mes cours de navigation)?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#67 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 11 avril 2013 - 08:00

Une question : avec l'arduino tu disposes de toutes les fonctions trigo car on aboutit à un calcul de trigo sphérique (je dois encore avoir mes cours de navigation)?


je ne pensais pas avoir besoin de trigo spherique, mais juste de trigo basique. Les distances en jeu sont faible...30 40 m grand maximum.

#68 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 11 avril 2013 - 08:40

je ne pensais pas avoir besoin de trigo spherique, mais juste de trigo basique. Les distances en jeu sont faible...30 40 m grand maximum.

en fait tu as certainement raison; j'avais fait des calculs en trigo plane sur des distances beaucoup plus grandes.Faudra voir la précision du résultat
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#69 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 12 avril 2013 - 12:04

Tu as quand meme raison hmnrobots...les distances calculer a partir des longitudes et latitudes n'ont pas les même valeur en metre partout...
pour la zone ou j'ai fait mon test (france).
si je me trompe pas j'obtient ca) à partir d'un site web qui fait les calculs de distance à partir de coordonnées GPS :
0.00001° longitudes => 0.75m
0.00001° latittude => 1.1m

je vérifierais en réel...

D'apres mes premiers tests avec le GPS que j'ai pris j'ai une précision de 10-5 en lon et 10-6 en lat (à vérifier)

Source pour calcul http://williams.best.vwh.net/avform.htm#LL

#70 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 12 avril 2013 - 12:42

Source pour calcul http://williams.best.vwh.net/avform.htm#LL


Ca ça me parle !bien que à ce niveau on ne recherche pas la même précision. C'est vrai que sur une représentation Mercator tangente à notre parallèle on a vite tendance à conclure à l'applicabilité de la géométrie plane. En l'occurrence il faudra rechercher la précision à tous les niveaux et certainement pas tout re-inventer (voir les liens précédents)
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#71 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 12 avril 2013 - 01:19

Au fait as tu pu vérifier que tu disposes bien des raw data nécessaires à RTKLIB sur le GPS?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#72 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 12 avril 2013 - 04:32

Salut! Je constate que tu es parti sur le GPS, mais j'ai une petite idée simple :
Si les dimensions du terrain sont connues, ou qu'au moins on peut mesurer des distances de façon relativement fiable,
il me semble qu'une solution pour savoir ou se trouve le robot serait d'installer 3 balises radio non alignées(en triangle),
et un récepteur/émetteur sur le robot, et de calculer par triangulation sa position par rapport au signal reçu...

Cela permettrait d'avoir la position x,y du robot. Pour l'inclinaison en un point donné, si on prend un simple accéléromètre, placé
de façon à bien lire -1g quand le robot est à plat, sur l'axe Z. Lorsque le robot sera sur une pente, on aura une variation de
l'intensité de la force selon Z, et par trigonométrie, on peut calculer la pente (et savoir son sens avec X, si le robot monte, alors en s'arrêtant, il aura un X négatif, sinon si il est en descente, à l'arrêt il aura un X positif. (ou le contraire).

Du coup on connaîtrait la pente à chaque point, et en ayant un point de référence, on pourrait calculer l'altitude des points par approximation des dénivelées à des droites entre deux mesures...

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#73 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 12 avril 2013 - 04:54

Salut! Je constate que tu es parti sur le GPS, mais j'ai une petite idée simple :
Si les dimensions du terrain sont connues, ou qu'au moins on peut mesurer des distances de façon relativement fiable,
il me semble qu'une solution pour savoir ou se trouve le robot serait d'installer 3 balises radio non alignées(en triangle),
et un récepteur/émetteur sur le robot, et de calculer par triangulation sa position par rapport au signal reçu...
il aura un X positif. (ou le contraire).


A ma connaissance, les seuls résultats intéressants avec des balises radio à courte portée utilisent le niveau de signal reçu, globalement le résultat ne semblait pas meilleur que le GPS.

Une autre hypothèse revenant à mesurer la vitesse de propa d'un signal radio (utilisé en aéronautique: DME) n'est pas applicable sur de si petites distances (3 10^8m/s).
Une triangulation non pas en temps de propa mais en vecteurs serait peut être plus performante.Mais alors il faut une espèce de gonio très sélective...
Un système multi-balises a été évalué avec succés avec des balises radio (ou IR pour donner le top départ) et US (la vitesse de propa n'étant plus que de 300m/s).
Sujet vaste et intéressant! tu pensais à autre chose?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#74 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 12 avril 2013 - 05:07

Bonsoir,

Excusez moi de rentrer dans votre conversation, mais je suis également sur la réflexion de la location d'un robot architecte d'intérieur comme celui-ci.

Mon hypothèse serait une localisation par la vue (OpenCV) est ce que vous ne pourriez pas l'appliquer également à votre projet en extérieur ?

Gyro49

#75 machina78

machina78

    Membre

  • Membres
  • 38 messages

Posté 12 avril 2013 - 05:55

Hello Sky, en fait le GPS me parraissait le plus simple a mettre en oeuvre (sans uiliser rtk dans un premier temps).
je ne trouvais pas évident de faire fonctionner des balises pour la surface a couvrir. mais cela avait déjà été évoqué ici
je vais voir pour la précision, car cela semble un peu aléatoire enfonction de la couverture nuageuse...

Si la précision obtenue n'est pas suffisante avec le ublox NEO 6-P, j'envisagerais le RTK utltérieurement.

Bonsoir Gyro, pas de probleme pour intervenir sur le fil de discussion, bien au contraire
Peux tu expliquer comment s'integrerait OpenCv dans ce type de projet de localisation en extérieur ?

#76 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 12 avril 2013 - 07:36

A ma connaissance, les seuls résultats intéressants avec des balises radio à courte portée utilisent le niveau de signal reçu, globalement le résultat ne semblait pas meilleur que le GPS.

Une autre hypothèse revenant à mesurer la vitesse de propa d'un signal radio (utilisé en aéronautique: DME) n'est pas applicable sur de si petites distances (3 10^8m/s).
Une triangulation non pas en temps de propa mais en vecteurs serait peut être plus performante.Mais alors il faut une espèce de gonio très sélective...
Un système multi-balises a été évalué avec succés avec des balises radio (ou IR pour donner le top départ) et US (la vitesse de propa n'étant plus que de 300m/s).
Sujet vaste et intéressant! tu pensais à autre chose?


Non, en effet, c'était mon idée. Ou des variantes. Justement l'ultrasonique, car avec la plus faible distance de propagation ça devient plus facile qu'avec des ondes électromagnétiques se déplaçant à C :)

Après sinon, oui, j'ai encore d'autres idées :
des balises IR, de forte puissance, émettant chacune un code différent. On peut reprendre les mêmes principes, mais sinon plutôt que de s'appuyer sur les délais de propagation utiliser le fait qu'on aura une réception d'autant plus importante qu'on est aligné avec la balise.


A part ça, je pense utiliser pour de plus petites surfaces un guidage inertiel, pour déduire la topologie du terrain. Si un robot possède un accéléromètre, il peut logiquement calculer en dérivant par rapport au temps le déplacement qu'il a effectué selon x,y, et z. Donc en arpentant une zone, il doit pouvoir dire "j'ai avancé de tant" selon chaque axe. Du coup il suffirait de parcourir la zone en la quadrillant... Reste le problème de la rectitude des trajectoires.
Il faut dire que pour ma part, j'ai envisagé ces solutions pour cartographier un plus petit espace, et contenant des obstacles. Mon idée était donc qu'avec un parcours répété plusieurs fois, en prenant des points de référence fixe, le robot pourrait finir par établir la position des obstacles en affinant sa mesure à chaque rencontre... l'idée était d'avoir un déplacement plus ou moins aléatoire, en notant la position des obstacles à chaque fois.


Sinon, pour une cartographie, voici une petite idée. On place un piquet à un endroit, et on y place le robot. Le robot ne serait pas mobile, mais un système fixe, doté d'un grand pied, d'une tourelle avec des servomoteurs permettant l'orientation d'un capteur de distance selon les deux directions (gauche-droite et haut-bas).
La tourelle serait sur une plateforme capable soit de connaitre son inclinaison par rapport à l'horizontale, ou alors de corriger cette inclinaison. Bref, on s'assure que la surface sur laquelle est la tourelle est plane. A partir de la, la tourelle scanne les alentours, avec un capteur de distance précis et assez fin, et note la position de chaque point mesuré. Avec un peu de calculs trigonométriques, on peut calculer la distance de chaque point. On peut ainsi connaitre la topologie du terrain car on obtient une carte 3D de celui ci... SI je prends le capteur ultrasonique maxbotix HRLV-EZ4, on a une précision de 1mm pour la détection de la distance d'un objet, pour une largeur de faisceau d'environ 60cm. Donc on pourrait en théorie calculer la position moyenne de points tous les 60cm pour une zone de 5m de rayon (ou un peu moins), c'est la portée du capteur.

Pour passer à la zone suivante, il suffirait de placer un second piquet, et de pointer la tourelle vers ce piquet. On aurait alors la position précise de ce piquet, et on déplace la tourelle à ce point. Du coup la tourelle peut prendre encore des mesures, et on sait ou se trouve la zone de mesure par rapport à la précédente.

A chaque fois la tourelle balaie la zone pour générer un nuage de points. Et en fin de compte, s'il s'agit d'automatiser, on peut imaginer de monter le tout sur un robot, qui se déplacerait de proche en proche, et le piquet servant de référence pour le second point pourrait être un second robot commandé par le premier (par exemple avec un canal radio pour les commandes, et une balise ultra-directionnelle que le gros robot chercherait à détecter pour savoir si le petit est bien à la bonne place, ou pour viser sa position précise!

Maintenant la question est de savoir dans quelle mesure un outil topographique classique ne serait pas intéressant à utiliser sur un robot mobile ^^

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#77 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 12 avril 2013 - 07:36

Bonsoir,

Excusez moi de rentrer dans votre conversation, mais je suis également sur la réflexion de la location d'un robot architecte d'intérieur comme celui-ci.

Mon hypothèse serait une localisation par la vue (OpenCV) est ce que vous ne pourriez pas l'appliquer également à votre projet en extérieur ?

Gyro49

Super ce truc, tu sais comment ça marche?
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#78 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 12 avril 2013 - 07:47

Bonsoir,

Excusez moi de rentrer dans votre conversation, mais je suis également sur la réflexion de la location d'un robot architecte d'intérieur comme celui-ci.

Mon hypothèse serait une localisation par la vue (OpenCV) est ce que vous ne pourriez pas l'appliquer également à votre projet en extérieur ?

Gyro49

Sinon ces solutions sont très intéressantes, en collant des balises à certains endroits on peut analyser un flux vidéo pour détecter la position précise des objets.
Dans les traitements optiques, une utilisation intéréssante serait un capteur type kinect, capable de donner la topologie d'une pièce...
Et il y a une piste également, c'est de faire un scanner 3D adapté. En utilisant un laser ligne, avec un servo pour faire un balayage, et une caméra, il est possible d'extraire un nuage de points, en utilisant certains logiciels.

Avec mon laser "ligne", j'obtiens largement plusieurs mètres de portée pour une belle ligne bien visible.

La méthode est assez simple et économique pour faire un scanner 3D (je ne l'ai pas testée personnellement toutefois):
http://www.instructables.com/id/Make-your-own-3d-scanner/
http://www.tinkernut.com/2010/02/03/how-to-make-a-3d-scanner/

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/


#79 Gyro49

Gyro49

    Habitué

  • Membres
  • PipPip
  • 246 messages
  • Gender:Male
  • Location:Angers, France

Posté 12 avril 2013 - 07:59

Mon idée se base sur plusieur projet à réunir en seul
http://www.pobot.org/Balises-et-camera.html

http://www-cs.engr.ccny.cuny.edu/~zhu/zOmniStereo01.pdf page7

http://le2i.cnrs.fr/IMG/publications/marhic2000.pdf

http://tel.archives-ouvertes.fr/docs/00/13/17/79/PDF/mallet-these.pdf

http://www.ensta-paristech.fr/~filliat/Courses/Polys/Filliat_RobotiqueMobile_ENSTAParisTech.pdf

http://robofoot.polymtl.ca/publications/ELE6904_smarleau.pdf

Je sais très prétentieux de vouloir comprendre des thèses mais adapter les idées des autres c'est ma spécialité.

Gyro49

#80 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 13 avril 2013 - 05:28

Mon idée se base sur plusieur projet à réunir en seul
http://www.pobot.org/Balises-et-camera.html

http://www-cs.engr.ccny.cuny.edu/~zhu/zOmniStereo01.pdf page7

http://le2i.cnrs.fr/IMG/publications/marhic2000.pdf

http://tel.archives-ouvertes.fr/docs/00/13/17/79/PDF/mallet-these.pdf

http://www.ensta-paristech.fr/~filliat/Courses/Polys/Filliat_RobotiqueMobile_ENSTAParisTech.pdf

http://robofoot.polymtl.ca/publications/ELE6904_smarleau.pdf

Je sais très prétentieux de vouloir comprendre des thèses mais adapter les idées des autres c'est ma spécialité.

Gyro49

Pourquoi prétentieux?
Après tout le but d'une thèse, c'est d'exposer les résultats d'un long travail de recherche :) Normalement une bonne thèse (je parle bien de la thèse en tant que document écrit) devrait permettre à un lecteur
ayant un minimum de background de comprendre ce qui a été fait :)
Maintenant, je reconnais que certains travaux scientifiques sont tellement abscons, et peu vulgarisés, que comprendre ce que raconte l'auteur quand on est pas l'un des 10 spécialistes mondiaux à qui il s'adresse, c'est parfois ambitieux :P

En tous cas c'est une approche intéréssante, que je ne connaissais pas. Avec OpenCV je connais l'approche simple de détection de "balises visuelles" dans une image, et en calculant la déformation géométrique due à l'inclinaison potentielle de l'objet, on calcule l'angle auquel on le voit, et en analysant sa taille perçue, on peut calculer sa distance. Du coup si on a une ou plusieurs balises sur le terrain, on peut calculer à quelle distance on est par rapport à ça.

Mais l'approche "kinect" pourrait être plus simple pour cartographier un terrain!

Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/




Répondre à ce sujet



  



0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users