Example #1
0
def main(NAOip, NAOport):
    print "OpenCV Version:", cv2.__version__
    myBroker = ALBroker("myBroker",
                        "0.0.0.0",   # listen to anyone
                        0,           # find a free port and use it
                        NAOip,          # parent broker IP
                        NAOport)        # parent broker port
    global BasicMotions
    BasicMotions = BasicMotions(NAOip, NAOport, myBroker)
    EdgeDetector = EdgeDetection(NAOip, NAOport)
    user_input = "Start"
    delay = 1
    while user_input != "end":
        user_input = raw_input("Enter a command: ")
        user_input = user_input.lower()
        print(user_input)
        if user_input == "speak":
            BasicMotions.naoSay("Oh My Gawd, I can Speak!")
        elif user_input == "sit":
            BasicMotions.naoSit()
        elif user_input == "stand":
            BasicMotions.naoStand()
        elif user_input == "standinit":
            BasicMotions.naoStandInit()
        elif user_input == "walk":
            BasicMotions.naoWalk(0.5, 0.4)
        elif user_input == "nod":
            BasicMotions.naoNodHead()
        elif user_input == "shake head":
            BasicMotions.naoShadeHead()
        elif user_input == "wave right":
            BasicMotions.naoWaveRight()
        elif user_input == "wave both":
            BasicMotions.naoWaveBoth()
        elif user_input == "rest":
            BasicMotions.naoRest()
        #=======EMOTION DISPLAY=============
        elif user_input == "happy1motion":
            time.sleep(delay)
            BasicMotions.happy1Emotion()
        elif user_input == "happy2motion":
            time.sleep(delay)
            BasicMotions.happy2Emotion()
        elif user_input == "sad1motion":
            time.sleep(delay)
            BasicMotions.sad1Emotion()
        elif user_input == "sad2motion":
            time.sleep(delay)
            BasicMotions.sad2Emotion()
        elif user_input == "scared1motion":
            time.sleep(delay)
            BasicMotions.scared1Emotion()
        elif user_input == "scared2motion":
            time.sleep(delay)
            BasicMotions.scared2Emotion()
        elif user_input == "worried1motion":
            time.sleep(delay)
            BasicMotions.worried1Emotion()
        elif user_input == "worried2motion":
            time.sleep(delay)
            BasicMotions.worried2Emotion()
        elif user_input == "interested1motion":
            time.sleep(delay)
            BasicMotions.interested1Emotion()
        elif user_input == "interested2motion":
            time.sleep(delay)
            BasicMotions.interested2Emotion()
        elif user_input == "anger1motion":
            time.sleep(delay)
            BasicMotions.anger1Emotion()
        elif user_input == "anger2motion":
            time.sleep(delay)
            BasicMotions.anger2Emotion()
        elif user_input == "lookmotion":
            time.sleep(delay)
            BasicMotions.LookAtEdgeEmotion()
        elif user_input == "edgemotion":
            time.sleep(delay)
            BasicMotions.FoundEdgeEmotion()

        #=======VOICE EFFECT=============
        elif user_input == "happy":
            BasicMotions.naoSayHappy(BasicMotions.HriDialogEOD['1good'])
            #BasicMotions.happyEmotion()
        elif user_input == "sad":
            BasicMotions.naoSaySad(BasicMotions.HriDialogEOD['1bad'])
            #BasicMotions.sadEmotion()
        elif user_input == "scared":
            BasicMotions.naoSayScared(BasicMotions.HriDialogEOD['31nono'])
            #BasicMotions.scaredEmotion1()
        elif user_input == "worried":
            BasicMotions.naoSayWorried(BasicMotions.HriDialogEOD['31nono'])
            #BasicMotions.fearEmotion()
        elif user_input == "interested":
            BasicMotions.naoSayInterested(BasicMotions.HriDialogEOD['2yes'])
            #BasicMotions.hopeEmotion()
        elif user_input == "anger":
           BasicMotions.naoSayAnger(BasicMotions.HriDialogEOD['31nono'])
           #BasicMotions.angerEmotion()
        #=======EYE DISPLAY=============
        elif user_input == "happyeye":
            BasicMotions.setEyeEmotion('happy')
        elif user_input == "sadeye":
            BasicMotions.setEyeEmotion('sad')
        elif user_input == "scaredeye":
            BasicMotions.setEyeEmotion('scared')
        elif user_input == "worriedeye":
            BasicMotions.setEyeEmotion('worried')
        elif user_input == "interestedeye":
            BasicMotions.setEyeEmotion('interested')
        elif user_input == "angereye":
            BasicMotions.setEyeEmotion('anger')
        elif user_input == "alarmingeye":
            BasicMotions.blinkAlarmingEyes(5,0x00FF7F00,"LedEye")
        #=======TESTING INTERNAL FUNCTIONS=======
        elif user_input == "blinktop":
            BasicMotions.blinkEyes(random.randint(0x00000000, 0x00FFFFFF), 5.0, "EyeTop")
        elif user_input == "blinkbottom":
            BasicMotions.blinkEyes(random.randint(0x00000000, 0x00FFFFFF), 5.0, "EyeBottom")
        elif user_input == "blinkfull":
            BasicMotions.blinkEyes(random.randint(0x00000000, 0x00FFFFFF), 5.0, "EyeFull")
        elif user_input == "eyecolor":
            BasicMotions.setEyeColor(0x00FFFFFF,"LedEyeTop")
            BasicMotions.setEyeColor(0x00FF00FF,"LedEyeCorner")
            BasicMotions.setEyeColor(0x00FF00FF,"LedEyeBottom")
        #==========TESTING CAMERA============
        elif user_input == "img":
            EdgeDetector.SetDebugMode(True)
            i=0
            BasicMotions.LookAtEdgeEmotion()
            while True:
                status, distance, angle = EdgeDetector.lookForEdge(20,8)
                print "Edge: ", status,distance,angle
                if status==True:
                    BasicMotions. FoundEdgeEmotion()
                    break
                i+=1
                if i>100:
                    print "Not close enough"
                    break


        #============================================
        elif user_input != "end":
            print("That is not an availiable command")

    print("=== Main Program Finished Running ===")