Map Processing

For clients of the graph_nav map processing service.

exception bosdyn.client.map_processing.MapProcessingServiceResponseError(response, error_message=None)[source]

Bases: bosdyn.client.exceptions.ResponseError

General class of errors for the GraphNav map processing service.

exception bosdyn.client.map_processing.MissingSnapshotsError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The uploaded map has missing waypoint snapshots.

exception bosdyn.client.map_processing.OptimizationFailureError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The anchoring optimization failed.

exception bosdyn.client.map_processing.InvalidGraphError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The graph is invalid topologically, for example containing missing waypoints referenced by edges.

exception bosdyn.client.map_processing.InvalidParamsError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The parameters passed to the optimizer do not make sense (e.g negative weights).

exception bosdyn.client.map_processing.MaxIterationsError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The optimizer reached the maximum number of iterations before converging.

exception bosdyn.client.map_processing.MaxTimeError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The optimizer timed out before converging.

exception bosdyn.client.map_processing.InvalidHintsError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

One or more of the hints passed in to the optimizer are invalid (do not correspond to real waypoints or objects).

exception bosdyn.client.map_processing.ConstraintViolationError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

One or more anchors were moved outside of the desired constraints.

exception bosdyn.client.map_processing.MapModifiedError(response, error_message=None)[source]

Bases: bosdyn.client.map_processing.MapProcessingServiceResponseError

The map was modified on the server by another client during processing. Please try again.

class bosdyn.client.map_processing.MapProcessingServiceClient[source]

Bases: bosdyn.client.common.BaseClient

Client for the GraphNav map processing service.

default_service_name = 'map-processing-service'
service_type = 'bosdyn.api.graph_nav.MapProcessingService'
process_topology(params, modify_map_on_server, **kwargs)[source]
Process the topology of the map on the server, closing loops and producing a

consistent topology.

Parameters
  • params – a ProcessTopologyRequest.Params object

  • modify_map_on_server – if true, the map will be modified on the server. If false,

  • subgraph returned by this function should be uploaded back to the server if it (the) –

  • to be reused. (is) –

Returns

The ProcessTopologyResponse containing new edges to add to the map.

Raises

RpcError – Problem communicating with the robot

process_anchoring(params, modify_anchoring_on_server, stream_intermediate_results, initial_hint=None, **kwargs)[source]

Process the anchoring of the map on the server, producing a metrically consistent anchoring.

Parameters
  • params – a ProcessAnchoringRequest.Params object

  • modify_anchoring_on_server – if true, the map will be modified on the server. If false,

  • anchoring returned by this function should be uploaded back to the server if it (the) –

  • to be reused. (is) –

  • stream_intermediate_results – if true, anchorings from earlier optimizer

  • may be included in the response. If false (iterations) –

  • the last iteration will be returned. (only) –

  • initial_hint – Initial guess at some number of waypoints and world objects and their anchorings.

  • field is an AnchoringHint object (This) –

Returns

The ProcessAnchoringResponse containing a new optimized anchoring.

Raises

RpcError – Problem communicating with the robot