Open
Description
Description
@jmdelfa and @adrienmaillard have been working on implementing the classes & solver needed to support grouped activities with HTNs. As our next milestone, we'd like to build a backend-only proof of concept which implements grouping, so that we can test & understand its behavior separately from the ongoing UI implementation.
Requirements
To get this working we need:
- An initial implementation of the necessary classes in the Merlin framework, so they can be used by the mission model (eg.
CompoundActivityType
,TasknetTemplate
, etc) - A test mission model using the new framework code, implementing at least one
CompoundActivityType
that decomposes into primitive activity types as defined in aTasknetTemplate
- A method for creating an Aerie plan using this model, which contains compound activity instances to be decomposed by the solver. The easiest way to do this might be with a
plan.json
file which can be imported into Aerie - or alternatively, if we're not sure how to represent compound activities in the plan file yet, it could be an empty plan + an API call which we run manually to insert the activity instances - An initial implementation of a solver in the Aerie scheduler which is capable of decomposing and "grounding" the compound activities when it is run
These should allow us to test the implementation of Grouping/HTNs independently from the UI.
Success Criteria
When this is done we should be able to perform a "thread test" of Grouping by:
- uploading the test model + plan to Aerie
- Running simulation + scheduler
- Making an API query to see that the compound task has been correctly decomposed into primitive tasks with grounded times and values.
Related Issues
Subtask of Grouping task: #1073
UI task with more info: NASA-AMMOS/aerie-ui#1375
Related GH Discussion: #1451
Discussed with @jmdelfa in Sprint Planning 7/18/24
Metadata
Assignees
Type
Projects
Status
Todo
Activity