Skip to content

Improvements for v0.2.0

  • Easier access to horizon, batch_size, and feature dims (via properties?)
  • move symvar / x0 from getattr to a @property decorated fn
  • _pytree_ignore_ might be better for batch_dim/traj_dim than whatever hack struct has?
  • better handling of cost_params and step_params? difficult to pass them around
  • Instead of using local copy of mpc/sysvars.py we can import opt_tools.casadi_tools.sysvars. The __iter__ should be ported there, goal is to keep this module consistent accross projects

  • sysvarset
    • re-add reduce methods & tests
    • tree_map_reduce to combine tree_map and replace to cast?
    • pickleable?
    • iterators?
    • to_traj / to_batch?
    • ensure at least 1-d? But also compatible w/ optvarset...
    • [DROP: difficulty implemneting, need unclear] update_defaults? Used in brax_sys, must be a better soln...
  • optvarset
    • tests
    • check inheriting from sysvar?
    • check usage if can avoid an object, just functional?
    • Update defaults
    • Initializing with non-defaults should be easier (e.g. skip_sym / x0 for casadi) and unambiguous
  • sys
    • rewarite/test w/ new format
    • sys into dclass to separate out Input, State? This might make easier.
  • ipopt
  • Solvers
    • single shooting
    • multi shooting
    • cem
  • [DROP: need unclear, backlog] decorators for batch and traj eval, use in step/output in sys.
  • make casting to traj or batch easier... at least check why the tree_map_relaxed is needed, see if can reduce
  • Seems better to have explicit creation for batches and trajs... there's been a couple bugs where they have been not as expected, would be better to get an error
  • Making derived classes means pickle doesnt work out of the box (dill does though). Would be nice if pickle also worked.
  • Check how JAX is doing their types for arrays, somehow the error messages have type float32[25,1]
Edited by Kevin Haninger