Coursera自动驾驶课程第2讲:The Requirements for Autonomy
上一講《Coursera自動駕駛課程第1講:Welcome to the self-driving cars specialization》對本課程進行了整體概述,同時回顧了自動駕駛汽車的發展歷史。
從本講我們開始進入正式的學習,我們將首先了解到如何劃分自動駕駛汽車等級、以及自動駕駛三大模塊:感知、決策和執行。
B站視頻鏈接:https://www.bilibili.com/video/BV1WE411D74g?p=1
文章目錄
- 1.Taxonomy of Driving Automation
- 1) Terms and Definitions
- 2) How to classify driving system automation?
- 3) Autonomous Capabilities (重點)
- 2.Requirements for Perception
- 1)Overview
- 2)What is perception
- 3)Goals for perception(理解)
- 1)Static objects
- 2)Dynamic objects(on-road)
- 4)Challenges to perception
- 3.Driving Decisions and Actions
- 1)Overview
- 2)Example:Turning left at an intersection
- 3)Reactive Planning
- 4.Module Summary
1.Taxonomy of Driving Automation
1) Terms and Definitions
這里介紹了一些專業術語,可以將整個汽車駕駛任務劃分三個子任務:
- 第一個子任務是“環境感知”。包括跟蹤汽車的運動,以識別我們周圍世界的各種元素,例如路面,路標,車輛,行人等。
- 第二個子任務是“運動計劃”。例如,可以想象從家中開車去辦公室。因此,只需要考慮應該走哪條路,何時應該改變車道或過十字路口等。
- 最后,我們需要通過“車輛控制”來控制汽車。因此,有時需要做出適當的轉向,加減速決策,以控制車輛在道路上的位置和速度。這三個子任務構成了主要的駕駛任務,需要在駕駛車輛時不斷執行。
同時還將介紹了操作設計域概念或簡稱ODD。 ODD構成了給定系統在其下運行的工作條件。它包括環境,一天中的時間,道路和其他性能,這些性能將使汽車可靠運行。明確定義自動駕駛汽車的工作條件,對于確保系統安全至關重要。因此,需要事先仔細計劃ODD。
2) How to classify driving system automation?
在劃分自動駕駛系統時需要思考幾個問題:
- 首先需要多少駕駛員注意力?例如,駕駛員可以在開車上班時看電影嗎?還是需要始終保持對方向盤的關注?定義自主級別時,駕駛員的注意力是要考慮的關鍵問題之一。
- 其次,實際上需要多少駕駛員操作?例如,您需要操縱嗎?汽車會控制速度還是駕駛員自己控制速度?是否需要更改車道,或者汽車可以在沒有任何干預的情況下停留在當前車道上?當我們說汽車可以自動駕駛時,我們到底需要期待什么?
- 到底什么組成了駕駛任務?下圖給出了描述自動化程度不斷提高的駕駛任務的方法。
- 首先,我們有側向控制功能,這是指在道路上進行側向操縱和導航的任務。向左,向右轉,筆直或跟蹤曲線等。
- 接下來,我們進行縱向控制。這是我們通過制動或加速之類的動作來控制汽車在道路上的位置或速度的任務。
- 然后我們稱對象和事件檢測與響應為OEDR。OEDR本質上就是檢測立即影響駕駛任務的對象和事件并對它們做出適當反應的能力。 OEDR實際上涵蓋了自動駕駛的很大一部分。因此,與特定的操作設計域結合使用,以對當前的自動駕駛系統進行分類。
- 接下來是規劃。規劃是駕駛的另一個重要方面。由于即時響應已成為OEDR的一部分,因此計劃主要涉及到目的地或執行操作(例如傾斜變更和交叉路口)所需的長期和短期計劃。
- 最后,人們在開車時還要完成一些其它任務。其中包括諸如打電話,聽歌等。
3) Autonomous Capabilities (重點)
關于自動駕駛能力的劃分,可以從以下幾方面來考慮:
- 首先,該系統可以處理轉向任務或橫向控制嗎?
- 第二,它可以執行加速,制動和速度操縱任務還是縱向控制?
- 第三,系統能否執行對象和事件的檢測和響應,并且達到什么程度?
- 最后,系統可以在所有場景和所有條件下執行嗎? 還是它可以安全處理的ODD或操作條件有限?
這里介紹了SAE對自動駕駛等級劃分,標準如下:
- 0級。在此級別中,沒有任何駕駛自動化,一切都由駕駛員完成。
- 1級。系統可以通過執行橫向或縱向控制任務來輔助駕駛員。在·自適應巡航控制或ACC·中,系統可以控制汽車的速度。 但是它需要駕駛員進行轉向。 因此它可以執行縱向控制,但需要人工執行橫向控制。 同樣,車道保持輔助系統·也是1級。
- 2級。在第二級中,系統在特定的駕駛場景中同時執行橫向和縱向控制任務。 例子有GM 的Super Cruise和日產的Pro Pilot Assist。 這些可以控制橫向和縱向運動,但始終需要駕駛員對系統進行監控。
- 3級。在三級或有條件自動化級別中,系統除了可以執行控制任務之外,還可以在一定程度上執行“對象和事件檢測”。 但是,在發生故障的情況下,控制權必須由駕駛員承擔。
第二級和第三級之間的主要區別在于,駕駛員無需在某些特定情況下注意車輛行駛狀態,因為車輛可以及時提醒駕駛員進行干預。但這是一個有爭議的自動化水平, 因為系統不一定總能知道何時發生故障。 三級系統的一個例子是奧迪A Luxury Sedan,它是一種自動駕駛系統,可以在交通緩慢時不受監控地導航。 - 4級。系統可以自行處理緊急情況,但仍可能要求駕駛員接管。 截至2018年秋季,Waymo車隊可以在特定的一組工況下,在定義的地理區域內完成駕駛任務,而無需人工駕駛。
- 5級。 系統可以在任何必要的條件下運行。目前還沒有任何有關第5級的示例。
2.Requirements for Perception
1)Overview
任何駕駛任務大致都可以分為兩個部分。
首先,我們需要了解周圍發生的事情以及我們所處的位置。 因此,我們需要感知周圍的環境。
其次,我們需要做出驅動決策。 例如,在行人要進入車道之前,我們應該加速還是停車? 任何駕駛任務都需要某種OEDR,也就是說,我們需要某種方式來識別周圍的物體,識別在我們附近發生的事件并對其做出響應。
2)What is perception
正如我們所討論的:我們希望能夠了解周圍的環境與我們之間所處的關系。
我們想了解它的運動,如汽車,騎自行車的人,公共汽車等。它是否以某種可以告訴我們下一步將要做什么的方式前進。作為人類,我們真的很擅長以上運動模式。但是,計算機系統仍然很難像我們一樣快地識別出我們周圍的這些相同模式。我們可以指向一輛直行的汽車,然后說:“哦,將來它會在這個位置上處于這個位置。”這就是使駕駛成為可能的原因。 **因此,這種預測移動物體軌跡的能力對于感知而言確實很重要。**如果我們可以正確地進行此預測,則可以做出明智的決策。例如,如果我知道我前面的汽車下一步將要做什么,那么我可以以實現我們兩個目標的方式決定下一步要做什么。
3)Goals for perception(理解)
1)Static objects
讓我們討論一下我們需要為感知任務識別的各種元素。
- 我們需要確定靜態目標。這些元素包括道路和車道標記,分隔斑馬線等道路區域的內容以及重要信息,例如前方學校。 這些都在道路區域。
- 然后還有路邊,它們定義了我們可以行駛的邊界。 有一些道路交通信號會定期更改并發出信號,指示您是允許向前行駛,向左行駛還是向右行駛,或者只是保持停車狀態。 然后有各種各樣的路標,例如那些告訴您限速,指示方向,是否要上醫院或要上學的路標等等。
- 最后,還有道路障礙物。
2)Dynamic objects(on-road)
我們需要識別道路上的其他車輛,例如卡車,公共汽車,汽車等四輪車,然后還需要識別并預測兩個輪車的運動,如摩托車,自行車等。這些都是比四輪車擁有更大自由度的移動系統,因此很難預測。
最后,我們還應該能夠識別和預測我們周圍行人的運動。行人的行為方式與車輛的行為截然不同,因為眾所周知,行人的運動方式比車輛更不穩定,因為人類在行進中具有固有的自由度。感知的另一個關鍵目標是自我定位。
我們需要能夠估計我們在任何時間點的位置以及前進的方向。了解我們的位置以及我們在環境中的運轉方式對于做出明智而安全的駕駛決策至關重要。用于自我運動估計的數據來自GPS,IMU和里程傳感器,并且需要組合在一起以生成我們位置的連續軌跡。
4)Challenges to perception
環境感知挑戰大致可以以下幾個部分:
-
首先,進行強有力的環境感知是一個巨大的挑戰。可以使用現代機器學習方法來進行檢測和分割。大型數據集對于此工作至關重要。有了更多的訓練數據,我們的分割和檢測模型將表現得更好,更強大,但是針對所有可能的車輛類型,天氣狀況和路面收集和標記數據是一個非常昂貴且耗時的過程。
-
其次,環境感知受傳感器影像很大。在很多情況下,能見度可能很具有挑戰性,或者GPS測量值被破壞,或者LIDAR和Radar返回的位置值很嘈雜。依賴于這些傳感器的每個子系統都必須考慮不確定的測量。這就是為什么在每個感知任務中設計能夠適應傳感器不確定性和損壞的測量結果的子系統至關重要的原因。然后在相機或LIDAR數據中會產生諸如遮擋和反射的影響。這些會使感知方法與含糊不清的信息混淆,這些信息難以解析為對象位置的準確估計。還有一些影響,例如劇烈的照明變化和鏡頭眩光,或GPS在隧道和車庫中信號弱,使某些傳感器數據完全不可用。
感知方法需要多個冗余信息源來克服傳感器數據丟失。最后,天氣和降水會對傳感器輸入數據的質量產生不利影響。因此,至關重要的是,至少要有一些不受不同天氣條件影響的傳感器,例如雷達。
3.Driving Decisions and Actions
1)Overview
在做出駕駛決策時,常見的三種決策是:
-
1.長期決策。例如,如何從紐約到洛杉磯或從家中去上班?通過回答這個問題,我們制定了任務計劃,這是整個駕駛任務的高級計劃。在今天使用的地圖應用程序能夠提供以下駕駛說明:要走的道路,要進入的車道等等。
-
2.短期決策。可能會存在以下問題:現在換車道安全嗎?或者什么時候應該在交叉路口左轉?
-
3.即時決策。這些決策涉及控制和軌跡規劃。例如,如何在這條彎曲的道路上行駛?應該使用什么轉向輸入?應該加速還是剎車等等?。
2)Example:Turning left at an intersection
下面討論一個非常簡單的駕駛任務示例,并嘗試考慮涉及哪種決策。假設你正在回家的路上接近交叉路口。長期規劃的話你需要在這個交叉路口向左轉。看看這一過程會發生什么?
- 首先,由于汽車是左轉彎,因此必須確定是否需要將車道更改為左轉車道。然后,當接近交叉路口時,可以選擇減速并平穩地行駛,以使乘客不會感到不適。
- 然后,在人行橫道前停車。
但這些關于換道和停車位置的決策都是短期計劃決策。此外還需要思考和應對過程中出現的情況。我們仍然需要對象和事件檢測與響應。如果車輛駛入前面的轉彎車道怎么辦?如果沒有標記停止線怎么辦?這是駕駛員必須大致判斷隱含的停車線在哪里,然后在人行橫道之前停車。如果后面還有其他車輛,甚至在十字路口停了車怎么辦?左轉彎的決策如何根據正常駕駛中可能迅速出現的許多可能情況而變化?
可以看見以上所有這些決策都屬于即時決策,由于要考慮的可能性很多,不難發現決策在駕駛中是很復雜的。
3)Reactive Planning
讓我們繼續討論可能的結構,用軟件來表示這些決策。解決多層次決策挑戰的一種方法是Reactive Planning。在被動規劃中,我們定義了幾組規則,這些規則要考慮到自我車輛和環境中其他物體的當前狀態并立即采取行動。因此,這些規則僅考慮當前狀態,不考慮未來的預測。這樣的規則的一些示例是,如果路上有行人,則停車。或者,如果速度限制發生變化,請調整速度以使其匹配。在這兩個規則中,我們只觀察當前發生的情況,然后根據即時可用的信息做出決定。
在預測性規劃中,我們對環境中的其他媒介(例如車輛和行人)如何隨時間推移做出預測。我們使用當前狀態和預測信息來定義所有決策。預測性規劃中的一些規則示例是,汽車在過去10秒鐘內停了下來。在接下來的幾秒鐘內可能會停止。因此,也許我可以安全地通過它。或有行人在馬路上閑逛。當我靠近他們時,他們將進入我的車道。讓我放慢腳步,讓他們有機會通過我前面的馬路。這是一種更自然的思考方式,與人類操作車輛的方式密切相關。在做出決策之前,我們會預測道路上其他物體可能的運動。但是,這種類型的規劃依賴于環境中其他參與者的行為的準確預測,這給感知任務增加了相當大的復雜性。
盡管如此,預測性規劃是自動駕駛汽車的主要方法,因為它極大地擴展了車輛可以安全處理的場景。
4.Module Summary
快速回顧一下本周學到的知識。 在本模塊中,我們:
- 探索了基本的自動駕駛術語。 然后,我們討論了自動化的級別`,并提出了一種分類法來描述自動駕駛功能。
- 我們定義駕駛任務和駕駛的主要組成部分:感知,規劃和執行。
- 我們列出了需要識別和跟蹤感知的環境中的元素和主體。 我們還討論了為什么感知如此困難。
- 我們討論了具有不同視野的規劃,并研究了一些決策方法。
總結
以上是生活随笔為你收集整理的Coursera自动驾驶课程第2讲:The Requirements for Autonomy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nymse.exe - Nymse是什么
- 下一篇: 跟上安卓步伐!拥有息屏显示功能的iPho