自駕車之路 (Recap)
Path Plaining 作業終於寫完了,不過想先總結回顧一下目前為止學過的東西(順便刷一下存在感)。過去課程主要分成三個大方向,也是機器人科學常見的三個部分:
- 自動車知覺 Perception
- 自動車的控制 Action
- 自動車的認知與決策 Cognition & Decision
自動車的知覺
自動車上面有很多偵測器(Sensor),最常見的幾種就是攝影機,雷達(Radar),雷射(Lidar)。三種皆有不同的特型/價格/精準度,詳細的差別稍後說明,目前主流的幾家自駕車公司對於要使用哪些Sensor也有些不同的看法,但基本上大部分的公司看起來還是全部都用。
Lidar:利用反射雷射光的相位差來測距,精準度很高透過旋轉Lidar可以得到3D的資料,白天晚上都適用,缺點是在下雨下雪起霧時效果比較差。Lidar又大又貴一般都裝在車頂,也因此汽車的腳下會有一些看不見的死角。

Radar: 利用無線電波的反射來偵測物體,精度較差但也相對便宜一台車可以裝很多個。最大的優點是可以測出其他物體的相對速度,更多細節和比較可以參考之前Kalman Filter的作業
Camera:就是攝影機,無法直接偵測出距離/速度,不同的時空環境下也會有很多雜訊(反光,陰影…)但由於電腦視覺及人工智慧技術的發展,我們對影像中能夠擷取出來的資訊也越來越多,因此可以說是目前最夯的項目。

基於上述的三種Sensor,學生們學會了用 Kalman Filter來做Sensor fusion 來互補Lidar/Radar彼此的缺點,也學會了基本的影像處理來做車道偵測還有用機器學習做交通號誌的辨識和汽車的追蹤。特過以上這些技術,自動車才終於能理解外面的世界長什麼樣。
自動車的決策
在自動車能夠辨識出汽車/路標/道路…之後,最重要的第一件事就是定位。汽車必須理解自己現在的位置才能把人載去想去的地方。在此我們學會了用Particle Filter來定位汽車現在在地圖中的位置。
理解了汽車的位置後,自動車必須根據車速/車距/法規…等因素做出決策然後規劃出路徑,這就是我目前正在上的第三個學期的課程內容。學生會學習一些Path Plaining的演算法 A*, Hybrid A*, 還有一些比較實務上面的做法,在此我先跳過之後的文章會再補上更多細節。
自動車的控制
自動控制本身就是一門大學問,課程主要聚焦在當汽車規劃出一條理想的路徑之後實際上該如何去執行,汽車的方向盤/油門/煞車該如何操控。課程中學生先學習了汽車的基本物理性質(汽車轉彎的模式,啟動/煞車的模式…)然後再用基本的PID Control還有更進階的Model Predictive Control,讓汽車可以穩穩地按照規劃的路徑去走。
ML != AI
這兩個學期的課下來,最大的收穫就是學習了基本的ML(機器學習),對自動車的一些常用技術也有了基本的了解,學會了如何去比較各種技術的優劣和如何去截長補。
最近幾年最夯的技術就是深度學習了,辦隨著ImageNet之類的大量資料出現加上阿法狗慘電人類之後許多人開始相信DL可以拿來解決任何問題。加上NVIDIA的大力推行以及Elon Musk的加持,不少公司都聚焦在使用純DL的方法解決自駕車的問題。

雖然DL+CNN在影像辨識上有許多優勢,但難免還是有一些Deep Learning 還無法處理的地方(見上圖)另外目前來說DL對於理解更複雜的高維度空間/時間還不夠成熟,加上DL這個黑盒子非常難Debug,傳統軟體產品Test Driven的方式也有潛在Overfitting的問題,因此主流的公司都還是採用比較混合(Robotics + ML)的方法來實作自駕車的技術(e.g. 用ML來做辨識和預測+用Robotics來做路徑規劃+控制)但不可否認的,隨著運算能力和資料的增加,Machine Learning在AI中扮演的角色一定會越來越重要。
結論
第三個學期的選修我還是會選Deep Learning 希望到時候可以做出一些很酷的東西跟大家分享
