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 importopt_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