Calibration et distance parcourue

Bonjour

je viens de recalibrer ma thymio pour qu’elle aille droit mais mauvaise surprise, les programmes scratch et blockly4thymio se retrouvent très faussés.
Avant avec l’instruction de blockly4thymio avance 30 cm la thymio faisait presque 30 cm.
maintenant elle n’en fait plus que 22 cm

Il en est de même avec Scratch
l’instruction move 50mm de david shermann ne fait avancer que d’environ 40 mm

je précise que j’utilise une thymio avec le firmware 9 ?
Comment corriger ce problème ?

Merci
Alain

Bonjour Alain,

Peut-être la correction de calibration se traduit par la correction de la vitesse du moteur
le plus rapide en lui imposant la vitesse plus faible de l’autre moteur, par un coefficient multiplicateur genre 0,8 ?
Dès que j’ai l’occasion de faire un test, je vérifierais si les miens se comportent de la même manière.

Bonjour
Je viens d’essayer de recalibrer en mettant la thymio en marche arrière et en appuyant plusieurs fois sur les flèches droite et gauche cela n’a rien fait
Avec blockly 4thymio il n’y a que 23 cm de parcourus lorsqu’on veut en parcourir 30 et il faut mettre un angle de 103 degrés pour tourner de 90
Cela n’a pas diminué mais cela n’a pas augmenté non plus…

L’idéal serait qu’en mettant la thymio en marche avant on puisse augmenter soit la vitesse du moteur gauche soit la vitesse du moteur droit et la mettre définitivement en mémoire et qu’inversement en mettant la thymio en marche arrière on puisse diminuer soit la vitesse du moteur gauche soit la vitesse du moteur droit et la mettre définitivement en mémoire.

De toute façon, il y aussi le problème de l’adapation du firmware 10 à blockly4thymio

Alain

Bonjour Alain, suite à l’une de tes bonnes remarques, je suis en train de mettre en place, dans Blockl4Thymio, une instruction dédiée à la recalibration, pour essayer d’ajuster la distance demandée dans Blockl4Thymio à la réalité.
Concernant le Firmware 10, il semblerait que le protocole de transfert (entre l’ordi et le robot) ai changé avec la version 1.5… Je cherche une solution aussi…

Bonjour Okimi
Merci pour tous tes efforts…

J’ai vu en effet que tu avais identifié le problème du firmware sur https://www.thymio.org/forum/t-1664090/asebamassloader-et-aseba-studio-version-1-5

A bientôt

Alain

Bonjour à vous,

Je peux peut-être apporter une petite pierre à l’édifice :wink:

Pour ce qui est de la distance parcourue sur Scratch ou Blockly4Thymio, je ne pense pas qu’il y ait une calibration précise pour les Thymio à ce niveau-là. Le robot de base ne possède pas de capteur capable de lui dire de combien de centimètres il a avancé (pareil pour les angles). Le truc à faire est de l’estimer en sachant que s’il roule à la vitesse X pendant le temps T, la distance parcourue sera X * T. J’ai fait un code qui fait ce genre de chose ici je l’ai utilisé pour refaire un genre de bee-bot avec Thymio, comme ici

J’imagine que dans Blockly4Thymio et Scratch il y a un genre de formule qui estime la position en fonction de la vitesse, c’est celle-ci qu’il faudrait en effet calibrer en fonction du robot.

Pour ce qui est de la calibration des moteurs pour la rectitude, on applique en fait un différentiel sur les vitesses des roues (un peu plus à gauche, un peu moins à droite). Techniquement, ça ne devrait pas affecter beaucoup les distances (quoi que pour 20 - 40 cm, j’imagine qu’on peut commencer à sentir une différence). Le vrai problème, c’est surtout de calibrer le robot pour qu’il estime correctement la distance qu’il parcourt. N’hésitez pas à vous inspirer de ce que j’ai fait comme calibration. C’est automatique et tout bête:

  1. on pose le Thymio sur le départ
  2. on appuie sur avant
  3. il avance jusqu’à la ligne (20cm) et donc sait combien de temps il met pour faire cette distance
  4. il tourne de 270° jusqu’aux marques noires et donc sait combien de temps il met pour tourner

Avec ces deux infos, il est calibré et on peut l’utiliser pour d’autres bouts de programmes. J’ai par exemple utilisé ça pour lire des codes-barres ou pour faire des dessins précis

Et pour la version 10 du firmware/Scratch, on est dessus avec @droy slight_smile:

Bonjour

Merci pour ces informations…
En fait c’est un peu ce que je faisais en utilisant un télécommande avec blockly4thymio et en
ayant rajouté une couche d’instructions dans scratch avec ajouter bloc.

je vais essayer en mettant une carte avec le fichier aesl généré en parallèle avec blockly4thymio

Alain

J’ai télécharger la feuille de calibrage et le programme calibration-position-orientation.aesl
au lieu des 270° la thymio en fait 340…

Sur ma thymio, l’évenement timer n’est pas assez fiable pour l’exploiter.
avec le fichier aesl suivant, le temps de roulage est très variable.

onevent button.center
when button.center == 1 do
timer.period[0] = 10000
motor.left.target = 50
motor.right.target = 50
end

onevent timer0
motor.left.target = 0
motor.right.target = 0

Qu’est ce qui peut causer ce dysfonctionnement ?
Merci
Alain

Bonjour,
J’ai mis à jour le compilateur Blockly4Thymio et il est maintenant possible de déterminer une valeur de calibration pour les moteurs, cette valeur pourra ensuite être utilisée pour les exercices avec déplacements.
Je vous laisse essayer et me faire vos retours…

Bonjour

Premiers tests après avoir téléchargé la version 4 du compilateur et utilisé l’exercice 10.

Il y a quelques différences suivant la vitesse employée mais cela fonctionne bien dans l’ensemble
les mesures sont fiables
sans variable de correction je fais 7.5 cm pour 10 cm demandés… en vitesse normale lente ou rapide
avec 64 comme variable de correction j’arrive à obtenir 10 cm pour 10 cm demandées en vitesse normale, mais 10,2 cm pour 10 cm demandées en vitesse lente et 9.8 cm en vitesse rapide.

Par contre rien de changé pour les attendus liés à la rotation …
pour faire 90 degrés réels à droite je demande toujours une rotation de100° ( curieusement il n’en faut que 98 pour la gauche )
Concernant la rotation cela ne me gêne pas trop car à l’école primaire on ne fait pas beaucoup de mesure d’angles en degrés
Pour ne pas choquer les puristes, tu pourrais changer l’unité d’angle degré en degré_thymio !

Autrement quelques demandes ergonomiques sur le positionnement et l’ordre des instructions
Je pense que l’instruction liée au calibrage devrait plutôt être regroupée dans la famille des événements

Me servant beaucoup de la télécommande, je pense que l’instruction " le touche de la télécommande est " serait mieux placée si elle était en tête des instructions valeurs. (actuellement elle est tout à la fin )

Pour les mouvements dans l’ordre des étiquettes
mettre normal rapide lent plutôt que lent normal rapide

En tout cas merci encore pour le travail réalisé ! ( mes remarques ne sont que des points de détails par rapport à la qualité exceptionnelle de l’ensemble )

Alain