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

Refactored GStreamer interface into distinct node #6

Closed evan-palmer closed 1 year ago

evan-palmer commented 1 year ago

Checklist

Changes Made

localization

This PR refactors the original aruco_marker_detector implementation to improve the modularity of the angler_localization package. The resulting architecture can be seen above. Here it is evident that two new base classes were added: Source and Localizer. These base classes have been defined to support the development of future localization sources (e.g., sonar, motion capture, etc.) and new localizers (e.g., SLAM algorithms). In addition to the base classes added, this PR adds the Camera source which proxies the GStreamer video feed received from the BlueROV2 to ROS. By publishing to a ROS topic, the video feed can be used by more than one node. Finally, the original ArUco marker detection implementation was refactored into the ArucoMarkerLocalizer.

Associated Issues

Testing

Minimal testing was done with the implementation. Additional testing needs to be done with the BlueROV2 once the hardware changes have been completed.