草庐IT

特斯拉再次“失控”,罪魁祸首也许是单踏板模式

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

​51CTO 开源基础软件社区​

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

特斯拉发生事故导致 2 死 3 伤,是刹车失灵自动加速,还是车主踩错踏板?

这两天,一段车祸监控视频将特斯拉再次推上了风口浪尖。在视频中,一辆特斯拉 Model Y 在狭窄国道上高速行驶,不时做出惊险的避让动作,但还是因为过快的车速先后撞上多辆摩托车、自行车,最后撞到路边的卡车才停下来。

这起骇人的事故发生于 11 月 5 日上午 7 点前后,地点在广东省潮州市饶平县,造成了 2 人死亡,包括车主在内的 3 人受伤。

事后车主的家属通过社交媒体发声,表示事件发生时车辆出现了异常:“踩下制动踏板时发现制动踏板很硬无法停车”、“按下 P 档车也没有停下来”,“车子突然加速,中途猛踩刹车毫无作用,车速越来越快”。而车主驾驶经验丰富、状态良好,“曾经是职业货车司机,这辆电动车平时都是他在使用,当时精神明朗没有醉驾,毒驾”。

车主方面的意思很明确,事故的责任不在司机,完全是因为这辆特斯拉 Model Y 出现了刹车失灵、自动加速的问题,才导致悲剧的发生。

刹车失灵、自动加速,特斯拉早有“前科”

对于这样的指控,特斯拉并不会感到陌生。

在美国,NHTSA(美国高速公路安全管理局)已收到数百例关于特斯拉“自动加速”、“幽灵刹车”的投诉,但调查的结论是特斯拉的动力、刹车和踏板系统并不存在质量问题,也没有证据表明设计因素会增加踏板误用的可能性。

在中国,2020 年 8 月浙江温州一辆特斯拉 Model 3 连撞 14 辆车后空中翻滚落地,车主虽然捡回一条命,但是肠道截断 30cm,他坚称车辆“自动加速”、“刹车失灵”;2021 年上海车展期间一位女车主站上特斯拉展车进行维权,引发了巨大的争议,让更多的人听说特斯拉除了会“自动驾驶”,还会“自动加速”、“刹车失灵”。

不过,法院在调查之后并不支持这些车主的维权主张,反而判决他们向特斯拉道歉、赔偿。

本次事故分析,踩错踏板可能性更大

这次广东潮州的事故比起之前的几起特斯拉“失控”事故更加惨烈,事故的原因会不会有所不同呢?

有媒体就这起事故采访了特斯拉中国相关负责人,得到的回复是:“从现有事故视频可以看出,车辆高速行驶过程中刹车灯长时间没有点亮。这和后台数据反映的情况吻合:

(1)车辆电门被长期深度踩下,并一度保持 100%;

(2)全程没有踩下刹车的动作;

(3)行驶期间驾驶员四次短暂按下 P 档按钮,又快速松开,同时制动灯也快速点亮并熄灭。”

也就是说,特斯拉在分析后台数据之后,认为司机误将加速踏板当成了刹车踏板,导致车辆持续加速,从而引发了事故。

站在普通人的角度来看,特斯拉关于这类“自动加速”、“刹车失灵”事故的解释确实有点匪夷所思,一个有经验的司机为何会在几分钟里持续踩错踏板而不自知?

尤其是在这起事故当中,车主多次做出避让动作,并且还按下了 P 挡按键,显示出他当时还是比较冷静的,他会踩错踏板吗?该不会是特斯拉真的有问题吧?

但是客观上来说,在汽车的底盘系统里,刹车的优先级是最高的,驾驶员同时踩下刹车踏板和加速踏板,起作用的一定是刹车。

即便特斯拉缺乏造车的底蕴,也不至于在这样基础的设计上出错。能够让“刹车失灵”和“自动加速”同时发生的,只可能是踩错踏板。

另外,我们也不要过高估计了普通人在紧急状况下的应变能力,紧张、慌乱都有可能让我们暂时丧失判断力,并产生不可靠的记忆。

相比之下,记录着车辆加速、刹车、转向等数据的“黑匣子”EDR(汽车事件数据记录系统,Event Data Recorder )无疑更加可靠一些,能够帮助我们还原事故的原貌。

深层原因,单踏板模式导致事故频发?

从目前掌握的信息来看,11 月 5 日广东潮州的这起事故很有可能是车主误操作导致的。但是特斯拉多次出现类似的事故,说明其车辆设计多少还是存在一定的问题,比如“单踏板模式”。

在一般的汽车上,踩下加速踏板车辆加速,松开加速踏板车辆滑行或者轻轻减速。而在单踏板模式的特斯拉上,松开加速踏板,车辆会出现明显的减速。

这时候起到制动作用的并不是刹车,而是能量回收系统(回收制动能量,为电池充电)。单踏板模式有助于降低能耗、提升续航里程,但是也会影响舒适性,并对司机的驾驶习惯带来一定的影响。

当习惯了单踏板模式之后,在驾驶员的思维里,加速是踩下踏板,减速是松开踏板。需要紧急刹车的时候,驾驶员回过神来需要猛踩踏板,至于踩哪个踏板,也许在那一瞬间就有点迷糊不清了。

在过去几年里,由于特斯拉面对车主维权的傲慢态度,特斯拉“刹车失灵”、“自动加速”问题不断发酵,已经成为了一个梗。

同时,单踏板模式导致车主多少会因为不适应而遇到一些问题。当问题严重时,“刹车失灵”、“自动加速”就成为了最好的借口。也许,特斯拉该考虑改改单踏板模式了。

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

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

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

有关特斯拉再次“失控”,罪魁祸首也许是单踏板模式的更多相关文章

  1. ruby - 将 STDOUT 输出到文件并再次返回 - 2

    我使用以下代码将STDOUT路由到一个文件:STDOUT.reopen(File.open("./OUTPUT",'w+'))现在我需要再次将STDOUT路由到终端。我该怎么做? 最佳答案 已更新orig_std_out=STDOUT.cloneSTDOUT.reopen(File.open('OUTPUT','w+'))puts"testtofile"STDOUT.reopen(orig_std_out)puts"testtoscreen" 关于ruby-将STDOUT输出到文件并再次

  2. ruby 弦使用rust 并再次使用rust - 2

    我正在尝试将Ruby中的字符串传递给Rust可执行文件,对其进行操作并将操作后的字符串传回。到目前为止,我可以传入字符串并返回它,但我不知道如何将它转换为使用rust字符串,对其进行操作,然后将其传回ruby​​。这是我目前所拥有的://lib.rsusestd::ffi::CStr;#[no_mangle]pubexternfnreturn_string(test_str:&CStr)->&CStr{//workingfuncitontest_str}#[no_mangle]pubexternfnmanipulate_and_return_string(mystr:&CStr)->&

  3. ruby-on-rails - 如何在不删除所有较新迁移的情况下再次运行迁移? - 2

    我刚刚安装了devise,所以除了一个用户(我)之外,该表上没有任何数据。我又重新做了一遍数据库,所以我放弃了它。我使用railsgscaffold生成6个新模型和Controller,并使用rakedb:migrate在我的/db/migrate目录中,我有一个文件名为20130603211907_devise_create_users.rb的设计文件这里是问题所在:如果我执行rakedb:migrate:downVERSION=20130603211907,它将删除所有新的迁移。如何在不删除所有较新的迁移的情况下再次运行迁移? 最佳答案

  4. ruby-on-rails - Rails 在 ActiveRecord::Relation 对象中查找记录而无需再次查询数据库 - 2

    我想在ActiveRecord::Relation对象中找到一个特定的记录,这样我就可以获取该记录的属性。下面的代码有效,但问题是它再次使用find_by语句访问数据库。它不应该。Rails应该有一种方法可以在ActiveRecord::Relation对象中找到该对象,而不必再次查询数据库。#returnsanActiveRecord::Relationobject@blogs=Blog.all#SearchfortheblogwithinthatActiveRecord::Relationobject,NOTthedatabase@blogs.find_by(id:1).title

  5. ruby-on-rails - accepts_nested_attributes_for的替代方法-也许是virtus - 2

    我对rails比较陌生,最终找到了正确的使用accepts_nested_attributes_for的方法。然而,网络上有一些严肃的资源说,使用accepts_nested_attributes_for通常是一种不好的做法(比如这个one)。要避免accepts_nested_attributes_for需要做哪些更改,以及将附加类文件放在哪个文件夹中(我想需要一个附加类)。我读到virtus适合这个。对吗?下面是一个仍然使用accepts_nested_attributes_for的非常基本的示例(查找完整的示例here):模型classPerson控制器classPeopleCo

  6. Ruby:如果更改了文件,则再次需要一个文件 - 2

    我写了一个在config/中查找配置文件的gem。这工作正常,但如果用户更改任何配置,他们必须停止程序并在我的gem加载新配置之前重新启动它。这将要求他们在每次更改时重新启动整个Rails应用程序,这并不理想。有没有办法“重新要求”一个文件,以便它重新加载它而不是使用缓存的版本。 最佳答案 您可以使用load代替require。这将加载文件,而不管它之前是否已经加载过。请注意,对于load,您需要指定.rb扩展名,它对于require是可选的。所以require"path/to/myconfig"变成了load"path/to/my

  7. javascript - x 秒或页面更改后再次隐藏警告消息 - 2

    我是Angular的新手,现在我可以在有人从我们的应用程序请求新密码时显示警告消息:用户模型:.service('userModel',['$q','$http','authorizedTracker',function($q,$http,authorizedTracker){this.passwordreset=function(token){vardeferred=$q.defer();$http({method:'GET',url:'/reset/'+token}).then(function(response){if(!_(response.data).has('user'))

  8. javascript - Angular 2-再次单击routerLink时重新加载组件 - 2

    我正在处理具有以下文件结构的Angular2项目。HeaderComponent.tsAppComponent.tsPage1Component.tsPage2Component.ts我的HeaderComponent.ts中有以下模板WebSiteNameHomePage1Page2在我的AppComponent中使用以下路由@Component({selector:'my-app',template:``,directives:[ROUTER_DIRECTIVES,HeaderComponent]})@Routes([{path:'/',component:HomeComponen

  9. javascript - Backbone.js 中的可选路由参数? (再次) - 2

    我正在尝试在Backbone0.9.10中设置路由。我想匹配以下类型的路由:/england//england/birmingham/france/france/paris...等这是我目前在路由器中的内容:varAppRouter=Backbone.Router.extend({routes:{"":"index","(/:country)":"index","(/:country)(/:city)":"index"},index:function(country,city){console.log('index',country,city);}});varStateApp=newA

  10. javascript - 使用 localStorage() 在模态上保存 "closed"状态,因此它不会再次显示给该用户 - 2

    我有一个弹出模式,我在加载时加载到我的页面上,我想在它关闭后不再为该用户显示。我用localStorage();做过类​​似的事情,但出于某种原因无法弄清楚使这项工作起作用的语法。我尝试了一个设置类的解决方案,但在刷新时它将重新加载原始元素,所以现在我正在尝试这个想法,我将模态的状态更改为“已访问”。有什么想法可以让我以我希望的方式工作吗?localStorage函数:$(function(){if(localStorage){if(!localStorage.getItem('visited')){$('.projects-takeover').show();}}else{$('.p

随机推荐