本文為馬薩諸塞大學阿默斯特分校實驗室研究助理Neil Nie的自動駕駛高爾夫球車項目,兩個人花了一年半的時間,實現(xiàn)了自動巡航、避障等功能,盡管目前的方案還不夠成熟,但他們一路鉆研自動駕駛的熱情值得學習。
Neil Nie 是馬薩諸塞大學阿默斯特分校Joshua J. Yang實驗室的研究助理,在電子工程和微控制器方面有豐富的經(jīng)驗。他在App Store上發(fā)布了數(shù)十款應用,曾在一次TEDx講座中,向大眾科普過機器學習算法。
從2017年9月開始,他和他的朋友邁克爾一直在開發(fā)一款自動駕駛高爾夫球車。現(xiàn)在,車輛可以在某些道路上完成自動跟隨,同時避開障礙物,物體檢測、交通燈檢測、車道檢測、路徑規(guī)劃以及本地化和地圖等內(nèi)容也在逐步實現(xiàn)。在Neil 的博客上,他們公布了開發(fā)的過程以及處理的模塊/組件列表。智車科技整理了其博客的主要內(nèi)容,以供研究者參考。
一、線控驅(qū)動系統(tǒng)
線控驅(qū)動系統(tǒng)(DBW)是自動駕駛汽車最基礎的部分之一,Neil也碰了很多次壁。擅長硬件的他,首選了通過硬件去控制車輛轉(zhuǎn)向。在方向盤的底部安裝了 TETRIX齒輪,并制作了一個電機支架,將電機安裝在轉(zhuǎn)向柱上,使用高扭矩直流電機來控制車輛,然而硬件控制并不可靠。
歷時三個月的探索,Neil決定換一種思路,他拆開了原來的轉(zhuǎn)向系統(tǒng),用買來的ServoCity執(zhí)行器換掉了原有的線性執(zhí)行器,然后將其連接到 Arduino(黑客加速器),來控制車輛。
二、具有深度學習的自主轉(zhuǎn)向系統(tǒng)
完成了線控改裝后,Neil 將整個系統(tǒng)整合在高爾夫球車上。改裝組件主要包括:NVIDIA Jetson(車輛的主控制器)、車輛前部的網(wǎng)絡攝像頭、電腦顯示器、鼠標鍵盤、用于轉(zhuǎn)向的直流電機、帶有電機控制器模塊的Arduino、用于為轉(zhuǎn)向電機供電的NiMH電池、外部電源等,不同布線將各個元件安裝在車上。
車輛改裝完畢后,自然要讓無人車動起來。Neil選擇了有名的NVIDIA 端到端控制,使用深度學習預測轉(zhuǎn)向角度,將單個前置攝像頭的原始像素直接映射到轉(zhuǎn)向命令。在自主轉(zhuǎn)向系統(tǒng)神經(jīng)網(wǎng)絡架構設計中,分別參考了Comma.AI、NVIDIA、小型VGG網(wǎng)絡、以及訓練的 ConvNet 網(wǎng)絡。
三、使用分割和檢測的基本避障系統(tǒng)
自動駕駛汽車最重要的一個方面是了解周圍的世界。Neil深信使用相機和計算機視覺技術就可以實現(xiàn)這一目標,而不是使用傳統(tǒng)的雷達或激光雷達。
多年來,在FCN(完全卷積網(wǎng)絡)的初始提議之后,存在許多用于圖像分割的不同網(wǎng)絡架構,如SegNet和DeepLab。盡管它們具有出色的性能,但這些網(wǎng)絡并不適合所有情況,處理能力非常有限。Neil最終選擇了使用由普渡大學和波蘭華沙大學的研究人員提出的實時圖像分割網(wǎng)絡ENet。
ENet的好處是它可以在Jetson上以~10fps的速度運行。這是一個巨大的好處,特別是在自動駕駛車等應用中。使用CityScapes數(shù)據(jù)集進行培訓,拿到在模擬軟件中訓練好的模型,邁克爾和Neil 開始測試車輛的自動轉(zhuǎn)向和巡航控制系統(tǒng)。不幸的是,測試基本上沒有成功。在系統(tǒng)和測試條件方面遇到很多問題。這促使他們開始思考系統(tǒng)的魯棒性,特別是語義分割系統(tǒng)。
首先是陰影,卷積神經(jīng)網(wǎng)絡在處理陰影方面非常糟糕。他們的訓練數(shù)據(jù)集沒有很多陰影圖像訓練模型,導致圖像分割網(wǎng)絡感覺是根據(jù)顏色和形狀來執(zhí)行像素分類。
右邊是原始圖像,部分區(qū)域有陰影。左邊是分割結果。帶圓圈的區(qū)域表明網(wǎng)絡將陰影既視為道路,也認為是障礙。
再一個是路面積水,在測試期間遇到潮濕路面時,網(wǎng)絡表現(xiàn)極差??赡苁翘柕姆瓷浜偷缆返钠婀稚?。
還有太陽眩光,神經(jīng)網(wǎng)絡可以通過眩光正確地分割道路。然而,空中的部分往往會被略過,車輛在這條路上行駛時,誤分類不會影響性能。
陰影的問題是困擾大多數(shù)ConvNets的問題。最直接的解決方案是使數(shù)據(jù)集多樣化,并包含更多帶陰影和反射的圖像。但是,創(chuàng)建該數(shù)據(jù)集非常困難。第二種解決方案是使用更好的網(wǎng)絡進行分段,例如RCNN。更準確的權衡是速度和記憶。使用更好的網(wǎng)絡將意味著需要升級當前的車輛計算機。
有了語義分割圖像,Jetson簡單地處理來自攝像機的視覺輸入,并運行分段分析,然后利用串行通信從Jetson發(fā)送到Arduino,根據(jù)圖像輸入逐步控制車輛的不同狀態(tài),實現(xiàn)自動巡航。
目前,Neil 已完成了第一階段的開發(fā),第二階段將更專注于使系統(tǒng)更安全,更可靠。逐步實施本地化系統(tǒng),寫一個路徑規(guī)劃器,在地理圍欄環(huán)境中收集更多數(shù)據(jù),改善計算機硬件并改進傳感器系統(tǒng)。定位模塊使用GPS(全球定位系統(tǒng))來找到車輛的精確位置遠遠不夠。需要開發(fā)使用激光雷達和雷達(傳感器融合和粒子濾波器)的定位。
盡管Neil的方案還比較粗糙,但是他們對無人駕駛的熱情值得肯定,期待他們逐步完善系統(tǒng),打造更可靠的無人駕駛高爾夫球車。
-
電機
+關注
關注
142文章
9088瀏覽量
146385 -
驅(qū)動系統(tǒng)
+關注
關注
3文章
375瀏覽量
27034 -
自動駕駛
+關注
關注
785文章
13932瀏覽量
167017
原文標題:自動駕駛高爾夫球車項目
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論