Airsim在Liunx的部署
@ 晚风 · Thursday, Apr 18, 2024 · 2 分钟阅读 · 更新于 4月 18, 2024

Airsim在Liunx的多种部署方式

环境

Linux: Ubuntu 22.04 LTS

快速部署(预编译环境)

下载

官方地址

操作

下载对应环境的zip包后,放到AirSim文件夹下,然后解压

比如AirSimNH

运行/AirSimNH/LinuxNoEditor/AirSimNH/Binaries/Linux/AirSimNH

源码编译

官方文档

构建UE

  1. 注册Epic Games

  2. 与github账户关联(文档)

  3. 拉取代码(>=4.27)

  4. $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
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"

关于我

❤️

姓名: lwz


性别: 男


年龄: 29


星座: 摩羯座


职业: python工程师


爱好: 秋、ps5、运动


主要的技术栈是:

  • python
  • 自动驾驶仿真验证

学习网站: leetcode


公司: 国科础石


– 2025 年 2 月 25 日更新

我的一些开源项目

等等?项目呢?不会没有吧??

其他

如果你喜欢我的开源项目或者它们可以给你带来帮助,可以赏一杯咖啡 ☕ 给我。~

It is better to attach some information or leave a message so that I can record the donation 📝, thank you very much 🙏.

社交链接