于玉亭, 王恩亮
(安徽新華學(xué)院電子通信工程學(xué)院,安徽 合肥 230008)
在人工智能與傳統(tǒng)汽車電子技術(shù)的交織下,促使了無人駕駛汽車的產(chǎn)生。無人駕駛汽車技術(shù)的實(shí)現(xiàn)主要依靠車內(nèi)以計(jì)算機(jī)系統(tǒng)為主的智能駕駛儀來實(shí)現(xiàn)無人駕駛。無人駕駛車輛作為展示計(jì)算機(jī)科學(xué)、模式識別和人工智能技術(shù)水平、引領(lǐng)車輛工業(yè)未來發(fā)展的重要平臺,己成為世界發(fā)達(dá)國家研究的熱點(diǎn)[1]。國內(nèi)外無人駕駛技術(shù)都在蓬勃發(fā)展,我國的國防科技大學(xué)的紅旗HQ3無人車、百度無人駕駛汽車、長安汽車無人駕駛汽車和美國的谷歌、特斯拉無人駕駛汽車等都是其中的典型代表。
電磁直立尋跡智能車是按照恩智浦智能車組委會所發(fā)布的細(xì)則進(jìn)行構(gòu)思設(shè)計(jì)的。本設(shè)計(jì)的主要內(nèi)容電磁直立智能車硬件、軟件系統(tǒng)的設(shè)計(jì)兩個(gè)部分。
根據(jù)智能車所采用的賽道特點(diǎn),確定了系統(tǒng)總框架。主要包含兩大部分:智能車的硬件設(shè)計(jì)與軟件控制算法,其中硬件設(shè)計(jì)包括機(jī)械結(jié)構(gòu)設(shè)計(jì)和硬件電路設(shè)計(jì)兩部分。機(jī)械結(jié)構(gòu)設(shè)計(jì)相對簡單,文中不再詳細(xì)描述。硬件電路設(shè)計(jì)分為主控板和驅(qū)動板兩部分,其中主控板由MCU、姿態(tài)角傳感器、編碼器三部分電路構(gòu)成,驅(qū)動板由電機(jī)驅(qū)動、電磁傳感器處理電路兩部分構(gòu)成。軟件控制主要是基于智能車直立平衡的基礎(chǔ),再利用電磁傳感器進(jìn)行路徑識別,控制車身運(yùn)動,重要參數(shù)通過人機(jī)交互軟件在OLED上顯示出來,并可使用按鍵對部分參數(shù)進(jìn)行修改。
系統(tǒng)的的硬件設(shè)計(jì)的三大部分都扮演著不可或缺的角色,如果把主控板當(dāng)作人類大腦的話,驅(qū)動板就是整個(gè)系統(tǒng)的心臟,為全系統(tǒng)提供血液,機(jī)械結(jié)構(gòu)就是四肢,決定了智能車行動的靈活性。智能車硬件總框圖如圖1所示。
圖1 智能車硬件總框圖
主控板由K60最小系統(tǒng)電路、姿態(tài)角傳感器電路、編碼器電路等模塊組成。
2.1.1 K60最小系統(tǒng)電路
K60最小系統(tǒng)穩(wěn)定工作所需要的外圍電路,要保證K60單片機(jī)的正常工作、實(shí)現(xiàn)電源濾波、芯片內(nèi)部不同模塊之間電源與地的相互隔離、防止各模塊運(yùn)行起來相互干擾,為程序的調(diào)試帶來致命性的問題。
2.1.2 姿態(tài)角傳感器電路
智能車系統(tǒng)所用到的姿態(tài)角傳感器為陀螺儀與加速度計(jì)的組合,為數(shù)字傳感器芯片,都通過IIC與K60進(jìn)行通信,電路圖分別如圖2、圖3所示。陀螺儀選用芯片L3G4200DTR,加速度計(jì)選用MMA7455L。IIC通信線路結(jié)構(gòu)簡單,數(shù)據(jù)傳輸速率高達(dá)400KHz,程序操作簡單,并且節(jié)省K60的IO口。
圖2 陀螺儀模塊
圖3 加速度計(jì)模塊
2.1.3 編碼器電路
智能車為了實(shí)時(shí)監(jiān)測速度,將整個(gè)系統(tǒng)閉環(huán)操作,設(shè)計(jì)使用了高精度512線編碼器,編碼器的接口有電源與地、AB相輸出、機(jī)械零位,如圖4所示。
驅(qū)動板電路主要由MOS管電機(jī)驅(qū)動模塊,電磁采集、處理模塊,電源供電模塊組成。電機(jī)驅(qū)動為智能車提供動力,電磁信號為智能車指引方向,電源提供了整個(gè)系統(tǒng)的運(yùn)行的動力。
2.2.1 MOS管電機(jī)驅(qū)動模塊
智能車車模選用為E車模,此款車模電機(jī)型號為RS-380,電機(jī)功率是比較大的,而且直立車是需要輪子前后運(yùn)動,以維持車子自身的平衡,不至于倒置一方。NMOS所搭建的H橋并配合升壓芯片MT3608、NMOS管H橋的專用芯片IR2104S完美的解決了這些問題,電路如圖5所示。
圖4 編碼器電路
圖5 NMOS電機(jī)驅(qū)動電路
2.2.2 電磁采集、處理模塊
智能車對賽道的識別是依賴于賽道上的穩(wěn)定磁場,通過對磁場強(qiáng)弱的采集以判別賽道路徑。根據(jù)麥克斯韋電磁場理論,交變電流會在周圍產(chǎn)生交變的電磁場。導(dǎo)線周圍的電場和磁場,按照一定規(guī)律分布。通過檢測相應(yīng)的電磁場的強(qiáng)度和方向可以反過來獲得距離導(dǎo)線的空間位置,這正是進(jìn)行電磁導(dǎo)航的目的[2]。對于磁場的檢測,是利用10mH的工字形電感加6.8nF矯正電筒并聯(lián)而成。
最簡單而又實(shí)用的檢測方式就是雙水平檢測,即在智能車前方水平放置兩個(gè)等距的電磁傳感器,由于電感是水平放置,所測得的量為磁場的水平分量,根據(jù)安培定則可以評估出賽道空間之中磁場方向的分布情況[3]。
假設(shè)智能車前進(jìn)方向?yàn)閆軸正方向,在車模前方安裝兩個(gè)水平的電磁傳感器。由于磁場分布是以Z軸為中心的同心圓,磁場同心圓在空間中的曲率是不同的,電磁傳感器又只能測得水平上的電磁分量,所以只要觀察電磁傳感器采集信號的強(qiáng)弱即可。
當(dāng)賽道上的電磁線工作時(shí),電磁傳感器采集到信息是一個(gè)20KHz、峰峰值為60mV-1.1V左右的正弦波形。相對于K60ADC模數(shù)轉(zhuǎn)換采集的信號,電磁傳感器得到的信號強(qiáng)度是比較小而且信號電壓為交流,所以ADC通道是難以對其直接進(jìn)行檢測的。因此,系統(tǒng)設(shè)計(jì)了同相運(yùn)算放大器模塊,如圖6所示,作為信號的預(yù)處理。
圖6 運(yùn)算放大器電路
2.2.3 電源模塊
電源是電路中的動力源泉,純凈的電源,能夠?yàn)殡娐诽峁┓€(wěn)定的動力。對于整個(gè)電路,電源是分開供電的,既可以減少穩(wěn)壓芯片的負(fù)載,又可以減少各芯片的相互干擾。
智能車系統(tǒng)的是由一塊7.2V的鎳鎘電池提供電力,一般芯片的工作電壓都在3.3V,電機(jī)驅(qū)動NMOS的柵極開啟電壓設(shè)在12V,對電源進(jìn)行升壓,得到所需的電壓。
主控K60采用LDOAMS1117-5.0V、TPS7333供電,陀螺儀與加速度計(jì)傳感器采用SP6205供電,編碼器采用AMS1117-3.3V供電。對于電磁信號的運(yùn)算放大器,在電源做充足濾波,同時(shí)在地上,利用0Ω電阻模數(shù)隔離,防止模數(shù)兩邊電路的相互串?dāng)_。
智能車的軟件運(yùn)行機(jī)制是在MCU主程序與中斷之中。軟件系統(tǒng)框圖如圖7主程序主要包含了按鍵讀取與菜單顯示,用以修改、顯示參數(shù)。中斷主要是對各傳感器數(shù)據(jù)處理,PID運(yùn)算以及輸出PWM控制電機(jī)。所示兩大運(yùn)行機(jī)制的穩(wěn)定工作,才能保證車子站的更穩(wěn)、跑的更快。
系統(tǒng)主要運(yùn)用到姿態(tài)角傳感器與電磁傳感器。兩大傳感器的數(shù)據(jù)分析以及結(jié)果處理影響著整個(gè)系統(tǒng)的穩(wěn)定性。
(1) 姿態(tài)角傳感器
姿態(tài)角度是通過卡爾曼融合將陀螺儀數(shù)據(jù)與加速度計(jì)數(shù)據(jù)融合解算而來。陀螺儀數(shù)據(jù)換算成三軸角速度,加速度計(jì)數(shù)據(jù)換算成三軸加速度。最后,將角速度與加速度計(jì)利用卡爾曼融合換算成最真實(shí)的姿態(tài)角。由于智能車機(jī)械結(jié)構(gòu)的特性,車子只能前后方向跌倒,因此只需要一路卡爾曼姿態(tài)角融合即可。
(2) 電磁傳感器
系統(tǒng)對磁場的采集選用了兩個(gè)水平放置在智能車前方的電磁傳感器,采集到的信號通過濾波得到兩個(gè)線性的數(shù)據(jù)??紤]到左右兩個(gè)電磁傳感器的差異,而且考慮到,不同賽道中磁場也是略微不同的,為了讓智能車對賽道的要求降低,軟件系統(tǒng)在設(shè)計(jì)時(shí)對此數(shù)據(jù)的處理需要運(yùn)用到歸一化算法。
圖7 智能車軟件系統(tǒng)流程圖
直立車系統(tǒng)運(yùn)用到了三大PID系統(tǒng):直立串級PID系統(tǒng)、速度環(huán)PID系統(tǒng)與方向環(huán)PID系統(tǒng)。三大系統(tǒng)在設(shè)計(jì)上是并聯(lián)共存的,都有自己獨(dú)立的系統(tǒng)輸入,PID系統(tǒng)的輸出值均會統(tǒng)一到電機(jī)PWM輸出數(shù)據(jù)的中。
圖8 智能車實(shí)物圖
圖9 陀螺儀實(shí)時(shí)角速度
假設(shè)智能小車當(dāng)前有前傾的趨勢,如果給小車一個(gè)瞬間的前進(jìn)的速度,車輪會猛然前進(jìn),但由于慣性作用,智能車車身會整體往后仰,如果車身控制夠精準(zhǔn),當(dāng)車身往后運(yùn)動到豎直狀態(tài)立馬讓車輪停止轉(zhuǎn)動,此時(shí)車子就能夠保持直立狀態(tài),當(dāng)然,由于自身摩擦力與重力直立狀態(tài)不會維持太久的時(shí)間,車子就會帶有隨機(jī)往前后方向跌倒的趨勢,然后再相應(yīng)的給車輪一個(gè)速度,這樣周而復(fù)始,就能夠讓智能車一直保持直立狀態(tài),而不會跌倒。
上面是對智能車直立系統(tǒng)運(yùn)行時(shí)的概述,要做到這么精準(zhǔn)的控制,就是讓三大PID系統(tǒng)協(xié)調(diào)工作,對傳感器數(shù)據(jù)需要做出細(xì)致的處理。
PID控制是經(jīng)典的自動控制算法之一。它的特性就是穩(wěn)、準(zhǔn)、快。穩(wěn)講的是PID系統(tǒng)的穩(wěn)定性,當(dāng)系統(tǒng)受到外部干擾后,能夠迅速返回到最初狀態(tài)的特性。準(zhǔn)講的是準(zhǔn)確性,當(dāng)系統(tǒng)處于穩(wěn)定狀態(tài)是,其誤差能夠穩(wěn)定在一定的范圍之內(nèi)??熘v的是快速性,當(dāng)系統(tǒng)與期望值之間存在有誤差時(shí),系統(tǒng)能夠在最短的時(shí)間內(nèi)做出響應(yīng),到達(dá)并維持在期望值。
(1)直立串級PID與方向環(huán)PID
直立串級PID系統(tǒng)與方向環(huán)PID系統(tǒng)均采用了位置式PID,位置式PID原理的離散公式:
(1)
(2)
(3)
式中:u(k)為PID系統(tǒng)的輸出;e(t)為PID系統(tǒng)的輸入;Kp為PID系統(tǒng)的比例放大系數(shù);Ki為PID系統(tǒng)的積分放大系數(shù);Kd為PID系統(tǒng)的微分放大系數(shù);Ti為PID系統(tǒng)的積分時(shí)間;Td為PID系統(tǒng)的微分時(shí)間;T為PID系統(tǒng)的執(zhí)行周期。
智能車的直立環(huán)PID系統(tǒng)是串級PID,就是把兩個(gè)PID系統(tǒng)串聯(lián)相用。第一級PID的被控制量是智能車的角度,第二級PID的被控制量是智能車的角速度。串級PID更符合智能直立車的等效模型,PID系統(tǒng)的輸入是由卡爾曼融合所得出的智能車當(dāng)前角度與智能車姿態(tài)角期望值的誤差,而PID系統(tǒng)輸出調(diào)節(jié)的是智能車運(yùn)動的角速度,這樣的一套系統(tǒng)更符合對直立車的控制。
圖10 加速度計(jì)實(shí)時(shí)數(shù)據(jù)
圖11 角速度實(shí)時(shí)數(shù)據(jù)
(2) 速度環(huán)PID
對于速度環(huán)PID,使用了增量式PID,增量式PID與位置式PID類似,但對某些變量的控制會更加的圓潤穩(wěn)定。位置式PID的輸出量是被執(zhí)行系統(tǒng)的實(shí)際位置,增量式PID的輸出量不是被執(zhí)行系統(tǒng)的實(shí)際位置,而是被執(zhí)行系統(tǒng)實(shí)際位置的增量。
智能車系統(tǒng)的速度環(huán)使用增量式PID,有利于智能車在速度環(huán)上的穩(wěn)定性。智能車對于速度數(shù)據(jù)的獲取是利用K60自身攜帶的外設(shè)硬件正交解碼,它能夠?qū)⒅悄苘囌崔D(zhuǎn)的速度做出完美的詮釋。
設(shè)計(jì)的智能車實(shí)物如圖8所示,本系統(tǒng)調(diào)試過程中利用MCU的串口5給上位機(jī)發(fā)送姿態(tài)角傳感器數(shù)據(jù),所選用調(diào)試的上位機(jī)為匿名科創(chuàng)地面站。匿名科創(chuàng)地面站可以一次性實(shí)時(shí)發(fā)送9個(gè)數(shù)據(jù),對此非常便于對陀螺儀、加速度計(jì)原始數(shù)據(jù)的跟蹤觀察,而且能夠?qū)⒖柭诤虾蟮膶?shí)時(shí)角度發(fā)送到上位機(jī)中實(shí)時(shí)顯示。對于系統(tǒng)只需要觀察的數(shù)據(jù)有X、Y軸加速度計(jì),X、Y角速度。調(diào)試的實(shí)時(shí)角速度計(jì)、加速度計(jì)數(shù)據(jù)分別如圖9、10所示,角速度如圖11所示。
經(jīng)過測試該智能車可以實(shí)現(xiàn)平臺上平衡、轉(zhuǎn)彎、旋轉(zhuǎn)、平穩(wěn)的行駛等測試。
所設(shè)計(jì)的兩輪自平衡智能車控制系統(tǒng)硬件工作穩(wěn)定;運(yùn)用互補(bǔ)濾波和卡爾曼濾波方式檢測姿態(tài)檢測傳感器信號、以控制智能車直立平衡的方法切實(shí)有效;通過歸一化處理將路徑檢測傳感器獲得的路徑信息與直立平衡控制信號進(jìn)行融合、在直立平衡基礎(chǔ)上實(shí)現(xiàn)智能車方向控制的方法穩(wěn)定可靠。
[1] 趙盼.城市環(huán)境下無人駕駛車輛運(yùn)動控制方法的研究[D].合肥:中國科技大學(xué),2012.
[2] 卓晴.電磁組競賽車模路徑檢測設(shè)計(jì)參考方案[EB],競賽秘書處,2010.
[3] 潘啟軍,馬偉明,趙治華,等.磁場測量方法的發(fā)展及應(yīng)用[J].電工技術(shù)學(xué)報(bào)2005,3:7-13.
[4] 梅真,趙熙臨.基于增量式PID智能車調(diào)速系統(tǒng)的設(shè)計(jì)[J].《湖北工業(yè)大學(xué)學(xué)報(bào)》,2015,30(2):72-76.
[5] 余莎麗,劉小龍,周健民.基于模糊PID與算法控制智能小車速度[J].《自動化與儀器儀表》,2016(2):76-77.
[6] 冷雪鋒.基于PID的STM32智能小車機(jī)器人的設(shè)計(jì)[J].《自動化技術(shù)與應(yīng)用》,2016?,35(11).
[7] 張磊.智能小車控制系統(tǒng)的設(shè)計(jì)[D].吉林:吉林大學(xué) ,2016.
[8] 李傳娣.單片機(jī)原理、應(yīng)用及Proteus仿真[M].北京:清華大學(xué)出版社,2017.