ROS 初学入门学习及资源推荐

ROS 初学入门学习及资源推荐

1 ROS简介

参考链接:
https://baike.baidu.com/item/ros/4710560?fr=aladdin

ROS 即 机器人操作系统(Robot Operating System),是用来进行机器人开发的开源系统,是基于Linux系统的一种操作系统,依赖于Linux的内核,它被称为操作系统的原因是能做类似于操作系统可以做到事情,包括硬件抽象、底层设备控制、常用函数函数实现,其分布式的架构 (依靠节点通信,“节点”简单的说是指一段可实现某种功能的程序) 使其具有高度的灵活性。
ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,开源资源丰富,例如定位导航,机械臂规划,感知,物理仿真等等。

2 ROS如何入门

参考链接:[https://blog.csdn.net/zhang970187013/article/details/81014412]

ROS分为两个大的版本,ROS1.0 和 ROS2.0 ,前者运行在Linux系统上,后者可运行在Linux和Windows上,但是在Windows中不稳定,2.0是基于1.0开发改进的(是最近几年才有的),初学者还是建议要学1.0(下面基本是指1.0)。
如果是刚接触ROS会比较生疏和不适应,尤其是在Linux系统的Ubuntu发行版环境中(Linux有不同的发行版),操作和Windows有较大的差异,更多地使用了终端的命令行,这需要我们去慢慢适应。接下来就讲一讲如何入门。

2.1 Linux系统相关

如果想要入门首先需要一台有Linux系统的电脑,而且Linux的发行版要选择Ubuntu,还要知道,Ubuntu发行版按照时间顺序也有不同小版本,如16.04、18.04等等。
ROS同样具有不同发行版,比如说ROS Kinetic版对应Ubuntu16.04(该版本的ROS较为稳定,是一个长期支持版本到2021.4)注意:是ROS的发行版本和Ubuntu的版本是有对应关系的,安装时不能弄错!

ROS发行版(Distro)Linux发行版
MelodicUbuntu18.04
Kinetic (长期支持)Ubuntu16.04
IndigoUbuntu14.04

至于Ubuntu的安装一般是有两种情形:

第一,是安装双系统,顾名思义,电脑上同时有了两个系统,在自己电脑原有Windows系统的基础上再并列安装Ubuntu(开机启动时可以选择进入哪个系统);

第二,是在Windows系统内安装虚拟机,即在Windows环境下虚拟运行Ubuntu,占用主机的内存和cpu。

前者安装和卸载有一定难度,不同电脑可能会出现不同问题(比如安装完黑屏、循环登录、WiFi无法连接、引导设置不对等等),所以事先要了解什么是BIOS(Basic Input Output System),要知道开机时如何进入BIOS界面,一定要清楚自己的电脑是 UEFI 还是 Legacy,以选择对应的教程来进行安装,否则会令人头疼。而且Ubuntu系统如果崩溃,恢复速度是较慢的,可以事先进行备份。好的一方面是双系统在运行ROS时,例如Gazebo物理仿真、Moveit!机械臂规划、定位导航等模块时比较顺畅,所以对于想较为深入地学习ROS的人来说双系统似乎无法避免。

后者安装相对会简单,崩溃后不会影响主机,恢复快速,适合做一些大胆的试验,但是在运行仿真等一些操作时,虚拟机高负荷的运转会严重拖慢主机,主机运行不好,反过来也会影响到虚拟机,导致会十分卡顿,不适合深入学习ROS。

总的来说是需要了解一些电脑常识,可能因此磕磕碰碰许久,却也是另一种成长吧。

2.2 预备知识

参考链接:
https://www.cnblogs.com/lyt888/p/12518134.html
https://blog.csdn.net/qq_39486027/article/details/80955030

(1)需要掌握Linux系统的基础常识和系统的原理,学习简单的命令行操作,这是之后学习ROS的基础;

(2)掌握一门语言,C++或是Python

C++上手周期长、难度大(需要c语言基础),但是使用灵活、效率高、功能强大;Python上手容易,但运行效率不如C++

3 推荐资源

入门新手往往不知该从何下手,在这里推荐一些资源:

(1)古月 ROS入门21讲
在B站上有视频(还有论坛古月居

(2)中国慕课网 的“机器人操作系统
是根据学期课程进度来更新的,有可能看不全

(3)ROS wiki官网
基本是英文的,这个是最精炼、最成体系的,强烈建议在学完中文入门课程再进行学习。 官网里还有 问题解答 部分,可以查找其他开发者的遇到的问题和解决方法(避免走弯路)。
如果想要继续探索ROS,则需要较好的英语水平,因为不论是ROS官网还是GitHub基本上都会常与英语打交道,需要慢慢去适应。

(4)兄弟连linux教程
B站有,比较系统的授课内容(虽然不是Ubuntu版本的,不过核心内容都适用)

(5)实验楼 的Linux基础
可以上手操作一些内容,即使没安装linux

(6)c++的系统教程
菜鸟教程网
https://www.runoob.com/cplusplus/cpp-tutorial.html

(7)B站 老九课堂c++入门教程
视频仅仅是入门,而且有不足之处,还需要结合大量实践和其他书籍(《c++ Primer Plus》等)来进行学习。

备注(进阶):
ROS的文档官网:
http://docs.ros.org/en/melodic/
http://docs.ros.org/en/kinetic/ 等等
网站上存储了源码,如需深入学习,是不错的选择。

4 总结

ROS的学习连带着一系列其他知识的学习,这个过程不会是轻松的,要通过探索和努力不断自己的能力和视野。在学习过程中,自己遇到的问题大多数情况下别人也会遇到,所以要一定学习会在网上查找所需的答案(有人推荐要善长用Google)。

最后希望有志者在机器人方面能 有所收获!有所进取!有所成就!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值