Tinytank RI #51515

Présentez-nous vos créations...
Sifflotte
Level 6
Level 6
 
Messages: 342
Localisation: 49
Âge: 42 ans

Messagepar Sifflotte » Lun Juin 07, 2021 7:35 pm

Je vous présente mon petit char histoire de tester le robot Inventor.
Image
Image

Je ne vais pas m'étendre sur l'assemblage. Je voulais un truc ramassé.

Vite fait ce qu'il est censé faire:
Pouvoir éviter un obstacle, détecter une couleur, détecter une cible et tirer.
Tout fonctionne mais.... Le burnout me guete...
Alors pour de vrai, je galère pour la tourelle... Je n'arrive pas à complexifier la séquence de détection puis du tir.
Dans l'absolu ça fonctionne. Mais dès que je tente de perfectionner un poil, ça devient, ça devient la merde. C'est lourd. Très lourd.

J'ai pas envie de dire trop de mal de l'app.
Parce que voilà, à part avoir codé sur P. U., je pense que mon expérience maigre y est pour quelque chose.
Cependant, venant du powered up, je me suis dit que ça allait être easy...
J'ai limpresdion d'être un débile. Ce que je suis peut-être.
Mais là misère pour faire des trucs facile.. Du genre tourelle à 90°, puis rotation de 10° en 10°, quand cible détecté remise à 0°.
C'est pas compliqué hein... Essayer d'aller plus loin que ça c'est risquer un avc.


Je m'étais promis de venir présenter un truc fini avec vidéo, mais j'avais besoin de vider mon sac.
Et en parlant de sac:

Image

Avatar de l’utilisateur
Kwear
Level 12
Level 12
 
Messages: 3207
Localisation: Auvergne/Rhone Alpes (Haute Loire/Loire)

Messagepar Kwear » Lun Juin 07, 2021 9:54 pm

Pour t'encourager, même si tu as galéré et si tu n'est pas encore satisfait, je trouve que visuellement ton petit tank a une belle personnalité avec peu de pièces, ça c'est déjà un très bon point (le génie des débuts de Lego qui s'est un peu perdu). Ensuite tu y as pas mal bossé si j'ai bien compris. Et si déjà ce que tu t'étais fixé au début fonctionne, c'est un autre bon point.
En résumé, on a un char rablé à la fois mimi et prêt à cogner (un enfant teigneux en somme) et des fonctions de base qui répondent.

Ensuite, peut-être donc que tu n'es pas débile et que le système de Lego montre des limites dès ce moment là ? Ou bien il faut le petit truc en plus qui vient avec l'expérience pour intégrer la logique du programme et avoir le déclic. Dans les deux cas, tu n'est pas peut-être pas loin d'avoir bien terminé la première étape.

Bon courage et bonne continuation ;)
Dernière édition par Kwear le Mar Juin 08, 2021 1:37 pm, édité 2 fois au total.
"La mesure qui vous sert pour les autres servira aussi pour vous. Pardonnez et vous serez pardonnés." Jésus-Christ

Remi
Level 6
Level 6
 
Messages: 251
Localisation: Annecy
Âge: 40 ans

Messagepar Remi » Lun Juin 07, 2021 10:38 pm

Un Wall-E Warrior ! Trop mignon !
C'est la même interface de programmation que Lego Boost ?

Je me prends à rêver à l'existence d'une brique audio, qui permettrait à ton robot de dire "crèèèèèèèèèève" sur le ton de "Eeeeeeeeeeeve" juste avant de tirer.
La curiosité est un vilain défaut ! Je sais, c'est décevant comme signature...

Ma collection sur Brickset

Zebulon
Level 6
Level 6
 
Messages: 429
Âge: 49 ans

Messagepar Zebulon » Lun Juin 07, 2021 10:41 pm

Pour la partie développement tu as fait tes preuves puisque comme tu l'as rappelé tu as déjà codé avec succès (et souffrance parfois) dans un autre environnement Lego.

Pas évident sans connaitre le truc à fond de dire si telle ou telle chose bug ou si le comportement est "normal". Par contre ce qui est clair c'est que ces soi-disant environnements de codage censés faciliter les choses ou rendre la programmation accessible pour moi c'est de la poudre de perlimpinpin. Ca ne simplifie vraiment rien, ça n'est pas pédagogique pour deux sous et quand ça ne marche pas comme prévu impossible de comprendre ce qui déconne derrière.

Le souci si c'est comme pour EV3 c'est que tes bouts de code s'exécutent en parallèle, interagissent et au final c'est très dur de déceler le mauvais cheminement qui pose problème. C'est la programmation avec des processus concurrents, c'est vieux comme les systèmes multi-tâches et crois moi beaucoup se sont cassés les dents pour debugger certains programmes même avec des langages proches de la machine.

Essaie de repartir d'une situation "stable" et de la complexifier très graduellement. Ne modifie pas trop le code à chaque pas pour essayer d'identifier quelle manip sème la grouille.

Si plusieurs boucles interagissent sur des mêmes ressources il faut peut-être essayer de placer des mécanismes de blocage pour qu'une seule boucle accède à la ressource à la fois et éviter que des ordres contraires ne soient donnés quasi-simultanément.

Sinon as-tu vu s'il y avait déjà un patch de sorti ?

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

Messagepar Sifflotte » Mar Juin 08, 2021 6:23 pm

@zebulon

Il y a un block "et quitter le programme".
Je ne sais pas si tu parles de ça.

Ils sont sympa en tout cas vos commentaires :resp:

Ps: parfois, l'application ne veut plus me donner de blocks, je suis obligé de sortir de l'app pour enfin accéder à la bibliothèque.
Ça vient peut-être de ma tablette ?
Dernière édition par Sifflotte le Mar Juin 08, 2021 6:31 pm, édité 1 fois au total.

Zebulon
Level 6
Level 6
 
Messages: 429
Âge: 49 ans

Messagepar Zebulon » Mar Juin 08, 2021 9:46 pm

Voilà je viens de télécharger l'application, que dis-je l'"app" sur mon PC Windows (grrr je sais je suis incorrigible mais je suis un vieux et pour moi une application ça s'installe avec un installer .exe).

Bref c'est moins pire que je ne pensais, ça démarre assez rapidement et si ça permet de partager les projets facilement entre PC/tablette, Windows/Android/iOS pourquoi pas.

Donc lancement de l'app et bon franchement c'est un copier/coller de Scratch. Mais pourquoi pas, moi étant petit j'ai fait du Logo mais maintenant les jeunes font du Scratch. Donc Scratch ça parle et j'avoue que la présentation des chaines de traitement à la verticale est plutôt plus futée que le système horizontal de feu EV3 où il fallait scroller, scroller... re-scroller. Et bien sûr chacun sait que le scroll à la molette de la souris c'est... vertical.

Alors là où je voulais en venir c'est qu'au début de chaque morceau de ton programme tu places un bloc Evènement "jaune" selon mes pigments rétiniens. Il représente l'action (le stimulus) auquel ton bloc de programme va répondre en exécutant du code. Et tu as dû en placer des dizaines. Et ils peuvent déjà interagir entre eux via des variables/conditions (si ceci se produit fait cela sauf si tel autre état...). Tous ces bouts de codes s'exécutent "en parallèle" et peuvent se déclencher de manière plus ou moins imprévisible en fonction de l'évolution de ton char.

C'est là que les problèmes commencent pour trouver les bugs quand le comportement n'est pas celui attendu. N'y a-t-il pas deux blocs qui se déclenchent au même moment alors qu'ils ne devraient pas? Ou bien l'un des blocs se déclenche trop tôt alors que l'autre n'a pas fini de s'exécuter et les actions se contrarient.

Je ne sais pas s'il est possible d'exporter/partager le code. Je peux y jeter un œil pour me rendre compte de la complexité.

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

Messagepar Sifflotte » Mar Juin 08, 2021 11:20 pm

Dès que je peux récupérer mon mdp, je fais des captures d'écran de ma tablette.

Je ne pense pas qu'il y ait de conflit.
Les 3 programmes sont bien isolés entre eux.

Il y a un programme principal qui gère le démarrage et l'inclinaison du tank.
Inclinaison qui provoque une m.a puis rotation de tourelle à 45 et-45°.
Le char choisit le chemin où l'obstacle est le plus loin. (c'est top ce truc! Ça me manquait sur p.u)

Au démarrage, si obstacle devant, envoi dun message et attendre qui déclenche le sous programme d'évitement en 2 temps.
Si la première fois il ne détecte pas de chemin possible, il récule et recommence la détection mais avec un angle de 90.
Au pire, il fera un demi tour si il est sans issu.

Si couleur bleue,, envoi message et attendre, arrêt, tourelle à 90°, rotation de 10 en 10, si détection de cible, légère rotation de x° pour être dans l'axe de la cible puis tir et retour à 0.
Le problème est surtout le retour au neutre du moteur.

Il y a le block avec "au plus court, à droite, à gauche".
Et mon soucis vient de là.
Suivant l'angle de la tourelle, le retour au 0 ne se fait pas dans le même sens de rotation...

C'est à partir de là que je deviens fou... Le retour au 0....
Putain... Pardon... C'est dingue de bloquer (jeu de mot) là dessus.

Le block position relative est pas mal. Mais c'est pareil, ça réagit pas comme je veux.

Détection de calage sur tous les moteurs, ça, c'est top aussi.

C'est sympa de vouloir m'aider.

Avatar de l’utilisateur
thomasmanegiste
Level 2
Level 2
 
Messages: 19

Messagepar thomasmanegiste » Jeu Juin 10, 2021 8:12 am

Bonjour tout le monde,
Ca fait longtemps que je n'ai plus touché à scratch, mais il me semble que tu peux définir une sorte de fonction avec un bloc violet, et ensuite l'intégrer dans le programme, ce qui évite que tout se lance en même temps. Il faut définir la fonction dans un coin de l'écran, et on l'appelle dans le programme principal quand on en a besoin. Je sais pas si je suis clair.....

Pour la position à zero, faut peut-être essayer en intégrant une variable. Si on incrémente la variable à chaque mouvement de moteur, on obtient la position de la tourelle, et si on veut remettre la tourelle au zéro, on fait tourner un moteur de cette valeur.

Voilà voilà... En espérant avoir été clair.... Bon courage!
"Mais que devient le rêveur, quand le rêve est fini?" H.F.Thiéfaine

Isfaidrel
Level 4
Level 4
 
Messages: 75
Âge: 15 ans

Messagepar Isfaidrel » Sam Juil 31, 2021 9:12 pm

Salut!
Oui je vois de quoi tu parle, ça s'appelle pas "ma variable " ?
Pendant d'en un moment j'ai programmé avec scratch et d'ailleurs mon plus gros projet je ne l'ai pas fini car à force de complexifier ça s'est mis a bugger, j'ai jamais comprit où!
Avec un peu de sagesse tu y arrivera, ça m'étonnerais que tu sois débile!
Bon courage
S'informer nuit gravement à l'ignorance!


Retourner vers Vos MOCs Technic

Qui est en ligne ?

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