在本次技術(shù)沙龍中,來自Apollo團(tuán)隊(duì)計(jì)算平臺(tái)的資深研發(fā)工程師-楊凱老師帶了關(guān)于Apollo 3.0功能安全的講解。
這里,我們將整理后的內(nèi)容分享給大家,沒能到達(dá)現(xiàn)場的開發(fā)者可以通過以下內(nèi)容資料來詳細(xì)了解課程內(nèi)容。
演講概要:
安全是自動(dòng)駕駛前行的保障,尤其是對(duì)于 L4 級(jí)別的自動(dòng)駕駛系統(tǒng),功能安全更是一個(gè)全新的領(lǐng)域與挑戰(zhàn)。本演講將分享 Apollo 在功能安全方面的探索。
Apollo 3.0 功能安全
1功能安全是什么
在2017年以前,百度在無人車領(lǐng)域主要考慮的是無人駕駛的主系統(tǒng)。主系統(tǒng)主要指感知、定位、規(guī)劃、控制等幾個(gè)主要方面。2017年以后,無人車進(jìn)入量產(chǎn),功能安全成為一個(gè)重要的課題。主要問題是如何在路上不發(fā)生碰撞,是我們?cè)谝荒陼r(shí)間這是主要探索方向。
為什么要做功能安全?這是自動(dòng)駕駛的幾次事故,其中比較嚴(yán)重的一次是2018年3月18日美國Uber碰撞事件,導(dǎo)致人員死亡,另外還有Google等其他無人駕駛的事故。但中國每年都有數(shù)萬人在車禍中喪生,長遠(yuǎn)看,無人駕駛可以減少這一數(shù)字。
為什么自動(dòng)駕駛系統(tǒng)會(huì)造成事故呢?自動(dòng)駕駛系統(tǒng)是由軟件和硬件研發(fā)組成,硬件包括車輛、傳感器限速等等,軟件主要包括地圖、感知、規(guī)劃、定位等等。而軟件是有缺陷率的,軟件的缺陷率有兩種,一種是Bug率,一種是程序輸出的結(jié)果非預(yù)期,包括精確度、感知度和算法等,另外還有延遲,都有可能會(huì)造成事故。
硬件方面,除了有車企事故、傳感器故障,還有功能機(jī)的故障、限速的故障。車輛安全法規(guī)要求車輛上的電子電氣系統(tǒng)具備功能安全,對(duì)于使用了AI技術(shù)的復(fù)雜的自動(dòng)駕駛系統(tǒng),安全要求更為嚴(yán)格謹(jǐn)慎。尤其是對(duì)于無人駕駛的車輛,需要自動(dòng)駕駛系統(tǒng)在自身或者車輛發(fā)生故障時(shí)能夠安全控制車輛。
首先,我們需要了解下功能安全是什么?無人車主要分為兩大塊,一是網(wǎng)絡(luò)安全,指不被黑客竊取,比如黑客竊取了駕駛軟件信息會(huì)造成危險(xiǎn);二是功能安全,在整個(gè)無人車生命周期內(nèi),在整個(gè)軟硬件系統(tǒng)中的所有零部件都系降低到風(fēng)險(xiǎn)。還有就是構(gòu)建功能安全系統(tǒng),預(yù)知故障,降低風(fēng)險(xiǎn)水平。
2功能安全如何做
具體來說,我們采用電子電器行業(yè)標(biāo)準(zhǔn)ISO26262。在全方面落實(shí)ISO26262搭建安全流程的同時(shí),系統(tǒng)地分析解決系統(tǒng)風(fēng)險(xiǎn)點(diǎn),把風(fēng)險(xiǎn)點(diǎn)解決在系統(tǒng)搭建的時(shí)候。此外,在局部上建立無人駕駛安全系統(tǒng),召回軟硬件故障,建立安全防線。
ISO26262是國際標(biāo)準(zhǔn)化組織(ISO)2011年公告最新車電系統(tǒng)之功能安全國際標(biāo)準(zhǔn)。
ISO26262涵蓋車輛整個(gè)生命周期,稱為安全生命周期(Safety Lifecycle),由管理、開發(fā)、生產(chǎn)、經(jīng)營、維修至報(bào)廢皆有相應(yīng)的要求,本標(biāo)準(zhǔn)包含十個(gè)章節(jié),計(jì)有Part 1名詞解釋(Vocabulary)、Part 2功能安全管理(Management of Functional Safety)、Part 3概念階段(Concept Phase)、Part 4產(chǎn)品開發(fā)在系統(tǒng)層級(jí)(Product Development at the System Level)、Part 5產(chǎn)品開發(fā)在硬件層級(jí)(Product Development at the Hardware Level)、Part 6產(chǎn)品開發(fā)在軟件層級(jí)(Product Development at the Software Level)、Part 7生產(chǎn)與操作(Production and Operation)、Part 8支持流程(Supporting Processes)、Part 9車輛安全完整性等級(jí)導(dǎo)向與安全導(dǎo)向分析(Automotive Safety Integrity Level-oriented and Safety-oriented Analyses)、Part 10 ISO 26262指南(Guideline on ISO 26262)。
SOTIF是預(yù)期功能的安全性標(biāo)準(zhǔn),預(yù)計(jì)2021年正式發(fā)布標(biāo)準(zhǔn),是后續(xù)功能安全的主要標(biāo)準(zhǔn)。SOTIF和ISO26262的主要區(qū)別是什么呢?ISO26262更強(qiáng)調(diào)系統(tǒng)失效,軟件出錯(cuò),程序的故障可以被認(rèn)為是系統(tǒng)失效。而SOTIF更加注重技術(shù)的缺陷及系統(tǒng)相關(guān)定義。如圖像識(shí)別的精度,雷達(dá)的抗干擾性。另外,由于功能傳感邏輯不合理,導(dǎo)致規(guī)劃的失敗,也屬于SOTIF的范圍。功能安全要結(jié)合ISO26262和SOTIF。
那么如何落實(shí)ISO26262呢?上圖是ISO26262的介紹,ISO26262把整個(gè)生命周期分為三個(gè)階段,黑線以上是概念階段,中間部分是產(chǎn)品開發(fā)階段,最后是產(chǎn)品交付階段。
ISO26262的第一章主要介紹基本概念,第二章介紹功能安全管理,第三章介紹概念管理,第四章介紹產(chǎn)品開發(fā),第五章介紹硬件開發(fā),第六章介紹軟件。ISO26262主要基于項(xiàng)目定義,然后在HARA基礎(chǔ)上做危險(xiǎn)分析和做風(fēng)險(xiǎn)評(píng)估,再做安全目標(biāo),然后產(chǎn)生功能安全需求和技術(shù)安全需求。舉個(gè)例子,比如現(xiàn)在場景是車輛啟動(dòng),車輛啟動(dòng)的時(shí)候需要分析啟動(dòng)時(shí)的碰撞風(fēng)險(xiǎn),提出HARA啟動(dòng)風(fēng)險(xiǎn),Safety goals是系統(tǒng)風(fēng)險(xiǎn),F(xiàn)SR是功能安全需求的盲區(qū),避免加速。然后提出TSR,比如硬件傳感去覆蓋區(qū)域,再到軟件區(qū)域,前方的感知要覆蓋到前方安全區(qū)域。
針對(duì)ISO26262,Apollo對(duì)整個(gè)系統(tǒng)流程進(jìn)行了分工和重新定義。首先是產(chǎn)品經(jīng)理對(duì)整個(gè)系統(tǒng)進(jìn)行全新定義,接著安全架構(gòu)師進(jìn)行系統(tǒng)分析和風(fēng)險(xiǎn)評(píng)估,然后系統(tǒng)架構(gòu)師設(shè)計(jì)搭建軟件系統(tǒng)和硬件系統(tǒng),最后進(jìn)入研發(fā)階段。目前我們的流程已經(jīng)通過了ISO26262的認(rèn)證。
介紹一下Waymo的方案, Elektrobit,NVIDIA的安全方案,可以看出,主要是通過冗余來提升系統(tǒng)的安全性。
冗余的方案在ISO26262中里面也有支持,ISO26262會(huì)將所有的安全等級(jí)分為ASILA、B、C、D等級(jí)。
ASIL可作為產(chǎn)品開發(fā)之安全目標(biāo)。ASIL由嚴(yán)重度(Severity)、暴露機(jī)率(Probability of Exposure)與可控度(Controllability)決定,等級(jí)分為QM(Quality Management)與ASIL A至D五種,QM等級(jí)無須適用ISO 26262。
這里我們要講到冗余的一個(gè)反例,共因失效。冗余系統(tǒng)(或容錯(cuò)系統(tǒng))優(yōu)點(diǎn)是當(dāng)一個(gè)模塊發(fā)生失效時(shí),由于容錯(cuò)系統(tǒng)同時(shí)配有兩個(gè)以上相同的模塊,所以可以避免系統(tǒng)發(fā)生失效。但是,共因失效的出現(xiàn)抵消了冗余系統(tǒng)的優(yōu)點(diǎn),當(dāng)一個(gè)單獨(dú)的應(yīng)力導(dǎo)致兩個(gè)以上相同的模塊同時(shí)發(fā)生故障,那么冗余系統(tǒng)也會(huì)發(fā)生故障來提高強(qiáng)度。設(shè)計(jì)特點(diǎn)都會(huì)增加強(qiáng)度。元器件失效率低的系統(tǒng),共因失效率也低。
多樣性強(qiáng)調(diào)兩個(gè)算法,比如業(yè)界比較流行的算法是CNN,機(jī)器學(xué)習(xí)。但是機(jī)器學(xué)習(xí)算法有個(gè)缺陷,沒有學(xué)習(xí)過的東西識(shí)別不出來,所以會(huì)造成一個(gè)問題——它進(jìn)行學(xué)習(xí)的大部分都是路上經(jīng)常遇到的物體,比如人、車的交通案例,但是對(duì)于一些類似小石坑的識(shí)別不處理。但是可以用MST算法多樣性布線,避免發(fā)生交規(guī),用強(qiáng)化設(shè)計(jì)和測試去避免存在問題。
3功能安全子系統(tǒng)
這是功能安全的主系統(tǒng)思路。把系統(tǒng)比成一個(gè)人,感知是大腦,控制是手和腳。它的心臟有反應(yīng),就無法駕駛車輛,有安全風(fēng)險(xiǎn)。反應(yīng)慢,也有可能造成安全風(fēng)險(xiǎn)。假如現(xiàn)在這個(gè)人是健康的,但也有可能錯(cuò)誤決定造成安全隱患,比如突然右轉(zhuǎn)。處理方法就是做故障檢測,故障檢測之后會(huì)進(jìn)行故障處理,分等級(jí)處理,第一個(gè)等級(jí)警告。然后,就是減速,系統(tǒng)延遲比較大時(shí),只能降速行使,因?yàn)楦咚贂?huì)發(fā)生危險(xiǎn)。之后是停車,比如傳感器失效,緊急停車。否能夠靠邊停車是由發(fā)生的故障決定,比如感知系統(tǒng)失效就不能前后靠邊停車。
還有主系統(tǒng)壞了后有一個(gè)備用系統(tǒng)進(jìn)行巡視。根據(jù)故障可以進(jìn)行分類,分成人的故障和車的行為故障。如果車軟硬件發(fā)生故障,相當(dāng)于車的健康率發(fā)生故障,就不能行使。另外,根據(jù)故障分成幾類,有碰撞風(fēng)險(xiǎn)是急剎,導(dǎo)盲故障。還有是碰撞檢測,這種可以根據(jù)障礙物進(jìn)行緩剎和非急剎的策略。還有一種是無碰撞風(fēng)險(xiǎn)障礙。
4熔斷機(jī)制 & 碰撞檢測
在沒有功能安全系統(tǒng)時(shí),功能安全的熔斷機(jī)制是把感知發(fā)給規(guī)劃,規(guī)劃再發(fā)給行動(dòng),行動(dòng)再控制車。增加了安全后,進(jìn)行了熔斷,是把主系統(tǒng)的控制權(quán)給安全系統(tǒng)進(jìn)行接管。
右面是碰撞檢測,綠色區(qū)域是規(guī)劃距離,正常的車在規(guī)劃過程中會(huì)與行車保持安全距離,這個(gè)距離要遠(yuǎn)于功能安全的檢測距離來看。紅色區(qū)域是安全的檢測碰撞區(qū)域,比如安全下面的公式,參考Mobileye RSS。另外還有多樣性感知算法,比如說CNN感知算法。
Apollo在搭建功能安全子系統(tǒng)時(shí)有這樣一個(gè)思考,安全子系統(tǒng),必然會(huì)帶來系統(tǒng)復(fù)雜度的上升,但是為了安全性犧牲復(fù)雜度現(xiàn)在看起來也是有必要的。
另外,準(zhǔn)確率與召回率,是功能安全的兩個(gè)核心指標(biāo)。為了好的乘車體驗(yàn),要做到高準(zhǔn)確性,為了安全又要做到高召回率。
-
無人駕駛
+關(guān)注
關(guān)注
98文章
4080瀏覽量
120684 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
784文章
13892瀏覽量
166687 -
Apollo
+關(guān)注
關(guān)注
5文章
342瀏覽量
18481
原文標(biāo)題:技術(shù)沙龍 | 關(guān)于Apollo 3.0功能安全
文章出處:【微信號(hào):Apollo_Developers,微信公眾號(hào):Apollo開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論