Ubuntu16.04安装ROS系统及网络问题解决

目录

  • 一、安装步骤
    • 1. 设置sources.list
    • 2. 添加密钥
    • 3. 更新软件包
    • 4. 安装ROS kinetic完整版
    • 5. 初始化rosdep
    • 6. 配置ROS环境
  • 二、常见问题及解决方案
    • 1. rosdep初始化失败
      • 解决方案
    • 2. rosdep更新失败
      • 解决方案
  • 三、ROS卸载

一、安装步骤

1. 设置sources.list

通常使用:

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

但个人推荐使用下面清华源,稳定且下载速度会更快

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'

2. 添加密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3. 更新软件包

sudo apt-get update

4. 安装ROS kinetic完整版

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

5. 初始化rosdep

sudo rosdep init
rosdep update

6. 配置ROS环境

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

二、常见问题及解决方案

1. rosdep初始化失败

报错如下:

sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

这类问题是由于源和网络导致的,无法成功验证 SSL 证书,我们可以通过切换源和网络解决,但有时候我们会受限于工作环境而无法更改网络,这里推荐一种跳过SSL验证的方法

解决方案

打开sources_list.py文件

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

在顶部直接插入两行代码取消SSL验证

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

2. rosdep更新失败

报错如下:

<urlopen error <urlopen error [Errno 111] Connection refused>

同样是由于网络连接问题导致的,可以通过添加google域名服务器解决

解决方案

sudo gedit /etc/resolv.conf

将原有的nameserver这一行注释,并添加以下两行:

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

三、ROS卸载

使用apt-get方式安装的ros,可直接运行下列命令卸载:

sudo apt-get remove ros-*

你可能感兴趣的:(从零开始搭建自动驾驶开发环境)