AI系列之自動駕駛(二):你需要知道的三層控制系統
自動駕駛是控制工程學與人工智能學交叉的一個學科。如何使控制工程學與人工智能協調運行呢,以下筆者將從三個層級進行闡述:底層控制系統、中層控制系統和上層控制系統。
機器人學家漢斯·莫拉維克曾經就機器執行簡單的自動化任務,進行過精辟的總結:
想讓計算機在高階智力測驗方面達到,甚至超越成人的水平是相對簡單的??墒牵绻胍屗_到,哪怕是一歲小孩對世界那樣的感知能力、無意識的直覺和趨利避害的生物天性,卻是極為困難的,甚至是不可能的,是為“莫拉維克悖論”。
自上個世紀五十年代提出人工智能的概念以來,起起伏伏,潮起潮落,符號主義、專家系統、深度學習等理論先后登場,都是為了一個目的:創造出一個可以像人一樣思考、像人一樣行動、像人一樣感知、理性的行動和決策的系統。
千方百計運用各種理念和手段,只為達成一種類人的智能體,這在某種程度上說是一種“上帝造物”行為。
直到今天,我們很容易可以讓機器代替人類完成90%的,甚至99%的決策和行動??汕∏∧遣坏桨俜种坏膮^間,像一片極難跨過的禁區一樣橫亙在我們面前。這是人工智能的鴻溝,也是自動駕駛的愿景能否落地的根本。
AI的三個階段中,可執行快速計算和記憶存儲的計算智能階段已然邁過,基于深度學習的感知智能階段我們尚在努力。但可以執行想象、情感等人類獨有能力的認知智能還沒有有效的實現途徑,當然這要基于各項相關基礎學科的研究成果,或許真有實現的一天也未可知。
自動駕駛能否實現L5級的無人境界,某種程度完全取決于:人工智能對于剩下1%的研究和應用程度。
相信現存的技術瓶頸遲早會得到解決,但我們已知的任何操作系統都無法保證完全的可靠性。相反,操作系統出錯的概率某種程度是無可避免的,現存最精密的操作系統也會頻繁出問題。而且,越是龐大的系統越是難以預測會出現的問題,那種動輒數百萬行甚至上千萬行代碼的電腦操作系統就是明證。
軟件操作系統還要協調管理龐雜的硬件組件系統,硬件的任何不穩定性甚至會反向影響軟件的進程,如此犬牙交錯的連接關系,想要不出任何問題,難如登天。
行文至此,那就意味著:無人駕駛如果想要突破這一切,達到實現100%的完美(即不會出現任何碰撞、事故和失誤)是極為困難,甚至不可能的。如果要不允許操作系統存在出錯的概率,且必須基于此才能取得合法地位,那么,無人駕駛的愿景可能永遠都是空中樓閣。
那么,亟待解決的問題就來了:無人駕駛的特殊性在于,電腦系統的故障可能對我們的生活和工作帶來一定的困擾,而無人駕駛汽車一旦發生故障,卻很可能會發生無可挽回的事故。
那么,究竟將無人駕駛的故障發生時間,或者法定的容錯率設定在何種域值內,才是合理的,或者說是可以被接受的。
安全行駛時間是一個很好的衡量指標。
但是,如果一輛自動駕駛汽車的安全使用時長是人類安全操作時長的數倍或者數十倍呢?
后面立文再做討論,沒摟住,扯遠了,現在我們轉向本文的宗旨:對于自動駕駛汽車的控制系統的討論。
自動駕駛:一個控制工程學和人工智能的交叉學科。
控制工程學主要解決汽車機械零部件的協調運行和復雜系統的控制管理,通過信息的輸入和輸出與環境進行交互反饋;人工智能則為自動駕駛系統提供保證其完美運行的智能決策體系。
二者如何協調運行,我們從三個層級進行闡述:
一、底層控制系統
我們可以將涉及汽車底層機械元件的操控行為,或硬件反饋控制系統——例如:剎車、加速和汽車轉向,都歸為底層控制系統。
底層控制的核心任務是:保證各項硬件系統穩定的運行在計算好的最佳設定值上;保證各項子系統的運行維持在最優的區間范圍;規避可能性風險,精準調控至最佳路徑。
其背后是一套均衡理論:通過調動汽車的所有控制系統,將汽車的行駛狀態始終控制在某種平穩的均衡狀態。
當然,這背后依賴的是龐大的傳感器數據反饋、計算力和反饋控制系統。例如:當車速過低時,增加汽油注入來提高車速;當車速過快時,減少汽油注入,將實際車速降至預定安全值。簡單來說,就像一套自動穩定器一樣。
底層控制系統涉及的算法種類繁多,但其核心都是:確保某個部件系統甚至整個系統的流暢運行。
隨著傳感器接收到的數據量越來越大,機器學習技術將會發揮更大的作用。
想要完美的操控機器達到預定目標,需要工程師們的不懈努力。
這里,我們簡單舉一個具有代表性的例子:“滯后時間”概念。
自動駕駛系統本身就需要有非常靈敏,且即時的操控反饋系統。在執行風險規避動作,或者相關異常情況下,需要即時決策即時反饋。
如果汽車硬件系統在此過程中,出現較長的時間延遲反饋,比如:在視野范圍內,突然出現需要規避的障礙物,決策系統雖然發出了規避指令,但是機械活動卻耗費了更多的時間。那么,就可能出現不可容忍的意外發生。
燃油發動機注入燃料的過程,也同時伴隨著機械的、化學的活動過程。從動力的產生到傳導,以及相關控制元件的聯動都是需要時間的,這就產生了“滯后時間”。
“滯后時間”的存在就意味著:汽車的啟動、加減速、轉向、剎車燈都難以進行精準的時間控制。
當然,絕對的精準控制是不可能的,但是,如何將“滯后時間”的負面效應降到最???如何將控制反饋系統的運行時間竭力壓縮?卻是可以精益求精的方向。
一種解決方案是:引入預測算法、投入更加強大的計算力。
預測算法可以通過傳感器隨時回傳的環境數據流,監控行車環境,提升情境識別的能力。并結合靜態地圖、周遭自然環境,精準計算行車時點的燃料注入量,使得發動機可以始終恒速運行,提前對異常情況進行控制準備。
強大的計算力可以極大縮短數據處理時間,即時提供決策指令,并配合算法為恒速運行和精準計時提供更高的準確度。
另外一種解決方案是:干脆舍棄燃油發動機直接改用電動式發動機。只要為引擎配置好特定的電壓電位,引擎就始終能即時產生對應程度的力矩,為行車提供動力。
當然這也是巨頭們紛紛將電動式引擎配置在他們的原型車上的原因之一。
二、中層控制系統
中層控制系統主要依靠強大的算法和計算力來支撐其運行,其工作原理包括四個模塊:
- 是一款可以針對汽車行車環境進行三維數字建模并進行即時、持續的更新的軟件工具,名曰“占據柵格”。
- 是一個深度學習軟件,用于標記和識別汽車傳感器流入的原始數據,并借助算法通過數據分析對汽車周遭的物體進行識別分類。
- 是使用“不確定性錐”替代汽車環境物體,并進行動作預測。
- 即短期軌跡規劃器,負責引導汽車進行障礙躲避,并保證汽車始終處于交通規則的范圍內執行行駛動作。
首先,我們明確占據柵格就是一個三維空間模型,這個空間模型填充著兩種數據:一種是內置的高清地圖的靜態數據;一種是來源于汽車傳感器源源不斷地環境數據,并且根據行車進程進行即時更新。
環境數據通過第二個模塊的深度學習軟件,進行物體識別,并可用特殊符號對物體進行標記。
至此,高清地圖數據將為“占據柵格”的三維數字空間填充道路圖像,并且根據汽車行駛路徑,進行持續變換。由深度學習軟件識別的物體,也根據傳感器的探測數據分布在三維數字空間中的汽車周邊并進行實時更新。一個模擬現實的空間環境就產生了。
到了這一步,還是遠遠不夠的,系統僅僅能夠知道:“汽車處于地圖的什么位置?”“哪些地方分布著哪些物體?”
但是,汽車要想安全的行駛,還需要知道:“這些物體即將要行駛的軌跡?!焙汀叭绾我巹澛窂奖荛_這些移動或靜止的物體?”,以達到安全行駛的目標。
這個時候具備物體軌跡預測能力的“不確定性錐”就登場了——它可以預測汽車附近物體的位置、可能的軌跡方向和移動速度。
一旦第二模塊的深度學習軟件識別標記了一個物體,占據柵格就會顯示它的存在,不確定性錐就會預測該物體下一步的移動方向。
不確定性錐為自動駕駛系統提供了一定的場景理解能力,可以像人一樣在瞬間完成對于周邊環境的感知以及預測判斷,為第四模塊的行車路徑規劃提供了有力的決策依據。
那不確定性錐是如何工作的呢?
在占據柵格中每個物體的周圍畫出一個小圓圈,稱為“當前活動區域”。然后根據未來十秒鐘后,物體所有可能到達的位置再畫一個大圓圈,稱為“未來活動圈”。最后用線將小圈和大圈連起來就得到了“不確定性錐”。
所以,快速移動的物體,錐體的形狀相對較大,難以預測的物體,錐體形狀也會增大,例如:搖擺不定的自行車、四處游蕩的小狗和踢球的孩子。
相反,容易預測的——比如:靜態物體,因為不太可能會移動,所以錐體形狀較小。
當然錐體也會根據特殊情況進行預測處理,比如:死胡同、轉彎角這種雖然是靜態物體,但是可能存在風險的地方,錐體形狀也會增大。所以,通過對錐體大小的判斷,系統就可以識別周邊物體的活動軌跡和范圍。
我們利用這種具備軌跡預測功能的“不確定性錐”代替物體,這樣,自動駕駛系統就得到了占據柵格中,各個物體的移動軌跡范圍和方向,為安全的路徑規劃提供了依據。
當前三個模塊都完成了之后,第四個模塊短期軌跡規劃器就登場了。當汽車附近的物體都被標記成大小不一的不確定性錐的時候,軌跡規劃器就可以調用精密的算法,算出最佳的行駛路線,減少事故發生的可能性。
三、上層控制系統
上層控制系統負責汽車整個行駛過程中的路徑規劃和導航工作,而這兩者功能實現的基礎就是“搜索算法”。
搜索算法需要憑借強大的計算力,去在一個問題的眾多的解決方案中,尋找出一條最佳解決解決方案。
因為在此過程中,搜索算法需要對所有的解決方案進行評估,由此該算法會占用大量的系統資源,所以充足的計算能力是該算法高效運行的必要條件。
應用到自動駕駛系統中就是:憑借搜索算法將起始地與目的地之間所有可能的備選路徑,依次羅列并自動進行優劣的等級排序,從而在眾多備選路徑中找出最佳行駛路線。
而搜索算法中應用最廣的可能就是A*算法,該算法通過在搜索中加入代價函數檢索路徑占用的成本,與到達目標位置需要付出的樂觀預計成本相結合,得出最終所要付出的代價。
應用到自動駕駛系統中,只需要研發人員調整A*算法中的代價函數,就可以評估眾多的駕駛行為各自需要付出的成本代價。該算法省去了搜索過程中的大量重復計算行為,實現對最短路線的精準定位。
總結
“莫拉維克悖論”解釋了:為什么自動駕駛汽車到目前為止還沒有大規模的落地應用?
關鍵技術的突破商待時日,按照目前的形式來看不會很遠。
本文也是筆者自己的學習筆記,分享出來,與大家一起討論,共同進步。
本文由 @江天一隅 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
那么,中層控制系統相比來說更加重要,對吧?
總結一下,底層控制系統負責控制車輛按照預期行駛,中層控制系統負責了解周遭環境及運行軌跡,并對短距離路線進行規劃,上層控制系統則需要站在自動駕駛的角度考慮出發地到目的地間哪條線路是最合適的。
是這樣嗎?