Airsim在ubuntu下的使用一

大前提

首先在ubuntu下配置好Unreal Engine和Airsim的环境
可以参考Airsim+UnrealEngine 搭建自动驾驶虚拟环境

注意一下几点:

  • UE4 对显卡驱动有要求,不能太高也不能太低,375左右
  • Airsim 的 setup.sh有时会出错,注意就是几个文件的下载和更新,所以可以注释掉一些选项,然后手动安装
  • 还有几点UE 和 Airsim还有一些虚幻引擎的环境都比较大,可能需要40G 左右的空间,所以要合理分配
  • 文件的布局,建议建一个文件加sim_air 里面包好UE4、Airsim、Environment

启动测试

启动Unreal Engine
./Engine/Binaries/Linux/UE4Editor 执行这个这个路径下的可执行程序,

启动block.uproject
在编译完Airsim之后,认会有一个block的工程,所以我们用UE Edit打开现有的工程,定位到/Airsim/Unreal/Environments/Blocks 打开即可

如果发现提示,project与UE4版本不匹配,点击copy选项,让它重新编译一个匹配的即可。

Airsim的几种模式测试

airsim的配置文件在ubuntu中在/home/Document/Airsim/settings.json,
不同模式的修改主要在启动之前,配置settings.json

SimpleFlight 模式

{
    "Settingsversion": 1.0,"DefaultVehicleConfig": "SimpleFlight","SimpleFlight": {
    "RemoteControlID": 0,"RC": {
        "AllowAPIWhendisconnected": true,"AllowAPIAlways": true
    }
  }
}

在这个模式下,会有一个虚拟的board通过simple_flight接口通信,
我们可以通过angle rate,angle level,veLocity or position来进行控制,
同时,它有虚拟的传感器可以进行位置估计。

使用,启动Project
然后打开Airsim/build_debug/output/bin目录下的Droneshell  HelloDrone进行测试。
https://github.com/Microsoft/AirSim/blob/master/docs/simple_flight.md

遥控器在SimpleFlight模式下的使用
SimpleFlight模式下使用的是虚拟飞控,它可以接收API程序的控制命令,也可以通过遥控来控制。
遥控器的使用: Futaba-T14SG + SuperSimX

  • SuperSimX设置为G4/G5/G6.5模式
  • 遥控器的通道映射,Linux下我遇到了通道映射问题,

ls /dev/input/js0 看得到有一个遥控器接入 joystick
sudo jstest /dev/input/js0 调试jstest也能看得到各通道的数据
但是就是通道与airsim 中对应不上,
(有两种方式:要么调遥控器,要么调整程序【程序中SimJoyStick.cpp模式支持xBox】)
所以索性在遥控上新建了一个airsim模式,根据环境中提示的T R P Y,做了对应

PX4-SIL 模式

{
    "Settingsversion": 1.0,"DefaultVehicleConfig": "PX4","PX4": {
        "UseSerial": false
    }
}
//很明确 说的很明确,使用px4但是又不用串口连接,

PX4-HIL 模式

{ 
  "Settingsversion": 1.0,"DefaultVehicleConfig": "PX4","LocalHostIp": "127.0.0.1","SubWindows": [ {"WindowID": 0,"CameraID": 0,"ImageType": 0,"Visible": true},{"WindowID": 1,"CameraID": 1,"ImageType": 1,{"WindowID": 2,"CameraID": 2,"ImageType": 2,"Visible": true} ] ,"PX4": { "SerialBaudrate": 115200,"SerialPort": "*","UdpIp": "127.0.0.1","UdpPort": 14560,"UseSerial": true },"SimpleFlight": { "RemoteControlID": 2 } }

seting.json的配置

图像相关

"SubWindows": [
    {"WindowID": 0,"CameraID": 0,"ImageType": 3,"Visible": true},{"WindowID": 1,"CameraID": 1,"ImageType": 5,{"WindowID": 2,"CameraID": 2,"ImageType": 0,"Visible": true}    
  ],

PX4飞控相关

"PX4": {
    "FirmwareName": "PX4","OffboardCompID": 1,"OffboardSysID": 134,"QgcHostIp": "127.0.0.1","QgcPort": 14550,"SerialBaudrate": 115200,"SerialPort": "*","SimCompID": 42,"SimsysID": 142,"SitlIp": "127.0.0.1","SitlPort": 14556,"UdpIp": "127.0.0.1","UdpPort": 14560,"UseSerial": true,"VehicleCompID": 1,"VehicleSysID": 135,"ApiServerPort": 41451
  }

添加虚幻引擎中的环境

0、在需要虚幻引擎的商城中下载自己需要的环境 【简称 ENV0】
1、新建CPP Project 选项和目录 【简称 ENV1】
2、将 ENV0中的一些文件复制到 ENV1 中 主要有

3、做完这些,先测试一些我们的新环境能不能使用
使用 UE4Editor程序打开ENV1下的 uproject,如果没问题,说明环境配置成功了
4、下面需要在工程中添加Airsim插件了。

定位到编译Airsim的文件
执行 rsync -t -r Unreal/Plugins  path/to/MyUnrealProject命令

修改project的内容添加Airsim插件

注意可能会提示不匹配问题

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...