初始化audio失败是什么意思_ROS melodic安装总结以及ROS kinetic的失败总结

禁止转载!

2020年的寒假在家安装ROS,kinetic遇到了很多失败,最后成功安装了ROS melodic。安装ROS melodic时也对kinetic过程的失败有了一些理解,现记录安装过程在知乎,一是为了记录,二也希望对后来装ROS的人有所启发。

ROS的版本与Ubuntu版本相关,ROS kinetic适用于Ubuntu15.10,而ROS melodic适用于Ubuntu18.04(2020年春季Ubuntu较新版本)。如果没有注意版本对应问题,安装过程会出错。本文记录的是ROS melodic的成功经验,以及对ROS kinetic失败的回顾。

ROS的安装都是通过Linux的命令行完成。接下来记录安装过程的命令行和正确执行的terminal窗口。

  1. 配置Ubuntu软件库

进入Ubuntu software,如图设置。建议软件源选国内的镜像源,图上选择的是阿里云的镜像源。这一步一般是默认勾选的,软件源可以稍作设置。在安装kinetic时这一步与我拿到的教程有冲突,稍后在文末详细说明。

43282f42b1d069b70e4e38af07a086a4.png

2. 添加软件库到sources.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'

这一步只是添加了ROS的软件库,因此没有运行结果显示

3. 设置密钥

我写这篇文章时重新查看了安装过程的命令行,发现漏了这一步。设置密钥的道理我并不清楚,现将我使用的教材对这一部分的说明摘录如下

这一步是为了确认原始的代码是正确的,并且没有人在未经所有者授权的情况下修改任何程序代码。通常情况下,当添加完软件库时,你就已经添加了软件库的密钥,并将其添加到操作系统的可信任列表中。

4. 安装ROS

先升级软件以做准备,安装ROS kinetic时在这一步遇到了很多问题,文末附上回顾

sudo apt update

58f6d3d2a026ba0a7e2e8f456a1f1eb0.png

如图所示是我认为正确的运行结果,之前update失败时可以看到运行中有很多Ign和Err,且在最后有报错提示。在网上搜索解决方法时,我注意到很多教程都没有提到正确的应该是什么样,我这样完全从0开始的玩家经常陷入困惑。现把我的运行结果截图。

kinetic版本卡到这里结束,后面的步骤仅在Ubuntu18.04下尝试。

推荐的安装方式,也是最简单的安装方式。但desktop-full要求足够的硬盘空间。

如果没有注意版本对应的问题,可能会出现报错。我这里使用Ubuntu18.04系统,安装melodic。如果Ubuntu15.10进行顺利,命令行里的melodic改为kinetic即可。同理也有其他版本,推荐安装最新版本的Ubuntu与对应的ROS。

sudo apt install ros-melodic-desktop-full

运行后terminal如下,由于整个运行日志很长,仅截取开头和结尾的部分以供参考。

394175d41c31b958f609fe7a7a38bceb.png
sudo apt install ros-melodic-desktop-full运行日志开头部分

b9f0c0087d1f35798dfae00f1c6f9fcc.png
sudo apt install ros-melodic-desktop-full运行末尾

5. 初始化rosdep

使用ROS之前必须安装和初始化rosdep命令行工具,ROS中一些核心组件也需要rosdep,因此rosdep的安装已经包含在ROS安装中。用以下的命令行初始化

sudo rosdep init

2ff984422b63a623bbac0f66d83eef0d.png
rosdep update

update这一步很容易出现timeout的报错,网上很多教程推荐使用4G热点就可以解决报错。我这里可能网络太差了,热点并没有解决问题。此外还看到贴吧有网友推荐这种方法

sudo apt-get install python-rosdep

但如图所见,并没有解决我的问题。截图截到了这步故贴上来,也许能给其他人一些启发。

9e22b02f05cdb736a0fa048b0f5e2bda.png
一个错误示范

我最终解决这个问题是反复update了一晚上,可能的确是网络的问题吧,失败过程中发现有的进度明显要更多一点。

附上成功的界面

84efcc96979dddfb9a12ca44b20b1a7f.png

6. 配置环境

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

每次用户打开terminal时,.bashrc文件会加载命令行窗口或终端配置。用上述命令行在.bashrc文件末尾添加脚本,以避免每次打开新terminal时都要重复输入命令。

source ~/.bashrc

上述这个命令是执行.bashrc文件以使配置生效,也可以重启terminal使之生效。

53e9f363308721859a0ccf352d2dd9ca.png

7. 安装rosinstall

安装基于python的命令工具

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

到这里就完成了安装ROS的全部步骤。

8. 测试新安装的ROS

在terminal里输入

roscore

新开一个terminal再输入

rosrun turtlesim turtlesim_node

会出现一个蓝色的海龟图像窗口,如下图所示

429bf15b34f989fedca66474cbf931dd.png

到此ROS安装圆满结束。

【ROS kinetic的失败回顾】

起因是我在图书馆借到了一本讲ROS的书,是以Ubuntu15.10为基础安装ROS kinetic,另一方面我在学校使用的Ubuntu版本也是15.10。

如我前文所述,这本书上第一步是在Ubuntu software里配置Ubuntu软件库,但后来我遇到了执行sudo apt-get update反复报错的情况,在网上搜了很多解答后,最有用的一个方法是修改sources.list文件,原因是由于Ubuntu旧版本已经停止支持,所以要用old-release的源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo gedit /etc/apt/sources.list

将sources.list里的内容修改为

deb http://old-releases.ubuntu.com/ubuntu/ natty main restricted universe multiverse 
deb http://old-releases.ubuntu.com/ubuntu/ natty-security main restricted universe multiverse 
deb http://old-releases.ubuntu.com/ubuntu/ natty-updates main restricted universe multiverse 
deb http://old-releases.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse 
deb http://old-releases.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse 
deb-src http://old-releases.ubuntu.com/ubuntu/ natty main restricted universe multiverse 
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-security main restricted universe multiverse 
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-updates main restricted universe multiverse 
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse 
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse

sudo apt-get update确实没有报错了,但第一步里默认勾选的几个选项也都不在了。更致命的报错是安装desktop-full时也会有报错,如图所示。

c13ce3b5ba21260e23440cf76373bb8c.png

在网上查询了这种问题如何解决,大部分回答都是说update有问题,重新sudo apt-get update就能解决。事实上我重新update并没有解决,推测是前面几个步骤的错误形成了闭环,解决一个错误的方法反而形成了另一个错误。不过这也是我的推测罢了。除试图解决报错之外,我还尝试了重新安装虚拟机,重装了三四次左右,最后决定不按教程走,比较顺利地安装了Ubuntu18.04下的ROS melodic。

如今安装成功后,我推测随着Ubuntu版本更新,适用于15.10的kinetic版本安装教程可能存在漏洞,最大可能是Ubuntu的源出了问题,大概就会变成前朝的剑无法斩本朝的官的情况。个人愚见,不知道是我的个例还是通病。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值