Skip to content

Add ACADOS cycling MHE support#28

Open
mickaelbegon wants to merge 15 commits into
pyomeca:mainfrom
mickaelbegon:pyomeca-main/acados-cycling-mhe
Open

Add ACADOS cycling MHE support#28
mickaelbegon wants to merge 15 commits into
pyomeca:mainfrom
mickaelbegon:pyomeca-main/acados-cycling-mhe

Conversation

@mickaelbegon

@mickaelbegon mickaelbegon commented May 7, 2026

Copy link
Copy Markdown

Summary

  • add ACADOS build/install guidance and a setup helper for conda environments
  • add a torque-driven cycling moving-horizon example that solves through ACADOS
  • make the FES pulse-width ACADOS limitation explicit because bioptim 3.4 does not export its numerical time series as ACADOS parameters

Note

Validation

  • python3 -m py_compile run_endurance_weighted_mhe.py examples/fes_multibody/cycling/cycling_pulse_width_mhe.py examples/fes_multibody/cycling/cycling_mhe_acados.py
  • git diff --check
  • built local ACADOS in /Users/mickaelbegon/Documents/bioptim/external/acados
  • installed acados_template editable into conda env cocofest-bayes
  • downloaded t_renderer through acados_template
  • ran cycling_mhe_acados.main(codegen_dir="/private/tmp/cycling_mhe_acados_codegen") with ACADOS_SOURCE_DIR and DYLD_LIBRARY_PATH set

This change is Reviewable

@mickaelbegon mickaelbegon force-pushed the pyomeca-main/acados-cycling-mhe branch from 0e78d22 to 33abcfa Compare May 8, 2026 12:53
@mickaelbegon mickaelbegon force-pushed the pyomeca-main/acados-cycling-mhe branch from 33abcfa to 98fa453 Compare May 8, 2026 13:15
@mickaelbegon mickaelbegon force-pushed the pyomeca-main/acados-cycling-mhe branch from 98fa453 to 497886f Compare May 9, 2026 17:09
@mickaelbegon mickaelbegon force-pushed the pyomeca-main/acados-cycling-mhe branch from 497886f to ac0ef5d Compare May 18, 2026 11:59
@mickaelbegon

Copy link
Copy Markdown
Author

I rebuilt this branch on top of the cleaned bioptim 3.4 migration PR so the diff is now limited to the ACADOS setup + compact cycling MHE examples.

Current scope:

  • docs/acados_environment.md
  • scripts/setup_acados_for_conda_env.sh
  • examples/fes_multibody/cycling/cycling_mhe_acados.py
  • examples/fes_multibody/cycling/cycling_mhe_solver_comparison.py

I also removed the CLI parser from the comparison script to stay aligned with the feedback style already raised on PR #27.

Validation on my side:

  • python -m py_compile on both ACADOS example files
  • ACADOS/IPOPT comparison smoke run completed locally on a short window

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.

1 participant