1. 程式人生 > >在樹莓派、香蕉派上安裝ROS JADE (Arch Linux)

在樹莓派、香蕉派上安裝ROS JADE (Arch Linux)

在ros官方網站上對於raspberry pi、banana pi等ARM裝置只提供了Ubuntu系統的安裝方式,對於Arch等暫時還沒有支援。而對於剛出的ROS發行版Jade,更是連PC版都只有Ubuntu、MacOS的安裝說明。但是Jade在Arch上的安裝是有辦法的,在ARM裝置上也是可行的。

以Banana Pi、Arch Linux為例。

和安裝indigo過程相同,需要先啟用Arch的AUR,安裝yaourt。教程見我的上一篇文章。
在安裝好後,使用

$ yaourt -S ros-jade-ros-base

命令開始安裝。(我選擇的是base,也就是隻有ros的基本檔案,如果有需要更多組建的可以試著安裝-desktop-full,不過我沒有試過,不知道在ARM上是否可行,再說在ARM上本來目的就是精簡空間,就不要裝太多視覺化工具啥的了)

注意,不要新增--noconfirm 這個引數,因為ARM上我們在安裝ROS的過程中是要不斷更改PKGBUILD文件的,如果加了這個引數那就無法更改。不過也因此,在ARM安裝ROS需要你在螢幕面前盯著,比較費時。

在每一此詢問是否修改PKGBUILD文件的時候,都要選是。
這裡寫圖片描述

在第一次詢問的時候,會問你用什麼編輯器開啟這個文件,輸入你常用的編輯器,比如vi或者vim,我一般用vim,輸入之後回車即可。

接下來會看到這些東西:
這裡寫圖片描述

找到我高亮的那一行,any(XXXXXXXXX),在括號裡是該元件支援的裝置型別,我們的板子是armv7h,不在裡面,但是經過測試,這些組建應該都有支援arm的,所以我們要把armv7h新增進去。一種辦法是新增’armv7h’,不過一個更簡單的辦法是直接新增或者改成’any’,這樣各種裝置就都支援了。大家也會發現有些元件這裡本來就是’any’,那就什麼都不需要做直接退出就好。
這裡寫圖片描述


遇到的每一個元件都需要這麼做,再加上ARM編譯比PC慢很多,所以安裝ROS整個過程比較慢,在網路較好的情況下可能也得2-3小時。

在安裝快結束的時候,可能會出現一個ERROR(只有在安裝indigo時會有,jade可以直接跳過),缺少一個元件。這個程式是沒有ARM版的,所以目前應該是無解。不過經過測試不安裝它ROS也完全可以正常執行沒有任何問題,所以直接跳過即可。所以我們要重新開始安裝,輸入

$ yaourt -S ros-jade-ros-base —needed

注意我後面的—needed引數,可以直接定位到安裝中止的地方,這個引數也可以用於誤操作退出安裝或者網路出現問題的情況。
現在,—needed應該直接定位到了以這個元件作為dependency的元件的安裝,在這個程式的PKGBUILD裡面,找到dependency( ),把括號中的這個元件:刪除,然後繼續安裝,就沒有問題了。

至此,ROS也就全部安裝完成了。