Python Mindstorms #51515

La modélisation 3D des Lego, entre autres.
Sifflotte
Level 6
Level 6
 
Messages: 345
Localisation: 49
Âge: 43 ans

Messagepar Sifflotte » Dim Sep 24, 2023 11:28 pm

Bon, je laisse de côté la communication hub to hub pour l'instant, préférant me concentrer (me prendre la tête) sur la locomotion de mon robot.
Depuis le début, je galère avec la fonction de distance, notamment la mesure de distance. Et bien la solution m'a été donné par une IA. Aria de Opera pour ne pas la nommer.
En gros, je lui ai demandé un programme tout fait, avec un prompt bien rédigé , et elle m'a sortit un truc avec Pybricks. Je l'ai modifié pour coller au python du RI et, testé.
Ça n'a pas fonctionné du 1er coup, ni du 2eme, mais de fil en aiguille, en corrigeant l'un et l'autre le programme, twingo!

C'est l'objet None qui me mettait dedans depuis un paquet de temps.

Quand une distance face à un obstacle est mesurée, une valeur est renvoyée. Mais si la distance est "infinie", cela renvoi l'objet None.
Et Python ne peut rien faire d'un None apparemment, donc, pour que le programme fonctionne, il faut une valeur "iterable". Cest pourquoi il faut donner à None une valeur (200 dans l'exemple) pour que ça marche. (Dans ce cas oui, mais dans un autre cas, même la valeur de None changée donnait un message derreur ErrorNonetype. Jai pas cherché plus loin).

Une fois compris que c'était lui le fautif, c'était comme enlever une épine du pied.

Image

On vit le prequelle d'une nouvelle ère avec l'IA, et c'est plutôt flippant voire "faudrait réagir maintenant " de voir ce que cela va engendrer, ou à déjà engendré.
Paradoxalement, je suis un dingue de machine en tout genre, j'en répare même, mais je suis retissant sur certains modèles.
La machine pour compléter l'humain oui. La machine pour remplacer l'humain non.

J'aurai mille fois préféré l'aide d'un humain.
Dernière édition par Sifflotte le Lun Sep 25, 2023 9:28 pm, édité 2 fois au total.

Sifflotte
Level 6
Level 6
 
Messages: 345
Localisation: 49
Âge: 43 ans

Messagepar Sifflotte » Lun Sep 25, 2023 8:59 pm

C'est un truc de ouf l'IA !

Dans le code du dessus, tout fonctionne. Cool ! Mais il y avait un truc que je ne comprenais pas:
Comment le programme connaissait la postion du moteur alors que rien ne renvoyait sa postion allouée à la distance?

Il a fallu que je pose plusieurs fois la question de plusieurs manières et je crois avoir eu ma réponse.
En fait, quand on utilise la fonction run_to_position(), ce n'est pas python qui stock les données, mais la bibliothèque ou le hub lui-même. Besoin de rien lui dire, c'est automatique.
La condition if suffit pour que la position soit attribué à la valeur de la distance dans la liste.

Ce nest peut-être pas la vérité absolue, mais l'explication me paraît pertinente.
En tout cas, je la comprends :lol:

Edit:

Image


Retourner vers Les Lego sur le PC

Qui est en ligne ?

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