Viewing 2 reply threads
  • Author
    Posts
    • #11013
      Antoine TABET
      Participant

      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()
      
    • #11018
      anthony
      Moderator

      Salut ! Ack not received signifie une perte de com avec l’arduino. Quelques pistes si ça fonctionnait avant :
      – utilisation d’un hub usb non alimenté
      – manque d’une mise à la masse quelquepart
      – Manque d’ampérage
      – une gestuelle qui fait bouger un fil ..

      Au pire essaye de déconnecter tous les éléments, et rebranche 1 par 1 voir lequel cause le soucis

    • #11037
      Antoine TABET
      Participant

      Salut Anthony,

      merci pour ton retour rapide !

      Après avoir testé longuement les différents branchements sur la NervoBoard InMoov avec un multimètre, il se trouve qu’il y avait un court-circuit au niveau de l’interrupteur que j’avais installé pour couper l’alim générale du InMoov en cas de problème … Un fil était complètement dénudé.

      J’ai remis tout ça à neuf et magie … Cela fonctionne de nouveau !!

      Pour tous ceux qui auraient ce problème à l’avenir, pensez à débugger en profondeur en testant toutes les parties du robot 🙂

      A bientôt !

Viewing 2 reply threads
  • You must be logged in to reply to this topic.