ubuntu 16.04下安裝和配置ros

書上和網上關於ubuntu下安裝ros的文章很多,但是很多介紹的不完整,並且ubuntu和ros之間其實是有版本對應關系的,並不是所有的ros都能安裝到所有的ubuntu上,(很多書上或者文章介紹用的都是hydro或者indigo,有的給出了ubuntu版本,有的沒有給出,而參考的人很多忽略了ubuntu版本,覺得都可以)而這一點,很多文章沒有提到,結果其他人參考的時候,無法安裝成功。

1. ubuntu和ros的版本對應關系

Ros發布時間 Ros版本 對應的linux版本
2016.3 ROS Kinetic Kame Ubuntu 16.04 (Xenial) / Ubuntu 15.10 (Wily)
2015.3 ROS Jade Turtle Ubuntu 15.04 (Wily) / Ubuntu LTS 14.04 (Trusty)
2014.7 ROS Indigo Igloo Ubuntu 14.04 (Trusty)
2013.9 ROS Hydro Medusa Ubuntu 12.04 LTS (Precise)
2012.12 ROS Groovy Galapagos Ubuntu 12.04 (Precise)

在這裏,我們選擇最新的ros和ubuntu組合進行安裝,ubuntu 16.04 64bit+ROS Kinetic。

2. 配置ubuntu的軟件中心,允許安裝不經認證的軟件

首先打开“软件和更新”对话框,具体可以在 Ubuntu 最左上角的搜索按钮中搜索。

打开后按照下图进行配置(确保你的"restricted", "universe," 和 "multiverse."前是打上勾的):

3. 添加國內的ubuntu源

如163和阿裏雲的的源,這樣從國內下載軟件,速度會很快。

修改/etc/apt/sources.list文件

在頭部添加如下內容:

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties  
deb http://archive.canonical.com/ubuntu xenial partner  
deb-src http://archive.canonical.com/ubuntu xenial partner  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse 
deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

保存後,更新源,執行sudo apt-get update即可。

然後修改“軟件和更新”中的源代碼下載的源,如上圖中的清華大學的源。

4. 安裝ros

4.1 添加ros源

打开一个控制台(Ctrl + Alt + T), 输入如下指令:

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

设置秘钥:(根据大家的反馈,我原来写的密钥少了一个6,现在这个密钥是对的了,并且不要再换源,否则还会有坑)

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
然後執行sudo apt-get update刷新源的信息,否則後面就無法定位ros安裝包。

4.2 安裝ros系統

ROS kinetic 也有很多版本,這裏我們處於學習的目的,安裝完整版,即full版

sudo apt-get install ros-kinetic-desktop-full

報錯,如下:E 无法定位软件包 ros-kinetic-desktop-full,解決辦法:sudo apt-get update.

如果成功的話,會出現下圖所示的內容:

需要下載500多MB的內容,剩下就是等待啦。根據網速的不同,等待的時間不等。

安装完成后,可以用下面的命令来查看可使用的包:

$ apt-cache search ros-kinetic

到现在,ros是安装完了,但是還不能使用。需要先進行初始化。

4.3 初始化ros系統

在开始使用ROS之前还需要初始化rosdep,它可以方便在需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。

$ sudo rosdep init
$ rosdep update

然后初始化环境变量:

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

上面两句非常非常非常重要,很多小伙伴在日常的开发过程中,有的找不到 Package, 找不到node, 很多情况下都是没有添加source。

最后安装一个非常常用的插件:

$ sudo apt-get install python-rosinstall

好,到这里,所有安装就都完事啦。

为了保险,重启一下,测试一下ROS。

$ export | grep ROS

查看ROS相關環境變量是否設置成功。

5. 配置ROS

5.1配置setup.bash

將/opt/ros/kinetic/setup.bash添加到bashrc中,以便於直接快速啓動相關命令,

source /opt/ros//setup.bash

5.2 創建ROS的工作空間

下面我们开始创建一个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这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件:

$ source devel/setup.bash

要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

$ echo $ROS_PACKAGE_PATH

顯示爲:/home/oldking/catkin_ws/src:/opt/ros/kinetic/share

到此你的工作环境已经搭建完成,接下来可以学习 ROS文件系统教程.

你可能感兴趣的:(linux,ROS)