Utilser une IA pour programmer sous Python

Pour parler de tout et de rien, mais pas de n'importe quoi !
Sifflotte
Level 6
Level 6
 
Messages: 345
Localisation: 49
Âge: 43 ans

Messagepar Sifflotte » Ven Mai 05, 2023 8:27 pm

Bon... Je viens de demander à l'IA Koala si elle pouvait écrire un programme sous python.
Elle m'a répondu que oui et à proposer un programme basique :shock:
L' IA trouve le 51515 très intéressant d'ailleurs.

Jai regardé vite fait, ça me paraît juste (lol !)

Alors passé l'euphorie, c'est méga flippant en vrai.

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

Messagepar Sifflotte » Jeu Mai 18, 2023 9:52 am

Voilà ce que peux me repondre l'ia Koala pour le programme d'un robot:

Koala

Ecris un programme pour un robot suiveur de ligne en utilsant python et lego 51515

Voici un exemple de programme en Python pour un robot suiveur de ligne utilisant le kit LEGO Mindstorms Robot Inventor (51515) :

from pybricks.hubs import InventorHub
from pybricks.ev3devices import Motor, ColorSensor
from pybricks.parameters import Port, Stop, Direction
from pybricks.tools import wait

# Configuration des moteurs
moteur_gauche = Motor(Port.A)
moteur_droit = Motor(Port.B)

# Configuration du capteur de couleur
capteur_couleur = ColorSensor(Port.C)

# Configuration de la vitesse des moteurs
vitesse = 150

# Boucle principale
while True:
    # Lire la couleur sous le capteur
    couleur = capteur_couleur.color()

    # Si la couleur est noire, avancer tout droit
    if couleur == ColorSensor.COLOR_BLACK:
        moteur_gauche.run(vitesse)
        moteur_droit.run(vitesse)

    # Si la couleur est blanche, tourner à droite
    elif couleur == ColorSensor.COLOR_WHITE:
        moteur_gauche.run(vitesse)
        moteur_droit.run(-vitesse)

    # Si la couleur est rouge, arrêter le robot
    elif couleur == ColorSensor.COLOR_RED:
        moteur_gauche.stop()
        moteur_droit.stop()

    # Attendre un petit moment pour éviter de surcharger le processeur
    wait(10)
Ce programme utilise la bibliothèque Pybricks pour contrôler les moteurs et le capteur de couleur. Le robot suit une ligne noire en avançant tout droit lorsque le capteur est sur la ligne noire, en tournant à droite lorsque le capteur est sur une ligne blanche, et en s'arrêtant lorsque le capteur détecte du rouge.

Ecris ce programme en utilsant le PID

Voici un exemple de programme en Python pour un robot suiveur de ligne utilisant le kit LEGO Mindstorms Robot Inventor (51515) et le contrôle PID :

from pybricks.hubs import InventorHub
from pybricks.ev3devices import Motor, ColorSensor
from pybricks.parameters import Port, Stop, Direction
from pybricks.tools import wait
from pybricks.robotics.pid import PID

# Configuration des moteurs
moteur_gauche = Motor(Port.A)
moteur_droit = Motor(Port.B)

# Configuration du capteur de couleur
capteur_couleur = ColorSensor(Port.C)

# Configuration de la vitesse des moteurs
vitesse = 150

# Configuration du PID
kp = 1.5  # Coefficient proportionnel
ki = 0.05  # Coefficient intégral
kd = 0.1  # Coefficient dérivé
pid = PID(kp=kp, ki=ki, kd=kd)

# Boucle principale
while True:
    # Lire la couleur sous le capteur
    couleur = capteur_couleur.color()

    # Calculer l'erreur de la position de la ligne
    erreur = couleur - ColorSensor.COLOR_BLACK

    # Calculer la correction à appliquer avec le PID
    correction = pid(erreur)

    # Appliquer la correction aux moteurs
    moteur_gauche.run(vitesse + correction)
    moteur_droit.run(vitesse - correction)

    # Attendre un petit moment pour éviter de surcharger le processeur
    wait(10)
Ce programme utilise également la bibliothèque Pybricks, mais il utilise le contrôle PID pour corriger la position du robot par rapport à la ligne. Le PID calcule une correction à appliquer aux moteurs en fonction de l'erreur de position mesurée par le capteur de couleur. La correction est ajoutée à la vitesse du moteur gauche et soustraite de la vitesse du moteur droit pour permettre au robot de suivre la ligne. Les coefficients du PID (kp, ki, kd) peuvent être ajustés pour obtenir un comportement optimal du robot.

Et en utisant exclusivement la bibliothèque intégré au lego 51515

Voici un exemple de programme pour un robot suiveur de ligne utilisant exclusivement la bibliothèque intégrée au LEGO Mindstorms Robot Inventor (51515) :

from hub import port, Motor, ColorSensor
from utime import sleep

# Configuration des moteurs
moteur_gauche = Motor(port.A)
moteur_droit = Motor(port.B)

# Configuration du capteur de couleur
capteur_couleur = ColorSensor(port.C)

# Configuration de la vitesse des moteurs
vitesse = 50

# Configuration des coefficients du PID
kp = 1.5
ki = 0.05
kd = 0.1

# Initialisation des variables du PID
erreur_precedente = 0
somme_erreurs = 0

# Boucle principale
while True:
    # Lire la couleur sous le capteur
    couleur = capteur_couleur.color()

    # Calculer l'erreur de la position de la ligne
    erreur = couleur - ColorSensor.COLOR_BLACK

    # Calculer la correction à appliquer avec le PID
    correction = kp * erreur + ki * somme_erreurs + kd * (erreur - erreur_precedente)

    # Appliquer la correction aux moteurs
    moteur_gauche.dc(vitesse + correction)
    moteur_droit.dc(vitesse - correction)

    # Mettre à jour les variables du PID
    somme_erreurs += erreur
    erreur_precedente = erreur

    # Attendre un petit moment pour éviter de surcharger le processeur
    sleep(0.01)
Ce programme utilise la bibliothèque intégrée au LEGO Mindstorms Robot Inventor pour contrôler les moteurs et le capteur de couleur. Le contrôle PID est implémenté manuellement en utilisant les coefficients kp, ki et kd pour calculer la correction à appliquer aux moteurs. Les variables erreur_precedente et somme_erreurs sont utilisées pour stocker l'état précédent de l'erreur et la somme des erreurs, respectivement. Ces variables sont mises à jour à chaque itération de la boucle principale.


Real-Time Data
Koala - The Best AI Writer and Chatbot


Il y a peut-être moyen de faire mieux, je réessayerai quand la limite d'utilisation sera passé.

wissamms
Level 6
Level 6
 
Messages: 390
Localisation: Paris
Âge: 40 ans

Messagepar wissamms » Ven Mai 19, 2023 5:06 pm

Que penses tu du résultat?

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

Messagepar Sifflotte » Ven Mai 19, 2023 8:17 pm

Le resultat nest pas aussi magique qie je le pensais.
Faut prendre en compte que l'informatique nest pas mon domaine, je suis un amateur, alors jen tire sûrement pas 100%, et que l'application Lego 51515 doit être peu renseigné. Pour une demande avec Excel, le résultat doit être différent.

Dans l'exemple, il faut insister pour affiner le resultat, et il y a toujours un truc ou deux à revoir.
Et pis l'IA ne le fait tourner qu'à droite.
Mais cest déjà bluffant.

Jy vois un intérêt quand jai un truc dans la tête, je demande à l'ia un programme, et même si ce nest pas compatible, ça me permert de me faire une idée rapidement.
Croisé avec d'autres outils, ça me permet d'avancer tranquillou.


Retourner vers Café du coin

Qui est en ligne ?

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