과거에는 운전자의 실수가 거의 대부분이였지만,
전자식 제어장치 이후는...ECU 관련성을 무시할 수 없죠.
美 "10년간 도요타 급발진사고 사망 34명" 제소
[단독]"도요타 급발진은 SW 결함이 원인" 도요타 조사 보고서 파장
20일 전자신문이 단독으로 입수한 바(BARR) 그룹의 도요타 급발진 조사보고서에 따르면, 캠리의 엔진 스로틀 컨트롤 시스템(ETCS)의 SW 결함이 급발진을 일으켰다. 보고서는 ETCS 전자제어장치(ECU)에 내장된 SW에 오류(버그)가 있었고, 오류가 있더라도 이를 커버해주는 방어수단(fail safes)도 작동하지 않았다고 지적했다.
http://www.etnews.com/20140320000188
-------------
도요타가 ECU결함으로 사망사고가 급증하자..
.
매트, 운전자 과실로 뒤집어 씌우면서..
"호갱님아...님 과실이예요"를 시전하다가.
재판과정에서 ECU결함으로 판정나면서...거액의 배상금을 물어주게 됩니다.
2.양산과정에서의 불량품 or 랜덤 노이즈
둘의 성격은 완전히 다릅니다.
2번은 발생할 수 있지만, 풀스로틀 + 제동불가의 2가지 로직이 동시에 오동작할 확률이 거의 없습니다. 특정 한 비트가 에러 났을때 폭주하도록 1번의 버그가 있다고 봐야겠죠. 현실에서 둘 중 하나의 현상만 단독으로 발생한 사례는 거의 못 들어봤는데 둘이 조합된 사례는 대부분의 급발진에서 공통점입니다.
그렇다면 급발진은 양산품질이 아닌 설계의 관점으로 봐야합니다.
급발진이 발생한다면 발생한 차 수리해봐야 그 위험은 동일 펌웨어가 들어간 모든 차가 동일하게 갖고 있다 의심해야 합니다. 그게 아니라면 휴먼에러로 밖에 설명이 안됩니다.
이정복님은 2번에 의한 급발진 주장을 미신이라 생각하신게 아닐까 하고 추측해 봅니다.
리누님 혹시 전자 전공하시면 메모리나 반도체쪽 부품에 정밀도나 신뢰도에 대해서 아실텐데요.
전 자동차 업체가 원가 절감을 위해 신뢰도 낮은 전자 부품을 사용하면서 floating error같은게 부품 단위에서 발생한다고 생각합니다.
전 시작을 의료기 업체에서 시작했지만, 당시 제가 다니던 회사에서 만들던 부품도 원인 모를 고장으로 골머리를 앓았었는데 알고보니 저가 rom에서 무작위적으로 코드 에러를 만들어 냈던게 문제였었습니다.
SW에서도 로직 동작을 모두 알수없는건 마찬거지에요.
그리고 연산오류로 발생한 최종결과물이 오류일 때, 오류 발생률이 1/1000짜리가 겹쳐 발생하려면 1/100000 확률이고. 그 동안 A오류와 B오류는 1000회씩 관측 되어야 하죠. 그런데 A오류(풀스로틀) 관측빈도 + B오류(스로틀차단실패) 관측빈도보다 A*B오류가 관측되었다(급발진) 주장이 월등히 많습니다.
부품 단위에서 연산 오류로 급발진을 설명하는 두가지 오류가 모두 발생한다는 주장은, SATA 케이블의 품질이 음색을 바꾼다는 주장과 맞먹는다고 봅니다. 소리가 깨지는 현상은 낼 수 있지만 여러 bit들을 동시에 shift 시키는건 확률적으로 어렵죠.
100여명 이상의 사망자를 냈다는 논란의 도요타의 급발진은.
ETCS의 소프트웨어 버그였다고 증명이 되었죠.
다만, 하드웨어 적인 부분도..EDAC가 탑재되었다고 이야기 했지만...실제로는 원가절감으로 사용하지 않은 것으로 밝혀졌죠.
예전에 어느 글에서 읽기로,
우리나라 원전은 제어에 실패하면 멈추는 방식, 일본은 제어에 실패하면 폭주하는 방식이라고 하던데요. 사실관계는 확실치 않습니다만, 자동차라면 오류가 났을때 멈추도록 + 브레이크는 다른 모든 제어 명령에 우선하도록 설계하는게 필수가 아닐까요. 그게 안되어 있는 하드웨어는 전수 리콜해야죠.
저도 그건 아는데요, 그렇다고 그게 정말로 6 sigma를 보장해 준다고 보기 어렵지 않나 싶습니다.
6 시그마면 거의 백만대당 4대 꼴인데 (사실 그정도도 대단한거긴 하지만요) 이게 t=0 상에서 검출이 안되는 상황도 있기에 전 전자 계통에 의한 급발진은 100% 막기 힘들지 않나 생각해 봅니다.
제 경험에 의하면 그렇게 단순한 오류가 나는게 아닙니다.
그냥 엉뚱한 코드가 실행되는 것과 같다고 보시면 됩니다. fail safe를 넣어놔도 그 코드가 아예 작동하지 않을 수도 있어요.
신차가 양산되면서도 코두 수정은 계속 되어요.
완전자율주행에는 완전무결을 바라는 분들이 많고, 반자율 주행조차 신뢰하지 못하는 분들이 많던데요. 기본적인 전자제어도 그 정도로 통제가 불가능한 수준이면 차를 전자제어로 만들어 팔면 안되죠.
윈도우가 PC단에서 컨트롤하는 디바이스의 종류가 몇개나 되나요..
자동차가 컨트롤 하는 디바이스의 종류가 PC많을까요 적을까요.. 부품수만해도 자동차가ㄷㄷ
각 디바이스를 제어하는 정보량 자체가 크니 메모리도 더크고 이런거라는 이야기이신데.
일단 자동차는 동작조건이 영하 40~영상80에서 신뢰선 만족하는 반도체로 (PC보다 높은 사양이 아니라는 이야기)
더많은 수의 인풋디바이스에서 더많은 수의 아웃풋 디바이스를 연계 조합 수행해야 하죠.
자동차의 부품에 대응하는 개별 부품 제어를 따지고 들면, 그래픽카드 하나가 매초 수십번씩 독립적으로 제어해야 하는 픽셀 개수는 수백만개가 넘습니다. 엔진 하나로도 수많은 부품의 조합이듯, PC에 쓰이는 부품 하나도 수 많은 논리회로들의 조합이죠.
자동차에서 더 가벼운 하드웨어로 더 적은 연산을 수행한다는 이야기는 결국 오류가 발생할 빈도가 더 낮다는 이야기이기도 하고요. 어느게 더 어려운 기술이냐를 이야기 하는게 아닙니다. 경우의 수, 확률 이야기죠.
이중 삼중으로 악재가 겹치고 도쿄전력의 머저리 짓이 최악의 참사로 이어진거죠..
다만, ECU 결함으로 엔진 풀스로틀은 발생할 수 있다고 봅니다. 전자식이 아니던 시절에도 스로틀 밸브 고착 등으로 인한 엔진 오작동은 심심치않게 있었고요.
급발진 과거
기계적 결함, 오작동
급발진 현재
기계적 결함, 오작동 + ECU결함
이죠.. 급발진 = ECU결함으로 몰고가서도 안되지만...현재는 의심가능한 팩트 중에 하나이죠.
브레이크 부스터는 엔진 흡기에서 발생하는 진공을 이용하거나 진공펌프를 사용하는데요. 자연흡기 휘발유 차량은 스로틀이 닫히고 엔진이 도는 상태에서 생기는 진공으로 부스트를 채우고, 디젤은 스로틀을 항상 열어두고 연료로 rpm을 조정하니 진공이 생기지 않아 진공펌프를 사용한다고 알고 있습니다. 과급차량의 경우에도 휘발유 차량이라도 진공 펌프가 있는 차량이 있다고 들었습니다.
아무튼 급발진의 상황에서 스로틀이 다 열려버리면 브레이크부스트가 채워지지 않을텐데 이 상태에서 브레이크 밟아봐야 효과가 없었을 것 같아요. 브레이크 부스터 호스가 터진 경험이 있는데, 발로 밟아서는 크립핑 하고 있는 차도 겨우 세울정도로 제동력이 형편없었거든요.
특정 작업을 하면 특정 폴더 데이터가 지워지는 버그가 있다고 합시다..
그 버그는 note만세의 코드가 잘못되서 나오는 버그죠.
그럼 이걸 AMD시퓨의 문제라고 할 수 있을까요? AMD시퓨가 올라간 모든 컴퓨터에서 나오는 버그도 아니죠.
그냥 note만세의 버그일 뿐입니다.
마찬가지로 그 문제는 토요타의 버그일 뿐이지, 급발진 전부 ECU가 문제가 있다는 근거가 되긴 어렵습니다.
1. ECU는 HW+SW 통합해서 지칭합니다.
2. 그리고 토요타 외에도 ECU fault로 인한 급발진 사례가 있구요...
고객이 급발진이라고 주장한다 != 실제로 급발진이 맞다
급발진이 발생했다 != ECU가 원인이다
긴 하지만...
ECU로 인해 급발진이 발생 할 수 있는 건 사실이지요...