• 自動駕駛基礎軟件架構(自動駕駛基礎架構部)

    自動駕駛 1039
    今天給各位分享自動駕駛基礎軟件架構的知識,其中也會對自動駕駛基礎架構部進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!本文目錄一覽: 1、全球自動駕駛汽車硬件和軟件最新技術總結(2020)

    今天給各位分享自動駕駛基礎軟件架構的知識,其中也會對自動駕駛基礎架構部進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

    本文目錄一覽:

    全球自動駕駛汽車硬件和軟件最新技術總結(2020)

    進入到2020年,自動駕駛技術走到了需要規模商業化證明技術價值的時候。

    不管是封閉或半封閉場景的礦區、港口和園區,還是公開道路的RoboTaxi、RoboTruck等,技術都是自動駕駛在不同場景商業化的基礎。

    本報告覆蓋了自動駕駛汽車所需要的感知、定圖與定位、傳感器融合、機器學習方法、數據收集與處理、路徑規劃、自動駕駛架構、乘客體驗、自動駕駛車輛與外界交互、自動駕駛對汽車部件的挑戰(如功耗、尺寸、重量等)、通訊與連接(車路協同、云端管理平臺)等技術領域的討論,并且提供相應的各自動駕駛公司的實施案例。

    本報告是由美國、中國、以色列、加拿大、英國等全球不同國家和地區的自動駕駛專家,針對自動駕駛技術的硬件和軟件技術,進行的全面闡述,方便各位讀者能夠從技術角度,了解最新的技術動態,從而全面了解自動駕駛汽車。

    本報告的案例大多數來自汽車領域,這也是目前自動駕駛行業最火熱的應用場景,但是,服務個人出行的汽車并不是自動駕駛技術影響深遠的行業,其他的行業,如公共交通、貨運、農業、礦業等領域,也同樣是自動駕駛技術應用的廣泛天地。

    各類傳感器,用于自動駕駛汽車感知環境,如同人類的眼睛,自動駕駛汽車的基礎部件;自動駕駛汽車的傳感器主要有五種,包括了:1、Long?range?RADAR;2、Camera;3、LIDAR;4、Short/Medium?range?RADAR;5、Ultrasound;

    這些不同的傳感器,主要用于不同距離、不同類型的物體感知,為自動駕駛汽車判斷周邊環境,提供最重要的信息來源,另外,還有一個環境感知的信息來源是車路協同的來源,這點報告中也有闡述。

    1、掃描范圍,確定必須對被感測的對象做出反應的時間;

    2、分辨率,確定傳感器可以為自動駕駛車輛提供的環境細節;

    3、視場或角度分辨率,確定要覆蓋、要感知的區域需要傳感器的數量;

    4、刷新率,確定來自傳感器的信息更新的頻率;

    5、感知對象數量,能夠區分3D中的靜態對象數量和動態對象數量,并且確定需要跟蹤的對象數量;

    6、可靠性和準確性,傳感器在不同環境下的總體可靠性和準確性;

    7、成本、大小和軟件兼容性,這是量產的技術條件之一;

    8、生成的數據量,這決定了車載計算單元的計算量,現在傳感器偏向智能傳感器,也就是,不僅僅是感知,還會分辨信息,把對車輛行駛影響最重要的數據傳輸給車載計算單元,從而減少其計算負荷;

    下面是Waymo、Volvo-Uber、Tesla的傳感器方案示意圖:

    1、Tesla的傳感器,具有加熱功能,可抵御霜凍和霧氣;

    2、Volvo的傳感器配備有噴水清潔系統,用于清潔粉塵;

    3、Waymo使用的Chrysler?Pacifica的傳感器有噴水系統和刮水器。

    02?SLAM和傳感器融合

    SLAM是一個復雜的過程,因為本地化需要地圖,并且映射需要良好的位置估計。盡管長期以來人們一直認為機器人要成為自主的基本“雞或蛋”問題,但在1980年代和90年代中期的突破性研究從概念和理論上解決了SLAM。從那時起,已經開發了多種SLAM方法,其中大多數使用概率概念。

    為了更準確地執行SLAM,傳感器融合開始發揮作用。傳感器融合是組合來自多個傳感器和數據庫的數據以獲得改進信息的過程。它是一個多級過程,處理數據的關聯,相關性和組合,與僅使用單個數據源相比,可以實現更便宜,更高質量或更多相關信息。

    1、順序地,將驅動過程分解為分層管道的組件,每個步驟(傳感,定位,路徑規劃,運動控制)都由特定的軟件元素處理,管道的每個組件都將數據饋送到下一個;

    2、基于深度學習的端到端解決方案,負責所有這些功能。

    端到端(e2e)學習作為一種解決方案,可以解決自動駕駛汽車復雜AI系統所面臨的挑戰,因此越來越受到人們的關注。端到端(e2e)學習將迭代學習應用于整個復雜系統,并已在深度學習的背景下得到普及。

    03?三種機器深度學習方法

    當前,不同類型的機器學習算法被用于自動駕駛汽車中的不同應用。本質上,機器學習根據提供的一組訓練數據將一組輸入映射到一組輸出。1、卷積神經網絡(CNN);2、遞歸神經網絡(RNN);3、深度強化學習(DRL);是應用于自動駕駛的最常見的深度學習方法。

    RNN——當處理諸如視頻之類的時間信息時,RNN是強大的工具。在這些網絡中,先前步驟的輸出作為輸入被饋送到網絡中,從而使信息和知識能夠持久存在于網絡中并被上下文化。

    DRL——將深度學習(DL)和強化學習相結合。DRL方法使軟件定義的“代理”可以使用獎勵功能,在虛擬環境中學習最佳行動,以實現其目標。這些面向目標的算法學習如何實現目標,或如何在多個步驟中沿特定維度最大化。盡管前景廣闊,但DRL面臨的挑戰是設計用于駕駛車輛的正確獎勵功能。在自動駕駛汽車中,深度強化學習被認為仍處于早期階段。

    這些方法不一定孤立地存在。例如,特斯拉(Tesla)等公司依靠混合形式,它們試圖一起使用多種方法來提高準確性并減少計算需求。

    一次在多個任務上訓練網絡是深度學習中的常見做法,通常稱為多任務訓練?或輔助任務訓練。這是為了避免過度擬合,這是神經網絡的常見問題。當機器學習算法針對特定任務進行訓練時,它會變得非常專注于模仿它所訓練的數據,從而在嘗試進行內插或外推時其輸出變得不切實際。

    通過在多個任務上訓練機器學習算法,網絡的核心將專注于發現對所有目的都有用的常規功能,而不是僅僅專注于一項任務。這可以使輸出對應用程序更加現實和有用。

    本文來源于汽車之家車家號作者,不代表汽車之家的觀點立場。

    自動駕駛技術基本知識介紹

    自動駕駛車,是一種無須人工干預而能夠感知其周邊環境和導航的車輛。它利用了包括雷達、激光、超聲波、GPS、里程計、計算機視覺等多種技術來感知其周邊環境,通過先進的計算和控制系統,來識別障礙物和各種標識牌,規劃合適的路徑來控制車輛行駛。

    美國汽車工程師協會(SAE,Society of Automotive Engineers),則將自動駕駛劃分為 0~5 共六級。

    Level 0:無自動化(No Automation)

    沒有任何自動駕駛功能或技術,人類駕駛員對汽車所有功能擁有絕對控制權。駕駛員需要負責轉向、加速、制動和觀察道路狀況。任何駕駛輔助技術,例如現有的前向碰撞預警、車道偏離預警,以及自動雨刷和自動前燈控制等,雖然有一定的智能化,但是仍需要人來控制車輛,所以都仍屬于 Level 0。

    Level 1:駕駛輔助(Driver Assistance)

    駕駛員仍然對行車安全負責,不過可以授權部分控制權給系統管理,某些功能可以自動進行,比如常見的自適應巡航(Adaptive Cruise Control,ACC)、應急剎車輔助(Emergency Brake Assist,EBA)和車道保持(Lane-Keep Support,LKS)。Level 1 的特點是只有單一功能,駕駛員無法做到手和腳同時不操控。

    Level 2:部分自動化(Partial Automation)

    人類駕駛員和汽車來分享控制權,駕駛員在某些預設環境下可以不操作汽車,即手腳同時離開控制,但駕駛員仍需要隨時待命,對駕駛安全負責,并隨時準備在短時間內接管汽車駕駛權。比如結合了 ACC 和 LKS 形成的跟車功能。Level 2 的核心不在于要有兩個以上的功能,而在于駕駛員可以不再作為主要操作者。

    Level 3:有條件自動化(Conditional Automation)

    在有限情況下實現自動控制,比如在預設的路段(如高速和人流較少的城市路段),汽車自動駕駛可以完全負責整個車輛的操控,但是當遇到緊急情況,駕駛員仍需要在某些時候接管汽車,但有足夠的預警時間,如即將進入修路的路段(Road work ahead)。Level 3 將解放駕駛員,即對行車安全不再負責,不必監視道路狀況。

    Level 4:高度自動化(High Automation)

    自動駕駛在特定的道路條件下可以高度自動化,比如封閉的園區、高速公路、城市道路或固定的行車線路等,這這些受限的條件下,人類駕駛員可以全程不用干預。

    Level 5:完全自動化(Full Automation)

    對行車環境不加限制,可以自動地應對各種復雜的交通狀況和道路環境等,在無須人協助的情況下由出發地駛向目的地,僅需起點和終點信息,汽車將全程負責行車安全,并完全不依賴駕駛員干涉,且不受特定道路的限制。

    注釋:DDT(Dynamic driving task):動態駕駛任務,指汽車在道路上行駛所需的所有實時操作和策略上的功能,不包括行程安排、目的地和途徑地的選擇等戰略上的功能。

    無人駕駛系統的核心可以概述為三個部分:感知(Perception),規劃(Planning)和控制(Control),這些部分的交互以及其與車輛硬件、其他車輛的交互可以用下圖表示:

    感知是指無人駕駛系統從環境中收集信息并從中提取相關知識的能力。其中,環境感知(Environmental Perception)特指對于環境的場景理解能力,例如障礙物的位置,道路標志/標記的檢測,行人車輛的檢測等數據的語義分類。 一般來說,定位(Localization)也是感知的一部分,定位是無人車確定其相對于環境的位置的能力。

    為了確保無人車對環境的理解和把握,無人駕駛系統的環境感知部分通常需要獲取周圍環境的大量信息,具體來說包括:障礙物的位置,速度以及可能的行為,可行駛的區域,交通規則等等。無人車通常是通過融合激光雷達(Lidar),相機(Camera),毫米波雷達(Millimeter Wave Radar)等多種傳感器的數據來獲取這些信息。

    車載雷達傳感器功能及優缺點各有不同,相關比較如下表所示:

    激光雷達 是一類使用激光進行探測和測距的設備,它能夠每秒鐘向環境發送數百萬光脈沖,它的內部是一種旋轉的結構,這使得激光雷達能夠實時的建立起周圍環境的3維地圖。

    通常來說,激光雷達以10Hz左右的速度對周圍環境進行旋轉掃描,其掃描一次的結果為密集的點構成的3維圖,每個點具備(x,y,z)信息,這個圖被稱為點云圖(Point Cloud Graph),如下圖所示,是使用Velodyne VLP-32c激光雷達建立的一個點云地圖:

    激光雷達因其可靠性目前仍是無人駕駛系統中最重要的傳感器,然而,在現實使用中,激光雷達并不是完美的,往往存在點云過于稀疏,甚至丟失部分點的問題,對于不規則的物體表面,使用激光雷達很難辨別其模式,另一個比較大的挑戰是一個比較大的挑戰是激光雷達感知范圍比較近,感知范圍平均在 150m 左右,這取決于環境和障礙物的不同。激光雷達在角分辨度上也遠遠不及照相機。激光雷達對環境的敏感度也是比較大的,例如雨天中,車輛行駛中濺起來的水花,在激光雷達上都是有噪點的。

    毫米波雷達 通過發射電磁波并通過檢測回波來探測目標的有無、距離、速度和方位。由于毫米波雷達技術相對成熟,成本較低,并且在不良天氣下表現良好,因此成為感知設備中重要的一環。但由于其分辨率較低,因此不能作為激光雷達的替代品,而是激光雷達的重要補充設備。

    攝像機 根據鏡頭和布置方式的不同主要有以下四種:單目攝像機、雙目攝像機、三目攝像機和環視攝像機。

    單目攝像機 模組只包含一個攝像機和一個鏡頭。由于很多圖像算法的研究都是基于單目攝像機開發的,因此相對于其他類別的攝像機,單目攝像機的算法成熟度更高。但是單目有著兩個先天的缺陷。一是它的視野完全取決于鏡頭。焦距短的鏡頭,視野廣,但缺失遠處的信息。反之亦然。因此單目攝像機一般選用適中焦距的鏡頭。二是單目測距的精度較低。攝像機的成像圖是透視圖,即越遠的物體成像越小。近處的物體,需要用幾百甚至上千個像素點描述;而處于遠處的同一物體,可能只需要幾個像素點即可描述出來。這種特性會導致,越遠的地方,一個像素點代表的距離越大,因此對單目來說物體越遠,測距的精度越低。

    雙目攝像機 由于單目測距存在缺陷,雙目攝像機應運而生。相近的兩個攝像機拍攝物體時,會得到同一物體在攝像機的成像平面的像素偏移量。有了像素偏移量、相機焦距和兩個攝像機的實際距離這些信息,根據數學換算即可得到物體的距離。雖然雙目能得到較高精度的測距結果和提供圖像分割的能力,但是它與單目一樣,鏡頭的視野完全依賴于鏡頭。而且雙目測距原理對兩個鏡頭的安裝位置和距離要求較多,這就會給相機的標定帶來麻煩。

    三目攝像機 由于單目和雙目都存在某些缺陷,因此廣泛應用于無人駕駛的攝像機方案為三目攝像機。三目攝像機其實就是三個不同焦距單目攝像機的組合。根據焦距不同,每個攝像機所感知的范圍也不盡相同。對攝像機來說,感知的范圍要么損失視野,要么損失距離。三目攝像機能較好地彌補感知范圍的問題。因此在業界被廣泛應用。正是由于三目攝像機每個相機的視野不同,因此近處的測距交給寬視野攝像頭,中距離的測距交給主視野攝像頭,更遠的測距交給窄視野攝像頭。這樣一來每個攝像機都能發揮其最大優勢。三目的缺點是需要同時標定三個攝像機,因而工作量更大。其次軟件部分需要關聯三個攝像機的數據,對算法要求也很高。

    環視攝像機, 之前提到的三款攝像機它們所用的鏡頭都是非魚眼的,環視攝像機的鏡頭是魚眼鏡頭,而且安裝位置是朝向地面的。某些高配車型上會有“360°全景顯示”功能,所用到的就是環視攝像機。安裝于車輛前方、車輛左右后視鏡下和車輛后方的四個魚眼鏡頭采集圖像,魚眼攝像機為了獲取足夠大的視野,代價是圖像的畸變嚴重。環視攝像機的感知范圍并不大,主要用于車身5~10米內的障礙物檢測、自主泊車時的庫位線識別等。

    為了理解點云信息,通常來說,我們對點云數據進行兩步操作:分割(Segmentation)和分類(Classification)。其中,分割是為了將點云圖中離散的點聚類成若干個整體,而分類則是區分出這些整體屬于哪一個類別(比如說行人,車輛以及障礙物)。分割算法可以被分類如下幾類:

    在完成了點云的目標分割以后,分割出來的目標需要被正確的分類,在這個環節,一般使用機器學習中的分類算法,如支持向量機(Support Vector Machine,SVM)對聚類的特征進行分類,最近幾年由于深度學習的發展,業界開始使用特別設計的卷積神經網絡(Convolutional Neural Network,CNN)對三維的點云聚類進行分類。

    實踐中不論是提取特征-SVM的方法還是原始點云-CNN的方法,由于激光雷達點云本身解析度低的原因,對于反射點稀疏的目標(比如說行人),基于點云的分類并不可靠,所以在實踐中,我們往往融合雷達和相機傳感器,利用相機的高分辨率來對目標進行分類,利用Lidar的可靠性對障礙物檢測和測距,融合兩者的優點完成環境感知。

    無人駕駛系統中,我們通常使用圖像視覺來完成道路的檢測和道路上目標的檢測。道路的檢測包含對道路線的檢測(Lane Detection),可行駛區域的檢測(Drivable Area Detection);道路上路標的檢測包含對其他車輛的檢測(Vehicle Detection),行人檢測(Pedestrian Detection),交通標志和信號的檢測(Traffic Sign Detection)等所有交通參與者的檢測和分類。

    車道線的檢測涉及兩個方面: 第一是識別出車道線,對于彎曲的車道線,能夠計算出其曲率,第二是確定車輛自身相對于車道線的偏移(即無人車自身在車道線的哪個位置) 。一種方法是抽取一些車道的特征,包括邊緣特征(通常是求梯度,如索貝爾算子),車道線的顏色特征等,使用多項式擬合我們認為可能是車道線的像素,然后基于多項式以及當前相機在車上掛載的位置確定前方車道線的曲率和車輛相對于車道的偏離。

    可行駛區域的檢測目前的一種做法是采用深度神經網絡直接對場景進行分割,即通過訓練一個逐像素分類的深度神經網絡,完成對圖像中可行駛區域的切割。

    交通參與者的檢測和分類目前主要依賴于深度學習模型,常用的模型包括兩類:

    傳感器層將數據以一幀幀、固定頻率發送給下游,但下游是無法拿每幀的數據去進行決策或者融合的。因為傳感器的狀態不是100%有效的,如果僅根據某一幀的信號去判定前方是否有障礙物(有可能是傳感器誤檢了),對下游決策來說是極不負責任的。因此上游需要對信息做預處理,以保證車輛前方的障得物在時間維度上是一直存在的, 而不是一閃而過。

    這里就會使用到智能駕駛領域經常使用到的一個算法 卡爾曼濾波。

    卡爾曼濾波(Kalman filter) 是一種高效率的遞歸濾波器(自回歸濾波器),它能夠從一系列的不完全及包含噪聲的測量中,估計動態系統的狀態??柭鼮V波會根據各測量量在不同時間下的值,考慮各時間下的聯合分布,再產生對未知變數的估計,因此會比只以單一測量量為基礎的估計方式要準。

    卡爾曼濾波在技術領域有許多的應用。常見的有飛機及太空船的導引、導航及控制??柭鼮V波也廣為使用在時間序列的分析中,例如信號處理及計量經濟學中??柭鼮V波也是機器人運動規劃及控制的重要主題之一,有時也包括在軌跡最佳化??柭鼮V波也用在中軸神經系統運動控制的建模中。因為從給與運動命令到收到感覺神經的回授之間有時間差,使用卡爾曼濾波有助于建立符合實際的系統,估計運動系統的目前狀態,并且更新命令。

    信息融合是指把相同屬性的信息進行多合一操作。

    比如攝像機檢測到了車輛正前方有一個障礙物,毫米波也檢測到車輛前方有一個障礙物,激光雷達也檢測到前方有一個障礙物,而實際上前方只有一個障礙物,所以我們要做的是把多傳感器下這輛車的信息進行一次融合,以此告訴下游,前面有輛車,而不是三輛車。

    坐標轉換在自動駕駛領域十分重要。

    傳感器是安裝在不同地方的比如超聲波雷達(假如當車輛右方有一個障礙物,距離這個超聲波雷達有3米,那么我們就認為這個障礙物距離車有3米嗎?并不一定,因為決策控制層做車輛運動規劃時,是在車體坐標系下做的(車體坐標系-般以后軸中心為O點)所以最終所有傳感器的信息,都是需要轉移到自車坐標系下的。因此感知層拿到3m的障礙物位置信息后,必須將該章礙物的位置信息轉移到自車坐標系下,才能供規劃決策使用。 同理,攝像機一般安裝在擋風玻璃下面,拿到的數據也是基于攝像機坐標系的,給下游的數據,同樣需要轉換到自車坐標系下。

    在無人車感知層面,定位的重要性不言而喻,無人車需要知道自己相對于環境的一個確切位置,這里的定位不能存在超過10cm的誤差,試想一下,如果我們的無人車定位誤差在30厘米,那么這將是一輛非常危險的無人車(無論是對行人還是乘客而言),因為無人駕駛的規劃和執行層并不知道它存在30厘米的誤差,它們仍然按照定位精準的前提來做出決策和控制,那么對某些情況作出的決策就是錯的,從而造成事故。由此可見,無人車需要高精度的定位。

    目前使用最廣泛的無人車定位方法當屬融合 全球定位系統(Global Positioning System,GPS)和慣性導航系統(Inertial Navigation System)定位方法 ,其中,GPS的定位精度在數十米到厘米級別之間,高精度的GPS傳感器價格也就相對昂貴。融合GPS/IMU的定位方法在GPS信號缺失,微弱的情況下無法做到高精度定位,如地下停車場,周圍均為高樓的市區等,因此只能適用于部分場景的無人駕駛任務。

    地圖輔助類定位算法是另一類廣泛使用的無人車定位算法, 同步定位與地圖構建(Simultaneous Localization And Mapping,SLAM) 是這類算法的代表,SLAM的目標即構建地圖的同時使用該地圖進行定位,SLAM通過利用已經觀測到的環境特征確定當前車輛的位置以及當前觀測特征的位置。這是一個利用以往的先驗和當前的觀測來估計當前位置的過程,實踐上我們通常使用貝葉斯濾波器(Bayesian filter)來完成,具體來說包括卡爾曼濾波(Kalman Filter),擴展卡爾曼濾波(Extended Kalman Filter)以及粒子濾波(Particle Filter)。SLAM雖然是機器人定位領域的研究熱點,但是在實際無人車開發過程中使用SLAM定位卻存在問題,不同于機器人,無人車的運動是長距離的,大開放環境的。在長距離的運動中,隨著距離的增大,SLAM定位的偏差也會逐漸增大,從而造成定位失敗。

    在實踐中,一種有效的無人車定位方法是改變原來SLAM中的掃描匹配類算法,具體來說,我們不再在定位的同時制圖,而是事先使用傳感器如激光雷達對區域構建點云地圖,通過程序和人工的處理將一部分“語義”添加到地圖中(例如車道線的具體標注,路網,紅綠燈的位置,當前路段的交通規則等等),這個包含了語義的地圖就是我們無人駕駛車的 高精度地圖(HD Map) 。實際定位的時候,使用當前激光雷達的掃描和事先構建的高精度地圖進行點云匹配,確定我們的無人車在地圖中的具體位置,這類方法被統稱為掃描匹配方法(Scan Matching),掃描匹配方法最常見的是迭代最近點法(Iterative Closest Point ,ICP),該方法基于當前掃描和目標掃描的距離度量來完成點云配準。

    除此以外, 正態分布變換(Normal Distributions Transform,NDT) 也是進行點云配準的常用方法,它基于點云特征直方圖來實現配準?;邳c云配準的定位方法也能實現10厘米以內的定位精度。雖然點云配準能夠給出無人車相對于地圖的全局定位,但是這類方法過于依賴事先構建的高精度地圖,并且在開放的路段下仍然需要配合GPS定位使用,在場景相對單一的路段(如高速公路),使用GPS加點云匹配的方法相對來說成本過高。

    拓展閱讀: L4 自動駕駛中感知系統遇到的挑戰及解決方案

    淺析自動駕駛的重要一環:感知系統發展現狀與方向

    無人車的規劃模塊分為三層設計:任務規劃,行為規劃和動作規劃,其中,任務規劃通常也被稱為路徑規劃或者路由規劃(Route Planning),其負責相對頂層的路徑規劃,例如起點到終點的路徑選擇。 我們可以把我們當前的道路系統處理成有向網絡圖(Directed Graph Network),這個有向網絡圖能夠表示道路和道路之間的連接情況,通行規則,道路的路寬等各種信息,其本質上就是我們前面的定位小節中提到的高精度地圖的“語義”部分,這個有向網絡圖被稱為路網圖(Route Network Graph),如下圖所示:

    這樣的路網圖中的每一個有向邊都是帶權重的,那么,無人車的路徑規劃問題,就變成了在路網圖中,為了讓車輛達到某個目標(通常來說是從A地到B地),基于某種方法選取最優(即損失最?。┑穆窂降倪^程,那么問題就變成了一個有向圖搜索問題,傳統的算法如迪科斯徹算法(Dijkstra’s Algorithm)和A 算法(A Algorithm)主要用于計算離散圖的最優路徑搜索,被用于搜索路網圖中損失最小的路徑。

    行為規劃有時也被稱為決策制定(Decision Maker),主要的任務是按照任務規劃的目標和當前的局部情況(其他的車輛和行人的位置和行為,當前的交通規則等),作出下一步無人車應該執行的決策,可以把這一層理解為車輛的副駕駛,他依據目標和當前的交通情況指揮駕駛員是跟車還是超車,是停車等行人通過還是繞過行人等等。

    行為規劃的一種方法是使用包含大量動作短語的復雜有限狀態機(Finite State Machine,FSM)來實現,有限狀態機從一個基礎狀態出發,將根據不同的駕駛場景跳轉到不同的動作狀態,將動作短語傳遞給下層的動作規劃層,下圖是一個簡單的有限狀態機:

    如上圖所示,每個狀態都是對車輛動作的決策,狀態和狀態之間存在一定的跳轉條件,某些狀態可以自循環(比如上圖中的循跡狀態和等待狀態)。雖然是目前無人車上采用的主流行為決策方法,有限狀態機仍然存在著很大的局限性:首先,要實現復雜的行為決策,需要人工設計大量的狀態;車輛有可能陷入有限狀態機沒有考慮過的狀態;如果有限狀態機沒有設計死鎖保護,車輛甚至可能陷入某種死鎖。

    通過規劃一系列的動作以達到某種目的(比如說規避障礙物)的處理過程被稱為動作規劃。通常來說,考量動作規劃算法的性能通常使用兩個指標:計算效率(Computational Efficiency)和完整性(Completeness),所謂計算效率,即完成一次動作規劃的處理效率,動作規劃算法的計算效率在很大程度上取決于配置空間(Configuration Space),如果一個動作規劃算法能夠在問題有解的情況下在有限時間內返回一個解,并且能夠在無解的情況下返回無解,那么我們稱該動作規劃算法是完整的。

    配置空間:一個定義了機器人所有可能配置的集合,它定義了機器人所能夠運動的維度,最簡單的二維離散問題,那么配置空間就是[x, y],無人車的配置空間可以非常復雜,這取決于所使用的運動規劃算法。

    在引入了配置空間的概念以后,那么無人車的動作規劃就變成了:在給定一個初始配置(Start Configuration),一個目標配置(Goal Configuration)以及若干的約束條件(Constraint)的情況下,在配置空間中找出一系列的動作到達目標配置,這些動作的執行結果就是將無人車從初始配置轉移至目標配置,同時滿足約束條件。在無人車這個應用場景中,初始配置通常是無人車的當前狀態(當前的位置,速度和角速度等),目標配置則來源于動作規劃的上一層——行為規劃層,而約束條件則是車輛的運動限制(最大轉角幅度,最大加速度等)。顯然,在高維度的配置空間來動作規劃的計算量是非常巨大的,為了確保規劃算法的完整性,我們不得不搜索幾乎所有的可能路徑,這就形成了連續動作規劃中的“維度災難”問題。目前動作規劃中解決該問題的核心理念是將連續空間模型轉換成離散模型,具體的方法可以歸納為兩類:組合規劃方法(Combinatorial Planning)和基于采樣的規劃方法(Sampling-Based Planning)。

    運動規劃的組合方法通過連續的配置空間找到路徑,而無需借助近似值。由于這個屬性,它們可以被稱為精確算法。組合方法通過對規劃問題建立離散表示來找到完整的解,如在Darpa城市挑戰賽(Darpa Urban Challenge)中,CMU的無人車BOSS所使用的動作規劃算法,他們首先使用路徑規劃器生成備選的路徑和目標點(這些路徑和目標點事融合動力學可達的),然后通過優化算法選擇最優的路徑。另一種離散化的方法是網格分解方法(Grid Decomposition Approaches),在將配置空間網格化以后我們通常能夠使用離散圖搜索算法(如A*)找到一條優化路徑。

    基于采樣的方法由于其概率完整性而被廣泛使用,最常見的算法如PRM(Probabilistic Roadmaps),RRT(Rapidly-Exploring Random Tree),FMT(Fast-Marching Trees),在無人車的應用中,狀態采樣方法需要考慮兩個狀態的控制約束,同時還需要一個能夠有效地查詢采樣狀態和父狀態是否可達的方法。

    自動駕駛汽車的車輛控制技術旨在環境感知技術的基礎之上,根據決策規劃出目標軌跡,通過縱向和橫向控制系統的配合使汽車能夠按照跟蹤目標軌跡準確穩定行駛,同時使汽車在行駛過程中能夠實現車速調節、車距保持、換道、超車等基本操作。

    互聯網科技公司主要做軟件,以工程機上層為主;而車廠其實以下層的組裝為主,也就是OEM,也不是那么懂車。像制動、油門和轉向等這些領域,話語權依然集中在博世、大陸這樣的Tier 1身上。

    自動駕駛控制的核心技術是車輛的縱向控制和橫向控制技術??v向控制,即車輛的驅動與制動控制;橫向控制,即方向盤角度的調整以及輪胎力的控制。實現了縱向和橫向自動控制,就可以按給定目標和約束自動控制車運行。所以,從車本身來說,自動駕駛就是綜合縱向和橫向控制。

    車輛縱向控制是在行車速度方向上的控制,即車速以及本車與前后車或障礙物距離的自動控制。巡航控制和緊急制動控制都是典型的自動駕駛縱向控制案例。這類控制問題可歸結為對電機驅動、發動機、傳動和制動系統的控制。各種電機-發動機-傳動模型、汽車運行模型和剎車過程模型與不同的控制器算法結合,構成了各種各樣的縱向控制模式,典型結構如圖所示。

    此外,針對輪胎作用力的 滑移率控制 是縱向穩定控制中的關鍵部分?;坡士刂葡到y通過控制車輪滑移率調節車輛的縱向動力學特性來防止車輛發生過度驅動滑移或者制動抱死,從而提高車輛的穩定性和操縱性能。制動防抱死系統(antilock brake system)簡稱 ABS,在汽車制動時,自動控制制動器制動力的大小,使車輪不被抱死,處于邊滾邊滑(滑移率在 20%左右)的狀態,以保證地面能夠給車輪提供最大的制動作用力值。一些智能滑移率控制策略利用充足的環境感知信息設計了隨道路環境變化的車輪最有滑移率調節器,從而提升輪胎力作用效果。

    智能控制策略,如模糊控制、神經網絡控制、滾動時域優化控制等,在縱向控制中也得到廣泛研究和應用,并取得了較好的效果,被認為是最有效的方法。

    而傳統控制的方法, 如PID控制和前饋開環控制 ,一般是建立發動機和汽車運動過程的近似線形模型,在此基礎上設計控制器,這種方法實現的控制,由于對模型依賴性大及模型誤差較大,所以精度差、適應性差。從目前的論文和研究的項目看,尋求簡單而準確的電機-發動機-傳動、剎車過程和汽車運動模型,以及對隨機擾動有魯棒性和對汽車本身性能變化有適應性的控制器仍是研究的主要內容。

    車輛橫向控制指垂直于運動方向上的控制,對于汽車也就是轉向控制。目標是控制汽車自動保持期望的行車路線,并在不同的車速、載荷、風阻、路況下有很好的乘坐舒適性和穩定性。

    車輛橫向控制主要有兩種基本設計方法,一種是基于駕駛員模擬的方法;另一種是給予汽車橫向運動力學模型的控制方法?;隈{駛員模擬的方法,一種策略是使用較簡單的運動力學模型和駕駛員操縱規則設計控制器;另一策略是用駕駛員操縱過程的數據訓練控制器獲取控制算法?;谶\動力學模型的方法要建立較精確的汽車橫向運動模型。典型模型是所謂單軌模型,或稱為自行車模型,也就是認為汽車左右兩側特性相同。橫向控制系統基本結構如下圖??刂颇繕艘话闶擒囍行呐c路中心線間的偏移量,同時受舒適性等指標約束。

    自動駕駛使用的是什么技術

    【太平洋汽車網】自動駕駛本身就是一項技術,而且自動駕駛分為好幾個等級,每個等級的原理和所使用的技術又是不同的。自動駕駛需要通過以下四步才可以完成:信息收集、分析識別、行動決策、設備控制。

    什么是WaymoRobotTaxi激光雷達方案Waymo在RobotTaxi上耕耘了很長一段時間,隨著在美國向公眾開放沒有安全員的無人駕駛出租車服務,也是全球首次向公眾開放完全無人駕駛出租車。Waymo的技術核心是圍繞激光雷達的一整套系統套件。

    圖2Waymo的架構從技術層面來看,自動駕駛方面的關鍵技術不僅包含汽車本身的硬件/軟件平臺、系統安全平臺、整車通信平臺、核心算法等基礎技術,也包括云控平臺的系統架構和核心算法,最重要的核心器件是中央處理器、云端域控制器等。這里不僅包括面向自動駕駛配套的集成化的主干網加多域控制的新型電子電器架構作為基礎。針對智能駕駛控制部分,L2級及以下采用基于MCU的多ECU分布式控制方式,而L3以上則必須采用基于高性能SOC(SystemonChip)構建的域控制器的集中控制策略。以環境感知數據、GPS信息、車輛實時數據和V2X交互數據等作為輸入,基于環境感知定位、路徑決策規劃和車輛運動控制等核心控制算法,輸出驅動、傳動、轉向和制動等執行控制指令,實現車輛的自動控制,并通過人機交互界面(如儀表)實現自動駕駛信息的人機交互。為了實現智能駕駛系統高性能和高安全性的控制需求,匯集了多項關鍵技術:包括基礎硬件/軟件平臺技術、系統安全平臺技術、整車通信平臺技術、云計算平臺技術、核心控制算法技術等。

    圖3自動駕駛相關的核心軟件內核目前在自動駕駛領域,傳統車企和科技企業合作是一個很有意思的趨勢。例如在華為合作方面中,ARCFOX極狐的阿爾法S華為HI版是其首款落地的產品,也是圍繞自動駕駛配置激光雷達的一款車型,是面向城市道路自動駕駛能力的設計的車型,覆蓋多個場景如城區、高速、停車場的全場景點到點通行,從使用特性的設計方面,是嘗試讓用戶可以擁有從小區車庫到公司車庫的連續自動駕駛體驗的一款作品。

    自動駕駛及關鍵技術難點

    自動駕駛是汽車行業新一輪的技術革命,推動著傳統汽車行業快速轉型升級,是未來汽車的發展趨勢。自動駕駛技術有利于改善汽車交通安全、提高交通運輸效率、實現節能減排、促進產業轉型等?!吨袊圃?025》規劃中已將智能網聯汽車列入未來十年國家智能制造發展的重點領域,明確指出到2020年要掌握智能輔助駕駛總體技術及各項關鍵技術,到2025年要掌握自動駕駛總體技術及各項關鍵技術。本文將介紹自動駕駛等級分類標準、自動駕駛軟硬件架構圖以及自動駕駛涉及到的關鍵技術等。

    美國汽車工程師協會根據汽車智能化程度將自動駕駛分為L0-L5共6個等級:其中L0為無自動化(No Automation, NA),即傳統汽車,駕駛員執行所有的操作任務,例如轉向、制動、加速、減速或泊車等;L1為駕駛輔助(Driving Assistant, DA),即能為駕駛員提供駕駛預警或輔助等,例如對方向盤或加速減速中的一項操作提供支持,其余由駕駛員操作;L2為部分自動化(Partial Automation,PA),車輛對方向盤和加減速中的多項操作提供駕駛,駕駛員負責其他駕駛操作;L3為條件自動化(Conditional Automation,CA),即由自動駕駛系統完成大部分駕駛操作,駕駛員需要集中注意力以備不時之需;L4為高度自動化(High Automation,HA),由車輛完成所有駕駛操作,駕駛員不需要集中注意力,但限定道路和環境條件;L5為完全自動化(Full Automation, FA),在任何道路和環境條件下,由自動駕駛系統完成所有的駕駛操作,駕駛員不需要集中注意力。

    自動駕駛汽車的軟硬件架構如圖2所示,主要分為環境認知層、決策規劃層、控制層和執行層。環境認(感)知層主要通過激光雷達、毫米波雷達、超聲波雷達、車載攝像頭、夜視系統、GPS、陀螺儀等傳感器獲取車輛所處環境信息和車輛狀態信息,具體來說包括:車道線檢測、紅綠燈識別、交通標識牌識別、行人檢測、車輛檢測、障礙物識別和車輛定位等;決策規劃層則分為任務規劃、行為規劃和軌跡規劃,根據設定的路線規劃、所處的環境和車輛自身狀態等規劃下一步具體行駛任務(車道保持、換道、跟車、超車、避撞等)、行為(加速、減速、轉彎、剎車等)和路徑(行駛軌跡);控制層及執行層則基于車輛動力學系統模型對車輛驅動、制動、轉向等進行控制,使車輛跟隨所制定的行駛軌跡。

    自動駕駛技術涉及較多的關鍵技術,本文主要介紹環境感知技術、高精度定位技術、決策與規劃技術和控制與執行技術。

    環境感知指對于環境的場景理解能力,例如障礙物的類型、道路標志及標線、行車車輛的檢測、交通信息等數據的語言分類。定位是對感知結果的后處理,通過定位功能從而幫助車輛了解其相對于所處環境的位置。環境感知需要通過傳感器獲取大量的周圍環境信息,確保對車輛周圍環境的正確理解,并基于此做出相應的規劃和決策。

    自動駕駛車輛常用的環境感知傳感器包括:攝像頭、激光雷達、毫米波雷達、紅外線和超聲波雷達等。攝像頭是自動駕駛車輛最常用、最簡單且最接近人眼成像原理的環境感知傳感器。通過實時拍攝車輛周圍的環境,采用CV技術對所拍攝圖像進行分析,實現車輛周圍的車輛和行人檢測以及交通標志識別等功能。攝像頭的主要優點在于其分辨率高、成本低。但在夜晚、雨雪霧霾等惡劣天氣下,攝像頭的性能會迅速下降。此外攝像頭所能觀察的距離有限,不擅長于遠距離觀察。毫米波雷達也是自動駕駛車輛常用的一種傳感器,毫米波雷達是指工作在毫米波段(波長1-10 mm ,頻域30-300GHz)的雷達,其基于ToF技術(Time of Flight)對目標物體進行檢測。毫米波雷達向外界連續發送毫米波信號,并接收目標返回的信號,根據信號發出與接收之間的時間差確定目標與車輛之間的距離。因此,毫米波雷達主要用于避免汽車與周圍物體發生碰撞,如盲點檢測、避障輔助、泊車輔助、自適應巡航等。毫米波雷達的抗干擾能力強,對降雨、沙塵、煙霧等離子的穿透能力要比激光和紅外強很多,可全天候工作。但其也具有信號衰減大、容易受到建筑物、人體等的阻擋,傳輸距離較短,分辨率不高,難以成像等不足。激光雷達也是通過ToF技術來確定目標位置與距離的。激光雷達是通過發射激光束來實現對目標的探測,其探測精度和靈敏度更高,探測范圍更廣,但激光雷達更容易受到空氣中雨雪霧霾等的干擾,其高成本也是制約其應用的主要原因。車載激光雷達按發射激光束的數量可分為單線、4線、8線、16線和64線激光雷達??梢酝ㄟ^下面這個表格(表1),對比主流傳感器的優勢與不足。

    自動駕駛環境感知通常采用“弱感知+超強智能”和“強感知+強智能”兩大技術路線。其中“弱感知+超強智能”技術是指主要依賴攝像頭與深度學習技術實現環境感知,而不依賴于激光雷達。這種技術認為人類靠一雙眼睛就可以開車,那么車也可以靠攝像頭來看清周圍環境。如果超強智能暫時難以達到,為實現無人駕駛,那就需要增強感知能力,這就是所謂的“強感知+強智能”技術路線。相比“弱感知+超強智能”技術路線,“強感知+強智能”技術路線的最大特征就是增加了激光雷達這個傳感器,從而大幅提高感知能力。特斯拉采用“弱智能+超強智能”技術路線,而谷歌Waymo、百度Apollo、Uber、福特汽車等人工智能企業、出行公司、傳統車企都采用“強感知+強智能”技術路線。

    定位的目的是獲取自動駕駛車輛相對于外界環境的精確位置,是自動駕駛車輛必備的基礎。在復雜的地市道路行駛,定位精度要求誤差不超過10 cm。例如:只有準確知道車輛與路口的距離,才能進行更精確的預判和準備;只有準確對車輛進行定位,才能判斷車輛所處的車道。如果定位誤差較高,嚴重時會造成交通完全事故。GPS是目前最廣泛采用的定位方法,GPS精度越高,GPS傳感器的價格也越昂貴。但目前商用GPS技術定位精度遠遠不夠,其精度只有米級且容易受到隧道遮擋、信號延遲等因素的干擾。為了解決這個問題,Qualcomm開發了基于視覺增強的高精度定位(VEPP)技術,該技術通過融合GNSS全球導航衛星、攝像頭、IMU慣性導航和輪速傳感器等多個汽車部件的信息,通過各傳感器之間的相互校準和數據融合,實現精確到車道線的全球實時定位。

    決策規劃是自動駕駛的關鍵部分之一,它首先是融合多傳感器信息,然后根據駕駛需求進行任務決策,接著能夠在避開存在的障礙物前提之下,通過一些特定的約束條件,規劃出兩點之間多條可以選擇的安全路徑,并在這些路徑當中選擇一條最優的路徑,作為車輛行駛軌跡,那就是規劃。按照劃分的層面不同,可以分為全局規劃和局部規劃兩種,全局規劃是由獲取到的地圖信息,規劃出一條在特定條件之下的無碰撞最優路徑。例如,從上海到北京有很多條路,規劃處一條作為行駛路線即為全局規劃。如柵格法、可視圖法、拓撲法、自由空間法、神經網絡法等靜態路徑規劃算法。局部規劃的則是根據全局的規劃,在一些局部環境信息的基礎之上,能夠避免碰撞一些未知的障礙物,最終達到目的目標點的過程。例如,在全局規劃好的上海到北京的那條路線上會有其他車輛或者障礙物,想要避過這些障礙物或者車輛,需要轉向調整車道,這就是局部路徑規劃。局部路徑規劃的方法包括:人工勢場法、矢量域直方圖法、虛擬力場法、遺傳算法等動態路徑規劃算法等。

    決策規劃層是自主駕駛系統,智能性的直接體現,對車輛的行駛安全性和整車起到了決定性的作用,常見的決策規劃體系結構,有分層遞進式,反應式,以及二者混合式。

    分層遞進式體系結構,就是一個串聯系統的結構,在該系統當中,智能駕駛系統的各模塊之間次序分明,上一個模塊的輸出即為下一模塊的輸入,因此又稱為感知規劃行動結構。但這種結構可靠性并不高,一旦某個模塊出現軟件或者硬件故障,整個信息流就會受到影響,整個系統很有可能發生崩潰,甚至處于癱瘓狀態。

    反應式體系結構采用并聯的結構,控制層都可以直接基于傳感器的輸入進行決策,因此它所產生的動作就是傳感數據直接作用的一個結果,可以突出感知動作的特點,適用于完全陌生的環境。反應式體系結構中的許多行為主要涉及成為一個簡單的特殊任務,所以感覺規劃控制可以緊密的結合在一塊,占用的儲存空間并不大,因而可以產生快速的響應,實時性比較強,同時每一層只需要負責系統的某一個行為,整個系統可以方便靈活的實現低層次到高層次的一個過渡,而且如若其中一個模塊出現了預料之外的故障,剩下的層次,仍然可以產生有意義的動作,系統的魯棒性得到了很大的提高,難點在于,由于系統執行動作的靈活性,需要特定的協調機制來解決各個控制回路,同意執行機構爭奪之間的沖突,以便得到有意義的結果。

    分層遞階式系統的一個結構和反應式體系的結構,都各自有優劣,都難以單獨的滿足行駛環境復雜多變的使用要求,所以越來越多的行業人士開始研究混合式的體系結構,將兩者的優點進行有效的結合,在全局規劃的層次上生成面向目標定義的分層式遞階行為,在局部規劃的層面上就生成面向目標搜索的反應式體系的行為。

    自動駕駛的控制核心技術就是車輛的縱向控制,橫向控制,縱向控制及車輛的驅動和制動控制,而橫向控制的就是方向盤角度的調整以及輪胎力的控制,實現了縱向和橫向自動控制,就可以按給定目標和約束自動控制車運行。

    車輛按照縱向控制是在行車速度方向上的控制,即車速以及本車與前后車或障礙物距離的自動控制。巡航控制和緊急制動控制都是典型的自動駕駛縱向控制案例。這類控制問題可歸結為對電機驅動、發動機、傳動和制動系統的控制。各種電機-發動機-傳動模型、汽車運行模型和剎車過程模型與不同的控制器算法結合,構成了各種各樣的縱向控制模式。

    車輛的橫向控制就是指垂直于運動方向的控制,目標是控制汽車自動保持期望的行車路線,并在不同的車速、載荷、風阻、路況下有很好的乘坐舒適和穩定。車輛橫向控制主要有兩種基本設計方法,一種是基于駕駛員模擬的方法(一種是使用用較簡單的動力學模型和駕駛員操縱規則設計控制器;另一種是用駕駛員操縱過程的數據訓練控制器獲取控制算法);另一種是給予汽車橫向運動力學模型的控制方法(需要建立精確的汽車橫向運動模型。典型模型如單軌模型,該模型認為汽車左右兩側特性相同)。

    除上述介紹的環境感知、精準定位、決策規劃和控制執行之外,自動駕駛汽車還涉及到高精度地圖、V2X、自動駕駛汽車測試等關鍵技術。自動駕駛技術是人工智能、高性能芯片、通信技術、傳感器技術、車輛控制技術、大數據技術等多領域技術的結合體,落地技術難度大。除此之外,自動駕駛技術落地,還要建立滿足自動駕駛要求的基礎交通設施,并考慮自動駕駛方面的法律法規等。

    參考文獻:

    1. 張放. 極限工況下自動駕駛車輛的軌跡規劃與運動控制 [博士]: 清華大學; 2018.

    2. 陳文強. 基于復雜工況的高精準可預測自動駕駛環境認知方法 [博士]: 清華大學; 2018.

    3. 張欣. 無人駕駛感知輔助系統的研究與仿真實現 [碩士]: 北京交通大學; 2019.

    4. 陳延真. 無人駕駛環境感知系統及障礙物檢測研究 [碩士]: 天津大學; 2018.

    自動駕駛基礎軟件架構的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于自動駕駛基礎架構部、自動駕駛基礎軟件架構的信息別忘了在本站進行查找喔。

    掃碼二維碼