  Small multi-rotor unmanned aerial vehicles (UAVs), mainly quadcopters, are
nowadays ubiquitous in research on aerial autonomy, including serving as
scaled-down models for much larger aircraft such as vertical-take-off-and-lift
vehicles for urban air mobility. Among the various research use cases,
first-person-view RC flight experiments allow for collecting data on how human
pilots fly such aircraft, which could then be used to compare, contrast,
validate, or train autonomous flight agents. While this could be uniquely
beneficial, especially for studying UAV operation in contextually complex and
safety-critical environments such as in human-UAV shared spaces, the lack of
inexpensive and open-source hardware/software platforms that offer this
capability along with low-level access to the underlying control software and
data remains limited. To address this gap and significantly reduce barriers to
human-guided autonomy research with UAVs, this paper presents an open-source
software architecture implemented with an inexpensive in-house built quadcopter
platform based on the F450 Quadcopter Frame. This setup uses two cameras to
provide a dual-view FPV and an open-source flight controller, Pixhawk. The
underlying software architecture, developed using the Python-based Kivy
library, allows logging telemetry, GPS, control inputs, and camera frame data
in a synchronized manner on the ground station computer. Since costs (time) and
weather constraints typically limit numbers of physical outdoor flight
experiments, this paper also presents a unique AirSim/Unreal Engine based
simulation environment and graphical user interface aka digital twin, that
provides a Hardware In The Loop setup via the Pixhawk flight controller. We
demonstrate the usability and reliability of the overall framework through a
set of diverse physical FPV flight experiments and corresponding flight tests
in the digital twin.
