ROS學習(一)Ubuntu安裝ROS Kinetic步驟以及運行

機器人操作系統 ROS支持多種操作系統,但正式支持的只有Ubuntu,而對其它版本僅提供安裝方法。因此說明Ubuntu及與Ubuntu兼容的Linux Mint一般可以采用 apt-get的方式進行安裝,可以根據自己的Ubuntu的具體版本下載相應的ROS版本進行安裝。

安裝前

1、配置軟件庫: Ubuntu repositories。

???? 在桌面點擊“Ubuntu Software”,選擇“software & update”,選中 “restricted,” “universe,” and “multiverse” ,如下圖所示。

通常也會設置“download from”,可以選擇一個國內的軟件源,如:http://mirrors.aliyun.com/ubuntu, 當然也可以設置為其他,或者讓系統自動選擇最好的。更改以后,選擇“reload”更新軟件。“reload”需要一定的時間,一定要耐性等待,如果中途手動停止,后面下載的時候回出現錯誤,導致安裝失敗。

2、設置軟件源:sources.list。

配置你的電腦使其能夠安裝來自 packages.ros.org的軟件包。目前最新版本的 ROS Kinetic 只支持Ubuntu 15.10和 Ubuntu 16.04 。

sudo sh -c 'echo"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

3、設置 keys

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80--recv-key0xB01FA116

安裝

1、更新軟件

sudoapt-get update

2、ROS中有很多各種函數庫和工具,我們提供了四種默認安裝方式,你也可以單獨安裝某個特定軟件包。

?? 桌面完整版安裝:(推薦) 包含ROS、rqt、rviz、通用機器人函數庫、2D/3D仿真器、導航以及2D/3D感知功能。

sudo apt-getinstall ros-Kinetic-desktop-full

?? 桌面版安裝: 包含ROS、rqt、rviz以及通用機器人函數庫。

sudo apt-getinstall ros-Kinetic-desktop

?? 基礎版安裝: 包含ROS核心軟件包、構建工具以及通信相關的程序庫,無GUI工具。

sudo apt-getinstall ros-Kinetic-ros-base

?? 單個軟件包安裝: 你也可以安裝某個指定的ROS軟件包(使用軟件包名稱替換掉下面的PACKAGE):

sudo apt-getinstall ros-Kinetic-PACKAGE

例如:sudo apt-getinstall ros-Kinetic-slam-gmapping

因為ROS更新比較快,如果是想學習的話,最好安裝最新的版本,如果是要使用現成的機器人工具包的話,可以先查看一下你所選擇的機器人工具包支持哪一個版本的ROS,然后再安裝。

要查找可用軟件包,請運行:

apt-cachesearch ros-Kinetic

3、初始化 rosdep

在開始使用ROS之前你還需要初始化rosdep。rosdep可以方便在你需要編譯某些源碼的時候為其安裝一些系統依賴,同時也是某些ROS核心功能組件所必需用到的工具。

sudorosdep initrosdep update

4、環境配置

如果每次打開一個新的終端時ROS環境變量都能夠自動配置好(即添加到bash會話中),那將會方便很多:

echo"source /opt/ros/Kinetic/setup.bash">> ~/.bashrcsource~/.bashrc

5、安裝 rosinstall

rosinstall 是ROS中一個獨立分開的常用命令行工具,它可以方便讓你通過一條命令就可以給某個ROS軟件包下載很多源碼樹。要在ubuntu上安裝這個工具,請運行:

sudo apt-getinstall python-rosinstall

配置工作環境

1、管理環境

在安裝ROS期間,你會看到提示說需要 source 多個setup.*sh文件中的某一個,或者甚至提示添加這條’source’命令到你的啟動腳本里面。這些操作是必須的,因為ROS是依賴于某種組合空間的概念,而這種概念就是通過配置腳本環境來實現的。這可以讓針對不同版本或者不同軟件包集的開發更加容易。

如果你在查找和使用ROS軟件包方面遇到了問題,請確保你已經正確配置了腳本環境。一個檢查的好方法是確保你已經設置了像ROS_ROOT和ROS_PACKAGE_PATH這樣的環境變量,可以通過以下命令查看:

$export| grep ROS

如果發現沒有配置,那這個時候你就需要’source’某些’setup.*sh’文件了。

如果你是通過ubuntu上的 apt 工具來安裝ROS的,那么你將會在’/opt/ros//’目錄中看到setup.*sh文件,然后你可以執行下面的source命令:

source /opt/ros//setup.bash

在每次打開終端時你都需要先運行上面這條命令后才能運行ros相關的命令,為了避免這一繁瑣過程,你可以事先在.bashrc文件(該文件是在當前系統用戶的home目錄下。)中添加這條命令,這樣當你每次登錄后系統已經幫你執行這些命令配置好環境。這樣做也可以方便你在同一臺計算機上安裝并隨時切換到不同版本的ROS(比如fuerte和groovy)。

2、創建ROS工作空間

catkin rosbuild

下面我們開始創建一個catkin 工作空間:

$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/src

即使這個工作空間是空的(在’src’目錄中沒有任何軟件包,只有一個CMakeLists.txt鏈接文件),你依然可以編譯它:

$ cd ~/catkin_ws/$ catkin_make

catkin_make命令在catkin

工作空間中是一個非常方便的工具。如果你查看一下當前目錄應該能看到’build’和’devel’這兩個文件夾。在’devel’文件夾里面你可以看到幾個setup.*sh文件。接下來首先source一下新生成的setup.*sh文件:

$sourcedevel/setup.bash

要想保證工作空間已配置正確需確保ROS_PACKAGE_PATH環境變量包含你的工作空間目錄,采用以下命令查看:

$ echo$ROS_PACKAGE_PATH/home//catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

到此工作環境已經搭建完成。

運行小烏龜

首先打開一個終端運行如下命令:

source /opt/ros/kinetic/setup.bash

source ~/catkin_ws/devel/setup.bash

(這里要說明,因為我的電腦之前在配置啟動項的時候,并未成功,所以每一個終端窗口都要運行上述的兩天的命令,才可以運行)

運行終端下的?????? roscore? 命令啟動主節點服務器。

此時主節點服務器已經啟動,接下來可以運行節點

打開新的終端,同樣運行上述的兩條命令 之后 輸入 rosrun turtlesim turtlesim _ node


這樣子之后ROS的標志——小烏龜就顯示出來了。但是此時它還不能動,只能靜靜的呆在那里,接下來的一條命令,可以讓它動起來,打開一個新的終端窗口并執行以下命令。將顯示下面消息,并執行turtlesim功能包中的turtle_teleop_key。如果您按下該終端窗口上的方向鍵(←,→,↑,↓),您將看到烏龜按照圖3-6右側所示的方向鍵移動。您必須在終端窗口中輸入鍵盤。這看似只是一個簡單的仿真,但實體機器人也可以通過這種方式進行遠程控制。

運行rqt_graph功能包的rqt_graph

在新的終端窗口中執行rqt_graph命令,這將啟動rqt_graph功能包的rqt_graph節點。其結果是當前正在運行的節點(程序)的信息圖,如圖3-7所示。

rqt_graph節點以GUI形式顯示關于當前正在運行的節點的信息。圓圈表示節點,正方形表示話題。可以看到,箭頭從/teleop_turtle節點開始,通往/turtlesim。這表示兩個節點正在運行并且這兩個節點之間正在發生消息通信。并且/turtle1/cmd_vel是turtle1話題的子話題,是兩個節點之間的話題的名稱,意味著在teleop_turtle節點中通過鍵盤輸進來的速度命令通過話題將消息發送給turtlesim。換句話說,使用先前執行的兩個節點,將鍵盤命令傳送到機器人仿真器。

參考

1、http://wiki.ros.org/cn/jade/Installation/Ubuntu

2、http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容