何牧天,傅敏康,何 毅,孫冬梅
(南京工業(yè)大學(xué) 電氣工程與控制科學(xué)學(xué)院,南京 211816)
20世紀(jì)80年代初,美國(guó)率先提出自動(dòng)駕駛計(jì)劃,并由此衍生出“智能車”概念.2003年,韓國(guó)漢陽(yáng)大學(xué)汽車控制實(shí)驗(yàn)室在飛思卡爾半導(dǎo)體公司的資助下舉辦了世界上第一屆大學(xué)生智能車競(jìng)賽.2005年11月,中國(guó)教育部高等學(xué)校自動(dòng)化專業(yè)委員會(huì)與飛思卡爾半導(dǎo)體公司簽署了長(zhǎng)期合作協(xié)議書.2006年,清華大學(xué)舉辦了我國(guó)第一屆全國(guó)大學(xué)生智能車競(jìng)賽邀請(qǐng)賽,全國(guó)大學(xué)生智能車競(jìng)賽由此開始,時(shí)至2020年已經(jīng)成功舉辦了15 屆.該競(jìng)賽被教育部批準(zhǔn)列入國(guó)家教學(xué)質(zhì)量與教學(xué)改革工程資助項(xiàng)目,是教育部倡導(dǎo)的全國(guó)大學(xué)生課外學(xué)術(shù)科技A 類競(jìng)賽.其下設(shè)多個(gè)組別,其中,最為經(jīng)典、歷史最悠久的就是本文描述的四輪競(jìng)速組.歷經(jīng)15年的發(fā)展革新,第十五屆智能車競(jìng)賽四輪組的規(guī)則較之前幾屆有了較大改動(dòng),對(duì)攝像頭限高等關(guān)鍵技術(shù)指標(biāo)的限制更加嚴(yán)苛,調(diào)整了賽道元素,新增了出入車庫(kù)的環(huán)節(jié),難度顯著提升.而根據(jù)大賽組委會(huì)公布的最近5 屆四輪組的成績(jī)分析,雖然比賽難度不斷增大,但是選手的整體成績(jī)呈上升趨勢(shì),高水平競(jìng)速往往只相差一兩個(gè)毫秒,獲獎(jiǎng)難度逐年提高.
筆者在第十五屆全國(guó)大學(xué)生智能車競(jìng)賽中獲得四輪競(jìng)速組華東賽區(qū)和全國(guó)總決賽一等獎(jiǎng).下面從組裝、關(guān)鍵器件選型、硬件設(shè)計(jì)、電路板設(shè)計(jì)、傳感器信號(hào)處理、算法和控制等方面加以論述.
“恩智浦”全國(guó)大學(xué)生智能車競(jìng)賽指定四輪車的車模有A、B、C 三種型號(hào).智能車以較高速度行進(jìn)時(shí)需采用差速控制,而A、B 型車模只有一個(gè)電機(jī),故選用C型車模.C 型車模配有兩個(gè)電機(jī)(RN-380)和一個(gè)舵機(jī)(Futaba S3010),如圖1所示.C 型車模長(zhǎng)28 cm,寬18 cm,車輪直徑6.4 cm,行駛時(shí)不易打滑,減震性能優(yōu)良.
圖1 四輪車車模
攝像頭根據(jù)感光傳感器的不同分為CMOS 型和CCD 型.CCD 傳感器在靈敏度、分辨率、噪聲控制等方面都優(yōu)于CMOS 傳感器,而CMOS 傳感器成本低、工作電壓低、功耗低、整合度高、輸出信號(hào)穩(wěn)定[1].故選用了CMOS 型MT9V032 攝像頭,其分辨率可達(dá)752×480,60 fps.由于處理器性能和實(shí)時(shí)性的要求,本系統(tǒng)將分辨率設(shè)置為60×80,200 fps.
攝像頭安裝高度影響前視距離、圖像采集寬度等指標(biāo)[2-4].安裝過低,要降低俯視角度來(lái)獲得更好的視野,但會(huì)使前視距離增加過多,難以避免受炫光現(xiàn)象影響,圖像前若干行可信度降低,從而產(chǎn)生較大的誤差.安裝過高,則會(huì)在智能車行進(jìn)過程中受鞭梢效應(yīng)影響,發(fā)生反復(fù)震蕩現(xiàn)象,影響穩(wěn)定性.另外,由于較高的位置和較大的俯視角度,采集的圖像容易出現(xiàn)畸變現(xiàn)象,采集的賽道邊界線也會(huì)細(xì)化,路徑提取效果降低.2020年第十五屆全國(guó)大學(xué)生智能車大賽規(guī)定攝像頭安裝高度最高位10 cm.
兼顧到可視范圍、前視距離、抗干擾性等因素,安裝調(diào)整攝像頭的前視距離為車頭前方50~60 cm.攝像頭成像中心距地面約10 cm,位于舵機(jī)安裝位置正上方,約有15°左右的俯視角.
編碼器用于智能車測(cè)速、計(jì)算行進(jìn)距離.選用小型QY1503-CDZ 磁電式增量編碼器,該編碼器為4096 線,正交解碼型,精度高且小巧.將一對(duì)編碼器分別安裝于兩個(gè)電機(jī)上方,同時(shí)保證測(cè)速齒輪與智能車差速器齒輪良好嚙合.如圖2所示.
圖2 速度編碼器效果圖
原車模上舵機(jī)采用垂直安裝,智能車在轉(zhuǎn)向過程中舵機(jī)固定配件容易受到扭曲發(fā)生形變,影響轉(zhuǎn)向控制精度.為了提升轉(zhuǎn)向控制的穩(wěn)定性和轉(zhuǎn)向更為平滑靈敏,降低智能車前部的重心位置,改為臥式安裝,同時(shí)使舵機(jī)內(nèi)部的驅(qū)動(dòng)電路遠(yuǎn)離了位于其上方的攝像頭和電磁傳感器模塊,降低了電磁互相干擾,如圖3所示.
圖3 舵機(jī)安裝方式效果圖
對(duì)于車輛而言,整車重心適宜位于車輛中后部,并且較低的重心可以獲得更好的控制穩(wěn)定性;重心位置偏前部可以提升車輛轉(zhuǎn)向控制的實(shí)時(shí)性,但穩(wěn)定性會(huì)相對(duì)降低;重心偏后部則可以獲得較好的速度控制,但轉(zhuǎn)向控制實(shí)時(shí)性也略微下降.由于攝像頭和電磁模塊的安裝可以使智能車的重心整體上移且向車頭方位偏移,在轉(zhuǎn)向過程中更容易造成側(cè)傾、甩尾以及輪胎打滑等問題.因此在重心分配的設(shè)計(jì)上,將較重的電池安裝在智能車中部靠后位置,緊貼底盤以此將整車重心向后向下調(diào)整,并且盡可能在車體中軸線上以平衡左右兩側(cè),在保持轉(zhuǎn)向控制實(shí)時(shí)性的同時(shí),兼顧速度控制的準(zhǔn)確性以及快速性.如圖4所示.
圖4 智能車電池安裝位置示意圖
比賽過程中,要求智能車在長(zhǎng)直賽道行進(jìn)時(shí)盡量減少轉(zhuǎn)向調(diào)整,而在彎道行進(jìn)時(shí)轉(zhuǎn)向平滑迅速,轉(zhuǎn)向后自動(dòng)快速回正,因此,需要對(duì)前輪定位參數(shù)進(jìn)行校正.根據(jù)汽車機(jī)械理論[5,6],前輪采用主銷內(nèi)傾、前輪前束結(jié)構(gòu)可以改善車輛運(yùn)行的轉(zhuǎn)向穩(wěn)定性并減少車輪磨損.前輪主銷內(nèi)傾指在汽車橫向平面內(nèi),主銷軸線上端略向內(nèi)傾斜,使前輪轉(zhuǎn)向回正更為輕便.盡管內(nèi)傾角越大回正越便捷,但是會(huì)導(dǎo)致輪胎磨損程度提升.通過反復(fù)優(yōu)化驗(yàn)證,得到智能車達(dá)到輪胎磨損和轉(zhuǎn)向輕便性較優(yōu)平衡點(diǎn)為2°~ 4°.通過調(diào)整前輪轉(zhuǎn)向臂螺桿長(zhǎng)度即可完成主銷內(nèi)傾的調(diào)整,如圖5所示.
圖5 前輪轉(zhuǎn)向機(jī)構(gòu)調(diào)整效果圖
根據(jù)“恩智浦”第十五屆全國(guó)大學(xué)生智能車競(jìng)賽規(guī)定,賽道寬度不小45 cm.預(yù)賽階段,賽場(chǎng)形狀為約 5 m ×7 m 長(zhǎng)方形,采用PVC 材料鋪設(shè)含有各種元素的賽道.兩條相鄰賽道中心線之間間距不小于60 cm.賽道中存在著直線、曲線、十字交叉路口、環(huán)島、坡道、車庫(kù)等多種特殊道路元素.曲線的曲率半徑不小于50 cm.基本賽道尺寸如圖6所示.
圖6 賽道部分尺寸參數(shù)示意圖
根據(jù)賽道尺寸,參照汽車轉(zhuǎn)向機(jī)構(gòu)設(shè)計(jì)理論,對(duì)智能車轉(zhuǎn)向機(jī)構(gòu)進(jìn)行調(diào)整和優(yōu)化.轉(zhuǎn)向時(shí),轉(zhuǎn)向輪盡可能繞順時(shí)轉(zhuǎn)向中心,以提升智能車行駛過程中的穩(wěn)定性,避免頻繁地轉(zhuǎn)向控制調(diào)整,防止出現(xiàn)側(cè)傾、甩尾和輪胎打滑等現(xiàn)象.轉(zhuǎn)彎半徑≤50 cm,以通過比賽規(guī)定的最小半徑彎道.
大賽組委會(huì)規(guī)定:智能車微控制器必須選用“恩智浦”系列芯片,參賽者需要獨(dú)立設(shè)計(jì)控制系統(tǒng)方案.硬件設(shè)計(jì)主要包含:微控制器核心板電路,電源穩(wěn)壓電路,姿態(tài)和速度采集的傳感器電路,電機(jī)和舵機(jī)驅(qū)動(dòng)電路,外置Flash 存儲(chǔ)、獨(dú)立按鍵、五向按鍵、NRF 無(wú)線、WIFI 圖傳人機(jī)交互外設(shè)電路、LCD 顯示、蜂鳴器、LED 輔助外設(shè)電路等.其硬件設(shè)計(jì)框圖如圖7所示.本文將對(duì)部分主要的電路模塊以及接口加以介紹.
圖7 系統(tǒng)硬件設(shè)計(jì)框圖
微控制器芯片選用NXP 公司的I.MXRT1021,功能豐富強(qiáng)大,在設(shè)計(jì)主控板電路時(shí),選用其最小系統(tǒng)板作為接口電路單元,以降低設(shè)計(jì)難度.該芯片具有如下性能特征:
(1)內(nèi)核是ARM Cortex-M7,主頻500 MHz,16 kB I-Cache,16 kB D-Cache;
(2)外部存儲(chǔ)器接口:8/16 位SDRAM,8 位NAND FLASH,SD/eMMC,單/雙通道4 位SPI,并行NOR FLASH;
(3)音頻接口:S/PDIF 輸入輸出,3 個(gè)同步音頻接口(支持I2S、AC97、TMD和Codec/DSP 接口);
(4)通訊接口:USB 2.0 OTG,2 個(gè)uSDHC 接口,10 M/100 M Ethernet,8 個(gè)UART,4 個(gè)I2C,4 個(gè)SPI,2 個(gè)FlexCAN;
(5)片上存儲(chǔ)器:96 kB Boot ROM,可組態(tài)最大256 kB SRAM;
(6)定時(shí)器:2 個(gè)通用可編程定時(shí)器,4 通道周期中斷定時(shí)器,2 個(gè)4 位定時(shí)器,2 個(gè)FlexPWM;
(7)電源管理電路:片內(nèi)集成DCDC,LDO,內(nèi)置溫度傳感器,通用電源管理控制器;
(8)模擬電路:2 個(gè)12 位ADC,多達(dá)19 通道,4 路模擬比較器;
(9)工作電壓3.3 V,ARM Cortex-M7 內(nèi)核工作電壓1.2 V,由內(nèi)置DCDC 產(chǎn)生;
(10)封裝:144-Pin LQFP 封裝(或100-Pin LQFP).
由于微處理器無(wú)內(nèi)置Flash,將W25Q64JVSIQ作為外接Flash.
本系統(tǒng)設(shè)計(jì)全橋電路驅(qū)動(dòng)直流電機(jī)(RN-380),功率管選用IR7843,其驅(qū)動(dòng)電路選用IR2104,如圖8所示.
圖8 直流電機(jī)驅(qū)動(dòng)全橋電路
舵機(jī)(Futaba S3010)驅(qū)動(dòng)接口電路如圖9所示,其接口有3 個(gè)引腳,腳2和腳3 接6 V 電源,腳1 接控制信號(hào)PWM.由于微控制器是3.3 V 供電,而舵機(jī)是6 V供電,電平不兼容,所以需要通過三極管SS8050 進(jìn)行電平轉(zhuǎn)換,但轉(zhuǎn)換后的電平和原PWM的反相了,然而I.MX RT1021 微處理器PWM 功能強(qiáng)大,可以把脈寬占空的輸出設(shè)置為低電平,而脈寬非占空的輸出設(shè)置為高電平,從而實(shí)現(xiàn)電平的匹配.
圖9 舵機(jī)轉(zhuǎn)向接口電路
選用1/3 英寸CMOS 數(shù)字圖像傳感器MT9V032(單色),該傳感器具有并行數(shù)字輸出和低電壓差分信號(hào)(LVDS)輸出接口.MCU 通過UART 接口對(duì)MT9V032進(jìn)行初始化和發(fā)送控制命令等,通過DMA 接口接收MT9V032 發(fā)送的像素點(diǎn)數(shù)據(jù),如圖10所示.PIXCLK為像素點(diǎn)參數(shù)輸出脈沖,LineValid為行有效輸出,FrameValid為場(chǎng)有效輸出.
圖10 攝像頭接口電路
電磁導(dǎo)航信號(hào)采集模塊電路,用于采集賽道中央20 kHz的導(dǎo)航信號(hào).電磁信號(hào)采集電路如圖11所示.LC 感應(yīng)電磁導(dǎo)航信號(hào),LM321 組成電壓偏置放大電路,放大后再進(jìn)行倍壓整流,然后送至母板進(jìn)行ADC轉(zhuǎn)換.
圖11 導(dǎo)航信號(hào)采集電路
設(shè)計(jì)好智能車硬件原理圖之后,再著手設(shè)計(jì)PCB電路板.為了保證設(shè)計(jì)的成功率和提高抗干擾能力,把PCB 設(shè)計(jì)分成主控母板、電機(jī)驅(qū)動(dòng)板、電磁導(dǎo)航電磁信號(hào)采集板3 塊PCB 設(shè)計(jì).把PCB 電路板進(jìn)行分開設(shè)計(jì),既降低了設(shè)計(jì)難度,又降低了模擬電路和數(shù)字電路間的相互干擾,同時(shí)又便于在一定尺寸空間內(nèi)安裝整齊緊湊[7].圖12~圖14為各模塊的PCB 電路板.
圖12 主控母板PCB 電路板正反面
圖13 電機(jī)驅(qū)動(dòng)PCB 電路板正反面
圖14 電磁導(dǎo)航信號(hào)采集板PCB 板
智能車的M P U 芯片選用的是N X P 公司的I.MXRT1021,此芯片在前文已介紹,功能豐富強(qiáng)大,故選用其最小系統(tǒng)板作為接口電路單元來(lái)設(shè)計(jì)主控母板,這樣可以大大地降低PCB 設(shè)計(jì)的難度.
智能車有兩個(gè)驅(qū)動(dòng)電機(jī),每個(gè)電機(jī)需要4 個(gè)MOS管組成全橋驅(qū)動(dòng)電路.在放置MOS 管時(shí),同一橋臂的2 個(gè)MOS 管放在PCB 板正反兩面,通過焊盤或過孔相連,同時(shí)引出電機(jī)接線.
使用7 個(gè)電感采樣電磁導(dǎo)航信號(hào),如圖15所示.最左側(cè)(第1 個(gè))電感、居中(第4 個(gè))電感和最右側(cè)(第7 個(gè))電感平行于前輪轉(zhuǎn)向牽引機(jī)構(gòu)排布,第2和第6個(gè)電感呈外八字45°排布(在俯視視角下),第3和第5個(gè)電感呈內(nèi)八字45°排布.其中,內(nèi)八字排布電感用于檢測(cè)特殊道路元素,如環(huán)島的檢測(cè).其余電感均用于普通道路電磁環(huán)境檢測(cè),這樣設(shè)計(jì)為軟件控制算法的編寫提供了便利,也使得對(duì)特殊元素狀態(tài)識(shí)別更加靈敏.
圖15 電感位置排布示意圖
經(jīng)過多次的試驗(yàn)對(duì)比,攝像頭分辨率為120×60 時(shí),將圖像壓縮變?yōu)?0×60,可同時(shí)滿足精度和實(shí)時(shí)性要求.原始圖像與壓縮圖像的對(duì)比如圖16所示(CMOS成像芯片被橫放了).原始圖像有較多的冗余信息,不利于提取有效信息,需對(duì)其進(jìn)行處理.第一步將灰度圖像信息二值化,常見的二值化方法有最大類間方差法、谷底最小值法、百分比閾值法等[6].用這3 種方法對(duì)圖像進(jìn)行二值化處理,處理后的效果如圖17所示.進(jìn)行比較之后,選用最大類間方差法用于原始圖像的二值化處理,然后再計(jì)算擬合出道路中線曲線、左右邊界、前瞻截止行以及終點(diǎn)斑馬線等.圖18為擬合后的環(huán)島附近、彎道附近以及十字交叉路口附近的中線提取圖像.
圖16 原始圖像與壓縮圖像示意圖
圖17 3 種不同的方法處理圖像二值化
圖18 環(huán)島、彎道和十字交叉中線提取圖像
賽道中線內(nèi)鋪設(shè)20 kHz 信號(hào)線,采樣電感離信號(hào)線越近,其與磁場(chǎng)方向夾角越接近90°,互感電壓就越大.前文已述,電感1、4、7 都是水平擺放,正常情況下,4 號(hào)電感最接近信號(hào)線,互感電壓可以達(dá)到1 號(hào)和7 號(hào)電感的兩倍,這3 個(gè)電感的互感電壓可用來(lái)判斷智能車偏移中心線的角度.
3 號(hào)和5 號(hào)電感呈內(nèi)八字軸對(duì)稱排列,當(dāng)智能車出現(xiàn)輕微偏轉(zhuǎn)時(shí),略微偏向右側(cè),3 號(hào)電感就更靠近信號(hào)線,與信號(hào)線的角度偏差也會(huì)變大,由45°向90°靠近,互感電壓大大增加.而5 號(hào)電感卻相反,互感電壓大大減弱.3 號(hào)和5 號(hào)電感對(duì)車輛輕微偏轉(zhuǎn)有更明顯的反映,比僅有1、4、7 號(hào)電感控制時(shí),減弱了滯后環(huán)節(jié)的長(zhǎng)度,使得控制實(shí)時(shí)性進(jìn)一步提升.同理,2 號(hào)和6 號(hào)電感的作用.
在攝像頭和電磁傳感器共同作用下,得到了賽道邊緣和中線位置信息.
速度傳感器采用4096 線正交解碼編碼器,當(dāng)智能車運(yùn)動(dòng)時(shí),其A、B 信號(hào)線輸出相位差90 度的脈沖,兩個(gè)脈沖有先后順序,且單位時(shí)間內(nèi)可測(cè)定脈沖個(gè)數(shù),因此不僅可以測(cè)量速度,判斷旋轉(zhuǎn)的方向,也可以計(jì)算智能車的行進(jìn)距離.速度測(cè)量周期為5 ms,將每個(gè)周期行進(jìn)的距離累加,即可獲得單一后輪行進(jìn)距離,將左右輪的數(shù)據(jù)進(jìn)行均值濾波,就得到了智能車?yán)塾?jì)行進(jìn)距離值.實(shí)驗(yàn)測(cè)得,行進(jìn)500 米,計(jì)算出的誤差小于0.3 米,誤差率低于0.06%,精度滿足要求.
有了賽道邊界和賽道中線,就能判別賽道上的一些特殊元素,如環(huán)島、坡道、起跑線和車庫(kù)等.
環(huán)島,是智能車競(jìng)賽的傳統(tǒng)難點(diǎn).它表現(xiàn)為在一段直道的左或右出現(xiàn)一個(gè)半徑不等的圓環(huán).智能車經(jīng)過時(shí),需要繞行圓環(huán)一周,然后駛出回到直道繼續(xù)行進(jìn),如圖19所示.當(dāng)攝像頭采集的圖像出現(xiàn)一邊賽道邊界丟失時(shí),此時(shí)可能到了環(huán)島附近,關(guān)注4 號(hào)電感采樣值,如果發(fā)生大的變化,可以判斷來(lái)到了環(huán)島旁(兩股電磁導(dǎo)航線交匯).通過兩只“外八字”電感采樣值判斷環(huán)島在左或右位置.在此過程中,根據(jù)4 號(hào)電感值兩次大的變化并計(jì)算期間智能車行進(jìn)的距離,從而得出環(huán)島半徑大小.
圖19 賽道中環(huán)島示意圖
若在一段直道中間出現(xiàn)兩邊不對(duì)稱的坡,智能車需順利通過坡道才能繼續(xù)進(jìn)行比賽.如圖20所示.
圖20 坡道示意圖
當(dāng)智能車的俯仰角超過10 度(由陀螺儀采樣)時(shí),即可判定上了坡道,攝像頭視角被抬升,采集到的圖像是遠(yuǎn)方的圖像,此時(shí)將攝像頭的圖像信息的可信度置為0,電磁傳感器置信度置1,完全由電磁信號(hào)導(dǎo)航,當(dāng)駛出距離大于500 mm 之后,則確認(rèn)已駛離坡道.重置攝像頭信號(hào)的可信度為0.7,電磁傳感器的置信度置為0.3.
起跑線是賽道起點(diǎn)和終點(diǎn),以一條寬度為10 cm的斑馬線構(gòu)成,智能車第一次經(jīng)過它時(shí)比賽開始,第二次經(jīng)過它時(shí)比賽結(jié)束.當(dāng)比賽結(jié)束時(shí),智能車需在經(jīng)過斑馬線后及時(shí)轉(zhuǎn)向進(jìn)入車庫(kù)中,否則將被加時(shí)懲罰.起跑線如圖21所示.
圖21 起跑線示意圖
當(dāng)從圖像提取的有效信息中,靠近圖像中部區(qū)域若干行出現(xiàn)超過5 次黑白跳變,即可判定智能車模即將經(jīng)過起跑線,此時(shí)計(jì)算智能車行進(jìn)的距離與偏航角,準(zhǔn)備執(zhí)行入庫(kù)動(dòng)作.
車庫(kù)是第十五屆大賽新增的元素,位于起跑線旁的長(zhǎng)方形區(qū)域,長(zhǎng)65 cm,寬45 cm.要求智能車從車庫(kù)出發(fā),行進(jìn)一周后回到車庫(kù)內(nèi),實(shí)現(xiàn)自動(dòng)出入庫(kù).
為了競(jìng)速,采用漂移入庫(kù)的策略,即靠近車庫(kù)一側(cè)的車輪在一秒內(nèi)由原速變?yōu)槁俜崔D(zhuǎn),另一側(cè)的車輪保持原速向前,舵機(jī)朝車庫(kù)方向轉(zhuǎn)至限位角度.當(dāng)檢測(cè)到起跑線后,若出現(xiàn)黑白跳變的次數(shù)大于一定閾值的行數(shù)超過9 行,就斷定為車庫(kù).依據(jù)圖像邊界跳變點(diǎn)的左右判斷入庫(kù)轉(zhuǎn)向.此時(shí)開始執(zhí)行漂移入庫(kù)動(dòng)作.小車入庫(kù)的軌跡如圖22所示.
圖22 車庫(kù)和漂移示意圖
傳統(tǒng)PID 控制有較高的精度,有較好的兼容性,但其控制參數(shù)無(wú)法隨系統(tǒng)變化而調(diào)整,自適應(yīng)性有所欠缺.模糊控制無(wú)需建立對(duì)象模型,用模糊規(guī)則表來(lái)描述系統(tǒng)特征,魯棒性和自適應(yīng)能力都比較好,但控制精度較差.本系統(tǒng)在傳統(tǒng)增量式PID的基礎(chǔ)上,通過棒棒控制消除積分飽和現(xiàn)象,達(dá)到積分分離的效果,再將PID控制與模糊控制相結(jié)合,進(jìn)一步提升系統(tǒng)的綜合性能.本系統(tǒng)中,分別對(duì)舵機(jī)和電機(jī)進(jìn)行位置式PID和增量式PID 控制方式.
6.1.1 棒棒控制策略
棒棒控制的控制函數(shù)選取在輸出范圍上下邊界附近,要么接近輸出最小范圍,要么接近輸出最大范圍.棒棒控制將目標(biāo)值與反饋比較,若反饋值低于目標(biāo)值則將輸出量調(diào)節(jié)至最大,反之則將輸出量調(diào)節(jié)至最小.引入棒棒控制,當(dāng)輸出量在與目標(biāo)值有較大差距時(shí)能快速回調(diào),當(dāng)兩值逐漸縮小,再回到增量式PID 控制,有較好的動(dòng)態(tài)性能.這樣,能夠兼具棒棒控制快速性與PID 控制的穩(wěn)定性,并降低電機(jī)功耗.
6.1.2 參數(shù)自適應(yīng)優(yōu)化
在正常行進(jìn)過程中,若圖像識(shí)別截止距離較遠(yuǎn),說(shuō)明圖像信息的置信度較高,可以調(diào)高圖像信息與電磁導(dǎo)航信息的置信度比例,同時(shí)提高行進(jìn)設(shè)定速度;相反,若圖像識(shí)別截止距離較近,降低圖像信息與電磁導(dǎo)航信息置信度比例,同時(shí)降低行進(jìn)設(shè)定速度.根據(jù)智能車當(dāng)前“低速、中速、高速”的權(quán)重比例,對(duì)其P、I、D 參數(shù)進(jìn)行加權(quán)運(yùn)算,實(shí)現(xiàn)P、I、D 參數(shù)自適應(yīng)調(diào)整的控制.
舵機(jī)上電后,給控制引腳PWM 信號(hào),一定占空比對(duì)應(yīng)一定的轉(zhuǎn)角;在其扭矩范圍內(nèi),能鎖定轉(zhuǎn)向的角度.在轉(zhuǎn)向范圍的中部,舵機(jī)轉(zhuǎn)向角與PWM 占空比成線性正比.因舵機(jī)安裝方位不同,舵機(jī)轉(zhuǎn)向角有一定的限制.經(jīng)實(shí)測(cè),PWM為85.1%時(shí),舵機(jī)轉(zhuǎn)向角與智能車正向角度一致;PWM為83.1%時(shí),為舵機(jī)右轉(zhuǎn)向極限;PWM為87.1%時(shí),為舵機(jī)左轉(zhuǎn)向極限.因此,以83.1~87.1%為PWM 輸入范圍,對(duì)舵機(jī)進(jìn)行轉(zhuǎn)向控制.
6.2.1 動(dòng)態(tài)自適應(yīng)控制策略
舵機(jī)轉(zhuǎn)向控制要盡可能精準(zhǔn),以減少行進(jìn)時(shí)的振蕩和搖擺,因此采用PD 控制.具體公式如下.
由于環(huán)境變化和其它因素影響,轉(zhuǎn)向控制時(shí),P、D 參數(shù)分為左、中、右3 類.通過多次測(cè)定來(lái)確定各類適應(yīng)賽道的最優(yōu)P、D 參數(shù),實(shí)現(xiàn)動(dòng)態(tài)自適應(yīng)控制.理想效果是當(dāng)智能車經(jīng)過連續(xù)小S 彎道時(shí),以近乎直線的行進(jìn)路線通過,而在連續(xù)大彎道時(shí)可以從內(nèi)道切入,盡可能減少行駛路線的距離.
根據(jù)第十五屆智能車競(jìng)賽組委會(huì)給出的賽道樣例,在實(shí)驗(yàn)室中搭建了調(diào)試賽道,如圖23所示.其材質(zhì)、元素、尺寸均與正式比賽賽道相同.并且在賽道兩側(cè)每隔50 cm 鋪設(shè)黑色長(zhǎng)條狀路肩.除去出入庫(kù)的距離,賽道總長(zhǎng)約為27 m.同一輛車、相同采光條件下,每跑一次均擦拭賽道與輪胎,盡可能降低由灰塵降低車體摩擦力而導(dǎo)致的干擾.
將智能車絕對(duì)速度設(shè)為“慢速”、“中速”、“快速”3 個(gè)等級(jí),在每個(gè)速度等級(jí)下采用3 種控制算法進(jìn)行對(duì)比測(cè)試,每組連續(xù)跑10 圈.結(jié)果如表1所示.
表1 測(cè)試對(duì)比實(shí)驗(yàn)數(shù)據(jù)
通過表1可以看出,同時(shí)采用棒棒控制與動(dòng)態(tài)自適應(yīng)算法的小車不僅速度最快,而且穩(wěn)定性最好.這是由于小車行駛的軌跡最優(yōu),節(jié)省了時(shí)間,而且小車在長(zhǎng)直道上加速更快,爆發(fā)力更強(qiáng).
采用動(dòng)態(tài)自適應(yīng)算法的小車的行駛軌跡略差,穩(wěn)定性相差不大.但由于速度爆發(fā)力不如前者,入庫(kù)時(shí)速度稍慢,故速度較慢.
而由于在賽道中加入了車庫(kù)、圓環(huán)等較難的元素,僅采用PID 控制時(shí),其魯棒性最差,導(dǎo)致小車行駛軌跡差、磕碰路肩情況較多、飛坡后落點(diǎn)不準(zhǔn)確.在高速駛過彎道時(shí),無(wú)法及時(shí)調(diào)整舵機(jī)轉(zhuǎn)角,自救能力差.所以僅采用PID 控制,在高速情況下是難以完成跑圈,無(wú)法取得好成績(jī).
根據(jù)大賽組委會(huì)公布的最近3 屆四輪組的成績(jī)分析,華東賽區(qū)晉級(jí)全國(guó)總決賽所需的平均絕對(duì)速度為2.72 m/s.而考慮全國(guó)總決賽的賽道長(zhǎng)度為分區(qū)賽的兩倍,元素?cái)?shù)量也有所增加,許多隊(duì)伍難以完賽,故平均速度僅為1.83 m/s.而獲得全國(guó)一等獎(jiǎng)的平均絕對(duì)速度不減反增,為2.89 m/s.而本屆獲得全國(guó)一等獎(jiǎng)的平均絕對(duì)速度已達(dá)到2.96 m/s.
當(dāng)電機(jī)的控制方式不變時(shí),舵機(jī)分別采樣PID和動(dòng)態(tài)自適應(yīng)控制時(shí),智能車行駛的軌跡如圖24所示.曲線1為增量式PID 控制的行駛軌跡,曲線2是動(dòng)態(tài)適應(yīng)控制的行駛軌跡.
圖24 智能車行駛軌跡
本系統(tǒng)控制軟件設(shè)計(jì)架構(gòu)如圖25所示,主要有各硬件功能初始化模塊,主程序模塊、中斷模塊等.電磁導(dǎo)航參數(shù)放在1 ms 定時(shí)中斷采樣;智能車速度、行進(jìn)距離等參數(shù)放在5 ms 定時(shí)中斷采樣;攝像頭圖像放在主程序中采樣,每5 ms 刷新一次圖像(設(shè)定攝像頭刷新速率為200 PFS),再結(jié)合電磁導(dǎo)航信號(hào)提取賽道信號(hào)后,執(zhí)行電機(jī)和舵機(jī)的控制.用IAR 編輯工具軟件,C 語(yǔ)言編程.程序有啟動(dòng)代碼模塊、驅(qū)動(dòng)模塊、Cortex-M7 內(nèi)核模塊、用戶程序模塊.前3 個(gè)模塊屬于底層硬件驅(qū)動(dòng)程序,由SDK 提供直接使用,無(wú)需自己重新開發(fā),只需專注用戶程序的開發(fā),這樣可以大大縮短開發(fā)周期.
圖25 軟件設(shè)計(jì)架構(gòu)框圖
本文論述了全國(guó)大學(xué)生智能車競(jìng)賽四輪智能車組裝、關(guān)鍵器件選用、硬件原理圖設(shè)計(jì)、PCB 板設(shè)計(jì)、賽場(chǎng)中關(guān)鍵元素識(shí)別與處理、控制策略等方面,具有一定的實(shí)用價(jià)值.以上述論述的方法設(shè)計(jì)的智能車,在第十四屆華東賽區(qū)和全國(guó)總決賽中分別獲得一等獎(jiǎng).在第十五屆華東賽區(qū)比賽中,獲一等獎(jiǎng),名列第一,比賽用時(shí)9.59 s.在分賽區(qū)國(guó)賽中獲國(guó)賽一等獎(jiǎng),比賽用時(shí)16.105 s,名列第三.
計(jì)算機(jī)系統(tǒng)應(yīng)用2021年8期