使用实验室服务器配置ubuntu20.04,显卡驱动,airsim仿真环境
文章摘要:本文详细介绍了在Linux环境下配置NVIDIA显卡驱动、安装Unreal Engine 4.27和AirSim仿真平台的完整流程。包括禁用系统自带驱动、安装推荐驱动、编译修改UE4源码、手动安装Eigen库解决编译问题等关键步骤,并提供了AirSim运行测试方法。特别强调了驱动安装时的MOK管理密码设置和UE4源码修改等易错环节,最后展示了通过Python脚本控制仿真飞行器的验证方法。
记录一些步骤
一些基础命令
过程中可能需要自行下载压缩包,安装压缩包应用程序命令为
dpkg -i xx.deb
解压所命令
tar -xzvf xx.tar.gz -C /xx
配置显卡驱动
实验室服务器运行的电脑虽然是虚拟机,也是要配置显卡驱动的否则airsim无法运行
这里只介绍最简单的配置方法,在服务器里面新建电脑是没有Nvidia显卡驱动的,打开系统设置
如果这里的显卡只显示后面的llv就是驱动没装好
打开命令行输入
ubuntu-drivers devices
能看到系统推荐的显卡驱动版本带recommend标记,记下来
禁用ubuntu自带的显卡驱动
sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加
blacklist amd76x_edac
blacklist nouveau
options nouveau modeset=0
保存后执行
sudo update-initramfs -u
sudo reboot
重启之后,运行(没有输出就是成功了)
lsmod | grep nouveau
卸载不匹配的显卡驱动
sudo apt purge nvidia-*
sudo apt autoremove
之后打开系统设置 软件更新
附加驱动 选择系统推荐的驱动型号,之后应用更改,这一步会让你设置一个密码一定要记住一般是8位密码,等待完成之后重启系统(后面还有步骤
重启之后会进入蓝屏MOK management
选择进入Enroll MOK,之后continue
选择yes,之后输入之前自定义的密码
之后进入perform mok management,选择reboot
之后重启进入系统即可
之后命令行
nvidia-smi
有输出就说明驱动安装成功了
还有其他配置方法请参考其他显卡驱动安装方法
安装虚幻UnrealEngine4
需要一个epic账号,进入管理账号
如果没有epic启动器就去虚幻引擎官网,进入关联账户
选择github账号进行关联,打开github,进入相关开发仓库epic,关联成功后会邀请你进入unreal小组
之后选择unreal engine(打不开就是说明关联失败了,必须111111邀请你进入群组才能打开)
版本根据自己需要选择,这里选择4.2.7
下载解压到你能找的的地方(后文中的unreal工程目录),执行
./Setup.sh
./GenerateProjectFiles.sh
接下来需要修改源文件确保之后与airsim不冲突
进入unreal工程目录/UnrealEngine-4.27/Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp
进行以下修改
//修改前
Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE"
//修改后
Arguments += " -Progress"
之后回到unreal工程目录下编译
make
等待编译结束即可
测试一下
cd unreal工程目录/UnrealEngine-4.27/Engine/Binaries/Linux/
./UE4Editor
能打开说明没问题
安装airsim
airsim进入下载安装包,本文选择的是1.80 linux
解压到你能找到的目录下(后文中指airsim文件夹),编译
./setup.sh
./build.sh
没有对应文件的话可能在下级目录中,比如我的就在airsim文件夹/Airsim-1.8.0-Linux下,总之找到对应文件编译即可,这里可能会报错无法连接到某个gitlab,我这里是没法连接下载对应的Eigen,只需要自己下载放到指定路径下就可以了通过编译了
这里给出一个手动安装方法,通过百度网盘下载Eigen库,Eigen3.3.7也可以自行下载
百度网盘链接:https://pan.baidu.com/s/1gp7VXqgvBvdeUQkz2p_hMw 提取码: 3efd
解压缩,将压缩包里的Eigen文件复制到airsim文件夹/Airsim-1.8.0-Linux/Airlib/deps/eigen3目录下,别的不要复制会影响编译
复制后的对应文件结构如图
之后再编译就没问题了
测试
进入unreal工程目录/UnrealEngine-4.27/Engine/Binaries/Linux/,运行引擎
./UE4Editor
选择更多
选择浏览
进入airsim文件夹/Airsim-1.8.0-Linux/Unreal/Environments/,选择Bolcks,之后会提示转换项目,选择 打开副本
如果无法正常编译,就是最一开始安装虚幻引擎时修改源码是不是没弄好,或者airsim手动安装Eigen库时放了不该放的其他文件进去
编译完成后先设置一下,点击播放按钮右边的倒三角按钮,选择高级设置,搜索cpu,取消后台运行时使用较少CPU的勾选
设置好以后点击播放按钮,会提示 choose vehicle ,选择是进去就是一辆车,选择否进去才是飞机
场景运行好后就可以通过AirSim的程序进行控制了,官方也给了示例代码,在 airsim文件夹/Airsim-1.8.0-Linux/pythonclient/multirotor/ 文件夹下打开终端,执行
python3 hello_drone.py
就可以看见飞机按照指令运动了
运行python可能会提示少插件,安装就可以了。
更多推荐
所有评论(0)