#7091
lecagnois
Participant

Salut Dominique

Vu qu il y a pas de documentation sur les services je m inspire de ton code et de celui d Anthony et Gael pour comprendre toutes ses class d’objets .
En plus il y a deux langage python et xml

Mais ce message d’erreur plante mrl et je sais pas pourquoi ?
j ai une arduino chinoise peut – être cela vient de la ?

¨Pour ceux qui commence comme moi au début (lol)
voici mon premier petit bout de code
faut un début , oui il compte jusqu a 5 et bouge la tête a droite et gauche , ouvre et ferme la main

version='0.2.2'

# this will run with versions of MRL above :
mrlCompatible='1930'

# ###################################################################################
#C'est un script très minimal pour Inmoov
# (Aussi appelé FINGERSTARTER: Une légende raconte que quand Inmoov est venu à la vie, il n'a pas crié, mais a déplacé un doigt en premier)
# Bien que ce script soit très court, vous pouvez toujours
# Faire la commande vocale d'un démarreur de doigt
# Il utilise WebkitSpeechRecognition, donc vous devez utiliser Chrome comme navigateur par défaut pour que ce script fonctionne
# Le démarreur de doigt est considéré ici comme étant l'index droit,
# Donc assurez-vous que votre servo est connecté à pin3 de vous Arduino
# Vérifiez votre configuration à l'intérieur de Inmoov.config
# Si vous configurez 2 arduino + configs dans le dossier squelette, il peut exécuter Inmoov complet ou des parties séparées (main droite / tête ...)
# ###################################################################################

# Start the webgui service without starting the browser
webgui = Runtime.create("WebGui","WebGui")
webgui.autoStartBrowser(False)
webgui.startService()
# Then start the browsers and show the WebkitSpeechRecognition service named i01.ear
webgui.startBrowser("http://localhost:8888/#/service/i01.ear")
# Vous pouvez également utiliser la ligne ci-dessous pour afficher tous les services dans le navigateur.
# Dans ce cas, vous devriez commenter toutes les lignes ci-dessus qui commence par webgui.
# webgui = Runtime.createAndStart("webgui","WebGui")

##############
# Main inmoov service declaration
i01 = Runtime.createAndStart("i01", "InMoov")

##############
# robot checkup and initialisation ( skeleton & services)
RuningFolder="InmoovScript"
execfile(RuningFolder+'/system/InitCheckup.py')

# ###################################################################################
# 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") #to remove soon
ear.addCommand("detache", "i01.leftHand", "detach")
ear.addCommand("ouvre", "python", "fingeropen")
ear.addCommand("ferme", "python", "fingerclose")
ear.addCommand("milieu", "python", "fingermiddle")
ear.addCommand("compte", "python", "compte123")
ear.addCommand("droite", "python", "tetedroite")
ear.addCommand("gauche", "python", "tetegauche")

# fonction appeler par commande vocale
def fingeropen():
  leftHand.attach()
  #sleep(5)
  #talkBlocking("servo main gauche activer")
  #speed = vitesse main gauche pouce index majeux ring petit
  i01.setHandSpeed("left", 1.1, 1.1, 1.1, 1.1, 1.1, 1.1)
  i01.moveHand("left",170,170,170,170,150)
  talkBlocking("ok j'ouvre ma main")
  leftHand.detach()

def fingerclose():
  leftHand.attach()
  sleep(5)
  i01.moveHand("left",0,0,0,0,0)
  talkBlocking("ma main est fermer")
  leftHand.detach()

def fingermiddle():
  leftHand.attach()
  i01.moveHand("left",30,30,30,40,30)
  talkBlocking("ok je vous aicoute")
  leftHand.detach()
  
def compte123():
  leftHand.attach()
  i01.moveHand("left",170,0,0,0,0) 
  talkBlocking("UN") 
  i01.moveHand("left",170,170,0,0,0) 
  talkBlocking("deux")  
  i01.moveHand("left",170,170,170,0,0) 
  talkBlocking("trois")    
  i01.moveHand("left",170,170,170,170,0) 
  talkBlocking("quatre")   
  i01.moveHand("left",170,170,170,170,150) 
  talkBlocking("cinq")   
  leftHand.detach()
  
def tetedroite():
  i01.head.attach()
  i01.setHeadSpeed(0.70, 0.70)
  i01.moveHead(90,50)
  talkBlocking("tete a droite")
  i01.head.detach()
  
def tetegauche():
  i01.head.attach()
  i01.setHeadSpeed(0.70, 0.70)
  i01.moveHead(90,120)
  talkBlocking("tete a gauche")
  i01.head.detach()

##############
#Allez plus loin! Et codez votre propre script dans un fichier séparé
execfile(RuningFolder+'inmoovCustom/Inmoov_custom.py')