ROS在ARM上的編譯
ROS(robot operaring system)作為移動(dòng)機(jī)器人軟件架構(gòu),近幾年得到了越來(lái)越廣泛的應(yīng)用,但是大部分應(yīng)用是基于X86架構(gòu)的處理器,怎么樣將這么強(qiáng)大的工具和應(yīng)用極為廣泛的ARM處理器結(jié)合在一起,是現(xiàn)在很多開(kāi)發(fā)者急于解決的問(wèn)題。我作為ROS的初學(xué)者最近也嘗試了一把ROS 的arm移植,糾結(jié)了四五天,不過(guò)最后還是成功了。
雖然現(xiàn)在針對(duì)非X86架構(gòu)的處理器產(chǎn)生了一些ROS的應(yīng)用方案,比如eros(http://www.ros.org/wiki/eros)、rosserial(http://www.ros.org/wiki/rosserial)等方式,后者是針對(duì)Arduino的,前者玩了幾天,沒(méi)搞清楚是怎么用的,所以上網(wǎng)各處搜索,也在ROS的群里問(wèn)了一些人,最近正好群里也有人成功在MK802 III上成功編譯了ROS源碼,所以直接在目標(biāo)機(jī)上編譯源碼這個(gè)原始的方式,雖然效率較低,但是應(yīng)該是行的通的。
移植環(huán)境:
PC:Ubuntu 12.04
arm處理器:Cortex-A9
arm操作系統(tǒng):Ubuntu12.04
ROS版本:groovy
編譯流程:
1、安裝工具軟件
啟動(dòng)ARM板中的ubuntu操作系統(tǒng),使用串口與電腦連接,通過(guò)ssh使得PC機(jī)可以與ARM板進(jìn)行遠(yuǎn)程控制,然后就可以在PC機(jī)上控制arm板中的代碼編譯了。
首先是按照教程上說(shuō)的:
sudo apt-get install python-rosdep python-wstool build-essential
但是在arm的ubuntu源中沒(méi)有python-rosdep和python-wstool這兩個(gè)包,這兩個(gè)包的安裝可以按照f(shuō)uerte的編譯說(shuō)明進(jìn)行(http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source):
python ez_setup.py
利用easy_install安裝pip:(http://www.ros.org/wiki/ROS/Installation/EasyInstallConfig)
sudo easy_install pip
然后安裝以下的包:(http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source)
sudo pip install -U rosdep
sudo pip install -U rosinstall
sudo pip install -U rospkg
安裝python-wstool:
pip install -U wstool
redep初始化:
sudo rosdep init
rosdep update
2、下載源碼
創(chuàng)建文件夾:
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
下載代碼,我是用的是最小包ros-common:
wstool init src -j8 http://packages.ros.org/web/rosinstall/generate/raw/groovy/ros_comm
傳說(shuō)春運(yùn)搶票搞垮了github,一開(kāi)始怎么都連接不上github的服務(wù)器,嘗試了一天,才在茫茫搶票熱潮中把代碼下了下來(lái)。
c++相關(guān)文章:c++教程
評(píng)論