bhouston

10 years 7 months ago

Here's the full script for this video. I put together a bunch of scripts to make it. A couple of the scripts were written by Gael and Jhack. It's in version 1695. (I started it quite awhile ago). If you are planning to use this script - Please consider donating to the InMoov project. 

This video could be use for  introducting the InMoov project at Makerfairs and in schools.

Have fun with it.

def whatcanido():
    sleep(10)
    mouth.speakBlocking("people ask")
  
    mouth.speakBlocking("what can I do?")
    sleep(.1)
    mouth.speakBlocking("Well, I can do what ever Bob programs me to do")
    sleep(.3)
    
    inMoov.moveHead(94,90)
    inMoov.setArmSpeed("left",.9,.9,.9,.9)
    inMoov.setArmSpeed("right",.9,.9,.9,.9)
    inMoov.moveArm("left",19,103,69,30)
    inMoov.moveArm("right",35,100,50,34)
    inMoov.moveHand("left",0,0,0,0,0,28)
    inMoov.moveHand("right",0,0,0,0,0,148)
    mouth.speakBlocking("For example, I can welcome you with open arms")
    sleep(1)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    sleep(.1)
 
    mouth.speakBlocking("and introduce myself")
    inMoov.setHandSpeed("left", 0.60, 0.60, 1.0, 1.0, 1.0, 1.0)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.75)
    inMoov.moveHead(105,78)
    inMoov.moveArm("left",78,48,37,10)
    inMoov.moveArm("right",90,144,60,75)
    inMoov.moveHand("left",112,111,105,102,81,10)
    inMoov.moveHand("right",0,0,0,50,82,180)
    ear.pauseListening()
    sleep(.1)
 
    for w in range(0,3):
         inMoov.setHandSpeed("left", 0.60, 0.60, 1.0, 1.0, 1.0, 1.0)
         inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 0.60)
         inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
         inMoov.setArmSpeed("right", 0.60, 1.0, 1.0, 1.0)
         inMoov.setHeadSpeed(0.65, 0.75)
         inMoov.moveHead(83,98)
         inMoov.moveArm("left",78,48,37,10)
         inMoov.moveArm("right",90,157,47,75)
         inMoov.moveHand("left",112,111,105,102,81,10)
         inMoov.moveHand("right",3,0,62,41,117,94)
         sleep(.5)
          
         if w==1:
    mouth.speakBlocking("hello, my name is inmoov")
    inMoov.setHandSpeed("left", 1.0,1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 0.60)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.65, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.75)
    inMoov.moveHead(83,70)
    inMoov.moveArm("left",78,48,37,10)
    inMoov.moveArm("right",57,145,50,68)
    inMoov.moveHand("left",100,90,85,80,71,15)
    inMoov.moveHand("right",3,0,31,12,26,45)
    sleep(1)
    inMoov.moveHead(83,98)
    inMoov.moveArm("left",78,48,37,10)
    inMoov.moveArm("right",90,157,47,75)
    inMoov.moveHand("left",112,111,105,102,81,10)
    inMoov.moveHand("right",3,0,62,41,117,94)
    ear.resumeListening()
    sleep(1)
    mouth.speakBlocking(" I can shake yor hand")
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",16,80,69,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    sleep(1)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
 
    sleep(1)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",16,80,69,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",75,50,82,113,140,90)
    mouth.speakBlocking("Nice to meet you")
    sleep(.5)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",22,80,69,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",95,23,59,109,131,90)
    sleep(.5)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",5,80,69,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",75,50,82,113,140,90)
    sleep(.5)
    mouth.speakBlocking("whats your name")
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",22,80,69,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",95,23,59,109,131,90)
    sleep(1)    
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    sleep(1)
    mouth.speakBlocking("I should really start by checking my servos")
    mouth.speakBlocking("to make sure everything is working properly")
    inMoov.setHeadSpeed(.75,.75)
    sleep(1)
    inMoov.moveHead(72,64)
     
    sleep(2)
    inMoov.moveHead(155,94)
    sleep(2)
    inMoov.moveHead(90,138)
    sleep(2)
 
    inMoov.moveHead(29,95)
    sleep(2)
    inMoov.moveHead(90,90)
    sleep(1.5)
    mouth.speakBlocking("Head, neck and mouth,   check")
    sleep(.7)
    inMoov.setHeadSpeed(.9,.9)
    inMoov.moveHead(25,61)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.setArmSpeed("right",.75,.75,.75,.75)
    inMoov.setHandSpeed("left",1,1,1,1,1,1)
    inMoov.moveArm("right",24,62,52,45)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    sleep(2)
    inMoov.moveHead(90,90)
    inMoov.setHeadSpeed(.9,.9)
    sleep(1)
    mouth.speakBlocking("right arm and right shoulder,    check")
    sleep(1)
    inMoov.setHeadSpeed(.9,.9)
    inMoov.moveHead(20,122)
    inMoov.setArmSpeed("left",.75,.75,.75,.75)
    inMoov.moveArm("left",24,62,52,45)
    sleep(2)
    inMoov.moveHead(90,90)
    inMoov.setHeadSpeed(.9,.9)
    sleep(1)
    mouth.speakBlocking("left arm and left shoulder,    check")
    sleep(1)
    inMoov.setHeadSpeed(.9,.9)
    inMoov.moveHead(20,120)
        
    inMoov.moveArm("left",75,123,52,45)
    inMoov.moveArm("right",75,123,52,45) 
    inMoov.moveHand("left",180,180,180,180,180,30)
    inMoov.moveHand("right",180,180,180,180,180,170)
    sleep(3)
    inMoov.setHeadSpeed(.9,.9)
    inMoov.moveHead(59,67)
     
    inMoov.moveHand("right",0,0,0,0,0,19)
    inMoov.moveHand("left",0,0,0,0,0,170)
    sleep(1)
    inMoov.moveHand("left",180,180,180,180,180,30)
    inMoov.moveHand("right",180,180,180,180,180,170)
    sleep(1.5)
    inMoov.moveHead(90,90)
    inMoov.setHeadSpeed(.9,.9)
    sleep(1)
    mouth.speakBlocking(" hands and Wrists,    check")
    sleep(1)
    inMoov.setHandSpeed("Left",1,1,1,1,1,1)
    inMoov.setHandSpeed("right",1,1,1,1,1,1) 
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    mouth.speakBlocking("and report that all servos are functioning properly")
    sleep(.3)
    mouth.speakBlocking("if they are not, I would say")
    sleep(.3)
    mouth.speakBlocking("Houston we have a problem")
    sleep(1.5)
    mouth.speakBlocking("I can tell you about myself")
     
    sleep(.5)
    inMoov.setArmSpeed("right", 0.1, 0.1, 0.2, 0.2);
    inMoov.setArmSpeed("left", 0.1, 0.1, 0.2, 0.2);
    inMoov.setHeadSpeed(0.2,0.2)
    inMoov.moveArm("right", 64, 94, 10, 10);
 
 
    mouth.speakBlocking("I am the first life size humanoid robot")
    sleep(.1)
    mouth.speakBlocking("that you can 3D print and animate")
    inMoov.moveHead(65,66)
    inMoov.moveArm("left", 64, 104, 10, 10);
    inMoov.moveArm("right", 44, 84, 10, 10);
    mouth.speakBlocking("my designer creator is Gael Langevin a French sculptor, model maker")
    mouth.speakBlocking("as well as being very smart, Gael is also a generous man")
    
    inMoov.moveHead(75,86)
    inMoov.moveArm("left", 54, 104, 10, 10);
    inMoov.moveArm("right", 64, 84, 10, 20);
    mouth.speakBlocking("he released my files  to the opensource 3D world.")
    mouth.speakBlocking("check out his website at InMoov dot F R")
    sleep(.1)
    mouth.speakBlocking("this is where Bob, my builder downloaded my files.")
    mouth.speakBlocking("to print me and get the information to build me so I would work properly")
    inMoov.moveHead(65,96)
    inMoov.moveArm("left", 44, 94, 10, 20);
    inMoov.moveArm("right", 54, 94, 20, 10);
    sleep(.1)
    mouth.speakBlocking("my basic programing was done by GroG, from My Robot Lab")
    
    mouth.speakBlocking("so nothing should go wrong")
    inMoov.setHeadSpeed(1,1)
    inMoov.moveHead(90,90)
    sleep(.1)
    inMoov.moveHead(85,64)
    sleep(.5)
    inMoov.moveHead(90,90)
    sleep(.3)
    mouth.speakBlocking("go wrong")
    sleep(.1)
    inMoov.moveHead(85,64)
    sleep(.5)
    inMoov.moveHead(90,90)
    sleep(.3)
    mouth.speakBlocking("go wrong")
    sleep(.1)
    inMoov.setHeadSpeed(.5,.5)
    inMoov.moveHead(20,140)
    sleep(2)
    inMoov.setHeadSpeed(1,1)
    mouth.speakBlocking("go wrong")
    sleep(.1)
    inMoov.moveHead(85,64)
    sleep(.1)
    inMoov.moveHead(90,90)
    sleep(.1)
    inMoov.moveHead(75,76)
    inMoov.moveArm("left", 64, 94, 20, 10);
    inMoov.moveArm("right", 34, 94, 10, 10);
    mouth.speakBlocking("after five hundred hours of printing, four kilos of plastic")
    sleep(.5)
    mouth.speakBlocking("twenty five hobby servos.I was brought to life") # should be " i was borght to life."
    inMoov.moveHead(65,86)
    inMoov.moveArm("left", 24, 94, 10, 10);
    inMoov.moveArm("right", 24, 94, 10, 10);
    mouth.speakBlocking("so if You have a 3D printer, some building skills")
    sleep(.1)
    mouth.speakBlocking("then you can build your own version of me") # mabe add in " alot of money"
    inMoov.moveHead(85,86)
    inMoov.moveArm("left", 4, 94, 20, 30);
    inMoov.moveArm("right", 24, 124, 10, 20);
    mouth.speakBlocking("and if enough people build me, some day my kind could serve mankind") # mabe add in " alot of money"
    inMoov.moveHead(75,96)
    inMoov.moveArm("left", 24, 104, 10, 10);
    inMoov.moveArm("right", 4, 94, 20, 30);
    mouth.speakBlocking("But first, i need some legs to get around") 
    inMoov.moveHead(75,96)
    inMoov.moveArm("left", 4, 94, 10, 10)
    inMoov.moveArm("right", 4, 94, 10, 10);
    mouth.speakBlocking("I know Gael is working hard and wil release those componets soon")
    sleep(1)
    mouth.speakBlocking("Let me tell you about how I move")
    sleep(.5)
    inMoov.setArmSpeed("right", 1, 1, 1, 1);
    inMoov.setArmSpeed("left", 1, 1, 1, 1);
    inMoov.setHeadSpeed(1,1)
    sleep(.5)
    inMoov.setHandSpeed("left", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(79,100)
    inMoov.moveArm("left",0,119,28,15)
    inMoov.moveArm("right",0,111,28,15)
    inMoov.moveHand("left",42,58,87,55,71,35)
    inMoov.moveHand("right",81,20,82,60,105,113)
    mouth.speakBlocking("I currently have twenty five  hobby servos installed in my body to give me life")
    inMoov.setHandSpeed("left", 0.85, 0.85, 0.85, 0.85, 0.85, 0.85)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(124,90)
    inMoov.moveArm("left",89,94,91,35)
    inMoov.moveArm("right",20,67,31,22)
    inMoov.moveHand("left",106,41,161,147,138,90)
    inMoov.moveHand("right",0,0,0,54,91,90)
    mouth.speakBlocking("there's one servo  for moving my mouth up and down")
    sleep(1)
    inMoov.setHandSpeed("left", 0.85, 0.85, 1.0, 0.85, 0.85, 0.85)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(105,76);
    inMoov.moveArm("left",89,106,103,35);
    inMoov.moveArm("right",35,67,31,22);
    inMoov.moveHand("left",106,41,31,147,138,7);
    inMoov.moveHand("right",0,0,0,54,91,90);
    mouth.speakBlocking("two for my eyes")
    sleep(0.2)
    inMoov.setHandSpeed("left", 0.85, 0.85, 1.0, 1.0, 1.0, 0.85)
    inMoov.moveHand("left",106,41,31,31,31,7);
    mouth.speakBlocking("and two more for my head")
    sleep(0.5)
    inMoov.setHandSpeed("left", 0.85, 0.9, 0.9, 0.9, 0.9, 0.85)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(90,40);
    sleep(.3)
    mouth.speakBlocking("I also have a camera in my eye")
    inMoov.moveArm("left",89,106,103,35);
    inMoov.moveArm("right",35,67,31,20);
    inMoov.moveHand("left",106,140,140,140,140,7);
    inMoov.moveHand("right",0,0,0,54,91,90);
    mouth.speakBlocking("so i can look around")
    sleep(.2)
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(105,125);
    inMoov.setArmSpeed("left", 0.9, 0.9, 0.9, 0.9)
    inMoov.moveArm("left",60,100,85,30);
    mouth.speakBlocking("and see who's there")
    inMoov.setHeadSpeed(0.65, 0.65)
    inMoov.moveHead(40,56);
    sleep(0.5)
    inMoov.setArmSpeed("right", 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0);
    inMoov.setArmSpeed("right", 0.5, 0.6, 0.5, 0.6);
    inMoov.moveArm("left",87,41,64,10)
    inMoov.moveArm("right",0,95,40,10)
    inMoov.moveHand("left",98,150,160,160,160,104)
    inMoov.moveHand("right",0,0,50,54,91,90);
    mouth.speakBlocking("there's three servos  in each shoulder")
    inMoov.moveHead(40,67);
    sleep(1)
    inMoov.setHandSpeed("left", 0.8, 0.9, 0.8, 0.8, 0.8, 0.8)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.8, 0.8)
    inMoov.moveHead(43,69)
    inMoov.moveArm("left",87,41,64,10)
    inMoov.moveArm("right",0,95,40,42)
    inMoov.moveHand("left",42,0,100,80,113,35)
    inMoov.moveHand("left",42,10,160,160,160,35)
    inMoov.moveHand("right",81,20,82,60,105,113)
    mouth.speakBlocking("here is the first servo movement")
    sleep(1)
    inMoov.moveHead(37,60);
    inMoov.setHandSpeed("left", 1.0, 1.0, 0.9, 0.9, 1.0, 0.8)
    inMoov.setArmSpeed("right", 1.0, 1.0, 1.0, 1.0)
    inMoov.moveArm("right",0,95,67,42)
    inMoov.moveHand("left",42,10,10,160,160,30)
    mouth.speakBlocking("this is the second one")
    sleep(1)
    inMoov.moveHead(43,69);
    inMoov.setArmSpeed("right", 1.0, 1.0, 1.0, 1.0)
    inMoov.moveArm("right",0,134,67,42)
    inMoov.moveHand("left",42,10,10,10,160,35)
    mouth.speakBlocking("now you see the third")
    sleep(1)
    inMoov.setArmSpeed("right", 0.8, 0.8, 0.8, 0.8)
    inMoov.moveArm("right",20,90,45,16)
    mouth.speakBlocking("they give me a more human like movement")
    sleep(1)
    inMoov.setHandSpeed("left", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 1.0, 1.0, 1.0, 1.0);
    inMoov.moveHead(43,72)
    inMoov.moveArm("left",90,44,66,10)
    inMoov.moveArm("right",90,100,67,26)
    inMoov.moveHand("left",42,80,100,80,113,35)
    inMoov.moveHand("right",81,0,82,60,105,69)
    mouth.speakBlocking("but, i have only  one servo, to move each elbow")
    inMoov.setHandSpeed("left", 0.85, 0.85, 0.85, 0.85, 0.85, 0.85)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setArmSpeed("right", 0.85, 0.85, 0.85, 0.85)
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0)
    inMoov.setHeadSpeed(0.8, 0.8)
    inMoov.moveHead(45,62)
    inMoov.moveArm("left",72,44,90,10)
    inMoov.moveArm("right",90,95,68,15)
    inMoov.moveHand("left",42,0,100,80,113,35)
    inMoov.moveHand("right",81,0,82,60,105,0)
    mouth.speakBlocking("that, leaves me, with one servo per wrist")
    inMoov.moveHead(40,70)
    inMoov.setHandSpeed("left", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.setHandSpeed("right", 0.9, 0.9, 0.9, 0.9, 0.9, 0.9)
    inMoov.moveArm("left",72,44,90,9)
    inMoov.moveArm("right",90,95,68,15)
    inMoov.moveHand("left",42,0,100,80,113,35)
    inMoov.moveHand("right", 10, 140,82,60,105,10)
    mouth.speakBlocking("and one servo for each finger.")
    sleep(0.5)
    inMoov.moveHand("left",42,0,100,80,113,35)
    inMoov.moveHand("right", 50, 51, 15,23, 30,140);
    mouth.speakBlocking("these servos are located in my forearms")
    inMoov.setHandSpeed("left", 1,1,1,1,1,1,)
    inMoov.setHandSpeed("right", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
    inMoov.moveHand("left", 36, 52, 8,22, 20);
    inMoov.moveHand("right", 120, 147, 130,110, 125);
    further()
    sleep(1)
    mouth.speakBlocking("they are hooked up, by the use of tendons")
    inMoov.moveHand("left",10,20,30,40,60,150);
    inMoov.moveHand("right",110,137,120,100,105,130);
    inMoov.setHeadSpeed(1,1)
    inMoov.setArmSpeed("right", 1.0,1.0, 1.0, 1.0);
    inMoov.setArmSpeed("left", 1.0, 1.0, 1.0, 1.0);
    inMoov.setHandSpeed("left",1,1,1,1,1,1)
    inMoov.setHandSpeed("right",1,1,1,1,1,1)
    
    sleep(1.5)
    mouth.speakBlocking("Bob, has even taught me to count my fingers")
    sleep(1)
    inMoov.setHandSpeed("left",1,1,1,1,1,1)
    inMoov.setHandSpeed("right",1,1,1,1,1,1)
    inMoov.moveHead(49,87)
    inMoov.moveArm("left",75,83,79,24)
    inMoov.moveArm("right",65,82,71,24)
    inMoov.moveHand("left",74,117,125,157,168,92)
    inMoov.moveHand("right",0,0,0,0,0,180)
    sleep(2)
    inMoov.moveHand("right",0,80,98,120,114,180)
    mouth.speakBlocking("ten")
     
    sleep(.1)
    inMoov.moveHand("right",0,0,98,120,114,180)
    mouth.speakBlocking("nine")
     
    sleep(.1)
    inMoov.moveHand("right",0,0,0,120,114,180)
    mouth.speakBlocking("eight")
     
    sleep(.1)
    inMoov.moveHand("right",0,0,0,0,114,180)
    mouth.speakBlocking("seven")
     
    sleep(.1)
    inMoov.moveHand("right",0,0,0,0,0,180)
    mouth.speakBlocking("six")
     
    sleep(.5)
    inMoov.setHeadSpeed(.70,.70)
    inMoov.moveHead(40,105)
    inMoov.moveArm("left",75,83,79,24)
    inMoov.moveArm("right",65,82,71,24)
    inMoov.moveHand("left",0,0,0,0,0,10)
    inMoov.moveHand("right",0,0,0,0,0,180)
    sleep(.1)
    mouth.speakBlocking("and five makes eleven")
     
    sleep(.7)
    inMoov.setHeadSpeed(.7,.7)
    inMoov.moveHead(49,87)
    sleep(.5)
    inMoov.setHeadSpeed(.7,.7)
    inMoov.moveHead(40,105)
    sleep(.7)
    inMoov.setHeadSpeed(.7,.7)
    inMoov.moveHead(49,87)
    sleep(.5)
    inMoov.setHeadSpeed(.7,.7)
    inMoov.moveHead(40,105)
    sleep(.7)
    inMoov.setHeadSpeed(.7,.7)
    inMoov.moveHead(90,96)
    sleep(.5)
    mouth.speakBlocking("eleven")
    sleep(1)
    mouth.speakBlocking("that doesn't seem right")
    sleep(1)
     
    mouth.speakBlocking("Oh ya, I need to start from one")
    inMoov.moveHead(40,105)
    inMoov.moveArm("left",75,83,79,24)
    inMoov.moveArm("right",65,82,71,24)
    inMoov.moveHand("left",87,138,109,168,158,25)
    inMoov.moveHand("right",87,138,109,168,158,90)
    sleep(2)
     
    inMoov.moveHand("left",0,138,109,168,158,25)
    mouth.speakBlocking("one")
    sleep(.1)
     
     
    inMoov.moveHand("left",0,0,109,168,158,25)
    mouth.speakBlocking("two")
    sleep(.1)
     
    inMoov.moveHand("left",0,0,0,168,158,25)
    mouth.speakBlocking("three")
    sleep(.1)
    inMoov.moveHand("left",0,0,0,0,158,25)
    mouth.speakBlocking("four")
    sleep(.1)
    inMoov.moveHand("left",0,0,0,0,0,25)
     
    mouth.speakBlocking("five")
    sleep(.1)
    inMoov.setHeadSpeed(.65,.65)
    inMoov.moveHead(53,90)
    inMoov.moveArm("right",48,80,78,10)
    inMoov.moveHand("left",0,0,0,0,0,25)
    inMoov.moveHand("right",0,0,0,0,0,161)
    sleep(1)
    mouth.speakBlocking("and five makes ten")
    sleep(.5)
    mouth.speakBlocking("there that's better")
    inMoov.moveHead(90,90)
    sleep(.5)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    mouth.speakBlocking("inMoov has ten fingers")
    sleep(1.5)
    mouth.speakBlocking(" i was taught to say the alphabet")
    mouth.speakBlocking("A")
    mouth.speakBlocking("bea")
    mouth.speakBlocking("see")
    mouth.speakBlocking("dee")
    mouth.speakBlocking("E")
    mouth.speakBlocking("Eff")
    mouth.speakBlocking("Gee")
    sleep(.2)
    mouth.speakBlocking("well")
    mouth.speakBlocking("you get it")
    sleep(.5)
    mouth.speakBlocking(" As you can hear I can say any word that I am programed to say")
    sleep(.1)
    inMoov.setHeadSpeed(.8,.8)
    inMoov.moveHead(90,110)
    sleep(.2)
    
    mouth.speakBlocking("cat")
    mouth.speakBlocking("dog")
    mouth.speakBlocking("spot")
    mouth.speakBlocking("data")
    mouth.speakBlocking("3D printer")
    inMoov.moveHead(90,80)
    inMoov.setHeadSpeed(.75,.75)
    mouth.speakBlocking("Arduino")
    mouth.speakBlocking("solar energy")
    mouth.speakBlocking("antidisestabishmentaryism")
    mouth.speakBlocking("supercalifrajewlisticexpialidocious")
    
    sleep(.1)
    
    
    inMoov.moveHead(90,100)
    inMoov.setHeadSpeed(.8,.8)
    sleep(.3)
    mouth.speakBlocking("some don't even make sense!!")
    
    sleep(.75)
    mouth.speakBlocking(" I can also do some different poses")
    sleep(.5)
    
    inMoov.moveHead(75,79)
    inMoov.moveArm("left",9,115,28,80)
    inMoov.moveArm("right",13,118,26,80)
    inMoov.moveHand("left",61,49,14,38,15,64)
    inMoov.moveHand("right",0,24,54,50,82,180)
    mouth.speakBlocking("like the famous Davinci pose")
    sleep(1)
    
    
    inMoov.setHeadSpeed(.75,.75)
    inMoov.moveHead(63,48)
    inMoov.moveArm("left",77,162,30,78)
    inMoov.moveArm("right",73,160,30,79)
    inMoov.moveHand("left",121,163,153,119,158,0)
    inMoov.moveHand("right",76,169,180,141,180,150)
    mouth.speakBlocking("or how about Arnold showing off his mussels")
    sleep(2)
    inMoov.setHeadSpeed(.75,.75)
    inMoov.moveHead(63,150)
    inMoov.moveArm("left",77,162,30,78)
    inMoov.moveArm("right",73,160,30,79)
    inMoov.moveHand("left",121,163,153,119,158,0)
    inMoov.moveHand("right",76,169,180,141,180,150)
    sleep(1)
    inMoov.setHeadSpeed(.9,.9)
    inMoov.moveHead(118,102)
    inMoov.moveArm("left",77,162,30,78)
    inMoov.moveArm("right",73,160,30,79)
    inMoov.moveHand("left",121,163,153,119,158,0)
    inMoov.moveHand("right",76,169,180,141,180,150)
    sleep(1)
    mouth.speakBlocking("I can do some gestures, like")
    
    
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",68,105,72,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",60,0,0,180,175,1)
    mouth.speakBlocking(" Peace or victory, depending on your perspective")
    sleep(2)
    
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",75,160,43,71)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",180,180,180,180,180,90)
    mouth.speakBlocking("right on, man")
    sleep(2)
    
    inMoov.setHeadSpeed(.7,.7)    
    inMoov.moveHead(12,75)
    inMoov.moveArm("left",15,77,68,10)
    inMoov.moveArm("right",13,67,57,13)
    inMoov.moveHand("left",0,0,17,47,0,0)
    inMoov.moveHand("right",0,0,7,44,23,180)
    mouth.speakBlocking("caring")
    sleep(4)
    
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",54,90,46,70)
    inMoov.moveArm("right",54,90,46,70)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,172)
    mouth.speakBlocking("do you need a hug?")
    sleep(3)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    mouth.speakBlocking(" soon I will be able to sense when someone is in the room")
    
    mouth.speakBlocking(" with my camera and an additional sensor")
    inMoov.moveHead(90,110)
    inMoov.moveArm("left",88,90,79,42)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",82,0,140,149,162,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    sleep(.1)
    mouth.speakBlocking("that Bob is going to install in me")
    inMoov.setArmSpeed("left",.9,.9,.9,.9)
    inMoov.setArmSpeed("right",.9,.9,.9,.9)
    inMoov.setHandSpeed("left",.9,.9,.9,.9,.9,.9)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",54,90,46,64)
    inMoov.moveArm("right",54,90,46,64)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,172)
    sleep(1)
    inMoov.setArmSpeed("left",.9,.9,.9,.9)
    inMoov.setArmSpeed("right",.9,.9,.9,.9)
    inMoov.moveArm("left",0,90,35,10)
    inMoov.moveArm("right",10,80,35,15)
    
    
    mouth.speakBlocking("and follow them as they move around")
    inMoov.moveHead(90,40)
    sleep(1)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,52,22)
    inMoov.moveArm("right",12,90,45,30)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,90)
    mouth.speakBlocking("Bob is also working on an artificial Intelligence package for me")
    sleep(.1)
    inMoov.setArmSpeed("left",.9,.9,.9,.9)
    inMoov.setArmSpeed("right",.9,.9,.9,.9)
    inMoov.moveArm("left", 0,90,35,15)
    inMoov.moveArm("right",10,90,30,12)
    mouth.speakBlocking("so I will be able to have a conversation with you")
    sleep(.5)
    mouth.speakBlocking("I am finished telling you about myself")
    sleep(.1)
    
    inMoov.setHandSpeed("left", 1,1,1,1,1,1)
    inMoov.setHandSpeed("right", 1,1,1,1,1,1)
    inMoov.setArmSpeed("left", 1,1,1,1)
    inMoov.setArmSpeed("right", 1,1,1,1)
    inMoov.setHeadSpeed(0.65, 0.75)
    inMoov.moveHead(88,79)
    inMoov.moveArm("left",89,75,93,11)
    inMoov.moveArm("right",0,91,28,17)
    inMoov.moveHand("left",120,130,0,0,0,180)
    inMoov.moveHand("right",86,51,133,162,153,180)
    mouth.speakBlocking("I think everything went OK")
    sleep(1)
    
    
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",50,135,73,51)
    inMoov.moveHand("left",0,0,0,0,0,90)
    inMoov.moveHand("right",0,0,0,0,0,6)
    sleep(.1)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,6)
    mouth.speakBlocking("until next time, Goodbye")
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,6)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(.2)
    
    inMoov.moveHand("right",0,0,0,0,0,6)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,6)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,6)
    sleep(.2)
    inMoov.moveHand("right",0,0,0,0,0,65)
    sleep(1)
    inMoov.moveHead(90,90)
    inMoov.moveArm("left",0,90,30,10)
    inMoov.moveArm("right",0,90,30,10)
    inMoov.moveHand("left",0,0,0,0,0,90)

 

    inMoov.moveHand("right",0,0,0,0,0,90)

GroG

10 years 7 months ago

Hi Bob,
GREAT WORK !.. You certainly have a finesse for creating  great scripts & videos.  Thanks for the MRL plug too :D.   

And for sharing your great work.

I'm going to check your script into the repo. The repo is nice because it supports revisions, and syntax highlighting through the web pages.

Chatbot will work, except the speech recognition is an issue :  
I can think of several possible solutions :

  • Look into the details of Sphinx and how it can return free-form recognitions - pretty sure this is possible
  • Get GoogleSTT service in working order again
  • Create a new Microsoft Speech SDK service
  • Look into Julian or some other speech recognition software package
  • Wrap PocketSphinx into a JNI Service

Did you have any other ideas?