Télécommande à vitesse variable pour PFS et par NXT/IR

Pour expliquer certains fonctionnements, principes et fondements.
Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Ven Sep 25, 2009 9:37 am

Je suis pas sur qu'il faille dépecer le topik Rollcage car cela fera un trou, par contre on peut prendre le fin de celui-ci et l'ajouter au "vitesse variable PWM"

Super Roboléo, je suppose qu'on peut commander 4 récepteurs IR avec le même IR Link, ce qui signifie 8 moteurs. Il me semble que dans ce cas l'IR link ne peut pas envoyer 2 signaux sur deux cancaux différents en même temps, c'est chaque récepteur séparément. Mais c'est déjà bien :D

Par contre j'ai un doute sur la portée de l'IR link, pourrais-tu faire un petit comparatif télécommande PFS/Irlink ? Il me tente vraiment ce "capteur"

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Ven Sep 25, 2009 1:23 pm

Salut alban
Alban42800 a écrit:Super Roboléo, je suppose qu'on peut commander 4 récepteurs IR avec le même IR Link, ce qui signifie 8 moteurs. Il me semble que dans ce cas l'IR link ne peut pas envoyer 2 signaux sur deux cancaux différents en même temps, c'est chaque récepteur séparément. Mais c'est déjà bien :D

Donc pour le moment on a 8 moteurs dont 2 en direct et les autres présents mais pas commander simultanément.
Je fais des essais et pour le moment j'arrive juste à changer de canal grâce au bouton du NXT. J'ai une vidéo en cour.
je suis pas sur qu'avec un peu d'interruption on puisse pas envoyer plusieurs messages sur plusieurs canaux.... Faut essayer.

ok la voila :
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Ven Sep 25, 2009 2:05 pm

semtou a écrit:Comment tu fais pour le retour au neutre : tu as mis de l'affichage sur l'écran du NXT de la télécommande ?

Oui, les valeurs des vitesses sont affichées pour chaque moteur du NXT (0 à 7).
Le programme a aussi été mis au point avec ton aide, ne l'oublions pas. Une valeur affichée pour chaque moteur.
Mais cette affichage est mal commode; j'envisage de le remplacer par une barre de progression pour chaque moteur, de part et d'autre d'un point zéro (pour indiquer le sens de rotation des moteurs).
Je vais aussi tenter de bloquer la rotation des moteurs NXT quand on atteindra la valeur max (positive ou négative) avec un signal sonore.
Voilà en gros les modifs envisagées…
J'oubliais: le programme est écrit en version NXT-G 1 et 2.

Alban42800 a écrit:Par contre j'ai un doute sur la portée de l'IR link, pourrais-tu faire un petit comparatif télécommande PFS/Irlink ? Il me tente vraiment ce "capteur"
Il me semble que dans ce cas l'IR link ne peut pas envoyer 2 signaux sur deux cancaux différents en même temps, c'est chaque récepteur séparément. Mais c'est déjà bien

La portée est sensiblement la même que celle de la télécommande PFS. Seule remarque, il faut que le récepteur PFS ne soit masqué par aucun obstacle et bien "visible" par le capteur IR Link fixé sur le NXT.

Pour la simultanéité des canaux je n'ai pas tenté l'expérience. 2 moteurs par canal soit pour 4 canaux disponibles, 8 moteurs.
Une chose est possible (à vérifier), c'est que par un canal on peut activer 4 moteurs PFS.

@ semtou
Je viens à l'instant de visionner ta vidéo.
Elle mérite une attention particulière: il y a là ouverture à d'autres perspectives.
A suivre…

EDIT
Je viens de vérifier que sur un canal on peut activer 4 moteurs avec un récepteurs PFS, en les couplant 2 à 2. C'est possible et çà fonctionne parfaitement. Cela donne pour les 4 canaux 16 activations possible de moteurs PFS. Reste maintenant à vérifier si les 4 canaux peuvent agir simultanément et si cela nécessite 4 récepteurs PFS.
Dernière édition par roboleo le Ven Sep 25, 2009 6:10 pm, édité 1 fois au total.
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Ven Sep 25, 2009 4:35 pm

Roboléo
roboleo a écrit:Je vais aussi tenter de bloquer la rotation des moteurs NXT quand on atteindra la valeur max (positive ou négative) avec un signal sonore.

Oups ça c'est une idée :petuncable: car c'est pas évident de diriger un véhicule avec les deux roues. On a tendance à se perdre dans le droite gauche et surtout à partir en sucette dès que la vitesse est importante. Je vais chercher du coté du retour au neutre pour ma part car les moteurs peuvent servir à sa aussi je pense. J'imagine bien un système qui ramène les roues (de la télécommande) au neutre quant on lâches un capteur tactile.

roboleo a écrit:Je viens à l'instant de visionner ta vidéo.
Elle mérite une attention particulière: il y a là ouverture à d'autres perspectives.

Ha oui tu vois quoi ? dans ta boule de cristal ::D:
j'ai pensé à utiliser les capteurs tactiles pour passé d'un canal à l'autre et donc en faire une télécommande capable de piloter plusieurs moteurs mais en alternance toujours. Je vais essayer un petit programme dans lequel on change de canal asses rapidement pour voir... :think:
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Ven Sep 25, 2009 6:40 pm

Voila j'ai réussi, petite vidéo pour voir ce que ça donne :
En fait vous allez rire mais ça marche bien avec les piles usées :lolroule: les moteurs sont moins puissant et revienne plus doucement au neutre.

et par la suite le programme en version 2 du NXT-G avec quelques explications car c'est pas si simple et il m'a fallu pas mal d'essais pour parvenir à quelque chose d'acceptable pour les doigts (on dirait du retour de force).
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Ven Sep 25, 2009 6:40 pm

semtou a écrit:Ha oui tu vois quoi ? dans ta boule de cristal ::D:
j'ai pensé à utiliser les capteurs tactiles pour passé d'un canal à l'autre et donc en faire une télécommande capable de piloter plusieurs moteurs mais en alternance toujours. Je vais essayer un petit programme dans lequel on change de canal asses rapidement pour voir... :think:

Je vois sur un seul robot, des actions en cascade, commandées toujours par une télécom NXT.
Au lieu de varier la vitesse, varier le canal. Pour chaque canal sélectionné on déclencherait à l'aide du récepteur et des 4 moteurs disponibles des actions spécifiques.
En prenant l'exemple de ton robot humanoïde, un canal pour l'expression du visage, un canal pour une prise d'objet, un canal pour un message vocal, etc.…
Un programme NXT-G donc, pour chaque action, et contenant les boucles nécessaires pour temporiser. Tous ces programmes sur des rayons de séquence parallèles afin d'offrir un choix.

Suis-je assez clair? :reflechi:
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 55 ans

Messagepar semtou » Ven Sep 25, 2009 10:53 pm

roboleo a écrit:Suis-je assez clair? :reflechi:


Bien sur une seule télécommande plusieurs fonctions... pour un humanoïde ça me tente, ya pas un programme ou un montage (rollcage, sélecteur de vitesses, télécommande pfs, nxt G etc...) qui ne me ramène à mon projet de robot : Légosimo. Et à chaque pas en avant une solution de plus. Seul le temps me manque cruellement en se moment. C'est dur.
A +
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
Anio
Administrateur
Administrateur
 
Messages: 19513
Âge: 37 ans
revieweurmoceurstarwarsexpertambassadeur

Messagepar Anio » Dim Sep 27, 2009 4:37 pm

Voilà, j'ai bidouillé les topics en suivant les bons conseils que Roboléo m'a prodigué. 8)
Think outside the box.

Tout plein de liens utiles dans mon profil ! :P

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Sep 28, 2009 1:06 pm

pas mal ton retour au neutre comment tu fais pour détecter l'absence de pression sur le moteur?
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Lun Sep 28, 2009 1:22 pm

Merci à anio pour son travail.

Voici les liens pour ceux qui auraient envie de construire le banc d'essai et le tribot PFS à l'aide du logiciel Lego LDD:

Image

http://files.me.com/roboleo/amghbz

Image

http://files.me.com/roboleo/47wk8k

Et le programme NXT-G de la télécommande NXT.
Le programme est écrit en version 1.1
http://files.me.com/roboleo/0ftboy
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Lun Sep 28, 2009 2:33 pm

Voici un sujet intéressant qui se développe, je n'ai pas trop le temps en ce moment mais voici quelques idées en vrac :

La télécommande NXT est intelligente, aussi pour piloter un robot à conduite différentielle il est possible d'avoir une commande avec un "manche" de gaz et un manche de direction (ou un joystick). Le programme calculera alors la répartition de puissance entre les moteurs.

Le 'retour de force' de Semtou est très intéressant, je voulais le faire depuis un moment mais j'ai commencé par régler les problèmes de Bluetooth. Dans le cas d'un NXT robot et un NXT télécommande on peut imaginer que la commande devient plus sure si le robot rencontre un obstacle.

Avec un NXT comme télécommande on peut commander un paquet de moteurs. si un IR link utilise un port moteur, il reste deux commandes proportionnelles pour 2 moteurs et 4 entrées 'capteur de contact' pour choisir le canal par exemple.

Avec 3 entrées capteur de contact on peut imaginer une roue codeuse à 8 positions (000, 001, ... 111), le 4éme capteur servant à valider, puis les 2 moteurs à actionner.
Les entrées avec des capteurs de lumière peuvent servir de voyants, je pense que l'écran du NXT est à proscrire car trop peu lisible. Le son peut aussi servir de retour d'information.

Avec notre télécommande intelligente, on peut déclencher une action par une impulsion (par exemple activer un compresseur pendant une minute) et continuer à utiliser la télécommande pour d'autres fonctions pendant ce temps. Cela implique une programmation multi-thread (ah le gros mot, j'explique un peu) :
Je ne crois pas que Roboléo ait expliqué ce fonctionnement* : Le multi-thread c'est du multi-tâche dans le même programme.
Votre ordinateur peut faire 2 choses à la fois : recevoir un e-mail et saisir un texte dans word.
Un même programme peut faire 2 choses à la fois : recevoir un e-mail et en écrire un.
Dans le NXT-G il est possible d'ouvrir plusieurs suites de blocs en parallèles, qui vont se dérouler en même temps. Une suite de blocs attend qu'un capteur soit appuyé, il déclenche le moteur, attend 60 secondes puis arrête le moteur et revient à son état initial (attente du capteur). Une autre suite de bloc envoie en boucle les valeurs des commandes aux moteurs. ...

*mais il y a quand même ce bout de programme qui l'utilise pour illustrer :
Image

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Lun Sep 28, 2009 5:20 pm

Pour reprendre l'expression d'Alban "multi-thread" ou multi-tâche, il est en effet possible avec une brique NXT de déclencher simultanément plusieurs tâches en parallèle. Chaque tâche, constituée d'une suite de blocs de programmation, peut consister en actions très différentes, voire minutées, avec des décalages dans le temps.

Je poursuis les tests à l'aide du précédent dispositif.

Avec UN capteur IR Link associé à la brique NXT, voici ce que j'ai réussi à faire:
commander 4 moteurs PFS sur UN canal avec un récepteur PFS.
commander simultanément 2 moteurs PFS sur canal n°1 ET 2 moteurs PFS sur canal n°4 (en vérité 1; le 2 ème refuse pour l'instant de tourner) avec 2 récepteurs.
Le NXT peut donc agir sur 2 canaux en même temps. La programmation est relativement simple, il suffit d'ajouter un rayon de séquence identique à celui du canal 1 et de choisir le n° du 2è canal.
A partir de ces manips, on peut dire que la télécommande NXT-IR Link est (serait) en mesure de commander 4 x 4 canaux = 16 moteurs en cascade, en séquences ou simultanés, dont le déroulement dépend d'une programmation intelligente.
Reste à s'assurer enfin, du bon positionnement des récepteurs et de la portée utile du capteur. :reflechi:
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Lun Sep 28, 2009 7:20 pm

roboleo a écrit:Avec UN capteur IR Link associé à la brique NXT, voici ce que j'ai réussi à faire:
commander 4 moteurs PFS sur UN canal avec un récepteur PFS.

Heu, je suis pas là, on ne peut brancher que 2 moteurs sur un récepteur PFS, ou alors 4 moteurs mais qui fonctionnent par 2... :shock: ???

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Mar Sep 29, 2009 11:42 am

Je pense qu'en théorie on devrait pouvoir contrôler en jusqu'à 8 moteurs en simultanée sur des vitesses différentes.
Mais en pratique je pense que c'est tout autre.
Lors de la programmation on donne un ordre à l'IR-link : envoi un message au récepteur sur le canal N pour qu'il fasse tourner les moteurs! L'IR-Link envoi alors de façon continue la commande en question. Si on décide d'envoyer une autre commande il interrompt l'envoi de la première. Donc dans le cas d'un changement de canal même très rapide on risque d'avoir un fonctionnement haché sur les deux récepteurs.
Il y a autre chose qui risque de faire que le signal sera haché c'est le temps qu'il faut au bus de communication pour transmettre la commande jusqu'à l'IR-Link. Le dialogue n'est pas direct entre l'IR et le microcontrolleur du NXT...
J'ai peur que l'architecture actuelle de l'IR-Link ne permette pas de contrôler de façon continue plusieurs récépteur. Tout ne se résoud pas par logicielle malheureusement ;)

Une télécommande faite avec un IR-Link permet de contrôler de petit mobile sans intelligence. Mais dans le cas ou le mobile se voit doter d'un autre NXT, l'IR devrait plutôt se trouver sur le mobile et la commande se faire par bluetooth. Et dans ce cas le plus simple serait d'utiliser le motor multiplexer de mindsensors :http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=58 il est bien plus pratique pour commander de façon simultanée plusieurs moteurs et surtout permet d'avoir plus que 7 vitesses :) Le souci c'est la compatibilité avec les moteurs PFS il faut avoir les câbles adequat ou alors en bidouiller d'autre. Mais pour avoir fait des tests je vous assure que sa marche !
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mar Sep 29, 2009 12:04 pm

Je n'ai pas l'IR link, mais je me permet de supposer que comme pour le train PFS il est possible d'envoyer un ordre "démarrer moteur" sans devoir tenir le signal pendant le fonctionnement (sinon le train s'arrête dans les tunnels :lol: ).
Ta solution parait très intéressante Thibaud, mais les puristes LEGO hésiteront... les pièces mindsensors sont assez brutes. C'est la frontière entre le LEGO et l'électronique.


Retourner vers De la théorie à la pratique

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron