Skip to content

DIRCON rework #158

@mposa

Description

@mposa

Much overdue, given the poor documentation (and poor code from yours truly). This will lean heavily on newly pushed #155 and some pending changes in #157 . Before I jump in, I want to get feedback on the external API (the internal-use functions, all currently marked public, will also be overhauled). For @yangwill and @yminchen who have used it, what would you like to see changed? The current constructor is

HybridDircon(plant, vec<n_dt>, vec<min_dt>, vec<max dt>, vec<constraints>, vec<options>)
options = (constraint scaling, relative constraint, start/end type, force regularization)
  • First off, I'd suggest replacing min/max_dt with min/max_T (using total time of a mode instead of dt time). It's more natural to think that way.
  • Second, all those vectors need to go. One vector of a DirconMode struct which captures everything.
DirconMode:
 KinematicEvaluatorSet
 num_dt
 min_T
 max_T
 is_relative vector
 start/end type
 constraint scaling
 force regularization

And then Dircon (no need for the "Hybrid" bit) can take either a single DirconMode or a vector of modes.

How does this look? Are there methods you'd like to see in an API? Features that would help debug? Get your requests in now!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions