Ubuntu18.04 安装ros全过程及各种问题骨灰级解决方法

ROS版本选择

操作系统为Ubuntu 18.04 LTS 64bit应采用ROS版本为ROS Melodic。

配置Ubuntu软件库

点击Show Applications在software updater中设置Ubuntu Software如下图:
Show Applications
选中Source code,然后选择服务器镜像,这也很重要,国内清华和阿里云速度快一些,这里我选择了阿里云,但是我推荐清华,比较稳定,原因是我选择了阿里云,后面有一些小问题,需要修改DNS,后面会讲到。

选择国内镜像地址
重新加载软件源地址:
重新加载软件源地址

安装过程及问题解决

下面详细记录安装过程以及遇到的问题解决方法。

1. 设置安装源

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'

2. 设置密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

3. 更新可升级列表

sudo apt update

接下来有可能会遇到问题:
出现错误:由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
没有公钥
解决方法:

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

更新列表

4. 安装ROS Melodic

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

下面就静静的等待,别以为很顺利,错误又产生了:
访问不了阿里云ip
Failed to fetch 错误
提示访问不了阿里云服务器,有部分资源无法获取,强迫症绝不容许忽略处理。
解决方法:修改DNS文件

sudo gedit /etc/resolv.conf

在resolv.conf里面添加阿里DNS

nameserver 223.5.5.5  
nameserver 223.6.6.6

文件保存后,重新更新列表

sudo apt update

继续重新安装ROS:

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

又是漫长的等待,期待不会出现其他问题,谢天谢地谢网友,看到正常的结果了。
在这里插入图片描述
可别高兴太早,后面还有很多问题

5. 安装rosdep

别偷懒,必须装。

sudo apt install python-rosdep

还好没出错,继续…

6. rosdep初始化

sudo rosdep init

又失败了:
初始化失败
关于这个问题,网上大部分是修改系统hosts文件,
再/etc/hosts中添加:
151.101.84.133 raw.githubusercontent.com
151.101.84.133 这个ip有可能会变,所以通过 ip.cn查询最新的ip。
但是很遗憾,尝试了很多次,依然不能解决问题,果断放弃。解决这个问题也是花费时间最长的。强烈推荐下面的方法,感谢强大的网友。

git clone https://github.com/ros/rosdistro.git 到 /home/gjw/git/
这个是本地rosdistro路径。
如果git不下来,直接用浏览器打开:https://github.com/ros/rosdistro
手动下载。

sudo cp /usr/lib/python2.7/dist-packages/rosdep2/main.py /usr/lib/python2.7/dist-packages/rosdep2/main.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/rep3.py /usr/lib/python2.7/dist-packages/rosdep2/rep3.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdistro/init.py /usr/lib/python2.7/dist-packages/rosdistro/init.py.bak
sudo cp /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py.bak

备份好了以后,并把里面的https://raw.githubusercontent.com/ros/rosdistro/master全部替换为 file:///home/gjw/git/rosdistro
注意路径要用自己实际的路径

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/main.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/init.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

运行

sudo rosdep init

在这里插入图片描述

秒成功,但是可别高兴太早,继续修改。

sudo cp /etc/ros/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/20-default.list.bak
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

并将 https://raw.githubusercontent.com/ros/rosdistro/master 全部替换为 file:///home/gjw/git/rosdistro
然后,运行

rosdep update

成功
成功了,不过还没结束,继续…

7. 配置环境变量

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

还还还没结束,继续…

8. 安装依赖包

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

安装成功以后,可以在新的终端启动roscore了

roscore

有的网友反应,提示找不到roscore命令。反正我没遇到。
如果有这个问题,下面方法可以解决:
Ubuntu18.04 ROS填坑之 roscore Command ‘roscore‘ not found

以上为全部安装过程,最总运行roscore,看到:
在这里插入图片描述
可喜可贺,终于完工。
ros的安装和系统环境、网络环境关系很大,过程也很繁琐。没办法,我要用呀。

参考资料

Ubuntu18.04安装ROS Melodic步骤、问题及其解决方法记录
Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)
https://blog.youkuaiyun.com/qq_17685565/article/details/105741864
https://www.cnblogs.com/RobustFresher/p/14501660.html
Ubuntu出现E: Failed to fetch问题解决

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值