草庐IT

特斯拉在美召回36万辆,马斯克怒喷监管

智能车指北 2023-03-28 原文
想了解更多关于汽车的内容,请访问:​

​51CTO 汽车开发者社区​

​https://icv.51cto.com/​

汽车行业要求出厂的产品是完善的,科技行业则倾向于不断迭代升级。

在美国高速公路安全管理局(NHTSA)的要求下,特斯拉于2月16日宣布将在美国召回 362758 辆已经或准备安装 FSD Beta 驾驶辅助系统的车辆。

在对 FSD Beta 系统进行工程分析和测试时,NHTSA 发现该系统在某些情况下会违反交通规则,导致车辆面临不合理的安全风险。具体包括:

  1. 在路口不按车道线行驶,在转弯车道直行。
  2. 在要求停车观察的路口没有完全停车。
  3. 闯黄灯。
  4. 超速。
特斯拉并不同意 NHTSA 的分析结果,但最终还是服从了要求。召回公告发布后,特斯拉的股价应声下跌 5.7%,市值蒸发了 386 亿美元(约合 2648 亿人民币)。

由于 FSD Beta 的问题只是软件缺陷,所以召回其实非常简单,通过 OTA 升级解决这个问题。

但是特斯拉的 CEO 马斯克还是非常不开心。他在推特上表示,NHTSA 把 OTA 软件更新称之为“召回”,简直是错得离谱。

特斯拉目前并没有在中国地区推送 FSD Beta 版软件,所以中国用户不必担心这个缺陷会带来安全隐患。

自动驾驶声誉受损,马斯克很不开心

长久以来,马斯克不断地吹嘘特斯拉的自动驾驶技术,声称特斯拉在自动驾驶领域是绝对的第一,“就算用望远镜也看不到第二名在哪里”。而自动驾驶也成为了支撑起特斯拉汽车行业最高市值的关键。

所以,当这次 NHTSA 把矛头指向 FSD 时,马斯克才会特别生气。

FSD(Full-Self Driving)直译过来就是“完全自动驾驶”,但它在目前依然只是一种 L2 级驾驶辅助功能。之所以这么命名,是因为特斯拉声称这套系统具备了完全自动驾驶的“潜力”。

在美国,消费者需要花 1.5 万美元来解锁FSD功能;在中国,价格则是 6.4 万元。

特斯拉在 2019 年正式推出了 FSD 系统。一年之后,特斯拉重写了 FSD 的软件代码,推出了FSD Beta。FSD Beta 引入了 BEV(鸟瞰视角)框架和 Transformer 算法模型等技术,功能更加强大。

因为还处于测试阶段,最初只有少数“专业而谨慎驾驶”的用户能够体验到 FSD Beta。直到去年11月,特斯拉才向北美所有已购买的用户推送 FSD Beta 功能。

科技行业与汽车行业的理念冲突

马斯克不同意 NHTSA 用“召回”来描述特斯拉的软件升级,认为这个词造成了不好的影响。这其实是汽车行业与科技行业理念冲突的表现。

在汽车行业,“召回”是指按照法定的要求和程序,由缺陷汽车产品制造商进行的消除其产品缺陷的过程。

按照这个定义,特斯拉通过软件升级来修复 FSD Beta 的缺陷,确实可以算是“召回”。

但是从科技行业的角度来说,持续的迭代升级是产品的显著特点。软件产品最初都或多或少存在一定的缺陷或者 bug,通过升级来修补缺陷、强化功能是再正常不过的事情。

传统汽车行业要求出厂的产品是完善的、没有安全隐患的;而科技行业则允许半成品上市,在后期通过数据收集和用户反馈持续改进升级。

造成这种理念差异的原因很简单:汽车行业对安全的要求极高,而科技行业的产品一般不会威胁到用户的生命安全。

再举个通俗的例子吧,近期最火的科技产品 ChatGPT 虽然极为强大,但是在很多问题上也会犯事实性的错误,瞎编一个答案。

这并不影响科技行业将ChatGPT视为颠覆性的产品,几乎所有头部公司都在跟风。

自动驾驶的颠覆性远在 ChatGPT 之上,但是在安全上一旦出问题就意味着毁灭性的打击。

2020 年,Uber 的自动驾驶测试车发生事故导致路人死亡,直接导致Uber放弃自动驾驶的研发,把整个部门打包出售。

用公共资源做测试,特斯拉占便宜没够

客观上来讲,马斯克对 NHTSA 的反驳挺没道理的。

如果是特斯拉自己发现了 FSD Beta 系统的问题,并及时通过 OTA 升级来解决,那自然不能叫“召回”。

但这次是作为监管机构的NHTSA发现了 FSD Beta 的问题,并要求特斯拉去解决,称之为“召回”完全没毛病。

在与监管机构的博弈当中,特斯拉真的有点占便宜没够。

特斯拉开发自动驾驶技术的核心理念,是通过收集真实用户的行驶数据,来训练自动驾驶算法。

为此,特斯拉会将并不完善的自动驾驶软件推送给用户,用公共资源来做测试。

而竞争对手往往需要花费巨资组建规模庞大的测试车队,在特定道路内进行测试,不论是数据的规模还是质量都无法与特斯拉相比。

特斯拉在自动驾驶技术上确实处于领先的地位,但特斯拉也确实钻了监管部门的漏洞,给交通安全带来了更多的隐患。

写在最后

2021年10月,美国政府任命杜克大学教授米西·卡明斯(Missy Cummings)为 NHTSA 的安全高级顾问。

卡明斯教授对于特斯拉的自动驾驶软件一向持批评态度,在她上任后,NHTSA 对特斯拉的调查就增加了。

在今后的很长一段时间里,特斯拉都将面临更加严格的监管。作为全球最高市值的车企,特斯拉在汽车安全理念方面确实该补补课了。

更多精彩原创内容请关注微信公众号:智能车指北

想了解更多关于汽车的内容,请访问:​

​51CTO 汽车开发者社区​

​https://icv.51cto.com/​

有关特斯拉在美召回36万辆,马斯克怒喷监管的更多相关文章

  1. ruby-on-rails - 脚本/服务器 custom_require.rb :36:in `require' : cannot load such file -- test/unit/error (LoadError) - 2

    我有一个基于1.8.7构建的应用程序,我正尝试在1.9.3的系统上启动它当我运行脚本/服务器时,我得到:/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--test/unit/error(LoadError)from/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'我的服务器脚本如下所示:#!/usr/bin/envrubyrequireFile.expand_path('../.

  2. ruby - 摘要的 Base-36 表示 - 2

    我希望能够获取任意字符串,通过哈希函数(如MD5)运行它,然后以base-36格式解释生成的摘要。我知道Ruby中已经存在一个Digest库,但据我所知我无法获取摘要的原始字节;to_s函数映射到hexdigest,当然是base-16。 最佳答案 Fixnum#to_s接受一个基数作为参数。string#to_i也是如此。因此,您可以将base-16字符串转换为int,然后再转换为base-36字符串:i=hexstring.to_i(16)base_36=i.to_s(36) 关于r

  3. ruby - custom_require.rb :36:in `require' : no such file to load -- myapp(LoadError) - 2

    我收到上述错误,我所做的只是安装rvm并从您使用mac获得的默认ruby​​更新到ruby​​1.9.2。我所有的gem都出现在gem列表中,但我需要在某处指定路径吗?干杯,格伦诺。 最佳答案 检查你是否安装了gemsgemlist如果没有,照常安装geminstallwhatever或者如果你想要特定版本geminstallwhatever-v1.2.3或者如果你的项目中有bundler(即Rails),它只是bundleinstall如果您拥有所有的gem,那么这可能是一个本地文件,并且您可能来自Ruby版本$LOAD_PATH

  4. javascript - 未捕获的 RangeError : Invalid array length in Chrome version 36. 0.1985.5 dev -m - 2

    我有一个谷歌地图API设置Here,并且只有GoogleChrome会抛出“未捕获的RangeError:无效的数组长度”。这里是有问题的代码:varmap;varphoenix=newgoogle.maps.LatLng(33.551946,-112.109985);varlocOne=newgoogle.maps.LatLng(33.541061,-112.293369);varlocTwo=newgoogle.maps.LatLng(33.37738,-111.833271);varlocThree=newgoogle.maps.LatLng(33.454742,-112.099

  5. javascript - 为什么 .toString 范围限制为 36? - 2

    也许这是一个蹩脚的问题,如果是这样,我真诚地道歉。对我来说,我遇到了一个有趣的挑战。ClickMefunctionmyFunc(){varn=15vara=n.toString();//outputs15varb=n.toString(2);//outputs1111varc=n.toString(9);//outputs16vard=n.toString(18);//outputsfvare=n.toString(36);//outputsfvartotal=a+""+b+""+c+""+d+""+e;document.getElementById('test').innerHTML

  6. 【微服务36】分布式事务Seata源码解析四:图解Seata Client 如何与Seata Server建立连接、通信【云原生】 - 2

    文章目录一、前言二、概述三、TM事务管理器初始化1、TM初始化流程图2、TM初始化流程1)获取TmNettyRemotingClient实例1>TmNettyRemotingClient实例化2>AbstractNettyRemotingClient实例化2)初始化TmNettyRemotingClient1>注册一些请求处理组件2>初始化AbstractNettyRemotingClient(1)AbstractNettyRemoting初始化(2)启动netty客户端组件Abs

  7. javascript - NodeJS - 将 ~36MB 文件上传到 VirusTotal 失败 - 2

    我正在尝试使用请求在NodeJS中使用他们的公共(public)API将36MB的zip文件上传到VirusTotal。我目前在尝试上传时遇到了这个问题,但不知道下一步该怎么做才能解决它。他们的API没有规定任何文件大小限制,他们的前端uploader指定了128MB的上传限制。413RequestEntityTooLargeError:RequestEntityTooLargeYourclientissuedarequestthatwastoolarge.代码简单明了,但真的不知道如何修复它。任何帮助表示赞赏。varrequest=require('request');varfs=r

  8. Javascript:toString(36) 用于大整数 - 2

    15955067621307336078.toString(36);在Javascript中返回'3d7vzfy5k2as8'因为无法表示大整数(正确答案是'3d7vzfy5k29ou')。有没有人有一个聪明的函数,将一个大整数作为字符串并将其转换为基数36? 最佳答案 使用thisBigIntclass,它允许将任意大的整数转换为2到95之间的任意基数。使用bigInt2str()方法执行转换。 关于Javascript:toString(36)用于大整数,我们在StackOverfl

  9. javascript - 使用新的运算符——来自 John Resig #36 - 2

    下面的示例代码是JohnResig的LearningAdvnacedJavaScript中的#36。http://ejohn.org/apps/learn/#36ItiscalledWeneedtomakesurethenewoperatorisalwaysused.六个问题-如果您能提供尽可能详细的信息,我将不胜感激1)functionUser是否真的在这段代码中调用过?我注意到当它说assert(user...)时,user是小写的。如果函数被调用,如何调用?当它断言变量user时它会被调用吗,它附加了一个函数调用,即User("John,"name)2)如果我假设函数User从未

  10. javascript - 将 36 进制转为 BigInt? - 2

    假设我想将base-36编码的字符串转换为BigInt,我可以这样做:BigInt(parseInt(x,36))但是如果我的字符串超过了safelyfitinaNumber的范围怎么办??例如parseInt('zzzzzzzzzzzzz',36)然后我开始失去精度。有没有直接解析成BigInt的方法? 最佳答案 您可以将数字转换为bigint类型。functionconvert(value,radix){return[...value.toString()].reduce((r,v)=>r*BigInt(radix)+BigIn

随机推荐