参考链接:
https://blog.youkuaiyun.com/w8www/article/details/148705284
http://www.360doc.com/content/12/0121/07/1080187092_1080187092.shtml
建立和编译Ardupilot项目之后,可以建立一个仿真环境来验证飞行控制程序,Ardupilot项目自带了一个仿真程序,在
Tools/autotest/sim_vehicle.py
可以在ardupilot目录下运行该程序来启动仿真程序,但是需要先运行环境安装程序
1 安装环境
通过自带的安装环境命令安装仿真程序所需要的运行环境和工具链
$ Tools/environment_install/install-prereqs-ubuntu.sh -y
运行过程可能会出现多个问题,通过deekseek等引擎搜索问题,可以找到相应的解决办法来安装。安装完成之后就可以编译和运行仿真程序了。
2 编译项目
之后,通过waf编译一个适用仿真环境的程序,如下
$ ./waf configure --board sitl
$ ./waf copter
在board设置中指明sitl,然后用copter选项编译生成适用多旋翼机型的程序,如果是用于固定翼仿真,则使用plane选项。
3 运行仿真程序
通过如下的命令运行仿真程序
$ Tools/autotest/sim_vehicle.py -v ArduCopter --console --map
其中-v表示选择机型,–consle和–map表示显示一个终端窗口和地图。之后便会出现终端(console)、地图(map)等多个窗口来显示飞机的状态,如下图

在原来的命令行窗口启动了MAVProxy,回车之后,便出现MAVProxy终端,可以输入命令以启动和操控模拟的无人机。

可以依次输入如下等命令
STABILIZE> mode guided
STABILIZE> arm throttle
GUIDED> GUIDED> takeoff 40
使飞机仿真飞行到40米的空中,再运行
GUIDED> guided forward 200
操作飞机向前飞行200米,这是在地图窗口就能看到飞机前飞的轨迹和飞行动作。
MAVProxy常用的命令有
1 mode GUIDED 设置飞行模式为 GUIDED(导引模式)
2 mode STABILIZE 设置为手动姿态控制模式
3 arm throttle 解锁电机,允许飞控响应油门
4 disarm 上锁电机,停止输出
5 takeoff 10 在 GUIDED 模式起飞至 10 米高度
6 param show 显示所有参数或搜索特定参数
7 param set PARAM VALUE 设置参数值,例如 param set ALT_HOLD_RTL 1500
8 wp list 显示当前任务航点列表
9 wp load xxx.txt 加载任务航点文件
10 wp clear 清除当前所有任务航点
11 mode rtl 启动 Return-to-Launch(返航)模式
12 mode land 命令飞行器自动降落
4 安装地面站
现在通常用QGroundControl,Mission Planner等软件,来模拟地面站,连接仿真的飞行器,对飞行器进行监控以及发送命令和进行操作。地面站的安装可以参考
https://ardupilot.org/planner/docs/mission-planner-installation.html
https://docs.qgroundcontrol.com/Stable_V5.0/en/qgc-user-guide/getting_started/download_and_install.html
安装完之后便可以运行地面站程序了,以QGroundControl为例,如下

如果程序运行顺利,会在程序主窗口左上出现Ready To Fly的信息,用户可以进一步输入指令指挥无人机飞行。
在仿真启动时,如果要设置飞行器的出发点位置,可以在Tools/autotest/locations.txt文件中增加所需要设置的地点信息,如在locations.txt文件的最后一行添加名为TEST的新位置的信息
TEST=26.594871,118.264521,0,0
表示出发点的纬度、经度、高度和航向,这样在运行sim_vehicle.py命令时可以添加-L选项指定出发地点,如
$ Tools/autotest/sim_vehicle.py -v ArduCopter -L TEST
这样仿真时飞行器就出现在TEST所指定的出发点位置。
991

被折叠的 条评论
为什么被折叠?



