unl-nimbus-lab / pymavswarm

Python library used to safely control drone swarms and drone fleets with MAVLink
https://pymavswarm.readthedocs.io
GNU General Public License v3.0
17 stars 5 forks source link

[FEATURE]: Enable non-global MAVLink frames #108

Closed evan-palmer closed 2 years ago

evan-palmer commented 2 years ago

Is your feature request related to a problem? Please describe

Currently, there is only partial support for frames other than the global position frame. This makes it difficult for users to perform tests in GPS-denied environments.

Describe the solution you'd like

Implement support for users to specify the frame of an agent's position.

Describe alternatives you've considered

Rather than specifying the frame for the full system to use, it could be useful to read global, global relative, and local positions and for instances where a frame should be used (e.g., goto), add a parameter to specify the frame.

Implementation Ideas

This could be implemented by passing an argument to the MavSwarm class that specifies the frame that the system should use. Alternatively, a new state object could be implemented that manages the global, global relative, and local frames. Then users have access to them all and can determine themselves which frame to use.

Additional context

N/A