Service: Data Source
| This API is officially released and maintained. |
The data source service allows getting, configuring and receiving updates of the data source used for processing pipelines. The data source configuration specifies where to retrieve the point cloud data for further processing.
| Method | Request | Response |
|---|---|---|
DataSourceWatchResponseStream |
||
Get
Set
Watch
Register
Refines the poses of a set of lidars against each other and levels the fused ground plane on z = 0.
The point clouds are fetched from the lidars themselves, so only their definitions travel with the request. The refined poses are returned and not stored: applying them is a separate decision, because anything already placed in the map frame moves with it.
Request
Request for refining a set of lidar poses
| Field | Type | Default | Unit |
|---|---|---|---|
lidars |
repeated config.DataSource.Qb2 |
- |
- |
The lidars to register against each other, with the poses to start from. They do not have to be the configured ones, so a setup can be registered while it is being put together. |
|||
Response
The refined lidar poses and how well they came out
| Field | Type | Default | Unit |
|---|---|---|---|
lidars |
repeated Lidar |
- |
- |
One entry per requested lidar, in the order they were given |
|||
tilt_deg |
float |
- |
deg |
Angle between the fused ground plane and the map z-axis once the poses above are applied |
|||
floor_height_spread |
float |
- |
m |
Spread between the individual lidars' estimates of the floor height. It measures how far a residual tilt lifts each lidar’s own patch of floor, not how well the lidars agree with each other. |
|||
map_correction |
- |
- |
|
The rigid correction the levelling applied to the map frame. Everything persisted in that frame, zones in particular, is expressed in the old one and has to be corrected with it to stay where it was. |
|||
Lidar
Result for a single lidar of the configuration
| Field | Type | Default | Unit |
|---|---|---|---|
serial_number |
string |
- |
- |
Identifies which of the requested lidars this is |
|||
map_from_lidar |
- |
- |
|
The refined pose, to be stored on the lidar it belongs to |
|||
agreement |
float |
- |
- |
Fraction of this lidar’s points that find a counterpart in the fused cloud of the others. It measures the extrinsic calibration between the sensors, which levelling cannot improve. |
|||
Align
Estimates the pose that puts a single lidar’s point cloud on the ground plane.
The frame and the accelerometer reading are fetched from the lidar, so a lidar that is not part of the configuration yet can be aligned while it is being added.
Request
Request for estimating the ground alignment of a single lidar
| Field | Type | Default | Unit |
|---|---|---|---|
lidar |
- |
- |
|
The lidar to align. It does not have to be a configured one, so a lidar can be aligned while it is being added. |
|||
strategy |
optional Strategy |
- |
- |
How to estimate the ground plane |
|||
Strategy
How to estimate the ground plane
| Name | Value | Description |
|---|---|---|
STRATEGY_UNSPECIFIED |
0 |
Unspecified. Behaves like STRATEGY_AUTO. |
STRATEGY_AUTO |
1 |
Uses the plane segmentation when it agrees with the measured gravity, and the accelerometer otherwise. |
STRATEGY_PLANE_SEGMENTATION |
2 |
Uses the orientation and translation computed from the plane segmentation. |
STRATEGY_ACCELEROMETER |
3 |
Uses the orientation from the accelerometer. |