Skip to content

feat(mpc_lateral_controller) add integrator friendly parameters to mpc lateral control#12301

Open
mkquda wants to merge 2 commits intoautowarefoundation:mainfrom
tier4:T4DEV-50239-add-integrator-friendly-parameters-to-mpc_lateral_control
Open

feat(mpc_lateral_controller) add integrator friendly parameters to mpc lateral control#12301
mkquda wants to merge 2 commits intoautowarefoundation:mainfrom
tier4:T4DEV-50239-add-integrator-friendly-parameters-to-mpc_lateral_control

Conversation

@mkquda
Copy link
Contributor

@mkquda mkquda commented Mar 13, 2026

Description

Add parameter to limit change in steering offset, and implement logic to apply change limit in mpc_lateral_controller

Related links

Parent Issue:

  • Link

How was this PR tested?

PSIM

Notes for reviewers

requires autowarefoundation/autoware_launch#1792

Interface changes

ROS Parameter Changes

Change type Parameter Name Type Default Value Description
Added steering_offset.max_update_th double 0.01 threshold for maximum change in steering offset [rad]

Effects on system behavior

None.

Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
@github-actions
Copy link

github-actions bot commented Mar 13, 2026

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@TaikiYamada4 TaikiYamada4 added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Mar 13, 2026
Signed-off-by: Mohammad <alqudah.mohammad@tier4.jp>
@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 85.71429% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 18.91%. Comparing base (d4106f8) to head (869b955).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
..._lateral_controller/src/mpc_lateral_controller.cpp 85.71% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #12301      +/-   ##
==========================================
+ Coverage   18.36%   18.91%   +0.55%     
==========================================
  Files        1849     1851       +2     
  Lines      128005   128142     +137     
  Branches    45554    45587      +33     
==========================================
+ Hits        23507    24238     +731     
- Misses      85042    85143     +101     
+ Partials    19456    18761     -695     
Flag Coverage Δ *Carryforward flag
daily 20.76% <ø> (+<0.01%) ⬆️ Carriedforward from d4106f8
daily-cuda 18.36% <ø> (+<0.01%) ⬆️ Carriedforward from d4106f8
differential 45.83% <85.71%> (?)
total-cuda 18.36% <ø> (+<0.01%) ⬆️ Carriedforward from d4106f8

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@TaikiYamada4 TaikiYamada4 left a comment

Choose a reason for hiding this comment

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

@mkquda
I believe this PR clamps the update amount of the steer_offset_target between two executions of run() in the mpc_lateral_controller, which only limits the update amount between ctrl_period:=0.03 seconds. Therefore, the controller looks like trying to compensate the steering offset as usual even if the steering_offset_update is larger than expected.

Since this change is aimed to make safe control by preventing the effect of drastic changes of steering_offset_update, I think clamping the value in set_steering_offset makes more sense to me. What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:control Vehicle control algorithms and mechanisms. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)

Projects

Status: To Triage

Development

Successfully merging this pull request may close these issues.

2 participants