ROS 学习笔记之一:缘起

    ROS(Robot Operating System)是一个专门用于机器人的操作系统,早有耳闻,但一直没有契机去触碰,一年前在一个极其热衷于 ROS 好友(Top)的影响下,准备动手尝试,可不巧应承了一件事情,没有精力顾及了,只好搁置。
    现在那件事告一段落,又可以腾出精力做一些自己想做的事情了,首先想到了 ROS,于是重启炉灶,启动我的 ROS 学习之旅。

   之所以想要触碰 ROS,原因如下:
   1、ROS 的概念很好,属于分布式框架,可以将机器人的各个功能高度抽象,成为一个个独立的模块,相互通过通讯实现协同工作,不但可以在一台机器上实施,而且可以跨平台、甚至不在一个物理硬件上,只要有 TCP/IP 通讯即可构成一个完整的系统,符合目前软件技术的发展趋势。此理念 不一定局限于机器人领域,很多软件的实现均可借鉴。
   2、由于可以将功能抽象、独立,所以便于分享和交流。目前网上有很多资源可以借鉴,而且通过将 Ardunio 的整合,使得嵌入式硬件变得很容易接入。
   3、属于开源平台,可以不必耗费心思去找破解版,集中精力于技术本身。
   4、我做了几个用于嵌入式学习的小车平台,本意是作为嵌入式控制的对象,为学生提供学习的素材,可嵌入式概念过于宽泛,学生还是无法很好的利用此平台,所以想将 ROS 引入,将小车的学习内容具体化,希望能更好的帮助学生上手。

    前一段时间接触了 Nordic 公司的 nRF52832,感觉到嵌入式硬件编程软件化的趋势已不可逆转,在52832的开发中几乎无需涉及硬件寄存器之类的信息,完全基于API编程,看来未来嵌入式应用的工程师必须逐渐向软件人员的编程方式过渡,实现“与硬件无关的编程”模式。
    ROS 是典型的、系统级的”与硬件无关编程”方式的具体呈现,想通过尝试 ROS,以适应这个转变。

    对于我这个年龄,这种转变实际意义已经不大,只是想借此跟上技术的进步,不至于在和年轻人的沟通中产生代沟,或是仗着自己的经验自以为是,误导人家。

    以往零星看过一些相关的资料,Top 也发过很多专业性极强的文档给我,对 ROS 有着较强的期待,但愿不会失望。
    关键是自己是否还有能力去学习这么多新的东西?有待验证! ROS 是基于 Linux 的,而我对 Linux 一直没能入门,几次需要使用时都绕过了,这次不知是否能再绕过去^_^

    如果有对 ROS 感兴趣且想尝试的,欢迎一起来研究,最好是对 Linux 有所了解的,这样可以互补,我的硬件能力还算凑合,而且有个工作室可以将 ROS 落地,不至于像很多人只能将 ROS 的学习停留于模拟小海龟在屏幕上爬。
    期待着...... 
 

猜你喜欢

转载自blog.csdn.net/embedream/article/details/91817216