APM学习(2):建立ArduPilot仿真环境

参考链接:
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所指定的出发点位置。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值