ubuntu18.04下安装ROS(使用国内源)

注意!注意!注意!
请在安装前确保自己默认的python环境是python2而不是python3,否则会导致安装失败!!!

ubuntu不同的版本对应的ROS版本也是不同的,本文安装是的系统是18.04,但对于其他ubuntu版本应该也是差不多的,换一个对应的ROS版本即可,其余操作大同小异。
参考资料:
https://www.cnblogs.com/letisl/p/11815191.html
http://wiki.ros.org/melodic/Installation/Ubuntu
https://blog.csdn.net/u013468614/article/details/102917569
https://tieba.baidu.com/p/4877135262?red_tag=1059481312&traceid=

1、添加国内源

这里选择了清华的国内源(PS:ubuntu的系统源最好也一同更换成国内源,更换方法请自行百度)

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

3、更新软件列表

sudo apt-get update

GPG错误

如果出现了如下错误,

W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654

说明公钥出现了问题,使用如下命令添加公钥:

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

4、安装ROS

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

此处的melodic就是ROS的版本,对应Ubuntu18.04,其余ubuntu版本请自行替换对应的ROS版本。不同的系统版本在安装时,应该就只有这一处不一样。
ROS可以选择desktop-full、desktop、ros-base等多个类型,具体区别自己去查,不知道啥区别的就按着上面的命令安装desktop-full就好了(知道有啥区别的应该也不需要看我的博客)

安装ROS需要相对漫长的时间,可以拿起手机刷会B站…

安装完成后,使用下面的命令可以查看可以使用的包,顺便检查一下安装是否成功。

apt-cache search ros-melodic

5、配置环境

后面的安装过程不一定非要按照这个顺序,有些教程是先安装rosdep再配置环境的,也是可以的

输入命令:

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

输入以后没有什么反应,是正常的,继续下一步

6、安装ros packages

输入以下命令:

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

这里应该不会出现什么问题,吧。

7、安装rosdep

这一步应该是最容易出问题的一步了。

首先输入以下命令安装rosdep:

sudo apt install python-rosdep

然后初始化rosdep:

sudo rosdep init

emmm这个时候就应该出问题了

正确的结果是这样的:
在这里插入图片描述
如果出现错误的话,解决方案见下。

错误:pkg_resources.DistributionNotFound

如果出现如下图所示的错误:
在这里插入图片描述
说明你并没有看到我开头那么大几个感叹号,你的默认python环境并不是python2。
解救方法有两个:
方法一(推荐):
将默认python环境换成python2,从步骤四开始重新执行(不必删去原来安装的ROS,会自动覆盖的)
python默认环境的切换方法右上角自行百度

方法二(不要使用)
方法二可以完成安装过程,但ROS并不能正常使用。
因为在执行python3-rosdep的时候删去了原来安装的一些组件,并换成了支持python3的组件,但是似乎还是少了一些关键的组件。
方案二有时间再探索一下怎么改进,下述方法经供参考,暂时不要用。

安装python3-rosdep

sudo apt install python3-rosdep

然后会提示你需要安装依赖:
在这里插入图片描述
使用apt install命令依次安装四个依赖,再次执行安装命令:

sudo apt install python3-rosdep

这样这个问题就解决了,重新执行初始化的命令

sudo rosdep init

ERROR: cannot download default sources list from

如果出现如下图所示的错误:
在这里插入图片描述
这是因为国外网站的访问速度比较慢,一个简单的方法是修改hosts(当然修改hosts文件后也不会很快,但也是起点作用的)

修改方法如下:

#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
151.101.84.133  raw.githubusercontent.com
#保存后退出

然后再次尝试命令sudo rosdep init
还不成功就多试几次,总有一次能访问上的

8、更新rosdep

使用如下命令以更新rosdep

rosdep update

注意:这个命令不需要sudo权限,不要自作聪明的在前面加上sudo!

成功的话,结果如下图所示:
在这里插入图片描述
出现错误的解决方案见下(核心思想就是多试几次):

error loading sources list:The read operation timed out

在这里插入图片描述

当出现如上图所示错误时,说明还是访问不上的问题。
可以换上手机热点多试几次(众所周知流量上外网比wifi快一丢丢)

ERROR: unable to process source

在这里插入图片描述
当出现这种错误的时候,emmm我也不知道是啥原因。
首先按ctrl+c(终止命令)让它不要再复读了!

依次执行以下命令

sudo apt-get update
sudo apt-getinstall python3-rosdep

然后继续尝试更新rosdep

至此,ROS就安装成功了。

  • 10
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值