Open-Source UAV Controllers Survey
Open-Source UAV Controllers Survey
net/publication/325134452
CITATIONS READS
90 20,774
5 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Emad Samuel Malki Ebeid on 22 January 2020.
Emad Ebeid∗, Martin Skriver, Kristian Husum Terkildsen, Kjeld Jensen, Ulrik Pagh Schultz
SDU UAS Center, University of Southern Denmark,
Campusvej 55, Odense, Denmark
Abstract
The current disruptive innovation in civilian drone (UAV) applications has led to an increased need for research and development
in UAV technology. The key challenges currently being addressed are related to UAV platform properties such as functionality,
reliability, fault tolerance, and endurance, which all are tightly linked to the UAV flight controller hardware and software. The
lack of standardization of flight controller architectures and the use of proprietary closed-source flight controllers on many UAV
platforms however complicates this work: solutions developed for one flight controller may be difficult to port to another without
substantial extra development and testing. Using open-source flight controllers mitigates some of these challenges and enables
other researchers to validate and build upon existing research.
This paper presents a survey of the publicly available open-source drone platform elements that can be used for research and
development. The survey covers open-source hardware, software, and simulation drone platforms and compares their main features.
Keywords: Unmanned Aerial Vehicle (UAV), Drones, Flight Controllers, Drone Simulators, Open Platforms, Survey.
(a) (b)
(a) (b)
Figure 7: Erle-Brain autopilot: (a) Erle-Brain 3 (b) PXFmini on top of a Rasp-
Figure 4: Flight controller boards: (a) CC3D (b) Atom. berry Pi.
*: Not found in documentation; **: See parameters for more features [28]; ***: See parameters for more [29]; ****: Low source reliability; +: Limited by hardware;
Airframes mr: multirotor (number of propellers); fw: fixed wings
Autonomous Flight sph: Satelite position hold; swp: Satelite way point navigation; atl: automatic take off and landing; fm:: Follow me; svnf: Stereo vision navigation functions;
Communication sb: SBus; ib: iBus; sd: SumD; sh: SumH; pm: PPM; pw: PWM; cf: CRSF; jeb: JetiExBus; ds: DSM; xbu: XBUS; xbe: XBee; fs: FrSky; sp: SmartPort (s.port); ht:
HoTT; lt: LTM; ml: MavLink; sl: SRXL; ut: UAVTalk; msp: Multiwii serial protocol; ir: Iridium SBD;
Fault detection and handling ar: ADS-B receiver support; c2l: Landing when missing C2 link; c2rl: Return to launch or home after missing C2 link; c2k: Kill supply for motors after
missing C2 link; bvw: Battery voltage warning; ada: Auto disarm after timeout; apr: Automatic parachute release; sw: Safety switch to en-/disable output to motors; bll: Land or return to
launch if battery low; gf: Geofence; sc: Pre-Arm Safety Check for sensor error;
Features g: gimbal compatible; pa: Prevent arming when battery low; rth: Return to home; bm: Battery monitoring; dl: Data logging to flash; hf: Head free moving (yaw fixed); ts:
Transponder support; at: PID autotune; rlg: Supports retractable landing gear; loa: Lidar obstacle avoidance; bac: Battery mAh count;
Table 4: Comparison of source code and availability for OSS flight controller
platforms.
License
Platform SLOC+ Language OS
FC/doc/conf. tool
Hack flight g/-/lg 3.3k *C++ None
Cleanflight g/-/g 96.3k C Scheduler
Betaflight g/-/g 107k C Scheduler
INAV g/-/g 93.1k C Scheduler
LibrePilot g/cbs/g **87.6k C FreeRTOS [30]
dRonin g/tbd[31]/ **97.6k C ***PiOS
ArduPilot g/cbs/g ****242.1k C/C++ ChibiOS [32]/NuttX [33]/Linux
PX4 b/CC BY 4.0/g ****211.8 C/C++ NuttX [33]
Paparazzi g/gf/g 2106k(C) C/Python ChibiOS [32]/Scheduler
*: C++ header only code, **:flight dir without PiOS; ***:PiOS Pilot Operating System;
****:ArduPilot repository(cpp only) without Ardusub and APMrover; +:Source Lines Of Figure 8: Development history originating from the original Multiwii flight
Code controller software.
License b: BSD; lg: GPLv3; lg: Lesser GPLv3; cbs: CC-BY-SA 3.0; tbd: To be
determined; gf: GNU Free Documentation License (GFDL);
Ladybug flight controller and it has a wiki [41] that contains in-
formation about how to setup the controller with receivers and
3.2. Multiwii series motors. In addition to the flight code, the repository consists
The first flight control software [34] of the Multiwii se- of a Python-based Ground Control Station (GCS) for reading
ries (Figure 8) was developed by Alexandre Dupus for low-255 sensor values and an Android application for showing altitude.
235 cost hardware. The initial goal was to control a tricopter with Based on statements on the README file, this platform seems
an Arduino Pro Mini using Nintendo Wii motion sensors [35]. suitable for smaller projects where people want hands-on de-
The original implementation language was Arduino C but later velopment without too much complexity.
changed to C++; comparing its 12.5k Source Lines Of Code
(SLOC) with the platform in Table 4, we observe that it is a rel- 3.2.2. Cleanflight
240 atively small software package. The development has stopped260 The first version of the Cleanflight [42] source code [43]
but the source code is still available along with a Java-based was forked from Baseflight, but since then functionality has
configuration tool [34]. Baseflight [36] changed the Multiwii been inherited from INAV and Betaflight or developed in
implementation language to C, evolved to processor support Cleanflight. Cleanflight has documented setup guides for
from 8-bit to 32-bit, and made an internet-browser-based con- elements such as sensors, flight setup, and for 15 different
245 figuration tool [37, 38]. Raceflight [39] also has its roots in265 flight controller boards, all with ARM-based STM32 F1, F3,
the Multiwii flight controller and have been optimized for UAV F4 or F7 MCUs, although the F1 series will not be supported
racing and acrobatics, but development has also stopped. in future releases. The software contains a browser-based
configuration tool [44] from where the UAV can be configured,
3.2.1. Hack flight sensors can be read, and parameter tuning performed.
Hack flight is derived from Baseflight, but the source [40]270 Cleanflight has its origin in Baseflight and the configuration
250 seems completely rewritten. It supports the STM32L4 based tool can be added to Google Chrome [45].
5
315 Sparky2 (Section 2.3) and CC3D (Section 2.5). There is
online documentation [60] for setting up the software for the
supported boards, UAV configuration, and using sensors and
the GCS.
3.3.2. dRonin
320 dRonin [61] forked their source code [62] from the Tau Labs
Figure 9: Development history from the original OpenPilot flight controller repository. dRonin has online documentation [31], an online fo-
software.
rum [63], a wiki [64], and additional documentation as repos-
itory files. The code can be used with several flight controller
3.2.3. Betaflight boards, including Sparky2 (Section 2.3), AeroQuad, and Rasp-
Betaflight source code [46] and documentation is related325 berry Pi with FlyingPIO sensor extension [65]. dRonin can be
to INAV (Section 3.2.4) and Cleanflight (Section 3.2.2) [47]. linked to an Android application [66] for sensor readings and
275 This is visible if comparing software and source repository, parameter tuning.
but Betaflight differs according to the readme file, by devel-
oping with focus on creating high performance, leading-edge 3.4. ArduPilot
feature additions, and wide target support [46]. Cleanflight is ArduPilot [67] is capable of controlling a wide range
suggesting this platform for people who want to work with ex-330 of vehicle including fixed-wing airplanes, multirotors,
280 perimental new features [43]. The documentation section de- helicopters, boats, and submarines [68]. The software was
scribes 17 flight controller boards among those the CC3D (Sec- originally developed for 8-bit ARM-based MCUs running
tion 2.5). The configuration tool is like for Cleanflight, avail- on its own board ArduPilot. This board was however
able for Google Chrome add [48] and the source code is avail- replaced by ArduPilot Mega (APM) (Section 2.6) and the
able [49]. 335 software has evolved to be optimized for use with 32-bit
ARM-based MCUs. Nevertheless the controller can run
285 3.2.4. INAV under Linux, enabling it to be used on a large class of
INAV [50] is forked from an earlier version of electronics from single-board computers all the way up to a
Cleanflight (Section 3.2.2). INAV has improved navigation full PC system. ArduPilot has a desktop GCS for mission
functionalities [51] compared to Betaflight and Cleanflight340 planning [69][70], calibration, and vehicle setup for Windows,
with “follow me” functionality and support for GCS with Linux and Mac OSX. Different setups of the AutoPilot system
290 mission planner running on Windows, Linux, IOS and and installation manuals are available from the ArduPilot web
Android. The documentation directory describes setup for page [71].
25 flight controller boards. The source repository [52] has a
Google Chrome browser add-on configuration tool [53] similar 3.5. PX4
to Betaflight and Cleanflight. 345 The PX4 flight stack and autopilot [72], are a part of the
DroneCode collaborative project [22] which covers both GCS,
295 3.3. OpenPilot series hardware platforms and simulation [73]. PX4 works with many
OpenPilot is a flight controller software package that has different airframes for using multirotor, fixed-wing, gliders,
been developed through many projects and by different devel- copters and VTOL technology. PX4 is compatible with the
opers, as illustrated in Figure 9. OpenPilot was the original350 QGroundControl GCSs [74], from where parameters are set,
flight controller software in this series, but development was sensors read, and autonomous flight configured. Performance
300 stopped in 2015. Parts of its wiki [54] is still functional and of the flight stack is presented by Meier et al. [75]. The use
the source code [55] is still available. The flight control soft- of the BSD license and the high level of completeness makes
ware supports among others the CC3D (Section 2.5) board and this flight stack attractive for commercial companies [76]. The
it can control fixed-wing and multirotor UAVs. Similarly Tau355 documentation is online [77] for developers and users and
Labs [56] is an inactive flight controller platform from this se- covers both flight controller and GCS setup.
305 ries where the source code remains available [57]. The individ-
ual projects that still are in active development are described in 3.6. Paparazzi software
this section. The Paparazzi project works on a complete UAV system
including electronics (Section 2.4), flight controller soft-
3.3.1. LibrePilot 360 ware [78], autopilot, GCS and simulation (Section 4.6) [16].
The LibrePilot [58] project started in July 2015 with The Paparazzi flight controller can be configured to control
310 focus on research and development of software and hardware fixed-wing, flapping-wing, hybrid and multirotor airframes in
to be used in a variety of applications, including vehicle different configurations, as well as multiUAV systems [79].
control and stabilization of unmanned autonomous vehicles From the Paparazzi GCS it is possible to setup parameters,
and robotics [58]. The source code [59] builds on the365 flight type and configuration, read sensor, data setup a
OpenPilot project and it runs on various platforms such as flight plan including custom guidance, navigation and
6
cohntrol algorithms [80]. Paparazzi has a source code The simulator follows modular design architecture with an em-
documentation [81] for developers as well as a wiki-based phasis on extensibility. The only supported UAVs are Iris in a
guide [82] for setting up the flight controller. 420 MultiRotor model and in an X-configuration for PX4 quadrotor.
Figure 10a shows a screenshot of AirSim.
370 3.7. Inactive OSS projects
AutoQuad [83] is a product series that includes UAV 4.3. Gazebo
components like Electronic Speed Controller (ESC)s, which Gazebo [96] was originally developed at the University
are based on open-source hardware and flight controllers based of Southern California, USA in 2002 and later at Open
on open-source software [84]. The flight controller has been 425 Source Robotics Foundation (OSRF). Gazebo is the default
375 developed through product generations for more than 6 years. simulator included with ROS, making it one of the most
The firmware is written for the STM32F4 series MCUs and popular 3D dynamics multi-robot simulator with a very active
supports up to 14 Brushless DC motor (BLDC)s, and it is community [97]. Gazebo allows the use of different physics
compatible with QGroundControl. The source code is still engines and sensor models, and supports easy creation of 3D
available but future development seems to be on hold or 430 worlds, enabling testing of robot designs and algorithms,
380 stopped. regression testing, and training of AI systems using realistic
JAviator [85] was a research project of the Computational scenarios. Gazebo uses a distributed architecture with
Systems Group at the Department of Computer Sciences of the separate libraries for physics simulation, rendering, user
University of Salzburg, Austria [86, 87]. The project was run- interface, communication, and sensor generation. In order
ning from 2006 to 2013 and the project delivered three lay- 435 to simulate UAVss in Gazebo, J. Meyer et al. presented a
385 ers of software; JAviator Plant (JAP), Flight Control System framework to simulate a quadrotor using Robot Operating
(FCS), and GCS. The FCS software is written in C, runs on System (ROS). The framework provides a Gazebo ROS
a Robostix-Gumstix stack, and implements the flight control package named Hector Quadrotor [98] that aims at simulating
algorithms. This project however does not seem to be active diverse quadrotor UAV aspects such as flight dynamics,
anymore. 440 onboard sensors like IMUs, external imaging sensors and
390 The AeroQuad [26] flight controller software is written in complex environments. Supported UAVss include Quad (Iris
Arduino/C [26] and supports Atmel powered boards, among and Solo), Hex (Typhoon H480), Generic quad delta VTOL,
those their own developed AeroQuad (Section 2.9). The flight Tailsitter, Plane, and Rover. Figure 10b shows a snapshot of
controller has a desktop configuration tool for setting up param- a quadrotor UAV outdoor simulation in Gazebo. Although
eters. AeroQuad supports multirotors UAVs, but there have not 445 Gazebo is a feature-rich platform, the rendering techniques are
395 been updates to the source code since 2013. not as advanced as, e.g., Unreal Engine [99] or Unity [100].
As described earlier, the MultiWii, Baseflight, RaceFlight, In addition, the Hector package lacks support for protocols
OpenPilot and TauLabs are also among the OSS projects where such as MavLink and Hardware platforms such as Pixhawk
development has stopped. (Section 2.2).
8
(a) AirSim (b) Gazebo
9
[4] S. Sabikan, S. W. Nawawi, Akademia baru open-source project ( osps )630 [33] Gregory Nutt, NuttX web page.
560 platform for outdoor quadcopter, Akademia Baru 24 (1) (2016) 13–27. URL http://nuttx.org/
[5] P. Fahlstrom, T. Gleason, Introduction to UAV systems, John Wiley & [34] Alexandre Dupus, Multiwii source code.
Sons, 2012. URL https://code.google.com/p/multiwii/
[6] C. Howard, Uav command, control & communications, Military & [35] Alexandre Dupus, MultiWii wiki.
Aerospace Electronics, militaryaerospace. com. 635 URL http://www.multiwii.com/wiki/index.php?
565 [7] I. Sadeghzadeh, Y. Zhang, A review on fault-tolerant control for un- title=MultiWii/
manned aerial vehicles (uavs), in: Infotech@ Aerospace 2011, 2011, p. [36] timecop, Baseflight source code.
1472. URL https://github.com/multiwii/baseflight/
[8] C. Vendome, A large scale study of license usage on github, in: 2015 [37] timecop, Baseflight configuration tool add for Google Chrome.
IEEE/ACM 37th IEEE International Conference on Software Engineer-640 URL https://chrome.google.com/webstore/
570 ing, Vol. 2, 2015, pp. 772–774. detail/baseflight-configurator/
[9] D. M. German, M. D. Penta, J. Davies, Understanding and auditing the mppkgnedeapfejgfimkdoninnofofigk?hl=en
licensing of open source software distributions, in: 2010 IEEE 18th In- [38] timecop, Baseflight configuration tool source code.
ternational Conference on Program Comprehension, 2010, pp. 84–93. URL https://github.com/multiwii/
doi:10.1109/ICPC.2010.48. 645 baseflight-configurator/
575 [10] px4dev, Pixhawk web page. [39] RaceFlight, RaceFlight source code.
URL www.pixhawk.org URL https://github.com/rs2k/raceflight/
[11] ProfiCNC, ProfiCNC. [40] S. Levy, Hackflight: Simple quadcopter flight control firmware and sim-
URL http://www.proficnc.com/ ulator for c++ hackers.
[12] N. Arsov, P. Kocmoud, L. Meier, D. Sidrane, L. Hall, Pixracer autopilot.650 URL https://github.com/simondlevy/hackflight
580 URL https://pixhawk.org/modules/pixracer [41] S. Levy, Hack flight wiki.
[13] P. D. Team, Pixhawk 3 pro. URL https://github.com/simondlevy/Hackflight/
URL https://docs.px4.io/en/flight_controller/ wiki
pixhawk3_pro.html [42] Cleanflight team, Cleanflight web page.
[14] pixhawk.org, Px4fmu autopilot / flight management unit. 655 URL http://cleanflight.com/
585 URL https://pixhawk.org/modules/px4fmu [43] Dominic Clifton (hydra), Cleanflight source code.
[15] T. Labs, Sparky2. URL https://github.com/cleanflight/cleanflight/
URL https://github.com/TauLabs/TauLabs/wiki/ [44] Cleanflight gui add source.
Sparky2 URL https://github.com/cleanflight/
[16] Paparazzi development team, Paparazzi web page. 660 cleanflight-configurator
590 URL https://wiki.paparazziuav.org/ [45] Cleanflight gui add.
[17] LibrePilot/OpenPilot community, CC3D web page. URL https://chrome.google.com/webstore/
URL http://opwiki.readthedocs.io/en/latest/user_ detail/cleanflight-configurator/
manual/cc3d/ enacoimjcgeinfnnnpajinjgmkahmfgb
[18] ArduPilot Mega team, ArduPilot Mega. 665 [46] Boris B (borisbstyle) , Betaflight source code.
595 URL www.ardupilot.co.uk URL https://github.com/betaflight/betaflight/
[19] DFRobot, Flymaple — a flight controller with 10 dof imu. [47] Boris B (borisbstyle) , Betaflight wiki.
URL https://www.dfrobot.com/product-739.html URL https://github.com/betaflight/betaflight/
[20] Erle Robotics S.L., Erlerobotics web page. wiki/
URL www.erlerobotics.com 670 [48] Boris B (borisbstyle) , Betaflight gui add source.
600 [21] L. Meier, P. Tanskanen, L. Heng, G. H. Lee, F. Fraundorfer, M. Polle- URL https://chrome.google.com/webstore/
feys, Pixhawk: A micro aerial vehicle design for autonomous flight us- detail/betaflight-configurator/
ing onboard computer vision, Autonomous Robots 33 (1) (2012) 21–39. kdaghagfopacdngbohiknlhcocjccjao/
[22] DroneCode, DroneCode project. [49] Boris B (borisbstyle) , Betaflight gui add source.
URL https://www.dronecode.org/ 675 URL https://github.com/betaflight/
605 [23] T. Labs, What is tau labs. betaflight-configurator/
URL http://taulabs.org/ [50] INAV source code.
[24] P. Brisset, A. Drouin, M. Gorraz, P.-S. Huard, J. Tyler, The paparazzi URL https://github.com/iNavFlight/inav/
solution, in: MAV 2006, 2nd US-European Competition and Workshop [51] INAV wiki.
on Micro Air Vehicles, 2006. 680 URL https://github.com/iNavFlight/inav/wiki/
610 [25] E. Baskaya, G. Manfredi, M. Bronz, D. Delahaye, Flexible open archi- [52] INAV Chrome add source.
tecture for uass integration into the airspace: Paparazzi autopilot sys- URL https://github.com/iNavFlight/inav/
tem, in: 2016 IEEE/AIAA 35th Digital Avionics Systems Conference [53] INAV Chrome add.
(DASC), 2016, pp. 1–7. doi:10.1109/DASC.2016.7778016. URL https://chrome.google.com/
[26] AeroQuad, AutoQuad Flight Software Platform. 685 webstore/detail/inav-configurator/
615 URL https://github.com/AeroQuad fmaidjmgkdkpafmbnmigkpdnpdhopgel/
[27] HiSystems GmbH , MikroKopter. [54] OpenPilot, OpenPilot wiki.
URL http://wiki.mikrokopter.de/en/FlightCtrl URL https://opwiki.readthedocs.io/en/latest/
[28] PX4 Dev Team, PX4 setup parameters. [55] OpenPilot, OpenPilot source code.
URL https://docs.px4.io/en/advanced_config/690 URL https://github.com/openpilot/OpenPilot/
620 parameter_reference.html/ [56] Tau Labs developer team, Tau Labs web page.
[29] ArduPilot, Ardupilot parameter list. URL http://taulabs.org/
URL http://ardupilot.org/copter/docs/parameters. [57] Tau Labs developer team, Tau Labs source code.
html/ URL https://github.com/TauLabs/TauLabs/
[30] Amazon Web Services (AWS), FreeRTOS web page. 695 [58] LibrePilot Team, LibrePilot Project.
625 URL https://www.freertos.org/ URL http://librepilot.org/
[31] dRonin documentation. [59] LibrePilot Team, LibrePilot source code.
URL http://dronin.org/docs/ URL https://github.com/librepilot/LibrePilot/
[32] Giovanni Di Sirio, ChibiOS wiki. [60] LibrePilot Team, LibrePilot documentation.
URL http://www.chibios.org/dokuwiki/doku.php/ 700 URL https://librepilot.atlassian.net/wiki/
10
spaces/LPDOC/pages/2818105/Welcome/ [89] Open Source Robotics Foundation (OSRF), Gazebo web page.
[61] dRonin executive committee, dRonin web page. URL https://bitbucket.org/osrf/gazebo
URL http://dronin.org/ [90] LAAS and ONERA labs, Morse web page.
[62] Volunteers and the dRonin executive committee, dRonin source code. 775 URL https://github.com/morse-simulator/morse
705 URL https://github.com/d-ronin/dRonin/ [91] PIXHAWK engineering team, jMAVSim web page.
[63] dRonin forum. URL ttps://github.com/PX4/jMAVSim
URL https://forum.dronin.org/forum/ [92] Ecole Nationale de l’Aviation Civil , Paparazzi web page.
[64] dRonin wiki. URL https://github.com/paparazzi/paparazzi/tree/
URL https://github.com/d-ronin/dRonin/wiki/ 780 master/sw/simulator
710 [65] dRonin Raspberry Pi hat. [93] Simon D. Levy, HackflightSim web page.
URL https://github.com/d-ronin/dronin-hw/tree/ URL https://github.com/simondlevy/HackflightSim
master/flyingpio/revB/ [94] S. Shah, D. Dey, C. Lovett, A. Kapoor, Airsim: High-fidelity visual
[66] dRonin android application. and physical simulation for autonomous vehicles, in: Field and Service
URL https://play.google.com/store/apps/details?785 Robotics, 2017. arXiv:arXiv:1705.05065.
715 id=org.dronin.androidgcs/ URL https://arxiv.org/abs/1705.05065
[67] ArduPilot, Ardupilot source code. [95] B. Karis, E. Games, Real shading in unreal engine 4, Proc. Physically
URL www.github.com/ArduPilot/ Based Shading Theory Practice.
[68] ArduPilot Dev Team, ArduPilot. [96] N. Koenig, A. Howard, Design and use paradigms for gazebo, an
URL http://ardupilot.org/about/ 790 open-source multi-robot simulator, in: Intelligent Robots and Systems,
720 [69] ArduPilot, Ardupilot mission planner. 2004.(IROS 2004). Proceedings. 2004 IEEE/RSJ International Confer-
URL http://ardupilot.org/planner/index.html/ ence on, Vol. 3, IEEE, 2004, pp. 2149–2154.
[70] ArduPilot, Ardupilot mission planner 2. [97] O. S. R. Foundation, Gazebo robot simulation made easy.
URL http://ardupilot.org/planner2/index.html/ URL http://gazebosim.org/
[71] ArduPilot, Ardupilot documentation. 795 [98] Johannes Meyer, Hector Quadrotor,
725 URL http://ardupilot.org/ardupilot/ http://wiki.ros.org/hector quadrotor.
[72] PX4 Dev Team, PX4 source code. [99] Epic Games, Unreal Engine, https://www.unrealengine.com/.
URL https://github.com/PX4/ [100] Unity Technologies, Unity, https://unity3d.com/.
[73] PX4 Dev Team, PX4 web page. [101] G. Echeverria, N. Lassabe, A. Degroote, S. Lemaignan, Modular open
URL http://px4.io/ 800 robots simulation engine: Morse, in: IEEE International Conference on
730 [74] QGroundControl, QGroundControl web page. Robotics and Automation, 2011, pp. 46–51. doi:10.1109/ICRA.
URL http://qgroundcontrol.com/ 2011.5980252.
[75] L. Meier, D. Honegger, M. Pollefeys, Px4: A node-based multi- [102] Briar Wallace, Blender Game Engine, https://www.blender.org/.
threaded open source robotics framework for deeply embedded plat- [103] pixhawk.org, jmavsim.
forms, in: 2015 IEEE International Conference on Robotics and Au-805 URL https://pixhawk.org/dev/hil/jmavsim
735 tomation (ICRA), 2015, pp. 6235–6240. doi:10.1109/ICRA. [104] github.com, Px4/jmavsim.
2015.7140074. URL https://github.com/PX4/jMAVSim/tree/master/
[76] PX4 commercial drone use. src/me/drton/jmavsim
URL https://www.cnet.com/news/ [105] S. D. Levy, Hackflightsim/source.
linux-foundation-fuels-open-source-drone-efforts/ 810 URL https://github.com/simondlevy/HackflightSim/
740 [77] PX4 Dev Team, PX4 documentation. tree/master/Source/HackflightSim
URL https://docs.px4.io/en/ [106] J. T. M. Ingibergsson, U. P. Schultz, M. Kuhrmann, On the use of safety
[78] Paparazzi development team, Paparazzi source code. certification practices in autonomous field robot software development:
URL https://github.com/paparazzi/ A systematic mapping study, in: Product-Focused Software Process Im-
[79] H. G. de Marina, Z. Sun, M. Bronz, G. Hattenberger, Circular formation815 provement, Springer, 2015, pp. 335–352.
745 control of fixed-wing uavs with constant speeds, 2017 IEEE/RSJ Inter- URL http://dl.acm.org/citation.cfm?id=2972500
national Conference on Intelligent Robots and Systems (IROS) (2017)
5298–5303.
[80] H. G. de Marina, Y. A. Kapitanyuk, M. Bronz, G. Hattenberger, M. Cao,
Guidance algorithm for smooth trajectory tracking of a fixed wing Author biography
750 uav flying in wind flows, in: 2017 IEEE International Conference
on Robotics and Automation (ICRA), 2017, pp. 5740–5745. doi: Emad Ebeid is an Assistant Profes-
10.1109/ICRA.2017.7989674. sor at the Mærsk Mc-Kinney Møller In-
[81] Paparazzi development team, Paparazzi source code documentation. 820 stitute, University of Southern Denmark,
URL http://docs.paparazziuav.org/latest/
755 [82] Paparazzi development team, Paparazzi wiki. Denmark. Ebeid received his Ph.D. in
URL https://wiki.paparazziuav.org/wiki/Main_ Computer Science from the University of
Page/ Verona, Italy, in 2014. His research in-
[83] AutoQuad web page.
URL http://autoquad.org/
terests are in the areas of networked em-
760 [84] AutoQuad, AutoQuad source code. 825 bedded systems, hardware/software co-
URL www.github.com/mpaperno/aq_flight_control/ design of drone technologies and smart
[85] University of Salzburg, JAviator Project. grid applications. He is or was involved in several EU projects
URL https://github.com/cksystemsgroup/JAviator/
[86] University of Salzburg, JAviator web.
in embedded systems and smart grid applications. Currently, he
765 URL http://javiator.cs.uni-salzburg.at/ is special session chair of System Design for Collaborating In-
[87] S. Craciunas, C. Kirsch, H. Röck, R. Trummer, The JAviator: A high-830 telligent Systems session at EUROMICRO Conference on Dig-
payload quadrotor UAV with high-level programming capabilities, in: ital System Design and a guest editor of a special issue of MDPI
Proc. of the AIAA Guidance, Navigation, and Control Conference
(GNC), Honolulu, HI, USA, 2008. Energies journal. He is a senior IEEE member.
770 [88] Microsoft, AirSim web page.
URL https://github.com/Microsoft/AirSim
11
Martin Skriver is a research assis-
tant at the Mærsk Mc-Kinney Møller In-
835 stitute, University of Southern Denmark
where he has been a part of the SDU
UAS Center since August 2015. He has
a M.Sc. degree in Engineering - Robotic
System from the University of Southern
840 Denmark. His main research areas have
been with embedded electronics within battery management
systems, GSM/GNSS based drone tracking and FPGA based
systems.
Kristian Husum Terkildsen is a re-
845 search assistant at the Mrsk Mc-Kinney
Mller Institute, University of Southern
Denmark. Terkildsen has a Master’s de-
gree in Robot Systems Engineering with
specialization in Unmanned Aerial Sys-
850 tems. He has been a part of the SDU
UAS Center since June 2017. His main
focus areas are within system integration
and navigation in GPS denied environments.
Kjeld Jensen is an Associate Profes-
855 sor since 2007 at the SDU UAS Cen-
ter, University of Southern Denmark.
His research interest covers experimental
development of embedded systems and
software to support a wide range of ap-
860 plications in unmanned systems. He has
designed and developed a number of mo-
bile robots for outdoor tasks and he is
the architect and principal programmer behind the open source-
software platform FroboMind. His recent work focus on novel
865 applications requiring unobserved autonomous operation of
UAS and mobile robots.
Ulrik Pagh Schultz is an Associate
Professor since 2005 at the SDU UAS
Center, MMMI, University of Southern
870 Denmark. Schultz received his B.Sc. and
M.Sc. degrees in Computer Science from
the University of Aarhus, in 1995 and
1997, respectively, and a Ph.D. degree
in Computer Science from University of
875 Rennes, in 2000. From 2000 until 2005, he was a faculty mem-
ber at University of Aarhus. His research interest covers soft-
ware engineering for robotics of all kinds (aerial or not) and
domain-specific languages. Currently he is Chair of the IFIP
Working Group 2.11 on Program Generation (since 2013). He
880 is a member of ACM and IEEE.
12