張振珠,何 娜
(1.重慶工程職業(yè)技術(shù)學(xué)院機械工程學(xué)院,重慶402260;2.山東理工大學(xué)機械工程學(xué)院,山東淄博255049)
隨著人工智能技術(shù)、自動控制技術(shù)的發(fā)展,決策系統(tǒng)和EtherCAT總線已經(jīng)成為無人駕駛系統(tǒng)中重要的研究問題[1]。對于無人駕駛車輛來說,決策系統(tǒng)不僅是無人駕駛的關(guān)鍵組成部分,也是人工智能(AI)領(lǐng)域研究的熱點之一[2-4]。當(dāng)前無人駕駛領(lǐng)域尚無法提出一個準(zhǔn)確、統(tǒng)一和簡單的決策系統(tǒng)模型,但是為了解決在城市道路復(fù)雜多變的交通環(huán)境中,無人駕駛能否準(zhǔn)確地進行決策,能否快速準(zhǔn)確地轉(zhuǎn)發(fā)決策信息等一系列問題,本文基于學(xué)習(xí)駕駛員習(xí)慣對交通環(huán)境信息進行分類決策,建立一種基于神經(jīng)網(wǎng)絡(luò)決策模型的可以邊進行無人駕駛邊進行學(xué)習(xí)決策的一種新方法。提出了一種在復(fù)雜場景下駕駛員決策過程建立駕駛行為決策模型的新方法,同時引入嵌入式實時系統(tǒng)來完成EtherCAT從站調(diào)度的任務(wù)規(guī)劃方法,并將其應(yīng)用于無人駕駛決策系統(tǒng)中的數(shù)據(jù)輸入或輸出端,作為信息交互的中轉(zhuǎn)站。
本文將AI的思想應(yīng)用到無人駕駛中,設(shè)計了基于神經(jīng)網(wǎng)絡(luò)模型的無人車決策系統(tǒng)控制的基礎(chǔ)框架。神經(jīng)網(wǎng)絡(luò)模型負責(zé)決策系統(tǒng)控制層中的學(xué)習(xí)層,對無人車收集到的信號進行分類解析[5-8]。基于神經(jīng)網(wǎng)絡(luò)模型的決策學(xué)習(xí)系統(tǒng)能夠使得系統(tǒng)逼近理論決策結(jié)論值,基于神經(jīng)網(wǎng)絡(luò)的無人駕駛系統(tǒng)使開發(fā)人員更專注于數(shù)據(jù)的訓(xùn)練,而不是設(shè)計算法的本身,在減少了編碼量的同時,還保證了后期無人車學(xué)習(xí)信息的能力,提高了軟件可維護性,解決了算法單一、不通用的難題。
圖1為無人駕駛車系統(tǒng)模塊的構(gòu)成圖。無人駕駛汽車是信息技術(shù)和AI技術(shù)高度發(fā)展的必然產(chǎn)物,由機器學(xué)習(xí)代替駕駛員駕駛汽車是未來科技發(fā)展的必經(jīng)之路。
圖1 無人駕駛汽車Fig.1 Structure model of the unmanned vehicles
無人車能夠進行駕駛,需要構(gòu)建決策系統(tǒng)模塊。決策系統(tǒng)模塊負責(zé)對駕駛環(huán)境和突然狀況進行特征提取,并且將汽車復(fù)雜多變的行為抽象分類。將基于模糊決策方法的思想運用到無人駕駛系統(tǒng)中,判斷和學(xué)習(xí)駕駛員的思維模式后,從而實現(xiàn)在無人操作下汽車能夠依據(jù)復(fù)雜環(huán)境進行決策的問題。如圖2所示,其本質(zhì)是表示行為轉(zhuǎn)換的狀態(tài)遷移系統(tǒng)。因此,此決策系統(tǒng)運行時的模型可以用五元組來表示。
圖2 無人車狀態(tài)遷移圖Fig.2 State transition diagram of unmanned vehicles
圖3為三層前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該神經(jīng)網(wǎng)絡(luò)模型是在對決策系統(tǒng)進行建模后解決了無人駕駛車輛運動規(guī)劃的方法問題。
圖3 3層前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Three-layer feed forward neural network structure
建立神經(jīng)網(wǎng)絡(luò)決策模型首先要分析復(fù)雜城市環(huán)境下汽車行走規(guī)劃算法的設(shè)計原理與分類,基于道路復(fù)雜不可預(yù)測的特點,有效利用神經(jīng)網(wǎng)絡(luò)權(quán)值參數(shù),對神經(jīng)網(wǎng)絡(luò)做出隨時調(diào)整,滿足車輛運動特性的約束。以一個簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為例:
步驟1神經(jīng)網(wǎng)絡(luò)從左到右對應(yīng)的Layer為L1,L2,L3,記Li中從上往下數(shù)的第j個神經(jīng)元為uij。
步驟2記Li對應(yīng)的神經(jīng)元個數(shù)為ni(n1=3,n2=5,n3=2),激活函數(shù)、偏置分別為φi,b(i)(b(3)其實不會被用到)。
步驟3記Li,Li+1之間的權(quán)值矩陣為w(i),神經(jīng)元uij,ui+1,k之間的權(quán)值為,可知
步驟4記Li對應(yīng)的輸入、輸出為u(i),v(i)。
步驟5記模型的輸入、輸出集為X,Y,樣本數(shù)為N,損失函數(shù)為L。一般我們會要求L是一個二元對稱函數(shù),亦即對于L的輸入控件中的任意兩個向量(矩陣)p,q都有L(p,q)=L(q,p),那么上述神經(jīng)網(wǎng)絡(luò)的前向傳導(dǎo)算法的所有步驟即為(運算符“×”代表矩陣乘法,下同)
式中:u(1),v(1)都是N×3維矩陣。
式中:w(1)是3×5的矩陣,所以u(2),v(2)都是N×5維矩陣。
式中:w(2)是5×2的矩陣,所以u(3),v(3)都是N×2維矩陣。
在EtherCAT從站收到來自主站的實時數(shù)據(jù)后,從站通過對比邏輯內(nèi)存單元的地址與數(shù)據(jù)幀的地址,根據(jù)映射關(guān)系,將數(shù)據(jù)存儲于響應(yīng)的內(nèi)存區(qū)塊中,由同步管理單元通過中斷響應(yīng)通知應(yīng)用層進行數(shù)據(jù)處理,將響應(yīng)的實時數(shù)據(jù)接收(Receiving Process Data Object,RPDO)(從站接收自主站的過程數(shù)據(jù))信息進行相應(yīng)的處理,并根據(jù)其對應(yīng)的索引,將數(shù)據(jù)同步至響應(yīng)的內(nèi)存中。圖4為EtherCAT實時通訊的傳輸流程。
在基于EtherCAT的分布式控制系統(tǒng)中,通常只包含一個主站,其主要負責(zé)各從站的協(xié)調(diào)、調(diào)度工作,而從站的數(shù)量可以為多個,各從站的始終可能不同步,因而造成控制上的失穩(wěn)。在機器人控制系統(tǒng)中,多關(guān)節(jié)聯(lián)動對于各個關(guān)節(jié)的驅(qū)動器具有強實時要求,所有關(guān)節(jié)的運動必須保持在時間上的高度一致,EtherCAT可為此提供如下3種同步機制,供主站調(diào)度使用。
圖4 EtherCAT實時數(shù)據(jù)傳輸流程Fig.4 EtherCAT real-time data transfer process
2.2.1 自由模式
自由模式,是指每個從站均按照各自時鐘,從固定的內(nèi)存緩沖區(qū)中獲取控制指令,加以執(zhí)行。在實現(xiàn)的工作量上分析,此方法最為簡單。但顯而易見的是,由于各個從站的不一致,每個電機運動的開始時間、結(jié)束時間均不同,在運行過程中會產(chǎn)生較大的同步誤差,進而造成運動控制系統(tǒng)的不穩(wěn)定,運動效果、軌跡的畸變,精度上也難以保證。圖5為自由模式下時鐘同步的誤差。
圖5 自由模式時鐘同步誤差Fig.5 Free mode clock synchronization error
2.2.2 主站輸出模式
每個從站不由自身的時鐘來決定運行周期,在接收主站發(fā)送的實時同步數(shù)據(jù)后,從站產(chǎn)生中斷,同時借此完成單次通訊。而采用這種同步模式時,各個從站的時間差基本等同于數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)延時,在EtherCAT高速總線網(wǎng)絡(luò)中,網(wǎng)絡(luò)延時的數(shù)量級是微秒,故采用本同步模式,理論上可以使得同步的時間誤差降低至微秒級。圖6為采用主站輸出模式的時鐘誤差。
2.2.3 分布時鐘模式
圖6 主站輸出同步模式時鐘誤差分析Fig.6 Main station output synchronous mode clock error analysis
采用分布時鐘同步,是指每個EtherCAT從站均使用自身時鐘來作為定時器,與其他的從站互補干涉,各自進行實時任務(wù)作業(yè)。在時鐘的同步方面,采用整個EtherCAT網(wǎng)絡(luò)中的首個從站的時鐘作為參考基準(zhǔn),對初始化階段的時鐘偏差、各個從站的網(wǎng)絡(luò)傳輸延時以及時鐘的漂移等影響因素進行補償,進而使得網(wǎng)絡(luò)中EtherCAT主站及各個從站以納秒級的誤差接近于時鐘參考基準(zhǔn),可以在最大程度上確保數(shù)據(jù)同步的效果,確保系統(tǒng)的強實時性。圖7為分布時鐘模式的時鐘誤差。
圖7 分布時鐘模式時鐘誤差Fig.7 Distributed clock mode clock error
傳統(tǒng)的任務(wù)設(shè)計模式是基于前后臺進行處理,系統(tǒng)在保證及時響應(yīng)中斷服務(wù)子程序的同時,順序循環(huán)各個任務(wù),相同的任務(wù)優(yōu)先級是此種設(shè)計模式的特點。然而,此種設(shè)計模式難以滿足實時性要求,且系統(tǒng)的穩(wěn)定性受到每個程序的制約,一旦某個程序發(fā)生錯誤或者阻塞,則整個系統(tǒng)面臨著停機或者崩潰的風(fēng)險。依托于實時操作系統(tǒng),應(yīng)用程序可被逐級分為多個實時任務(wù),這些任務(wù)由操作系統(tǒng)核心進行實時調(diào)度。而實時操作系統(tǒng)(Real-Time Operating System,RTOS)在實現(xiàn)基本的資源管理的基礎(chǔ)上,進一步增強了對于實時任務(wù)的調(diào)度、處理性能,使得所有任務(wù)均可在規(guī)定時間內(nèi)完成,確??刂葡到y(tǒng)的實時性。根據(jù)任務(wù)執(zhí)行的特點,可將實時任務(wù)分為4個類型,分別為設(shè)備依賴型、關(guān)鍵任務(wù)、緊迫任務(wù)和數(shù)據(jù)處理任務(wù)。
作為系統(tǒng)中最為常見的任務(wù),設(shè)備依賴型任務(wù)的主要特點是其執(zhí)行需要依靠于某個設(shè)備。例如,采樣和濾波的任務(wù),需要依賴于模數(shù)轉(zhuǎn)換器(AD),任務(wù)開始于AD運行之始,而終結(jié)于采樣量化之后,期間需要等待AD將數(shù)據(jù)轉(zhuǎn)換完成。相對于微控制單元(Micro Control Unit,MCU)的運算時間,外接設(shè)備的處理時間通常會大至少一個數(shù)量級。通常為了保證MCU的最高利用率,以及系統(tǒng)的實時性,在此期間,會按照任務(wù)的優(yōu)先級,將MCU的處理能力分配至其他任務(wù)。在外設(shè)處理期間,該任務(wù)阻塞,直至外設(shè)處理完畢后,通過操作系統(tǒng)的統(tǒng)一調(diào)度,對該任務(wù)進行下一次的喚醒,主要表現(xiàn)為多任務(wù)協(xié)同或者多線程協(xié)同處理,該任務(wù)調(diào)度如圖8所示。
圖8 設(shè)備依賴型任務(wù)調(diào)度Fig.8 Equipment dependent task scheduling
在系統(tǒng)中存在著一類任務(wù),當(dāng)其不能正常運行時,會使得系統(tǒng)陷入崩潰的危機,同時此類型任務(wù)可以在一定時間內(nèi)被掛起或推遲,這類任務(wù)就是關(guān)鍵型任務(wù)。通常情況下,采用信號量,通過多線程的方式進行處理,而關(guān)鍵型任務(wù)負責(zé)通過信號量來喚醒另一任務(wù),由該任務(wù)進行耗時的數(shù)據(jù)處理。
在系統(tǒng)中優(yōu)先級最高的是緊迫型任務(wù),主要特點是其執(zhí)行必須在所限定的時間內(nèi)開始,并且在規(guī)定時間內(nèi)執(zhí)行完畢,否則將必然會導(dǎo)致整個系統(tǒng)的崩潰,且此過程不可恢復(fù)。也就是說,緊迫任務(wù)是系統(tǒng)中對實時性要求最高的任務(wù),對于時鐘的要求也極為嚴格,通常由硬件時鐘中斷來觸發(fā)。如果在當(dāng)前優(yōu)先級下,執(zhí)行該任務(wù)所需消耗的時間較短,則直接于中斷中完成該任務(wù),否則將提高該任務(wù)的優(yōu)先級,進行優(yōu)先處理。
數(shù)據(jù)處理型任務(wù),通常在系統(tǒng)中耗時最長,但由于其緊迫程度并不高,通常優(yōu)先級較低,通過MCU時間片的輪尋,可以將數(shù)據(jù)處理任務(wù)分解為優(yōu)先級較為接近的多個簡單任務(wù),操作系統(tǒng)可根據(jù)優(yōu)先級的順序完成各簡單任務(wù)。根據(jù)優(yōu)先級的不同,任務(wù)會先后被完成不會造成任務(wù)調(diào)度的紊亂以及過度的搶占。圖9為時間片輪尋調(diào)度的方法示意圖。
圖9 數(shù)據(jù)處理任務(wù)的時間片輪尋調(diào)度Fig.9 Data processing task time-wheel search schematic diagram
分析系統(tǒng)中任務(wù)的可調(diào)度性,目前主要采用的手段是速率單調(diào)分析法(RMA)。RMA的測試公式為
式中:n為任務(wù)總量;Ci為第i任務(wù)在測試期間執(zhí)行一個周期所需要的最大時間;Ti為第i個任務(wù)的周期長度;U(n)為MCU的最大使用率。
任務(wù)總量與最大使用率所呈現(xiàn)的關(guān)系如表1所示。
表1 任務(wù)總量與最大使用率Tab.1 Total tasks and maximum utilization rate
若經(jīng)過測試后,所算得的使用率小于表1中的最大使用率,則理論上可以調(diào)度;若其具有較大的余量,則可在更大程度上確保任務(wù)的正常調(diào)度;反之,任務(wù)調(diào)度策略是失敗的,需要對于任務(wù)調(diào)度策略進行重新規(guī)劃。
本文利用AI思想,對無人駕駛車輛在復(fù)雜的城市環(huán)境中,針對無人駕駛的問題進行了深入的探討,將無人駕駛問題分為決策系統(tǒng)和EtherCAT總線技術(shù)問題分別進行了深入的研究。本文進行的研究步驟如下:①分析了城市駕駛環(huán)境的復(fù)雜環(huán)境、場景不可預(yù)測和路徑更新快等特點,如何能夠在城區(qū)復(fù)雜環(huán)境下,像駕車者一樣準(zhǔn)確地做出合理的判斷,實現(xiàn)“擬人化”決策;②提出了一種基于層次狀態(tài)機與多屬性決策方法的無人駕駛車輛行為決策模塊,設(shè)計了對城市環(huán)境的無人駕駛車輛決策系統(tǒng)的構(gòu)建、神經(jīng)網(wǎng)絡(luò)決策系統(tǒng)模型的判定等;③研究了高速、高效的實時以太網(wǎng)EtherCAT技術(shù),同時將該技術(shù)應(yīng)用于分布式運動控制系統(tǒng)中;④針對EtherCAT系統(tǒng)要求主站具有很強的穩(wěn)定性,同時從站對于各個任務(wù)的處理具有強實時性,分析了實時任務(wù)的規(guī)劃并且進行了測試。盡管到目前為止,無人駕駛車輛仍舊不能在車輛較多且擁堵的路段上實現(xiàn)真正的無人駕駛,但是現(xiàn)階段已經(jīng)接近了在較為空曠的路段上的行走規(guī)劃,相信在不遠的將來,無人駕駛會提高行車安全,并且減輕駕駛負擔(dān)。