GroG

10 years 7 months ago

You really have a talent for bringing the InMoov alive..  excellent gestures and timings..

Can you send the script ? I'd like to check it into the repo - and have the script listed below this post - where people can see "cause" and "effect" ..  Cause being the script you've created and effect the video.  

I'm going to guess that your using 1695....  Once you send the script I'll convert it to InMoov 2.0, which would be great.  You would be able to access the latest enhancments and features.

Thanks for sharing !

Oh, nearly forgot...  An idea I had while watching..   A system check is very important, running an InMoov is like flying a plane .. flying is easy.. its the take-off which can be complicated.  In InMoov 2.0 more errors can send information back to the speech service - which is a nice way to be informed about problems.   I like the way you have it look at its hands or arms and give the "appearance" of checking...  but at the moment there is no "real" checking.   If there was a topcode or some other identifier at these places, we could "really" have InMoov look at it ..  expect it to be in a position when testing - and verify it moved as expected (or near expected) ..   so the gesture is needed, but i would be fun to add the real verification !

Great Work !

bhouston

10 years 7 months ago

Here's the script for "System Check"...

 

def systemcheck():
     sleep(2)
     inMoov.setHeadSpeed(.75,.75)
     inMoov.moveHead(90,90)
     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(1)
     inMoov.setHeadSpeed(.9,.9)
     inMoov.moveHead(25,61)
     inMoov.moveArm("left",0,90,30,10)
     inMoov.setArmSpeed("right",.75,.75,.75,.75)
     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.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("all servos are functioning properly")
     sleep(1.5)
     mouth.speakBlocking("awaiting your commands")