千應(yīng)慶,王曉鋒,李鐵,聶文琪
(1.南京理工大學(xué),江蘇南京210094;2.上海電控研究所,上海200092)
全自主移動車輛面向各種工況,任務(wù)多樣,所采用的控制方法也不同。文中針對高速公路,采用了六輪獨(dú)立驅(qū)動移動平臺。全自主移動車輛需要的傳感系統(tǒng)種類眾多,包括激光雷達(dá)、GPS接收器、主動攝像頭、垂直陀螺儀等。上位機(jī)通過這些傳感系統(tǒng)對外界信息進(jìn)行采集,并對這些信息進(jìn)行高速處理,然后把需要的任務(wù)命令下達(dá)給下位機(jī)PowerPC控制器,從而實(shí)現(xiàn)車輛的無人駕駛、自主導(dǎo)航。最后,實(shí)驗(yàn)完成了車輛前進(jìn)、后退、轉(zhuǎn)彎等動作,文中的研究工作對全自主移動車輛控制系統(tǒng)有一定的借鑒意義。VxWorks軟件平臺。
圖1 全自主移動車輛示意圖
圖2 控制卡實(shí)物圖
圖3為車輛下位機(jī)控制系統(tǒng)現(xiàn)場總線CAN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖。
文中介紹的車輛控制系統(tǒng),主要包括兩大部分:一是實(shí)時(shí)操作系統(tǒng) VxWorks,二是現(xiàn)場總線 CAN網(wǎng)絡(luò)。
圖1為全自主移動車輛示意圖,車輛采用六輪獨(dú)立驅(qū)動[1]。
圖2為車輛控制卡實(shí)物圖,搭載PowerPC硬件和
圖3 全自主移動車輛CAN網(wǎng)絡(luò)拓?fù)鋱D
VxWorks是美國Wind River公司專門為嵌入式微處理器設(shè)計(jì)的一種高模塊化、高性能的實(shí)時(shí)多任務(wù)操作系統(tǒng),具有很高的安全性、可靠性和系統(tǒng)靈活性,它以良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。在美國的F-16、F/A-18戰(zhàn)斗機(jī)、B-2隱形轟炸機(jī)和愛國者導(dǎo)彈上,甚至連1997年7月在火星表面登陸的火星探測器,2008年5月在火星表面上登陸的鳳凰號火星探測器,2011年首飛的X-47B無人機(jī),2012年8月在火星表面上登陸的好奇號火星探測器上也都使用到了VxWorks。
Tornado是一套強(qiáng)大的圖形化嵌入式集成開發(fā)環(huán)境,如圖4所示的開發(fā)環(huán)境TornadoII,是最新一代嵌入式實(shí)時(shí)應(yīng)用開發(fā)和調(diào)試環(huán)境的代表[2]。
圖4 TornadoII界面
文中創(chuàng)建一個(gè)bootable型的工程,工程創(chuàng)建完畢后,產(chǎn)生、拷貝了一系列文件,其中usrAppInit.c中包含VxWorks映像應(yīng)用程序入口函數(shù)usrAppInit(),類似于C語言的main()函數(shù),usrAppInit()函數(shù)是應(yīng)用程序入口函數(shù)。
如圖4所示,將初始化程序initCan()放在程序入口函數(shù)usrAppInit()中,在initCan()函數(shù)中建立了Task_1、Task_2和Task_3三個(gè)任務(wù):
工程任務(wù)框圖如圖5所示,3個(gè)任務(wù)之間的調(diào)度規(guī)則符合VxWorks系統(tǒng)任務(wù)調(diào)度規(guī)則,現(xiàn)做如下分析:由于 task_1的優(yōu)先級是101,高于 task_2和task_3,task_1被優(yōu)先執(zhí)行,其次是task_2,最后是task_3,在執(zhí)行程序段1時(shí),根據(jù)taskLock()的特點(diǎn),處理器不會被task_2或task_3搶占;task_1執(zhí)行完成后,根據(jù)task_Unlock()的特點(diǎn),處理器被釋放,而后執(zhí)行taskDelay(3),taskDelay(3)會導(dǎo)致task_1在指定的延時(shí)期間 (3*tick,60tick為1 s)放棄CPU,使任務(wù)處于Delay狀態(tài);之后執(zhí)行task_2任務(wù),最后執(zhí)行task_3任務(wù)[3]。
圖5 任務(wù)框圖
CAN總線又稱為控制器局域網(wǎng)絡(luò)總線 (Controller Area Network Bus),由德國Bosch公司發(fā)明,最初設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,目前已成為應(yīng)用最廣泛的現(xiàn)場總線之一。CAN總線是一種多主方式的串行通訊總線,具有低成本、高速率、高抗電磁干擾性、強(qiáng)的實(shí)時(shí)性、容錯(cuò)性、易擴(kuò)展等特點(diǎn),非常適合用于機(jī)器人系統(tǒng)的通訊總線。CAN網(wǎng)絡(luò)在車輛上已經(jīng)有較為廣泛的應(yīng)用,其分布式結(jié)構(gòu)相對之前的集中式結(jié)構(gòu)已經(jīng)凸顯出許多優(yōu)點(diǎn)。CAN網(wǎng)絡(luò)接線圖[4]見圖 6。
圖6 CAN網(wǎng)絡(luò)接線圖
采用CAN網(wǎng)絡(luò)進(jìn)行遠(yuǎn)距離通訊,不規(guī)范的布線方式會導(dǎo)致通訊的可靠性、穩(wěn)定性和傳輸數(shù)據(jù)的準(zhǔn)確性明顯下降。文中CAN網(wǎng)絡(luò)節(jié)點(diǎn)見圖3,實(shí)驗(yàn)表明這樣的通訊方式可靠穩(wěn)定。
車輛上所訂做的電機(jī)性能是在10 s內(nèi)能夠加速到3 600 r/min(線性增加),實(shí)驗(yàn)表明10 s內(nèi)電機(jī)速度到達(dá)3 600 r/min時(shí),車輛會有明顯的沖擊。采用速度插值方法能夠使車輛很平穩(wěn)地到達(dá)期望的速度。如圖7所示,設(shè)電機(jī)當(dāng)前速度是 v1,目標(biāo)速度是v3,從時(shí)刻0到接受指令經(jīng)過的時(shí)間是t3。在時(shí)間t2時(shí),插值計(jì)算得到:
圖7 速度插值示意圖
開發(fā)了適合該車輛的VxWorks控制系統(tǒng),并列出了所創(chuàng)建的任務(wù),當(dāng)上位機(jī)發(fā)送CAN幀給下位機(jī)時(shí),下位機(jī)將對CAN幀進(jìn)行解析并作出應(yīng)答,從而控制車輛。同時(shí)提出了全自主移動車輛的現(xiàn)場總線CAN網(wǎng)絡(luò),并進(jìn)行了通訊的可靠性和穩(wěn)定性實(shí)驗(yàn)。研究表明,文中提出的控制系統(tǒng)對全自主移動車輛控制平臺有一定借鑒意義。
【1】曹藝輝.無人車獨(dú)立懸掛系統(tǒng)設(shè)計(jì)與仿真[J].機(jī)電一體化,2012,19(2):17 -21.
【2】周啟平,張楊,吳瓊.VxWorks開發(fā)指南與Tornado實(shí)用手冊[M].北京:中國電力出版社,2004.
【3】許斌.基于VxWorks系統(tǒng)的無人車GPS/INS組合導(dǎo)航研究[D].上海:上海交通大學(xué),2012.
【4】饒運(yùn)濤,皺繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2006.
【5】VANDAPEL Nicolas,DONAMUKKALA Raghavendra Rao,HEBERT Martial.Unmanned Ground Vehicle Navigation Using Aerial Ladar Data[J].The International Journal of Robotics Research,January,2006,25(1):31 -51.
【6】吳紹斌,陳慧巖.軍用地面無人車輛的發(fā)展[J].車輛與動力技術(shù),2002(4):50-55.