pylabrobot.brooks.precise_flex.PreciseFlex.recover_from_fault#

async PreciseFlex.recover_from_fault() None#

Recover after a collision / fault that stopped the arm and dropped power, leaving it usable.

A collision trips an envelope error (-3100 hard / -3122 soft, see is_collision()); the servo stops the arm itself and high power drops. This re-enables power, re-attaches, and re-homes (which only cycles the gripper when the other axes are already homed - absolute encoders retain them - so it does not sweep the arm), leaving it ready to move. It does not drive the arm to any pose; confirm the obstacle is removed before calling.

The envelope error auto-clears, so no explicit clear is needed; a latched fatal that blocks power-on is surfaced by power_on_robot for the operator to reset (DataID 247) or reboot.

Raises:

PreciseFlexError – if a hard E-stop is engaged (release the button first) or power cannot be re-enabled.

Return type:

None