1. 程式人生 > >Ubuntu 16.04 安裝 ROS Kinetic Kame

Ubuntu 16.04 安裝 ROS Kinetic Kame

ROS(Robot Operating System)是一個機器人軟體平臺,它能為異質計算機叢集提供類似作業系統的功能。ROS的前身是斯坦福人工智慧實驗室為了支援斯坦福智慧機器人STAIR而建立的交換庭(switchyard)專案。它包含了一系列的軟體庫和工具用於構建機器人應用。從驅動到最先進的演算法,以及強大的開發者工具,ROS 包含了開發一個機器人專案所需要的所有東西。且它們都是開源的。

ROS 雖然名為機器人作業系統,但它與我們一般概念中的作業系統,如 Windows,Linux,iOS 和 Android 這些不同。Windows,Linux,iOS 和 Android 這些作業系統為我們管理計算機的物理硬體資源,如 CPU、記憶體、磁碟、網路及外設,提供如程序、執行緒和檔案這樣的抽象,並提供如讀檔案、寫檔案、建立程序、建立執行緒及啟動執行緒這樣的操作。ROS 所工作的層級並沒有這麼低,它基於一般概念中的作業系統來執行,官方推薦基於 Ubuntu Linux 執行,並在 Ubuntu Linux 作業系統提供的抽象和操作的基礎之上,提供了更高層的抽象,如節點、服務、訊息、主題等,以及更高層的操作,如主題的釋出、主題的訂閱、服務的查詢與連線等操作。同時 ROS 還提供開發機器人專案所需的工具和功能庫。

ROS 發行版是一個版本標識的 ROS 包集合,這些與 Linux 發行版(如 Ubuntu)類似。ROS 發行版的目的是讓開發者可以基於一個相對穩定的程式碼庫來工作,直到他們可以平穩地向前演進。一旦發行版釋出,官方就會限制對其的改動,而僅僅提供對於核心包的 bug fixes 和非破壞性的增強。

ROS 系統已經發布了多個版本。ROS 最新的一些版本如下:

ROS 系統版本 時間釋出 支援時間
ROS Lunar Loggerhead May 23rd, 2017 May, 2019
ROS Kinetic Kame May 23rd, 2016 LTS,April, 2021 (Xenial EOL)
ROS Jade Turtle May 23rd, 2015 May, 2017
ROS Indigo Igloo July 22nd, 2014 LTS,April, 2019(Trusty EOL)
ROS Hydro Medusa September 4th, 2013 May, 2015

ROS 基本上保持每年一個新版本,每兩年一個長期發行版的釋出節奏。關於 ROS 版本釋出的更多內容,如更多的發行版的介紹,釋出的計劃等,可以參考 ROS 官方站點的 Distributions 主頁。

目前官方推薦使用最近的一個長期支援版本,即 ROS Kinetic Kame,求新的同時兼顧穩定性無疑應該採用這一版本,如果想要嘗試最新的功能特性則可以使用最新的發行版 ROS Lunar Loggerhead

ROS 的安裝步驟如下。

配置 Ubuntu 倉庫

配置 Ubuntu 倉庫,以允許 “restricted”,”universe” 和 “multiverse”。開啟 新立得包管理器,如下圖:

新立得包管理器

選擇 設定 -> 軟體庫(R),彈出如下對話方塊:

Ubuntu 倉庫

開啟 “Ubuntu 軟體” Tab 頁,勾選 “restricted”,”universe” 和 “multiverse” 等選項,如上圖所示。通常情況下,這些選項都是預設選中的,因此這一步一般不會遇到什麼問題。

設定 sources.list

為 Ubuntu 的包管理器增加源,設定計算機接受來自於 packages.ros.org 的軟體。

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

這一步會根據 Ubuntu Linux 發行版本的不同,新增不同的源。Ubuntu 的版本通過 lsb_release -sc 獲得。

一旦添加了正確的軟體庫,作業系統就知道去哪裡下載程式,並根據命令自動安裝軟體。

設定金鑰

這一步是為了確認原始碼是正確的,並且沒有人在未經所有者授權的情況下,修改任何程式程式碼。通常情況下,當新增完軟體庫時,已經添加了軟體庫的金鑰,並將其新增到作業系統的可信任列表中。

設定金鑰的命令如下:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
   
  • 1

如果在連線金鑰伺服器時遇到了問題,可以嘗試在上面的命令中用 hkp://pgp.mit.edu:80hkp://keyserver.ubuntu.com:80 來替換。

安裝

首先,需要確保包管理器的索引已經更新至最新:

sudo apt-get update
   
  • 1

ROS 中有非常多不同的庫和工具。官方提供了四種預設的配置來安裝 ROS。也可以獨立地安裝 ROS 包。

桌面完整安裝(推薦採用):ROS,rqtrviz,機器人通用庫,2D/3D 模擬器,導航及 2D/3D 感知

$ sudo apt-get install ros-kinetic-desktop-full
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹       
正在讀取狀態資訊... 完成       
. . . . . .

需要下載 445 MB 的歸檔。
解壓縮後會消耗 2,139 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304

桌面安裝:ROS,rqtrviz,機器人通用庫

sudo apt-get install ros-kinetic-desktop
   
  • 1

ROS-Base (Bare Bones):ROS 包,構建和通訊庫。沒有 GUI 工具。

sudo apt-get install ros-kinetic-ros-base
   
  • 1

獨立的包安裝:可以安裝一個特定的 ROS 包(用實際的包名來替換下面的命令中的 “PACKAGE”)。

sudo apt-get install ros-kinetic-PACKAGE
   
  • 1

如:

sudo apt-get install ros-kinetic-slam-gmapping
   
  • 1

要找到可用的包,可以使用:

apt-cache search ros-kinetic
   
  • 1

通常在做開發時,採用 桌面完整安裝 比較方便一點。對於實際的機器,則通常採用 ROS-Base (Bare Bones) + 獨立的包 的方式進行安裝。

初始化 rosdep

在使用 ROS 之前,需要先初始化 rosdeprosdep 使得你可以為你想要編譯的原始碼,以及需要執行的 ROS 核心元件,簡單地安裝系統依賴。

sudo rosdep init
rosdep update
   
  • 1
  • 2

環境設定

如果在每次一個新的終端啟動時,ROS 環境變數都能自動地新增進你的 bash 會話是非常方便,這可以通過如下命令來實現:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
   
  • 1
  • 2

如果安裝了多個 ROS 發行版,則 ~/.bashrc 必須只 source 當前正在使用的那一版的 setup.bash

如果你只想要修改當前 shell 的環境,則輸入如下的命令來替換上面的命令:

source /opt/ros/kinetic/setup.bash
   
  • 1

構建包所需的依賴

到這一步,應該已經安裝好了執行核心 ROS 包的所有東西。要建立和管理你自己的 ROS workspace,還有單獨釋出的許多的工具。比如,rosinstall 是一個常用的命令列工具,使你可以通過一個命令為 ROS 包簡單地下載許多原始碼樹。

要安裝這個工具及其它的依賴以構建 ROS 包,則執行:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
   
  • 1

完成完整的 ROS 安裝之後,可以通過 roscoreturtlesim 來做測試。

turtlesim 測試如下:
Turtlesim

注意 turtlesim 的執行依賴於 roscore 的執行,因此在測試 turtlesim 需要同時執行 roscore

2018年07月09日增加

1、rosrun turtlesim turtle_teleop_key Reading form keyboard按上/下/左或右鍵(焦點在第二幅截圖視窗),海龜響應命令開始移動!
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

2、官方安裝教程http://wiki.ros.org/kinetic/Installation/Ubuntu