我的ROS机器人操作系统学习路线与学习方法

一、我认为的使用ROS必须掌握的前置知识-有助于查错排错-螺旋上升

在接触ROS前有必要学习以下知识或者工具,因为在你学到一定程度的时候,你会遇到非常多的错误、报错,可能他并不复杂,仅仅是由于你前期了解的太片面,导致把简单问题复杂化(不用百度、谷歌,在有前置知识时,你做一定的猜测加推理,自己可能就能找到解决问题的方法。往往网络上不可能所有错误都有答案,那些答案也是别人了解到一定程度后,自行找出来的。所以光靠现成的东西很难学到一定深度,要有好的学习过程和思路才能事半功倍。),所以对一些基础知识或工具有一些大局观的认识(没必要记得住,只需要脑子中有些印象)是非常重要的,后期提升会愈来愈快,能感觉到螺旋上升。

以下是我的前置知识和工具,靠记忆来写。

 (1)Linux

了解下这个系统,以及常用操作、配置等。我是在学习python时把它学了,通过黑马的python教学视频,前面一些课是在讲这个Linux系统,我是从小白开始的,所以既然费时间看了,就看讲的适合小白的,不然你学很多,都是零零散散(为了求快,百度搜索这些零散知识等),短时间内你觉得你学的很多了,但是不容易拼起来,其实加起来没有系统性的概念,反而费的时间不一定少,后期还影响你深入的了解,既然费时间了,还不如看详细,讲的有框架性的那种课。这部分很快就能过。这部分我看的是:

黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1ex411x7Em/?spm_id_from=333.337.search-card.all.click&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2 前面部分课是讲Linux。注:我只是在讲我的学习过程,以及带一些自己的思路,但你不一定一样,你可以借鉴我这里面说的对的。

(2)计算机语言

起码掌握python或c++语言中的一种,能使用计算机编写一些功能(一般难度的,比如实现一整个算法逻辑,有某个现实需求,可以自己编写代码实现它)。有了这个基础,你在看一些课程的时候,才不至于不知所措,了解的越少,你在遇见问题时,越不知从何下手,越没有信心解决它,按一定的顺序学习,才能事半功倍。

python学习时,我看的课程为:

黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1ex411x7Em/?spm_id_from=333.337.search-card.all.click&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2并未完全看完,在学习中结合了实际,自己独立编写功能。

其中,c++在学,看的课程为:

黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难共计314条视频,包括:01 课程安排、02 第一个C++程序-C++书写HelloWorld、03 程序的注释-单行注释和多行注释等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1et411b73Z/?spm_id_from=333.337.search-card.all.click

(3)提前解决网络问题

在学习ROS之前,我觉得有必要提前解决外网访问问题,假若你进行实操,经常下载一些外网资源,GitHub clone一些资源,或者下载一些工具软件,可能经常出现因为网的问题报错,导致止步不前,还要返回来在网上查找怎么解决等等,一般是修改ip地址,dns地址,改源等等吧,麻烦,还可能有时效性,那还不如上来先把它解决了,不至于后续学习中,因为这个小东西卡半天,毫无意义。关于怎么在ubuntu下访问外网,便自行查找资料解决吧。解决了这个,以后实现一些东西的时候可以节省很多时间,避免这方面的报错,当然也可以忽略,这只是我的认为,你也可以遇到问题再解决。

二、有了以上前提后,我最开始的小白学习过程

(1)最开始接触ros是在树莓派上

在树莓派3B上独立安装了Ubuntu系统,然后看一些ros安装教程,安装了完整版的ros,整个过程记得没遇到啥麻烦问题。至此,便是初次接触安装ros。

(2)最开始看的一个ros课程

从来这里开始我便在虚拟机上接触ros了。

最开始在b站上搜关于ros的课程,看评价,看时长,然后时间充足度一般,那时还是零基础,我就看了这个课程:

黑马程序员_零基础玩转机器人操作系统ROS_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1Bh411y7QM/?spm_id_from=333.337.search-card.all.click&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2 记得没有完全看完,听完可能有一个基本的模糊的感觉上的认识,细节上自己独立编写应该还不行。

但是这个课程文档中有个网盘链接,里面有打包好的Ubuntu系统,里面的工具,包括ros都已经打包好了,如果你熟悉了ros的安装等等,想略过这些机械劳动,可以直接下载网盘中的压缩包解压后用vmware虚拟机打开,可直接运行,具体细节他的文档中也又讲,不过是Ubuntu18版本的,初学还是尽量自己安ros吧,后边需要的话可以快速下载这个,不需要那么自己安装很多繁琐的东西。若需要,网盘链接自己去评论中找。这是我最开始接触的ros课程。

看完这个后,也没有实操,基本就是跟着了解了一下,之后便停滞了,因为暂时用不到。

 三、在以上基础上,时间久了,我忘了很多上个课程的知识,我便寻找资源重新再来一遍,既能深入,我认为也是独立编写的前提,前期打好了基石,后边才能游刃有余,解决问题也更快速,对于这个我不怕费时间,也不急于求成。因为我认为太急切那是自己欺骗自己,浪费时间,基本没有收获意义,还不如多花时间一次弄透。

于是,还是b站上找课,b站这方面是好东西啊,开源的东西越多,精神越强,才促进整体进步啊,感谢他们。

 我调研了一下,现阶段我再重来一遍的话,深入理解的话,b站上赵虚作老师讲的课时最合适的,也是最详细了,所以便定了目标就看赵老师的课了。链接是:【Autolabor初级教程】ROS机器人入门_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?spm_id_from=333.337.search-card.all.click&vd_source=a57e0057bc2f5f2f63b6b1d473bed0e2

 这种课望不要白嫖,多多点赞投币。
于是便跟着学了,由于时间紧张,我看着很快,而且很好理解,所以一般二倍速在看,并且没看完,目前也是看了前边的核心几章,后边有时间在慢慢看吧。
当我有了以上一些课程的基础,便可以从简单的开始,实现开源的项目,可以网上搜跟着已经实现的人来实现,再者可以GitHub直接搜,看人家的readme来实现,这其中肯定会遇到问题,我的解决办法是:

1、自己看报错,关联自己已学的知识,看能不能找到或猜测到解决之法,从多个角度尝试。

2、百度搜报错:优先看csdn、博客中一类的解决方案。

3、外网找解决方案

4、问大佬

如果以上花了不少时间都没解决,那放弃实现,因为你深入的还不够或者 还有部分是你的知识盲区,那就做你能实现的,先从简单的来,或者继续学课程,经过一段时间的积累,你会发现,以前同样的问题,你心中已经有了更多的解决办法。我认为这就是螺旋上升。

 四、总结

总之,我认为从零学一些东西,

首先,不要排次他,兴趣是从深入后开始的

其次,从框架上整体上,要有认识,由简入繁,螺旋上升的,你了解的越多,越不畏难,少啥装啥。

其次,善用所有资源,一个问题的解决和实现,不一定只有一种,多种角度和方式去思考它,去面对它,实在解决不了就不管他了,就认为现在的水平还不够,那就继续深入,直到有一天回过头来看它就是这么回事,那时候的你解决它就很简单了。

其次,任何东西都有一个过程,开头结尾都能看到,享受这个过程,蔑视这个过程,其实学会了也就这么回事,虽然我也没学到啥程度,但我认为只要这样学,稳稳的学个明明白白,我认为学习上事大多数都差不多。

其实,不同事的实现思想可以解决,有时候学会发散自己的思维。

其次,也不要很多东西,浅于表明,随便想想就完了,那是不行的,你欠的迟早都要还,加入你还是干这个的话。

其次,我上面是根据记忆写的,肯定有遗忘的东西,少写的部分,以后想起来再补充吧,也有错误不足,每个人的学习思维都是不同的,选择性的看吧。

最后,写这个是为了给我的师弟师妹一个学习参考,和入门,属于想起啥来写啥,写了个截至我目前的大体学习过程,中间插些我对学习这东西的认为,仅此而已,以后有机会再补充修改吧,先这样。

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值