Skip to content

Check for excessive lateral actuation #35700

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 38 commits into
base: master
Choose a base branch
from
Draft

Check for excessive lateral actuation #35700

wants to merge 38 commits into from

Conversation

sshane
Copy link
Contributor

@sshane sshane commented Jul 12, 2025

Closes #35695

@sshane sshane marked this pull request as draft July 12, 2025 05:07
@@ -758,6 +758,12 @@ def invalid_lkas_setting_alert(CP: car.CarParams, CS: car.CarState, sm: messagin
ET.NO_ENTRY: NoEntryAlert("Distraction Level Too High"),
},

EventName.lateralIsoViolation: {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
EventName.lateralIsoViolation: {
EventName.unreasonableLateralActuation: {
Suggested change
EventName.lateralIsoViolation: {
EventName.abnormalLateralActuation: {

?

@sshane
Copy link
Contributor Author

sshane commented Jul 19, 2025

@adeebshihadeh Here's 3 examples out of just 1000 random local segments where the user overrides above 2x ISO lateral accel limit while enabled. Do we want this to lock out for the rest of the drive?:

Peek.2025-07-18.21-26.mp4
Peek.2025-07-18.21-27.mp4
Peek.2025-07-18.21-27-2.mp4

@adeebshihadeh
Copy link
Contributor

No I’d hope those look a lot different than the EV6 segment.

@sshane sshane changed the title Check for ISO lateral violations Check for excessive lateral actuation Jul 26, 2025
@sshane
Copy link
Contributor Author

sshane commented Jul 29, 2025

We don't have any standard way of measuring jerk of a signal I can use as a reference, so I checked a few approaches. I added a script to plot different simple methods on the route from #35683.

The low pass and the windowed methods can be noisy. Low pass is especially noisy if you update it at 100 Hz when livePose is 20 Hz, so you need to only update it when you get a livePose.

Windowed and kalman filter is the most accurate, kalman filter is the smoothest.

. .
image image

Here's what 100 Hz low pass filter looks like:

. .
image image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Detect and lock out on excessive actuation
2 participants