openscvx 0.5.3.dev17__tar.gz → 0.5.3.dev18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openscvx-0.5.3.dev17/openscvx.egg-info → openscvx-0.5.3.dev18}/PKG-INFO +1 -1
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/7_dof_arm.py +1 -1
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/rocket/3DoF_pdg.py +17 -12
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/spacecraft/let_transfer.py +1 -2
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/_version.py +3 -3
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18/openscvx.egg-info}/PKG-INFO +1 -1
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/assets/logo.svg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/release-drafter.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/_docs.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/branch-name.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/docs.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/lint.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/nightly.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/release-drafter.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/release.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/tests-integration.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.github/workflows/tests-unit.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.gitignore +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/.gitmodules +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/CONTRIBUTING.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/LICENSE +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/README.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/constraint_reformulation.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/control_parameterization.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/discretization.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/ocp.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/scvx.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/Foundations/time_dilation.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UnderTheHood/batching_jit_grad.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UnderTheHood/lowering_architecture.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UnderTheHood/vectorization_and_vmapping.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/00_introduction.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/01_hello_world_brachistochrone.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/02_drone_racing_constraints.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/03_obstacle_avoidance_vmap.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/04_viewpoint_constraints.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/05_visualization.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/06_logic.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/07_lie.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/08_mpcc.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/09_mjx_dynamics.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/favicon.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/ct-scvx_dark.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/ct-scvx_light.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/ctcs_dark.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/ctcs_light.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/problem_class_dark.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/images/problem_class_light.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/logo.svg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/openscvx_logo_square.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/viser-client/index.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/viser-recordings/drone_racing.viser +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/viser-recordings/franka_fr3v2_pick_place.viser +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/citation.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/examples.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/index.md +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/javascripts/mathjax.js +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/versions.json +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/_viser_embed_export.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/brachistochrone.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/brachistochrone_batched.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/hypersensitive.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/impulsive.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/stl_integer_variable.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/abstract/stl_or.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/7_dof_arm.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/_camera.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/_render.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/_sensor_view.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/dr_vp_polytope.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/franka_fr3v2_pick_place.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/logo.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/3_dof_arm.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/7_dof_arm_collision.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/7_dof_arm_vp.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/franka_fr3v2_pick_place.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/arm/franka_fr3v2_viewplanning.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_disjoint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_obstacle_conditional.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_obstacle_stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_stl_or.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_waypoint_stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/cinema_vp.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/dr_double_integrator.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/dr_vp.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/dr_vp_nodal.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/dr_vp_polytope.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/drone_racing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/logo.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/logo_utils/acl_logo.svg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/logo_utils/svg_path_utils.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/obstacle_avoidance.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/obstacle_avoidance_nodal.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/drone/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/double_cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/skydio_x2_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/triple_cartpole_3d_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/triple_cartpole_game.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mjx/triple_cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/double_integrator_discrete.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/dubins_car_circle_analytical.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/dubins_car_circle_discrete.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/realtime_double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/plotting.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/plotting_viser.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/3DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/6DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/3DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/6DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/cinema_vp_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/drone_racing_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/dubins_car_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/base_problems/obstacle_avoidance_realtime_base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/cinema_vp_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/drone_racing_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/dubins_car_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/obstacle_avoidance_realtime.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/rocket/6DoF_pdg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/spacecraft/halo_orbit.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/spacecraft/hohmann_transfer.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/spacecraft/proxops_cw.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/spacecraft/relative_loitering.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/ctlos_cine.gif +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/ctlos_dr.gif +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/dtlos_cine.gif +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/dtlos_dr.gif +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/openscvx_logo.svg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/openscvx_logo_square.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/oscvx_structure_full_dark.svg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/figures/video_preview.png +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/custom.css +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-dropin.css +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-hero.css +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-viser.css +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/home.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/main.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-diagram.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-dropin-banner.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-hero.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-pipeline.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-viser-strip.html +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/mkdocs.yml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/__main__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/adaptive_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/augmented_lagrangian.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/constant_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/ramp_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/optimization_results.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/scvx/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/scvx/iteration.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/scvx/penalized_trust_region.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/weights.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/config.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/discretize_linearize.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/linearize_discretize.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/linearize_discretize_sparse.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/sparse_utils/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/sparse_utils/bcoo_helpers.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/sparse_utils/sparse_jacobian.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/expert/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/expert/byof.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/expert/lowering.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/expert/validation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/init/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/init/interpolation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/init/inverse_kinematics.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrations/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrations/base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrations/menagerie.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrations/mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrators/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrators/diffrax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/integrators/runge_kutta.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/loader.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/cvxpy_constraints.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/cvxpy_variables.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/dynamics.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/jax_constraints.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/parameters.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/problem.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/lowered/unified.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/plotting.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/scp_iteration.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/animated.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/orbits.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/plotly_integration.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/primitives.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/scp.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/plotting/viser/server.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/problem.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/propagation/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/propagation/post_processing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/propagation/propagation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/base.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/cvxpy_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/moreau_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/solvers/qpax_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/augmentation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/builder.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/constraint_set.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/arithmetic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/control.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/expr.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/lie/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/lie/adjoint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/lie/se3.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/lie/so3.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/parameter.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/spatial.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/state.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/stljax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/time.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/variable.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/expr/vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/hashing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lower.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/_lowerer.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/_registry.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/arithmetic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/control.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/expr.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/cvxpy/state.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/_lowerer.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/_registry.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/arithmetic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/control.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/expr.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/lie.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/spatial.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/state.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/stljax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/lowerers/jax/vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/_registry.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/lie.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/parser.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/spatial.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/stljax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/parser/tokenizer.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/preprocessing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/problem.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/sparsity.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/symbolic/unified.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/cache.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/caching.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/printing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/profiling.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/utils/utils.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx.egg-info/SOURCES.txt +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx.egg-info/dependency_links.txt +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx.egg-info/entry_points.txt +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx.egg-info/requires.txt +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx.egg-info/top_level.txt +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/pyproject.toml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/scripts/gen_example_pages.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/scripts/gen_ref_pages.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/scripts/mkdocs_copy_viser_client_hook.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/setup.cfg +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/_marks.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/_iteration_helpers.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/autotuner/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/autotuner/test_update_weights_jit.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/test_algorithm_state_pytree.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/test_iteration_fn_jit.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/test_iteration_fn_parity.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/algorithms/test_make_solve_loop.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/brachistochrone_analytical.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/conftest.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/expr/test_gmsr.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/fixtures/brachistochrone.json +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/fixtures/brachistochrone.yaml +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/hohmann_analytical.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/integrations/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/integrations/test_mjx.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/integrations/test_mjx_dynamics.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/_iteration_callback_helpers.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_cvxpy_callback_jit_spike.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_iteration_callback_cvxpy.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_iteration_callback_moreau.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_iteration_callback_qpax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_iteration_callback_vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_moreau_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_qpax_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/solvers/test_subproblem_pytree.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_arithmetic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_expr.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_lie.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_node_reference.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_parameters.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_scaling.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_spatial.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_variable.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/expr/test_vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_array.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_constraint.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_lie.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_linalg.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_load.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_logic.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_math.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_parser.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_spatial.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_stl.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_tokenizer.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/parser/test_vmap.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_augmentation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_hashing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_lower_cvxpy.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_lower_jax.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_preprocessing.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_sparsity.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/symbolic/test_unified.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_autotuning.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_cvxpygen_optional.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_discretization.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_examples.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_expert.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_impulsive.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_init.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_integrators.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_loader.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_optimization_results.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_plotting.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_propagation.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_solve_jax_bare_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_solve_jax_jit_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_solve_jax_vmap_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/tests/test_solve_jax_vmap_converged_no_drift.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openscvx
|
|
3
|
-
Version: 0.5.3.
|
|
3
|
+
Version: 0.5.3.dev18
|
|
4
4
|
Summary: A general Python-based successive convexification implementation which uses a JAX backend.
|
|
5
5
|
Author-email: Chris Hayner and Griffin Norris <haynec@uw.edu>
|
|
6
6
|
License: Apache Software License
|
|
@@ -48,7 +48,7 @@ a4 = 0.150 # Wrist to end-effector
|
|
|
48
48
|
inertia = np.array([0.08, 0.06, 0.05, 0.04, 0.02, 0.01, 0.005])
|
|
49
49
|
|
|
50
50
|
# Number of discretization nodes (parameterized by segments between waypoints)
|
|
51
|
-
nodes_per_segment =
|
|
51
|
+
nodes_per_segment = 1
|
|
52
52
|
total_time = 4.0
|
|
53
53
|
|
|
54
54
|
# =============================================================================
|
|
@@ -59,17 +59,26 @@ mass.guess = np.linspace(mass.initial, 1690, n).reshape(-1, 1)
|
|
|
59
59
|
# Define control — thrust force vector [Tx, Ty, Tz]
|
|
60
60
|
thrust = ox.Control("thrust", shape=(3,), parameterization="ZOH")
|
|
61
61
|
|
|
62
|
-
T_bar = 3.1 * 1e3
|
|
62
|
+
T_bar = 3.1 * 1e3 # N, per-engine maximum thrust
|
|
63
63
|
T1 = 0.3 * T_bar
|
|
64
64
|
T2 = 0.8 * T_bar
|
|
65
65
|
n_eng = 6
|
|
66
|
+
T_max = n_eng * T_bar # N, total cluster maximum thrust
|
|
67
|
+
theta_val = 27 * np.pi / 180
|
|
66
68
|
|
|
67
|
-
#
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
# Thrust magnitude envelope (used for CTCS and normalized box/scaling bounds)
|
|
70
|
+
rho_min = n_eng * T1 * np.cos(theta_val)
|
|
71
|
+
rho_max = n_eng * T2 * np.cos(theta_val)
|
|
72
|
+
|
|
73
|
+
# Box bounds on thrust components (physical authority)
|
|
74
|
+
thrust.min = -T_max * np.ones(3)
|
|
75
|
+
thrust.max = T_max * np.ones(3)
|
|
76
|
+
# Tighter scaling bounds for SCP conditioning (active thrust envelope)
|
|
77
|
+
thrust.scaling_min = -rho_max * np.ones(3)
|
|
78
|
+
thrust.scaling_max = rho_max * np.ones(3)
|
|
70
79
|
|
|
71
80
|
# Set initial control guess
|
|
72
|
-
thrust.guess = np.repeat(np.expand_dims(np.array([0, 0,
|
|
81
|
+
thrust.guess = np.repeat(np.expand_dims(np.array([0, 0, rho_max / 2]), axis=0), n, axis=0)
|
|
73
82
|
|
|
74
83
|
# Define list of all states and controls
|
|
75
84
|
states = [position, velocity, mass]
|
|
@@ -82,11 +91,7 @@ g_e = 9.807 # Gravitational acceleration on Earth in m/s^2
|
|
|
82
91
|
# Create parameters for the problem
|
|
83
92
|
I_sp = ox.Parameter("I_sp", value=225.0)
|
|
84
93
|
g = ox.Parameter("g", value=3.7114)
|
|
85
|
-
theta = ox.Parameter("theta", value=
|
|
86
|
-
|
|
87
|
-
# These will be computed symbolically in constraints
|
|
88
|
-
rho_min = n_eng * T1 * np.cos(theta.value) # Minimum thrust-to-weight ratio
|
|
89
|
-
rho_max = n_eng * T2 * np.cos(theta.value) # Maximum thrust-to-weight ratio
|
|
94
|
+
theta = ox.Parameter("theta", value=theta_val)
|
|
90
95
|
|
|
91
96
|
# Generate box constraints for all states
|
|
92
97
|
constraints = []
|
|
@@ -101,8 +106,8 @@ for state in states:
|
|
|
101
106
|
# Thrust magnitude constraints
|
|
102
107
|
constraints.extend(
|
|
103
108
|
[
|
|
104
|
-
ox.ctcs(rho_min <= ox.linalg.Norm(thrust), idx=1),
|
|
105
|
-
ox.ctcs(ox.linalg.Norm(thrust) <= rho_max, idx=1),
|
|
109
|
+
ox.ctcs(rho_min <= ox.linalg.Norm(thrust), idx=1, penalty="huber"),
|
|
110
|
+
ox.ctcs(ox.linalg.Norm(thrust) <= rho_max, idx=1, penalty="huber"),
|
|
106
111
|
]
|
|
107
112
|
)
|
|
108
113
|
|
|
@@ -857,12 +857,11 @@ def _build_let_problem_bundle(float_dtype: str = LET_FLOAT_DTYPE) -> dict:
|
|
|
857
857
|
"diffrax_kwargs": {"atol": integration_tol, "rtol": integration_tol},
|
|
858
858
|
}
|
|
859
859
|
algorithm = {
|
|
860
|
-
"k_max": 150,
|
|
861
860
|
"lam_prox": 5e-2,
|
|
862
861
|
"lam_vc": 3e1,
|
|
863
862
|
"lam_vb": 2e-1,
|
|
864
863
|
"lam_cost": 0.5,
|
|
865
|
-
"ep_tr": 1e-
|
|
864
|
+
"ep_tr": 1e-8,
|
|
866
865
|
"ep_vc": 1e-6,
|
|
867
866
|
"autotuner": ox.AugmentedLagrangian(),
|
|
868
867
|
}
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.5.3.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 5, 3, '
|
|
21
|
+
__version__ = version = '0.5.3.dev18'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 5, 3, 'dev18')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gae09f2b29'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openscvx
|
|
3
|
-
Version: 0.5.3.
|
|
3
|
+
Version: 0.5.3.dev18
|
|
4
4
|
Summary: A general Python-based successive convexification implementation which uses a JAX backend.
|
|
5
5
|
Author-email: Chris Hayner and Griffin Norris <haynec@uw.edu>
|
|
6
6
|
License: Apache Software License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UnderTheHood/vectorization_and_vmapping.md
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/01_hello_world_brachistochrone.md
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/UsersGuide/02_drone_racing_constraints.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/docs/assets/viser-recordings/drone_racing.viser
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/franka_fr3v2_pick_place.py
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/animations/obstacle_avoidance_vmap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/car/dubins_car_obstacle_conditional.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/mpc/double_integrator_drone_racing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/examples/realtime/obstacle_avoidance_realtime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/custom.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-dropin.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-hero.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/assets/stylesheets/home-viser.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-dropin-banner.html
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-pipeline.html
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/material/overrides/partials/home-viser-strip.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/augmented_lagrangian.py
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/autotuner/ramp_proximal_weight.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/algorithms/scvx/penalized_trust_region.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/discretize_linearize.py
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/linearize_discretize.py
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/linearize_discretize_sparse.py
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/sparse_utils/__init__.py
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev17 → openscvx-0.5.3.dev18}/openscvx/discretization/sparse_utils/bcoo_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|