开源自动驾驶汽车

(2019年福布斯文章)

图片
布拉德·邓普顿(Brad Templeton)和斯坦福机器人的早期版本。

关于作者: 布拉德·邓普顿Brad Templeton)是一名软件工程师,自2007年以来一直是机器人的传播者,早年在Google工作。 ClariNet的创始人, 电子前沿基金会的名誉主席和远见研究所所长奇点大学的创始人。

当您创建重达1.3吨的机器人并将其发送到行人中间的街道上时,很难遵循开放开发或业余发明的规则。 尽管如此,业余创新者对于任何正在发展的技术都是非常重要的。 如何解决矛盾?

最近,在开源开发领域有一些有趣的公告。

  • Cruise打开了机器人可视化工具Worldview的源代码。 这是一组工具,可轻松创建传感器,感官区域和其他数据的图形表示,以了解机器的外观和功能。
  • 优步还发布了他们的AVS工具包,以实现类似的可视化。
  • 百度不久前发布了Apollo项目 ,该项目包括一整套工具和一个模拟器。

来自UDacity,EB Robinos,Autoware,Nvidia和comma.ai的开源软件包也已发布。 尽管我们还不具备下载一组工具并创建业余汽车的权限,但是这次将来。

我使用开放源代码工具的历史由来已久,并且我已经发布了多个免费许可证下的开放源代码软件包。 作为电子前沿基金会的主席,我经常为此类软件的权利辩护。

这些工具将帮助开发人员更快地工作,并组建最佳的自动驾驶汽车。 在用于机器人机器的软件创建工具中尤其如此,因为在此领域进行协作的动机很强。 如果许可,团队将把有用的开源组件集成到他们的计算机中。 一些团队甚至可以使用开源完全创建车辆。 有一些开源项目的例子,远远超过了成本更高的业务计划。 最重要的是,有充分的理由争辩说开源工具可以更安全,因为每个部分都受到整个世界的审查。 当然,攻击者会看到源代码,这可以帮助他们发现漏洞,但是还有很多好人也可以看到此代码并进行保护。

所有这些都是可以预料的,但是对于像开放源代码开发方法这样的明星来说,这也是一个问题-单主。 改进系统的人之所以这样做,仅仅是因为他们自己使用它们,并希望使它们变得更好并分享成功。 这些人对我们使用的大多数开放工具负有主要责任,尽管某些重要而大型的项目当然是由具有专业资金的大型团队创建的。

您可以在观看电视时使用一套开源软件,将其下载到计算机上并自行驱动吗? 您能在没有司机的情况下使她工作,以便她来接您吗? 您可以根据自己的喜好进行更改或下载其他修改并继续进行吗? 这是一个更为复杂的问题。

人们在编程的其他领域一直都在做这些事情。 但是,手机与汽车有很大不同。 手机中的安全漏洞可以使攻击者访问您的个人数据,甚至是账单信息,这很严重。 但是,汽车的脆弱性可能使您或其他人在旅途中丧命。

自我认证


如今,监管机构采取不干预政策。 尽管它们领先于时,并为尚不存在的技术制定了规则,但它们主要集中在市场主要参与者生产的机器的自我认证条件上。

自我认证意味着公司正在测试机器,并声明其确实符合规则中规定的目标和安全要求,而第三方或州政府不会对此进行任何检查。 相反,如果事实证明该公司犯了一个错误,或者甚至更糟的是对遵守要求的谎言,那么他们将在法庭上遭受酷刑。 理想的情况是,这种折磨会激励公司进行测试,甚至比任何第三方或州都更好。

没有那么困难。 事实是,没有人知道如何创建一个独立的测试中心,因为不清楚它将检查什么或如何工作。 甚至政府本身也没有线索。 对于普通汽车,有一些众所周知的测试,例如碰撞测试。 同样,各国之间由外部组织检查的方面数量也有很大差异。 但是在大多数情况下,为他们制造汽车或零部件的人比其他人对安全检查和确认的了解要多得多,激励制造商诚实是一种有效的技术。

对于机器人机器,只能通过对软件及其操作进行深入研究来进行此类测试。 为了做到这一点,您必须完全理解这一点。 独立实验室可以执行多种通用测试,这些测试真的很有用。 随着时间的流逝,将会出现更多的测试和更多的实验室,但是开发人员将创建不适合旧测试的新方法。 标准和规则可以定义普遍接受的和短期相关的技术,它们在快速变化的领域(定期发明新方法)不是很有用。

价值


尽管自我认证似乎是唯一适用于单个主机的系统,但不幸的是,该系统的核心原则要求认证者具有足够的权重来确认其主张。 通常,一个人没有办法避免缺乏适当证明的痛苦。 人群可以避免这种情况,但是即使对他们来说也很难。 如果由第三方认证,测试也将很昂贵。 所有这些意味着这是不常见的做法,只有对运行数千辆汽车的软件才能合理地执行。

即使有一个软件包被证明是安全的,如果您对与影响安全性的代码的重要部分相关的更改进行了更改,该怎么办? 您可以在周围有很多障碍的道路上驾驶这种汽车吗? 这仍然是一个棘手的问题。

解决方案


一种可能的解决方案是购买保险。 不幸的是,这也有其困难。 最有可能的是,该风险将高于典型现代保险所涵盖的风险。 同样,保险公司也没有方法来确定您的程序员水平和修改的安全性。

您应该能够进行修改,并至少由一个人(可能是两个测试人员)以安全驾驶模式在道路上行驶,他们正在监视新软件,并准备在出现任何问题时进行控制。 这就是今天测试汽车的方式。 特斯拉自动驾驶仪 这是有效的,但仅适用于愿意投入大量时间和资源的严肃的开发人员,而不适用于仅希望更改其汽车软件的业余爱好者。

在某些情况下,程序员在对安全驾驶进行了少量检查之后,便可以将其编辑发送给更大的组织,该组织可以将这些编辑集成到他的测试中。 他们可以同时测试来自不同开发人员的数百个(不连续的)修改。 这些程序员将能够分担这笔费用,而不仅仅是一起测试以使他们的代码达到可以进行认证的水平。 但是,它仍然很昂贵。

“导师”


也可以创建一种软件“向导”。 它可以是简单的经过认证的程序,它是安全,自动的驱动程序。 实际上,该程序可以取自具有所有安全证书的公认的高度可靠系统的核心。 您的机器将在其修改后的系统上工作,但与此同时,“指导者”将不断监视其工作。 如果您的系统执行了导师不喜欢的操作,那么他将控制自己并将汽车开到安全的地方或家中。

导师会小心驾驶。 这意味着使用此技术,您无法创建比其更具攻击性的任何东西。 如果导师说您需要停止,而您的程序说您需要走,那么您的程序将关闭。 人为管理的优先级可能比导师高。 需要比指导者提供更多权限的功能对于在单个主机上进行开发和测试在公路上不可行,尽管它们仍可以在模拟器中使用。

实际上,模拟器是业余工程师的救赎,尤其是考虑到模拟器越来越好。 它们的存在是为了在新补丁中快速发现问题和不成功的解决方案,并确保在行驶之前,汽车能够以数英里的虚拟里程进行训练。

指导者最有可能基于业余工程师修改的同一套开源软件的认证版本。 实际上,如果程序员发现指导者拒绝执行的操作实际上是安全的,那么他将能够发送错误消息(甚至更正),最终(尽管不是立即)可以提高指导者的培训能力。被测程序中的更多行为。

安全是一个特别关注的问题。 修改后的软件可能具有安全漏洞,攻击者可以利用该漏洞控制指导者。 我们需要指导者有效地工作,但是另一个质量标准是指导者识别试图欺骗他的恶意程序的能力。 导师的任何脆弱性都可能导致他允许采取一些不安全的措施,这可能是一个问题。

对工匠的需求


我们需要在汽车世界中被称为工匠的人,或者在计算机世界中被称为“工匠”的人(在计算机犯罪分子的意义上,“黑客”一词的使用主要是在软件开发人员社区之外使用的。与“工匠大师”具有相同的含义,而计算机犯罪或黑客技术专家则是另一种类型的黑客)。 所有大型汽车公司都是从手工业开始的。 许多州甚至都制定了法律,将工匠创造的独特车辆的常规车辆安全规则作为特殊例外,只要它们遵守基本的运输安全规则即可。 而且行之有效,尤其是因为这些车辆始终都有驾驶员,通常,这就是他们的创造者。 在软件世界中,黑客(在非犯罪意义上)贡献了大量创新。

我们甚至希望支持一家小型汽车公司的想法,该公司可以向感兴趣的客户分发或销售带有集成指导者的机器人机器的改良系统。 与其他领域的客户不同,这将使其他人(不仅是他们自己)面临风险,创新也需要小型企业。

像已经描述的那样的导师还不存在。 但这应该在我们的计划中,因为没有手工业者和黑客的创新的无人驾驶汽车的世界将比只有大公司才能做出贡献的世界发展得不够安全。



图片

关于ITELMA
我们是一家大型汽车零部件公司。 该公司拥有约2500名员工,其中包括650名工程师。

我们也许是俄罗斯汽车电子发展最强大的能力中心。 现在,我们正在积极发展,我们开设了许多职位空缺(包括该地区的大约30个职位),例如软件工程师,设计工程师,首席开发工程师(DSP程序员)等。

汽车制造商面临许多有趣的挑战,并推动行业发展。 如果您想成长为专家并向最好的人学习,我们将很高兴见到您加入我们的团队。 我们也准备分享专业知识,这是汽车领域最重要的事情。 问我们任何问题,我们将回答,我们将进行讨论。

阅读更多有用的文章:

Source: https://habr.com/ru/post/zh-CN478640/


All Articles