Lego Mindstorms EV3 #31313

Vos avis et impressions sur les sets.
Avatar de l’utilisateur
Anio
Administrateur
Administrateur
 
Messages: 19603
Âge: 37 ans
revieweurmoceurstarwarsexpertambassadeur

Messagepar Anio » Sam Juil 19, 2014 2:54 pm

Ah oui, je me rappelle bien.

Je tiens aussi à souligner que ta compagne a été assez précise dans sa demande.
De mémoire, je lui ai présenté différents trucs dans plusieurs thèmes et à chaque fois dans un budget donné, et elle a bien su cerner les choses.

Parce que des fois, on me demande un truc, sans budget fixé, sans connaitre les goûts de la personne, etc. Genre je suis devin.

Amuse-toi bien. :)
Think outside the box.

Tout plein de liens utiles dans mon profil ! :P

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 71 ans

Messagepar oracid » Lun Nov 17, 2014 6:57 pm

Laurent a écrit:- Est-ce possible d'intégrer un correcteur PID sur l'EV3? J'ai lu que c'était possible sur la version précédente, mais je ne sais pas exactement comment est construit le correcteur.

Alban42800 a écrit:Le pid sera possible avec tous les mindstorms, tu es libre de programmer la brique et donc de faire ton propre PID. Sinon il y en a déjà un par défaut (désactivable).

Peux-tu préciser ta réponse ? Quand tu dis qu'il y en a un par défaut, peux-tu donner la source du document sur ce sujet.

J'ai lu le fil de Roboleo sur le sujet et en particulier celui là, topic4825.html
J 'ai laissé un message sur le blog de Hitechnic, http://www.hitechnic.com/blog/uncategorized/pid-block/ pour leur demander s'ils avaient un bloc pour l'EV3, mais bizarrement ils ont supprimé ma question et ne m'ont pas répondu.

En résumé, il est très important pour moi de savoir si on peut imposer une position aux servo-moteurs de l'EV3. Par exemple, vas à la position 30°, et non pas tourne de 30°, ça je sais faire.
C'est exactement ce qu'explique Roboleo.
Si quelqu'un avait un exemple alors là, ce serait super.

Merci par avance.

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Lun Nov 17, 2014 9:49 pm

A moins que j'ai loupé la partie du cours qui en parlait, non tu ne peux pas lui dire d'aller jusqu'à un angle relatif
Tu peux lui indiquer une rotation de x°, x tours, ou x sec
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 71 ans

Messagepar oracid » Mar Nov 18, 2014 8:27 am

YodaSoftware a écrit:A moins que j'ai loupé la partie du cours qui en parlait, non tu ne peux pas lui dire d'aller jusqu'à un angle relatif
Tu peux lui indiquer une rotation de x°, x tours, ou x sec

C'est bien là tout le problème !
C'est pour cette raison que Hitechnic a créé un nouveau bloc moteur (je parle de programmation là) pour le NXT en remplacement du bloc d'origine.
La question est, existe t-il un bloc similaire pour l'ev3 ?

Certes, je sais bien que l'on peut faire ses propres blocs en associant plusieurs blocs afin de rendre la programmation plus structurée et donc plus lisible.
Mais là, il ne s'agit pas de cela. Il s'agit de remplacer le bloc moteur actuel par un nouveau beaucoup plus élaboré (sans doute programmé en c).

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Mar Nov 18, 2014 10:28 am

Les "blocs" NXT sont normalement compatible avec l'EV3 il me semble (en tout cas, dans la doc ils disent que ça l'est).

:edit: J'ai pensé à une solution, mais ça dépend bien sur de l'utilisation qu'il veut faire du moteur.
Si c'est pour un déplacement de robot, il peut utiliser le capteur boussole, qui lui a une position relative, le nord.
je retire ce que j'ai dis, c'est une connerie, désolé, je suis pas du matin et je n'ai pas encore bu mon café ::D:
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
Plastik
Level 6
Level 6
 
Messages: 330
Âge: 41 ans

Messagepar Plastik » Mar Nov 18, 2014 1:43 pm

je viens de tester et j'ai bien peur qu'il ne soit pas possible d'importer directement les blocs NxtG dans le soft ev3

Après rien ne t'empêche de refaire le bloc PID nxt G en ev3, ca se fait bien.
Tu commande le moteur en puissance et tu fait manuellement ta boucle d'asserissement pour moduler cette puissance d'entrée avec un truc du style :

puissance = k1 x erreur + k2 x dérivée (erreur) + k3 x intégrale(erreur)

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Mar Nov 18, 2014 2:06 pm

Faudrait que je regarde comment sont fait les blocs un de ces 4. :think:
Je n'ai pas touché à du code depuis 7 ans, mais c'est comme le vélo, ça ne s'oublie pas :papylol:

:edit: j'y pense, on peut utiliser des variables globales avec l'EV3, donc on peut enregistrer la dernière valeur d'angle et l'utiliser dans un calcul pour le nouveau déplacement.
AncAngle = 0
si on veut une rotation de AngleRelatif (rotation par rapport à une position relative 0), la rotation réelle AngleReel (par rapport à la position à l'instant T) sera
AngleReel = Anglerelatif - AncAngle
et on initialise
AncAngle = AngleRelatif

Si tu ne sais pas comment utiliser les variables, tu peux t'aider du paragraphe 13 de cette page https://sites.google.com/site/gask3t/lego-ev3/the-missing-commentaries/ev3-beyond-basics-exercises-12-18 ;)
Ou de ce tutoriel en vidéo : https://dl.dropboxusercontent.com/u/31442572/EV3%20Tutorial/DataOps/index.html
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 71 ans

Messagepar oracid » Mar Nov 18, 2014 3:11 pm

Je vous remercie pour votre aide.
En fait, quand j'étais en activité, j'étais informaticien, et j'ai donc pratiqué pas mal, l'assembleur, cobol, Basic, C etc...
Le problème là est un peu plus compliqué qu'un simple problème de variable.
Si par exemple, je dis à un moteur de tourner de 30° dans un sens, puis de 30° dans l'autre sens, en principe, il revient à sa position d'origine.
Et bien non ! Il revient à sa position d'origine +- une erreur, et c'est là que le PID tel que Roboleo l'a expliqué prend tout son sens.
Bien sûr, je pourrais me lancer dans la programmation de bloc, mais justement, c'est ce que je voulais éviter, car je sais par expérience ce que cela coute d'aller mettre son doigt là dedans.
Je ne suis pas tout seul dans cette galère, si une entreprise comme Hitechnic a fait ce développement, c'est que c'est assez compliqué.
Et c'est également pour cette raison que Roboleo en a fait de si longs développements.
Bon, peut-être que je me plante complètement, j'aimerais bien, mais je ne crois pas .
En tout cas, si vous avez des idées, merci d'avance.

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Mar Nov 18, 2014 3:27 pm

Ma méthode permet de définir une rotation à partir d'une position d'origine, mais ne tient pas compte de l'imprécision de la rotation, en effet.
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

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

Messagepar Alban42800 » Mar Nov 18, 2014 3:36 pm

Salut,
D'expérience avec le nxt quand les fonctions fournies ne te permettent pas d'avoir le résultat voulu (précision) et bien t'es bon pour faire à ta sauce et cela prends du temps.
Je pense que tu devrais aller sur les forums spécialisés (en anglais) pour plus d'infos. :pamafote: il y avait quelques pointures qui confirmeront et te proposeront des solutions.

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Mar Nov 18, 2014 4:09 pm

oracid a écrit:J 'ai laissé un message sur le blog de Hitechnic, http://www.hitechnic.com/blog/uncategorized/pid-block/ pour leur demander s'ils avaient un bloc pour l'EV3, mais bizarrement ils ont supprimé ma question et ne m'ont pas répondu.


j'ai regardé un peu leur site, je n'y ai rien vu lié à l'EV3. Ce qui expliquerait la suppression de ta question (ça n'excuse pas pour autant l'impolitesse de ne pas avoir répondu).

Pour le moment, je ne me suis guère penché sur l'EV3, j'ai regardé le fonctionnement général via les tutoriels fournis, mais je n'ai pas pris le temps d'approfondir. Il faut vraiment que je m'y mette.

:edit: J'ai finalement trouvé ça de façon indirecte (en cherchant sur le site, je ne trouvait rien qui fasse mention à l'EV3, mais par google ... oui :bizarre: ) concernant l'EV3 sur HiTechnic : http://www.hitechnic.com/downloadnew.php?category=38
le 1er bloc ne correspondrait pas ?
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 71 ans

Messagepar oracid » Mar Nov 18, 2014 8:41 pm

Tout à l'heure, je n'avais pas beaucoup de temps pour vous répondre, désolé.

Plastik a écrit:Après rien ne t'empêche de refaire le bloc PID nxt G en ev3, ca se fait bien.
Tu commande le moteur en puissance et tu fait manuellement ta boucle d'asserissement pour moduler cette puissance d'entrée avec un truc du style :
puissance = k1 x erreur + k2 x dérivée (erreur) + k3 x intégrale(erreur)

Oui, c'est ce que j'aimerais faire. Mais j'ai l'impression que je vais être obligé de mettre les mains dans le cambouis et je préférais éviter.

YodaSoftware a écrit:Si tu ne sais pas comment utiliser les variables, tu peux t'aider du paragraphe 13 de cette page https://sites.google.com/site/gask3t/lego-ev3/the-missing-commentaries/ev3-beyond-basics-exercises-12-18 ;)
Ou de ce tutoriel en vidéo : https://dl.dropboxusercontent.com/u/31442572/EV3%20Tutorial/DataOps/index.html

Merci pour tes liens. Je ne connaissais pas. J'ai l'EV3 éducation qui comprend un tutorial, mais ça complète bien.

Alban42800 a écrit:Salut,
D'expérience avec le nxt quand les fonctions fournies ne te permettent pas d'avoir le résultat voulu (précision) et bien t'es bon pour faire à ta sauce et cela prends du temps.
Je pense que tu devrais aller sur les forums spécialisés (en anglais) pour plus d'infos. :pamafote: il y avait quelques pointures qui confirmeront et te proposeront des solutions.

Il y a quelques temps, j'allais sur http://www.mindboards.net/ , mais aujourd'hui, j'ai une méchante alerte concernant leur certificat de sécurité.
Si tu as des sites a me conseiller, merci par avance.

YodaSoftware a écrit: mais par google ... oui :bizarre: ) concernant l'EV3 sur HiTechnic : http://www.hitechnic.com/downloadnew.php?category=38le 1er bloc ne correspondrait pas ?

Oui, j'avais déjà vu cette page sur leur site et c'est pourquoi je leur avais demandé la version du Motor PID Bloc pour EV3.
Non, malheureusement, ce bloc concerne le Gyro Sensor.
Sur le lien du bloc NXT, on peut voir la dénomination et l'importance qu'ils accordent à ce sujet, http://www.hitechnic.com/blog/uncategorized/pid-block/

L'idée, ce n'est pas de déplacer un robot, cela, avec le capteur d'angle, je m'en sort très bien.
L'exemple de base, c'est d'activer un actionneurs qui appuie sur un bouton. Si le moteur subit une dérive consécutive à une erreur angulaire, très vite, c'est la cata.
J'aurais beau mémoriser la position du moteur dans une variable, j'aurai la valeur de la variable, mais pas la position exacte et réelle du servo.

Le pire, c'est que la doc de l'EV3 éducation dans le chapitre "Journalisation des données" sur le mode oscilloscope est illustrée par l'enregistrement de l'angle de rotation de 2 moteurs :
"L'illustration suivante montre les données des capteurs de rotation de deux moteurs sur un robot qui est poussé vers l'avant."
Comment ? De quoi s'agit-il ? Mystère !

Avatar de l’utilisateur
YodaSoftware
Level 8
Level 8
 
Messages: 937
Localisation: POITIERS (86)
Âge: 54 ans
collectionneur

Messagepar YodaSoftware » Mer Nov 19, 2014 12:51 am

oracid a écrit:J'ai l'EV3 éducation qui comprend un tutorial

J'ai les 2 version, classique et education, mais n'ai pour le moment regardé (je devrais dire jeté un oeil, je n'y ai pas passé beaucoup de temps) que le logiciel et la doc de la version éducation.

oracid a écrit:c'est pourquoi je leur avais demandé la version du Motor PID Bloc pour EV3.

Tu avais posté ta question sur cette page ?
Si oui, ils ont du considérer ça comme H.S.
Peut-être que posté dans la partie questions en général, ils répondraient.
Ma Collection BrickSet
Mes « I want » BrickSet

May Charlie be with us . . . Always !

Avatar de l’utilisateur
Plastik
Level 6
Level 6
 
Messages: 330
Âge: 41 ans

Messagepar Plastik » Mer Nov 19, 2014 3:31 am

oracid a écrit:Oui, c'est ce que j'aimerais faire. Mais j'ai l'impression que je vais être obligé de mettre les mains dans le cambouis et je préférais éviter.


Créer le bloc, je pense que c'est l'affaire de 5 minutes, un quart d'heure tout au plus. Après le plus long sera de trouver les bonnes valeurs de k1, k2, k3... sur ce point là je te rejoins, on peut vite y passer des heures au carré...

Faudrait tester en mettant direct les valeurs par défaut de l'ancien bloc nxt g, avec un peu de chance ca pourrait donner quelque chose d'assez propre.

Avatar de l’utilisateur
oracid
Level 5
Level 5
 
Messages: 170
Âge: 71 ans

Messagepar oracid » Mer Nov 19, 2014 12:04 pm

YodaSoftware a écrit:Tu avais posté ta question sur cette page ?
Si oui, ils ont du considérer ça comme H.S.
Peut-être que posté dans la partie questions en général, ils répondraient.

Oui, c'était bien sur cette page. Tu as raison, je vais reposer la question,.

Plastik a écrit:Créer le bloc, je pense que c'est l'affaire de 5 minutes, un quart d'heure tout au plus. Après le plus long sera de trouver les bonnes valeurs de k1, k2, k3... sur ce point là je te rejoins, on peut vite y passer des heures au carré...

Bon, et bien, je vais m'y mettre, mais je pense que cela va me demander un certain temps, D'autant que mon niveau en EV3-G est celui d'un débutant et que Madame Oracid a décidé de refaire toutes les peintures de la maison. :/


Retourner vers Discussions sur les modèles

Qui est en ligne ?

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