“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

打造通用机器人,需要什么样的软硬件?

  • 2020-12-23
  • 本文字数:3909 字

    阅读完需:约 13 分钟

打造通用机器人,需要什么样的软硬件?

作者自述: 根据莫拉维克悖论,人工智能系统可以相当轻松地解决“成人认知”任务,如下棋或通过基于文本的智力测试,而完成基本的感官动作,如爬来爬去或抓东西这些一岁孩子就能做的事,却非常困难。是的,我们造飞机是为了载人飞行。飞机是很棒的飞行器。但是,要造一只会飞的鸟呢?在我看来,这就是通用机器人的真正内涵。


本文最初发布于 Eric Jang 的个人博客,由 InfoQ 中文站翻译并分享。


声明:本文只是我的观点,不是我所服务的企业或同事的观点。

Hacker News 讨论:https://news.ycombinator.com/item?id=25247499


根据 莫拉维克悖论,人工智能系统可以相当轻松地解决“成人认知”任务,如 下棋 或 通过基于文本的智力测试,而完成基本的感官动作,如爬来爬去或抓东西这些一岁孩子就能做的事,却非常困难。


任何人,只要他尝试过制造可以做任何事的机器人,他都会意识到,莫拉维克悖论根本不是一个悖论,而是一种必然,因为我们的物理现实是如此的复杂和难以满足。现代人类一生要穿越数百万平方公里的土地,这是一个充满危险和机遇的迷宫。如果我们必须像下棋一样,有意识地处理和考虑所有对生存至关重要的感觉输入和运动决策,我们就很可能会被达尔文进化论从基因库中选择出来。进化优化了我们的生理机能,使我们能在一刹那间执行感觉运动技能,并感觉很轻松。


另一种理解这种复杂性的方法是,调整你的日常生活以适应严重的运动障碍,比如失去手指或在没有双腿的情况下在旧金山到处转转。


通用机器人的软件


那些从事机器人工作的人,他们要直接面对“现实世界”的混乱,对他们来说,这种感觉运动问题的困难尤其明显。现实世界如此之复杂,我们该如何构建用于控制机器人的软件抽象?


我最讨厌的一件事就是,人们没有慎重对待莫拉维克悖论,就提出一个编程模型,将高级机器人任务(“给我准备晚餐”)分为具有清晰计算逻辑边界的顺序或并行计算:淘米、将肉解冻、准备盘子、摆桌子等。这些子任务可以进一步细分。因为传统软件有太多的边缘情况需要处理(“图像是否包含一只猫?”),所以当一项任务不能进一步分解时,我们可以尝试调用机器学习模型作为“魔法软件”来实现那个功能。


这种思维方式——调用 ML 代码的符号逻辑——来自于那些习惯于遵守 Software 1.0 抽象 和 使用烹饪作类比的编程教程 的工程师。


你知道像“给我拿点心”这样的任务需要多高的智能吗?在最低水平的运动技能上?请允许我举例说明。我录了一段小视频(在这段视频中,我打开一包椰枣),并对我在这个过程中执行的所有运动子任务做了标注。


00:00 / 00:00
    1.0x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    在 36 秒钟的时间里,我数出了大约 14 项运动和认知技能。它们发生得如此之快,以至于我都没有意识到,还需要回过头来一帧一帧地分析才能发现。


    下面是我做的一些事:


    • 利用过去的经验打开这类包裹,了解物品的性质以及用多大的力量;

    • 不断调整策略以应对不可预见的情况;

    • 当手滑时调整抓力;

    • 设计了一个特别的 Weitlaner 撑开器,可以借助指关节增加作用在拉链袋上的力量。


    作为一名机器人专家,看到 视频中的动物 如此迅速地做出决定,然后又看到我们自己的机器人艰难地做着最简单的事情,我感到很惭愧。我们甚至要将机器人视频的速度提高 4 到 8 倍,以免人类观众感到无聊!


    看完这个视频,让我们考虑一下机器人控制目前是什么情况。在过去十年左右的时间里,多个研究实验室已经在使用深度学习来开发机器人系统,使机器人可以抓取视野中的任何物体。抓取是一个重要的问题,因为为了操纵物体,人们通常必须首先抓取它们。谷歌 Robotics 和 X 团队花了 2 到 3 年 时间来开发我们自己的系统 QT-Opt。这是一项巨大的研究成果,因为它是一种几乎适用于任何物体的通用方法,原则上也可以用于学习其他任务。


    有些人认为,这种抓取物体的能力可以封装到一个简单的编程 API 中,然后用于帮助实现人类级操作。毕竟,难的问题是由简单的问题组成的,对吧?


    我认为事情没那么简单。要在上层 API 中调用“pick_up_object()”,意味着机器人抓取的开始和结束之间有明确的语义边界。如果你重新看下上面的视频,我做了多少次抓取?我一点也不清楚,这样的话,该把这些函数调用放到哪里。这里有一个 调查,如果你感兴趣的话,可以参加下这个关于“在这个视频中你看到了多少次抓取”的投票,我将在这篇博客中更新结果。


    如果我们仅仅是打开一包椰枣就需要额外解决 13 项操作能力,而每一项能力都需要 2 到 3 年的时间来构建,那么我们距离制造出具备人类能力的机器人还有很长的路要走。对于如何将所有这些行为整合到单个算法程序中,并没有一个明确的策略。相信我,我希望现实足够简单,复杂的机器人操作可以在 Software 1.0 中完成。然而,随着我们从拾取和放置这样的简单任务进入到灵活复杂的任务,我认为,我们需要彻底地重新思考如何在机器人技术中整合不同的能力。


    你可能已经从视频中注意到,“抓取”的意思有点模糊。生物智能并不是专门为抓取而进化出来的——相反,手以及手的行为来自于几个核心驱动力:调节内部和外部环境,寻找零食,重复。


    这并不是说我们目前的机器人平台和 Software 1.0 编程模型在机器人研究或应用方面毫无用处。通用函数 pick_up_object() 仍然可以与“Software 1.0 代码”相结合,成为一个对亚马逊仓库和其他物流配送中心来说价值数十亿美元的可靠系统。在任何非结构化环境中,对任何物体进行拾取和放置仍然是一个未解决的、有价值的、高难度的研究问题。


    通用机器人的硬件


    为了“打开一包椰枣”,我们需要什么机器人硬件?


    Willow Garage 是家用机器人的开拓者之一,他们展示了远程操作的 PR2 机器人可以用来整理房间(注意,这里需要两个手臂来更精确地放置枕头)。这包含了许多拾取和放置操作。


    00:00 / 00:00
      1.0x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.75x
      • 0.5x
      网页全屏
      全屏
      00:00


      这个视频制作于 2008 年。那是 12 年前的事了!想到时间已经过去了这么久,而指针似乎只移动了一点点,真是发人深省。现实就是很困难。


      Stretch 是一个简单的伸缩臂,连接在一个竖直的金属支架上。它可以做诸如拾取物品、擦拭平面和打开抽屉之类的事情。


      00:00 / 00:00
        1.0x
        • 2.0x
        • 1.5x
        • 1.25x
        • 1.0x
        • 0.75x
        • 0.5x
        网页全屏
        全屏
        00:00


        不过,未来学家要当心了!对于那些没有充分考虑物理现实的人来说,只要他们看到演示,机器人可以在一个家庭中做有用的事情,就会得出结论,同样的机器人已准备好在任何家庭中完成这些任务。


        视频显示,机器人打开烘干机的门(左开),从里面取出衣服。这段视频有点欺骗性——我认为,摄像机从物理上看不到烘干机的内部,所以即使人类可以远程操作机器人来完成这项任务,要确保烘干机被完全清空也会存在很大的困难。


        这张照片是我自己的烘干机,它有一个靠墙的右开门。我不确定 Stretch 能否适应这个狭小的空间,但 PR2 肯定无法打开这扇门。



        在制作机器人演示视频时,现实世界的边缘情况常常被掩盖,这些视频展示的通常是机器人在非常理想的环境中运行。但是,人类在家里所做的任务是非常多样化的。不管是 PR2,还是 Stretch,都无法蹲在桌子底下捡起地上的线头,站在椅子上换灯泡,填补卫生间的缝隙,用开信刀打开邮件,把盘子从洗碗机移到高柜里,拆纸箱以便放到垃圾桶,出去取回邮件。


        当然,他们甚至无法打开一包使用拉链袋包装的椰枣。如果你觉得这很复杂,这里有一段我切草莓、清洗餐具和装饰芝士蛋糕的第一人称视频。这是用绑在我头上的 GoPro 相机录下来的。看我手指的每一次抽动——每一次都是一个单独的操作任务!


        00:00 / 00:00
          1.0x
          • 2.0x
          • 1.5x
          • 1.25x
          • 1.0x
          • 0.75x
          • 0.5x
          网页全屏
          全屏
          00:00


          我们经常谈论,机器人将来可以为我们做饭,但我认为,现在市场上的任何硬件都不可能做到这一点。如果想要一个机器人可以完成人类社会中的任何任务,唯一可行的硬件是就是一个成人大小的类人机器人,它有两只胳膊,两条腿,两只手各有五个手指。


          就像我讨论过的机器人中的 Software 1.0 一样,机器人的形态仍然有很大的发展空间,仍然可以为研究和商业应用提供价值。但这并不能改变这样一个事实:任何可供选择的硬件都不能完成人形机器人在以人为中心的空间中所能完成的所有工作。Agility Robotics 公司 是其中一家处于硬件设计前沿的公司。那些在制造经常用手的实体机器人的人——你们能想象你正在制造的机器人组装自己的复制品吗?


          为什么我们不设计一个对机器人更友好的环境呢?


          一种折衷方案是设计机器人的同时也设计环境,以避免上述不可行的任务。这样可以简化硬件和软件问题。我经常听到这样的例子:


          1. 洗衣机比双手操作的机器人在水槽里洗得更好,而烘干机比人把衣服晾在外面风干更高效。

          2. 飞机比鸟类更擅长运送人。

          3. 我们造的是汽车和道路,而不是更快的马。

          4. 轮子能承受更多的重量,比腿更能有效地利用能量。


          对于家庭机器人,我们可以设计特殊的烘干机门,让它们可以很容易地打开,或者针对每个任务定制末端执行器(工具),用来代替有五个手指的手。我们可以把门变成电动门,通过远程 API 调用自动打开,这样机器人甚至不需要自己打开烘干机。


          另一方面,为什么要费心去制造一个机器人呢?我们可以再想一下,将住宅本身设计成一个 ASRS 系统,它可以像个 Dumbwaiter 一样从房子的任何位置为你取来你需要的任何东西。这样就不用让机器人在家里到处走动了。


          对于商业应用来说,这种实用主义的思维方式很好,但作为人类和科学家,这感觉有点像在认输:我们不能让机器人像人类一样完成任务。不要忘记激励我们许多人走上这条职业道路的科幻梦——不是要把事情做得更好,而是要尽人类所能。人类可以用手洗盘子和擦干衣服,所以一个真正通用的机器人应该也能做到。对许多人来说,这种努力是我们能获得的最接近圣经的创造行为:我们要照着我们的形像,按着我们的样子造人,管理海里的鱼、空中的鸟、地上的牲畜,管理地球和上面爬行的所有昆虫。


          是的,我们造飞机是为了载人飞行。飞机是很棒的飞行器。但是,要造一只会飞的鸟呢?在我看来,这就是通用机器人的真正内涵。


          查看英文原文:


          https://blog.evjang.com/2020/11/moravec-bots.html


          公众号推荐:

          2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

          AI 前线公众号
          2020-12-23 14:251513
          用户头像
          陈思 InfoQ编辑

          发布了 576 篇内容, 共 261.1 次阅读, 收获喜欢 1293 次。

          关注

          评论

          发布
          暂无评论
          发现更多内容

          被骂惨了!复旦版「MOSS」服务器挤崩,一口吃不成ChatGPT

          引迈信息

          人工智能 AI ChatGPT MOSS

          Python基础练习题(一)

          漫步桔田

          LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类

          阿里云AIoT

          物联网 传感器

          模块7作业

          程序员小张

          「架构实战营」

          2023年Java面试题精选(蚂蚁金服/滴滴/美团/拼多多腾讯)

          架构师之道

          java面试

          Java单元测试浅析(JUnit+Mockito)

          京东科技开发者

          Java 单元测试 代码 JUnit Mockito

          F5 分布式云服务为软银集团的私有基础设施带来云原生能力

          F5 Inc

          NFTScan x TiDB丨一栈式 HTAP 数据库为 Web3 数据服务提供毫秒级多维查询

          NFT Research

          数据库 NFT

          任务管理-轻松搞定 IoT 设备重启、资源包更新、固件升级等业务——实践类

          阿里云AIoT

          json 物联网 数据格式

          智多星RPA重塑业务流程,全面赋能企业商业创新

          YonBuilder低代码开发平台

          瓴羊Quick BI提供移动端自助分析整体解决方案,Fine BI、Smart BI何时赶上?

          小偏执o

          接地电阻要小于4Ω,你知道是为什么吗?

          元器件秋姐

          科普 元器件 电阻 接地电阻

          研发效能DevOps推荐书单

          laofo

          DevOps cicd 研发效能 持续交付

          天翼云推出爬虫管理,助力企业安全高效发展

          Geek_2d6073

          宣布 Databricks 支持 Amazon Graviton2,性价比提高3倍

          亚马逊云科技 (Amazon Web Services)

          数据库 存储

          第七周作业-王者荣耀商城异地多活架构设计

          不爱学习的程序猿

          CodeArts Repo:6大特性助力企业代码稳定可靠安全无忧

          华为云开发者联盟

          云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

          TDengine 发布主流时序数据库对比分析报告,与 InfluxDB、TimescaleDB 展开全面对比测试

          TDengine

          tdengine 时序数据库 数据库·

          2023“Java基础-中级-高级”面试集结,已奉上我的膝盖

          程序知音

          Java java面试 金三银四 后端技术 Java面试八股文

          如何将Excel文档转换为PDF文档

          Geek_249eec

          Java Excel PDF

          DevEco Studio端云协同开发之云数据库

          白晓明

          云数据库 HarmonyOS 端云协同

          Python 基础练习题(二)

          漫步桔田

          有没有夫妻相?刷一下脸就知道!

          华为云开发者联盟

          人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

          脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?

          极狐GitLab

          团队管理 DevOps 团队协作 ChatOps ChatGPT

          数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%

          字节跳动数据平台

          大数据 数据治理 数据研发 企业号 2 月 PK 榜

          IoT 物联网平台如何实现 100万/秒 消息广播?——实践类

          阿里云AIoT

          小程序 监控 物联网 传感器 测试技术

          PDF电子书下载 和 企业物联网实例 视频讲解——实践类

          阿里云AIoT

          运维 监控 物联网

          如何有效的解决代码的圈复杂度

          京东科技开发者

          代码 计算 圈复杂度 点边计算

          【监控运维】消息轨迹全景图详解-独门秘籍——实践类

          阿里云AIoT

          运维 监控 物联网 数据可视化 消息中间件

          MQTT 5.0介绍

          EMQ映云科技

          性能 物联网 IoT mqtt 企业号 2 月 PK 榜

          基于SpringBoot实现操作GaussDB(DWS)的项目实战

          华为云开发者联盟

          数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

          打造通用机器人,需要什么样的软硬件?_AI&大模型_Eric Jang_InfoQ精选文章