Docking

A client for the docking service.

class bosdyn.client.docking.DockingClient[source]

Bases: BaseClient

A client for the docking service to help issue DockingCommand and get state. Clients are expected to issue a single DockingCommand and then periodically check the status of its execution. This service requires ownership over the robot, in the form of a lease and timesync.

default_service_name = 'docking'
service_type = 'bosdyn.api.docking.DockingService'
update_from(other)[source]

Adopt key objects like processors, logger, and wallet from other.

docking_command(station_id, clock_identifier, end_time, prep_pose_behavior=None, lease=None, **kwargs)[source]

Issue a DockingCommandRequest to the robot.

Parameters:
  • station_id – The ID of the docking station to dock at.

  • clock_identifier – Identifier provided by the time sync service.

  • end_time – Expiry time of the command in robot time.

  • prep_pose_behavior – [optional] How and if to use the pre-dock pose.

  • lease – [optional] Leave empty to have the lease filled in by the LeaseWallet

Returns:

DockingCommand ID

Raises:

ResponseError – The command was unable to be completed. See error for details.

docking_command_async(station_id, clock_identifier, end_time, prep_pose_behavior=None, lease=None, **kwargs)[source]

Async version of docking_command().

docking_command_full(station_id, clock_identifier, end_time, prep_pose_behavior=None, lease=None, require_fiducial=False, **kwargs)[source]

Identical to docking_command(), except will return the full DockingCommandResponse.

docking_command_full_async(station_id, clock_identifier, end_time, prep_pose_behavior=None, lease=None, require_fiducial=False, **kwargs)[source]

Identical to docking_command_async(), except will return the full DockingCommandResponse.

docking_command_feedback_full(command_id, end_time=None, **kwargs)[source]

Check the status of a previously issued docking command.

Parameters:

command_id – The ID returned from a previous docking_command call.

Raises:

RpcError – problem communicating with the robot

Returns:

DockingCommandFeedbackResponse

docking_command_feedback_full_async(command_id, end_time=None, **kwargs)[source]

Async version of docking_command_feedback_full().

docking_command_feedback(command_id, **kwargs)[source]

Check the status of a previously issued docking command.

Parameters:

command_id – The ID returned from a previous docking_command call.

Returns:

Status of type DockingCommandFeedbackResponse.Status

Deprecated since version 3.0.0: This function can raise LeaseErrors when the feedback was successfully retrieved. Use docking_command_feedback_full instead.

docking_command_feedback_async(command_id, **kwargs)[source]

Async version of docking_command_feedback().

Deprecated since version 3.0.0: This function can raise LeaseErrors when the feedback was successfully retrieved. Use docking_command_feedback_full_async instead.

get_docking_config(**kwargs)[source]

Get the docking config stored on the robot.

Returns:

List of docking configs of type ConfigRange

get_docking_config_async(**kwargs)[source]

Async version of get_docking_config().

get_docking_state(**kwargs)[source]

Get docking state from the robot.

Returns:

Robot dock state of type DockState

get_docking_state_async(**kwargs)[source]

Async version of get_docking_state().

bosdyn.client.docking.blocking_dock_robot(robot, dock_id, num_retries=4, timeout=30)[source]

Blocking helper that takes control of the robot and docks it.

Parameters:
  • robot – The instance of the robot to control.

  • dock_id – The ID of the dock to dock at.

  • num_retries – Optional, number of attempts.

Returns:

The number of retries required

Raises:

CommandFailedError – The robot was unable to be docked. See error for details.

bosdyn.client.docking.blocking_go_to_prep_pose(robot, dock_id, timeout=20)[source]

Blocking helper that takes control of the robot and takes it to the prep pose only.

Parameters:
  • robot – The instance of the robot to control.

  • dock_id – The ID of the dock to use.

Returns:

None

Raises:

CommandFailedError – The robot was unable to go to the prep pose. See error for details.

bosdyn.client.docking.blocking_undock(robot, timeout=20)[source]

Blocking helper that undocks the robot from the currently docked dock.

Parameters:

robot – The instance of the robot to control.

Returns:

None

Raises:

CommandFailedError – The robot was unable to undock. See error for details.

bosdyn.client.docking.get_dock_id(robot)[source]

Blocking helper to get dock ID that robot is currently docked at, None if not docked.