亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
        當(dāng)前位置:Linux認(rèn)證 > 綜合輔導(dǎo) > 文章內(nèi)容
        

      Linux教程:ROS在ARM上的編譯

      來源:Linux社區(qū) [ 2016年1月23日 ] 【

      ROS(robot operaring system)作為移動機(jī)器人軟件架構(gòu),近幾年得到了越來越廣泛的應(yīng)用,但是大部分應(yīng)用是基于X86架構(gòu)的處理器,怎么樣將這么強大的工具和應(yīng)用極為廣泛的ARM處理器結(jié)合在一起,是現(xiàn)在很多開發(fā)者急于解決的問題。我作為ROS的初學(xué)者最近也嘗試了一把ROS 的ARM移植,糾結(jié)了四五天,不過最后還是成功了。

      雖然現(xiàn)在針對非X86架構(gòu)的處理器產(chǎn)生了一些ROS的應(yīng)用方案,比如eros(//www.ros.org/wiki/eros)、 rosserial(//www.ros.org/wiki/rosserial)等方式,后者是針對Arduino的,前者玩了幾天,沒搞清楚是怎么用的,所以上網(wǎng)各處搜索,也在ROS的群里問了一些人,最近正好群里也有人成功在MK802 III上成功編譯了ROS源碼,所以直接在目標(biāo)機(jī)上編譯源碼這個原始的方式,雖然效率較低,但是應(yīng)該是行的通的。

      移植環(huán)境:

      PC:Ubuntu 12.04

      ARM處理器:Cortex-A9

      ARM操作系統(tǒng):Ubuntu12.04

      ROS版本:groovy

      編譯流程:

      整體的編譯流程全部按照官網(wǎng)的教程進(jìn)行(//www.ros.org/wiki/groovy/Installation/Source)。

      1、安裝工具軟件

      啟動ARM板中的ubuntu操作系統(tǒng),使用串口與電腦連接,通過ssh使得PC機(jī)可以與ARM板進(jìn)行遠(yuǎn)程控制,然后就可以在PC機(jī)上控制ARM板中的代碼編譯了。

      首先是按照教程上說的:

      sudo apt-get install python-rosdep python-wstool build-essential        但是在ARM的ubuntu源中沒有python-rosdep和python-wstool這兩個包,這兩個包的安裝可以按照fuerte的編譯說明進(jìn)行(//www.ros.org/wiki/fuerte/Installation/Ubuntu/Source):

      安裝easy_install:(//blog.csdn.net/chosen0ne/article/details/7210745)

      wget //peak.telecommunity.com/dist/ez_setup.py python ez_setup.py

      利用easy_install安裝pip:(//www.ros.org/wiki/ROS/Installation/EasyInstallConfig)

      sudo easy_install pip            然后安裝以下的包:(//www.ros.org/wiki/fuerte/Installation/Ubuntu/Source)

      sudo pip install -U rosdepsudo pip install -U rosinstallsudo 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 //packages.ros.org/web/rosinstall/generate/raw/groovy/ros_comm

      3、編譯源碼

      按照教程上說的進(jìn)行依賴包的安裝:

      rosdep install --from-paths src --ignore-src --rosdistro groovy -y          然后應(yīng)該還需要安裝cmake(我之前就已經(jīng)安裝好了,不知道是不是應(yīng)該在這一步)。我是從官網(wǎng)下載的源碼(//www.cmake.org /),然后在ARM上編譯的。ARM上編譯太慢了,用了將近一個小時,不知道可不可以在PC上交叉編譯,不做深究了。

      接下來就是最重要的過程了——編譯。這個過程是痛苦而漫長的,ARM板的主頻慢,編譯一次代碼需要20分鐘左右,而且每次出錯總是在編譯了好長時間之后,各種依賴的包需要安裝。如果現(xiàn)在進(jìn)行編譯,肯定會出現(xiàn)一大堆錯誤,可以根據(jù)這些錯誤進(jìn)行一步步的處理,基本都是所依賴的包沒有安裝。其中最重要的就是boost庫的包。因為ROS中很多的代碼是使用C++寫的,都使用了boost靜態(tài)庫,所以必須在ARM中的ubuntu系統(tǒng)中安裝boost庫。 boost庫是我糾結(jié)時間最長的一個問題,我使用了各種各樣的方法進(jìn)行安裝:

      (1)直接apt-get安裝

      (2)下載源碼在PC機(jī)上交叉編譯然后放到ARM中

      (3)直接下載官方針對ARM架構(gòu)已經(jīng)編譯好的deb包進(jìn)行安裝(https://launchpad.net/ubuntu/+source/boost1.46/1.46.1-7ubuntu3/+build/3060825)

      首頁 1 2 尾頁
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved