#42078 transformé en EVTruck3r

Si vous avez bidouillé un modèle Lego officiel...
Eron
Level 6
Level 6
 
Messages: 241
Localisation: Vendée
Âge: 26 ans

Messagepar Eron » Mer Fév 09, 2022 6:43 pm

Bonjour à toutes et à tous.

Je vous présente aujourd'hui ma modification réalisée avec environ 80% du set originel (le 20% consistent à l'ajouts de quelques panels et bien-sûr l'EV3)

Suite à l'expo de la Rochelle où je présente le fameux Mindcub3r de David Gilday afin de présenter une autre vision du LEGO dans ces expos à ""petites"" échelles. Il m'est venu l'idée loin d'être unique de faire un véhicule autonome avec dans la finalité du projet 3 modes :
-Autonome via capteur ultrasons (remplacé par un infrarouge en attendant d'en avoir un)
-Télécommandable
-Avec la télécommande en tant que balise (semi-autonome)

Pour l'instant, seul le premier mode est complété à 90% (reste à voir sur un sol autre que la moquette parce qu'il ne tourne pas vraiment très bien car le moteur est trop faible et quelques ajustements)
Voici quelques images de la bête:

ImageIMG20220207175918 by Legron Chess, sur Flickr

ImageIMG20220207175851 by Legron Chess, sur Flickr

ImageIMG20220207175936 by Legron Chess, sur Flickr

ImageIMG20220207175955 by Legron Chess, sur Flickr

ImageIMG20220207180021 by Legron Chess, sur Flickr

En terme mécanique, rien de révolutionnaire ou de transcendant (c'était pas le but).
La motorisation est en directe :
Moteur-Différentiel/20T-20T/Différentiel/20T-20T/Différentiel.
Cela permet de garder le moteur fictif et de conserver une bonne vitesse de déplacement à la vitesse quasi-maximale des moteurs (je vais y revenir à ce "quasi-maximale")
Les moteurs font également partie structurellement du châssis (vu leurs forme, difficile de les intégrer autrement)

La direction est quand à elle identique puisque le moteur est connecté en lieu et place de l'axe servant à actionner la direction de base.
Idem que les moteurs de la propulsion, ce dernier permet de rigidifier la cabine.

La cabine est très peu modifié. Seule la partie arrière (couchette) a été supprimée au profit du moteur. L'habitacle demeure sans modifications (il y a le volant, la planche de bord et même les sièges !) car le capteur passe pile-poil.

Je souhaitais un Mack demeurant "fidèle" au plus possible de ce que l'on peut retrouver dans le monde et compatible avec mon projet (je mettrai la photo une fois que je l'aurais retrouvée dans les limbes de Google Images... Ou pas :dent: ).
Egalement, il devait utiliser un maximum de pièces du set en lui-même et je suis fiers de vous dire que je suis presque à 100% (hors EV3 évidemment). Seul 1 différentiel et quelques panels on été rajouté par soucis d'esthétisme) donc cet objectif est remplis à 100%.

Bien ! Maintenant passons au programme réalisé:

On commence avec un démarrage en son:
ImageProgramme EVTruck3r by Legron Chess, sur Flickr

Cette partie est là uniquement parce que... Parce que j'avais envie bedam ! :lol:
Elle sert également à ajouter une touche de réalisme totalement inutile au possible.

Maintenant la propulsion :
ImageProgramme EVTruck3r by Legron Chess, sur Flickr

Il se lance après que le chrono soit rendu à 12s (en gros un décompte le temps que la partie inutile ait finie)
La propulsion passe par une phase d'accélération:
Les moteurs démarrent à 50% puis 65% et enfin 80%. Pourquoi 80% me direz-vous ? Et bien si vous vous souvenez de début, j'ai dis qu'ils étaient quasiment au maximum de leur vitesse. La réponse se trouve donc ici. Les moteurs (même si les roues sont dans le vide) se bloquent à 82% (environ) de leur vitesse maximale. Peut importe si vous mettez 100%, 120% ou encore 200%, ils restent à 80%. Il doit y avoir une sorte de verrouillage afin de protéger ces derniers.
Bien, il avance mais que faire quand un obstacle est détecté ?
Et bien il ralenti dans un premier temps, il descend donc de 15% toutes les 0.5s, puis recule pendant 5s (le rayon de braquage est large) puis s'arrête pendant 1s et enfin accélère de 15% toutes les secondes.
J'ai fais cela afin de moins solliciter les moteurs (plus de couple à faible vitesse apparemment) au démarrage afin de le lancer et y rajouter une touche de réalisme.

Bien, bien, bien ! Maintenant, l'arracheur de cheveux (car je suis une quiche pour rappel :dent: ), j'ai nommé le programme de direction autonome avec retour au centre (améliorable à souhait, j'en suis sûr):
ImageProgramme EVTruck3r by Legron Chess, sur Flickr

Je ne vais rentrer dans les détails (y'a pas grand chose de toute manière):
Il ne se déclenche que si le capteur infrarouge (provisoire pour rappel) passe en-dessous de 45% (soit environ 20cm devant le capot).
Suite à cela, le moteur va tourner à 10% de sa vitesse dans un sens ou dans l'autre et ce, pendant 0.5s et ne il ne doit pas dépasser -90° ou 110° (merci la direction et le jeu) afin d'éviter un déboitement de la bielle.
Et il attend 3s avant de passer au retour au centre.

La vitesse choisi n'est pas un hasard. En effet, suite à pas mal d'essais, j'ai remarqué qu'au-dessus de 10% de sa vitesse, le moteur est imprécis à 10° près et/ou il n'arrive pas à s'arrêter dans une plage donnée.
Vous avez également vu (si vous êtes attentif) que le moteur ne fait qu'aller à gauche dans un sens ou dans l'autre. Sur le coup j'ai pas compris puis j'ai fini par réfléchir et comprendre ( :idea: ).
Le moteur partant dans un sens ou l'autre, ses degrés sont donc positifs ou négatifs. Ainsi, dans un sens tout est logique (aller vers la gauche pour revenir à 0) mais dans l'autre... Le moteur est (en gros) à l'envers. Donc ses sens de rotations aussi pour revenir sur ses pas. C'est donc pour ça qu'il faut le faire aller à gauche pour qu'il tourne... Vers la droite ! Je rappel, il est à ce moment "à l'envers" donc la gauche devient droite et la droite, la gauche et centre y'a macron... Où je me plante et le moteur me dis un truc pas sympa :muh?:

Voili voilou pour ce MOD en WIP !
Pour ceux ayant été jusqu'au bout : :clap:
L'Homme a ce don incroyable et unique de se battre pour ce qu'il pense et non pour sa survie

Avatar de l’utilisateur
Celeri
Level 7
Level 7
 
Messages: 582
Localisation: Paris
Âge: 44 ans

Messagepar Celeri » Jeu Fév 10, 2022 3:10 pm

Pour une quiche en programmation, je trouve que c'est plutôt bien ficelé, et surtout bien expliqué ! Chacun a sa façon d'apprendre à programmer, et perso je me retrouve dans ta méthode : expérimenter, tester, expliquer, corriger, recommencer. Pas la panacée en milieur professionnel, certes, mais pour du jouet, ça prend tout son sens !

Merci pour le partage et le retour d'expérience, moi je dis que c'est un beau MOC !
Rien n'est plus semblable à l'identique que ce qui est pareil à la même chose. (Pierre Dac)

Sifflotte
Level 6
Level 6
 
Messages: 342
Localisation: 49
Âge: 42 ans

Messagepar Sifflotte » Jeu Fév 10, 2022 6:53 pm

Avec une vidéo, ce serait le top, rien que pour les sons inutiles.
J'apprécie beaucoup l'intégration du capteur dans la cabine.
On pourrait croire à un personnage de "Cars".

Un truc qui m'a fait tiquer c'est le coup du moteur qui tourne à gauche, pour aller à droite.
Je me demande si c'est pas le problème que j'ai eu avec mon tinytank.

Eron
Level 6
Level 6
 
Messages: 241
Localisation: Vendée
Âge: 26 ans

Messagepar Eron » Jeu Fév 10, 2022 8:51 pm

Merci à vous :resp:
La vidéo arrivera dans le Week-end. Et ce, afin de vous montrer pourquoi il me reste des ajustements à faire :siffle:
Pour ce qui est de ton char, c'est possible si tu as un moteur unique pour ta direction. Ou qu'a un moment, tes degrés comptés sont dans les négatifs. Si cela à pu t'apporter une réponse, alors tant mieux ! J'aurais pas tiré mes cheveux pour rien ! :lolroule:
L'Homme a ce don incroyable et unique de se battre pour ce qu'il pense et non pour sa survie

Tops
Level 3
Level 3
 
Messages: 45

Messagepar Tops » Jeu Fév 10, 2022 9:54 pm

Sifflotte a écrit:Un truc qui m'a fait tiquer c'est le coup du moteur qui tourne à gauche, pour aller à droite.


En allant sur https://beta.pybricks.com/
Dans la partie droite ' Documentation sur les briques '
si l'on clique sur ' Powered Up motors and sensors '
puis sur ' classMotor '

On a la description de ' classMotor '
classMotor(port, positive_direction=Direction.CLOCKWISE, gears=None, reset_angle=True)

avec des explications et des exemples
positive_direction (Direction) – Which direction the motor should turn when you give a positive speed value or angle.
positive_direction ( Direction ) – Dans quelle direction le moteur doit tourner lorsque vous donnez une valeur de vitesse ou un angle positif.

Alors je ne sais pas comment c'est implémenté dans le codage par briques, mais il doit y avoir un réglage quelque part qui correspond a cette valeur.

voilou

Eron
Level 6
Level 6
 
Messages: 241
Localisation: Vendée
Âge: 26 ans

Messagepar Eron » Sam Fév 12, 2022 9:03 pm

Merci Tops.
Alors, pour moi il ne faut pas confondre PyBricks avec le système scratch de LEGO. L'un sert pour la découverte de la programmation et l'autre pour des programmeurs plus qualifiés. Tu me dis de coder sur scratch, pas de problèmes (je vais me prendre le chou mais je vais y arriver) mais sur pybricks, il me faudrait 5 à 6 fois plus de temps pour appréhender le bousin et je n'irais pas aussi loin et aussi vite que le scratch. Les 2 sont distinct par cet aspect (pour moi).
Qui plus est, pas de réglages horaire ou antihoraire, c'est juste des pourcentages en positif ou négatif (pour une vitesse de rotation). Le problème vient lorsque tu as un moteur comme direction et que tu gère avec les degrés. Il n'y a aucuns réglages (hormis avec le temps, les rotations et les degrés). Donc quand le moteur tombe dans le négatif (degrés), il s'inverse en cas de retour en arrière d'où le gauche / gauche pour que les roues aillent à gauche et à droite.
Ca, c'est en cas de programmation qui gère seule le positionnement du moteur mais en direction via télécommande, le gauche c'est gauche et la droite c'est droite. ( :ouch: )

Bref, voici un petit programme avec justement la télécommande:
ImageProgramme 2 EVTruck3r by Legron Chess, sur Flickr

Comme d'habitude, la partie inutile qui ne le serra peut-être pas tant que ça dans le futur.

ImageProgramme 2 EVTruck3r by Legron Chess, sur Flickr

Ici on a la partie propulsion. Lors de l'avance, il y a une phase d'accélération. Un "auto-maintient" permet d'évité de se fatiguer les doigts. Pour s'arrêter ? Simple : il suffit d'appuyer sur les boutons avancer ou reculer (l'un ou l'autre) et l'EVTruck3r va s'arrêter. Lorsqu'on recule c'est le même principe hormis la phase d'accélération car j'ai bloqué la marche arrière à 50% de la Vmax. Toujours pour une étrange histoire fumeuse d'un soi-disant réalisme :lol:

ImageProgramme 2 EVTruck3r by Legron Chess, sur Flickr

La partie direction sans la boucherie du retour au centre :sadique:
On va activer le moteur (et donc la direction) en restant appuyer sur le-dit bouton. Comme j'ai pas encore intégré une limitation de degrés pour le moteur, j'ai réussi à le paumé (il pouvait pas aller plus loin mais il essayait quand-même c'te couillon... A moins que ce ne soit la faute du programmeur ?!). Du coup, le programme fonctionne TANT QUE le bouton servant à la fonction balise (je suis en apprentissage de cette fonction) n'est PAS activé. Sinon, le programme s'arrête et je peu reprendre la main sur la direction :sweat:

Voilà pour ce petit programme.

Du coup je me suis demandé ceci:
"Tu vas faire 3 programmes (et t'es c** de le faire mais bon, c'est golo :tare: ) mais il faudra pas ce louper lors du choix de programme, sinon c'est ch****. Donc pourquoi ne pas faire 1 programme qui va gérer les 3 ?! Mais oui Einstein ! Bien-sûr ! Tu es tellement doué pour facilité la vie une fois le machin réalisé ! Et c'est qui aime s'arracher les cheveux et qui en redemande ? C'est bibi !"
Voilà, c'est un spoil de la suite de la programmation (je sens que je vais galéré comme jamais avec cette histoire de balise et de programme "3-en-1" [LEGO Creator, sort de ce corps !]) :hah:
L'Homme a ce don incroyable et unique de se battre pour ce qu'il pense et non pour sa survie


Retourner vers Modifications des sets officiels

Qui est en ligne ?

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