2017年7月Apollo 1.0在Github上正式發(fā)布。當(dāng)在新聞上讀到這條消息——“Apollo 1.0開放封閉場(chǎng)地的自動(dòng)駕駛能力”時(shí),我就在想,我們的農(nóng)場(chǎng)就是封閉場(chǎng)地,是否可以把Apollo 1.0用做公司機(jī)器人系統(tǒng)的無(wú)人駕駛模塊呢?
第二天,一到公司我就把源碼下載下來(lái),開始配置運(yùn)行環(huán)境。當(dāng)用Rosbag在Dreamview里跑起系統(tǒng)自帶的Demo時(shí),我還是很興奮的,立刻被Apollo圈粉了。Apollo是一個(gè)比較完整的開放平臺(tái),而且對(duì)林肯車和推薦硬件做了適配,偏重實(shí)戰(zhàn)。如果按照推薦方案配置,3天之內(nèi)實(shí)現(xiàn)自動(dòng)駕駛并不夸張。然而基于安全性、可靠性等因素,平臺(tái)推薦的硬件配置高、價(jià)格昂貴,這對(duì)農(nóng)業(yè)場(chǎng)景并不適用。
我認(rèn)為無(wú)人駕駛技術(shù)最終的目的是服務(wù)大眾,讓人們的生活更便捷、更美好。實(shí)際上,這項(xiàng)技術(shù)可以應(yīng)用在很多行業(yè),尤其是農(nóng)業(yè)場(chǎng)景,比較容易落地。如果能夠簡(jiǎn)化,實(shí)現(xiàn)低成本的方案,將大大加快無(wú)人駕駛在農(nóng)業(yè)領(lǐng)域的發(fā)展。所以,簡(jiǎn)化這項(xiàng)技術(shù),使其更貼近大眾是非常值得一試的。因此,我們嘗試了低成本的硬件方案,下面將和大家分享一下適配過(guò)程。
1
車平臺(tái)
首先,要有一部實(shí)驗(yàn)車。我們改裝了一部越野電動(dòng)車,由一個(gè)專營(yíng)電動(dòng)車的車行定制而成。該車底盤為200x100cm,四輪都有減震,是一個(gè)越野底盤,后橋裝有一臺(tái)差速電機(jī),能跑40km/h。
此外,我們加裝了EPS轉(zhuǎn)向助力系統(tǒng)和角度傳感器,同時(shí)更換了電機(jī)控制器,用來(lái)實(shí)現(xiàn)線控和RC遙控。然后,我們模擬農(nóng)場(chǎng)環(huán)境做了測(cè)試,經(jīng)過(guò)幾次迭代,在進(jìn)一步改裝之后,增強(qiáng)了車身的可靠性和穩(wěn)定性,使其可以比較順暢的在顛簸路面上行駛。
(ThorTec農(nóng)場(chǎng)無(wú)人駕駛實(shí)驗(yàn)車)
2
硬件平臺(tái)
Apollo 1.0推薦的硬件主要有:IPC、GNSS接收機(jī)、IMU和PCI-CAN卡。在1.0中定位是關(guān)鍵模塊,只有實(shí)現(xiàn)厘米級(jí)的定位,才能實(shí)現(xiàn)無(wú)人駕駛。
IMU的優(yōu)點(diǎn)是頻率高,在高速的情況下表現(xiàn)好,缺點(diǎn)是存在累計(jì)誤差,需要GNSS提供的絕對(duì)位置來(lái)糾偏。而GNSS設(shè)備頻率低,恰好是在低速時(shí)表現(xiàn)好,并且在定位絕對(duì)位置時(shí),采用RTK差分可以實(shí)現(xiàn)厘米級(jí)定位。
我們的測(cè)試場(chǎng)景是封閉園區(qū)低速行駛,速度不超過(guò)10km/h。于是,我們對(duì)定位設(shè)備做了裁剪,去掉了IMU,采用Novatel 617D 板卡RTK差分定位,同時(shí)采用雙天線取得航向,最終實(shí)現(xiàn)位置精度2cm,航向精度1°的厘米級(jí)定位。PCI-CAN卡使用esdcan-pcie402,IPC選用普通的工控機(jī)。GPS設(shè)備的裁剪一項(xiàng),使成本降低了10幾萬(wàn)元,實(shí)現(xiàn)了我們的目標(biāo)。
3
軟件平臺(tái)
我們主要對(duì)以下5個(gè)模塊做了修改:
1.GPS驅(qū)動(dòng)模塊:主要解析Novatel 617D 的三個(gè)協(xié)議,BestPos,BestVel和Heading。BestPos解析出WGS84大地坐標(biāo);BestVel解析水平和垂直速度;Heading解析航向角。具體內(nèi)容可以參閱Nvatel的技術(shù)說(shuō)明書。
2.Localization:定位模塊的修改,目的是將原來(lái)通過(guò)IMU獲取的航向、線性速度等數(shù)據(jù)替換為GNSS接收機(jī)解析的數(shù)據(jù)。
3.Canbus:添加角度傳感器,并適配車輛的控制器CanOpen協(xié)議。
4.Control:Apollo 1.0使用通用的LQR和PID控制算法,分別實(shí)現(xiàn)車輛動(dòng)力學(xué)的橫向和縱向控制。這里我們主要修改了控制模塊的配置文件,針對(duì)我們的車輛調(diào)整各項(xiàng)參數(shù),為控制模塊輸入合適的參數(shù),保證控制模塊輸出正確的指令。
5.Common模塊:使用GNSS接收機(jī)獲取的數(shù)據(jù),修改預(yù)瞄算法。
最后,我們模擬農(nóng)場(chǎng)環(huán)境,成功的進(jìn)行了測(cè)試驗(yàn)證。事實(shí)證明,我們的低成本方案是可行的,完全實(shí)現(xiàn)了Apollo1.0封閉場(chǎng)地?zé)o人駕駛。
我們?cè)谶m配過(guò)程中遇到的很多問(wèn)題,都在Apollo開發(fā)者社區(qū)中得到了開發(fā)者和Apollo工程師的解答,這對(duì)我們的幫助很大。這里,我把我們的適配過(guò)程給大家做了簡(jiǎn)單的分享,希望同樣對(duì)大家有所助益。
-
無(wú)人駕駛
+關(guān)注
關(guān)注
98文章
4038瀏覽量
120309 -
Apollo
+關(guān)注
關(guān)注
5文章
340瀏覽量
18409
原文標(biāo)題:開發(fā)者說(shuō) | Apollo 1.0適用于農(nóng)業(yè)場(chǎng)景的低成本適配過(guò)程分享
文章出處:【微信號(hào):Apollo_Developers,微信公眾號(hào):Apollo開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論