roverd.types
¶
Data Type Library.
Types are generic dataclasses
Following the recommendations of the abstract dataloader, each type is a generic dataclass of arrays.
This means that each type can be specified with a particular array implementation, e.g.,
or left without any specific annotation to implicitly allow any backend to be used, i.e., Finally, callables accepting these types can be annotated using a type variable to designate that the callable preserves the array type:Each type in this library is a dataclass of arrays:
- Each entry has a leading
batchaxis, which is usually1when loading single samples. Some entries are annotated with#batchto indicate that broadcasting is allowed on this axis, e.g., all samples in the same batch having the samerange_resolution. - Each entry has a second
taxis, which indicates the time dimension for sequences of frames. If only single frames are loaded, this is just1.
roverd.types.CameraData
¶
Video data.
Named Axes
height: image height.width: image width.
Attributes:
| Name | Type | Description |
|---|---|---|
image |
UInt8[TArray, 'batch t height width 3']
|
raw image data in HWC format. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.CameraSemseg
¶
Camera-based semantic segmentation.
Named Axes
height: image height.width: image width.
Attributes:
| Name | Type | Description |
|---|---|---|
semseg |
UInt8[TArray, 'batch t height width']
|
segmentation classes. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.Depth
¶
Generic raw depth data.
Named Axes
beam: lidar beam.time: index within each frame where the range measurements are taken.
Attributes:
| Name | Type | Description |
|---|---|---|
rng |
UInt16[TArray, 'batch t beam time']
|
raw range measurements in beam-time space; nominally in mm. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.IMUData
¶
IMU data.
Attributes:
| Name | Type | Description |
|---|---|---|
acc |
Float32[TArray, 'batch t 3']
|
linear acceleration, in m/s^2. |
rot |
Float32[TArray, 'batch t 3']
|
orientation (as euler angles). |
avel |
Float32[TArray, 'batch t 3']
|
angular velocity. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each measurement; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.OSData
¶
Depth and IR intensity data from an Ouster OSX sensor.
Named Axes
beam: lidar beam.time: index within each frame where the range measurements are taken.
Warning
The measurements are recorded in time space, so are "staggered," and must be destaggered. See the ouster-sdk for details.
Attributes:
| Name | Type | Description |
|---|---|---|
rng |
UInt16[TArray, 'batch t beam time']
|
raw range measurements in beam-time space; nominally in mm. |
rfl |
UInt8[TArray, 'batch t beam time']
|
reflectivity measurements (in NIR) for each beam (0-255). |
nir |
UInt16[TArray, 'batch t beam time']
|
near-infrared ambient photos. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
intrinsics |
str
|
path to intrinsics file used by the Ouster SDK. |
Source code in format/src/roverd/types.py
roverd.types.OSDepth
¶
Lidar raw depth data from an Ouster OSX sensor.
Warning
The measurements are recorded in time space, so are "staggered," and must be destaggered. See the ouster-sdk for details.
Attributes:
| Name | Type | Description |
|---|---|---|
rng |
UInt16[TArray, 'batch t beam time']
|
raw range measurements in beam-time space; nominally in mm. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
intrinsics |
str
|
path to intrinsics file used by the Ouster SDK. |
Source code in format/src/roverd/types.py
roverd.types.PointCloud
¶
Generic point cloud data.
Named Axes
n: points within the point cloud.
Attributes:
| Name | Type | Description |
|---|---|---|
xyz |
Float32[TArray, 'batch t n 3']
|
point cloud coordinates, nominally in meters; zero-padded to the same number of points per frame. |
length |
Integer[TArray, '#batch #t']
|
number of points in each point cloud. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.Pose
¶
Pose data.
Attributes:
| Name | Type | Description |
|---|---|---|
pos |
Float32[TArray, 'batch t 3']
|
position, in meters (front-left-up coordinate convention). |
vel |
Float32[TArray, 'batch t 3']
|
velocity, in meters/second. |
acc |
Float32[TArray, 'batch t 3']
|
acceleration, in meters/second^2. |
rot |
Float32[TArray, 'batch t 3 3']
|
rotation (as matrix). |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each measurement; nominally in seconds. |
Source code in format/src/roverd/types.py
roverd.types.XWR4DSpectrum
¶
4D radar spectrum data.
Named Axes
doppler: doppler bins.elevation: elevation angle bins.azimuth: azimuth angle bins.range: range bins.
Attributes:
| Name | Type | Description |
|---|---|---|
spectrum |
Complex64[TArray, 'batch t doppler elevation azimuth range']
|
4D complex spectrum in doppler-elevation-azimuth-range order. |
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
range_resolution |
Float[TArray, '#batch']
|
range resolution for the modulation used; nominally in meters. |
doppler_resolution |
Float[TArray, '#batch']
|
doppler resolution; nominally in m/s. |
Source code in format/src/roverd/types.py
roverd.types.XWRRadarIQ
¶
Raw I/Q data.
Named Axes
slow: slow time, i.e., number of chirps per frame.tx: transmit antenna.rx: receive antenna.fast: fast time with interleaved IIQQ data, i.e.,samples_per_chirp * 2.
Attributes:
| Name | Type | Description |
|---|---|---|
iq |
Int16[TArray, 'batch t slow tx rx fast']
|
raw I/Q data in slow-tx-rx-fast order; see the
|
timestamps |
Float64[TArray, 'batch t']
|
timestamp for each frame; nominally in seconds. |
range_resolution |
Float[TArray, '#batch']
|
range resolution for the modulation used; nominally in meters. |
doppler_resolution |
Float[TArray, '#batch']
|
doppler resolution; nominally in m/s. |
valid |
UInt8[TArray, 'batch t']
|
whether the entire frame is valid, or if the frame contains some zero-filled data due to dropped packets. |