UBUNTU18.04安装ROS melodic

主要参考https://www.cnblogs.com/letisl/p/11815191.html这篇博客,在其基础上增加一些自己的经验.

1 添加源

1.1 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'

1.2 TUNA源

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 添加私钥

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

不能添加则

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

如果出现GPG错误

则添加公钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

3 更新软件列表

sudo apt-get update

4 安装ROS

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

5 初始化

最折磨人的地方来了

sudo rosdep init

报错 rosdep找不到命令

sudo apt-get install python-rosdep

千万不要装python-rosdep2 这条命令你输入y会把你刚辛辛苦苦安装的ROS卸载掉

rosdep update

这条命令贼折磨人,在hit的时候会经常超时断掉(但是我第一次装ROS的时候没有出任何问题),但是第二次安装的时候挂*也没用,目前我找到的最有用的方法来自

https://www.cnblogs.com/stpaul/articles/14805360.html

由于近期国内Github Raw的可用IP越来越少,通过修改hosts文件解决rosdep update超时问题的方法已经不太好用,本文通过修改rosdep源码中下载资源的函数来解决这一问题。
网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。
首先定位rosdep资源下载函数。从报错信息中得知,该函数名为download_rosdep_data,位于/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py。我们修改这一函数,添加:

url="https://ghproxy.com/"+url

应用ghproxy的代理服务。

用同样的方法修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL。
即将DEFAULT_INDEX_URL 进行如下替换:

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

除此处外,下述文件中也含有github地址,分别是:

/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行

均可通过在地址前添加https://ghproxy.com/前缀来应用代理服务。

再次尝试执行rosdep update,问题解决,HIT速度非常快。

6 环境配置

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

7 安装rosinstall

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

8 测试是否成功

roscore

正常打开ros master就没什么问题

上一篇:牛客网第96题:有序序列判断


下一篇:554. Brick Wall