以下是各种状态消息及其含义和指示。第三列告诉您在遇到问题并且您看到此消息时应遵循的解决方案。
Message | EStop State / Error Meaning | Resolution |
---|---|---|
enabled: False | 机器人被禁用; 电机电源关闭 | enable robot |
estop_button: 1 | 急停(EStop)按钮已接合或松开 | |
estop_button: 2 | 软件停止命令已被调用 | |
estop_button: 3 | 紧急停止按钮已经释放,但尚未被复位 |
baxter_core_msgs/AssemblyState
消息提供了关于 Baxter 机器人组件状态的信息。具体来说,它包括了关于 estop_button
和 estop_source
字段的详细说明,这些字段与紧急停止(EStop)功能有关。以下是这些字段的解释:
name:~/ros_ws$ rosmsg show baxter_core_msgs/AssemblyState -r
bool ready # true if enabled and ready to operate, e.g., not homing
bool enabled # true if enabled
bool stopped # true if stopped -- e-stop asserted
bool error # true if a component of the assembly has an error
#
# The following are specific to the robot top-level assembly:
uint8 estop_button # One of the following:
uint8 ESTOP_BUTTON_UNPRESSED = 0 # Robot is not stopped and button is not pressed
uint8 ESTOP_BUTTON_PRESSED = 1
uint8 ESTOP_BUTTON_UNKNOWN = 2 # STATE_UNKNOWN when estop was asserted by a non-user source
uint8 ESTOP_BUTTON_RELEASED = 3 # Was pressed, is now known to be released, but robot is still stopped.
#
uint8 estop_source # If stopped is true, the source of the e-stop. One of the following:
uint8 ESTOP_SOURCE_NONE = 0 # e-stop is not asserted
uint8 ESTOP_SOURCE_USER = 1 # e-stop source is user input (the red button)
uint8 ESTOP_SOURCE_UNKNOWN = 2 # e-stop source is unknown
uint8 ESTOP_SOURCE_FAULT = 3 # MotorController asserted e-stop in response to a joint fault
uint8 ESTOP_SOURCE_BRAIN = 4 # MotorController asserted e-stop in response to a lapse of the brain heartbeat
ready
: 如果机器人已启用并且准备好运行(例如,不在进行初始化过程),则为 true。enabled
: 如果机器人已启用,则为 true。stopped
: 如果机器人已停止,即急停按钮被按下,则为 true。error
: 如果机器人的任何组件出现错误,则为 true。
下面是与机器人顶层组件相关的特定信息:
-
estop_button
: 表示急停按钮的状态,取值为以下之一:ESTOP_BUTTON_UNPRESSED (0)
: 机器人未停止且按钮未按下。ESTOP_BUTTON_PRESSED (1)
: 按下了急停按钮。ESTOP_BUTTON_UNKNOWN (2)
: 当急停由非用户来源触发时,状态未知。ESTOP_BUTTON_RELEASED (3)
: 按下了急停按钮,现在已知释放,但机器人仍处于停止状态。
-
estop_source
: 如果stopped
为 true,则表示急停的来源,取值为以下之一:ESTOP_SOURCE_NONE (0)
: 未触发急停。ESTOP_SOURCE_USER (1)
: 急停来源为用户输入(例如,按下红色按钮)。ESTOP_SOURCE_UNKNOWN (2)
: 急停来源未知。ESTOP_SOURCE_FAULT (3)
: 电机控制器根据关节故障触发了急停。ESTOP_SOURCE_BRAIN (4)
: 电机控制器因为大脑心跳停止而触发了急停。
下表显示了各种急停状态的示例场景以及将发布的相应机器人状态消息
Message | EStop State / Error | Resolution |
---|---|---|
enabled: True stopped: False error: False estop_button: 0 estop_source: 0 | (Good) Robot is enabled; E-Stop is connected and disengaged.机器人已启用;急停按钮已连接并且未触发(未按下)。 | |
enabled: False stopped: False error: False estop_button: 0 estop_source: 0 | (Good) EStop connected and not triggered; robot disabled; or robot reset.急停按钮已连接但未触发;机器人已禁用;或机器人已被重置。 | Use the enable_robot tool to enable the robot: |
enabled: False stopped: True error: True estop_button: 1 estop_source: 1 | E-Stop is engaged; Or E-Stop has come loose.急停按钮已触发(按下);或急停按钮松动。 | Disengage the E-Stop, make sure it is firmly connected to the robot, then reset the robot. |
enabled: False stopped: True error: False estop_button: 3 estop_source: 1 | E-Stop is released (or reconnected), but not reset.急停按钮已释放(或重新连接),但尚未被复位。 | Reset the robot, then try again: |
enabled: False stopped: True error: True estop_button: 2 estop_source: 1 | User triggered (Software) E-Stop.用户触发了(通过软件)急停。 | Reset the robot, then try again: |
To Enable the robot:
rosrun baxter_tools enable_robot.py -e
To Disable the robot:
rosrun baxter_tools enable_robot.py -d
To get help on enable_robot use the -h
argument:
rosrun baxter_tools enable_robot.py -h
To get the current robot state use -s
:
rosrun baxter_tools enable_robot.py -s
$ rosrun baxter_tools enable_robot.py -s enabled: False stopped: False error: False estop_button: 0 estop_source: 0
重置
用于-r
在发生错误后重置机器人(如果机器人状态为error: True
)
rosrun baxter_tools enable_robot.py -r
如果在运行机器人启用时机器人“无法重置”,则首先要检查的是紧急停止是否已接合:
rosrun baxter_tools enable_robot -s
如果estop_button:
字段显示“ 1
”,则表示紧急停止已接合。通过扭转红色顶部直至其“弹出”来解除紧急停止,然后尝试重置机器人。
rosrun baxter_tools enable_robot -r
rosrun baxter_tools enable_robot -e
急停
这应该清除该error
字段,并将其设置回error: False
。
使用-S
(大写 S)停止机器人。这类似于“软件”紧急停止。
rosrun baxter_tools enable_robot.py -S
这将禁用机器人,并导致字段stopped
和error
字段变为 True。您需要重置机器人,然后才能再次启用它。
断电
要关闭 Baxter,只需按下机器人后面板上的电源按钮(位于 Baxter 的左侧)。
几秒钟后,Rethink Logo 启动画面动画将会在 Baxter 的显示器上显示约 5 秒钟,然后机器人将关闭。
警告!
- 关机时不要按住电源按钮!只需按住电源按钮一秒钟即可。按住电源按钮可能会导致下次启动时硬盘损坏。
- 机器人关机时请勿拔下电源插头!这也会给下次启动带来麻烦。