Recording
For clients to use the graph nav recording service
- class bosdyn.client.recording.WaypointRegion(value)[source]
- Bases: - Enum- Helper enum to describe the localization region type for a waypoint. - DEFAULT_REGION = 1
 - EMPTY_REGION = 2
 - CIRCLE_REGION = 3
 
- Bases: - BaseClient- Client for the GraphNav recording service. - Start the recording service to create/update a map. - Parameters:
- lease – Leases to show ownership of necessary resources. Will use the client’s leases by default. 
- recording_environment – RecordingEnvironment protobuf to be used for the initial waypoint created at start. 
- require_fiducials – Boolean to show whether a fiducial is needed to start the recording. 
 
- Returns:
- The status of the start recording request. 
 
 - Same as start_recording() but returns a full response 
 - Async version of start_recording(). 
 - Async version of start_recording_full(). 
 - Stop the recording service. - Parameters:
- lease – Leases to show ownership of necessary resources. Will use the client’s leases by default. 
- Returns:
- The status of the start recording request. 
 
 - Async version of stop_recording(). 
 - Get the status of the recording service. - Returns:
- The record service status, which indicates the current persistent environment and if it’s recording a map. 
 
 - Async version of get_record_status(). 
 - Set the persistent recording environment. - Parameters:
- lease – Leases to show ownership of necessary resources. Will use the client’s leases by default. 
- recording_environment – RecordingEnvironment protobuf to be set as the persistent environment. 
 
- Returns:
- Nothing unless an error occurs. 
 
 - Async version of set_recording_environment(). 
 - Create a waypoint in the map at the current robot state. - Parameters:
- lease – Leases to show ownership of necessary resources. Will use the client’s leases by default. 
- waypoint_name – Human readable string for the waypoint name. 
- recording_environment – RecordingEnvironment protobuf to be used for the waypoint (will overwrite and merge with any persistent env). 
 
- Returns:
- The response, which includes the created waypoint and any associated edges created. 
 
 - Async version of create_waypoint(). 
 - Create an edge in the map between two existing waypoints. - Parameters:
- lease – Leases to show ownership of necessary resources. Will use the client’s leases by default. 
- edge – An edge protobuf, which must include valid from/to waypoint id’s and a from_T_to transform. 
 
- Returns:
- The response status. 
 
 - Async version of create_edge(). 
 - Construct a complete recording environment from the waypoint and edge environments. - Parameters:
- name – A string name prefix which will prefix waypoint names (human-readable). 
- waypoint_env – Waypoint.Annotations protobuf which includes information for the waypoint environment. 
- edge_env – Edge.Annotations protobuf which includes information for the edge environment. 
 
- Returns:
- The API RecordingEnvironment protobuf message. 
 
 - Create a waypoint environment. - Parameters:
- name – A string name for the waypoint (human-readable). 
- region – A WaypointRegion enum representing the region in which we are localizing in. This can be either a default region, an empty region (don’t localize to this waypoint), or a circular region. 
- dist_2d – If the region is circular, then this is set as a distance (meters) representing the number of meters away we can be from the waypoint before scan matching. 
- client_metadata – Info about the client which will be stored in the waypoints. 
 
- Returns:
- The API Waypoint.Annotations protobuf message. 
 
 - Creates client metadata for recording. - Parameters:
- session_name – User-provided name for this recording “session”. For example, the user may start and stop recording at various times and assign a name to a region that is being recorded. Usually, this will just be the map name. 
- client_username – If the application recording the map has a special user name, this is the name of that user. 
- client_software_version – Version string of any client software that generated this object. 
- client_id – Identifier of any client software that generated this object 
- client_type – Special tag for the client software which created this object. For example, “Tablet”, “Scout”, “Python SDK”, etc. 
 
 
 - Create an edge environment. - Parameters:
- vel_limit – A SE2VelocityLimit to use while traversing the edge. Note this is not a target speed, just a max/min. 
- direction_constraint – A direction constraints on the robot’s orientation when traversing the edge. 
- require_alignment – Boolean where if true, the robot must be aligned with the edge in yaw before traversing it. 
- ground_mu_hint – Terrain coefficient of friction user hint. Suggested values lie between [.4, .8]. 
- grated_floor – Boolean where if true, the edge crosses over grated metal. 
 
- Returns:
- The API Edge.Annotations protobuf message. 
 
 - Create an edge between two waypoint ids. - Parameters:
- from_waypoint_id – A waypoint string id for the from waypoint. 
- to_waypoint_id – A waypoint string id for the to waypoint. 
- from_tform_to – An SE3Pose representing the transform of from_waypoint to to_waypoint. 
- edge_environment – Any edge environment to be associated with the created edge. 
 
- Returns:
- The API Edge protobuf message. 
 
 
- exception bosdyn.client.recording.RecordingServiceResponseError(response, error_message=None)[source]
- Bases: - ResponseError- General class of errors for the GraphNav Recording Service. 
- exception bosdyn.client.recording.CouldNotCreateWaypointError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Service could not create a waypoint. 
- exception bosdyn.client.recording.NotRecordingError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The recording service has not been started. 
- exception bosdyn.client.recording.UnknownWaypointError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The edge requested has a waypoint id that is unknown. 
- exception bosdyn.client.recording.EdgeExistsError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The edge requested with the given ID already exists in the map. 
- exception bosdyn.client.recording.EdgeMissingTransformError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The edge requested is missing the from_T_to transform in the edge. 
- exception bosdyn.client.recording.NotLocalizedToEndError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Stop recording failed to localize to the last created waypoint. 
- exception bosdyn.client.recording.FollowingRouteError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Cannot start recording while the robot is already following a route. 
- exception bosdyn.client.recording.NotLocalizedToExistingMapError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The robot is not localized to the existing map and cannot start recording. 
- exception bosdyn.client.recording.TooFarFromExistingMapError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The robot is too far from the existing map and cannot start recording. 
- exception bosdyn.client.recording.RemoteCloudFailureNotInDirectoryError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Failed to start recording because a remote point cloud (e.g. a LIDAR) is not registered to the service directory. 
- exception bosdyn.client.recording.RemoteCloudFailureNoDataError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Failed to start recording because a remote point cloud (e.g. a LIDAR) is not delivering data. 
- exception bosdyn.client.recording.NotReadyYetError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The service is processing the map at its current position. Try again in 1-2 seconds. 
- exception bosdyn.client.recording.MapTooLargeLicenseError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- Map exceeds the size allowed by the license. 
- exception bosdyn.client.recording.MissingFiducialsError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- One or more required fiducials were not detected. 
- exception bosdyn.client.recording.FiducialPoseError(response, error_message=None)[source]
- Bases: - RecordingServiceResponseError- The pose of one or more required fiducials could not be determined accurately. 
- exception bosdyn.client.recording.RobotImpairedError(response, error_message)[source]
- Bases: - RecordingServiceResponseError- Failed to start recording because the robot is impaired.