Skip to content

Commit

Permalink
docs: update readme of concatenate data (autowarefoundation#751) (aut…
Browse files Browse the repository at this point in the history
…owarefoundation#191)

* update readme of concatenate data

* Update sensing/preprocessor/pointcloud/pointcloud_preprocessor/docs/concatenate-data.md

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Taichi Higashide <taichi.higashide@tier4.jp>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
  • Loading branch information
4 people authored Dec 16, 2021
1 parent d6b96a3 commit ef4df33
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 20 deletions.
40 changes: 20 additions & 20 deletions sensing/pointcloud_preprocessor/docs/concatenate-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,38 @@

## Purpose

The `concatenate_data` is a node that concatenates multiple pointclouds acquired by multiple LiDARs into a pointcloud.
Many self-driving cars combine multiple LiDARs to expand the sensing range. Therefore, a function to combine a plurality of point clouds is required.

To combine multiple sensor data with a similar timestamp, the [message_filters](https://github.com/ros2/message_filters) is often used in the ROS-based system, but this requires the assumption that all inputs can be received. Since safety must be strongly considered in autonomous driving, the point clouds concatenate node must be designed so that even if one sensor fails, the remaining sensor information can be output.

## Inner-workings / Algorithms

The figure below represents the reception time of each sensor data and how it is combined in the case.

![concatenate_data_timing_chart](./image/concatenate_data.drawio.svg)

## Inputs / Outputs

### Input

| Name | Type | Description |
| ---------------- | ------------------------------------------------- | ---------------- |
| `~/input/points` | `sensor_msgs::msg::Pointcloud2` | reference points |
| `~/input/twist` | `autoware_auto_vehicle_msgs::msg::VelocityReport` | vehicle velocity |
| Name | Type | Description |
| --------------- | ------------------------------------------------- | ----------------------------------------------------------------------------- |
| `~/input/twist` | `autoware_auto_vehicle_msgs::msg::VelocityReport` | The vehicle odometry is used to interpolate the timestamp of each sensor data |

### Output

| Name | Type | Description |
| ----------------- | ------------------------------- | --------------- |
| `~/output/points` | `sensor_msgs::msg::Pointcloud2` | filtered points |
| Name | Type | Description |
| ----------------- | ------------------------------- | ------------------------- |
| `~/output/points` | `sensor_msgs::msg::Pointcloud2` | concatenated point clouds |

## Parameters

| Name | Type | Default Value | Description |
| ---------------- | ------ | ------------- | ------------------------------------- |
| `input_frame` | string | " " | input frame id |
| `output_frame` | string | " " | output frame id |
| `max_queue_size` | int | 5 | max queue size of input/output topics |
| Name | Type | Default Value | Description |
| ---------------- | ---------------- | ------------- | ------------------------------------------------------------------- |
| `input/points` | vector of string | [] | input topic names that type must be `sensor_msgs::msg::Pointcloud2` |
| `input_frame` | string | "" | input frame id |
| `output_frame` | string | "" | output frame id |
| `max_queue_size` | int | 5 | max queue size of input/output topics |

### Core Parameters

Expand All @@ -37,10 +43,4 @@ The `concatenate_data` is a node that concatenates multiple pointclouds acquired

## Assumptions / Known limits

## (Optional) Error detection and handling

## (Optional) Performance characterization

## (Optional) References/External links

## (Optional) Future extensions / Unimplemented parts
It is necessary to assume that the vehicle odometry value exists, the sensor data and odometry timestamp are correct, and the TF from `base_link` to `sensor_frame` is also correct.
Loading

0 comments on commit ef4df33

Please sign in to comment.