Schemas / I/O
rig.sensor.lidar
v1.0.0 · stable maturity: draft 11 fields 0 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
pattern |
enumspin · solid-state · flash | optional | Optional. spin, solid-state, flash. Absent = spin |
channels |
integer1 – * | optional | Optional. Vertical samples. Absent = host default |
columns |
integer1 – * | optional | Optional. Horizontal samples per revolution (spin) or per frame. Absent = host default |
fovXDegrees |
number0 – 360 | optional | Optional. Horizontal field, 0-360, centered on forward. Absent = 360 when pattern is spin, otherwise the host default |
fovYDegrees |
number0 – 180 | optional | Optional. Vertical field, 0-180. Absent = host default |
fovYCenterDegrees |
float | optional | Optional. Vertical center, degrees above the local horizontal. Absent = 0 |
rangeMin |
number0 – * | optional | Optional. Nearest return, scene units. Absent = 0 |
rangeMax |
number> 0 | optional | Optional. Farthest return, scene units. Absent = host default |
rateHz |
number> 0 | optional | Optional. Revolutions per second when spin, frames per second otherwise. Absent = host default |
returns |
integer1 – * | optional | Optional. Echoes kept per ray. Absent = 1 |
device |
entity | optional | Optional board / network entity; absent = local |
Lidar scan pattern. Format when present. Pose is rig.spatial.transform.
Yaw is about local +Y. Forward is local −Z, the same axis as a camera. rangeMax is greater than rangeMin when both are set. A host that sees otherwise skips the sensor.
The point cloud, per-channel elevation table, and the echo samples stay in the host. returns is how many to keep, not the samples. A ROS 2 node entity is a valid device - docs/ros.md.
JSON Schema
Resolves at https://rig.works/schemas/rig.sensor.lidar.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.sensor.lidar.schema.json",
"title": "rig.sensor.lidar",
"type": "object",
"additionalProperties": false,
"properties": {
"pattern": {
"type": "string",
"enum": [
"spin",
"solid-state",
"flash"
]
},
"channels": {
"type": "integer",
"minimum": 1
},
"columns": {
"type": "integer",
"minimum": 1
},
"fovXDegrees": {
"type": "number",
"minimum": 0,
"maximum": 360
},
"fovYDegrees": {
"type": "number",
"minimum": 0,
"maximum": 180
},
"fovYCenterDegrees": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"rangeMin": {
"type": "number",
"minimum": 0
},
"rangeMax": {
"type": "number",
"exclusiveMinimum": 0
},
"rateHz": {
"type": "number",
"exclusiveMinimum": 0
},
"returns": {
"type": "integer",
"minimum": 1
},
"device": {
"$ref": "./_defs.schema.json#/$defs/entity"
}
},
"x-rig-maturity": "draft"
}