You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1a558fb
Browse filesBrowse the repository at this point in the historyBrowse files
* feat(traffic_light_compliance_checker): allow when close and cannot stop (#3222)
feat(traffic_light_compliance_checker): allow when close and cannot stop (autowarefoundation#13028)
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
* fix(traffic_light_compliance_checker): improve stop point detection (#3203)
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
* fix(traffic_light_stop): floor scan length with min_lookahead_distance and wire stop time step (#3232)
* fix(traffic_light_stop): check full traj horizon and wire stop time step
At low ego speed the compliance checker capped the scan by comfortable
stopping distance (~0.5 m), missing red stop lines ahead. Also assign
trajectory_time_step_ so the existing 3-point stop fallback uses the
configured step.
Signed-off-by: YuxuanLiuTier4Desktop <619684051@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(traffic_light): floor scan length with min_lookahead_distance
Restore the comfortable-stop scan cap but floor it at 20 m so creeping
ego still sees nearby stop lines, without rejecting far lights in the
shared traffic_light_filter path.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Signed-off-by: YuxuanLiuTier4Desktop <619684051@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* modify tl compliance checker to detect stop attempts at amber light and (optionally) add tl id to force rejection buffer
- update traffic_light_stop params in modifier
- update traffic_light filter params in validator
- update modifier and validator parameter structs
- implement logic to detect stops at ember light and optionally add to force rejection buffer
- update & refactor traffic_light filter tests
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
* refactor tl compliance checker
- update amber rejection hystory while checking for violations instead of post process
- apply allow_if_cannot stop check while checking for violations instead of post process
Signed-off-by: Mohammad Alqudah <alqudah.mohammad@tier4.jp>
* improve crossig time limit logic
compute dynamic time limit for amber light based on tracked tl duration instead of using fixed value param
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
* check the flag reject_if_stop_detected before adding tl to amber_rejection_history_
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
* add test cases to traffic_light_stop and traffic_light_filter
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
* minor refactor
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
---------
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
Signed-off-by: YuxuanLiuTier4Desktop <619684051@qq.com>
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
Signed-off-by: Mohammad Alqudah <alqudah.mohammad@tier4.jp>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Co-authored-by: Yuxuan Liu <619684051@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Mohammad <alqudah.mohammad@tier4.jp>
Copy file name to clipboardExpand all lines: common/autoware_traffic_light_compliance_checker/README.md
+21-18Lines changed: 21 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@ The `traffic_light_compliance_checker` package provides a deterministic validati
5
5
## Core Features
6
6
7
7
1.**Signal State Tracking (`TrafficLightStatusTracker`)**
8
+
8
9
- Eliminates perception jitter and signal flickering by maintaining a temporal state history for each traffic light group ID.
9
10
- Leverages stable duration thresholds before validating a transition to `RED` or `AMBER`.
10
11
- Utilizes a hysteresis buffer to sustain known states during transient object occlusions.
@@ -22,7 +23,7 @@ The `traffic_light_compliance_checker` package provides a deterministic validati
22
23
The execution flow follows a sequential logical from signal processing & filtering down to stop line interaction evaluations:
23
24
24
25
1.**Filter signals and update status tracker:** Feeds raw perception data into the status tracker to clean up transient noise and tracking dropouts.
25
-
2.**Generate Geometric Trajectory Linestring:** Removes path points situated behind the ego vehicle, clamps the forward path length at the maximum required stop distance, and extends trajectory end to account for ego front offset.
26
+
2.**Generate Geometric Trajectory Linestring:** Removes path points situated behind the ego vehicle, clamps the forward path length at `max(min_lookahead_distance, comfortable_stop_distance + stop_overshoot_margin)` (or until the first planned stop), and extends trajectory end to account for ego front offset.
26
27
3.**Extract and group map stop lines:** Sorts overlapping intersection lines into separate evaluation queues for red and amber constraints.
27
28
4.**Evaluate Stop Line Violations:** Checks the trajectory linesting against active stop lines, records detected violations and generate compliance result.
|`deceleration_limit`|`double`| Max deceleration limit during braking ($m/s^2$) for assessing stopping feasibility. |
123
+
|`jerk_limit`|`double`| Max jerk limit during braking ($m/s^3$) for assessing stopping feasibility. |
124
+
|`delay_response_time`|`double`| Combined latency buffer for compute cycle lag and brake actuation (seconds). |
125
+
|`crossing_time_limit`|`double`| Maximum duration allowed for the vehicle to clear an amber light intersection (seconds). |
126
+
|`stop_overshoot_margin`|`double`| Allowed physical distance buffer beyond a stop line for a stopped vehicle (meters). |
127
+
|`allow_if_cannot_stop_distance`|`double`| Distance within which a crossing trajectory is allowed when ego cannot stop before the stop line (meters). |
128
+
|`min_lookahead_distance`|`double`| Minimum forward trajectory length to scan for stop lines, even at low ego speed (meters). |
129
+
|`stable_duration_threshold_red`|`double`| Required continuous duration for a `RED` state to be confirmed as valid (seconds). |
130
+
|`stable_duration_threshold_amber`|`double`| Required continuous duration for an `AMBER` state to be confirmed as valid (seconds). |
131
+
|`stable_duration_threshold_unknown`|`double`| Required continuous duration for an `UNKNOWN` state to be confirmed as valid (seconds). |
132
+
|`amber_rejection_hysteresis_duration`|`double`| Duration to retain an active amber light state if perception updates drop out (seconds). |
133
+
|`ego_stopped_velocity_threshold`|`double`| Velocity threshold beneath which the ego vehicle is considered completely stopped ($m/s$). |
134
+
|`treat_amber_light_as_red_light`|`bool`| If true, disables amber passing logic and treats all amber states as strict red signals. |
135
+
|`treat_unknown_light_as_red_light`|`bool`| If true, evaluates unclassified or blank signal states as strict red signals. |
Copy file name to clipboardExpand all lines: common/autoware_traffic_light_compliance_checker/include/autoware/traffic_light_compliance_checker/structs.hpp
Copy file name to clipboardExpand all lines: common/autoware_traffic_light_compliance_checker/include/autoware/traffic_light_compliance_checker/traffic_light_compliance_checker.hpp
+12-11Lines changed: 12 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -70,29 +70,26 @@ class TrafficLightComplianceChecker
Copy file name to clipboardExpand all lines: common/autoware_traffic_light_compliance_checker/include/autoware/traffic_light_compliance_checker/traffic_light_status_tracker.hpp
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -46,6 +46,13 @@ class TrafficLightStatusTracker
0 commit comments