Many of the existing features are decoupled and there is no framework in place to enable a full execution pipeline for the system.
Feature Description
Implement a behavior tree responsible for managing full system-level behavior. My current idea for the behavior tree is as follows:
Begin with a "dive" behavior which should be responsible for driving the system to the desired pre-mission execution state
Once the dive has completed, perform high-level planning using a waypoint planner like the pre-planned trajectory planner or something like A*
Once the initialization behaviors are complete, begin the task execution sub-tree
The task-execution sub-tree should begin by querying the trajectory planner to see if a new trajectory should be planned
Once a trajectory has been obtained, the trajectory is fed to the whole-body controller for trajectory execution
The sub-tree task will loop until reaching the end of the mission
Once the end of the mission has been reached, the post-mission behavior will be executed which should be responsible for performing station-keeping
Alternative Solutions
Another alternative could be to use a state machine; however, these are pretty cumbersome and hard to maintain. I have had much more success with behavior trees
Feature Type
Adding new functionality to Angler
Problem Description
Many of the existing features are decoupled and there is no framework in place to enable a full execution pipeline for the system.
Feature Description
Implement a behavior tree responsible for managing full system-level behavior. My current idea for the behavior tree is as follows:
Alternative Solutions
Another alternative could be to use a state machine; however, these are pretty cumbersome and hard to maintain. I have had much more success with behavior trees
Additional Context
No response