開源自動駕駛仿真平台 AirSim (2) - 編譯 AirSim


AirSim 的官方 Github: https://github.com/Microsoft/AirSim

對於 Unreal Engine 來說,AirSim 其實是作為一個插件存在,說白了就是把無人車,無人機以插件的形式加入 Unreal 的場景中。

下面是如何編譯 AirSim。

1 下載 Visual Studio 2015 Update 3

建議大家下載 Visual Studio Professional 2015 with Update 3,我之前使用的 Visual Studio Community 2015 with Update 3 遇到一些問題。不過具體是不是 Community 版本造成的,我后來也不是特別清楚。

只有 Community 是免費版的。

鑒於碰見朋友找不到下載鏈接,給一個 Visual Studio 2015 with Update 3 的傳送門。

http://blog.csdn.net/luckypeng/article/details/54342659

*官方強調了只有 VS 2015 update 3 他們測試過,其他版本即使是 2017 版也可能帶來各種問題。

2 通過 VS 2015 內置 Git 克隆 AirSim 到本地 [1]

在 VS 中選擇 Team,然后選擇 Mange Connections

clip_image001

然后,在右側的 Team Explorer 中展開 Local Git Repositories。選擇 Clone,第一行輸入 URL 為 AirSim 的官方 Github https://github.com/Microsoft/AirSim, 第二行選擇本地的存儲地址。然后,點擊 Clone。

3 配置 eigen [1]

簡單說一下,eigen是開源的 C++ 庫, 用於線性代數,矩陣,矢量運算,數值分析及其相關算法 [2]。

在官網下載 eigen,http://eigen.tuxfamily.org/index.php?title=Main_Page

將其解壓在一個新文件夾中,並將此文件夾的一級目錄命名為 eigen。

打開設置系統環境變量:開始 -> 右鍵“計算機”-> 選擇“屬性” -> 在左側,選擇“高級系統設置”-> 高級中找到“系統變量”

在系統變量中新建一個,輸入變量名字 EIGEN_ROOT,然后將變量值設置為自己剛剛建立的 eigen 目錄。

clip_image002

確定后入下圖,

clip_image003

但是,在這里一定要把所有的確定鍵都按了,然后重啟電腦,這里的配置才能生效。

*在Github上有人說可以將這個 eigen 庫直接拷貝到 AirSim/AirLib 目錄下,這樣雖然保證我在下面一步能夠編譯成功,最終還是在和 Unreal 一起編譯的時候出現了問題。很多人最后是通過從 Win7 換到 Win10 解決的。但是,我發現只要使用環境變量的配置方式能夠保證最后的成功的。

*所以,不要去拷貝這個庫!

*在這一步,如果使用的是學校或者公司的電腦,一定要配置到系統變量中。我使用公司的電腦,用戶管理這里做的比較復雜,配置到用戶變量中完全沒有起作用。這才導致我會嘗試去拷貝這個庫,但這是一個完全錯誤的做法。如果你的電腦環境也很復雜,請直接修改在系統變量。

4 修改一個運用 eigen 部分代碼的 bug

我不太清楚這個 bug 出現了很久為什么一直沒有更正。這個 bug 是 [1] 中的大牛發現的。它是一個在注釋部分使用了非 UTF-8 編碼的雙引號導致的。

我們需要進入到 AirSim 目錄中,找到 \AirSim\AirSim_3\AirLib\deps\eigen3\Eigen\src\Core\arch\CUDA\half.h

打開 half.h 找到第 16 行的一個 "AS IS",將它的引號替換一下。

clip_image004

5 更新 Powershell [3]

由於 Win7 自帶的 Powershell 只有2.0,我們需要用到高版本的 Powershell。

首先,查看自帶 Powershell的版本。開始->附件->Windows Powershell,打開 Powershell。輸入get-host查看版本 [4]。

clip_image005

在網站下載 Powershell 5.0版本。因為微軟沒有提供獨立的 Powershell 更新包,它被放在了Windows Management Framework”的組件中。

請在下面的鏈接中下載 https://www.microsoft.com/en-us/download/details.aspx?id=50395

clip_image006

.msu 文件即微軟的 microsoft software update 的縮寫。

如果擔心出新問題,請提前在控制面板中卸載舊版本的 Windows Management Framework。

6 Build AirSim

終於到要 Build 的時候了。如果上面配置都正確的話,從開始中打開 Developer Command Prompt for VS 2015。Windows 的命令行操作和 Linux 大致一樣,進入目錄使用的依然是 cd 命令。不過,如果從 c 盤進入 d 盤,不需要要輸入 cd 直接在命令行輸入 "d:"。列出目錄不再是 "ls",而換成了 "dir"。然后,進入到 AirSim的目錄中,執行 build.cmd。

clip_image007

寫在后面

如果順利的話就可以編譯成功了,但是大家往往在這里會遇到各種各樣的問題。建議,首先看一下是不是都按照上面的做了。然后,如果還有問題可以在 AirSim 官方的 Github 中的 Issues 查看一下。

AirSim的 Issues: https://github.com/Microsoft/AirSim/issues

AirSim 的官方 Github: https://github.com/Microsoft/AirSim

我之前遇到的一個問題,下午 6 點左右發上去,晚上 9 點就有人回復給我了。讓我深深感受到了開源的力量。

參考文獻

[1] http://blog.csdn.net/u011860814/article/details/60469441

[2] https://baike.baidu.com/item/Eigen/18001249?fr=aladdin

[3] http://www.boxfun.net/2017/02/10/upgrade-powershell-to-new-version/

[4] http://www.boxfun.net/2017/02/10/review-powershell-version/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM