Airsim在Liunx的多种部署方式
环境
Linux: Ubuntu 22.04 LTS
快速部署(预编译环境)
下载
操作
下载对应环境的zip包后,放到AirSim文件夹下,然后解压
比如AirSimNH
运行/AirSimNH/LinuxNoEditor/AirSimNH/Binaries/Linux/AirSimNH
源码编译
构建UE
-
注册Epic Games
-
与github账户关联(文档)
-
拉取代码(>=4.27)
-
$cd UnrealEngine $./Setup.sh $./GenerateProjectFiles.sh $make
构建AirSim
$git clone https://github.com/Microsoft/AirSim.git
$cd AirSim
$./setup.sh
>>
************************************
AirSim setup completed successfully!
************************************
>>
$./build.sh # 优化代码使AirSim达到最佳性能
# $./build.sh --debug # debug模式编译 方便二次开发
>>
==================================================================
AirSim plugin is built! Here's how to build Unreal project.
==================================================================
If you are using Blocks environment, its already updated.
If you are using your own environment, update plugin using,
rsync -a --delete Unreal/Plugins path/to/MyUnrealProject
For help see:
https://github.com/Microsoft/AirSim/blob/master/docs/build_linux.md
>>
cd UnrealEngine
~/Engine/Binaries/Linux/UE4Editor
如果需要选择'转换项目'-> '就地转换'
如果提醒'构建' -> '构建'
如果提醒'禁用 AirSim 插件' -> '否'
更多->浏览->选择'AirSim/Unreal/Environments/Blocks.uproject'
cd ~/AirSim/PythonClient/multirotor/
python hello_drone.py
ERROR occurred when opening Blocks.uproject
Cannot open Blocks.uproject with UE4.27
$ cd ~/AirSim/Unreal/Environments/Blocks && ./clean.sh
如果你不是22.04参考https://www.mono-project.com/download/stable/#download-lin-debian
如果是22.04
1.sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
2.echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
1. sudo apt update
2. sudo apt install mono-devel
$ sudo ln -s /usr/bin/mono /bin/mono && sudo ln -s /usr/lib/mono /lib/mono
$ ~/UnrealEngine/Engine/Binaries/ThirdParty/Mono/Linux/bin/mono ~/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project=xxxx/AirSim/Unreal/Environments/Blocks/Blocks.uproject -TargetType=Editor -Progress
- 22.04入参考
Package 'clang-8' has no installation candidate, Ubuntu 22.04
Row | Old Value --> New Value
setup.sh
53 | vulkan-utils --> vulkan-tools
63 | sudo apt-get install -y clang-8 clang++-8 libc++-8-dev libc++abi-8-dev --> sudo apt-get install -y clang-12 clang++-12 libc++-12-dev libc++abi-12-dev
build.sh
67 | export CC="gcc-8" --> export CC="gcc-12"
68 | export CXX="g++-8" --> export CXX="g++-12"
70 | export CC="clang-8" --> export CC="clang-12"
71 | export CXX="clang++-12" --> export CXX="clang++-12"
cmake/cmake-modules/CommonSetup.cmake
62 | set(CXX_EXP_LIB "-L${LLVM_LIBRARY_DIRS} -lc++fs -ferror-limit=10") --> set(CXX_EXP_LIB "-L${LLVM_LIBRARY_DIRS} -ferror-limit=10")
64 | set(CXX_EXP_LIB "-lstdc++fs -fmax-errors=10 -Wnoexcept -Wstrict-null-sentinel") --> set(CXX_EXP_LIB "-fmax-errors=10 -Wnoexcept -Wstrict-null-sentinel")
ros2/src/airsim_ros_pks/CMakeLists.txt
37 | -lstdc++fs -fmax-errors=10") --> -fmax-errors=10")
Unity/build.sh
21 | export CC=/usr/local/opt/llvm@8/bin/clang --> export CC=/usr/local/opt/llvm@12/bin/clang
22 | export CXX=/usr/local/opt/llvm@8/bin/clang++ --> export CXX=/usr/local/opt/llvm@12/bin/clang++
24 | export CC="clang-8" --> export CC="clang-12"
25 | export CXX="clang++-8" --> export CXX="clang++-12"