华南俳烁实业有限公司

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

Linux教程:ROSonARM--RK3066上本地編譯ROSGroovy

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

1. 開源機器人操作系統(tǒng)ROS(Robot Operating System)簡介

ROS(Robot Operating System)是一個開源的為機器人軟件開發(fā)設計的軟件框架,在異構計算機集群中提供類似操作系統(tǒng)的功能。它并不是一個計算機的操作系統(tǒng),而是機器人的操作系統(tǒng),或者稱為元級操作系統(tǒng)(Meta Operating System)。據(jù)目前唯一一本比較官方的關于ROS的書《ROS By Example Volume 1》介紹,“The primary goal of ROS (pronounced "Ross") is to provide a unified and open source programming framework for controlling robots in a variety of real world and simulated environments.”,ROS的原始目的就是為了在一系列真實和模擬的環(huán)境中控制機器人提供一個統(tǒng)一的開源編程框架。為了實現(xiàn)這一目標,ROS架構中有三個層次的概念:文件系統(tǒng)級(Filesystem Level),計算圖級(Computation Graph Level)和社區(qū)級(Community Level)。 具體可以查閱維基百科和官網(wǎng)wiki,這里就不過多介紹了。

2. ROS Groovy Galapagos

ROS Groovy Galapagos是2012年12月31日發(fā)布的ROS最新版本,主要支持Ubuntu 11.10、Ubuntu 12.04和Ubuntu 12.10。提到這個版本的原因是它采用了新的構建系統(tǒng)——catkin,準備逐漸取代之前的rosbuild。它解決了rosbuild當中的幾個問題,讓ROS可以持續(xù)發(fā)展和擴大規(guī)模,相對于rosbuild更符合文件系統(tǒng)層次結(jié)構標準(Filesystem Hierarchy Standard,F(xiàn)HS),使在其它操作系統(tǒng)和架構上發(fā)布ROS包更加容易。正是這個原因讓我在MK802 IIIS上編譯ROS的時候輕松很多,如果編譯之前的版本(比如fuerte)將會遇到更多問題。

因為catkin的引入,ROS文件系統(tǒng)級的Stacks概念被移除了,原因是Package和Stack之間依賴性跟蹤出現(xiàn)的問題,取代的是元包(metapackage)的概念。

3. Ubuntu on ARM

ARM版Ubuntu的軟件源是在//ports.ubuntu.com/上,和桌面版的略有區(qū)別,我遇到的一個問題就是桌面版python-*的包ARM版幾乎都沒有,解決辦法是使用python的包管理工具pip安裝,比如桌面版上apt-get install python-PACKAGENAME,用pip install PACKAGENAME替代。據(jù)說easy_install的維護不夠好,所以應該盡量用pip。

我使用的是RK3066上的Picuntu。

4. 編譯ROS for ARM

從前為ARM編譯一般都需要在x86的上位機上交叉編譯,有一個叫做EROS的項目,但是似乎文檔不全,個人覺得用它成功編譯的人應該也不多。近幾年ARM性能足夠強了,在ARM運行的操作系統(tǒng)上直接編譯也不是什么問題。所以完全可以參考官網(wǎng)從源碼編譯的教程,官網(wǎng)還特別搞了一個在樹莓派上編譯的教程。

當然,樹莓派的內(nèi)存只有512MB,而且是ARM 11,使用ROS會受到很大的限制,既然它都可以編譯ROS Groovy,那么雙核A9的RK3066,1G內(nèi)存就更不是問題了。

下面一步步按照官網(wǎng)上從源碼編譯的wiki來:

4.1 安裝基礎依賴包

操作系統(tǒng)相關的:

sudo apt-get install build-essential git python-pip 

ROS Common(或者叫ROS Base,Base Bones什么的)依賴的:

sudo apt-get install libtinyxml-dev libgtest-dev  liblog4cxx10-dev

注意這里只是在Picuntu RC2 上需要額外安裝的庫,可能你還會遇到其它庫的問題。desktop或者desktop-full依賴的庫更多,所以更難解決。

還有一些重要的工具:

sudo pip install wstool rospkg rosdep

可能會遇到很多python-*的包缺少的問題,需要用sudo pip install PACKAGENAME安裝

安裝完rosdep以后初始化一下:

sudo rosdep init
rosdep update
首頁 1 2 3 4 尾頁
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
汽车| 同仁县| 嵩明县| 铜山县| 涞源县| 万安县| 武城县| 龙山县| 通州市| 怀来县| 温泉县| 加查县| 新巴尔虎右旗| 芜湖县| 华亭县| 铜山县| 巧家县| 锡林郭勒盟| 延安市| 印江| 阜城县| 南通市| 韶关市| 尖扎县| 武功县| 米易县| 阿鲁科尔沁旗| 贞丰县| 兰州市| 陕西省| 梁平县| 峡江县| 土默特左旗| 饶河县| 绥中县| 清远市| 北票市| 潮州市| 澜沧| 云浮市| 广元市|