基于Airsim的sitl模拟环境配置(ubuntu 16.04)
sitl仿真,软件在环仿真可以不使用任何硬件就可以进行模拟飞行或驾驶,实验室获取数据非常有用。基于Airsim的sitl模拟需要PX4飞控架构、Airsim环境作为模拟器,控制端可以使用QG,这里没安装。
1 PX4环境的搭建
px4的指南
首先把源码复制到本地
git clone https://github.com/PX4/Firmware.git --recursive
然后安装需要的依赖
bash ./Tools/setup/ubuntu.sh
2 Airsim环境搭建
安装教程
Unreal engine
先注册一个官网账号,并将它与github账号绑定,安装教程第一步
git clone -b 4.24 https://github.com/EpicGames/UnrealEngine.git
cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh
make
Airsim编译安装
按照以下步骤
git clone https://github.com/Microsoft/AirSim.git
cd AirSim
./setup.sh
./build.sh
执行UnrealEngine/Engine/Binaries/Linux/UE4Editor
启动UE
打开项目,AirSim/Unreal/Environments/Blocks
3 sitl仿真
sitl教程
3.1 进入第一步中拷贝的代码库中
cd Firmware
make px4_sitl_default none_iris
3.2 修改settings.json文件
{
"SettingsVersion": 1.2,
"SimMode": "Multirotor",
"Vehicles": {
"PX4": {
"VehicleType": "PX4Multirotor",
"UseSerial": false,
"UseTcp": true,
"TcpPort": 4560,
"ControlPort": 14580,
"params": {
"NAV_RCL_ACT": 0,
"NAV_DLL_ACT": 0,
"LPE_LAT": 47.641468,
"LPE_LON": -122.140165,
"COM_OBL_ACT": 1
}
}
}
}
3.3 在UE界面点击play
在PX4的命令行显示连接完成,可以使用命令行进行操作尝试
commander takeoff
commander land
param show -a
param set name value
Q&A
-
安装支持vulkan的nvidia驱动
参考
-
no valid home gps
LPE_LAT、LPE_LON两个参数的值不对,应该是settings.json
中的值,使用param show命令查看两个参数,有时候会不显示,param show -a
在所有参数中找。有以下几种修改方式
在PX4命令行终端
param set LPE_LAT 47.641468
param set LPE_LON -122.140165
修改settings.json,加上以下配置
{
"OriginGeopoint": {
"Latitude": 22.915464,
"Longitude": -59.975619,
"Altitude": 20
}
}
从代码修改,AirSim/AirLib/include/common/AirSimSettings.hpp,有一个geopoint的默认值
https://github.com/microsoft/AirSim/blob/master/AirLib/include/common/AirSimSettings.hpp#L350
HomeGeoPoint origin_geopoint{ GeoPoint(47.641468, -122.140165, 122) };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)