π
<-

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 !

Unread postby critor » 27 Aug 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: Select all
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: Select all
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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41958
Images: 15681
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby critor » 18 Sep 2017, 19:57

Image :)
You do not have the required permissions to view the files attached to this post.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41958
Images: 15681
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby 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: Select all
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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41958
Images: 15681
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby 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...

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.3%
 
Posts: 41958
Images: 15681
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor


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

Who is online

Users browsing this forum: No registered users and 7 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
667 utilisateurs:
>635 invités
>24 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)