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]: Refactor angler_mux interface to improve usability #16

Closed evan-palmer closed 11 months ago

evan-palmer commented 12 months ago

Feature Type

Changing existing functionality in Angler

Problem Description

Angler currently uses the angler_mux interface to "demux" system commands and send them to the respective subsystems (the system's manipulators and base). The angler_mux interface is also used to "mux" the full-system state. Ultimately, this interface is convoluted and will be challenging to maintain in the future as additional models are added and functionality is developed out.

Feature Description

While the current "mux" is fine, the "demux" design should be either redone or removed altogether in favor of of a better interface. If there are alternative designs which can be applied to remove both of these interfaces, then that approach should be preferred. Some ideas regarding how to remove the "demux" interface are as follows:

I would ultimately like to see an interface come together in a way similar to the PR2 or Fetch

Alternative Solutions

NO ALTERNATIVES - GET RID OF IT

Additional Context

No response

evan-palmer commented 11 months ago

I wonder if one way to approach this could be to split this up by model? Each different model could have it's own mux/demux. Although this may make things too complex. I like the current approach to the mux (integration of message_filters), but I still have quite a bit of animosity toward the demux at the moment.