知乎问答 —— 入门学习ROS时遇到的最大困难是什么?

  • 内容
  • 评论
  • 相关

~欢迎关注~
微信公众号:古月居(guyue_home)
新浪微博:古月春旭(https://weibo.com/hcx196
知乎专栏:古月居(https://zhuanlan.zhihu.com/guyuehome
原文链接:入门学习ROS时遇到的最大困难是什么?

 

个人认为初学者入门ROS时遇到的最大困难是:搞明白ROS到底是什么?

接触新事物时,我们一般先要明确这个新事物的定义,才好进行下一步的研究,那ROS到底是什么?

这个问题包含的内容很多:

    • ROS的定义是什么?
    • ROS包含哪些部分?
    • 每个部分都是干什么的?
    • ROS的优势是什么?
    • ROS还有哪些不足?
    • 遇到问题该去哪里找资料?
    • .....

这些问题不是通过翻阅资料就可以搞明白的,必须要经过“千锤百炼”的实践,等初学者迈过各种坑、搞明白后,基本就成老鸟了。

引用《ROS机器人开发实践》前言中的一段话:

“2011年底,我第一次接触ROS。当时一个实验室师兄在学术会议上听说了ROS,意识到它的前景广阔,考虑到我当时的研究方向,于是安排我进行研究。那时国内外ROS的学习环境比较艰苦,几乎只有wiki的基础教程(也没有现在完善)。所以开始的我,内心其实是拒绝的,但还是硬着头皮开始了。于是从拒绝到接受,从未知到熟悉,我经历了前所未有的磨难,同时也收获了前所未有的喜悦。”

初次接触ROS的我,和现在很多初学者一样,学习了wiki上的教程,小海龟愉快的跑了起来,然后呢?!我要的又不是海龟!!!

v2-d9e1c7c867be29ac4024185466ac1617_b

为了搞明白这个抽象的“机器人操作系统”到底是什么,这个小海龟又是怎么和机器人扯上联系的,我趴着梯子翻遍了google,能够找到的资料寥寥无几,有幸找到了几个带有Email的帖子,于是我就发了很多邮件请教,基本都是杳无音讯,就算收到回复也是草草的说明。

没过多久,《ROS by example》出版了,我第一时间和群里的朋友凑钱买了电子版,当时对于我来讲,这本书的指导思想就是——实践是检验真理的唯一标准。仿照书中的内容,我用了大半年时间,从零搭建了自己的机器人平台——HRMRP。

Image

真正动手做过之后,才发现那个小海龟背后的原理,有可能就是ROS的真谛。

这么多年过去了,不仅自己一直用ROS,还不断的上课讲ROS,从移动机器人做到机械臂,从自己用到教别人用,回头再看,ROS到底是什么?

其实官方早已给出了答案:

Image

1. ROS的核心是一个分布式、低耦合的通讯机制;

2. ROS提供多种机器人开发工具,可以快速实现数据可视化、机器人仿真等功能;

3. ROS开源社区中包含大量机器人应用功能,可以帮助我们快速开发功能原型;

4. ROS已经成为一个庞大的生态系统,包含机器人领域的方方面面,同时也得到了越来越多第三方工具的支持,为机器人开发提供了系统化的解决方案。

只不过这个答案需要我们自己通过实践、结合需求来理解。

现在ROS相关的资料非常多,初学者完全可以找一本靠谱的教程尽快把系统跑起来,然后动手把看到的东西消化成自己的知识,再深入创新。

同时,我们也要认清的一个现实——机器人是一个庞大的系统,ROS作为一个重要的工具,依然不可能覆盖你的所有需求。抛砖引玉以下问题,大家可以参考一下:

1. ROS中某个功能包移植后的效果欠佳,是该调参数呢,还是该优化算法呢?

2. ROS学会了,是不是就可以毕业了/找到好工作了?

3. ROS可以做商业化产品么?如果可以的话,ROS的问题该怎么优化?如不可以的话,为什么百度Apollo是基于ROS开发的?

展开来内容就太多了,还是回到开始的问题,想要理解ROS是什么,就是一句话:撸起袖子加油干!怕什么真理无穷,进一寸有一寸的欢喜~

参考链接:

"Powering the world’s robots"的ROS是什么?

 

更多内容欢迎关注:

微信公众号:古月居 (guyue_home)

新浪微博:古月春旭 (https://weibo.com/hcx196)

知乎专栏:古月居 (https://zhuanlan.zhihu.com/guyuehome)


原创文章,转载请注明: 转载自古月居

本文链接地址: 知乎问答 —— 入门学习ROS时遇到的最大困难是什么?

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixinpay_weixin