예제 #1
0
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
예제 #2
0
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)