NXT-G, leçon n° 14 : Le PID, un contrôleur intelligent

Pour expliquer certains fonctionnements, principes et fondements.
Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Ven Fév 11, 2011 4:54 pm

As-tu essayé le 1er programme, sans la télécommande?
As-tu remarqué que le segway se plie?
En utilisant le 1er programme, il faut prendre soin de bloquer cette tendance. Regarde bien dans les instructions de montage il y a une tige cruciforme à installer pour réaliser le blocage. Une fois raidi, le segway peut se tenir tout droit. Essaie toujours en lançant ce programme, de le faire tenir en équilibre à l'aide du capteur de couleurs. Lis bien également les conseils de l'auteur concernant la surface d'évolution; il faut une bonne luminosité et un plan blanc… ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Sam Fév 12, 2011 12:34 am




Oui j'ai essayé sans la télécommande. Le résultat est plus haut.

Oui il se plie quasi tout le temps ... Il faut donc bien mettre la tige ??? J'avais compris qu'il fallait l'enlever ! J'avais compris aussi qu'il fallait un plan blanc mais dans une certaine obscurité ^^. Donc je vous tiens au courant de l'évolution, en effet j'ai bien envie de m'en faire un second marchant avec un gyro', reste plus qu'à trouver unprogramme. Je pense que j'en ai un mais bon, je vais voir.

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

Messagepar Alban42800 » Sam Fév 12, 2011 11:03 am

Je l'avais fait il y a un an :



Il faut bloquer le moteur supérieur et bien démarrer en équilibre.

Utilise les balises youtube pour insérer ta vidéo dans ton message (je te l'ai modifié)

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Sam Fév 12, 2011 1:22 pm

Okay merci ! J'essaye ça dès Lundi ! ;)

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Mar Fév 15, 2011 11:46 pm

Honnêtement il marche impeccable :nana: . Une surface blanche suffit !

Par contre je comprends pas du tout le pourquoi du comment le programme anyway ne fonctionne pas sur mon nouveau robot ! Le software est à jour, les drivers du gyro', les sons ... sont dans la brique NXT. Le montage est juste & pourtant le gyroscope ne fonctionne pas du tout ! :think: Des idées, des questions ?!

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

Messagepar roboleo » Mer Fév 16, 2011 2:59 pm

Comment as-tu construit ton nouveau robot?
De quel montage s'agit-il? Toujours le même, celui de PARKER?
Le programme NXT-G est-il celui de Parker avec le capteur de Couleurs remplacé par le capteur gyro?
Dans ce cas, as-tu modifié le programme pour tenir compte des particularités du gyro? comment as-tu paramétré le gyro? Comment as-tu déterminé l'erreur?
Le port d'entrée du gyro sur le NXT est-il raccordé conformément au bloc du programme?

Si tu as choisi de construire le HTWay de HiTecnic, ce n'est pas dit. Dans ce cas li faut en plus du capteur gyro, un capteur IR Receiver. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Mer Fév 16, 2011 10:35 pm

http://www.laurensvalk.com/nxt-2_0-only/anyway

Je l'ai construit parfaitement à la lettre ;) . C'est donc ce montage avec ce programme (: .

J'ai essayé d'installer des drivers pour le gyro', j'ai rien fais d'autre. Et je pense que c'est là le soucis ... Car l'installation me semble juste. Les moteurs marchent impeccable. La calibration se fait bien. Mais le gyro' n'agit pas du tout (???). :think:


Merci ^^' .

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Lun Fév 21, 2011 1:45 pm

Personne :whine:

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

Messagepar roboleo » Lun Fév 21, 2011 3:53 pm

JD23 a écrit:http://www.laurensvalk.com/nxt-2_0-only/anyway

Je l'ai construit parfaitement à la lettre ;) . C'est donc ce montage avec ce programme (: .

J'ai essayé d'installer des drivers pour le gyro', j'ai rien fais d'autre. Et je pense que c'est là le soucis ... Car l'installation me semble juste. Les moteurs marchent impeccable. La calibration se fait bien. Mais le gyro' n'agit pas du tout (???). :think:


Merci ^^' .

Le AnyWay est donc une autre réalisation que tu as choisie et que j'ignorais.

Le programme à télécharger est un fichier à terminaison .rxe.
Je ne connais pas le logiciel utilisé pour écrire ce programme.
Ce qui est certain, c'est qu'il n'est pas un fichier .rbt, donc il ne tourne pas sur le logiciel NXT-G.
par contre pour l'installer sur la brique NXT, l'auteur utilise le logiciel NXT-G à partir du contrôleur. L'onglet Mémoire de la fenêtre NXT permet d'envoyer des fichiers du PC vers le NXT. C'est ainsi qu'il a procédé.
En ce qui concerne le contenu et le chargement du pilote du capteur gyro, aucune explication.
Es-tu certain d'avoir branché au bon port le capteur?
Je te conseille d'envoyer un mail à l'auteur pour lui demander de t'expliquer tout cela.

Il faut toujours aller à la source pour obtenir des informations. Ce n'est pas en jouant aux devinettes qu'on peut te renseigner.
Le travail que j'ai commencé pour toi, tu peux maintenant le terminer…
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 Fév 21, 2011 4:03 pm

roboleo a écrit:Ce qui est certain, c'est qu'il n'est pas un fichier .rbt, donc il ne tourne pas sur le logiciel NXT-G.


Le .rxe est le programme compilé pour s'exécuter sur le nxt. Le .rbt est le code source du programme en nxt-G.

En pratique, NXT-G compile le .rbt pour en faire un .rxe qu'il envoie au nxt.
Par exemple NXC ou NQC compilent aussi en .rxe :)
Il faudrait donc que tu trouve le code source du programme pour comprendre ce qu'il fait.

JD23
Level 2
Level 2
 
Messages: 12

Messagepar JD23 » Mar Fév 22, 2011 10:10 pm

Vous êtes en train de me dire que si j'ai transféré le programme sur la brique NXT grâce au logiciel Mindstorms l'erreur viendrai de là ? :reflechi: Question conne en fait, car c'est le mec qui nous guide pour faire ceci.

Le soucis, c'est que le mec ne répond pas. Le contacter a été mon premier réflexe pourtant ... Enfin bref. Je voulais voir s'il était possible que j'ai fait une ânerie stupide.

Si je résume, j'ai construit le Robot à la lettre, sans problème sur une brique NXT 2.0. J'y ai posé le gyro' que j'ai reçu il y a peu de temps. J'ai inséré le programme ainsi que les sons grâce au logiciel robot mindstorms & j'ai tenté d'insérer des drivers du gyro' (mal fait ?). Pourtant quand j'actionne le programme, les moteurs fonctionnent, mais aucun équilibre ... aucun. :fire:

Pensez vous que je devrai passer à une autre programme qui utilise le gyroscope ? Si oui, une idée duquel ? Merci beaucoup encore !

Kaidaten
Level 3
Level 3
 
Messages: 27

Messagepar Kaidaten » Ven Avr 01, 2011 9:42 pm

Bonsoir tout le monde !
Je suis (encore...) sous la version 1.0 de NXT (je ne sais pas si ça peut vous avancer pour la suite...)
Et j'aurai besoin de votre aide s'il vous plait.
Je travail en ce moment sur un Projet (PPE en Terminale S) qui consiste à faire suivre à mon robot une ligne noire.
Facile me direz vous, j'ai effectivement réussit en lui faisant faire des oscillations (Les moteurs ne tournent à aucun moment à la même vitesse selon ce que capte le capteur photosensible...)
Malgré cette performance, on me demande que celui-ci ne fasse plus d'oscillation, (donc qu'à des moments, comme des lignes droites, il puisse rouler tout droit, avec les 2 roues allants à la même vitesse)
Après réflexion, j'ai pensé à rajouter un capteur de sorte qu'il y en ai 1 de chaque côté du robot.
Je me suis donc fait le schéma du programme dans ma tête :
-Moteur GAUCHE et DROIT = 1
=> Si capteur GAUCHE détecte du blanc : Moteur GAUCHE = 1 ET Moteur DROIT = 0 (état logique, ou vitesse de rotations différentes)
=> Si capteur DROIT détecte du blanc : Moteur DROIT = 1 ET moteur GAUCHE = 0

Cela me paraissait simple à réaliser (du moins, en C), mais sur NXT-G, j'ai énormément de mal, et je n'y suis toujours pas arrivé.
Avec la fonction Commutation, on ne peut utiliser qu'un capteur, tandis que j'en ai besoin de 2.
Comment mettre les 2 conditions (Si) en parallèle, sachant qu'avant qu'il ne suive la ligne, il y a déjà un programme.
Le suivi de ligne n'est qu'en 2ème partie.


En Seconde solution, j'ai pensé à écarter un peu les 2 capteurs et ainsi mettre en marche les 2 moteurs en même temps en permanence.
Puis, lorsque le capteur GAUCHE détecte la ligne, le moteur DROIT permet de revenir droit, et inversement pour l'autre côté.
Malheureusement, le problème du programme en parallèle (If/If) persiste.
Est ce que quelqu'un pourrait m'aider s'il vous plait ?
Merci beaucoup et bonne fin de soirée

Avatar de l’utilisateur
Skanzo
Level 5
Level 5
 
Messages: 188
Localisation: France, Champagne-Ardenne
Âge: 45 ans

Messagepar Skanzo » Ven Avr 01, 2011 9:54 pm

Salut :hello:

Je pense que l'on veuille de toi que les oscillations ne soient plus perceptibles. Dans ce cas je te conseille ce sujet :
topic2770.html
Roboleo nous fait partager tous les secrets du PID appliqué au NXT. Ça te sera très utile, et cela avec un seul capteur ;)


Edit d'Anio : j'ai fusionné.
Trop dur les legos, je me mets aux clipos!! :tare:

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

Messagepar roboleo » Sam Avr 02, 2011 12:54 pm

Salut Kaidaten,

Je t'invite à télécharger mon guide NXT-G vers. 2.0 maj 1 où tu trouveras un chapitre consacré au suiveur de ligne "proportionnel" (p. 82). Lis avec attention la méthode.
Le programme a été écrit pour fonctionner en NXT 2.0. Il n'est pas possible de l'utiliser en NXT 1.1 parce qu'il utilise le capteur de Couleurs en mode photosensible et un fichier du type .rbtx qui n'est pas lu par cette version.
Rien ne t'empêche de l'ouvrir avec une version NXT 2.0 (à voir avec un copain).
La transposition est possible, le programme est suffisamment détaillé pour le réécrire en mode NXT 1.1.
Un seul capteur est suffisant pour suivre le "bord" du tracé. J 'attire ton attention sur les relations qui existent entre les différentes conceptions du robot (position des roues et du capteur), diamètre des roues, les valeurs relevées par le capteur et la valeur moyenne.
Il y a aussi une relation à trouver par approches successives entre la puissance des moteurs et la valeur de "Gain". Utilise un tableur pour déterminer ces valeurs. ;)

Pour télécharger le guide:
topic3712-15.html
Dernière édition par roboleo le Dim Avr 03, 2011 4:17 pm, édité 1 fois au total.
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Kaidaten
Level 3
Level 3
 
Messages: 27

Messagepar Kaidaten » Dim Avr 03, 2011 2:06 pm

Merci beauuucoup !
Je vais essayer de déchiffrer tout ça, je n'avais jamais pensé à me servir des variables, je me contentais d'utiliser les capteurs logiques en en mettant 1 de chaque côté de la ligne
(J'ai déjà fait un peu de programmation en C, et les variables n'étaient pas ma tasse de thé...)
je vais essayer de suivre les méthodes de roboléo avec 1 unique capteur :D
J'espère y parvenir ^^


Retourner vers De la théorie à la pratique

Qui est en ligne ?

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