-
Notifications
You must be signed in to change notification settings - Fork 16
Comparing changes
Open a pull request
base repository: astomodynamics/cddp-cpp
base: master
head repository: astomodynamics/cddp-cpp
compare: feat/alddp
- 16 commits
- 17 files changed
- 1 contributor
Commits on Mar 29, 2026
-
Add Python bindings and make Matplot integration optional
This PR adds a pybind11-based pycddp package with bindings for solver options, dynamics, objectives, constraints, and solver execution, along with Python integration tests and packaging metadata. It also makes Matplot-dependent includes and test links optional, adds CMake package installation metadata, and prepares the core library for shared-library consumers such as the Python module.
Configuration menu - View commit details
-
Copy full SHA for c91e518 - Browse repository at this point
Copy the full SHA c91e518View commit details
Commits on Mar 30, 2026
-
Fix Docker configure failure from exported Matplot link
This keeps matplot and CDDP_HAS_MATPLOT available to in-tree builds while removing them from the installed cddp target interface, which avoids the cddpTargets export error. It also cleans the Docker build step to use explicit CMake and CTest commands and removes the unused Python executable flag.
Configuration menu - View commit details
-
Copy full SHA for 277d523 - Browse repository at this point
Copy the full SHA 277d523View commit details -
Fix package exports and Python binding ownership
This updates the installed CMake and Python package layouts so downstream consumers can find cddp headers and import pycddp after install. It also replaces the unsafe raw-pointer Python ownership handoff with Python-backed solver adapters, acquires the GIL for Python callbacks, and removes the legacy Matplot-driven build surface from the default configuration.
Configuration menu - View commit details
-
Copy full SHA for 0fa9842 - Browse repository at this point
Copy the full SHA 0fa9842View commit details -
Fix Python solver validation and callback errors
This raises Python-facing errors for invalid solver names and initial trajectories while preserving the existing C++ API behavior. It also releases the GIL around solve(), rethrows threaded callback failures, and adds regression tests for nonlinear objectives and solution fields.
Configuration menu - View commit details
-
Copy full SHA for 69c15b2 - Browse repository at this point
Copy the full SHA 69c15b2View commit details -
Fix Python constraint trampolines and line search fallback
This restores parallel forward-pass behavior so a successful alpha still wins when another trial throws. It also adds a Python Constraint trampoline plus regression coverage so custom path constraints can be defined and dispatched through the solver.
Configuration menu - View commit details
-
Copy full SHA for d2bc543 - Browse repository at this point
Copy the full SHA d2bc543View commit details -
Fix Python diagnostics and clean dead Matplot tests
Improve Python import/autodiff error reporting and clarify solver ownership docs. Handle parallel derivative precompute exceptions after draining worker futures, and delete unreachable Matplot test code instead of preserving dead guards.
Configuration menu - View commit details
-
Copy full SHA for a941218 - Browse repository at this point
Copy the full SHA a941218View commit details -
Fix GTest installation during test builds
Force INSTALL_GTEST off before fetching googletest so enabling CDDP_CPP_BUILD_TESTS does not install the bundled dependency alongside cddp.
Configuration menu - View commit details
-
Copy full SHA for 098ece1 - Browse repository at this point
Copy the full SHA 098ece1View commit details -
Fix Python wrapper cleanup and forward pass diagnostics
Release Python-owned wrapper references under the GIL so bound solver components are cleaned up safely. Also log partial forward-pass thread failures in verbose mode to make solver issues easier to diagnose.
Configuration menu - View commit details
-
Copy full SHA for d3b220b - Browse repository at this point
Copy the full SHA d3b220bView commit details -
Fix Python solver error message regression test
Update the regression assertion to match the current actionable\nbinding message raised when set_initial_trajectory is called\nbefore a dynamical system is configured.
Configuration menu - View commit details
-
Copy full SHA for d4bcf75 - Browse repository at this point
Copy the full SHA d4bcf75View commit details -
Configuration menu - View commit details
-
Copy full SHA for af1ccfd - Browse repository at this point
Copy the full SHA af1ccfdView commit details
Commits on Mar 31, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 9b9b7e9 - Browse repository at this point
Copy the full SHA 9b9b7e9View commit details -
Fix Python build dependencies and install paths
Pin pybind11 to <3 to avoid incompatibility with older bindings. Install the Python extension and package files into the pycddp target directory directly.
Configuration menu - View commit details
-
Copy full SHA for 2eb8399 - Browse repository at this point
Copy the full SHA 2eb8399View commit details -
Add ALDDP solver implementation and tests
Wire the augmented Lagrangian DDP solver into the core library, expose its options in the Python bindings, and register it as a built-in solver type. Add focused ALDDP coverage for constrained, infeasible-start, and square-root backward-pass scenarios.
Configuration menu - View commit details
-
Copy full SHA for eb4c208 - Browse repository at this point
Copy the full SHA eb4c208View commit details
Commits on Apr 2, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 18d6e8d - Browse repository at this point
Copy the full SHA 18d6e8dView commit details
Commits on Apr 3, 2026
-
Configuration menu - View commit details
-
Copy full SHA for fc76f09 - Browse repository at this point
Copy the full SHA fc76f09View commit details -
Fix warm-start handling in constrained solvers
Reuse solver state across repeated constrained solves so warm starts can keep their gains, and refresh ALDDP slack controls when a new trajectory seed is supplied. Simplify LogDDP barrier evaluation for single-shooting mode and add regression tests for reseeded trajectories and invalid rollout options.
Configuration menu - View commit details
-
Copy full SHA for 39604d3 - Browse repository at this point
Copy the full SHA 39604d3View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...feat/alddp