π
<-
Chat plein-écran
[^]

Apprivoisons le TI-Robot E3, épisode 3 : en avant, marche !

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Apprivoisons le TI-Robot E3, épisode 3 : en avant, marche !

Message non lude critor » 27 Aoû 2017, 16:05

8626Dans l'épisode précédent, nous tentions de faire avancer notre TI-Robot E3.

Un problème constaté était que, lors de son arrêt, le TI-Robot E3 changeait de direction.
En effet, notre programme exécuté ligne à ligne ne stoppait pas simultanément les servomoteurs gauche et droit, ce qui causait une déviation de trajectoire.
Code: Tout sélectionner
Send("CONNECT DIGITAL.OUT 1 BB1
Send("CONNECT DIGITAL.OUT 3 BB3
Send("SET DIGITAL.OUT 1 1
Send("SET DIGITAL.OUT 3 1
Send("SET DIGITAL.OUT 1 0
Send("SET DIGITAL.OUT 1 1
Wait 5
Send("SET DIGITAL.OUT 1 0
Send("SET DIGITAL.OUT 3 0

La roue gauche (DIGITAL.OUT 3) tournait en effet toute seule le temps de l'exécution de la ligne 9.

Le temps d'exécution d'une ligne de programme étant à peu près constant, une idée évoquée en commentaires était de réactiver la roue droite (DIGITAL.OUT 1), le temps d'une ligne, pour compenser :
Code: Tout sélectionner
Send("CONNECT DIGITAL.OUT 1 BB1
Send("CONNECT DIGITAL.OUT 3 BB3
Send("SET DIGITAL.OUT 1 1
Send("SET DIGITAL.OUT 3 1
Send("SET DIGITAL.OUT 1 0
Send("SET DIGITAL.OUT 1 1
Wait 5
Send("SET DIGITAL.OUT 1 0
Send("SET DIGITAL.OUT 3 0
Send("SET DIGITAL.OUT 1 1
Send("SET DIGITAL.OUT 1 0

La roue droite (DIGITAL.OUT 1) va donc elle aussi tournera toute seule le temps de l'exécution de la ligne 11.

Voici maintenant l'heure de vérité :


Le poblème semble résolu, le TI-Robot E3 n'effectue plus de changement brutal de trajectoire en s'arrêtant ! :bj:

Par contre, au lieu d'aller tout droit selon une trajectoire rectiligne, le TI-Robot E3 semble suivre une trajectoire curviligne et dévier progressivement sur la gauche - sans doute les 2 servomoteurs ne tournent-ils pas exactement à la même vitesse.
Qu'en penses-tu ? Des idées ?... ;)




Lien : http://innovatorrobot.com
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Apprivoisons le TI-Robot E3, épisode 3 : en avant, march

Message non lude critor » 18 Sep 2017, 19:57

Image :)
Fichiers joints
Pic8.8ci
(21.5 Kio) Téléchargé 111 fois
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Apprivoisons le TI-Robot E3, épisode 3 : en avant, march

Message non lude critor » 18 Sep 2017, 23:27

Je ne sais pas si cette méthode se révélera fiable, mais voici une tentative de programme de calibrage.

Le but est de pouvoir atteindre des performances acceptables sans un calibrage trop long/fastidieux, sachant qu'il devra être refait à chaque utilisation (différence de sol, différence de charge des piles...).

On fait tourner une seule roue à la fois à vitesse maximale, dans les deux sens.
Et on ajuste le temps afin que le robot fasse exactement 3 tours sur lui-même.
Comme ça tourne autour de 10s, le calibrage est l'affaire de quelques minutes, ce qui est envisageable en classe.
Image8816

Et bien c'était normal que le robot n'avance pas droit, les durées pour faire 3 tours étant différentes entre les roues droite et gauche, et même entre les sens avant et arrière.
Les valeurs s'échelonnent entre 9,7s (roue gauche en avant) et 10,5s (roue droite en avant).
Il y a donc une roue qui fait 18,56tr/min quand l'autre fait 17,14tr/min.
Les roues faisant 6cm de diamètre, cela donne du 3,50m/min d'une part, et 3,32m/min d'autre part.

Mais, ce que je remarque, c'est qu'avec 6 piles AA qui pourtant sont encore correctes (entre 1,40 et 1,44V), sur le même sol il y a parfois des écarts significatifs entre deux tentatives successives de calibrage. :#roll#:
En fait, ça se devine même à l'oreille sans attendre la fin, le servomoteur se met parfois à accélérer ou ralentir légèrement au milieu de l'opération, ce qui donne un bourdonnement plus ou moins aigu... de quoi retirer ou ajouter un quart de tour.

Si je mets des piles neuves et que le problème persiste, ben il n'est pas près de marcher droit. :'(

Code: Tout sélectionner
4→dim(⌊E3
.1→P
3→Q
For(I,1,4
If 0≥⌊E3(I
100P→⌊E3(I
End
max(⌊E3,P→⌊E3
EnrBDG BDG0
CouleurBord 4
ZDécimal
1→Xmin
40Xmax+Xmin→Xmax
1→Ymin
40Ymax+Ymin→Ymax
EffDess
RappelPic Pic8
0→K
GRIS CLR→E
JAUNE→F
32→T
58→G
193→D
12→H
"   →Chn9
2→O
1→N
­1→K
CouleurTexte(NOIR
Texte(0,0,Q," tour(s)
While K≠22 et K≠23 et K≠45
If N≠O
Then
CouleurTexte(E
For(I,O,N,N-O
Texte(T+Hnon(partDéc(I/2)),G+(D-G)(I≤2),sousch(Chn9,1+3non(partDéc(I/2)),3-non(partDéc(I/2
CouleurTexte(E+1
Texte(T+Hnon(partDéc(I/2)),G-30+(D-G+50)(I≤2),⌊E3(I
CouleurTexte(F
End
N→O
Else
CouleurTexte(E+1
Texte(T+Hnon(partDéc(N/2)),G-30+(D-G+50)(N≤2),⌊E3(N
End
If K<0
Then
Send("CONNECT DIGITAL.OUT "+eval(N)+" TO BB"+eval(N
If N<4
Then
N+1→N
Else
1→N
0→K
End
Else
getKey→K
N+(K=34 et partDéc(N/2))-(K=25 et non(partDéc(N/2)))+2(K=24 et N≤2)-2(K=26 et N≥3→N
⌊E3(N)+P(K=95)-P(K=85→⌊E3(N
If K=21 ou K=31 ou K=105
Then
Send("SET DIGITAL.OUT "+eval(N)+" 1
Wait ⌊E3(N
Send("SET DIGITAL.OUT "+eval(N)+" 0
End
End
End
For(I,1,4
Send("DISCONNECT DIGITAL.OUT "+eval(I
End
RappelBDG BDG0
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Apprivoisons le TI-Robot E3, épisode 3 : en avant, march

Message non lude Adriweb » 19 Sep 2017, 12:05

Programme très bien fait et joli en tout cas :)
Dommage qu'il y ait matériellement une telle différence cela dit...
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Apprivoisons le TI-Robot E3, épisode 3 : en avant, march

Message non lude critor » 19 Sep 2017, 17:08

Si les servomoteurs équipant notre TI-Robot E3 sont si peu fiables (ou défectueux ?...), il y aurait peut-être un moyen de contrôler ce qui se passe avec un capteur de champ magnétique ou accéléromètre.

TI le liste et lui associant l'identifiant COMPASS :
https://epsstore.ti.com/OA_HTML/csksxvm ... ryId=14259

Mais bizarrement, cet identifiant COMPASS est absent des menus Hub des derniers OS TI-83PCE/84+CE 5.3 et TI-Nspire CX 4.5. :(
Et le taper à la main semble ne pas marcher non plus. :(
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 70 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
968 utilisateurs:
>950 invités
>13 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)