A-A+

我对机器人开发的理解

2012年11月29日 robotics 评论 1 条 阅读 67,705 次
摘要:

近期把德国布劳恩教授开发的机器人操作系统的文档翻译整理了一下,目的是学习他们的设计思想。遗憾的是,虽然可以免费使用其软件,但他拒绝提供源代码。相比之下,美国开源的基于linux的机器人软件发展尤为迅猛,每年都有数千个功能包被全世界的机器人研究者开发出来并共同分享。其实即使象微软、诺基亚这种巨无霸公司也无法与开源社区相抗衡,他们的系统在与Android的竞争中处于下风就是个很好的例证。

刘锦涛
ExBot Intelliengent Systems
2011.01
1 开源的力量

近期把德国布劳恩教授开发的机器人操作系统的文档翻译整理了一下,目的是学习他们的设计思想。
遗憾的是,虽然可以免费使用其软件,但他拒绝提供源代码。

相比之下,美国开源的基于linux的机器人软件发展尤为迅猛,每年都有数千个功能包被全世界的机器人研究者开发出来并共同分享。(布劳恩教授开了个公司,他的那个系统通过商业模式开发,用了数年也仅实现了不到20个功能函数而已。)

其实即使象微软、诺基亚这种巨无霸公司也无法与开源社区相抗衡,他们的系统在与Android的竞争中处于下风就是个很好的例证。

 

2 机器人软件的利润在未来将超过机器人本身
还记得国际商用机器公司IBM的发展历程吗? 早期IBM靠卖计算机大发横财,但时过境迁,今日的IBM不得不卖掉不断亏损的硬件业务,现在也转而致力于开发智能软件。
在今天,靠卖机器人设备也可以获得高利润,但随着竞争的加剧,硬件利润将日益下降,而软件靠着其“一次开发,无限拷贝”的nature,必将创造更高的利润率。

OK,吃饭了,今天就先讨论到这吧。
接着上次的讨论。
当然了,硬件的发展要先于软件的发展,没有成熟的硬件支撑,软件开发无异于空中楼阁。对于机器人的软件开发而言,软件必须要满足任务需求、要适应不同的工作环境、以及不同的机器人形态包括不同的执行器/传感器,这都是计算机软件开发所未遇到过的挑战。

从前的,包括现在的大多数机器人开发者都是from scratch从无到有的来建造一个机器人系统,其硬件/软件/结构/算法都是紧密耦合的。大家都要耗费相当的时间和精力在底层的工作上,同时开发出来的东西也很难重用。为了解决这个问题,下面我们再讨论另一个主题:

3 标准化

我们可以再次回顾PC和Linux的发展!
PC有了标准化的接口后,计算机硬件的生产不必由某一个公司包揽了,可以有专业的CPU公司、专业的内存公司、主板、内存等等。大家可以致力于自己专业的领域,从而提高效率和专业化。PC的价格直线下降也就不足为奇了。
再看Unix的早期发展,各个Unix厂家为了保持技术的垄断性,纷纷制定自己的软件接口标准,导致在一个厂家Unix下开发的应用软件无法在另一个Unix下运行。针对此乱局,IEEE制定了POSIX标准。Linux在开发初期便接受了POSIX等一系列标准,标准化再加上开源,Linux的迅速发展也就不足为奇了。

再看一眼热炒的“物联网”,如果没有统一的标准(主要是网络协议),物联网做到最后只能做成不成器的“局域网”。比如苏州的物联网采用的是A协议,上海的采用是B协议,当两个网络扩展到一定程度而需要相互连接时,麻烦就会出现。必须要有类似于TCP/IP这种全球接受的协议,网络才有大发展。当然了,很多因特网的协议也是一边使用一边创新的,但既然有历史经验,为何不能借鉴一下呢?注:由于我本人没有具体做“物联网”,有失偏颇之处,请不吝赐教!

回到机器人,说白了可以把机器人理解为一个有“腿”有“眼睛”的计算机,再就是它“脑子”考虑的问题要比普通的计算机更复杂一些。也可以认为它是一个更为复杂的嵌入式系统。由于嵌入式系统对裁剪性、环境适应性的要求要大于可移植性的要求,因此难有统一的标准。但是在机器人嵌入式系统方面仍出现了很多优秀的“标准化”项目,如Arduino,通过标准的(开源的)硬件和lib库,Arduino将全世界的机器人爱好者联系在一起,大家有了一个共同的平台来交流思想以及分享开发工作。另一个面向研究机构的(开源的)机器人系统就是ROS了。说到这,我突然感觉到开源与标准化是相辅相成的。开源可以集合全球开发者的力量,标准化可以使大家形成合力。

Robot必定会成功!

标签:

1 条留言  访客:1 条  博主:0 条

  1. leckqq

    刘老师,能不能共享一个视频:像鸟儿一样飞行,机器人与仿生学。网站提供的360云盘链接失效了,谢谢!我的邮箱:caoqimeng@163.com

给我留言

Copyright © ExBot易科机器人实验室 保留所有权利.   Theme   Robin modified by poyoten

用户登录

分享到: