Ubuntu18.04安装ROS系统的详细记录

一、添加ROS软件源

将ROS的软件源添加到Ubuntu的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'
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'

查看其它ROS 软件源的地址:UbuntuMirrors

二、设置秘钥

配置公网密钥,确保我们的系统认为这个路径是安全的,下载文件是没有问题的。不然下载的东西会立刻被清除掉。

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

三、配置软件源

确保Ubuntu系统软件源的"restricted", “universe” 和 "multiverse"前是打上勾的。
Ubuntu18.04安装ROS系统的详细记录_第1张图片

四、下载安装ROS

1、 Ubuntu与ROS版本对应关系
Ubuntu18.04安装ROS系统的详细记录_第2张图片

2、 查看ubuntu版本

cat /proc/version

3、 选择合适的版本下载安装

  • 按需选用full或者是base,base没有图形化界面,适合安装在机器人上;
  • 按照Ubuntu版本选择ROS版本,melodic版本适合于Ubuntu 18.04,其余Ubuntu版本各有其相应的ROS版本,不建议混用。
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
  • 安装完成后,能够用下面的命令来查看可以使用的包
apt-cache search ros-melodic

五、配置ROS环境

1、初始化 rosdep
rosdep 让你能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。
在终端依次输入下面指令进行初始化和更新:

sudo rosdep init
rosdep update

2、初始化 rosdep可能报错
1)报错1

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.
  • 解决方法:
    报以上错误很可能是网络原因,可以多试几次。若是屡次尝试未果,可以尝试查询IP,将IP写到hosts文件中。
#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加,保存后退出再尝试
185.199.108.133  raw.githubusercontent.com

2)报错2

ERROR: error loading sources list:
('The read operation timed out'.)
  • 解决办法一
    修改资源地址,修改 sources.list.d 文件夹(/etc/ros/rosdep/sources.list.d/)中的20-default.list,修改后的内容如下:
# os-specific listings first rosdep update
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml
gbpdistro https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

然后将rosdep2 文件夹(/usr/lib/python2.7/dist-packages/rosdep2/)中的 ‘gbpdistro_support.py’ ‘rep3.py’ ‘sources_list.py’ 这三个文件中URL的raw.githubusercontent.com/ros/rosdistro/master都替换为:

gitee.com/wybros/rosdistro/raw/master

同样再将rosdistro 文件夹(/usr/lib/python2.7/dist-packages/rosdistro/)中的 ‘init.py ‘文件的’raw.githubusercontent.com/ros/rosdistro/master’替换为

gitee.com/wybros/rosdistro/raw/master

最后再更新即可。

rosdep update

参考文章: 安装ROS中初始化rosdep出现问题解决办法

  • 解决办法二
    修改配置文件:
sudo gedit /etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
  • 解决办法三:
    timeout设置大点:
    分别更改 /usr/lib/python2.7/dist­packages/rosdep2/下的三个文件sources_list.py,gbpdistro_support.py,rep3.py中的DOWNLOAD_TIMEOUT = 15.0

参考文章:Ubuntu16.04&Melodic rosdep初始化问题解决方案

3、设置环境变量
输入以下指令设置环境变量

# !!! 注意将下面命令中的melodic更换为你的Ubuntu对应的ROS版本
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

(如果不小心输错了其他版本,可以输入sudo gedit ~/.bashrc,以管理员权限用gedit打开bashrc这个文件在最后一行找到刚刚输入进去的环境变量,将其删去,再执行前一个命令).

4、验证ROS是否安装成功
将以下三条指令逐一在三个不同的命令窗口输入

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!那么ROS就已经成功安装了!!!
5、输入roscore报错

Command 'roscore' not found, but can be installed with:

说明前面系统没有装全,再输以下指令把没安装的再安装一遍就好了

sudo apt install ros-melodic-desktop-full

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