Salut les InMooviens …
Je vous explique rapidement mon projet, j’ai travaillé avec des jeunes depuis maintenant 2 ans sur la construction du robot InMoov et sur la programmation de quelques gestes issus de la langue des signes.
Ce Vendredi 16/06, les jeunes vont se représenter sur scène autour d’un spectacle de langue des signes, où le robot InMoov devra également signer quelques gestes (avec right Arm/Hand et left Arm/Hand principalement, Head est très peu utilisé et Torso déconnecté).
Les gestes ont été ajoutés dans InmoovCustom.py, avec la bonne indentation et les bonnes déclarations de def, l’aiml a été modifié. Les gestes sont reconnus lorsque je les lance via le chatbot de MyRobotLab.
Mais, depuis peu, je rencontre un gros problème … les gestes se lancent bien mais ne vont pas jusqu’au bout, InMoov semble freezer et se déconnecter électriquement. Je pense à un court circuit quelque part … Ce qui m’étonne c’est que tout fonctionnait comme il faut il y a peu …
L’invité de commande m’indique lorsque le robot freeze “Ack not received : SERVO_WRITE XX”
J’ai tenté de refaire le câblage entre la batterie et les nervo board (batterie plomb 6V12Ah), de changer de port USB pour l’Arduino, de changer les ports COM, de vérifier la tension sur les moteurs, mais rien à faire, je ne trouve pas le bug …
Qui pourrais me venir en aide sur ce problème … Je désespère un peu en voyant la deadline approcher …
Merci d’avance d’avoir pris le temps de me lire.
Voici une copie de mon fichier Immoov Custom pour exemple :
def boom():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,180,180,180,180,118)
i01.moveArm("right",73,46,74,46)
i01.moveHand("left",180,180,180,180,180,118)
i01.moveArm("left",74,46,74,46)
sleep(1)
i01.moveArm("right",114,113,81,67)
i01.moveArm("left",114,113,80,67)
sleep(2)
i01.finishedGesture()
def cool():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
sleep(1)
i01.moveHand("right",0,180,180,180,180,86)
i01.moveArm("right",93,92,67,6)
i01.moveHand("left",0,180,180,180,180,96)
i01.moveArm("left",95,86,65,0)
sleep(5)
i01.finishedGesture()
def envol():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,0,0,0,0,85)
i01.moveArm("right",0,69,35,6)
i01.moveHand("left",0,0,0,0,0,131)
i01.moveArm("left",0,69,35,6)
sleep(3)
i01.moveArm("right",0,69,35,81)
i01.moveArm("left",0,69,35,81)
sleep(3)
i01.moveArm("right",0,69,35,6)
i01.moveArm("left",0,69,35,6)
sleep(3)
i01.moveArm("right",0,69,35,81)
i01.moveArm("left",0,69,35,81)
sleep(3)
i01.moveArm("right",0,69,35,6)
i01.moveArm("left",0,69,35,6)
sleep(3)
i01.moveArm("right",0,69,35,81)
i01.moveArm("left",0,69,35,81)
sleep(5)
i01.finishedGesture()
def equipe():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",76,118,116,95,59,78)
i01.moveArm("right",59,130,76,5)
i01.moveHand("left",77,115,117,97,56,76)
i01.moveArm("left",0,130,98,0)
sleep(1)
i01.moveHand("right",76,118,116,95,59,78)
i01.moveArm("right",87,130,66,5)
i01.moveHand("left",99,115,117,97,78,80)
i01.moveArm("left",40,130,91,0)
sleep(5)
i01.finishedGesture()
def fete():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,180,180,180,0,105)
i01.moveArm("right",88,78,68,39)
i01.moveHand("left",0,180,180,180,0,105)
i01.moveArm("left",90,83,64,36)
sleep(3)
i01.moveArm("right",79,90,68,39)
i01.moveArm("left",90,90,64,36)
sleep(3);
i01.moveArm("right",79,25,68,39)
i01.moveArm("left",105,25,64,36)
sleep(3)
i01.moveArm("right",79,90,68,39)
i01.moveArm("left",105,90,64,36)
sleep(3)
i01.moveArm("right",79,25,68,39)
i01.moveArm("left",105,25,64,36)
sleep(3)
i01.moveArm("right",79,90,68,39)
i01.moveArm("left",105,90,64,36)
sleep(3)
i01.moveArm("right",79,25,68,39)
i01.moveArm("left",105,25,64,36)
sleep(5)
i01.finishedGesture()
def guitare():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,0,0,0,0,90)
i01.moveArm("right",110,141,78,77)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",180,93,69,74)
sleep(2)
i01.moveArm("right",110,90,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,141,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,90,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,141,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,90,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,141,78,77)
i01.moveArm("left",180,93,69,74)
sleep(1)
i01.moveArm("right",110,90,78,77)
i01.moveArm("left",180,93,69,74)
sleep(5)
i01.finishedGesture()
def kiffe():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,180,180,180,180,180)
i01.moveArm("right",84,59,81,26)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(1)
i01.moveHand("right",180,180,180,180,180,180)
i01.moveArm("right",54,59,81,26)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(1)
i01.moveHand("right",180,180,180,180,180,180)
i01.moveArm("right",84,59,81,26)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(1)
i01.moveHand("right",180,180,180,180,180,64)
i01.moveArm("right",13,59,81,26)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreA():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,180,180,180,180,180)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreB():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,0,0,0,0,180)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreE():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,180,180,180,180,180)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreK():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,0,90,180,180,83)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreS():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,180,180,180,180,180)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def lettreT():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,180,0,0,0,180)
i01.moveArm("right",84,95,108,0)
i01.moveHand("left",0,0,0,0,0,90)
i01.moveArm("left",0,81,31,0)
sleep(5)
i01.finishedGesture()
def micro():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",90,90,90,90,90,127)
i01.moveArm("right",0,90,26,0)
i01.moveHand("left",180,180,180,180,180,67)
i01.moveArm("left",135,90,85,80)
sleep(5)
i01.finishedGesture()
def prendre():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",90,90,90,90,90,127)
i01.moveArm("right",63,63,92,2)
i01.moveHand("left",90,90,90,90,90,127)
i01.moveArm("left",72,79,33,0)
sleep(2)
i01.moveHand("right",180,180,180,180,180,127)
i01.moveArm("right",63,63,92,2)
i01.moveHand("left",90,90,90,90,90,127)
i01.moveArm("left",72,79,33,0)
sleep(2)
i01.moveHand("right",0,0,0,0,0,127)
i01.moveArm("right",63,63,92,2)
i01.moveHand("left",90,90,90,90,90,127)
i01.moveArm("left",72,79,33,0)
sleep(2)
i01.moveHand("right",0,0,0,0,0,127)
i01.moveArm("right",63,63,0,2)
i01.moveHand("left",90,90,90,90,90,127)
i01.moveArm("left",72,79,33,0)
sleep(5)
i01.finishedGesture()
def rap():
i01.startedGesture()
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,0,0,0,00,163)
i01.moveArm("right",0,45,105,0)
i01.moveHand("left",0,0,0,0,0,0)
i01.moveArm("left",179,77,52,37)
sleep(1)
i01.moveHand("right",0,0,0,0,0,180)
i01.moveArm("right",180,90,41,14)
i01.moveHand("left",0,0,0,0,0,47)
i01.moveArm("left",0,45,98,0)
sleep(1)
i01.moveHand("right",0,0,0,0,00,163)
i01.moveArm("right",0,45,105,0)
i01.moveHand("left",0,0,0,0,0,0)
i01.moveArm("left",179,77,52,37)
sleep(1)
i01.moveHand("right",0,0,0,0,0,180)
i01.moveArm("right",180,90,41,14)
i01.moveHand("left",0,0,0,0,0,47)
i01.moveArm("left",0,45,98,0)
sleep(5)
i01.finishedGesture()
def tuer():
i01.startedGesture()
i01.setHeadSpeed(0.8,0.8,0.8,0.8,0.8)
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",180,0,180,180,180,90)
i01.moveArm("right",122,28,70,15)
i01.moveHand("left",180,0,180,180,180,90)
i01.moveArm("left",145,166,48,69)
i01.moveHead(157,90,90,90,0)
sleep(5)
i01.finishedGesture()
def vedette():
i01.startedGesture()
i01.setHeadSpeed(0.8,0.8,0.8,0.8,0.8)
i01.setArmSpeed("left",0.8,0.8,0.8,0.8)
i01.setArmSpeed("right",0.8,0.8,0.8,0.8)
i01.setHandSpeed("left",0.8,0.8,0.8,0.8,0.8,0.8)
i01.setHandSpeed("right",0.8,0.8,0.8,0.8,0.8,0.8)
i01.moveHand("right",0,0,0,0,0,0)
i01.moveArm("right",85,106,98,84)
i01.moveHand("left",0,0,0,0,0,180)
i01.moveArm("left",0,81,31,0)
i01.moveHead(90,90,90,84,0)
sleep(5)
i01.moveHand("right",0,0,0,0,0,0)
i01.moveArm("right",85,94,98,84)
i01.moveHand("left",90,90,90,95,180,180)
i01.moveArm("left",0,0,36,6)
i01.moveHead(90,90,90,84,90)
sleep(3)
i01.moveHand("right",0,0,0,0,0,0)
i01.moveArm("right",85,94,98,84)
i01.moveHand("left",90,90,90,95,180,180)
i01.moveArm("left",0,0,36,6)
i01.moveHead(90,90,90,84,90)
sleep(5)
i01.finishedGesture()