This,robot——从零开始的Robomaster之旅(叁)

如果用一个成语来形容这两天在我身上发生的事,那就是柳暗花明了。本篇没有太多的知识点介绍,主要以近期遇到的问题与解决办法为主。那么,各位观众老爷,您儿里座上请。

目录

我是一只小乌龟

亀と壁(龟与墙)

鱼香炖大龟

Windowsの殇


 

我是一只小乌龟

说起乌龟,除了地上跑的海里游的天上……天上没那东西,就要数ROS里这小家伙了。

 

首先,ROS有许多不同的版本,我们要根据自己的系统去选择版本,官网给出了如下信息

想要了解更多的版本信息可以参阅以下网站 

REP 3 -- Target Platforms (ROS.org) 

我的版本是Ubuntu18.04,对应的是Melodic版本。下面开始正式的下载流程,先在终端输入

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 

这一步是寻找软件源,因为正常情况下我们的源无论是国内的还是国外,都是搜索不到ROS的,需要把这个准确的网址添加到软件更新列表中。如果觉得下载慢的话,可以试试换ROS源,不过我自己尝试了几次都没有成功,换源链接如下。http://t.csdn.cn/SuUTE

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

这一步是配置公网密钥,当然相较于完成的ssh流程这已经是相当简化了 。只需要从密钥服务器取得密钥即可,有了这个密钥,Ubuntu系统才能证实ROS的安全性而不会自行删改文件。

之后我们需要对增加了新网址的软件仓库进行更新,平常只要我们对源进行了操作。都需要更新一下,这一步可以在“软件和更新”的UI页面上进行,也可以输入 sudo apt-get update 进行更新。

下面就是安装了,输入 sudo apt-get install ros-melodic-desktop-full ,ROS一般分为桌面版和基础版,这里下载的是功能更为全面的桌面版。

亀と壁(龟与墙)

再然后就到了真正要命的阶段了——ROS的初始化配置,输入 sudo rosdep init 

八成这里会发生错误,一般是缺失了一些支持文件,输入 sudo apt-get install python-rosdep

下载好这个python包后再重复上述命令,如果不报错就可以进行下一步,如果出错了(例如非酋本人) ,那么请参考这个链接,http://t.csdn.cn/DCr2N

在此对鱼香大佬表示崇高的敬意 

初始化完成后,要进行软件更新,输入 rosdep update,这里很大几率会被GFW拦截下来,运气好的话,切换成手机热点多试几次就能连接上,语气不好的话,emmm……很多歪门邪道我已经试过了,比如手机开全局代理给电脑共享局域网,更改.hosts文件,手动创建文件路径并填充信息,改IP地址什么的。都没啥效果,不过有一个有效的笨办法,更改一堆脚本文件里面的代理信息,来加速对站点的访问,相关信息可以参考这篇文章 http://t.csdn.cn/NtPH5

 激动的心,颤抖的手,看起来离成功不远了,已经度过了最难的难关,好似那唐三藏取了真经就欲回唐,结果站那通天河老乌龟的背上才想起忘了承诺,老龟一翻身,真经全得沉。

 

 好了,闲话少叙,本来就剩下初始化环境变量了,正常情况下一般不会报错,先输入 echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc  ,将ROS全局设置的脚本加入.bashrc文件中,这里有一个对.bashrc文件的介绍,因为你可能需要将shell文件的打开方式从dash改为bashhttp://t.csdn.cn/wevP6

再输入 source ~/.bashrc 来更新当前的环境变量

--------------------------------------------------------分割线------------------------------------------------------------

正常人到这里是不会报错的,下一步打开ROS即可正常运行了,但是真正的勇士总会死在黎明前的黄昏(doge),source报错——未找到命令,然后我就在csdn里搜索,有的说要改文件首行的默认python版本,有的说要去掉source脚本的引号,还有的说要重建软链接,经过本人实测,对于我这台电脑,以上方法均无效。如果有小伙伴和我一样倒霉的话,你可以在终端里面输入 cd /usr/bin ,然后输入 ls来查看该目录下的所有文件,看看有没有python3,这就是一切问题的罪魁祸首。正常情况下Ubuntu是一定会内置python解释器的,18.04及以后版本都是python3解释器,然后根据版本的不同,python自身(注意不是解释器版本)可能是3.5,3.6或者是3.7。下图是一个刚重装完的Ubuntu(已经可以预知到接下来的悲惨遭遇了吧呜呜呜),其自带有python3解释器。

但下图是我安装完ROS的界面,可以发现python3没了,取而代之的是python3m还有python2,这两个文件的区别可以参照以下文章,简要来说,python3m是一个简化快捷版版本,就像QQ和TIM。python3和python3m可执行文件之间的区别 | 码农俱乐部 - Golang中国 - Go语言中文社区 (mlog.club) 

 

 

访问下载源时,源站点的python3解释器被错误引导为其他版本的解释器,然后在下载的过程中python3m或者是python2与本机自带的python3发生冲突并鸠占鹊巢,最终导致程序出错。棘手的是,Ubuntu有不少底层程序是基于该python3解释器,一旦它被删除,最大的影响就是终端无法正常打开以及软件无法更新,我在后续的调试中多次尝试重新下载安装python3,但是均报错 var/lib/dpkg/info/python3-distro.postinst: /usr/bin/py3compile: /usr/bin/python3: 解释器错误: 没有那个文件或目录

原因是缺少python3终端就不能正常地解析下载文件,但是不下载python3就无法修复终端,形成了一个逻辑死循环,到这里我的解决办法就是重装系统,当然有功力深厚的同学还可以从底层代码想想办法,远程访问啊,U盘刻录啊,或许会有办法解决这个问题。 

鱼香炖大龟

重装完Ubuntu,ROS还得重新下载、安装、配置,不过这回我发现了宝藏——鱼香大佬的傻瓜式一键安装。http://t.csdn.cn/Y50Fj

流程如图所示 

 

 

 

 看到这只龟,我那个感动的啊,涕泪横流。在此对鱼香大佬再次表达感谢,同时对在这个过程中无私奉献,乐于助人的两位同学表示真诚的敬意。

Windowsの殇

引用《龙族》的一句话(本人动漫宅小说宅欢迎前来🤺)这要是一幕戏,编剧肯定是一个二百五!刚才那些冲突已经很激烈了好不好?有没有必要高潮之后再™高潮啊?印第安纳琼斯博士经历千难万险终于带着一家子老少杀出了外星人藏宝的玛雅洞窟,有没有必要让他迎面就看见哥斯拉冲他嘿嘿一笑说,“忙完啦,等你好久啰,不如咱俩再叉上一叉?”

是的,重装Ubuntu后不知道触动Windows的哪个敏感神经了,它把自己锁住了

 

根据网上的说法,这是Windows觉得你的数据不安全了所采用的一种保护机制,常见于修改BIOS,硬盘扩容,U盘安装程序等等一系列明明很安全的事。解决办法如下:

在 Windows 中查找 BitLocker 恢复密钥 (microsoft.com)

但是有机会开出幸运大礼包

 

这种情况(别说了就是我自己)只有一个解决办法——重装系统,不过大家可以试试在BitLocker贴吧找找办法,或许能够恢复一些数据 。

不过还好我有两个微软账户,经过苦思冥想之后发现当时解决Ubuntu问题前最后登录Windows的是另一个账户,在另一个账户里我找了相应的恢复密钥,避免了重装系统的惨剧。

 如果有小伙伴被吓到了,没有经历过这种情况但是害怕自己硬盘被锁,可以采取以下措施http://t.csdn.cn/ovHvT

以上就是我这几天的经历,真的是一波未平一波又起,所幸柳暗花明之后是虚惊一场,那么,欲知后事如何,且听下回分解。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值