Releases: pyomeca/bioptim
TooMuchToTell
What's maintainers? Have you forgotten me? I need to get free! I need releases!
Now there are too much changes to tell the most important one... You made this to yourself! So people, enjoy the new me!
What's Changed
- [RTR] Add state and control bounds using constraints by @mickaelbegon in #817
- Fixed parameters optimization for multiple phases by @pariterre in #819
- Fix on custom_model.py + test by @Ipuch in #822
- fix: restore example simulation in getting started by @Ipuch in #823
- [RTR] fix key in minimize parameters -tests/examples will be created afterwards by @mickaelbegon in #834
- [RTM when modify] spring load - explore more objective function - tests will come later by @mickaelbegon in #840
- [RTM after next push] SOCP: Making the noise dependant on the states + controls by @EveCharbie in #809
- [RTM after push] Provide two examples of minmax OCP with extra parameters by @mickaelbegon in #835
- feat: test_entry_size; bound_checking biorbd_model by @Infa60 in #832
- [RTM?] SOCP collocation scaling by @EveCharbie in #842
- Implemented time in dynamic by @pariterre in #843
- scouting by @pariterre in #845
- Fixing Lagrange multipliers plotting by @SamHybz in #849
- doc(biorbd_holonomic_model) by @Ipuch in #847
- [RTR] Parameters uniformisation by @EveCharbie in #846
- Correcting RK4 and RK8 time integration calculation by @Kev1CO in #850
- [RTR] Fixing target plots by @EveCharbie in #851
- [RTR] refactor(maintaining plots) by @Ipuch in #855
- [RTM when tests pass] Extra checks in holonomic model by @Ipuch in #854
- [RTR] Implement manual graph display for pendulum test by @EveCharbie in #856
- [RTR] FIX: example which had an unexpected behavior, and a new that new implementation should pass by @Mart1t1 in #826
- [RTM when test passes] Fix self[phase] in path condition by @Kev1CO in #860
- [RTM after next push] fix: linear continuous multiphase continuity by @Ipuch in #857
- [RTR] catching when reading by @Ipuch in #861
- [RTR] Fix sol.integrate shooting.single continuity by @Kev1CO in #859
- mamba by @EveCharbie in #864
- [RTM] external forces as symbolic variables to allow multi-threading by @EveCharbie in #865
- [RTR] bounds in model clarified by @Ipuch in #862
- Delete Notes by @Ipuch in #870
- Needed to merge the two PRs here by @EveCharbie in #867
- [RTR] Save IPOPT output by @EveCharbie in #871
- [RTR] very small doc addition by @EveCharbie in #873
- doc: image equation in doc by @Ipuch in #875
- [RTR] Fixed friction by @Ipuch in #876
- Fixing multi_biorbd_model by @pariterre in #879
- docs: scoot numerical_time_series by @Ipuch in #878
- Fixed ACADOS for Macos by @pariterre in #880
- [RTR] graphs: fix the holonomic case by @Ipuch in #884
- holonomic graph multiphase multi all combinations by @Ipuch in #885
- feat: pyorerun interfaced by @Ipuch in #882
- Time dependent tests by @Kev1CO in #886
- [RTM] New plotting! by @pariterre in #887
- Removed useless recomputing of yticks by @pariterre in #890
- Fixing some problem MULTIPROCESS_SERVER by @pariterre in #888
New Contributors
Full Changelog: Release_3.2.0...Release_3.2.1
SpringCleaning
Over the time, dust accumulate to the point you don't see the floor anymore... electronic code does not make exception! Therefore Bioptimn needed a huge dedusting from years of development
SpringCleaning is a rewrite of the core dynamics of bioptim, not so much of the API except for few breaking changes. All in all, this is a very welcome breath of fresh air for Bioptim!
What's Changed
- [RTR] fix on live optimization by @Ipuch in #702
- [RTM] Bug and BoundsList by @20chupin in #703
- [RTM] Ipopt options were problematic by @Ipuch in #709
- [RTM] IntegralApproximation -> QuadratureRule by @20chupin in #704
- [RTM] restoring the right types for protocols and markervelocities by @Ipuch in #708
- BiorrbdModelHolonomic and VariationalBiorbdModel in core by @20chupin in #699
- [RTR] some little test on preparing the data for animation of tracked markers. by @Ipuch in #714
- [RTR] StochastiOCP merge by @EveCharbie in #715
- [RTR] solver options ipopt test by @Ipuch in #723
- [RTM] Restoring bounds on graphs by @EveCharbie in #724
- [RTM] show bounds test in ocp by @Ipuch in #728
- [RTM if tests pass] implicit formulation of the SOCP by @EveCharbie in #721
- [RTM] added multi-node penalties to objective plots by @EveCharbie in #726
- Made expand modifiable from API by @pariterre in #727
- [RTM when answered] Add min power (joint and muscle) - typo in Readme - new strategy of CI by @mickaelbegon in #733
- [RTM if tests pass] Cholesky decomposition of the covariance matrix by @EveCharbie in #731
- [RTM when #733 is merged] controls piecewise constant with last node by @EveCharbie in #737
- change way to report coverage by @mickaelbegon in #740
- [RTR] s_scaling good version by @EveCharbie in #734
- [RTM] add trapezoidal integrator by @EveCharbie in #738
- [RTM] Not compute the defects if not in implicit by @EveCharbie in #742
- DMOCC now working entirely with honomic constraints. by @Ipuch in #736
- [RTR] Refactor new_variable by @Ipuch in #730
- [RTM] collocations for SOCP by @EveCharbie in #744
- [RTM when tests pass] changed reshape_to_vector/matrix for good (test breaking) by @EveCharbie in #750
- [RTM when tests pass] Including custom functions as built-ins for stochastic problems by @EveCharbie in #743
- [RTR] Multi-threading in SOCP_COLLOCATION by @EveCharbie in #753
- [RTR] extra models for futher computations by @Ipuch in #757
- [To be deleted] Running tests on all platforms by @pariterre in #758
- [WIP] Unique dynamic function for time dependent problem by @Kev1CO in #718
- [RTR] tiny commit to help everyone debugging by @Ipuch in #760
- [RTR] Multimodel, I need animation and displaced the file for more convinience by @Ipuch in #761
- [RTM] Wild refactor trying to understand what's going on in compute_values for graphics by @Ipuch in #762
- Fixed custom_plot by @pariterre in #767
- [RTR] Unit test on helper function. by @Ipuch in #764
- Migrating to biorbd 1.10.0 by @pariterre in #768
- [RTM when tests pass] Time dependent test correction by @Kev1CO in #759
- FIxed a bug of time in plot for multiphase programs by @pariterre in #769
- Update README.md with PhaseDynamics instead of assume_phase_dynamics by @Ipuch in #774
- get_u isolated as a helper+ unit test by @Ipuch in #775
- [RTM when ping] SOCP_COLLOCATION corrections to make it right :) by @EveCharbie in #771
- [RTR] removing assume_phase from readme by @Kev1CO in #777
- [RTM when tests pass] external forces moved out of ocp too by @Ipuch in #779
- [RTM when tests pass] Using integrate_extra_dynamics instead of duplicating code by @EveCharbie in #780
- [RTR] Stochastic variables should not be inputs of OCP by @Ipuch in #765
- [RTM when tested] Added a multi-node constraint for the total duration of the movement by @EveCharbie in #782
- [RTM] Added more complex example of optimal estimation by @EveCharbie in #784
- Minibug patch by @Ipuch in #786
- some unit test in integration for stability purpose. by @Ipuch in #785
- [RTR] Solving a critical issue of codeclimate by @Ipuch in #788
- [RTR] Try to refactor a bit the initialisation of Solution by @Ipuch in #787
- [RTM when tests pass] Refactor solution with classmethods by @Ipuch in #789
- [RTM when tests pass] Breaking up solution in multiple scripts by @Ipuch in #790
- [RTR] Udpate min max + test by @Ipuch in #798
- [RTR] duplicate_collocation_starting_point by @Ipuch in #796
- [RTR] Refactoring solver interface utils for the better by @Ipuch in #793
- [RTR] Mayer_TRACK_CONTACT_FORCES by @Alpha2Shahiri in #797
- [RTM when tests pass] Reorganize files by @Ipuch in #792
- [RTM] Added the commit ID + version to sol by @EveCharbie in #806
- Major refactor towards 3.2.0 by @pariterre in #814
- [RTM] Commit for mickael by @Ipuch in #811
- [RTM] yml code climate by @Ipuch in #800
- Final stretch of the reformating! by @pariterre in #816
New Contributors
- @Alpha2Shahiri made their first contribution in #797
Full Changelog: Release_3.1.0...Release_3.2.0
TheNewOrder
The new order is a deep state conspiracy... Here at pyomeca, we believe in shallow state, still we need to be ordered anyway. So thanks to the new way of declaring initial guesses and bounds, no one can be mistaken anymore on the order of the variables!
What's Changed
- [RTR] Multi Biorbd Model by @EveCharbie in #625
- Selection Mapping (to simplify BiMapping of variables call) by @lsechoir in #619
- extract final cycles of Cyclic NMPC and evaluate the cost of sub cycles by @Ipuch in #633
- [RTM if tests pass] inverse OCP by @EveCharbie in #635
- [RTR] Fixing a bug on BiMapping by @20chupin in #636
- [RTM] Sample data control by @Kev1CO in #628
- [RTR] Reverted the default behavior of copying the mappings by @EveCharbie in #639
- [RTM] moving test to make windows test pass by @Ipuch in #640
- [RTM] Work around for the memory leak in the meantime by @EveCharbie in #645
- [RTM] New multi-start debug options by @lsechoir in #634
- [RTR] added an objective function to minimize the angle between two vectors by @EveCharbie in #649
- [RTM] added an objective to minimize JCS orientation by @EveCharbie in #648
- [RTM] Added intercept for proportional states/controls by @EveCharbie in #646
- [RTM] sol.graphs crashes if Meyer term in objective by @lsechoir in #644
- [RTR] Quickly restoring same dynamics in phases and multithreading efficiency. by @Ipuch in #652
- Correction to TRACK_VECTOR_ORIENTAION_FROM_MARKERS by @EveCharbie in #651
- troubleshoot DOCUMENTATION by @Ipuch in #656
- [RTR] CX for each node by @AnaisFarr in #630
- Fix for Casadi 3.6.2 on Mac by @pariterre in #660
- [RTR] Enable cost fun evaluation with control type none by @Kev1CO in #658
- Changed default value for show_online by @pariterre in #661
- [RTR] Maintain biorbdModel and MultiBiorbdModel health by @Ipuch in #662
- [RTM] bug with states mapping while using multimodel by @lsechoir in #647
- Replaced state["scaled"] by state.scaled by @pariterre in #663
- Started to change [0] for node_index by @pariterre in #668
- [RTR] Test for map_states and map_controls by @EveCharbie in #671
- [RTR] bug with derivative=True and node=Node.ALL by @EveCharbie in #670
- [RTR] Enable nlp.time(node_index) and ocp.time(phase_index, node_index) by @Kev1CO in #659
- Continuing integrating proper assume_phase_dynamics by @pariterre in #673
- [RTR] empty initial guess / scaling problem by @EveCharbie in #666
- Fixed parameters when assume_phase_dynamics is False by @pariterre in #674
- Finalizing tests for assume_phase_dynamics=False by @pariterre in #675
- Validated more global tests for assume_phase_dynamics True and False by @pariterre in #676
- Made the BioModel protocol working with @properties by @pariterre in #678
- [RTR] Enables the plotting of time bimapped problems by @Kev1CO in #669
- Converted Binode into multinode by @pariterre in #679
- Updated ACADOS by @Ipuch in #682
- [RTR] Fixed add_penalty_plot index by @EveCharbie in #665
- [RTR] same_marker_velocity and docstrings scooted by @Ipuch in #687
- [RTM] Variational integrator by @20chupin in #696
- Fix scaling by @pariterre in #684
- [WIP] Bis Min_max_torque (Pariterre to fix) by @EveCharbie in #683
Full Changelog: Release_3.0.1...Release_3.1.0
SeparatedTwins
Twins are special, unique, they are inseparable. But at some point in their live, they must get their own live. It is the same for dynamic constraints in an optimal control program. Even though, they seem identical, they have their own personality that must be acknowledged.
Constraints between shooting node are now independent, assuring that they work properly. Bioptim is better, stronger and happier!
What's Changed
- Correct bug with bioviz version by @20chupin in #611
- [RTR] "Union" to "|" by @20chupin in #613
- [RTR] QandQdotBounds Issues by @Kev1CO in #604
- [RTM] Removed an occurrence of nb_q by @pariterre in #612
- [RTR] prevents further errors in inital guess size by @AntoineLeroy in #617
- Add residual torque to TORQUE_ACTIVATIONS_DRIVEN function by @AnaisFarr in #623
- [RTRT] Addressing a small issue. by @Ipuch in #629
- [RTR] adressing node specific dynamics by @Ipuch in #624
- Fix passive torque example by @AntoineLeroy in #626
- [RTR]PR changes for ligaments by @AntoineLeroy in #614
New Contributors
- @20chupin made their first contribution in #611
- @Kev1CO made their first contribution in #604
- @AnaisFarr made their first contribution in #623
Full Changelog: Release_3.0.0...Release_3.0.1
Bioptimistic
Dynamics is the core nature of most, if not all, things; at least for every instance of moving things. Bioptim was restrained to one type of dynamics and it made it sad. How can I describe the world if I cannot define my own dynamics, it was saying. Don't be sad no more, Bioptim, 'cause now, all dynamics are at your door! This new release disconnect biorbd from the core of bioptim allowing for arbitrary dynamics to be implemented. This is exciting! This opens bioptim to a lot of new usage! We are so optimist with what you can bring to the world that I'd say we are bioptimistic!
What's Changed
- Added the capability to apply fatigue directly to joint torque by @pariterre in #542
- [RTR] Issue#550 correction by @rapidnico in #552
- [RTR] more detailed detailed costs by @Ipuch in #545
- [RTR] integration rule tested in collocation by @Ipuch in #546
- [RTR] noise magnitude controled for each decision variable by @Ipuch in #553
- [RTR] SQP method interface by @EveCharbie in #556
- Update README.md by @fbailly in #558
- Github actions pot and fixing all the PRs by @Ipuch in #565
- Multi-start module by @EveCharbie in #555
- [RTR] Implicit defect type for muscles by @Ipuch in #561
- Allowed for bioviz 2.2.0 as the changes don't impact bioptim by @pariterre in #566
- [RTR] Creation of to_noised_initial_guess function by @rapidnico in #560
- [RTR] Fix target size with multi threads by @AntoineLeroy in #574
- [RTM] SQP test by @EveCharbie in #569
- [RTM] multi-start values testing by @EveCharbie in #570
- [RTM] Multi-model (phase mapping) by @EveCharbie in #548
- [RTR] Check Conditioning by @Julo0 in #573
- [RTR] correction of graphs for mapped tau by @lsechoir in #582
- [RTR] Model interface for a wider use of bioptim by @Ipuch in #581
- [WIP] Variable scaling by @EveCharbie in #572
- [RTR] inverse defects on joint acceleration driven by @Ipuch in #577
- [RTR] updating to numpy 1.24 by @Ipuch in #590
- Update README.md by @Ipuch in #589
- [RTR] split final MHE save by @Ipuch in #592
- Fix variable naming by @Ipuch in #597
- Partly addressing QandQdotBounds Issues by @Ipuch in #599
- Changed name of clear_penalty to ensure_penalty_sanity by @pariterre in #600
- [WIP] Passive Torque by @AntoineLeroy in #584
- setup install fix by @Ipuch in #602
- [RTM] add error for model path type by @AntoineLeroy in #605
- release checklist by @Ipuch in #607
- Fixed the versions by @pariterre in #608
New Contributors
- @AntoineLeroy made their first contribution in #574
- @Julo0 made their first contribution in #573
- @lsechoir made their first contribution in #582
Full Changelog: Release_2.3.0...Release_3.0.0
SeeOfChanges
"Over the see, no one can see" - No name (actually no one... but who cares!)
When one looks at the horizon, they can't see past a certain point. Too far is the horizon, too much water separate them to the new world ahead. When they are sailing that see, the same can be said for the land behind. They must forgot where they are from, to focus on where they are going.
Bioptim is a sailor, no one can remember what happened between that release and the previous one. Bioptim has so evolved, it cannot see over its own see of changes
What's Changed
- Readme update and trapezoidal integration of cost function by @Ipuch in #458
- Semi-explicit and rigid contacts by @Ipuch in #426
- Time vector returned by integrate by @EveCharbie in #453
- print bounds of controls and states by @AurelienRenou in #461
- fixing an error because of merge by @Ipuch in #463
- Playing with qddot by @Ipuch in #466
- small fix manage unit target by @Ipuch in #467
- merge master into crazydynamics by @Ipuch in #464
- minimize comddot without qddot as variable by @Ipuch in #469
- Multinode Constraint Plot by @Ipuch in #470
- COM AND COM VELOCITY multinode constraints by @Ipuch in #472
- changed len to shape by @EveCharbie in #473
- Terminology PR by @Ipuch in #465
- merge master into crazy dynamics by @Ipuch in #474
- if we have radau and inverse dynamics constraints in collocation by @Ipuch in #448
- tested examples by @Sciancisco in #475
- fixed examples by @thasaarah in #476
- Muscle implicit dynamics by @aceglia in #459
- more info in detailed_cost by @Ipuch in #482
- States without intermediate states in case of collocation by @Ipuch in #484
- [RTR] changed the example to match symmetry_by_mapping/constraint by @EveCharbie in #481
- [RTM] Free floating dynamics by @Sciancisco in #488
- [RTM] random_initial_condition_example by @EveCharbie in #486
- [RTM] graphs uneven number of variables by @EveCharbie in #483
- track qddot as constraint by @Ipuch in #497
- defecttype on other ode solvers by @Ipuch in #498
- [RTM?] Detailed cost dimension bug for markers target by @EveCharbie in #495
- [RTM] qddot as statedot by @Ipuch in #505
- [RTM] animated tracked markers by @thasaarah in #500
- [RTM] Pull master in crazydynamics by @Ipuch in #490
- [RTR] Change pendulum acados example for more realistic results by @aceglia in #508
- [RTM] NoisedInitialGuess properly scale within bounds by @Ipuch in #506
- [RTM] Mayer on first node with acados by @aceglia in #501
- [RTM] Change solver option set and turn back to the initial set convergence. by @aceglia in #502
- [RTR] Shape bug when the index list contains only one index by @EveCharbie in #511
- Better fcn enum by @Sciancisco in #512
- [RTR] master merged into CrazyDynamics to mare sure everything fits by @Ipuch in #514
- [RTR] implicit defect works in torque driven. by @Ipuch in #515
- merging FcnEnum by @Ipuch in #518
- Crazy dynamics by @pariterre in #519
- scoot some documentation by @Ipuch in #522
- docstring by @Ipuch in #525
- [RTM] collocation initial guess by @thasaarah in #504
- [RTM] continuity constraints are well displayed by @Ipuch in #513
- [RTR] States_no_intermediate handles a merged solution. by @Ipuch in #520
- [RTR] Names of variables in figures handles variable mapping by @Ipuch in #524
- [RTM] Check black earlier in the build to save some time by @Sciancisco in #526
- [RTM] Continuity objective take2 by @Sciancisco in #516
- [RTR] scoot docstrings by @Ipuch in #529
- [RTR] initial guess with interpolationType.EACHFRAME by @Ipuch in #531
- scoot docstrings in optimization_variable.py by @rapidnico in #532
- [RTR] readme update (do not use .bo) by @EveCharbie in #535
- Made the error message even better! by @pariterre in #539
- [RTR] MinimizeQDDOT by @Ipuch in #528
- [RTR] Refactor Integration by @Ipuch in #534
- [RTR] check if code is blacked independantly in github actions by @Ipuch in #530
- [WIP] Update Acados to the last release (v0.1.8) by @aceglia in #509
New Contributors
- @AurelienRenou made their first contribution in #461
- @Sciancisco made their first contribution in #475
- @thasaarah made their first contribution in #476
- @rapidnico made their first contribution in #532
Full Changelog: Release_2.2.2...Release_2.3.0
Continuity
Sometime continuing what you started instead of rebuilding from ground is a good thing. Therefore, having LINEAR_CONTINUOUS plots which show the actual continuity of plotting was important. It is now fixed
What's Changed
- Fix a Bug in LINEAR CONTINUOUS control when plotting objectives. by @Ipuch in #457
- checking version for article fix by @Ipuch in #460
Full Changelog: Release_2.2.1...Release_2.2.2
SaltAndPepper
Bioptim was recently used to spice up gymastic as it can now optimally control avatar in salto movements!
What's Changed
- Removed unecessary import by @pariterre in #434
- Handling multiphase problems with implicit dynamics by @Ipuch in #435
- fix a Docstring by @pariterre in #446
- custom phase transition update by @Ipuch in #439
- Ignored plots for phase_transition by @EveCharbie in #433
- added angular momentum and linear momentum as built in functions by @EveCharbie in #437
- Handle equality constraints on specified nodes. by @Ipuch in #444
- Added cost details to sol by @EveCharbie in #440
- Allow the user to not expand the dynamics if wanted by @Ipuch in #454
Full Changelog: Release_2.2.0...Release_2.2.1
PhD
The name pretty much sums it all.
This is the version used to generate the results for my PhD :) Hurray!
What's Changed
- Fix issue for acados compilation by @aceglia in #410
- Fixed effort perception and RHO by @pariterre in #419
- full string as method for ode solvers by @Ipuch in #415
- Allow multiple phase transitions by @Ipuch in #418
- Fixed Fatigue Perception and Xia by @pariterre in #422
- Standardized the name of a file by @pariterre in #423
- Plot soft contact forces by @Ipuch in #408
- Changed default value of scaling in PerceptionEffort by @pariterre in #425
- update docstring of configure_problem.py by @Ipuch in #427
- Added the iterations and fixed timer in receding horizon by @pariterre in #428
- Added a tag to get all the outputs when MHE by @pariterre in #431
- now handling parameter optimisation with implicit dynamics such as time. by @Ipuch in #430
Full Changelog: Release_2.1.1...Release_2.2.0
LieDown
To take some rest, you need to lie down. Bioptim does so, by lie on the sheet instead of under, that is getting onto a paper.
This is the official release for the paper (so far)!
What's Changed
- ocp.print() now works with CVODES by @Ipuch in #400
- Pyqt application to run examples by @aceglia in #402
- bug fix when using show_options by @Ipuch in #404
- Add the choice for an integrator of the solution by @Ipuch in #405
Full Changelog: Release_2.1.0...Release_2.1.1