Skip to content

Commit 548b31e

Browse files
committed
initial draft of base safety scenarios for the PoV Vision Pilot product
Signed-off-by: Diego Yabuki <diegoken.yabuki@tier4.jp>
1 parent c90edfb commit 548b31e

13 files changed

Lines changed: 944 additions & 0 deletions

usecases/pov/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Scenario Naming Pattern
2+
3+
The scenarios for PoV are named following the pattern below:
4+
UC-[SCENARIO CATEGORY]-[SCENARIO SUB-CATEGORY]-[INCREMENTAL ID]
5+
6+
Where:
7+
8+
[SCENARIO CATEGORY] indicates the purpose of the test scenario. For now, one of the following values shall be used:
9+
- PLN: Planning critical scenario
10+
- CTL: Control critical scenario
11+
- PER: Perception critical scenario
12+
13+
[SCENARIO SUB-CATEGORY] adopts different meanings depending on the main category.
14+
15+
| SCENARIO CATEGORY | SCENARIO SUB-CATEGORY |
16+
| ----------------------------- | --------------------- |
17+
| Planning critical scenario | - 001: Object following<br>- 002: Free driving<br>- 003: Lane keeping<br>- 004: Emergency braking |
18+
| Control critical scenario | - 001: Road shape<br>- 002: Scenery elements<br>- 003: Weather conditions |
19+
| Perception critical scenario | - 001: Blindspot<br>- 002: Poor detection conditions |
20+
21+
[INCREMENTAL ID] is a 4-digit number starting at 0001 and continuously incremented for each scenario with the same ego motion category.
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Feature: Maintain safe distance from preceding vehicle
2+
3+
Ensures that ego is able to keep a safe distance from a preceding vehicle under different scenarios.
4+
This is required to provide ego with enough time to react to sudden changes in movement of the preceding vehicle, or other traffic participants ahead.
5+
6+
## Scenario Outline: Maintain safe distance from preceding vehicle that drives slower than ego
7+
8+
Confirm that ego is able to adjust its speed such as to maintain a safe distance from a preceding vehicle that drives at a constant speed slower than itself.
9+
10+
* Given Ego is driving at <vxi_ego>
11+
* And Npc0 is positioned ahead of ego, in the same driving lane
12+
* And Npc0 is driving at <vxi_npc0>, smaller than <vxi_ego>
13+
14+
* When Ego approaches Npc0 up to a safe distance
15+
* Then Ego starts decelerating with rate no faster than <axmin_ego>
16+
* And Ego matches the speed of Npc0, <vxi_npc0>
17+
* And Ego drives continuously at all times
18+
* And Ego drives safely with no collisions at all times
19+
20+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
21+
22+
### Examples:
23+
24+
| vxi_ego | vxi_npc0 | axmin_ego |
25+
| ------- | -------- | ---------- |
26+
| 20 km/h | 15 km/h | -1.5 m/s^2 |
27+
| 30 km/h | 20 km/h | -1.5 m/s^2 |
28+
| 40 km/h | 25 km/h | -1.5 m/s^2 |
29+
30+
31+
## Scenario Outline: Maintain safe distance from preceding vehicle that is decelerating partially
32+
33+
Confirm that ego is able to continuously adjust its speed such as to maintain a safe distance from a preceding vehicle that is decelerating.
34+
35+
* Given Ego is driving at <vxi_ego>
36+
* And Npc0 is positioned ahead of ego, in the same driving lane
37+
* And Npc0 is driving at <vxi_npc0>, smaller than <vxi_ego>
38+
39+
* When Ego approaches Npc0 up to a safe distance
40+
* Then Ego decelerates to match the speed of Npc0, <vxi_npc0>
41+
42+
* When Npc0 further decelerates to <vx_npc0> at a rate of <ax_npc0>
43+
* Then Ego further decelerates to match the speed of Npc0, <vx_npc0>
44+
* And Ego drives continuously at all times
45+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
46+
* And Ego drives safely with no collisions at all times
47+
48+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
49+
50+
### Examples:
51+
52+
| vxi_ego | vxi_npc0 | axmin_ego | vx_npc0 | ax_npc0 |
53+
| ------- | -------- | ---------- | ------- | ---------- |
54+
| 20 km/h | 15 km/h | -1.5 m/s^2 | 10 km/h | -1.0 m/s^2 |
55+
| 30 km/h | 20 km/h | -1.5 m/s^2 | 12 km/h | -1.0 m/s^2 |
56+
| 40 km/h | 25 km/h | -1.5 m/s^2 | 15 km/h | -1.0 m/s^2 |
57+
58+
59+
## Scenario Outline: Maintain safe distance from preceding vehicle that is decelerating completely
60+
61+
Confirm that ego is able to continuously adjust its speed such as to maintain a safe distance from a preceding vehicle that decelerates to a standstill.
62+
63+
* Given Ego is driving at <vxi_ego>
64+
* And Npc0 is positioned ahead of ego, in the same driving lane
65+
* And Npc0 is driving at <vxi_npc0>, smaller than <vxi_ego>
66+
67+
* When Ego approaches Npc0 up to a safe distance
68+
* Then Ego decelerates to match the speed of Npc0, <vxi_npc0>
69+
70+
* When Npc0 further decelerates to a standstill at a rate of <ax_npc0>
71+
* Then Ego further decelerates to a standstill
72+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
73+
* And Ego drives safely with no collisions at all times
74+
75+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
76+
77+
### Examples:
78+
79+
| vxi_ego | vxi_npc0 | axmin_ego | ax_npc0 |
80+
| ------- | -------- | ---------- | ---------- |
81+
| 20 km/h | 15 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
82+
| 30 km/h | 20 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
83+
| 40 km/h | 25 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
84+
85+
86+
## Scenario Outline: Stop safely when detecting a preceding standstill vehicle
87+
88+
Confirm that ego is able to stop safely when a stopped vehicle is detected ahead of ego.
89+
90+
* Given Ego is driving at <vxi_ego>
91+
* And Npc0 is <dxi_ego_npc0> ahead of ego, in the same driving lane
92+
* And Npc0 is in standstill
93+
94+
* When Ego approaches Npc0
95+
* Then Ego starts decelerating with rate no faster than <axmin_ego>
96+
* And Ego reaches standstill
97+
* And Ego drives safely with no collisions at all times
98+
99+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
100+
101+
### Examples:
102+
103+
| vxi_ego | dxi_ego_npc0 | axmin_ego |
104+
| -------- | ------------ | ---------- |
105+
| 90 km/h | 150 m | -1.5 m/s^2 |
106+
| 100 km/h | 150 m | -1.5 m/s^2 |
107+
| 110 km/h | 150 m | -1.5 m/s^2 |
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Feature: Maintain safe distance from preceding motorcycle
2+
3+
Ensures that ego is able to keep a safe distance from a preceding motorcycle under different scenarios.
4+
This is required to provide ego with enough time to react to sudden changes in movement of the preceding motorcycle, or other traffic participants ahead.
5+
6+
## Scenario Outline: Maintain safe distance from preceding motorcycle that drives slower than ego
7+
8+
Confirm that ego is able to adjust its speed such as to maintain a safe distance from a preceding motorcycle that drives at a constant speed slower than itself.
9+
10+
* Given Ego is driving at <vxi_ego>
11+
* And Motorbike0 is positioned ahead of ego, in the same driving lane
12+
* And Motorbike0 is driving at <vxi_motorbike0>, smaller than <vxi_ego>
13+
14+
* When Ego approaches Motorbike0 up to a safe distance
15+
* Then Ego starts decelerating with rate no faster than <axmin_ego>
16+
* And Ego matches the speed of Motorbike0, <vxi_motorbike0>
17+
* And Ego drives continuously at all times
18+
* And Ego drives safely with no collisions at all times
19+
20+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
21+
22+
### Examples:
23+
24+
| vxi_ego | vxi_motorbike0 | axmin_ego |
25+
| ------- | -------------- | ---------- |
26+
| 20 km/h | 15 km/h | -1.5 m/s^2 |
27+
| 30 km/h | 20 km/h | -1.5 m/s^2 |
28+
| 40 km/h | 25 km/h | -1.5 m/s^2 |
29+
30+
31+
## Scenario Outline: Maintain safe distance from preceding motorcycle that is decelerating partially
32+
33+
Confirm that ego is able to continuously adjust its speed such as to maintain a safe distance from a preceding motorcycle that is decelerating.
34+
35+
* Given Ego is driving at <vxi_ego>
36+
* And Motorbike0 is positioned ahead of ego, in the same driving lane
37+
* And Motorbike0 is driving at <vxi_motorbike0>, smaller than <vxi_ego>
38+
39+
* When Ego approaches Motorbike0 up to a safe distance
40+
* Then Ego decelerates to match the speed of Motorbike0, <vxi_motorbike0>
41+
42+
* When Motorbike0 further decelerates to <vx_motorbike0> at a rate of <ax_motorbike0>
43+
* Then Ego further decelerates to match the speed of Motorbike0, <vx_motorbike0>
44+
* And Ego drives continuously at all times
45+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
46+
* And Ego drives safely with no collisions at all times
47+
48+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
49+
50+
### Examples:
51+
52+
| vxi_ego | vxi_motorbike0 | axmin_ego | vx_motorbike0 | ax_motorbike0 |
53+
| ------- | -------------- | ---------- | ------------- | ------------- |
54+
| 20 km/h | 15 km/h | -1.5 m/s^2 | 10 km/h | -1.0 m/s^2 |
55+
| 30 km/h | 20 km/h | -1.5 m/s^2 | 12 km/h | -1.0 m/s^2 |
56+
| 40 km/h | 25 km/h | -1.5 m/s^2 | 15 km/h | -1.0 m/s^2 |
57+
58+
59+
## Scenario Outline: Maintain safe distance from preceding motorcycle that is decelerating completely
60+
61+
Confirm that ego is able to continuously adjust its speed such as to maintain a safe distance from a preceding motorcycle that decelerates to a standstill.
62+
63+
* Given Ego is driving at <vxi_ego>
64+
* And Motorbike0 is positioned ahead of ego, in the same driving lane
65+
* And Motorbike0 is driving at <vxi_motorbike0>, smaller than <vxi_ego>
66+
67+
* When Ego approaches Motorbike0 up to a safe distance
68+
* Then Ego decelerates to match the speed of Motorbike0, <vxi_motorbike0>
69+
70+
* When Motorbike0 further decelerates to a standstill at a rate of <ax_motorbike0>
71+
* Then Ego further decelerates to a standstill
72+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
73+
* And Ego drives safely with no collisions at all times
74+
75+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
76+
77+
### Examples:
78+
79+
| vxi_ego | vxi_motorbike0 | axmin_ego | ax_motorbike0 |
80+
| ------- | -------------- | ---------- | ------------- |
81+
| 20 km/h | 15 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
82+
| 30 km/h | 20 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
83+
| 40 km/h | 25 km/h | -1.5 m/s^2 | -1.0 m/s^2 |
84+
85+
86+
## Scenario Outline: Stop safely when detecting a preceding standstill motorcycle
87+
88+
Confirm that ego is able to stop safely when a stopped motorcycle is detected ahead of ego.
89+
90+
* Given Ego is driving at <vxi_ego>
91+
* And Motorbike0 is <dxi_ego_motorbike0> ahead of ego, in the same driving lane
92+
* And Motorbike0 is in standstill
93+
94+
* When Ego approaches Motorbike0
95+
* Then Ego starts decelerating with rate no faster than <axmin_ego>
96+
* And Ego reaches standstill
97+
* And Ego drives safely with no collisions at all times
98+
99+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
100+
101+
### Examples:
102+
103+
| vxi_ego | dxi_ego_motorbike0 | axmin_ego |
104+
| -------- | ------------------ | ---------- |
105+
| 90 km/h | 150 m | -1.5 m/s^2 |
106+
| 100 km/h | 150 m | -1.5 m/s^2 |
107+
| 110 km/h | 150 m | -1.5 m/s^2 |
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Feature: Maintain safe distance from cutting-in vehicle
2+
3+
Ensures that ego is able to keep a safe distance from a vehicle that cuts in ahead of ego, under different scenarios.
4+
This is required to provide ego with enough time to react to sudden changes in movement of the cutting-in vehicle, or other traffic participants ahead.
5+
6+
## Scenario Outline: Maintain safe distance from slower vehicle cutting-in from the left
7+
8+
Confirm that ego is able to adjust its speed such as to maintain a safe distance from a vehicle that cuts in from the left with a constant speed that is slower than itself.
9+
10+
* Given Ego is driving at <vxi_ego>
11+
* And Npc0 is positioned ahead of ego, in the neighboring left lane
12+
* And Npc0 is driving at <vxi_npc0>, smaller than <vxi_ego>, in the same direction
13+
14+
* When Ego approaches Npc0 longitudinally, to within <dx_ego_npc0>
15+
* And later Npc0 cuts into the ego lane within a timespan of <time_cut_in_npc0>
16+
* Then Ego starts decelerating to match the speed of Npc0, <vxi_npc0>
17+
* And Ego drives continuously at all times
18+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
19+
* And Ego drives safely with no collisions at all times
20+
21+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
22+
23+
### Examples:
24+
25+
| vxi_ego | vxi_npc0 | dx_ego_npc0 | time_cut_in_npc0 | axmin_ego |
26+
| ------- | -------- | ----------- | ---------------- | ---------- |
27+
| 20 km/h | 15 km/h | 15 m | 4 s | -1.5 m/s^2 |
28+
| 30 km/h | 20 km/h | 15 m | 4 s | -1.5 m/s^2 |
29+
| 40 km/h | 25 km/h | 15 m | 4 s | -1.5 m/s^2 |
30+
31+
32+
## Scenario Outline: Maintain safe distance from slower vehicle cutting-in from the right
33+
34+
Confirm that ego is able to adjust its speed such as to maintain a safe distance from a vehicle that cuts in from the right with a constant speed that is slower than itself.
35+
36+
* Given Ego is driving at <vxi_ego>
37+
* And Npc0 is positioned ahead of ego, in the neighboring right lane
38+
* And Npc0 is driving at <vxi_npc0>, smaller than <vxi_ego>, in the same direction
39+
40+
* When Ego approaches Npc0 longitudinally, to within <dx_ego_npc0>
41+
* And later Npc0 cuts into the ego lane within a timespan of <time_cut_in_npc0>
42+
* Then Ego starts decelerating to match the speed of Npc0, <vxi_npc0>
43+
* And Ego drives continuously at all times
44+
* And Ego keeps its deceleration rate slower than <axmin_ego> at all times
45+
* And Ego drives safely with no collisions at all times
46+
47+
![Overview](./images/UC-PLN-001-0001.drawio.svg)
48+
49+
### Examples:
50+
51+
| vxi_ego | vxi_npc0 | dx_ego_npc0 | time_cut_in_npc0 | axmin_ego |
52+
| ------- | -------- | ----------- | ---------------- | ---------- |
53+
| 20 km/h | 15 km/h | 15 m | 4 s | -1.5 m/s^2 |
54+
| 30 km/h | 20 km/h | 15 m | 4 s | -1.5 m/s^2 |
55+
| 40 km/h | 25 km/h | 15 m | 4 s | -1.5 m/s^2 |

0 commit comments

Comments
 (0)