十年前,当笔者还在努力实现“机器人版 Linux”的愿景时也曾因为困难灰心过,不过其他勇敢者的故事激励着我继续前行。下面,我将向大家分享一些机器人操作系统(ROS)的隐秘往事,希望这些尘封多年的故事也能激励你们努力追寻自己疯狂的新点子。

超级刚需

这个故事开始时,我和我合作七年的老伙计 Eric Berger 刚刚开始在斯坦福大学攻读我们的博士学位。

其实接触 ROS 也是个偶然,当时为了拿到博士学位我们正在寻找一个引人注目的项目。我们询问了许多业内人士,但发现大家做的都差不多,他们都在机器人软件领域使劲,几乎 90% 的时间都花在重写他人的代码和搭建原型实验平台了。因此,留给创新的时间只有 10% 了。

在机器人研发上我们浪费了太多时间

ROS 和 PR1 是我们改变全行业浪费时间大背景的解决方案。当时,我们计划找到大金主,拿出资金支持 10 个大学的研发人员打造 10 款完全相同的机器人,随后成立一个软件工程师团队开发通用的管道软件和开发工具,让机器人软件行业的创新者能站在巨人的肩膀上。

想好计划后,我们联系了 Ken Salisbury 和吴恩达教授,希望他们能为我们的愿景背书。

一步步树立公信度

为了给这个名为斯坦福个人机器人项目的计划筹钱,我们踏破了所有有兴趣投资者的门槛。当时的目标是筹到 400 万美元,这些钱能帮我们招到优秀的软件工程师来维护 ROS。此外,这些钱还覆盖了 10 台机器人的制造费用。在筹资的过程中,我们尝尽了“人间疾苦”,当时还是毛头小伙的我们确实没什么公信度。不过,功夫不负有心人,终于有投资者给我们开了张价值 5 万美元的支票。

这张支票来自 Joanna Hoffman 和 Alain Rossmann,他们告诉我要用这些钱一步步树立自己的公信度。同时,这些钱也成了我们的启动资金。

随后,我们用手上的 5 万美金和从斯坦福院长那里要来的钱打造了 PR1。随后 PR1 成了我们的名片,它帮我们团队拉来了世界顶级机器人软件研发团队的支持。除此之外,我们还将 PR1 贡献给斯坦福 AI 机器人团队研究,它们让我们见识了机器人软件开发平台的天花板到底有多高。

不过,恐怕更重要的是我们居然带 PR1 到朋友家一游,随后遥控它拍了不少超赞的视频。在那之后,我们就又踏上了筹款之路。

别被任何人的质疑打垮

不过,在无数的好话之后,我们还是得到了类似的回复:你们所说的“机器人版 Linux”实在太超前了。此外,各类回复中还频繁出现“crazy”(意为疯狂)一词。

到现在我还在庆幸,幸好当时我们坚持己见没有动摇。

随后,我们遇到了真伯乐 Scott Hassan,他就被“机器人版 Linux”打动了,我们这才有了打造 ROS 的钱。Hassan 是科技界有名的大神,他利用开源软件写出了谷歌第一行代码,eGroups 也出自他的手笔。Hassan 愿意给我们投资也是因为想让机器人行业将开源当成自己的根基。最终,在 ROS 的开发上,我们花掉了 Hassan 四百多万美元。

毕业后,我和 Eric 来到了 Scott 的研究实验室 Willow Garage,在这里我们要将个人机器人项目变成现实。当时我们是 Willow 的第三个项目,除此之外这里还有自动驾驶汽车和自动驾驶船舶的项目(这两个项目后来都被砍掉了)。

奔向ROS 1.0

Willow Garage 见证了许多跌宕起伏的故事,而正是这些故事让 ROS 最终成了机器人版 Linux。

首先我得感谢我们的团队,这里汇聚了世界一流的领导者、工程师和研究者。

整个团队将 100% 的精力投在了 ROS 的建设上,我们还下大力气让 ROS 变得简单易用且功能丰富。同时,ROS 还得到了业界巨头博世的帮忙。

在创建 ROS 社区时,我们请来了此前在开源机器人项目中积累了丰富经验的部门领导。此外,在市场营销方面我们也抛弃了往常的“教育优惠”,那些愿意开源自家机器人项目的公司购买 PR2 时能拿到不少奖励。

PR2 测试项目的参与者

在推动 ROS 走向成功的路上,我们使了不少手段以便充分利用手上的资源,下面就是两个较为典型的策略。

两天的研讨会

我们刚刚起步时,整个行业里其实已经有了十多个机器人开源软件框架,于是我们决定请这些项目的负责人到 Willow “共商大事”。当然,在邀请函中我们还附上了自己的承诺:我们将组建一个软件工程师团队,将你们梦想中的机器人开源软件架构打造出来。

这次的研讨会由 Brain、Ken 和 Eric 负责筹备,在两天的会议中,与会各方在多个观点上达成了一致,例如为了保证取得像 Linux 一样的干净许可,我们需要启用全新的代码库。此外,在新系统框架所含功能和设计准则上,参会人也达成了共识。

除了上述成绩,两天的研讨会还让这些项目的负责人成了 ROS 的投资者,在随后几年 ROS 的迅速增长中,他们也贡献了不少力量。

实习生项目

对于产品设计团队的管理方式,我想了两种。一种是自上而下的,一个颇具远见的主管带领大家向前走;另一个则是自下而上的,由两个关键属性决定团队的方向。

1. 团队中的每个人对产品设计都有自己的话语权;

2. 让每个团队成员与顾客之间的距离只有一层纱。

最终,ROS 选择了自下而上的方式,团队的每个成员都与顾客肩并肩的站在一起,而实习生计划也是整个项目成功的重要因素。

被众人抱起的就是实习生项目负责人 Melonee Wise

从项目开始到 ROS 1.0 诞生的 18 个月中,有超过 100 名实习生在 Willow 帮忙,他们每个人都在这里“燃烧”了三个月的青春。在实习生项目最红火的时候,Willow 大楼里实习生比正式员工都多。他们不但在 ROS 上做了许多创新,还帮 ROS 挑了许多毛病。

除了为 ROS 贡献力量,这些实习生离开后还将 ROS 的理念带到了他们的研究所和公司,增强了 ROS 品牌在全世界的影响力。

无与伦比的十年

未来十年肯定比最大胆的想象还要异彩纷呈,创业者们可能会以 ROS 为基础,打造最棒的产品和业务,复杂的工厂也会有 ROS 系统助力。此外,开源机器人基金会也会成为 ROS 的大管家,ROS 社区则会迎来大发展。

同时,ROS 作为研究、创新和创业推动者的威力也会逐渐显现出来。

从“疯狂”到现实

ROS 起初只是一小拨心怀梦想的人发起的,但通过不断努力,我们将曾经的“疯狂”变成了现实。

对于其他创业者,我也希望他们能将自己认为最重要的事从“疯狂”变成现实。

本文作者:大壮旅
本文转自雷锋网禁止二次转载,原文链接

干了这碗鸡汤!“机器人版 Linux”ROS崛起背后的隐秘故事大揭秘相关推荐

  1. 崛起背后的隐秘故事-“机器人版 Linux”ROS

    雷锋网按:本文作者Keenan Wyrobek 目前为物流无人机企业Zipline 联合创始人,同时也是第一个个人机器人操作系统ROS 的创造者之一.今年是ROS 的第十个年头,Wyrobek 在Sp ...

  2. 干了这碗鸡汤:从理发店小弟到阿里P10技术大牛

    1.引言 MIT TR 35(MIT Technology Review 35 Innovators Under 35)--"全球 35 位 35 岁以下科技创新青年"榜单,是全球 ...

  3. 实习半年了。干了这碗鸡汤。你就是我的狗了(随笔)

    lz主要是想分享下个人这半年来,从学校到公司,自己是什么感觉的(不是技术贴,我注重情怀).lz是个boy.未婚(嗯,这不是废话吗,java攻城狮怎么可能有狗子).咳..跑题了.我们学校本科2b.... ...

  4. 李嘉诚的四句话,和各位共勉,让我们干了这碗鸡汤吧,共同挑战未来

    一.当我们梦想更大成功的时候 ,我们有没有更刻苦的准备? 二.当我们梦想成为领袖的时候,我们有没有服务于人的谦恭? 三.我们常常只希望改变别人,我们知道什么时候改变自己吗? 四.当我们每天都在批评别人 ...

  5. 干了这碗鸡汤,继续crud

    也许这是众多技术人最难突破的一点,我如何提升自己的技术能力,如何快速成长,如何规划自己的未来? 也许只是平凡大海中的一粒沙砾,高中时就在一直努力上进,从重点班的五十多名,一直到高考前三模冲到班级前十名 ...

  6. 来来来,干了这碗毒鸡汤……

    励志就是一碗鸡汤,鸡汤再好喝也是会腻的,有必要来碗毒鸡汤醒醒脑. (一) 01| 转角一般不会遇到爱,只会遇到乞丐. 02| 你以为只要长得漂亮就有男生喜欢?你以为只要有了钱漂亮妹子就自己贴上来了?你 ...

  7. Arduino版读取程序的规则_如何在Arduino开发板上使用机器人操作系统(ROS)

    Arduino开发板经常用于制作一些小型的机器人,并具有简单的逻辑定义控制.但是,由于板载计算能力和软件有限,开发人员常常无法升级到更复杂的机器人.通常,随着开发人员变得越来越有经验,他们会寻找专门用 ...

  8. [导入]Gentoo版Linux操作系统的前世今生 (3)

    Gentoo版Linux操作系统的前世今生 (3) 文章来源:http://blog.csdn.net/zgqjymx/archive/2008/05/06/2399367.aspx 转载于:http ...

  9. 机器人鸣人是哪一集_火影忍者596集剧情介绍番外篇九尾抢夺指令_鸣人VS机器人版鸣人...

    亲爱的火影迷们,没想到火影忍者本周竟然更新了两集,终于可以一饱眼福了,在火影忍者596集中,不仅是晓,就连大蛇丸都加入了九尾的抢夺中,袭击木叶,看鸣人等木叶的伙伴们如何迎敌,下面本网为您介绍一下火影忍 ...

最新文章

  1. 具有缺失值的多元时间序列的递归神经网络
  2. 运行jar应用程序引用其他jar包的四种方法
  3. 【渗透测试】初探进程伪装
  4. c语言case后面多字符,多SWITCH-CASE结构时的C语言对象方式化解
  5. 动态规划训练14 [Max Sum Plus Plus HDU - 1024 ]
  6. 【C++进阶】利用重载二元运算符改进平面向量类Vec2D
  7. Bootstrap 弹出提示插件Popover 的选项
  8. 使用SQL2005 递归查询结合Row_Number()实现完全SQL端树排序
  9. atmega328p引脚图_ATMEGA328P-AU 8位AVR微控制器
  10. 安卓手机如何防盗_如何使用IMEI号码追踪丢失的安卓(Android)手机
  11. 国产低代码开发平台,这5个值得一试
  12. OBS(Open Broadcaster Software)桌面视频直播软件/直播推流工具使用方法指南
  13. 幅度调制(线性调制)原理
  14. win10+centOS7双系统安装步骤记录
  15. Unity Hub和Unity项目的关系
  16. 足球比赛数据分析系统
  17. Nodejs+Express项目使用JWT
  18. 【Python】利用tkinter开发测手速小游戏
  19. 视觉机器人+人体姿态识别项目总结
  20. 1000套HTML5期末大作业——电影我不是药神响应式页面带轮播(4页)

热门文章

  1. Lit(二):响应式属性
  2. foo()和@foo()的区别是什么?
  3. 哈趣K1和哈趣H1哪个性价比更高?谁更值得入手?
  4. 观点丨加密世界的演化:五年时间走了多远?
  5. iOS Mansory 等间隔或等宽高排列多个控件
  6. Linux系统下定时关机命令shutdown
  7. 斧子演示(AxeSlide):新时期,新用法
  8. 【try……catch】C++ try…… catch 笔记(C语言中也可以Try-Catch异常处理)
  9. mysql双一参数_mysql的双1设置
  10. 电机功率(P)、转矩(T)、转速(N)之间的关系