admin管理员组

文章数量:1530842

2024年1月6日发(作者:)

(乐天编译)pc是影响it行业发展的“大事件”,也造就了微软这个软件巨人。而就在业内纷纷为寻找下一个蓝海绞尽脑汁的时候,微软的顶尖人才正在悄悄地力图把机器人应用推向主流。

悄然布局机器人软件

软件专家和技术分析师要是没有注意到微软新成立的机器人部门,那情有可原。与这家公司产值数十亿甚至上百亿美元的windows、msn、xbox等部门相比,机器人部门还未成气候。如今微软正在非商业领域免费派送这个部门的软件。

微软的机器人部门目前还几乎微不足道。微软仅仅从7.6万名雇员中抽调了11人负责开发robotics

studio 1.0。

不过由软件工程师精英组成的这支精干团队只用了公司的一小部分研究预算,就开发出了一套工具。正如windows统一大多数pc厂商那样,这套工具也有望把诸多机器人厂商统一起来。这支团队位于名为broom closet的一间间小型开放办公室,成员由一名在微软打拼了26年的资深员工(连比尔•盖茨也会虚心听取他的意见)挑选出来。将来的软件版本也许有朝一日会进入比windows数量更多的机器,同样成为微软的摇钱树。微软的最终计划就是,如果用户使用商业化机器人所采用的多达200个软件组件,它可以收取399美元的许可费。

解决兼容性难题

眼下,机器人世界到处是无法轻易协同工作或者无法轻易兼容标准编程工具的设备。就拿create来说,这是一种流行、可编程的roomba真空吸尘机器人。roomba的生产商是马萨诸塞州伯灵顿的irobot 公司,它去掉了专门用来吸尘的零件,添加了货舱、一条串行线缆、32个不同的传感器以及一个25针扩展端口。售价130美元的create是机器人爱好者梦寐以求的。不过要是为它编程序,必须用c或者c++语言。如果想要增加另一家生产商的网络摄像头或者机器人臂,就要编写更多的代码――首先为这个附件编程,然后为集成到机器人里面编程。要是之后再换上不同厂商生产的更好部件,只好从头开始重复这项工作。

为机器人编程序要比为个人计算机编写典型的应用程序难得多,面对打印机或者鼠标时根本不会遇到这种情形,但机器人的每个部件都应当独立行动、响应复杂事件。

去年12月发布的robotics studio旨在为机器人程序员处理大部分复杂情况。它并不是操作系统,不过生产商将用它来为机器人部件编写软件,就像与pc相连接的设备(无论打印机、液晶显示屏还是数据采集传感器)的生产商那样。一旦编写好了这种服务――譬如,告诉机器人臂抬高或放低、抓住或松开、旋转n角度等,只要用一个指令就能完成相应动作。而换上新机器人臂后,同样的命令可实现同样的动作,只需要极少量的重新编程工作。换句话说,微软的软件具有与ms-dos和windows同样的功能: 培育完整的生态系统,其中的新设备为越来越多的最终用户带来了新程序,而新程序反过来促成了更多的创新――25年前,正是这种同样的良性周期让小打小闹的pc行业得到了迅猛发展。

大好机遇

会不会出现良性周期还有待观察,但有迹象表明已经开始出现这种苗头。自12月份发布以来,robotics

studio工具包的下载次数已超过了10万次。今年4月向公众预览的改进版本会在今年秋天用于佐治亚理工学院、卡内基•梅隆大学及其他学校的计算机学和工程学课程。它还已经得到了诸多生产商的测试,包括小型irobot部件的生产商和德国奥格斯堡的kuka robot group(该公司在5月发布了第一个能举起1000公斤重物的机器人)。虽然软件免费提供给许多人,但微软的经理们充满信心地表示: 一旦软件应用于数百万台机器,自然会有赚钱的门路。譬如说,这家公司的免费媒体播放器如同一颗种子,在此基础上,基于互联网的电视软件蓬勃发展起来,微软获得了像at&t和韦里孙通信公司这样的大客户。

据日本机器人协会估计,如今产值110亿美元的机器人行业(主要是工业机器人)到2010年会翻一番;

到2025年,有望超过660亿美元。增长主要会出现在非工业领域――尤其是玩具、交通、健康和老年人护理这些领域。设想一下,机器人帮助心脏病发作后康复中的患者进行一些锻炼: 陪患者在医院走廊散步、提着静脉注射药袋、监测心跳及其他重要生命体征; 如果患者身体虚弱,它还能搀扶一下。

国际机器人联合会预测,2006年到2009年销售出去的用于家庭、娱乐及休闲领域的机器人将达到560万个。眼下,这个行业面临大好机遇。微软的众多竞争对手包括player――这个开源项目的部分资金来自美国国家科学基金会、国防高级研究计划局(darpa)和多家人工智能实验室; 巴黎的gostai,这家小公司开发开源机器人软件; 还有总部设在加州帕萨迪纳和东京的evolution robotics。它们远不如微软财大气粗。难怪,开发robotics studio 1.0的10个人表示,他们认为自己是下一大热门技术的开拓者――不只是微软的开拓者,也是全世界的开拓者。

组建团队

在微软,连级别最低的新程序员也有自己的办公室; 微软总部庞大园区的许多大楼主要由一间间办公室组成,每间办公室的窗户上都装有百叶窗,以保护隐私。不过有个地方例外: 在113号楼第三层的一隅能找到一间偌大的开放办公室broom closet,里面有沙发、安乐椅、咖啡桌、宽大的液晶电视,还有多得难以想象的机器人、机器人附件和机器人玩具。

当然少不了irobot的roomba 和create机器人。与另一个机器人相连的有收音机和天线、小型立体声扬声器以及看上去很像小型煮咖啡器的某种传感器附件。还有亚特兰大的summerour robotics corp.公司生产的机器人: traxster,它装有轮子,可以沿轨道滑行; 还配有可选的视觉传感器,与铰接式颈部相连接。

设立这个办公室是团队经理tandy trower想出来的。他说: “我希望小组成员能够在一起工作。一小组人经常彼此交谈会收到良好效果。”

2005年底,trower 从各方面精心挑选小组成员,包括来自当初最先开发xbox小组的两名工程师。xbox是微软试图另辟蹊径的另一个项目。如今,xbox成了该公司产值40亿美元的娱乐部门的核心。

robotics studio的核心技术

设立机器人部门的想法来自好几个方面。首先来自微软的首席研究和战略官craig mundie。早在2000年,他全面分析了计算机和互联网领域的趋势。他当时预测“会出现日益复杂的巨变。到时处理器将无所不在。”计算将分布在单一芯片或单一设备的不同处理器之间,或者分布在网络(无论是局域网还是其他网络)之间。处理器将松散耦合,也就是说,它们将随意组合、解散。而且计算会改向基于服务的模式,这意味着会越来越多地针对网络云(公司网络或互联网本身)而不是单个计算机来编写软件。

这与pc上的操作恰好相反。在pc上,操控大权的是单一处理器; 外设请求连接及断开,介于两者之间必须请求处理器提供一定的宝贵资源。现在设想一下机器人会遇到的定时和资源问题――决定迈步之前,双脚需要得到来自双眼的更多信息; 而眼睛只有在迈出下一步后,才能提供这样的信息。或者可能会出现两个毫无关系但同样重要的任务,譬如陪着住院患者行走,同时调控静脉注射药物的剂量。

用程序员的话来说,这些任务每个都是一个线程。传统线程要么等一个线程运行完毕,要么在另一个线程运行时暂时停止。在有多个处理器的计算机,或者有多个核心的单一处理器内,多个线程可同时运行,每个线程接受来自一组传感器的数据流,以某种方式响应数据。不过仍存在协调两个线程及响应的问题。

为了研究这类问题,mundie组建了一个研究小组,名为“先进技术孵化部门”。他们开发出了名为并发和协调运行时(ccr)的技术。ccr可以掩藏同时管理多个线程的复杂性,办法就是让程序员创建名为调度器(dispatcher)的软件对象,调度器可管理多个线程,并且为每个线程指定调度优先级。ccr甚至让程序员可以创建多个调度器,它们通过名为仲裁器(arbiter)的一组对象加以管理。ccr的其他工具让线程可以共享数据或独自享用数据,把数据从一个线程传送到另一个线程,以及让一个线程命令另一个线程处理任务。

按照mundie对未来计算的构想,处理和信息根本不是分布在系统各部件之间; 而是分布在整个环境当中。不妨考虑roomba这种irobot的真空吸尘器机器人。如今,它在清扫房间时,采用几种方法以越来越大的圆圈转动。但房间内的大多数东西在昨天清扫后没有动过,比如像墙壁这些东西根本没动过。在面向服务的分布式模型中,家里的另外某台计算机可能存储有关墙壁、家具和电气插座等位置的信息。譬如说,一把椅子从一个地方挪到另一地方后,在房间内转动的任何机器人都能够获取这些数据、并加以更新。访问房间布局信息成了每个机器人都能使用的一项服务; 访问电线布局信息成了另一项服务。

一小批roomba可以直接或者通过家庭服务器彼此进行联系,它们能够很快清扫好整个房子。最终,桌子和棋子本身也足够智能化,位置移动后能够报告新的位置。而进入家庭的新机器人会很快获得所需的任何信息。在robotics studio中,无论位于同一机器人的另一个部件、位于本地计算机,还是位于互联网上,这类服务一旦可用,就会出现。微软称之为分布式软件服务(dss)。

ccr和dss 是由先进技术孵化部门开发、后来应用于robotics studio的两项关键技术。虽然确保机器人不会在处理某项任务时陷入停顿以至无法处理其他重要任务的负担主要由操作系统来承担,所谓的实时操作系统(rtos)也已经存在了几十年,但ccr和dss确保了更高的编程级别,rtos的好处也不会丢失。

studio软件还以另外某种方式为程序员掩藏了复杂性。程序中的服务可以显示成简单的块图标,只要用箭头把它们连接起来,程序员就能建立服务之间的关系,譬如把数据从一项服务发送到另一服务。trower 在大电视屏幕上演示这个过程时,似乎轻而易举(编程以实现引导心脏病患者沿医院走廊步行的功能要复杂得多)。软件工具包还包括教程、样本程序和一般的机器人代码,还包括一个模拟工具: 用不着让造价昂贵的机器人冒一头栽下楼梯的险就能测试程序。

robotics studio针对windows编写,但并不因此说机器人本身必须使用这种操作系统。微软当然希望机器人生产商使用windows。但broom closet里面的许多机器人甚至没有使用正规的操作系统。

做机器人软件的管道公司

trower说: “我是bill的另一双眼睛和耳朵,帮助出谋划策。机器人领域的人可以说主动找上门来。”譬如在与微软ceo steve ballmer会面时,机器人玩具mindstorms的厂商lego的负责人对ballmer说“我们不妨一起合作。”red whittaker也参观了微软的园区,他在卡内基•梅隆大学领导的小组很快会在第一届无人驾驶机器人挑战赛中取得比任何对手更好的成绩。这项赛事要求机器人车辆穿越条件恶劣的沙漠。

trower所不知道的是,whittaker绝不是告诉微软机器人多么重要的惟一一名大学教授。公司有一个部门名叫外部研究项目部门(er&p),其中一项任务就是招聘众多计算机学学生充当实习生,资助大学老师和研究生的研究项目。通过种种关系,er&p的项目经理stewart tansley从计算机学教授那里得到了明确无误的信息: 有人希望在教室里使用机器人,就是难度太大了。

tansley说: “设计机器人的目的就是为机器提供人类具有的强大能力。我们老听到机器人研究很热门,但这具有挑战性。学生们希望为机器人编程序,但他们把所有时间花在了基本的工程技术上。从事的工作有许多是重复性的。”

tansley说,微软相当于软件行业的管道公司。“为机器人从事基本的管道工作,这想法似乎挺不错。”于是在2003 年12月,他开始利用微软的一项独特发明,让公司致力于机器人领域。他与同事开始为盖茨设定的“思考周”写关于该课题的文章,盖茨在此期间要阅读公司各层员工所写的至少上百篇文章。tansley回忆说: “我们在写文章时碰到了tandy trower。”trower决定自己写关于机器人的“思考周”文章。

看过trower和tansley为“思考周”写的文章后几个月,盖茨一连参观了六所大学,这也是他近乎固定的集思广益的另一种方法。据盖茨声称,所到之处,师生们兴奋地向他展示了至少一个机器人项目。

盖茨得到的信息很清楚: 从德国到韩国的任何一个地方,机器人领域让人兴奋、让人期待。这深深地吸引着学生及其他所有人。而多核处理器上并行、分布式的编程是一项颠覆性的新技术,它会使机器人走出工业领域,变得无所不在。

未知的未来

何时才能实现无所不在的机器人这个梦想?是遥不可及、是在不远的将来,还是仍要过好多年?至少,mundie在七年前设想的世界已成为现实: 数据中心里面到处是使用多处理器的服务器; 各处的桌面系统采用了价格不到2000美元的多核个人计算机。我们即将看到他与trower及盖茨的另一部分远景是否正确。新处理器会把我们带离pc、带向机器人(运行微软软件的机器人)随处可见的未来吗?

链接

微软机器人部门

一旦盖茨决定了让微软涉足机器人领域,下一步就是弄清楚如何涉足。微软要不要专门针对机器人编写一款操作系统?公司里面还有哪些资源能够助一臂之力?盖茨交给trower这份时间上没有限制的差事:

弄清楚微软到底应该怎么做、由公司里面的谁来做。trower花了5个月时间,调查了从lego的mindstorms到最新工业机器人的各个方面后回复盖茨: “我认为微软在这方面有生意可做; 我希望能亲自掌管。”

除了为机器人部门指派经理外,盖茨的功劳还在于他在微软内部找到了这项技术的用武之地。他下令trower 成立正规的业务部门,有人员、有预算,也有自己的场地broom closet。版本1.0的robotics studio与任何商业产品一样也会有发布日期,与其他任何版本一样也会得到更新及维护。但盖茨也把该部门设为隶属微软研究部门,这样trower就用不着创造收入。trower并没有借助市场研究,而是依赖为期五个月的调查、自己在微软的资历和经验以及对程序员和用户需求的了解。

盖茨把这个新部门定位于微软的业务部门和研究部门之间。没过多久,mundie为trower献上了先进技术孵化部门的研究成果――ccr和dss,还带来了两名担任首席架构师的程序员: george chrysanthakopoulos和henrik frystyk nielsen。至此,trower已挑选了小组另外八名软件工程师当中的几人。

这支队伍搜罗来了各式各样的人才。trower需要从操作系统级别编程到用户界面等各个方面的专家。

chrysanthakopoulos是名出生在希腊雅典的电气工程师,他编写了ccr的大部分内容,并成为这支机器人团队的技术负责人。nielsen担任该小组的项目经理。除了dds,他还编写了相关的web协议: dssp。

两名最年轻的成员是负责设计用户界面的pavel khijniak和来自windows部门的butoi。

小组成员似乎没有察觉到公司高层管理班子对broom closet的重视程度。之前在微软担任岗位时,自己的级别与盖茨隔了何止十级,却不知道现在自己与盖茨就隔了trower这一级。虽然盖茨不再是微软的ceo或者首席战略家,但他的一句话仍事关项目的成败。

本文标签: 机器人软件公司部门