Software in the Loop for Navigation and Control of UAV Figure 8. Depiction of the 3D EKF path and the GPS path traveled on the simulated flight test. Figure 9. Augmented graphical observation of the traveled path on Google Earth. and the simulated GPS path as well. Finally, we overlaid the twodimensional calculated flight path in Google Earth (Figure 9). CONCLUSIONS Figure 7. (a) Depiction of the quadcopter's altitude based on simulated barometer's measurements. (b) Depiction of the simulated quadcopter's vertical velocity. (c) Depiction of the amount of throttle in hover mode. 56 Software in the loop flight simulation of a quadcopter was accomplished in this article using MAVProxy ground station software and APM firmware as autopilot system. When we defined a mission in the ground station, the autopilot computed flight data from simulated sensors as explained before. Then, these data were sent to the ground station for both data analysis and getting necessary commands needed for continuing the mission. As can be seen in the results, SITL was a good framework for the performance assessment of a navigation and control system of a flying robot. Moreover, some other sensors such as optical flow, sonar, and laser scanner can be added to the firmware virtually to promote the navigation system's accuracy through applying such filters as EKF. Further control systems such as altitude hold controller, obstacle avoidance, and formation flight controller can be tested in an SITL framework as future works. IEEE A&E SYSTEMS MAGAZINE JANUARY 2018