Aller au contenu


Photo
- - - - -

Hector

VL53L0X Odomètrie RPLIDAR A2 Arduino Due

219 réponses à ce sujet

#61 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 10 septembre 2017 - 04:01

;) Oui merci  pour cette info ^^ Là avec le pilotage du pas à pas, j'ai bien envie de mettre 2 arduino. Pas obligé, ça passerait au niveau du câblage. Je gagne une broche en retirant le servo et je doit en ajouter 2 pour le stepper + une pour la fin de course soit + 2 broches utilisées. Ce serait pour être tranquille avec mes interruptions et pouvoir compter mes roues codeurs en même temps que je fais fais mes relevés de distance. En tout cas pour gagner de la vitesse.



#62 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 17 septembre 2017 - 03:10

Ce WE, j'ai mis ensemble (en mode développement) les 4 capteur TOF VL53L0X, le arduino nano, le driver et un stepper.

Pour piloter le driver du stepper : 2 pin, le pas et la direction. La lib qu'Ashira a mis dans son test est top !!

Pour les capteurs, c'est plus compliqué. J'ai posté des infos par le passé là : http://www.robot-maker.com/forum/topic/10721-capteur-de-distance-laser-vl53l0x/?p=76048

 

J'ai configuré le driver à 1/16 pas. Comme dit plus haut, c'est vraiment trop long. Je fais une une mesure tous les 10 pas.

Ça me donne au bout des 2 mètres de la mesure une erreur de ~4cm. Je m'en contenterai.

 

Donc, avec le stepper, j'ai une vision à 360° avec 320 échantillons (tous les 1,1°) et une envergure de 4m autour. 

 

Qui dit stepper, dit butée. Problème rencontré, quand la tourelle quitte la butée, elle oscille ... C'est à cause du couplage mécanique entre la tourelle et l'arbre du moteur. Pour ne pas avoir ce pb à chaque aller-retour, j'éloigne le point de départ de la butée. Ça donne les 3 états du programme plus bas : 1) recherche de la butée et avance de 500. 2) forward 90°, 3) backward de 90°, puis 2) puis 3) ...

 

IMG_3918.jpg

 

 

Sur la sortie USB, j'obtiens des séries de 5 chiffres. Le 1er est la position du stepper. Les 4 suivant est la distance mesurée.

(...)
30, 78, 34, 22, 17
20, 78, 39, 21, 17
10, 79, 34, 21, 14
0, 78, 34, 20, 16
10, 80, 37, 21, 16
20, 76, 32, 21, 18
30, 82, 36, 20, 16
(...)

La forme triangulaire est la première colonne.

Sans titre.png

 

Code arduino qui m'a servi pour le test :

 

Spoiler

 

:kez_05: @Oracid 



#63 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 768 messages
  • Gender:Male

Posté 17 septembre 2017 - 06:34

Problème rencontré, quand la tourelle quitte la butée, elle oscille ... C'est à cause du couplage mécanique entre la tourelle et l'arbre du moteur.

Qu'est-ce qu'il a ton couplage ?

#64 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 17 septembre 2017 - 06:53

Mon coupleur d'axe est celui qu'on a sur les axes Z de la disco de dagoma :).

 

Genre ça :

61mYZuCN4lL._SL1200_.jpg

 

Quand je quitte la butée qui (elle aussi) a du ressort, cela fait osciller ma tourelle. On le voit bien sur la video.



#65 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 768 messages
  • Gender:Male

Posté 17 septembre 2017 - 08:02

On le voit bien sur la video.

Oui, j'ai bien vu. Je connais bien ces coupleurs.
As-tu essayé sans le profilé, mais avec le coupleur ? Juste pour voir.

#66 cocothebo

cocothebo

    Membre passionné

  • Membres
  • PipPipPip
  • 341 messages
  • Gender:Male

Posté 17 septembre 2017 - 08:06

Salut,

 

A mon avis le problème ici est purement mécanique, si ton profilé n'est "tenu" que par le moteur, forcément il y aura beaucoup de jeu.

Il faudrait que la tourelle soit fixée par au moins deux paliers, comme pour un axe. Le plus d'espace entre ces deux paliers le moins ca bougera.


  • Forthman aime ceci

#67 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 17 septembre 2017 - 08:47

Profilé ou pas, il me faudra un truc couplé sur l'axe pour y accrocher les capteurs. Et sans le profilé pas de contact sur la butée. Je vois pas comment faire Oracid.

Sinon, le profilé est tout à fait dans l'axe du moteur. Après la butée, et son éloignement, la vibration semble très faible. Je pourrais me rendre compte de son impact sur la mesure quand les capteurs seront montés sur la tourelle. Si c'est trop important, j'envisagerai de coupler la partie supérieur sur un axe fixe mais cela ajoute un angle mort.

Merci de votre aide.

#68 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 382 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 18 septembre 2017 - 10:14

Comme l'a dit Cocothebo, le problème avec ton coupleur, c'est qu'il n'est fait que pour palier au défaut de parallélisme

entre l'axe de ton moteur et l'axe principal.

Et le roulement du moteur n'est pas fait pour supporter une charge longitudinale.

Ok, là c'est de la petite mécanique légère donc... c'est pas trop grave

 

mais normalement tu devrais avoir un système de palier pour tenir l'axe, ET un accouplement pour relier ton moteur dessus.

De sorte que tu puisses démonter ton moteur et faire tourner ta tourelle à la main.



#69 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 18 septembre 2017 - 11:37

J'ai bien compris ce que vous m'expliquez ( enfin je crois ). J'ai une idée pour avoir mes 2 points de fixation et pas d'angle mort. Je vous montre ça dès que j'ai avancé.

Merci de votre aide :)
  • Forthman aime ceci

#70 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 18 septembre 2017 - 10:09

 

Et le roulement du moteur n'est pas fait pour supporter une charge longitudinale.

Quand ce moteur était sur l'imprimante, il devait supporter le poids de l'axe vertical : une tige filetée et le poids de la moitié de la tête d'impression. Je veux bien entendre que sa conception soit légère (discovery 200). Là, je me dis que ça va aller, comme tu dis, c'est léger.

 

 

Alors je vais faire 2 choses pour améliorer la tourelle.

1. C'est sûr, je viens de tester. Je vais remplacer l'interrupteur de butée par le palpeur sans contact (toujours récupéré de l'imprimante). Ça fonctionne très bien sur la petite barre de métal qui venait toucher l'interrupteur. Plus de contact, plus d'oscillation au contact de la butée. On lit le capteur avec un simple analogRead :)

 

2. Je vais essayer de fixer la tourelle sur un 2e point. Comme dit Cocothebo, je vais essayer de cette manière là. Le jeu entre la vis et le trou dans le profilé est de 0,35mm. Je mettrai du papier autour de la vis pour limiter le bruit et diminuer le jeu.

 

IMG_3928.jpg

 

Le palpeur est un NPN Inductive Proximity Sensor. Si quelqu'un peu m'expliquer la techno qui est en jeu. Ça m'ennuie de mettre ça sans savoir comment il fait pour détecter le métal ^^



#71 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 18 septembre 2017 - 10:35

J'ai trouvé ça chez mon ami google : https://automation-insights.blog/2014/03/05/basic-operating-principle-of-an-inductive-proximity-sensor/ 

J'avoue que je pourrai pas l'expliquer à quelqu'un d'autre :)

Pour la différence entre NPN et PNP : https://www.schneide.../faqs/FA142566/



#72 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 18 septembre 2017 - 11:00

Rappelle toi les tp de physique ou tu avais une grosse bobine bien lourde avec une petite molette pour faire rentrer plus où moins une barre en fer pour changer la valeur de l'inductance :)
J'ai pas tout lu mais d'après le gif (lol) ça a l'air de se baser sur ça.

#73 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 382 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 19 septembre 2017 - 05:29

oui, un capteur inductif c'est juste une bobine (parfois avec un aimant permanent)

dans laquelle on envoie un signal électrique oscillant

lorsqu'un objet métallique (ou organique) s'approche ou s'éloigne, ça créé un courant de Foucault.

(l'intensité du courant qui alimente la bobine change)

et suivant le seuil fixé, l'info de présence est renvoyée.

le composant qui permet de déterminer la sensibilité de détection est un transistor (on alimente sa Base en intensité)

Du coup tu peux avoir des capteurs PNP ou NPN. suivant si ton entrée est à l'état normalement haut ou bas.

petit schéma (ton entrée c'est le petit rond entre le transistor et load) :

 

Image(s) jointe(s)

  • 006_pnp_npn_switching-outputs.jpg


#74 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 19 septembre 2017 - 06:57

Merci pour ces explications !! Cela fait remonter de vagues souvenirs :)

#75 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 768 messages
  • Gender:Male

Posté 19 septembre 2017 - 07:35

Sur ta Dagoma, il y a 2 bien points d'ancrage de la vis.
L'écrous qui fait monter le plateau et le trou dans le plastique du haut qui est flottant, mais c'est fait exprès, pour ne pas répercuter les vibrations vers le coupleur.

#76 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 29 octobre 2017 - 05:54

Enfin quelques news à donner sur Hector : Fixation de la tourelle sur 2 points. Capteur de fin de course par induction, plus de contact, plus d'oscillation de la tourelle !

 

 

 

Schématiquement, il ressemble à ça :

 

Hector.001.png

 

 

Il y a 4 capteurs placés à 90°. La tourelle fait des aller-retours sur 90°. J'ai mis une couleur par capteur. C'est un nuage de points, pas d'interpolation, c'est brut. Je transforme juste les coordonnées polaires en cartésiennes.

 

Sur les parcours en bleu et noir, on voit la régularité des mesures, en angle et en distance. Le nuage rouge et vert en bas, c'est moi qui bouge pendant la mesure. Les tracés manquant montrent une distance trop grande pour le capteur.

 

Face à des murs à angle droit, les angles semblent arrondis. Un bel exemple d'arrondi sur le tracé noir en haut à droite. Idem pour l'arrondi bleu en haut à gauche.

 

Est-ce mon éclairage ? Est-ce un reflet ?

 

unknown.png

 

Je fait un test avec un couvercle devant les capteurs.

 

IMG_3961.jpg

 

Ça donne ceci. Des genre de 'M' sur les angles de la boite.

 

boite avec profile?.png

 

Conclusion, c'est les profilés qui ajoute des interférences. Je refais le test avec les profilés à l'extérieur de la boite.

 

IMG_3963.jpg

 

C'est mieux mais pas encore super.

 

boite sans profile?.png

 

On voit une différence de mesure entre le capteur en rouge et le capteur en vert ...

 

Je vois 2 types de déformations.

Celle en haut sur les capteurs noir et bleu. La mesure est pas linéaire.
Celle du vert plus bas et du nuage rouge, c'est certainement que la boite ne va pas assez bas.

Les points verts ne rejoignent pas bien les points bleus.

En tout cas, le vert et le rouge partent vers le bas avec le même angle. Ce qui semble confirmer le 1er pb. Je vais peut-être m'en sortir avec un coefficient pour remettre les murs droits. Et un autre pour le capteur vert qui semble avoir des distances plus longues.

 

Je vais aussi revérifier ma transformation polaire / cartésienne.

 

Reste à améliorer les échantillons de distance et finir la partie déplacement avec les roues codeuses.

 

Eclate totale !! Gros kif !! Je suis preneur des remarques !! :) Merci d'avance.

 

Code source : https://github.com/Path000/Hector


Modifié par Path, 29 octobre 2017 - 06:27 .
ajout du lien github

  • Mike118 , Budet et Oliver17 aiment ceci

#77 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 29 octobre 2017 - 07:01

Pas mal!
Et si le problème des coins de ton couvercle était le même qu'avec les profilés à l'intérieur ? Genre réflexion du laser sur l'autre côté adjacent -> perturbation.
Du coup si tu mets un coefficient et qu'il n'y a pas d'angle ça va tordre la ligne droite.

#78 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 29 octobre 2017 - 07:27

Merci :) C'est fort possible. Je vais refaire des tests face à un mur tout plat à une distance plus grande des capteurs.



#79 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 29 octobre 2017 - 08:11

Test avec un objet de 2m bien droit. Un coup à gauche, un coup à droite. C'est pas parfait mais ça donne raison à ta théorie. ;) Merci
 
mur a? gauche.png  mur a? droite.png

#80 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 966 messages
  • Gender:Male
  • Location:Anglet

Posté 31 octobre 2017 - 10:27

en fait au début comme ça j'avais l'impression que certaines "erreurs " que tu vois dans les données recueillies traduisent en partie un défaut mécanique du style ' tourner pas bien rond" / capteurs pas monté à la même distance de l'axe de rotation / pas exactement des déphasage de 90° entre les capteurs " =)  

en tout cas les résultats sont prometteurs =) 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : VL53L0X, Odomètrie, RPLIDAR A2, Arduino Due

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

0 members, 0 guests, 0 anonymous users