Skip to content

Commit d632287

Browse files
committed
docs: update point types and sensor models, smaller fixes
1 parent 10725e4 commit d632287

File tree

3 files changed

+78
-61
lines changed

3 files changed

+78
-61
lines changed

docs/point_types.md

+46-42
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,60 @@
11
# Nebula point cloud types
22

3-
Nebula supports three point cloud output types.
3+
Nebula currently supports the below point cloud output types.
44
However, it can easily be extended to support other custom point cloud types.
55

66
These definitions can be found in the `nebula_common/include/point_types.hpp`.
77

88
## PointXYZIR
99

10-
| Field | Type | Units | Description |
11-
| ------------- | ------- | ----- | -------------------------------------------------------------------- |
12-
| `x` | `float` | `m` | Contains the abscissa member of the point in cartesian coordinates. |
13-
| `y` | `float` | `m` | Contains the ordinate member of the point in cartesian coordinates. |
14-
| `z` | `float` | `m` | Contains the applicate member of the point in cartesian coordinates. |
15-
| `intensity` | `uint8` | | Contains the laser energy return value as reported by the sensor. |
16-
| `return type` | `uint8` | | Contains the lase return type according to the sensor configuration. |
17-
18-
## PointXYZICAETR
19-
20-
| Field | Type | Units | Description |
21-
| ------------- | ------- | ----- | -------------------------------------------------------------------- |
22-
| `x` | `float` | `m` | Contains the abscissa member of the point in cartesian coordinates. |
23-
| `y` | `float` | `m` | Contains the ordinate member of the point in cartesian coordinates. |
24-
| `z` | `float` | `m` | Contains the applicate member of the point in cartesian coordinates. |
25-
| `intensity` | `uint8` | | Contains the laser energy return value as reported by the sensor. |
26-
| `channel` | `uint8` | | Contains the laser channel id. |
27-
| `azimuth` | `float` | `rad` | Contains the azimuth of the current point. |
28-
| `elevation` | `float` | `rad` | Contains the elevation of the current point. |
29-
| `timestamp` | `float` | `ns` | Contains the relative time to the triggered scan time. |
30-
| `return type` | `uint8` | | Contains the lase return type according to the sensor configuration. |
10+
| Field | Type | Units | Description |
11+
| ------------- | ------- | ----- | --------------------------------------------------------------------------- |
12+
| `x` | `float` | `m` | The point's cartesian x coordinate. |
13+
| `y` | `float` | `m` | The point's cartesian y coordinate. |
14+
| `z` | `float` | `m` | The point's cartesian z coordinate. |
15+
| padding | 4 bytes | | |
16+
| `intensity` | `uint8` | | The intensity of the return as reported by the sensor. |
17+
| `return type` | `uint8` | | Whether the point was the first, strongest, last, etc. of multiple returns. |
3118

3219
## PointXYZICATR
3320

34-
| Field | Type | Units | Description |
35-
| ------------- | ------- | --------- | -------------------------------------------------------------------- |
36-
| `x` | `float` | `m` | Contains the abscissa member of the point in cartesian coordinates. |
37-
| `y` | `float` | `m` | Contains the ordinate member of the point in cartesian coordinates. |
38-
| `z` | `float` | `m` | Contains the applicate member of the point in cartesian coordinates. |
39-
| `intensity` | `uint8` | | Contains the laser energy return value as reported by the sensor. |
40-
| `channel` | `uint8` | | Contains the laser channel id. |
41-
| `azimuth` | `float` | `degrees` | Contains the azimuth of the current point. |
42-
| `timestamp` | `float` | `ns` | Contains the relative time to the triggered scan time. |
43-
| `return type` | `uint8` | | Contains the lase return type according to the sensor configuration. |
21+
| Field | Type | Units | Description |
22+
| ------------- | ------- | --------- | --------------------------------------------------------------------------- |
23+
| `x` | `float` | `m` | The point's cartesian x coordinate. |
24+
| `y` | `float` | `m` | The point's cartesian y coordinate. |
25+
| `z` | `float` | `m` | The point's cartesian z coordinate. |
26+
| padding | 4 bytes | | |
27+
| `intensity` | `uint8` | | The intensity of the return as reported by the sensor. |
28+
| `channel` | `uint8` | | The ID of the laser channel that produced the point. |
29+
| `azimuth` | `float` | `degrees` | azimuth in polar coordinates. |
30+
| `timestamp` | `float` | `ns` | The time the point was detected relative to the pointcloud timestamp. |
31+
| `return type` | `uint8` | | Whether the point was the first, strongest, last, etc. of multiple returns. |
4432

4533
## PointXYZIRADT
4634

47-
| Field | Type | Units | Description |
48-
| ------------- | ------- | --------- | -------------------------------------------------------------------------- |
49-
| `x` | `float` | `m` | Contains the abscissa member of the point in cartesian coordinates. |
50-
| `y` | `float` | `m` | Contains the ordinate member of the point in cartesian coordinates. |
51-
| `z` | `float` | `m` | Contains the applicate member of the point in cartesian coordinates. |
52-
| `intensity` | `uint8` | | Contains the laser energy return value as reported by the sensor. |
53-
| `return type` | `uint8` | | Contains the lase return type according to the sensor configuration. |
54-
| `azimuth` | `float` | `degrees` | Contains the azimuth of the current point. |
55-
| `distance` | `float` | `m` | Contains the distance from the sensor origin to this echo on the XY plane. |
56-
| `timestamp` | `float` | `ns` | Contains the relative time to the triggered scan time. |
35+
| Field | Type | Units | Description |
36+
| ------------- | ------- | --------- | --------------------------------------------------------------------------- |
37+
| `x` | `float` | `m` | The point's cartesian x coordinate. |
38+
| `y` | `float` | `m` | The point's cartesian y coordinate. |
39+
| `z` | `float` | `m` | The point's cartesian z coordinate. |
40+
| padding | 4 bytes | | |
41+
| `intensity` | `uint8` | | The intensity of the return as reported by the sensor. |
42+
| `return type` | `uint8` | | Whether the point was the first, strongest, last, etc. of multiple returns. |
43+
| `azimuth` | `float` | `degrees` | The point's azimuth in polar coordinates. |
44+
| `distance` | `float` | `m` | The point's distance from the sensor origin. |
45+
| `timestamp` | `float` | `ns` | The time the point was detected relative to the pointcloud timestamp. |
46+
47+
## NebulaPoint = PointXYZIRCAEDT
48+
49+
| Field | Type | Units | Description |
50+
| ------------- | -------- | ----- | --------------------------------------------------------------------------- |
51+
| `x` | `float` | `m` | The point's cartesian x coordinate. |
52+
| `y` | `float` | `m` | The point's cartesian y coordinate. |
53+
| `z` | `float` | `m` | The point's cartesian z coordinate. |
54+
| `intensity` | `uint8` | | The intensity of the return as reported by the sensor. |
55+
| `return type` | `uint8` | | Whether the point was the first, strongest, last, etc. of multiple returns. |
56+
| `channel` | `uint16` | | The ID of the laser channel that produced the point. |
57+
| `azimuth` | `float` | `rad` | The point's azimuth in polar coordinates. |
58+
| `elevation` | `float` | `rad` | The point's elevation in polar coordinates. |
59+
| `distance` | `float` | `m` | The point's distance from the sensor origin. |
60+
| `timestamp` | `float` | `ns` | The time the point was detected relative to the pointcloud timestamp. |

docs/supported_sensors.md

+30-19
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,55 @@
11
# Supported sensors
22

3-
Nebula currently supports the following sensor models, where `sensor_model` is the ROS parameter to be used at launch:
3+
Nebula currently supports the sensor models listed below. The test status column indicates how many of the sensors' features are supported.
4+
5+
For all sensors, the respective configuration file is found under `nebula_ros/config/<type>/<vendor>/<filename>` where
6+
7+
- `<type>` is either lidar or radar,
8+
- `<vendor>` is the vendor of the sensor and
9+
- `<filename>` is listed in the table below.
10+
11+
The launch file for a given vendor is called `<vendor>_launch_all_hw.xml`.
12+
The `sensor_model` parameter below decides which sensor driver is launched.
413

514
## Hesai LiDARs
615

7-
| Model | `sensor_model` | Configuration file | Test status |
8-
| ------------- | -------------- | ------------------ | ----------- |
9-
| Pandar64 | Pandar64 | Pandar64.yaml ||
10-
| Pandar 40P | Pandar40P | Pandar40P.yaml ||
11-
| Pandar XT32 | PandarXT32 | PandarXT32.yaml ||
12-
| Pandar XT32M | PandarXT32M | PandarXT32M.yaml | ⚠️ |
13-
| Pandar QT64 | PandarQT64 | PandarQT64.yaml ||
14-
| Pandar QT128 | PandarQT128 | PandarQT128.yaml | ⚠️ |
15-
| Pandar AT128 | PandarAT128 | PandarAT128.yaml |\* |
16-
| Pandar 128E4X | Pandar128E4X | Pandar128E4X.yaml | ⚠️ |
16+
| Model | `sensor_model` | Configuration file | Test status |
17+
| ------------ | -------------- | ----------------------- | ----------- |
18+
| Pandar64 | Pandar64 | Pandar64.param.yaml ||
19+
| Pandar 40P | Pandar40P | Pandar40P.param.yaml ||
20+
| Pandar XT32 | PandarXT32 | PandarXT32.param.yaml ||
21+
| Pandar XT32M | PandarXT32M | PandarXT32M.param.yaml | ⚠️ |
22+
| Pandar QT64 | PandarQT64 | PandarQT64.param.yaml ||
23+
| Pandar QT128 | PandarQT128 | PandarQT128.param.yaml | ⚠️ |
24+
| Pandar AT128 | PandarAT128 | PandarAT128.param.yaml |\* |
25+
| Pandar OT128 | Pandar128E4X | Pandar128E4X.param.yaml | ⚠️ |
26+
27+
\*: AT128 needs software version 3.50.8 or newer for the `scan_angle` setting to work correctly.
1728

1829
## Velodyne LiDARs
1930

2031
| Model | `sensor_model` | Configuration file | Test status |
2132
| ------------ | -------------- | ------------------ | ----------- |
22-
| VLP-16 | VLP16 | VLP16.yaml | ⚠️ |
33+
| VLP-16 | VLP16 | VLP16.param.yaml | ⚠️ |
2334
| VLP-16-HiRes | VLP16 | ||
24-
| VLP-32 | VLP32 | VLP32.yaml | ⚠️ |
25-
| VLS-128 | VLS128 | VLS128.yaml | ⚠️ |
35+
| VLP-32 | VLP32 | VLP32.param.yaml | ⚠️ |
36+
| VLS-128 | VLS128 | VLS128.param.yaml | ⚠️ |
2637

2738
## Robosense LiDARs
2839

2940
| Model | `sensor_model` | Configuration file | Test status |
3041
| ------ | -------------- | ------------------ | ----------- |
31-
| Bpearl | Bpearl | Bpearl.yaml | ⚠️ |
32-
| Helios | Helios | Helios.yaml | ⚠️ |
42+
| Bpearl | Bpearl | Bpearl.param.yaml | ⚠️ |
43+
| Helios | Helios | Helios.param.yaml | ⚠️ |
3344

3445
## Continental radars
3546

3647
| Model | `sensor_model` | Configuration file | Test status |
3748
| ------ | -------------- | ------------------ | ----------- |
38-
| ARS548 | ARS548 | ARS548.yaml | ⚠️ |
49+
| ARS548 | ARS548 | ARS548.param.yaml | ⚠️ |
50+
| SRR520 | SRR520 | SRR520.param.yaml | ⚠️ |
3951

4052
Test status:
4153
✅: complete
4254
⚠️: some functionality yet to be tested
43-
❌: untested
44-
\*: AT128 needs software version 3.50.8 or newer for the `scan_angle` setting to work correctly.
55+
❌: untested

docs/usage.md

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ For example, for a Hesai Pandar40P sensor:
1414
ros2 launch nebula_ros hesai_launch_all_hw.xml sensor_model:=Pandar40P
1515
```
1616

17+
Refer to the list of [supported sensors](supported_sensors.md) for more information on the avaliable sensors and configuration options.
18+
1719
## Sensor configuration
1820

1921
WIP

0 commit comments

Comments
 (0)