ubuntu下安裝ros

本文详细介绍在Ubuntu系统上安装ROS的过程,包括版本对应、软件源配置、安装步骤及环境变量初始化,帮助读者顺利搭建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文件

在頭部添加如下內容:

[html] view plain copy
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
[html] view plain copy
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'

设置秘钥:


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

然後執行sudo apt-get update刷新源的信息,否則後面就無法定位ros安裝包。

鉴于国外的源不稳定或需要翻墙,很不方便,所以国内也搭建不错的源.

method 1: exbot source

命令下执行

 sudo sh -c '. /etc/lsb-release && echo "deb http://ros.exbot.net/rospackage/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

最终会在/etc/apt/sources.list.d/ros-latest.list有这么一行

     deb http://ros.exbot.net/rospackage/ros/ubuntu/ trusty main

命令行下执行更新

#更新源的软件包索引
sudo apt-get update     
#升级已安装的软件包,此可忽略
sudo apt-get upgrade
method 2: ustc source (推荐使用ustc源)

首先打开终端输入

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

如果上面执行有问题,请使用下面方式

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

设置密钥

wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -

命令行下执行更新

#更新源的软件包索引
sudo apt-get update     
#升级已安装的软件包,此可忽略
sudo apt-get upgrade

作者:lovedarling
来源:优快云
原文:https://blog.youkuaiyun.com/lovedarling/article/details/78377059
版权声明:本文为博主原创文章,转载请附上博文链接!

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

source /opt/ros/kinetic/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文件系统教程.

### 安装 ROS(机器人操作系统)在 Ubuntu 系统下的步骤 UbuntuROS(机器人操作系统)最常用的支持平台之一,以下是在 Ubuntu 20.04 上安装 ROS Noetic 的完整步骤。 #### 1. 配置 Ubuntu 的软件源 为了加快软件包的下载速度,建议使用国内镜像源。以下是以 **清华源** 为例的配置方法: ```bash sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' ``` 接着,添加 ROS 的官方密钥以确保软件包的完整性: ```bash sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` #### 2. 安装 ROS Noetic 更新软件包列表: ```bash sudo apt update ``` 根据需求选择合适的 ROS 安装版本。推荐安装 `ros-noetic-desktop-full`,它包含了 ROS 的核心组件和常用的工具: ```bash sudo apt install ros-noetic-desktop-full ``` #### 3. 初始化 rosdep ROS 使用 `rosdep` 工具来管理依赖项。安装完成后,需要初始化并更新它: ```bash sudo rosdep init rosdep update ``` #### 4. 设置环境变量 为了让系统识别 ROS 的命令和工具,需要将 ROS 的环境变量添加到当前用户的 shell 配置文件中。以 `bash` 为例,执行以下命令: ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 如果使用的是 `zsh`,则执行: ```bash echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc source ~/.zshrc ``` #### 5. 安装额外的依赖项(可选) 为了确保 ROS 的功能完整,可以安装一些额外的依赖项: ```bash sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential ``` #### 6. 验证安装 安装完成后,可以通过以下命令启动 ROS 核心服务来验证安装是否成功: ```bash roscore ``` 如果看到类似以下输出,则表示 ROS 已成功启动: ``` ... logging to /home/your_username/.ros/log/... started core service [/rosout] ``` #### 7. 启动仿真环境(可选) 如果计划使用 VRX(Virtual Robot Experimentation Platform)进行仿真,可以安装相关功能包并启动仿真环境: ```bash sudo apt-get install ros-noetic-teleop-twist-keyboard roslaunch vrx_2019 sandisland.launch ``` 启动键盘控制文件: ```bash roslaunch vrx_gazebo usv_keydrive.launch ``` #### 8. 常见问题处理 - **依赖项问题**:如果安装过程中出现依赖项问题,可以尝试使用 `sudo apt --fix-broken install` 来修复。 - **环境变量问题**:确保正确设置了环境变量,否则可能会遇到命令未找到的错误。 - **密钥问题**:如果添加密钥失败,可以尝试更换网络环境或使用其他镜像源[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值