自動駕駛區別於其它工業機器人最重要的一點是安全性,一套演算法一個功能需要長期在不同環境下測試,適應不同駕駛場景,我覺得目前自動駕駛的瓶頸在三點,第一定位,第二感知辨識,第三智慧決策。
做機器人的應該知道定位是機器人需要解決的的首要問題之一,普通gps定位精度是達不到無人車行駛要求的,目前大部份無人車上使用的是gps+imu,誤差在米級,價格可以買一輛C級車了,進一步還有使用差分定位的,如RTK,PPP,誤差可以控制在厘米級,但是這種定位方式在有遮擋的情況下誤差無法滿足汽車行駛需要,在高架下可能就扭起來了,在樹林裏多路經效應也會使精度大打折扣,總之外源定位資訊有靠不住的時候,需要無人車能夠進行自定位,即Localization,如果一輛車跑過一個環境想下次再跑時利用下那就需要構建這個環境的地圖,即Mapping,綜合起來就是SLAM,目前比較成熟的是使用雷射雷達的slam方法,視覺的還處於實驗室階段。slam所需要面臨的挑戰也很多,動態目標的幹擾、環境特征的缺失都會引入誤差,做的比較好的是德國弗萊堡大學、CMU,史丹佛等,有一個法國企業叫Dibotics做的挺厲害,無人車可用的SLAM系統還需要繼續研究,Google最新開源的slam演算法效果如何還沒有試過,估計現在不會把無人車套用級別的開源。
感知辨識比較好理解,把交通環境中的各個要素資訊提取出來,包括車道線辨識、行人辨識、車輛跟蹤辨識、紅綠燈辨識以及交通指示牌辨識,目前的演算法完成這些任務效果都比較好了,但所有的演算法都有適用範圍,單作為輔助駕駛的一個模組足夠了,但自動駕駛場景太復雜,演算法失效的結果會導致非常嚴重的後果(特斯拉車禍致死事故就是很好的代表),再強調一點行駛安全是最主要的,其它功能不過是景上添花。目前很多演算法都是根據人的經驗寫就的,有很多沒有考慮到的異常狀況,這就需要大量的測試。現在深度學習演算法比較流行,取得了很好的效果,它在自動駕駛中的作用我拭目以待。目前沒有一套能夠測試無人車效能的標準,什麽時候能夠達到人類駕駛水平是沒有準確定義的,圖靈測試對無人車的測試有效性我持懷疑態度,扯的遠了,感知辨識是目前人類正在攻克的一個難題。
決策是無人駕駛系統中最好實作的部份,但也是最難搞定的部份,簡單點的一個交通規則集合就可以讓一輛車跑起來,但深入下去會發現還有很多東西需要做,其他車輛的意圖預測、駕駛行為的選擇,以及自身駕駛行為對其它車輛的可理解性,前兩個是我目前在做的課題,後一個是我時常思考的問題,有一輛車在減速左轉,它是要換道還是掉頭,如果它是在調頭我該保持車速過去還是等它完成動作再過去,很多開車的人應該有體會,算是雙方的賽局吧,谷歌16年2月14日的碰撞事故是意圖判斷錯誤導致的;如果無人車產品化,在未來一段時間人和無人車將會長期共存,無人車的駕駛行為需要被人理解。
更新一下,看了輝達的end to end解決方案,效果也不錯,但我不放心把安全交給一個黑箱,此外如果該方案執行中出現了錯誤,我該如何升級它也是一個問題,餵給它多少數據才能達到實用級的需求無法確定,訓練中的反例如何獲取也是一個問題,可能還需要新的架構吧,歡迎有想法的人一起交流下