Estop¶
For clients to the emergency stop (estop) service.
-
exception
bosdyn.client.estop.
EstopResponseError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.exceptions.ResponseError
General class of errors for Estop service.
-
exception
bosdyn.client.estop.
EndpointUnknownError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
The endpoint specified in the request is not registered.
-
exception
bosdyn.client.estop.
IncorrectChallengeResponseError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
The challenge and/or response was incorrect.
-
exception
bosdyn.client.estop.
EndpointMismatchError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
Target endpoint did not match.
-
exception
bosdyn.client.estop.
ConfigMismatchError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
Registered to the wrong configuration.
-
exception
bosdyn.client.estop.
InvalidEndpointError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
New endpoint was invalid.
-
exception
bosdyn.client.estop.
InvalidIdError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
Tried to replace a EstopConfig, but provided bad ID.
-
exception
bosdyn.client.estop.
MotorsOnError
(response, error_message=None)[source]¶ Bases:
bosdyn.client.estop.EstopResponseError
The operation is not allowed while motors are on.
-
class
bosdyn.client.estop.
StopLevel
(value)¶ Bases:
enum.IntEnum
An enumeration.
-
ESTOP_LEVEL_UNKNOWN
= 0¶
-
ESTOP_LEVEL_CUT
= 1¶
-
ESTOP_LEVEL_SETTLE_THEN_CUT
= 2¶
-
ESTOP_LEVEL_NONE
= 4¶
-
-
class
bosdyn.client.estop.
EstopClient
(name='EstopClient - PID: 30719')[source]¶ Bases:
bosdyn.client.common.BaseClient
Client to the estop service.
-
default_service_name
= 'estop'¶
-
service_type
= 'bosdyn.api.EstopService'¶
-
register
(target_config_id, endpoint, **kwargs)[source]¶ Register the endpoint in the target configuration.
- Parameters
target_config_id – The identification of the current configuration on the robot.
endpoint – Estop endpoint.
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
estop_pb2.EstopEndpoint that has been registered.
-
deregister
(target_config_id, endpoint, **kwargs)[source]¶ Deregister the endpoint in the target configuration.
- Parameters
target_config_id – The identification of the current configuration on the robot.
endpoint – Estop endpoint.
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
-
get_config
(**kwargs)[source]¶ Return the estop configuration of the robot.
- Parameters
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
estop_pb2.EstopConfig the robot is currently using.
-
set_config
(config, target_config_id, **kwargs)[source]¶ Change the estop configuration of the robot.
- Parameters
config – New configuration to set.
target_config_id – The identification of the current configuration on the robot.
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
estop_pb2.EstopConfig the robot is currently using.
-
get_status
(**kwargs)[source]¶ Return the estop status of the robot.
- Parameters
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
estop_pb2.EstopSystemStatus from the server.
-
check_in
(stop_level, endpoint, challenge, response, suppress_incorrect=False, **kwargs)[source]¶ Check in with the estop system.
- Parameters
stop_level – Integer / enum representing desired stop level. See StopLevel enum.
endpoint – The endpoint asserting the stop level.
challenge – A previously received challenge from the server.
response – A response to the ‘challenge’ argument.
suppress_incorrect – Set True to prevent an IncorrectChallengeResponseError from being raised when STATUS_INVALID is returned. Useful for the first check-in, before a challenge has been sent by the server.
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
A new challenge from the server.
-
-
class
bosdyn.client.estop.
EstopEndpoint
(client, name, estop_timeout, role='PDB_rooted', first_checkin=True, estop_cut_power_timeout=None)[source]¶ Bases:
object
Endpoint in the software estop system.
-
REQUIRED_ROLE
= 'PDB_rooted'¶
-
force_simple_setup
()[source]¶ Replaces the existing estop configuration with a single-endpoint configuration.
-
stop
(**kwargs)[source]¶ Issue a CUT stop level command to the robot, cutting motor power immediately.
- Parameters
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
None. Will raise an error if RPC failed.
-
settle_then_cut
(**kwargs)[source]¶ Issue a SETTLE_THEN_CUT stop level. The robot will attempt to sit before cutting motor power.
- Parameters
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
None. Will raise an error if RPC failed.
-
allow
(**kwargs)[source]¶ Issue a NONE stop level command to the robot, allowing motor power.
- Parameters
kwargs – Passed to underlying RPC. Example: timeout=5 to cancel the RPC after 5 seconds.
- Returns
None. Will raise an error if RPC failed.
-
check_in_at_level
(level, **kwargs)[source]¶ Check in at a specified level.
Meant for internal use, but may be helpful for higher-level wrappers.
-
property
unique_id
¶ Return the _unique_id. Should be used as read-only.
-
-
class
bosdyn.client.estop.
EstopKeepAlive
(endpoint, rpc_timeout_seconds=None, rpc_interval_seconds=None, keep_running_cb=None, max_status_queue_size=20)[source]¶ Bases:
object
Wraps an EstopEndpoint to do periodic check-ins, keeping software estop from timing out.
This is intended to be the common implementation of both periodic checking-in and one-time check-ins. See the command line utility and the “Big Red Button” application for examples.
You should not access any of the “private” members, or the wrapped endpoint.
-
property
logger
¶
-
property
endpoint
¶ Return the _endpoint. Should be used as read-only.
-
property
client
¶ Return the _endpoint.client. Should be used as read-only.
-
property