Robotic-Decision-Making-Lab / angler

ROS 2 framework for lightweight autonomous underwater vehicle manipulator systems
https://robotic-decision-making-lab.github.io/angler/
MIT License
11 stars 1 forks source link

[FEATURE]: Implement TPIK control tasks using PluginLib #29

Open evan-palmer opened 3 months ago

evan-palmer commented 3 months ago

Feature Type

Adding new functionality to Angler

Problem Description

Emir provided a nice presentation recently on his work with mvp_control available for viewing here and mentioned that they use PluginLib for to manage implementation of behaviors in their state machine. I thought this was a nice idea and might fit well into the task model used by TPIK control. That could make it a bit easier to maintain and implement new tasks as well.

Feature Description

Explore implementing the TPIK control tasks using PluginLib. Each task would be implemented as a plugin and loaded on launch. I don't think that dynamically loading and unloading plugins during control makes sense due to how frequently the tasks reorganize in set-based TPIK control. Instead, it might be good to think of a way to design the base plugin such that it is able to interact directly with the TPIK controller without being unloaded.

Alternative Solutions

N/A

Additional Context

Here is the link to mvp_mission which implements the behavior-style architecture