我需要帮助来控制 python 脚本。我想运行一个控制两个机器人的脚本。例程由一系列运动组成,这些运动要么移动手臂,要么移动夹具。代码形式如下:
def robot_exec():
# List of robot arm poses:
*many_many_lines_of_position_vectors*
# List of robot gripper poses:
*open position*
*close position*
while 1:
*Call a function that moves the robot arm(s) to a position on the list*
*Call a function that moves the robot gripper(s) to a position on the list*
*continue calling functions many times until the desired routine is complete*
n = raw_input("Restart the routine? (Y/N)")
if n.strip() == 'n' or 'N':
break
elif n.strip() == 'y' or 'Y':
continue
else:
print "Invalid input. Exiting..."
break
如果例程完成(即每个函数都被调用),它会询问我是否要重新启动,如果我选择是,则表现正常,这很好。
但是,如果我在例程中间按 ctrl-C,则会出现消息“重新启动例程?” 仍然弹出并要求输入,我不希望那样。我想要的是以下之一:
- 当且仅当用户按下 ctrl-C 时,完全退出一切,不问任何问题。
- 当且仅当用户按下 ctrl-C 时,将机器人返回到初始位置(在该手臂姿势列表中定义),然后完全退出一切。
我的主要问题是, ctrl-C 实际上是如何工作的?我以为它只会退出脚本,但实际上它仍然会打印内容并要求输入。这个广泛问题的一个子集是,我怎样才能获得所需的行为(按 ctrl-C 时完全退出所有内容)?
我意识到这是一种笨拙的方式来做我需要机器人做的事情,但这是我能想到的最好的方式,因为我对 python 的了解有限。
谢谢,
-阿德里安