IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

Demande d'aide projet NXT.


Sujet :

LabVIEW

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut Demande d'aide projet NXT.
    Bonjour à tous,
    j'aimerais solliciter vos connaissances pour m'aider à résoudre un problème auquel je me heurte violemment.

    Alors je vous place le contexte, j'ai un projet de TIPE consistant en la réalisation d'un robot de projection de laser, après quelques déboires liés à la fabrication "artisanale" (2 prototypes réalisés => 2 échecs), j'ai opté pour l'utilisation des Lego NXT.
    Le robot dispose de 2 axes et forme un bras sphérique donc un des axes est vertical et l'autre situé à l'extrémité de l'axe centrale permet à l'extrémité du laser qui y est fixé de se déplacer dans une sphère.
    J'ai déjà réussi à réaliser le programme contrôlant les moteurs afin de projeter le laser sur un écran plan situé à distance D. Un joystick me permet de déplacer le pointeur selon les axes Ox et Oy.

    Le problème arrive, je souhaiterais pouvoir tracer un chemin sur un graphe représentant les 2 axes et ensuite le mémoriser pour pouvoir lancer l'exécution par la suite.
    J'ai tenté d'utiliser des tableaux pour rentrer des données point par point mais pas moyens de définir des intervalles entre chaque évaluation, et pire je ne vois pas comment rajouter une colonne pour chaque valeur. Je suis un peu perdu, je viens de passer 3h dessus sans trouver.

    Malheureusement on n'a pas eu de cours approfondis sur labview et je crains que mes connaissances soient extrêmement limitées, de plus ma tentative de travail en autodidacte a littéralement explosée au contact du problème. Je tiens a préciser que le programme ne doit pas nécessairement être exécuté par la brique NXT seule car l'ordinateur y sera toujours raccordé, il n'y a donc pas de contraintes pour les différents outils. Je précise aussi que je travaille avec Labview 2010.

    Merci par avance du temps que vous voudrez bien m'accorder.

    Cordialement, Mirage.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Je pense que j'ai manqué de clarté.
    Le programme que je n'arrive pas à faire doit donner un ensemble de points qui forment les coordonnées des points de la trajectoires que j'aurais tracée grâce au joystick. Cet ensemble de point pourra être réutilisé pour contrôler le robot et ainsi remplacer le joystick utilisé auparavant en temps réel.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Tu sais comment le faire à la main?

    Si tu postes ton VI on pourra t'aider, j'ai un peut joué avec le NXT.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Eh bien mon VI pour le pilotage des moteurs marche très bien. Là je cherche surtout à tracer un graphe grâce au joystick puis après le convertir en tableau pour enfin l'utiliser comme donnée de pilotage des moteurs. Jusqu'ici ceux ci sont pilotés en direct par le joystick. L'asservissement des moteurs est un asserv de position d'où l'utilité d'envoyer les coords des points à atteindre, plus l'écart entre chaque point sera petit est plus la trajectoire sera précise.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    J'ai encore essayé pendant 2 heures de faire un VI mais pas moyen d'y arriver ... je suis quelque peu désespéré.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Il faudrait nous montrer la partie du code qui pose problème, par exemple en refaisant un VI simple avec des données simulées pour que l'on puisse voir l'erreur et apporter de l'aide. Plus simple que de tout refaire.

  7. #7
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    Juste pour plus d'information, lorsque tu diriges les moteurs directement avec le joystick, est ce que tu sais quel type d'informations le joystick envoie au moteur ?

    Et lorsque tu parle d'intervalle, est ce qu'un temps d'attente ne peut faire l'affaire ?


    Je n'ai jamais touché à des legos NXT, mais si ce que tu reçois de ton joystick ce sont des informations de position x,y (tableau 2D), je pense qu'une acquisition de ces données en continu dans une boucle while avec un noeud de rétroaction pour tout sauvegarder doit pouvoir faire l'affaire. Ensuite tu récupères ça dans un premier tableau. Puis tu recommences autant de fois que tu le souhaites en récupérant dans un tableau différent à chaque fois.

    Ensuite pour l'envoie, tu met le tout dans une structure séquentielle, envoie du premier tableau, temps d'attente choisi, deuxième tableau, temps d'attente choisi (et pouvant être différent du précédent), troisième tableau... ect

    Après tout cela pose des petits problèmes de limites, genre tu ne pourras pas créer 5 tableau si tu n'en as prévu que quatre dans ton programme (ou alors je ne sais juste pas comment faire ce qui est tout a fait possible )


    Enfin voilà, après ce n'ait qu'une idée pour donner un point de départ à ton programme, mais je pense que c'est loin d'être une merveilleuse idée géniale et que ça mérite approfondissement par quelqu'un qui connait mieux les perfomances de LabVIEW ?


    Et puis ça dépend à la base de ce que tu reçoi sous labVIEW de la part de ton joystick (tout ceci est peut-être totalement à côté de la plaque )
    -Winter Is Coming -

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Voici le VI de contrôle des moteurs.
    Celui-ci marche très bien, ça peut sembler un peu désorganisé mais il y a tout ce qu'il faut pour projeter sur un écran plan à 3 mètres du laser. (d'où la présence importante du nombre 3, je compte par la suite utiliser le capteur à ultra son) mais là n'est pas le problème.

    Donc effectivement Kalisha les données utilisées sont les coords x et y fournies par le joy, une adaptation est nécessaire juste après les cluster Xaxis Yaxis pour transformer la taille des infos (l'histoire de pas aller jusqu'à 32000m en X ^^).
    Et sinon Kalisha ta solution est ce que j'aimerais faire mais je ne maîtrise pas assez le logiciel pour la réaliser. Peut être un tuto pourrait m'aider mais je n'en trouve pas, le prof nous a fait une intro vraiment basique à labview et celle-ci ne comportait pas les notions de noeuds de rétroaction ni comment mettre plusieurs tableaux sous forme d'une séquence unique.

    Pour Rodéric, eh bien ce que j'ai tenté de faire est tellement nul que je ne suis pas sur que cela soit utile.

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Ah j'ai oublié, oui Kalisha c'est bien un temps d'attente entre chaque prélèvement de valeur des points. Comme ça il y aura un nombre fini de donné.

    J'ai tenté de faire ce programme mais bon ... échec lamentable xD
    Images attachées Images attachées  

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Il suffit d'implementer ton VI en ajoutant un registre à décalage, et une fonction construire un tableau. Le tableau reviendra à chaque itération et tu ajoutes un élément à la fin, sa fera un historique à tracer dans ton graph.

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Euh désolé Rodéric mais lequel de VI ? ^^
    Si tu parles du 2eme eh bien j'ai déjà utilisé la fonction créer un tableau ... enfin il me semble et pour le registre à décalage je ne sais pas comment faire. J'ai le programme d'un ami à qui le prof lui a expliqué mais même en regardant je vois pas ce que ça fait.

  12. #12
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    En fait c'est une chance d'utiliser LabVIEW dans ce sens car si tu vas dans l'onglet "Aide" et que tu clique sur "Recherche d'exemples" tu auras accès à foultitude d'exemples expliqués (parfois en anglais mais bon =o) sur à peu près tout et surtout pleins de trucs fort pratique (comme créer un tableau ou utiliser une structure séquence déroulée [ et non pas séquentielle ahem ] par exemple )

    Je te conseilles donc d'y faire un tour à tes heures perdues pour compenser le manque de formation.

    De plus Il y a toujours la FAQ du Forum ainsi que quelques tutoriels (sous forme d'un cours pdf) qui seront toujours bon à prendre ==>

    http://www.developpez.net/forums/d63...riels-labview/


    Sinon pour faire simple sur le registre à décalage, il te permet de conserver la valeur que tu avais dans ta boucle précédente. Le plus pratique dans ton cas c'est de l'associer à la fonction "construire un tableau". En effet sur la première ligne en entrée, tu câble à la partie du registre à décalage qui est sur la partie gauche de ta courbe, sur la deuxième partie tu câble l'arrivée de tes deux points x y , et tu relie le tableau en sortie à la partie du registre à décalage sur la partie droite de ta boucle.

    Enfin, en dehors de ta boucle, tu relie le registre à décalage à un tableau, et le tour est joué : ton tableau se construira de lui même en ajoutant à chaque tour de boucle les deux dernières valeurs x y en fin de ligne

    shazam
    -Winter Is Coming -

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Donc avec ce que j'ai compris j'ai fais cela. Est ce bon ? Merci de m'aider
    Images attachées Images attachées  

  14. #14
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    Mets plutôt les indicateurs de tableaux dnas la boucle pour tester si sa fonctionne bien.

    Ensuite tu relies les deux tableaux (toujours dans la boucle) à une fonction "bundle" (palette cluster et variants) et tu branche ce cluster sur un graph XY.

    Ensuite tu vois ce qui se passe.

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Alors c'est bon je l'ai fait cela semble marcher mais aucune colonne ne s'ajoute aux tableaux, par contre le graphe XY semble fonctionner et rajouter un point toutes les 0,1s.
    Images attachées Images attachées  

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    S'il vous plait j'ai encore un peu besoin de vous malgrés ces avancées. Il me faudrait maintenant stocker les infos pour les réutiliser dans le VI principal.
    Merci de votre aide.

  17. #17
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Bon ben miracle je viens de comprendre comment marchent les tableaux xD. Je n'avais pas compris que le curseur sur la gauche était destiné justement à faire défiler les cases... je m'attendais à quelque chose genre excel avec les cases apparaissant au fur et à mesure. Bon donc le programme fonctionne. Maintenant si quelqu'un a une idée pour stocker les infos pour ensuite les restituer une à une dans un autre VI je suis preneur car là ça me dépasse complètement.
    Merci d'avance et un gros merci a Kelisha et Rodéric pour leur aide.

  18. #18
    Membre confirmé
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Janvier 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Janvier 2011
    Messages : 444
    Points : 643
    Points
    643
    Par défaut
    tes données sont dans un tableau, pour les utiliser une à une, tu peux par exemple utiliser une boucle for en activant l'indexation en entrée (le terminal N bleu en haut ne doit pas être cablé)

    Mais si tu nous montrais l'architecture du programme et ce que tu veux faire exactement des données on pourra mieux t'aider.

  19. #19
    Membre régulier Avatar de kalisha stark
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 90
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    Les utiliser dans un autre Vi ? Le mieux serait peut-être d'enregistrer le tableau dans un fichier texte à la fin de ce vi, lire ce même fichier pour les récupérer dans l'autre vi, puis les écrire une à une avec une boucle for comme le décrivait Rodéric.

    Ou alors utiliser une variable globale à la place du fichier texte ? Mais ça ça signifie rester obligatoirement sur le même pc non ?
    -Winter Is Coming -

  20. #20
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    alors pour Rodéric, ce que je souhaite c'est que les 2 tableaux que j'obtient, un pour les coordonnées selon X et l'autre selon Y, servent ensuite au contrôle des moteurs comme le joystick auparavant. Mais ce qui serait super c'est de pouvoir stocker 2 chemins différents pour ensuite en sélectionner un qui va s'exécuter.

    Kalisha => il n'y aura pas de changement de PC donc de ce point de vue pas de problèmes.
    Le problème étant là encore que la réalisation de tels programme, notamment la réutilisation de tableau stockés dans un fichier tableur, risque de me poser de gros problèmes.
    Bon pour les boucles for encore ça passe.

Discussions similaires

  1. debutant en labview demande d'aide projet
    Par lcatel dans le forum LabVIEW
    Réponses: 5
    Dernier message: 23/06/2011, 15h50
  2. [Article]Les bonnes pratiques projet, demande d'aide
    Par elitost dans le forum Contribuez
    Réponses: 2
    Dernier message: 05/02/2008, 14h34
  3. Projet jeu de plateau, demande d'aide
    Par Fullmetal82 dans le forum Projets
    Réponses: 1
    Dernier message: 24/06/2007, 00h58
  4. Demande d'aide - Projet professionnel ambigu
    Par makechange dans le forum Emploi
    Réponses: 5
    Dernier message: 08/09/2006, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo