package bosdyn.api.graph_nav

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service AreaCallbackService

area_callback_service.proto:14

service GraphNavRecordingService

recording_service.proto:29

The recording service can be used to record a Graph Nav map (containing waypoints and edges). The recorded map can consist of the following: * Chain: a topological arrangement of waypoints/edges where every waypoint has at least 1 but at most 2 edges attached to it. * Branch: separate Chains can be joined together into a Branch at exactly one waypoint. When recording a map using the recording service, a common pattern is: * Call StartRecording to begin recording a chain of waypoints. * Call SetRecordingEnvironment to define persistent annotations for the edges and waypoints. * While recording, call GetRecordStatus to get feedback on the state of the recording service. * While recording, call GetMapStatus to determine what waypoints have been created. * Optionally call CreateWaypoint to create waypoints in specific locations. * Call StopRecording to pause the recording service and create branches. * While recording (or after completing recording), call DownloadWaypoint/Edge Snapshot rpcs from the GraphNavService to download the large sensor data with the map.

service GraphNavService

graph_nav_service.proto:18

The GraphNav service service is a place-based localization and locomotion service. The service can be used to get/set the localization, upload and download the current graph nav maps, and send navigation requests to move around the map.

service MapProcessingService

map_processing_service.proto:16

Defines services for processing an existing GraphNav map.

message Anchor

map.proto:433

This associates a waypoint with a common reference frame, which is not necessarily metric.

Used in: Anchoring, ProcessAnchoringResponse, WaypointAnchorHint

message AnchorHintUncertainty

map_processing.proto:210

Controls how certain the user is of an anchor's pose. If left empty, a reasonable default will be chosen.

Used in: WaypointAnchorHint, WorldObjectAnchorHint

message AnchoredWorldObject

map.proto:442

This associates a world object with a common reference frame, which is not necessarily metric.

Used in: Anchoring, ProcessAnchoringResponse, WorldObjectAnchorHint

message Anchoring

map.proto:450

Used in: Graph

message AnchoringHint

map_processing.proto:282

The user may assign a number of world objects and waypoints a guess at where they are in the seed frame. These hints will be respected by the ProcessAnchoringRequest.

Used in: ProcessAnchoringRequest

enum AnnotationState

map.proto:32

Indicator of whether or not the waypoint and edge annotations are complete and filled out.

Used in: Edge.Annotations.StairData, Waypoint.Annotations.GPSSettings, Waypoint.Annotations.LocalizeRegion

message AreaCallbackData

area_callback_data.proto:20

Data for a AreaCallback to be stored in the map

Used in: AreaCallbackRegion, BeginCallbackRequest, EdgeSnapshot

message AreaCallbackError

area_callback.proto:23

Error reporting for things that can go wrong with calls.

Used in: NavigationFeedbackResponse

enum AreaCallbackError.CallError

area_callback.proto:26

Used in: AreaCallbackError

message AreaCallbackInformation

area_callback.proto:85

Specific information about how a AreaCallback implementation should be called. All fields are optional, and need only be filled out if the desired behavior is different from the default.

Used in: AreaCallbackInformationResponse

enum AreaCallbackInformation.Blockage

area_callback.proto:96

Specify what graph nav should expect to detect for blockages in this region. For example, if the callback can open doors, the region may initially look blocked due to a closed door, but Graph Nav should still expect it to be traversable.

Used in: AreaCallbackInformation

enum AreaCallbackInformation.EntityWaiting

area_callback.proto:126

Control whether Graph Nav will stop and wait for nearby entities when crossing the region. Entity waiting is normally on for regular Graph Nav, but is by default turned off inside Area callback regions.

Used in: AreaCallbackInformation

enum AreaCallbackInformation.Impairment

area_callback.proto:113

Specify whether graph nav should check for impairment when the callback is in control of the robot. Certain failures may make Graph Nav unable to navigate, but may not affect the callback. If the callback is in control of the robot, it may be preferable to let it finish and return control to Graph Nav before reporting any impaired error instead of interrupting the callback.

Used in: AreaCallbackInformation

message AreaCallbackMapConfig

area_callback_data.proto:16

Configuration data for how an area callback should be treated in a map.

Used in: AreaCallbackData, AreaCallbackInformation

(message has no fields)

message AreaCallbackRegion

map.proto:460

Data for a AreaCallback in the annotation.

Used in: Edge.Annotations

message AreaCallbackServiceError

graph_nav.proto:1438

Information about problems Area Callback services specified in a map or on a route.

Used in: NavigateRouteResponse, NavigateToAnchorResponse, NavigateToResponse, UploadGraphResponse, ValidateGraphResponse

message BeginCallbackResponse

area_callback.proto:191

Used as response type in: AreaCallbackService.BeginCallback

Used as field type in: AreaCallbackError

enum BeginCallbackResponse.Status

area_callback.proto:195

Used in: BeginCallbackResponse

message BeginControlResponse

area_callback.proto:237

Used as response type in: AreaCallbackService.BeginControl

Used as field type in: AreaCallbackError

enum BeginControlResponse.Status

area_callback.proto:244

Used in: BeginControlResponse

enum ClearGraphResponse.Status

graph_nav.proto:1107

Used in: ClearGraphResponse

message ClientMetadata

map.proto:164

Optional metadata to attach to waypoints that are being recorded.

Used in: Waypoint.Annotations

message CompletedRoute

nav.proto:29

Information about the route that a robot has followed during a command.

Used in: NavigationFeedbackResponse

message CompletedRoute.CompletedEdge

nav.proto:33

Used in: CompletedRoute

enum CreateEdgeResponse.Status

recording.proto:288

Used in: CreateEdgeResponse

enum CreateWaypointResponse.Status

recording.proto:226

Used in: CreateWaypointResponse

message DirectionWithCovariance

visual_features.proto:88

A 3D direction with a covariance estimate.

Used in: VisualLandmark

enum DownloadEdgeSnapshotResponse.Status

graph_nav.proto:1420

Used in: DownloadEdgeSnapshotResponse

message DownloadGraphRequest

graph_nav.proto:1267

The DownloadGraphRequest requests that the server send the graph (waypoints and edges) to the client. Note that the returned Graph message contains only the topological structure of the map, and not any large sensor data. Large sensor data should be downloaded using DownloadWaypointSnapshotRequest and DownloadEdgeSnapshotRequest. Both snapshots and the graph are required to exist on the server for GraphNav to localize and navigate.

Used as request type in: GraphNavService.DownloadGraph, GraphNavService.DownloadGraphStreaming

enum DownloadWaypointSnapshotResponse.Status

graph_nav.proto:1388

Used in: DownloadWaypointSnapshotResponse

message Edge

map.proto:237

A base element of the graph nav map. Edges consist of a directed edge from one waypoint to another and a transform that estimates the relationship in 3D space between the two waypoints.

Used in: CreateEdgeRequest, CreateEdgeResponse, CreateWaypointResponse, Graph

message Edge.Annotations

map.proto:277

Annotations understood by BostonDynamics systems.

Used in: Edge, RecordingEnvironment

enum Edge.Annotations.DirectionConstraint

map.proto:319

Used in: Annotations

enum Edge.Annotations.GroundClutterAvoidanceMode

map.proto:391

Ground clutter avoidance mode. This enables detection and avoidance of low obstacles.

Used in: Annotations, TravelParams, mission.PlaySettings

enum Edge.Annotations.PathFollowingMode

map.proto:366

Path following mode

Used in: Annotations, NavigationFeedbackResponse, TravelParams, mission.PlaySettings

message Edge.Annotations.StairData

map.proto:279

Defines any parameters of the stairs

Used in: Annotations

enum Edge.Annotations.StairData.DescentPreference

map.proto:290

Used in: StairData

enum Edge.EdgeSource

map.proto:258

Used in: Annotations

message Edge.Id

map.proto:241

An edge is uniquely identified by the waypoints it connects. Two waypoints will only ever be connected by a single edge. That edge is traversable in either direction.

Used in: CompletedRoute.CompletedEdge, Edge, NavigateRouteResponse, ProcessAnchoringResponse, Route, UploadGraphResponse.ValidationStatus

message EdgeSnapshot

map.proto:408

Relevant data collected along the edge. May be used for automatically generating annotations, for example.

message EdgeSnapshot.Stance

map.proto:413

Used in: EdgeSnapshot

message EndCallbackResponse

area_callback.proto:398

Used as response type in: AreaCallbackService.EndCallback

Used as field type in: AreaCallbackError

enum EndCallbackResponse.Status

area_callback.proto:402

Used in: EndCallbackResponse

message GPSLocalization

gps.proto:15

Info about GPS localization if the robot has this capability.

Used in: GetLocalizationStateResponse

enum GPSLocalization.State

gps.proto:16

Used in: GPSLocalization

message GPSNavigationParams

graph_nav.proto:625

Parameters controlling how the robot will navigate to a GPS coordinate.

Used in: NavigateToAnchorRequest

message GenericDescriptor

visual_features.proto:18

Generic sparse visual descriptor with a byte blob and a descriptor name.

Used in: VisualDescriptor

enum GetRecordStatusResponse.MapState

recording.proto:328

Used in: GetRecordStatusResponse

enum GetRecordStatusResponse.Status

recording.proto:336

Used in: GetRecordStatusResponse

message Graph

map.proto:476

This is an arbitrary collection of waypoints and edges. The edges and waypoints are not required to be connected. A waypoint may belong to multiple graphs. This message is used to pass around information about a graph's topology, and is used to serialize map topology to and from files. Note that the graph does not contain any of the waypoint/edge data (which is found in snapshots). Snapshots are stored separately.

Used in: DownloadGraphResponse, ProcessTopologyResponse, UploadGraphRequest

message LandmarkObservationIndex

visual_features.proto:110

Indexes an observation of a landmark at a particular bundle, keyframe and keypoint. Waypoint snapshots have bundles of keyframes, each keyframe has a number of extracted keypoints. Observations are structured as: bundle_0 ... bundle_1 .... keyframe_0 .... keyframe_1 ........ keypoint_0 ........ keypoint_1 ........ ... ........ keypoint_J .... ... .... keyframe_K ... bundle_N

Used in: VisualLandmark

message Localization

nav.proto:47

The localization state of the robot. This reports the pose of the robot relative to a particular waypoint on the graph nav map.

Used in: GetLocalizationStateResponse, LostDetectorState, SetLocalizationRequest, SetLocalizationResponse

message LostDetectorState

graph_nav.proto:1012

Message describing whether or not graph nav is lost, and if it is lost, how lost it is. If robot is lost, this state can be reset by either: * Driving to an area where the robot's localization improves. * Calling SetLocalization RPC.

Used in: GetLocalizationStateResponse

message LostDetectorState.Params

graph_nav.proto:1044

Parameters for the lost detector which control when it determines that we are lost. In general, when we start seeing "bad" localizations, (based on sensor data and map data agreement) we start counting the amount of time and distance the robot has traveled before we see a "good" localization. If this distance exceeds a threshold, we then start counting the number of edges that the robot has crossed with a "bad" localization. Once a number of edges crosses a threshold, we then declare the robot lost. Note that these thresholds are hierarchical; so we first start counting time, then distance, then number of edges.

Used in: LostDetectorState

enum LostDetectorStrictness

lost_detection.proto:12

Determines how "strict" the lost detector is about declaring lost.

Used in: LostDetectorState.Params, TravelParams, Waypoint.Annotations

message MapStats

map.proto:488

General statistics on the map that is loaded into GraphNav on the robot, including information on the graph topology and snapshot data.

Used in: CreateEdgeResponse, CreateWaypointResponse, GetRecordStatusResponse, StartRecordingResponse, StopRecordingResponse, UploadEdgeSnapshotResponse, UploadGraphResponse, UploadWaypointSnapshotResponse

message MapStats.Stat

map.proto:490

Statistics from a particular type of object stored in the GraphNav map.

Used in: MapStats

message ModifyNavigationResponse

graph_nav.proto:311

enum ModifyNavigationResponse.Status

graph_nav.proto:316

Used in: ModifyNavigationResponse

graph_nav.proto:552

Used in: NavigateRouteResponse

graph_nav.proto:774

The result of the GPS command, if relevant.

Used in: NavigateToAnchorResponse

graph_nav.proto:704

Used in: NavigateToAnchorResponse

graph_nav.proto:377

Used in: NavigateToResponse

graph_nav.proto:886

Data for a Area Callback region

Used in: NavigationFeedbackResponse

graph_nav.proto:894

Used in: ActiveRegionInformation

graph_nav.proto:930

Indicates whether the robot thinks its current path is blocked by an obstacle. This will be set when Status is STATUS_FOLLOWING_ROUTE, or STATUS_STUCK, and will be BLOCKAGE_STATUS_UNKNOWN in all other cases.

Used in: NavigationFeedbackResponse

graph_nav.proto:908

When the robot is following a route (and Status is STATUS_FOLLOWING_ROUTE), this gives additional detail about what the robot is doing to follow that route. When Status is not STATUS_FOLLOWING_ROUTE, this will be set to ROUTE_FOLLOWING_STATUS_UNKNOWN.

Used in: NavigationFeedbackResponse

graph_nav.proto:810

Used in: NavigationFeedbackResponse

graph_nav.proto:948

If status is STATUS_STUCK, this enum provides reasons differentiating various cases that can cause the robot to re

Used in: NavigationFeedbackResponse

message PoseBounds

map_processing.proto:197

Represents an interval in x, y, z and yaw around some center. Some value x will be within the bounds if center - x_bounds <= x >= center + x_bounds. If the values are left at zero, the bounds are considered to be unconstrained. The center of the bounds is left implicit, and should be whatever this message is packaged with.

Used in: AnchorHintUncertainty, WaypointAnchorHint, WorldObjectAnchorHint

message PositionWithCovariance

visual_features.proto:80

A 3D position with a covariance estimate.

Used in: VisualLandmark

message ProcessAnchoringRequest.Params

map_processing.proto:295

Parameters for processing an anchoring.

Used in: ProcessAnchoringRequest

message ProcessAnchoringRequest.Params.MeasurementParams

map_processing.proto:304

Parameters which affect the measurements the optimizer uses to process the anchoring.

Used in: Params

message ProcessAnchoringRequest.Params.OptimizerParams

map_processing.proto:297

Parameters affecting the underlying optimizer.

Used in: Params

message ProcessAnchoringRequest.Params.Weights

map_processing.proto:327

Relative weights to use for each of the optimizer's terms. These can be any positive value. If set to zero, a reasonable default will be used. In general, the higher the weight, the more the optimizer will care about that particular measurement.

Used in: Params

message ProcessAnchoringResponse.GPSResult

map_processing.proto:439

Used in: ProcessAnchoringResponse

enum ProcessAnchoringResponse.GPSResult.GPSStatus

map_processing.proto:441

Status of the GPS embedding optimization.

Used in: GPSResult

enum ProcessAnchoringResponse.Status

map_processing.proto:376

Used in: ProcessAnchoringResponse

message ProcessTopologyRequest.CollisionCheckingParams

map_processing.proto:101

Parameters for how to check for collisions when creating loop closures. The system will avoid creating edges in the map that the robot cannot actually traverse due to the presence of nearby obstacles.

Used in: Params

message ProcessTopologyRequest.FeatureMatchingParams

map_processing.proto:36

Parameters to control point cloud sparse feature matching.

Used in: Params

message ProcessTopologyRequest.FiducialLoopClosureParams

map_processing.proto:77

Parameters for how to close a loop using fiducials (AprilTags). This infers which waypoints should be connected to one another based on shared observations of AprilTags. Note that multiple disconnected subgraphs (for example from multiple recording sessions) can be merged this way.

Used in: Params

message ProcessTopologyRequest.ICPParams

map_processing.proto:28

Parameters for how to refine loop closure edges using iterative closest point matching. If both ICP and Feature matching are used, feature matching will be performed first for a coarse alignment, followed by ICP for a local refinement.

Used in: Params

message ProcessTopologyRequest.OdometryLoopClosureParams

map_processing.proto:44

Parameters for how to close loops using odometry. This infers which waypoints should be connected to one another based on the odometry measurements in the map.

Used in: Params

message ProcessTopologyRequest.Params

map_processing.proto:115

Parameters which control topology processing. In general, anything which isn't filled out will be replaced by reasonable defaults.

Used in: ProcessTopologyRequest

enum ProcessTopologyResponse.Status

map_processing.proto:156

Used in: ProcessTopologyResponse

message RecordingEnvironment

recording.proto:25

The RecordingEnvironment is a set of annotation information and a name for the current environment that will persist for all edges and waypoints until it is changed or updated

Used in: CreateWaypointRequest, GetRecordStatusResponse, SetRecordingEnvironmentRequest, StartRecordingRequest

message Region

map.proto:526

Defines a region in a map. Regions are shapes, commonly they are boxes. Many waypoints may share the same regions. Regions do not need to cover the waypoint itself. A common use for such regions is to define certain parts of the point cloud as being unreliable for localization. Note that this is a different concept than the LocalizeRegion, which is used to determine where the robot's body must be relative to the waypoint for it to localize -- the RegionWithFrame instead can be used to label data near the waypoint. *Regions and Reference Frames* -- regions are stored inside waypoint annotations as "RegionWithFrames". These consist of a region and a named reference frame relative to the waypoint (such as "odom" or "seed", or "waypoint" etc).

Used in: RegionWithFrame

enum Region.DataFilter

map.proto:550

Defines how scan match data is filtered near this waypoint. Data filters are logical set operators expressed on sets of data near the waypoint. Notes on interactions: If there are multiple regions marked as INCLUDE_ONLY, data that falls within any of these regions will be used, that is the operation of many DATA_FILTER_INCLUDE_ONLY regions is a logical set union. Conversely, DATA_FILTER_IGNORE operators override DATA_FILTER_INCLUDE_ONLY. For example, if there are 3 regions, A, B and C; and region A is marked as INCLUDE_ONLY, B is marked as INCLUDE_ONLY, and C is marked as IGNORE, the data that will be used for scan matching is: (A _u_ B) ~ C (that is, union(A, B) excluding C).

Used in: Region

message RegionInformation

area_callback.proto:152

Description of an Area Callback region at the time of crossing

Used in: BeginCallbackRequest

message RegionWithFrame

map.proto:562

Defines a region and a transform near a specific waypoint. Regions will only be used if they are attached to waypoint annotations. Regions may be duplicated over many waypoints.

Used in: Waypoint.Annotations

message RemotePointCloudStatus

graph_nav.proto:997

Message describing the state of a remote point cloud service (such as a velodyne).

Used in: GetLocalizationStateResponse

message Route

nav.proto:20

Route that the robot should follow or is currently following.

Used in: autowalk.Target.NavigateRoute, NavigateRouteRequest, NavigationFeedbackResponse, RegionInformation, RouteChangeRequest, mission.BosdynNavigateRoute

enum RouteChangeResponse.Status

area_callback.proto:445

Used in: RouteChangeResponse

message RouteFollowingParams

graph_nav.proto:439

These parameters are specific to how the robot follows a specified route in NavigateRoute.

For each enum in this message, if UNKNOWN is passed in, we default to one of the values (indicated in the comments). Passing UNKNOWN is not considered a programming error.

Used in: NavigateRouteRequest, mission.BosdynNavigateRoute

enum RouteFollowingParams.ResumeBehavior

graph_nav.proto:466

This setting applies when a NavigateRoute command is issued with the same route and final-waypoint-offset. It is not necessary that command_id indicate the same command. The expected waypoint is the last waypoint that GraphNav was autonomously navigating to.

Used in: RouteFollowingParams

enum RouteFollowingParams.RouteBlockedBehavior

graph_nav.proto:479

This setting applies when the robot discovers that the route is blocked.

Used in: NavigateToRequest, RouteFollowingParams, mission.BosdynNavigateTo

enum RouteFollowingParams.StartRouteBehavior

graph_nav.proto:445

This setting applies when a new NavigateRoute command is issued (different route or final-waypoint-offset), and command_id indicates a new command.

Used in: RouteFollowingParams

message RouteGenParams

graph_nav.proto:222

Used in: NavigateToAnchorRequest, NavigateToRequest, mission.BosdynNavigateTo

(message has no fields)

message SensorCompatibilityStatus

graph_nav.proto:112

Info on whether the robot's current sensor setup is compatible with the recorded data in the map.

Used in: SetLocalizationResponse, UploadGraphResponse, UploadWaypointSnapshotResponse, ValidateGraphResponse

message SetLocalizationRequest

graph_nav.proto:46

The SetLocalization request is used to initialize or reset the localization of GraphNav to a map. A localization consists of a waypoint ID, and a pose of the robot relative to that waypoint. GraphNav uses the localization to decide how to navigate through a map. The SetLocalizationRequest contains parameters to help find a correct localization. For example, AprilTags (fiducials) may be used to set the localization, or the caller can provide an explicit guess of the localization. Once the SetLocalizationRequest completes, the current localization to the map will be modified, and can be retrieved using a GetLocalizationStateRequest.

Used as request type in: GraphNavService.SetLocalization

Used as field type in: autowalk.Target.Relocalize, mission.BosdynGraphNavLocalize

enum SetLocalizationRequest.FiducialInit

graph_nav.proto:72

Used in: SetLocalizationRequest

enum SetLocalizationResponse.QualityCheckResult

graph_nav.proto:194

Used in: SetLocalizationResponse

enum SetLocalizationResponse.Status

graph_nav.proto:127

Used in: SetLocalizationResponse

message SetLocalizationResponse.SuspectedAmbiguity

graph_nav.proto:177

Used in: SetLocalizationResponse

enum StartRecordingResponse.Status

recording.proto:91

Used in: StartRecordingResponse

message StopConfiguration

area_callback.proto:50

Information about how the robot should behave when stopping at a location.

Used in: AreaCallbackInformation, UpdateCallbackResponse.NavPolicy

enum StopConfiguration.FaceDirection

area_callback.proto:52

What direction robot should face.

Used in: StopConfiguration

enum StopRecordingResponse.Status

recording.proto:165

Used in: StopRecordingResponse

message TravelParams

graph_nav.proto:227

Parameters describing how to travel along a route.

Used in: autowalk.Target.NavigateRoute, autowalk.Target.NavigateTo, NavigateRouteRequest, NavigateToAnchorRequest, NavigateToRequest, mission.BosdynNavigateRoute, mission.BosdynNavigateTo

enum TravelParams.FeatureQualityTolerance

graph_nav.proto:257

Indicates whether robot will navigate through areas with poor quality features

Used in: TravelParams

enum TravelParams.PathPlannerMode

graph_nav.proto:292

Determines which local path planner to use.

Used in: TravelParams, mission.PlaySettings

enum UpdateCallbackRequest.Stage

area_callback.proto:275

Used in: UpdateCallbackRequest

message UpdateCallbackResponse

area_callback.proto:285

Used as response type in: AreaCallbackService.UpdateCallback

Used as field type in: AreaCallbackError

message UpdateCallbackResponse.Complete

area_callback.proto:384

Used in: UpdateCallbackResponse

(message has no fields)

message UpdateCallbackResponse.Error

area_callback.proto:360

Used in: UpdateCallbackResponse

enum UpdateCallbackResponse.Error.ErrorType

area_callback.proto:361

Used in: Error

message UpdateCallbackResponse.NavPolicy

area_callback.proto:340

Used in: UpdateCallbackResponse

enum UpdateCallbackResponse.NavPolicy.Option

area_callback.proto:341

Used in: NavPolicy

enum UpdateCallbackResponse.Status

area_callback.proto:289

Used in: UpdateCallbackResponse

message UpdateCallbackResponse.UpdateLocalization

area_callback.proto:328

Used in: UpdateCallbackResponse

enum UpdateCallbackResponse.UpdateLocalization.LocalizationChange

area_callback.proto:329

Used in: UpdateLocalization

message UploadGraphResponse

graph_nav.proto:1156

Response to the UploadGraphRequest. After uploading a graph, the user is expected to upload large data at waypoints and edges (called snapshots). The response provides a list of snapshot IDs which are not yet cached on the server. Snapshots with these IDs should be uploaded by the client.

Used as response type in: GraphNavService.UploadGraph, GraphNavService.UploadGraphStreaming

enum UploadGraphResponse.Status

graph_nav.proto:1159

Used in: UploadGraphResponse

message UploadGraphResponse.ValidationStatus

graph_nav.proto:1196

Detailed information about why STATUS_INVALID_GRAPH was returned. This will only contain information if the UploadGraph request could not be validated.

Used in: UploadGraphResponse

enum UploadWaypointSnapshotResponse.Status

graph_nav.proto:1316

Used in: UploadWaypointSnapshotResponse

enum ValidateGraphResponse.Status

graph_nav.proto:1457

Used in: ValidateGraphResponse

message VisualDescriptor

visual_features.proto:25

Represents a visual descriptor of a feature, usually a sparse visual feature.

Used in: VisualKeypoint, VisualLandmark

message VisualKeyFrame

visual_features.proto:55

Represents a set of visual features collected at a particular time from a particular camera source. Associates an image geometry + pixel data with visual features extracted there.

Used in: VisualKeyFrameBundle

message VisualKeyFrameBundle

visual_features.proto:69

Represents a bundle of visual KeyFrames taken around the same time. For example, if the robot has many cameras, this represents all of the cameras captured at around the same time/location.

message VisualKeypoint

visual_features.proto:35

Represents a 2d (pixel-based) detection of a feature in an image.

Used in: VisualKeyFrame

message VisualLandmark

visual_features.proto:123

Represents a 3D landmark that has some visual descriptor attached to it.

Used in: VisualLandmarks

message VisualLandmarks

visual_features.proto:146

A group of 3D landmarks. These landmarks may be associated with a single waypoint, or with groups of waypoints.

message VisualRefinementOptions

graph_nav.proto:33

Used in: SetLocalizationRequest

message Waypoint

map.proto:43

A base element of the graph nav map. A waypoint consists of a reference frame, a name, a unique ID, annotations, and sensor data.

Used in: CreateWaypointResponse, Graph, StartRecordingResponse

message Waypoint.Annotations

map.proto:65

Annotations understood by BostonDynamics systems.

Used in: RecordingEnvironment, Waypoint

message Waypoint.Annotations.GPSSettings

map.proto:136

Waypoints can optionally define where they are in an Earth-Centered-Earth-Fixed (ECEF) frame, which can aid in localization.

Used in: Annotations

message Waypoint.Annotations.LocalizeRegion

map.proto:76

Used in: Annotations

message Waypoint.Annotations.LocalizeRegion.Circle2D

map.proto:92

Indicates the number of meters away we can be from this waypoint we can be before scan matching. - If zero, the default value is used. - If less than zero, no scan matching will be performed at this waypoint. - If greater than zero, scan matching will only be performed if the robot is at most this far away from the waypoint. Distance calculation is done in the 2d plane with respect to the waypoint.

Used in: LocalizeRegion

message Waypoint.Annotations.LocalizeRegion.Default

map.proto:81

Use the default region to localize in.

Used in: LocalizeRegion

(message has no fields)

message Waypoint.Annotations.LocalizeRegion.Empty

map.proto:83

Do not localize to this waypoint.

Used in: LocalizeRegion

(message has no fields)

message Waypoint.Annotations.LoopClosureSettings

map.proto:115

Used in: Annotations

enum Waypoint.WaypointSource

map.proto:54

Used in: Annotations

message WaypointAnchorHint

map_processing.proto:235

Waypoints may be anchored to a particular seed frame. The user may request that a waypoint be anchored in a particular place with some Gaussian uncertainty. Note on gravity alignment: optimization is sensitive to bad alignment with respect to gravity. By default, the orientation of the seed frame assumes gravity is pointing in the negative z direction. Take care to ensure that the orientation of the waypoint is correct with respect to gravity. By convention, waypoints' orientation is defined as: Z up, X forward, Y left. So, if the robot is flat on the ground, the waypoint's z axis should align with the seed frame's z axis. z z ^ ^ | | | | | | +------>x | Waypoint Seed

Used in: AnchoringHint, ProcessAnchoringResponse

message WaypointSnapshot

map.proto:184

Relevant data collected at the waypoint. May be used for localization or automatically generating annotations, for example. Should be indexed by a waypoint's "snapshot_id" field.

Used in: GetLocalizationStateResponse

message WorldObjectAnchorHint

map_processing.proto:266

World objects (such as fiducials) may be anchored to a particular seed frame. The user may request that an object be anchored in a particular place with some Gaussian uncertainty. Note on gravity alignment: optimization is sensitive to bad alignment with respect to gravity. By default, the orientation of the seed frame assumes gravity is pointing in the negative z direction. Take care to ensure that the orientation of the world object is correct with respect to gravity. By convention, fiducials' orientation is defined as: Z out of the page, X up and Y left (when looking at the fiducial). So, if a fiducial is mounted perfectly flat against a wall, its orientation w.r.t the seed frame would have the top of the fiducial facing positive Z. +-----------+ z | ^x | ^ | | | | | | | | | <----+ | | | y | Seed | | +-----------+ Fiducial (on wall)

Used in: AnchoringHint, ProcessAnchoringResponse