概述
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发行版 |
---|---|
Melodic | Ubuntu18.04 |
Kinetic (长期支持) | Ubuntu16.04 |
Indigo | Ubuntu14.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)。
最后希望有志者在机器人方面能 有所收获!有所进取!有所成就!
最后
以上就是精明康乃馨为你收集整理的ROS 初学入门学习及资源推荐ROS 初学入门学习及资源推荐4 总结的全部内容,希望文章能够帮你解决ROS 初学入门学习及资源推荐ROS 初学入门学习及资源推荐4 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复