Skip to content
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

refactor(mpc_lateral_controller): add debug info of qp solver #5459

Conversation

kyoichi-sugahara
Copy link
Contributor

@kyoichi-sugahara kyoichi-sugahara commented Nov 1, 2023

Description

🤖 Generated by Copilot at d98b7bb

This pull request adds three virtual functions to the QPSolverInterface class to retrieve the solver performance information, and implements them in the QPSolverOsqp and QPSolverUnconstraintFast classes. It also modifies the MPC class to use these functions and publish the solver performance as part of the diagnostic data.

I have added iteration_num, runtime, and objective_value to the topic used for debugging purposes.

Please note: If the QPSolverEigenLeastSquareLLT solver is selected, it is not possible to retrieve information.

image

Tests performed

Not applicable.

Effects on system behavior

Not applicable.

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Signed-off-by: kyoichi-sugahara <[email protected]>
@github-actions github-actions bot added the component:control Vehicle control algorithms and mechanisms. (auto-assigned) label Nov 1, 2023
@kyoichi-sugahara kyoichi-sugahara marked this pull request as ready for review November 2, 2023 07:28
Copy link
Contributor

@TakaHoribe TakaHoribe left a comment

Choose a reason for hiding this comment

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

lgtm

@kyoichi-sugahara kyoichi-sugahara added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Nov 2, 2023
Copy link

codecov bot commented Nov 2, 2023

Codecov Report

Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (4e00bf2) 14.84% compared to head (64bffaf) 14.85%.
Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5459   +/-   ##
=======================================
  Coverage   14.84%   14.85%           
=======================================
  Files        1665     1666    +1     
  Lines      116231   116241   +10     
  Branches    36256    36259    +3     
=======================================
+ Hits        17259    17265    +6     
- Misses      79473    79474    +1     
- Partials    19499    19502    +3     
Flag Coverage Δ *Carryforward flag
differential 46.14% <60.00%> (?)
total 14.84% <ø> (ø) Carriedforward from 4e00bf2

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

Files Coverage Δ
...pc_lateral_controller/qp_solver/qp_solver_osqp.hpp 75.00% <100.00%> (+75.00%) ⬆️
...ntroller/qp_solver/qp_solver_unconstraint_fast.hpp 100.00% <100.00%> (ø)
...hicle/raw_vehicle_cmd_converter/src/csv_loader.cpp 67.27% <ø> (ø)
...teral_controller/qp_solver/qp_solver_interface.hpp 66.66% <66.66%> (ø)
control/mpc_lateral_controller/src/mpc.cpp 46.92% <0.00%> (-0.37%) ⬇️

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

@kyoichi-sugahara kyoichi-sugahara merged commit ee20545 into autowarefoundation:main Nov 4, 2023
33 of 34 checks passed
@kyoichi-sugahara kyoichi-sugahara deleted the refactor/mpc_debug_solver_info branch November 4, 2023 17:11
kyoichi-sugahara added a commit to kyoichi-sugahara/autoware.universe that referenced this pull request Nov 7, 2023
…refoundation#5459)

* add debug info of qp solver

Signed-off-by: kyoichi-sugahara <[email protected]>

* no info for EigenLeastSquareLLT

Signed-off-by: kyoichi-sugahara <[email protected]>

* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
TomohitoAndo pushed a commit to tier4/autoware.universe that referenced this pull request Jan 18, 2024
…refoundation#5459)

* add debug info of qp solver

Signed-off-by: kyoichi-sugahara <[email protected]>

* no info for EigenLeastSquareLLT

Signed-off-by: kyoichi-sugahara <[email protected]>

* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
TomohitoAndo pushed a commit to tier4/autoware.universe that referenced this pull request Jan 19, 2024
…refoundation#5459)

* add debug info of qp solver

Signed-off-by: kyoichi-sugahara <[email protected]>

* no info for EigenLeastSquareLLT

Signed-off-by: kyoichi-sugahara <[email protected]>

* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
TomohitoAndo pushed a commit to TomohitoAndo/autoware.universe that referenced this pull request Jan 24, 2024
…refoundation#5459)

* add debug info of qp solver

Signed-off-by: kyoichi-sugahara <[email protected]>

* no info for EigenLeastSquareLLT

Signed-off-by: kyoichi-sugahara <[email protected]>

* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
TomohitoAndo added a commit to tier4/autoware.universe that referenced this pull request Feb 1, 2024
…refoundation#5459) (#1098)

* add debug info of qp solver



* no info for EigenLeastSquareLLT



* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: Kyoichi Sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
saka1-s pushed a commit to saka1-s/autoware.universe that referenced this pull request Feb 2, 2024
…refoundation#5459) (autowarefoundation#1098)

* add debug info of qp solver



* no info for EigenLeastSquareLLT



* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: Kyoichi Sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
saka1-s added a commit to tier4/autoware.universe that referenced this pull request Mar 11, 2024
* feat(avoidance): keep stopping until all shift lines are registered

Signed-off-by: satoshi-ota <[email protected]>

* feat(map_loader): display curbstone as marker array (autowarefoundation#4958)

display curbstone as marker array

Signed-off-by: Shohei Sakai <[email protected]>
Co-authored-by: kminoda <[email protected]>

* revert refactoring due to cherry-pick

* feat(ndt_scan_matcher): use glog (autowarefoundation#5465) (#1031)

* feat(ndt_scan_matcher): use glog



* style(pre-commit): autofix

* update



* style(pre-commit): autofix

---------

Signed-off-by: kminoda <[email protected]>
Co-authored-by: kminoda <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat(out_of_lane): improve reuse of previous decision (#1017)

* Do not directly reuse a prev stop point but project it on the new path

Signed-off-by: Maxime CLEMENT <[email protected]>

* Improve reuse of the previously inserted stop point

Signed-off-by: Maxime CLEMENT <[email protected]>

* Fix precision of inserted stop point

Signed-off-by: Maxime CLEMENT <[email protected]>

---------

Signed-off-by: Maxime CLEMENT <[email protected]>

* fix(system_monitor): output command line (autowarefoundation#5430) (#1057)

* fix(system_monitor): output command line



* style(pre-commit): autofix

---------

Signed-off-by: takeshi.iwanari <[email protected]>
Co-authored-by: takeshi-iwanari <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* chore: pull tracking object merger from awf/main

Signed-off-by: yoshiri <[email protected]>

* feat(intersection): check path margin for overshoot vehicles on red light (autowarefoundation#5394) (#1056)

Co-authored-by: Mamoru Sobue <[email protected]>

* fix(ndt_scan_matcher): delete diagnostics thread (autowarefoundation#5532)

Signed-off-by: yamato-ando <Yamato ANDO>
Co-authored-by: yamato-ando <Yamato ANDO>

* fix(ndt_scan_matcher): delete unmerged feature

* fix(ndt_scan_matcher): fixed a lock scope in update_ndt (autowarefoundation#5951)

Fixed the lock scope in update_ndt

Signed-off-by: Shintaro SAKODA <[email protected]>

* fix(static_drivable_area_expansion): fix bug in expansion logic for hatched road marking (autowarefoundation#5842) (#1075)

fix(utils): fix drivable area expansion logic for zebra zone

Signed-off-by: satoshi-ota <[email protected]>

* fix(bvp): traffic light state debug (#1083)

Signed-off-by: Mehmet Dogru <[email protected]>

* fix(traffic_light): stop if the traffic light signal timed out (autowarefoundation#5819) (#1124)

* fix(traffic_light): stop if the traffic light signal timed out



* fix(traffic_light): fix README format



---------

Signed-off-by: Fumiya Watanabe <[email protected]>
Signed-off-by: Tomohito Ando <[email protected]>
Co-authored-by: Fumiya Watanabe <[email protected]>

* refactor(mpc_lateral_controller): add debug info of qp solver (autowarefoundation#5459) (#1098)

* add debug info of qp solver



* no info for EigenLeastSquareLLT



* return 0 in base class

---------

Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: Kyoichi Sugahara <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

---------

Signed-off-by: satoshi-ota <[email protected]>
Signed-off-by: Shohei Sakai <[email protected]>
Signed-off-by: kminoda <[email protected]>
Signed-off-by: Maxime CLEMENT <[email protected]>
Signed-off-by: takeshi.iwanari <[email protected]>
Signed-off-by: yoshiri <[email protected]>
Signed-off-by: yamato-ando <Yamato ANDO>
Signed-off-by: Shintaro SAKODA <[email protected]>
Signed-off-by: Mehmet Dogru <[email protected]>
Signed-off-by: Fumiya Watanabe <[email protected]>
Signed-off-by: Tomohito Ando <[email protected]>
Signed-off-by: kyoichi-sugahara <[email protected]>
Co-authored-by: satoshi-ota <[email protected]>
Co-authored-by: kminoda <[email protected]>
Co-authored-by: Tomohito ANDO <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Maxime CLEMENT <[email protected]>
Co-authored-by: takeshi-iwanari <[email protected]>
Co-authored-by: yoshiri <[email protected]>
Co-authored-by: Mamoru Sobue <[email protected]>
Co-authored-by: Yamato Ando <[email protected]>
Co-authored-by: Shinnosuke Hirakawa <[email protected]>
Co-authored-by: SakodaShintaro <[email protected]>
Co-authored-by: Satoshi OTA <[email protected]>
Co-authored-by: Mehmet Dogru <[email protected]>
Co-authored-by: Fumiya Watanabe <[email protected]>
Co-authored-by: Kyoichi Sugahara <[email protected]>
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
None yet
Development

Successfully merging this pull request may close these issues.

2 participants