建立飞控软件仿真环境能够更好的帮助我们测试飞控固件的修改。以下操作是在建立飞控固件编译环境的基础上进行的。
    1 安装 MAVProxy
    下载安装包: http://firmware.ardupilot.org/Tools/MAVProxy/,下载最新版: MAVProxySetup-latest.exe。安装,打开一路默认。
    2 执行仿真编译
    打开“Cygwin64”这个软件,进入ardupilot目录后,输入:
    ./Tools/autotest/sim_vehicle.py -v ArduPlane -f quadplane
    这是仿真垂直起降固定翼,如果要仿真多旋翼,则输入:
    ./Tools/autotest/sim_vehicle.py -v ArduCopter
    系统将自动开始编译仿真固件,编译完成后,仿真固件将自动运行。注意:仿真时,其实是重新编译了一次固件,不过这个固件的编译目标是SITL,这个固件跟实物固件使用的是同一套源代码,二者关系如下图所示:

    但是如果你不想每次都重新编译一遍,可以在上述脚本后面加上“-N”参数,这样仿真环境会直接运行上次编译出的仿真固件,节省不少时间。
    3 进行仿真飞行
    打开MissionPlanner,软件将自动连接虚拟无人机。此时,你可以使用MP地面站操纵你的虚拟无人机,也可以在Cygwin64软件中使用命令行操纵你的虚拟无人机。例如,输入arm throttle可解锁;输入rc 3 1700推油门中位以上,起飞;输入mode auto切换自动模式等等。如下图所示,仿真环境运行起来后,输入“help”命令并按回车后,会自动列出所有可用命令。

    仿真飞行的结果受到全部固件参数的影响,因此,在源程序进行的任何修改在仿真飞行时都能够反映出来,这就大大节省了程序测试的风险。