衛(wèi)軍 吳長(zhǎng)水
摘 要: 簡(jiǎn)要介紹了自動(dòng)緊急制動(dòng)的原理,并基于Matlab構(gòu)建了一種自動(dòng)緊急制動(dòng)算法,對(duì)算法的核心模塊進(jìn)行了詳細(xì)描述,同時(shí)進(jìn)行了經(jīng)典的C-NCAP測(cè)試,結(jié)果表明本文構(gòu)建的算法效果良好,可以充分地發(fā)揮車(chē)輛避撞潛力,在多種車(chē)速下面對(duì)前方靜止障礙物,都做出了有效的避撞動(dòng)作。
關(guān)鍵詞: 緊急避撞; 分級(jí)制動(dòng); ADAS
文章編號(hào): 2095-2163(2021)03-0195-05 中圖分類(lèi)號(hào):U461.6 文獻(xiàn)標(biāo)志碼:A
【Abstract】This paper briefly introduces the principle of automatic emergency braking and builds an automatic emergency braking algorithm based on Matlab. The core module of the algorithm is described in detail and the classic C-NCAP test is carried out. The results indicate that the algorithm constructed in this paper is effective and can give full play to the potential of vehicle collision avoidance. Effective collision avoidance actions are made against stationary obstacles in front at various vehicle speeds.
【Key words】 emergency collision avoidance; step braking; ADAS
0 引 言
在如今的車(chē)輛自動(dòng)緊急剎車(chē)系統(tǒng)(AEB)中[1],車(chē)輛往往通過(guò)接收搭載于車(chē)身的攝像頭、毫米波雷達(dá)或激光雷達(dá)等設(shè)備,獲取與前方目標(biāo)車(chē)輛或障礙物的位置信息(如縱向的相對(duì)距離)、方位角信息、相對(duì)速度信息以及相對(duì)加速度信息等,經(jīng)過(guò)傳感器融合模塊處理(單一傳感器則不需要經(jīng)過(guò)融合)[2],得到可信度較高的控制模塊關(guān)鍵輸入信息,由控制系統(tǒng)綜合自身狀態(tài)來(lái)判斷車(chē)輛是否存在前向碰撞危險(xiǎn)以及存在危險(xiǎn)情況下是否需要執(zhí)行警告、是否以一定的預(yù)設(shè)制動(dòng)減速度進(jìn)行制動(dòng)。本文基于Matlab/SimuLink環(huán)境構(gòu)建了一套AEB模型,并進(jìn)行了測(cè)試與分析。
1 基于碰撞時(shí)間的安全距離分析
要實(shí)現(xiàn)AEB的縱向避撞功能,應(yīng)當(dāng)在實(shí)際的駕駛場(chǎng)景中提取出AEB較為關(guān)心的參數(shù)[3],分析與前車(chē)/障礙物的相對(duì)狀況,判斷自車(chē)是否處于安全狀態(tài);如有碰撞風(fēng)險(xiǎn),再設(shè)定發(fā)生碰撞的幾個(gè)不同階段的參數(shù)閾值以及相應(yīng)階段的執(zhí)行動(dòng)作。
典型前向碰撞風(fēng)險(xiǎn)工況下[4],抽象出的自車(chē)與目標(biāo)車(chē)示意如圖1所示。
在圖1中,自車(chē)、前車(chē)示意圖構(gòu)建在世界坐標(biāo)系O-XYZ下,假定兩車(chē)的速度均為X軸正向,兩車(chē)自始至終的Y方向坐標(biāo)都沒(méi)有發(fā)生變化;某一時(shí)刻下,自車(chē)縱坐標(biāo)為X0,前車(chē)縱坐標(biāo)為X1,自車(chē)車(chē)速為v0,前車(chē)車(chē)速為v1。構(gòu)建這一時(shí)刻下的車(chē)輛前向碰撞危險(xiǎn)系數(shù)TTC和FCR如下:
其中,Drel和vrel分別表示自車(chē)相對(duì)于前車(chē)的相對(duì)距離和相對(duì)速度,l表示自車(chē)質(zhì)心到車(chē)頭的距離。TTC和FCR共同作為判定參數(shù),作為此后的縱向和橫向控制的最關(guān)鍵參數(shù)。TTC參數(shù)主要作為縱向控制算法,F(xiàn)CR參數(shù)作為橫向控制的主要輸入?yún)?shù)。本文中構(gòu)建的邏輯框圖見(jiàn)圖2。
當(dāng)TTC為正時(shí),兩車(chē)距離逐漸增大,不會(huì)出現(xiàn)碰撞危險(xiǎn);TTC為正無(wú)窮或負(fù)無(wú)窮大時(shí),表明兩車(chē)車(chē)速接近,由于此時(shí)兩車(chē)存在一定距離,故而不會(huì)出現(xiàn)危險(xiǎn)情況;當(dāng)TTC為負(fù)、且絕對(duì)值大于一定閾值時(shí),兩車(chē)逐漸靠近但未來(lái)一段時(shí)間仍保有相當(dāng)?shù)木?/p>
離,系統(tǒng)判定也不會(huì)出現(xiàn)危險(xiǎn)情況;當(dāng)TTC為負(fù)且絕對(duì)值小于或等于一定閾值時(shí),系統(tǒng)判定兩車(chē)相對(duì)距離過(guò)小,觸發(fā)碰撞警報(bào),提醒駕駛員干預(yù)進(jìn)行避撞;如果駕駛員沒(méi)有做出動(dòng)作且TTC為負(fù)、絕對(duì)值進(jìn)一步減小,系統(tǒng)發(fā)出命令,制動(dòng)機(jī)構(gòu)按照一定的邏輯進(jìn)行分級(jí)制動(dòng)。
2 縱向避撞算法模型搭建
根據(jù)前文構(gòu)建的安全距離模型以及碰撞邏輯[5],本文在Matlab/SimuLink環(huán)境下搭建了一套縱向避撞模型。設(shè)計(jì)的AEB算法輸入為與目標(biāo)車(chē)的距離、目標(biāo)車(chē)的速度以及自車(chē)速度;輸出為發(fā)生碰撞標(biāo)志位、車(chē)輛剎停標(biāo)志位、AEB工作標(biāo)志位、碰撞預(yù)警標(biāo)志位以及制動(dòng)系統(tǒng)工作輸出的期望減速度。
2.1 TTC計(jì)算模塊
首先介紹TTC計(jì)算模塊的具體構(gòu)成,其內(nèi)部如圖3所示。
TTC計(jì)算的輸入為相對(duì)距離和相對(duì)速度,在進(jìn)行計(jì)算時(shí)二者并非直接相除,需要經(jīng)歷一定的限制和處理。相對(duì)距離進(jìn)入模塊后首先減去了一個(gè)預(yù)設(shè)的前向偏移量headwayOffset(這里取2.4 m)。最終,計(jì)算得到的TTC參數(shù)由輸出傳入控制決策模塊[6]。
2.2 預(yù)計(jì)剎停時(shí)間計(jì)算模塊
本文的剎停時(shí)間計(jì)算分為了3級(jí)制動(dòng)時(shí)間的計(jì)算外加一個(gè)碰撞警告時(shí)間的計(jì)算,依據(jù)一些經(jīng)驗(yàn)值得到這4個(gè)時(shí)間結(jié)果。該模塊如圖4所示。
本模塊的主要輸入是自車(chē)的車(chē)速。首先進(jìn)行常規(guī)剎停時(shí)間計(jì)算,其目的是假定駕駛員在當(dāng)前時(shí)刻意識(shí)到危險(xiǎn)并開(kāi)始制動(dòng),制動(dòng)減速度取一典型值情況下的剎停時(shí)間:通過(guò)自車(chē)車(chē)速除以平均減速度driver_decel(這里取 4 m/s2),求得初步的從當(dāng)前車(chē)速至剎停時(shí)間后,再加上一補(bǔ)償值timeToReact,該值代表了駕駛員的平均反應(yīng)時(shí)間(這里取1.2 s),然后相加求得駕駛員操縱下的預(yù)計(jì)剎停時(shí)間。與此同時(shí),自車(chē)車(chē)速還將經(jīng)歷3個(gè)不同減速度(由上至下分別為3.8 m/s2、5.3 m/s2 、9.8 m/s2)下的剎停時(shí)間計(jì)算,計(jì)算過(guò)程與預(yù)計(jì)剎停時(shí)間相似。
求得的4個(gè)剎停時(shí)間是下一小節(jié)分級(jí)制動(dòng)邏輯的基本參數(shù)。
2.3 AEB決策邏輯
TTC是當(dāng)前時(shí)刻的車(chē)速得到,是實(shí)際現(xiàn)在產(chǎn)生的參數(shù);而4個(gè)剎停時(shí)間是由4個(gè)預(yù)設(shè)值得到,當(dāng)前的制動(dòng)力并非剛好是其中的某一個(gè),因此這4個(gè)剎停時(shí)間參數(shù)有一定的預(yù)測(cè)含義,會(huì)對(duì)未來(lái)的車(chē)輛狀態(tài)做出合理的估計(jì)。AEB的決策邏輯,則如圖5所示。
該模塊由SimuLink/StateFlow工具構(gòu)建得到。由圖5可知,決策模塊一共有5個(gè)狀態(tài):初始默認(rèn)狀態(tài)(Default)、前向碰撞預(yù)警狀態(tài)(FCW)、一階段制動(dòng)狀態(tài)(Pratial_Braking1)、二階段制動(dòng)狀態(tài)(Pratial_Braking2)以及全力制動(dòng)狀態(tài)(Full_Braking)。每個(gè)狀態(tài)都對(duì)應(yīng)有3個(gè)狀態(tài)進(jìn)入賦值語(yǔ)句,分別對(duì)AEB狀態(tài)位、前向碰撞警告位進(jìn)行置位操作,以及輸出對(duì)應(yīng)狀態(tài)的制動(dòng)減速度。
在初始默認(rèn)狀態(tài),AEB標(biāo)志位、FCW標(biāo)志位和期望減速度均為0;當(dāng)TTC為負(fù)且小于駕駛員常規(guī)狀態(tài)剎停時(shí)間時(shí),即滿(mǎn)足遷移條件時(shí),狀態(tài)發(fā)生遷移進(jìn)入前向碰撞預(yù)警狀態(tài);前向碰撞預(yù)警狀態(tài)活躍后,立即執(zhí)行進(jìn)入動(dòng)作:AEB狀態(tài)位置0,F(xiàn)CW狀態(tài)位置1,減速度輸出0;當(dāng)TTC絕對(duì)值大于1.2倍的常規(guī)剎停時(shí)間,認(rèn)定車(chē)輛安全,系統(tǒng)返回默認(rèn)狀態(tài);當(dāng)進(jìn)入FCW狀態(tài)后,TTC為負(fù)且絕對(duì)值進(jìn)一步減小到小于1階段預(yù)計(jì)剎停時(shí)間,發(fā)生狀態(tài)遷移,進(jìn)入1階段制動(dòng)狀態(tài),AEB開(kāi)始工作,AEB狀態(tài)位置0,F(xiàn)CW狀態(tài)位依舊置1,減速度輸出PB1decel;余下的2階段制動(dòng)狀態(tài)以及全力制動(dòng)狀態(tài)遷入邏輯相同,不再贅述。
3 前向靜止目標(biāo)避撞測(cè)試及分析
為了對(duì)本文構(gòu)建的AEB模型進(jìn)行功能測(cè)試,本文采用了Matlab提供的自動(dòng)駕駛工具箱構(gòu)建了仿真環(huán)境,選取了C-NCAP測(cè)試標(biāo)準(zhǔn)(2018版)中的CCRs測(cè)試場(chǎng)景進(jìn)行測(cè)試,并分析實(shí)驗(yàn)結(jié)果。
3.1 Matlab自動(dòng)駕駛工具箱介紹
MathWorks公司自2017年開(kāi)始,在Matlab軟件中提供了用于自動(dòng)駕駛的工具箱,主要用于ADAS功能的開(kāi)發(fā)、仿真和測(cè)試,同時(shí)也提供了較為豐富的樣例算法和工程。本文的縱向避撞算法利用了Matlab自動(dòng)駕駛仿真工具箱的自動(dòng)緊急制動(dòng)樣例,將原工程中的車(chē)輛模型、世界模型以及車(chē)輛傳感器及其融合模塊予以保留,將示例的控制模塊替換為本文構(gòu)建的縱向緊急避撞算法模型,匹配好接口參數(shù)直至工程編譯通過(guò)。重新構(gòu)建的仿真環(huán)境如圖6所示。
仿真環(huán)境分為儀表板、世界/車(chē)輛模型和控制模塊三大部分。其中,儀表板用于可視化觀(guān)測(cè)自車(chē)狀態(tài),世界/車(chē)輛模型負(fù)責(zé)提供仿真環(huán)境,并輸出信號(hào)流到控制模塊,同時(shí)世界/車(chē)輛模型接收來(lái)自控制模塊的控制量(這里為減速度請(qǐng)求)。本測(cè)試環(huán)境可進(jìn)行完整的閉環(huán)控制,用于測(cè)試前文的控制算法。
3.2 測(cè)試場(chǎng)景說(shuō)明及結(jié)果分析
在CCRs測(cè)試中,存在自車(chē)和前車(chē)兩個(gè)對(duì)象,兩車(chē)航向角均為0,其中前車(chē)靜止。C-NCAP規(guī)定的自車(chē)初速分別為20 km/h、30 km/h和40 km/h,自車(chē)從后方逐漸靠近前車(chē),AEB此時(shí)應(yīng)在某一時(shí)刻觸發(fā)并完成避撞。
本文使用Driving Scenario Designer構(gòu)建車(chē)道、自車(chē)和前車(chē)的可視化模型,由于C-NCAP對(duì)于CCRs的兩車(chē)初始距離并未做規(guī)定,本小節(jié)將初始距離S0以及自車(chē)初速v0作為變量,測(cè)試構(gòu)建的AEB算法響應(yīng)情況和工作效果。
在圖7所示的參數(shù)設(shè)置選項(xiàng)中,設(shè)置兩車(chē)的初始速度和初始坐標(biāo)(按照世界坐標(biāo)系賦值),每次設(shè)置完成后導(dǎo)入測(cè)試環(huán)境中,進(jìn)行測(cè)試。
設(shè)置初始距離S0分別為100 m、50 m和30 m共3組仿真試驗(yàn),每組試驗(yàn)下分別設(shè)置20 km/h、40 km/h、60 km/h和80 km/h,共4組初速v0。對(duì)應(yīng)如上設(shè)置參數(shù)進(jìn)行仿真試驗(yàn),得到了測(cè)試結(jié)果見(jiàn)表1~表3。
由表1~表3中數(shù)據(jù)可以得到,在3組試驗(yàn)中,自車(chē)AEB功能均能按照預(yù)設(shè)的邏輯正常觸發(fā);前兩組的初始距離設(shè)定下,自車(chē)均可以在發(fā)生碰撞之前剎停車(chē)輛,實(shí)現(xiàn)避撞;第三組試驗(yàn)的20 km/h、40 km/h和60 km/h情況下,車(chē)輛也可以正常避撞;但是在80 km/h的情況下,仿真表明車(chē)輛此時(shí)發(fā)生了碰撞。
4 結(jié)束語(yǔ)
本文構(gòu)建了一種自動(dòng)緊急避撞算法,在80 km/h以下的車(chē)速表現(xiàn)良好,可以較好地完成縱向避撞功能。本文對(duì)該算法的具體實(shí)現(xiàn)進(jìn)行理論分析以及模型搭建介紹,對(duì)于算法的邏輯做了較為清楚的解釋和說(shuō)明。
參考文獻(xiàn)
[1]張立廣,譚寶成,馬天力. 無(wú)人駕駛車(chē)輛路徑跟蹤控制器的設(shè)計(jì)及實(shí)現(xiàn)[J]. 西安工業(yè)大學(xué)學(xué)報(bào), 2013(8):680-684.
[2] 郭應(yīng)時(shí),蔣拯民,白艷. 無(wú)人駕駛汽車(chē)路徑跟蹤控制方法擬人程度研究[J]. 中國(guó)公路學(xué)報(bào), 2018,31(8):189-196.
[3] 武星,樓佩煌. 基于運(yùn)動(dòng)預(yù)測(cè)的路徑跟蹤最優(yōu)控制研究[J]. 控制與決策, 2009, 24(4):565-569.
[4] 倪蘭青,林棻,王凱正. 基于預(yù)瞄的智能車(chē)輛路徑跟蹤控制研究[J]. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2017,31(3):27-33.
[5] LI T, HU J, GAO L, et al. Agricultural machine path tracking method based on fuzzy adaptive pure pursuit model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(1):205-210.
[6] THRUN S, MONTEMERLO M, DAHLKAMP H. Stanley: The robot that won the DARPA grand challenge[J]. Journal of Field Robotics, 2006, 23(9): 661-692.