Skip to content

Version 1.3.0

Latest
Compare
Choose a tag to compare
@moorepants moorepants released this 05 Aug 08:10
· 85 commits to master since this release
  • Added support for Python 3.12.
  • Added a function that generates a numerical objective function and its
    gradient from a symbolic objective function: create_objective_function().
  • Fixed constraint violation plot on Problem by removing the assumption
    that each equation of motion was simply a function of one state.
  • Added an option to display the Cython compilation output and to automatically
    display the output if compilation fails. Display does not always work on
    Windows due to limitations in Python's capturing STDOUT on Windows with
    certain system encodings.
  • Added support for variable duration solutions by passing in a symbol for the
    node time interval instead of a float.
  • Switched to Sphinx Gallery for displaying examples in the documentation.
  • Moved the three documentation examples to the Sphinx Gallery page.
  • Added new examples:
    • A variable duration pendulum swing up example.
    • A car parallel parking example.
    • A quadcopter drone flight example.
    • A cycling time trial example that uses SymPy's new muscle models.
    • A block sliding over a hill example.
  • Updated the generated Cython code to use memory views.
  • Problem now supports solving problems with no unknown input trajectories.
  • Corrected plot ordering for the trajectories so that mismatches no longer
    occur.
  • Improved default plot display for larger number of variables and support
    customizing axes to default plots.
  • Problem and other primary classes and methods can now be imported
    directly from the top level opty namespace, e.g. from opty import Problem.
  • Better handling of SymPy variable names that generate invalid or clashing C
    variable names by appending an underscore to all opty generated C variable
    names.
  • Switched to pytest for unit testing.

What's Changed

  • Version 1.2.0 by @moorepants in #113
  • Change setup() -> setup_method() due to pytest deprecation. by @moorepants in #116
  • Fix mistake in the parse_free docstring by @tjstienstra in #118
  • Function to generate object and objective gradient evaluator functions by @tjstienstra in #115
  • Use the create_objective_function in the pendulum swing up example. by @moorepants in #120
  • Show args and kwargs in Problem init explicitly by @tjstienstra in #130
  • Clarify that the objective should not contain any known symbols by @tjstienstra in #137
  • Improve constraint violation visualization by @tjstienstra in #125
  • Added option to show Cython compilation output and display more informative error. by @moorepants in #149
  • Implements support for variable duration solutions by @moorepants in #150
  • Use Sphinx Gallery for the examples. by @moorepants in #153
  • Car parallel parking example by @moorepants in #154
  • Use env.yml in CI and build docs, fixes #155. by @moorepants in #158
  • Added an example of drone flight trajectory optimization with quaternions. by @moorepants in #163
  • Switched to Cython memoryviews by @moorepants in #170
  • Pass in the detected device encoding to subprocess run for detecting Windows encoding. by @moorepants in #174
  • Try different way to get the encoding on Windows. by @moorepants in #175
  • two link pendulum to be uprighted using opty with variable h by @Peter230655 in #178
  • Handle no input trajectories. by @moorepants in #183
  • One-legged Cycling Time Trial Example by @moorepants in #164
  • Added test to check all variable ordering and ensure plot_trajectories honors input order. by @moorepants in #187
  • Use a more unique symbol for h internally, fixes #162. by @moorepants in #188
  • Added all from direct_collocation and utils to package namespace. by @moorepants in #193
  • Add Vyasarayani example to the gallery, but left multi option version in examples dir. by @moorepants in #199
  • Append an underscore to all Opty generated C variable names to avoid variable name clashes in included code. by @moorepants in #200
  • Made create_objective_function signature match rest of opty, made node_time_interval required. by @moorepants in #201
  • Plot sliding block 2 by @Peter230655 in #195

New Contributors

Full Changelog: v1.2.0...v1.3.0