feat(autoware_path_optimizer): new path optimizer#11479
feat(autoware_path_optimizer): new path optimizer#11479PanConChicharron wants to merge 14 commits intoautowarefoundation:mainfrom
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
1613a9f to
cc8f343
Compare
7bd5baa to
0e85f57
Compare
3b86328 to
9657ca6
Compare
d5bad89 to
e3cd1c9
Compare
2b99c1b to
f0a30ae
Compare
5c2fb18 to
6ef27b1
Compare
6f23d49 to
261bed3
Compare
e713b67 to
c0c73ce
Compare
ac5963c to
3f03750
Compare
8006537 to
a768ae0
Compare
Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
minutes from meetingPotential solutions to install acados library:
General notes:
Conclusion:
In the long term, we should make updates to acados to become more portable |
xmfcx
left a comment
There was a problem hiding this comment.
I made very large scale simplifications to both cmakelists files.
It compiles for me.
Please apply and let's keep discussing over them.
Summary of my changes on the CMakeLists.txt files
This diff refactors the CMake build system to simplify how acados is integrated into the autoware_path_optimizer package.
Before
- Located acados via relative workspace paths (
../../../external/acados) - Built acados from source if no pre-built version was found
- Built
t_rendererfrom Rust source viacargo - Manually declared all imported static libraries (acados, blasfeo, hpipm, qpoases)
- Installed all acados headers and libraries for downstream packages
After
- Assumes acados is pre-installed at
/opt/acados(via Ansible playbooksetup_acados) - Uses standard
find_package(acados)to locate the dependency - Uses acados's bundled
.venvPython interpreter for MPC code generation - Links only against the top-level
acadostarget — transitive deps (blasfeo, hpipm, qpoases) are handled by the installed package - No manual header/library installation
Effect
A cleaner "assume the dependency is pre-installed" approach, replacing a complex "build/find everything ourselves" approach.
Line Count Reduction
| File | Before | After | Reduction |
|---|---|---|---|
CMakeLists.txt (root) |
128 lines | 42 lines | ~67% |
src/acados_mpc/CMakeLists.txt |
218 lines | 75 lines | ~66% |
| Combined | 346 lines | 117 lines | ~66% |
Roughly two-thirds of the CMake code was removed.
Co-authored-by: Mete Fatih Cırıt <mfc@autoware.org>
Thanks! The changes are very welcome! |
|
Once https://github.com/autowarefoundation/autoware/actions/runs/22347469425/job/64665710677 is finished, the CI will start using the new images that has acados. The dependency installation and cmakelists side of things look alright now 👍 I'll leave the actual code review to the original code owners. |
Thank you! |
Description
Design:
https://tier4.atlassian.net/wiki/spaces/~712020794ae44077c44b7e9a5aa2cb085494fb/pages/3801186884/MPT+Redesign
Results after Integration:
https://tier4.atlassian.net/wiki/spaces/~712020794ae44077c44b7e9a5aa2cb085494fb/pages/3857515047/Integration+with+Autoware
Core changes:
Launcher changes:
Related links
Following should be merged first:
Private Links:
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.