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
10 stars 1 forks source link

[FEATURE]: Refactor control architecture using ros2_control #23

Open evan-palmer opened 10 months ago

evan-palmer commented 10 months ago

Feature Type

Changing existing functionality in Angler

Problem Description

This is a relatively large issue that will eventually be broken down further, but the main goal here is to cleanup the system architecture. Currently, it is comprised of a number of base classes with loosely-coupled children. This gives some level of abstraction, but ultimately, it is hard to customize and extend. It needs to go!

Feature Description

Integrate pluginlib for controller and planner loading. This will require a large re-write of the system (conversion to C++). Along the way, it would be useful to consider integrating ros2_control for the control interface as well.

Alternative Solutions

Deprecate everything and start over

Additional Context

No response

evan-palmer commented 2 months ago

I'm planning to do a re-write of this using ros2_control. I think that will help improve integration with other ros2_control algorithms like the joint trajectory controller. It will also enable integration of the hardware_interface framework which may be easier for users to take advantage of on their own vehicles.