本文整理汇总了Python中Session.Session.select_action_step方法的典型用法代码示例。如果您正苦于以下问题:Python Session.select_action_step方法的具体用法?Python Session.select_action_step怎么用?Python Session.select_action_step使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Session.Session
的用法示例。
在下文中一共展示了Session.select_action_step方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from Session import Session [as 别名]
# 或者: from Session.Session import select_action_step [as 别名]
#.........这里部分代码省略.........
switch_command = 'SWITCH_TO_ACTION'
if (switch_command in command.command):
action_no = command.command[
len(switch_command):len(command.command)]
action_no = int(action_no)
if (self.session.n_actions() > 0):
self.session.switch_to_action(action_no,
self.world.get_frame_list())
response = Response(Interaction.empty_response,
[RobotSpeech.SWITCH_SKILL + str(action_no),
GazeGoal.NOD])
else:
response = Response(Interaction.empty_response,
[RobotSpeech.ERROR_NO_SKILLS, GazeGoal.SHAKE])
response.respond()
else:
rospy.logwarn('\033[32m This command (' + command.command
+ ') is unknown. \033[0m')
def gui_command_cb(self, command):
'''Callback for when a GUI command is received'''
if (not self.arms.is_executing()):
if (self.session.n_actions() > 0):
if (command.command == GuiCommand.SWITCH_TO_ACTION):
action_no = command.param
self.session.switch_to_action(action_no,
self.world.get_frame_list())
response = Response(Interaction.empty_response,
[RobotSpeech.SWITCH_SKILL + str(action_no),
GazeGoal.NOD])
response.respond()
elif (command.command == GuiCommand.SELECT_ACTION_STEP):
step_no = command.param
self.session.select_action_step(step_no)
rospy.loginfo('Selected action step ' + str(step_no))
else:
rospy.logwarn('\033[32m This command (' + command.command
+ ') is unknown. \033[0m')
else:
response = Response(Interaction.empty_response,
[RobotSpeech.ERROR_NO_SKILLS, GazeGoal.SHAKE])
response.respond()
else:
rospy.logwarn('Ignoring GUI command during execution: ' +
command.command)
def update(self):
'''General update for the main loop'''
self.arms.update()
if (self.arms.status != ExecutionStatus.NOT_EXECUTING):
if (self.arms.status != ExecutionStatus.EXECUTING):
self._end_execution()
if (Interaction._is_recording_motion):
self._save_arm_to_trajectory()
is_world_changed = self.world.update()
if (self.session.n_actions() > 0):
action = self.session.get_current_action()
action.update_viz()
r_target = action.get_requested_targets(0)
if (r_target != None):
self.arms.start_move_to_pose(r_target, 0)
action.reset_targets(0)
l_target = action.get_requested_targets(1)
if (l_target != None):
示例2: __init__
# 需要导入模块: from Session import Session [as 别名]
# 或者: from Session.Session import select_action_step [as 别名]
#.........这里部分代码省略.........
Arms.get_joint_state(1)]
states = [None, None]
for arm_index in [0, 1]:
nearest_obj = self.world.get_nearest_object(
abs_ee_poses[arm_index])
if (nearest_obj == None):
states[arm_index] = ArmState(ArmState.ROBOT_BASE,
abs_ee_poses[arm_index],
joint_poses[arm_index], Object())
else:
# Relative
rel_ee_pose = World.transform(
abs_ee_poses[arm_index],
'base_link', nearest_obj.name)
states[arm_index] = ArmState(ArmState.OBJECT,
rel_ee_pose,
joint_poses[arm_index], nearest_obj)
return states
def speech_command_cb(self, command):
'''Callback for when a speech command is received'''
if command.command in self.responses.keys():
rospy.loginfo('\033[32m Calling response for command ' +
command.command + '\033[0m')
response = self.responses[command.command]
if (not self.arms.is_executing() and not self._is_busy):
response.respond()
else:
if command.command == Command.STOP_EXECUTION:
response.respond()
else:
rospy.logwarn('Ignoring speech command during execution or busy: '
+ command.command)
else:
switch_command = 'SWITCH_TO_ACTION'
if (switch_command in command.command):
action_no = command.command[
len(switch_command):len(command.command)]
action_no = int(action_no)
if (self.session.n_actions() > 0):
self.session.switch_to_action(action_no,
self.world.get_frame_list())
response = Response(self.default_response,
[RobotSpeech.SWITCH_SKILL + str(action_no),
GazeGoal.NOD])
else:
response = Response(self.default_response,
[RobotSpeech.ERROR_NO_SKILLS, GazeGoal.SHAKE])
response.respond()
else:
rospy.logwarn('\033[32m This command (' + command.command
+ ') is unknown. \033[0m')
def gui_command_cb(self, command):
'''Callback for when a GUI command is received'''
if (not self.arms.is_executing()):
if (self.session.n_actions() > 0):
if (command.command == GuiCommand.SWITCH_TO_ACTION):
action_no = command.param
self.session.switch_to_action(action_no,
self.world.get_frame_list())
response = Response(self.default_response,
[RobotSpeech.SWITCH_SKILL + str(action_no),
GazeGoal.NOD])
response.respond()
elif (command.command == GuiCommand.SELECT_ACTION_STEP):
step_no = command.param
self.session.select_action_step(step_no)
rospy.loginfo('Selected action step ' + str(step_no))
else:
rospy.logwarn('\033[32m This command (' + command.command
+ ') is unknown. \033[0m')
else:
response = Response(self.default_response,
[RobotSpeech.ERROR_NO_SKILLS, GazeGoal.SHAKE])
response.respond()
else:
rospy.logwarn('Ignoring GUI command during execution: ' +
command.command)
def update(self):
'''General update for the main loop'''
self.arms.update()
if (self.arms.status != ExecutionStatus.NOT_EXECUTING):
if (self.arms.status != ExecutionStatus.EXECUTING):
self._end_replay()
if (self._demo_state == DemoState.RECORDING_DEMO):
self._save_arm_to_trajectory()
if (self.session.n_actions() > 0):
action = self.session.get_current_action()
action.update_viz()
time.sleep(0.1)