Leçon quatre pour débutant
Maintenant nous allons commencer à programmer en python
Nous allons partir du fichier exemple de Gael
Se positionner dans le répertoire :
…./inmoovScript/
Editer avec Nodepad++ le fichier Inmoov.py
Tout ce qui commence par # ne sont pas interprété par python ,il s’agit de commentaires
En programmation on prendra l’habitude de mettre des commentaires, très pratique lorsque l’on modifie sont programme plus tard.
Exemple :
# Start the webgui service without starting the browser
Dans le langage Python il faudra faire attention à l’indentation
C’est-à-dire la tabulation entre chaque ligne
Explications du script :
# Lance le service webgui dans le navigateur
webgui = Runtime.create(“WebGui”,”WebGui”)
webgui.autoStartBrowser(False)
webgui.startService()
# déclaration de la class objet i01
i01 = Runtime.createAndStart(“i01”, “InMoov”)
# Initialisation du robot avec le scrip de Anthony InitCheckup.py , je passé toutes les phases de l’initialisation (déclaration des variable , des bibliotheques etc….)
RuningFolder=”InmoovScript”
execfile(RuningFolder+’/system/InitCheckup.py’)
Nous arrivons à ce qui nous intéresse faire bouger les doigts
Il y a deux façons de parler au robot avec la class ear ou avec le chatbot
Nous commencerons par le plus simple .
Le chatbot est plus puissant mai il faut maîtriser le langage AIML
Je ferai des tutos après.
##########################################################################
# Exemple de commandes
# Aller plus loin, vous pouvez trouver plus de commandes vocales dans inmoovVocal / ear.addCommand
# Aller plus loin, vous pouvez trouver plus de fonctions associées dans inmoovGestures
ear.addCommand(“active ton doigt”, “i01.leftHand.index”, “attach”)
ear.addCommand(“detache”, “i01.leftHand”, “detach”)
ear.addCommand(“ouvre”, “python”, “fingeropen”)
ear.addCommand(“ferme”, “python”, “fingerclose”)
ear.addCommand(“milieu”, “python”, “fingermiddle”)
Explication de la première Commande
ear.addCommand = addCommand est une méthode qui fais parti de la class ear
ce qui est en parenthèses se sont les arguments passés
argument 1 = la phase que vous aller dire
argument 2 = action 1 (ici class 101 object index gauche)
argument 3 = action 2 (ici attache le servo )
Si vous avez compris
La ligne 2 detact tous les servo de la main gauche avec le mot detache
La ligne 3 execute la procedure python fingeropen avec le mot ouvre
C’est quoi une procedure ?
C’est un petit morceau de programme dans lequel on peux passer des parametres.
En langage python une procédure commence par : def le nom de la proc() suivi de :
Exemple :
def fingeropen():
j aurai pu mettre def ouvreledoigt() :
je peut créer des variables locales dans les parenthèses .
Exemple :
def ouvreledoigt(« un »,2,3, « quatre »)
« un » est une variable chaine de caractère passé en paramètre
2 est un variable du type entier passé en paramètre
Je reviendrai plus tard sur cet aspect de paramètres
Pour le moment mon sous programme ne fais rien, donc il faut mettre des instructions dedans.
ATTENTION il faut commencer a indenter c’est-à-dire ne pas partir de la colonne 0
Dans python l’indentation est rigoureuse si vous voulez ne pas avoir des messages à la compilation.
Utiliser soit la barre espace, soit la tabulation ,mais soyez rigoureux.
Exemple :
def fingerclose():
leftHand.attach()
sleep(5)
#speed = vitesse main gauche pouce index majeux ring poignet
i01.setHandSpeed(“left”,0.9,1,1,1,1,0.7)
i01.moveHand(“left”,0,0,0,0,0,20)
sleep(5)
talkBlocking(“ma main est fermer”)
sleep(10)
leftHand.detach()
dans l’ordre cette procèdure fait :
-attache les servos la main gauche
– attend 5milli secondes
– regle la vitesse de la main gauche le pouce à 0.9, index à 1 , majeur à 1 , ring à 1,poignet à 0.7
-mais les servo de la main gauche a 0 le poignet a 20
– attend 5milli secondes
-dit la phrase « ma main est fermer »
– attend 10 milli secondes
-détache les servo de la main gauche
Exercice :
Dire à votre robot le mot compte
Et le faire compter sur ses doigts jusqu’à trois en disant 1 , 2 et 3
Correction à la prochaine leçon, enfin si seulement cela vous intéresse, j’attends vos retours
La seule limite de votre robot est votre imagination……..
Nota : (livre pour débuter : Apprendre à programmer avec PYTHON 3 chez EYROLLES)
Attachments:
You must be
logged in to view attached files.