Skip to content

Commit c276c6c

Browse files
satoshi-otaboyali
authored andcommitted
docs(surround obstacle checker): update documentation (tier4#878)
* docs(surround_obstacle_checker): update pub/sub topics & params Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * docs(surround_obstacle_checker): remove unused files Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * docs(surround_obstacke_checker): update purpose Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
1 parent 0b2f987 commit c276c6c

File tree

4 files changed

+85
-75
lines changed

4 files changed

+85
-75
lines changed

planning/surround_obstacle_checker/README.md

+43-11
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,47 @@
22

33
## Purpose
44

5-
`surround_obstacle_checker` is a module to prevent moving if any obstacles is near stopping ego vehicle.
6-
This module runs only when ego vehicle is stopping.
5+
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
76

87
## Inner-workings / Algorithms
98

109
### Flow chart
1110

12-
![surround_obstacle_checker_flow](./media/surround_obstacle_checker_flow.svg)
11+
```plantuml
12+
@startuml
1313
14-
![check_distance](./media/check_distance.drawio.svg)
14+
title surround obstacle checker
15+
start
16+
17+
if (Check state) then
18+
:State::STOP;
19+
20+
if (Is stop required?) then (yes)
21+
else (no)
22+
:Clear velocity limit;
23+
:Set state to State::PASS;
24+
endif
25+
26+
else
27+
:State::PASS;
28+
29+
if (Is stop required?) then (yes)
30+
:Set velocity limit;
31+
:Set state to State::STOP;
32+
else (no)
33+
endif
34+
35+
endif
36+
37+
:Publish stop reason;
38+
39+
stop
40+
@enduml
41+
```
42+
43+
<div align="center">
44+
<img src="./media/check_distance.drawio.svg" width=80%>
45+
</div>
1546

1647
### Algorithms
1748

@@ -49,7 +80,6 @@ As mentioned in stop condition section, it prevents chattering by changing thres
4980

5081
| Name | Type | Description |
5182
| ---------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------ |
52-
| `~/input/trajectory` | `autoware_auto_planning_msgs::msg::Trajectory` | Reference trajectory |
5383
| `/perception/obstacle_segmentation/pointcloud` | `sensor_msgs::msg::PointCloud2` | Pointcloud of obstacles which the ego-vehicle should stop or avoid |
5484
| `/perception/object_recognition/objects` | `autoware_auto_perception_msgs::msg::PredictedObjects` | Dynamic objects |
5585
| `/localization/kinematic_state` | `nav_msgs::msg::Odometry` | Current twist |
@@ -58,12 +88,13 @@ As mentioned in stop condition section, it prevents chattering by changing thres
5888

5989
### Output
6090

61-
| Name | Type | Description |
62-
| -------------------------- | ------------------------------------------- | ------------------------ |
63-
| `~/output/trajectory` | `autoware_auto_planning_msgs/Trajectory` | Modified trajectory |
64-
| `~/output/no_start_reason` | `diagnostic_msgs::msg::DiagnosticStatus` | No start reason |
65-
| `~/output/stop_reasons` | `tier4_planning_msgs::msg::StopReasonArray` | Stop reasons |
66-
| `~/debug/marker` | `visualization_msgs::msg::MarkerArray` | Marker for visualization |
91+
| Name | Type | Description |
92+
| --------------------------------------- | ----------------------------------------------------- | ---------------------------- |
93+
| `~/output/velocity_limit_clear_command` | `tier4_planning_msgs::msg::VelocityLimitClearCommand` | Velocity limit clear command |
94+
| `~/output/max_velocity` | `tier4_planning_msgs::msg::VelocityLimit` | Velocity limit command |
95+
| `~/output/no_start_reason` | `diagnostic_msgs::msg::DiagnosticStatus` | No start reason |
96+
| `~/output/stop_reasons` | `tier4_planning_msgs::msg::StopReasonArray` | Stop reasons |
97+
| `~/debug/marker` | `visualization_msgs::msg::MarkerArray` | Marker for visualization |
6798

6899
## Parameters
69100

@@ -75,6 +106,7 @@ As mentioned in stop condition section, it prevents chattering by changing thres
75106
| `surround_check_recover_distance` | `double` | If no object exists in this distance, transit to "non-surrounding-obstacle" status [m] | 0.8 |
76107
| `state_clear_time` | `double` | Threshold to clear stop state [s] | 2.0 |
77108
| `stop_state_ego_speed` | `double` | Threshold to check ego vehicle stopped [m/s] | 0.1 |
109+
| `stop_state_entry_duration_time` | `double` | Threshold to check ego vehicle stopped [s] | 0.1 |
78110

79111
## Assumptions / Known limits
80112

planning/surround_obstacle_checker/media/surround_obstacle_checker_flow.svg

-38
This file was deleted.

planning/surround_obstacle_checker/media/surround_obstacle_checker_flow.uml

-17
This file was deleted.

planning/surround_obstacle_checker/surround_obstacle_checker-design.ja.md

+42-9
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,41 @@
88

99
### Flow chart
1010

11-
![surround_obstacle_checker_flow](./media/surround_obstacle_checker_flow.svg)
11+
```plantuml
12+
@startuml
1213
13-
![check_distance](./media/check_distance.drawio.svg)
14+
title surround obstacle checker
15+
start
16+
17+
if (Check state) then
18+
:State::STOP;
19+
20+
if (Is stop required?) then (yes)
21+
else (no)
22+
:Clear velocity limit;
23+
:Set state to State::PASS;
24+
endif
25+
26+
else
27+
:State::PASS;
28+
29+
if (Is stop required?) then (yes)
30+
:Set velocity limit;
31+
:Set state to State::STOP;
32+
else (no)
33+
endif
34+
35+
endif
36+
37+
:Publish stop reason;
38+
39+
stop
40+
@enduml
41+
```
42+
43+
<div align="center">
44+
<img src="./media/check_distance.drawio.svg" width=80%>
45+
</div>
1446

1547
### Algorithms
1648

@@ -48,7 +80,6 @@ Stop condition の項で述べたように、状態によって障害物判定
4880

4981
| Name | Type | Description |
5082
| ---------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------ |
51-
| `~/input/trajectory` | `autoware_auto_planning_msgs::msg::Trajectory` | Reference trajectory |
5283
| `/perception/obstacle_segmentation/pointcloud` | `sensor_msgs::msg::PointCloud2` | Pointcloud of obstacles which the ego-vehicle should stop or avoid |
5384
| `/perception/object_recognition/objects` | `autoware_auto_perception_msgs::msg::PredictedObjects` | Dynamic objects |
5485
| `/localization/kinematic_state` | `nav_msgs::msg::Odometry` | Current twist |
@@ -57,12 +88,13 @@ Stop condition の項で述べたように、状態によって障害物判定
5788

5889
### Output
5990

60-
| Name | Type | Description |
61-
| -------------------------- | ------------------------------------------- | ------------------------ |
62-
| `~/output/trajectory` | `autoware_auto_planning_msgs/Trajectory` | Modified trajectory |
63-
| `~/output/no_start_reason` | `diagnostic_msgs::msg::DiagnosticStatus` | No start reason |
64-
| `~/output/stop_reasons` | `tier4_planning_msgs::msg::StopReasonArray` | Stop reasons |
65-
| `~/debug/marker` | `visualization_msgs::msg::MarkerArray` | Marker for visualization |
91+
| Name | Type | Description |
92+
| --------------------------------------- | ----------------------------------------------------- | ---------------------------- |
93+
| `~/output/velocity_limit_clear_command` | `tier4_planning_msgs::msg::VelocityLimitClearCommand` | Velocity limit clear command |
94+
| `~/output/max_velocity` | `tier4_planning_msgs::msg::VelocityLimit` | Velocity limit command |
95+
| `~/output/no_start_reason` | `diagnostic_msgs::msg::DiagnosticStatus` | No start reason |
96+
| `~/output/stop_reasons` | `tier4_planning_msgs::msg::StopReasonArray` | Stop reasons |
97+
| `~/debug/marker` | `visualization_msgs::msg::MarkerArray` | Marker for visualization |
6698

6799
## Parameters
68100

@@ -74,6 +106,7 @@ Stop condition の項で述べたように、状態によって障害物判定
74106
| `surround_check_recover_distance` | `double` | If no object exists in this distance, transit to "non-surrounding-obstacle" status [m] | 0.8 |
75107
| `state_clear_time` | `double` | Threshold to clear stop state [s] | 2.0 |
76108
| `stop_state_ego_speed` | `double` | Threshold to check ego vehicle stopped [m/s] | 0.1 |
109+
| `stop_state_entry_duration_time` | `double` | Threshold to check ego vehicle stopped [s] | 0.1 |
77110

78111
## Assumptions / Known limits
79112

0 commit comments

Comments
 (0)