def call_go_to(loc_name): out = aborted tries = 0 while(out==aborted and tries<3): if loc_name == 'exit': out = call_exit() else: print "SM : go_to %s" % (loc_name) tosay = "I'm going to the "+loc_name speak = SpeakActionState(text=tosay) speak.execute(ud=None) mr = MoveToRoomSM() mr.userdata._data = {'room_name': loc_name.replace(' ', '_')} #mr.userdata.room_name = loc_name out = mr.execute() tries = tries+1 return succeeded
def call_exit(): #TODO well out = aborted tries = 0 while(out==aborted and tries<3): print "SM : go_to exit" tosay = "I'm going to the exit" speak = SpeakActionState(text=tosay) speak.execute(ud=None) mr = MoveToRoomSM() mr.userdata._data = {'room_name': 'pre_exit'} #preguntar gerard #mr.userdata.room_name = loc_name out = mr.execute() # sr = ServiceState('/alive_engine/stop', Empty) # out = sr.execute(ud=None) mr.userdata._data = {'room_name': 'exit'} out = mr.execute() tries = tries+1 return succeeded '''time.sleep(3)