智能車競賽技術報告?|單車拉力組?-?大理工大學-?基于串級控制的智能循跡自形成研究
隊伍名稱:銀龍隊????
參賽隊員:朱煬爽????
郁東輝????
張婧宜????
帶隊教師:吳振宇 李勝銘?
引 ? 言
??隨著電子科技的不斷發(fā)展,越來越多的自動化設備開始進入到人們的生產(chǎn)生活中,嵌入式的迅猛發(fā)展為智能研究提供了更廣闊的平臺。在工業(yè)生產(chǎn)、科學探索、救災搶險、軍事等方面,人工智能發(fā)揮著越來越重要的作用,在此背景下,智能控制策略變得尤為重要。??全國大學生杯智能汽車競賽是國家教學質(zhì)量與教學改革工程資助項目,以恩智浦半導體公司生產(chǎn)的16、32位單片機為核心控制模塊,通過增加道路傳感器、電機驅(qū)動電路以及編寫相應程序,制作一個能夠自主識別道路的汽車模型。因而該競賽是涵蓋了智能控制、模式識別、傳感技術、汽車電子、電氣、計算機、機械等多個學科的比賽,對學生的知識融合和實踐能力的提高,具有良好的推動作用。??本文采用第十六屆全國大學生智能車競賽的汽車模型作為研究平臺,以16位單片機STC16F40K128作為主控制單元,運用Keil軟件作為開發(fā)工具進行智能控制策略研究。??道路信息檢測模塊普遍采用電感線圈和矯正電容組成電磁傳感器。本屆車模為電單車,前后輪縱向布置,前輪通過舵機控制轉(zhuǎn)向,后輪通過電機提供動力。??在電源模塊設計中,采用TI公司開關電源芯片TPS5430和線性穩(wěn)壓電源芯片TPS7350分別產(chǎn)生6v、5v電壓,5v為編碼器供電;采用TPS7333作為穩(wěn)壓3.3V輸出,為單片機、模數(shù)轉(zhuǎn)換、串口通信模塊供電。單片機軟件算法部分為本文論述的重點,主要體現(xiàn)了智能車的串級PID控制策略,完成對單車的平衡及轉(zhuǎn)向控制,取得靜態(tài)指標和動態(tài)性能的雙贏。??本篇技術報告將從智能車機械結(jié)構、硬件電路、軟件算法和調(diào)試方法等方面詳細介紹整個準備過程。第一章 方案設計
??本章主要介紹智能汽車系統(tǒng)總體方案的選定和總體設計思路。1.1 系統(tǒng)總體方案的選定
??本屆智能汽車比賽,我隊為單車拉力組別。在循跡傳感器方面,選用了電磁傳感器,電磁放大電路使用了TI公司的軌到軌運算放大器OPA2350。在速度控制方面,用AS5040磁性傳感器進行測速,進行速度閉環(huán)反饋,具有噪聲小的優(yōu)點。陀螺儀使用ICM42605采集三軸角速度、加速度數(shù)據(jù),通過互補濾波解算得到角度信息。1.2 系統(tǒng)總體方案的設計
??系統(tǒng)的硬件電路采用一體板的設計方式,小巧、緊密,保證單車機械結(jié)構的輕巧。設計上使用四層板設計,并對電源地進行合理分割,保證硬件電路的整體穩(wěn)定性以及各功能模塊的性能。主控部分:
??包括一片STC16F40K128核心控制器和一片AD7606模數(shù)轉(zhuǎn)換芯片以及用于輔助操作調(diào)試的按鍵、OLED、撥碼器件,調(diào)試接口預留串口接口,外接HC-25 wifi模塊,方便調(diào)試與接受數(shù)據(jù)。??輔助調(diào)試器件包括一個蜂鳴器,一個0.96寸OLED屏,四個按鍵和一個四聯(lián)撥碼,用于指示工作狀態(tài)、GUI菜單操作修改參數(shù)以及選擇預制檔位等功能。電機驅(qū)動部分:
??電機驅(qū)動器采用mos管搭建H橋電路,具有電路簡單、驅(qū)動電流大、響應快的特點,可靠耐用。使用柵極驅(qū)動器IR2184驅(qū)動,控制信號通過74HC02D進行信號變換輸出給IR2184驅(qū)動H橋工作。測速留出6Pin 正交信號磁編碼器接口,通過D觸發(fā)器74HC74對AB相信號處理得到方向信息。電源部分
??主要包括8.4V到6V降壓、5V穩(wěn)壓電路、外設和MCU的3.3V穩(wěn)壓電路和舵機電源電路。其中由于舵機擺角時瞬時功率較大同時對電源紋波要求并不嚴格,選用TPS5450開關電源供電。外設和單片機選用線性電源供電,所有5V外設均采用TI公司的高性能線性穩(wěn)壓器TPS7350進行供電,而3.3V使用一片TPS7333穩(wěn)壓。電磁信號采集放大板部分:
??系統(tǒng)采用6.8nF電容和10mH電感配對采集電磁導引信號,經(jīng)過TI公司高性能軌到軌放大器OPA2350放大后,進行倍壓整流,得到波動較小的直流電壓信號,并通過AD7606進行5通道同步采樣進行adc采集,使用SPI通信方式與MCU通信。第二章 機械結(jié)構調(diào)整與優(yōu)化
??智能汽車各系統(tǒng)的控制都是在機械結(jié)構的基礎上實現(xiàn)的,因此在設計整個軟件架構和算法之前一定要對整個模型車的機械結(jié)構有一個全面清晰的認識,然后建立相應的數(shù)學模型,從而再針對具體的設計方案來調(diào)整賽車的機械結(jié)構,并在實際的調(diào)試過程中不斷的改進優(yōu)化和提高結(jié)構的穩(wěn)定性。本章將主要介紹K車模的機械結(jié)構和調(diào)整方案。2.1 智能汽車車模的選擇
??本屆比賽單車拉力組我們使用K車模。2.2 智能汽車傳感器的安裝
??車模中的傳感器包括有:速度傳感器(霍爾測速),電磁傳感器。下面分別介紹這些傳感器的安裝。2.2.1 速度傳感器的安裝
??速度編碼器我們采用了AS5040磁性傳感器,安裝方法如下:??將后車車輪軸處用AB膠沾上磁鐵,將磁性傳感器對準磁鐵,當車軸帶動磁鐵轉(zhuǎn)動時,磁性傳感器會切割磁力線產(chǎn)生方波用于測速。??安裝時應注意調(diào)整好齒輪間隙。同樣的,電機齒輪與車輪的咬合也很重要。齒輪傳動機構對車模的驅(qū)動能力有很大的影響。齒輪傳動部分安裝位置的不恰當,會大大增加電機驅(qū)動后輪的負載,會嚴重影響行駛。調(diào)整的原則是:兩傳動齒輪軸保持平行, 齒輪間的配合間隙要合適,過松容易打壞齒輪,過緊又會增加傳動阻力,浪費動力;傳動部分要輕松、順暢,不能有遲滯或周期性振動的現(xiàn)象。判斷齒輪傳動是否良好的依據(jù)是,聽一下電機帶動后輪空轉(zhuǎn)時的聲音。聲音刺耳響亮,說明齒輪間的配合間隙過大,傳動中有撞齒現(xiàn)象;聲音悶而且有遲滯,則說明齒輪間的配合間隙過小,或者兩齒輪軸不平行,電機負載變大。調(diào)整好的齒輪傳動噪音很小,并且不會有碰撞類的雜音,后輪減速齒輪機構就基本上調(diào)整好了,動力傳遞十分流暢。2.2.2電磁傳感器的安裝
??為了采集到更多的賽道信息,電磁傳感器擺放位置為車頭5個電磁傳感器,3個橫放,2個豎放。將電磁前瞻固定于單車前方20cm遠、15cm高的位置。。2.3.1 電路板的安裝??為了使智能車具有較好的穩(wěn)定性,我們在搭建智能車時將一體板放到了K車的后座上,并用熱熔膠和尼龍柱牢固地固定到了車體上。2.3.2 電池安放
??為了方便,將電池放到了K車電池倉內(nèi)。2.4 其他機械結(jié)構的調(diào)整
??另外,在模型車的機械結(jié)構方面還有很多可以改進的地方,其中最重要的是機械重心的調(diào)整。K車設計上質(zhì)量分布不均勻,左邊要重于右邊。我們通過不斷嘗試,使左右質(zhì)量分布接近一致,取得了較為接近的左右轉(zhuǎn)性能。2.5 小結(jié)
??模型車的性能與機械結(jié)構有著非常密切的聯(lián)系。良好的機械結(jié)構是模型車提高速度的關鍵基礎。在同等的控制環(huán)境下,機械機構的好壞對其速度的影響十分顯著。我們非常重視對智能汽車的機械結(jié)構的改進,經(jīng)過大量的理論研究和實踐,我們小車的左右質(zhì)量分布均勻,重心集中車模低位,達到左右轉(zhuǎn)性能接近的效果,在高低速下均能取得不錯的控制,從而提高了小車整體的穩(wěn)定性和可靠性。第三章 硬件電路方案設計
??本系統(tǒng)的硬件電路采用模塊化設計方式。主要包括單片機最小系統(tǒng)模塊、電源模塊、電磁信息采集模塊、測速模塊、顯示模塊等部分。3.1 單片機最小系統(tǒng)模塊
??本設計的核心控制器為宏晶公司生產(chǎn)的16位單片機STC16F40K128,該單片機具有64引腳,具有豐富的系統(tǒng)資源和方便的外部電路接口,其中包括UART模塊,定時中斷模塊,IIC模塊,RAM存儲器,FLASH存儲器,EEPROM存儲器、PWM 模塊。3.2 電源模塊
3.2.1 電池使用
??電源模塊是系統(tǒng)穩(wěn)定工作的基礎,因此,電源模塊輸出電壓和電流的穩(wěn)定性在整個智能車系統(tǒng)中起著非常重要的作用。??電池采用3300mah 2s航模電池,該類型電池具有高效的利用率和穩(wěn)定的性能,一直被作為各種航模、電動車等的供電設備。為了獲得最高的性能和最長的壽命,該充電電池必須以正確的方法來使用。??電池通常電流高,電池的爆發(fā)力會強些,但未必如電流低時飽滿。同時我們也??必須注意充電電流不能過高,當電流過高時,不僅不能提高電池性能,反而會損壞電池,嚴重時會導致電池起火、爆炸。電池充滿電時,電壓大約為8.4V。在電池壓小于7.2V時,應注意及時充電,電池過放會對其造成不可逆轉(zhuǎn)的損害,電壓低于7.2V會對電池造成毀滅性傷害。3.2.2 穩(wěn)6V電源模塊
??使用TI公司開關電源TPS5430降壓到6V供舵機使用。電路原理圖如3.1所示。3.2.3 穩(wěn)5V電源模塊
??由于霍爾傳感器的額定工作電壓為5V,TPS7350是TI公司生產(chǎn)的高性能線性穩(wěn)壓芯片,其使用方便,電路的設計原理如圖3.2所示。3.2.4 穩(wěn)3.3V電源模塊
??由于單片機的額定電壓為3.3V,串口通信也均為3.3V,因此,將電壓穩(wěn)定在3.3V并給各模塊供電是必不可少的。電路的設計原理如圖3.3所示。3.3 電機驅(qū)動模塊
??本智能車系統(tǒng)車模的電機型號較小,對電機驅(qū)動的輸出電流的要求并不苛刻,因此本設計的驅(qū)動電路由4片mos管構成H橋。通過控制4個MOS管的導通和關斷來實現(xiàn)正反轉(zhuǎn),并通過控制輸入的PWM波的占空比來調(diào)節(jié)電機兩端的平均電壓,達到控制電機的轉(zhuǎn)速的目的,具體電路圖如圖3.4所示。3.4 電磁檢波模塊
??使用軌至軌運算放大器對電感電容對諧振得到的電磁信號進行放大檢波處理。具體電路圖如圖3.5所示。3.5 AD7606 模數(shù)轉(zhuǎn)換
??AD7606數(shù)模轉(zhuǎn)換芯片最高采樣頻率200Khz,8通道同步采樣,同時還可以設置2倍、4倍、8倍、16倍、32倍、64倍過采樣,相當于做了硬件上的平滑濾波。AD7606通過SPI接口與單片機通信。第四章 小車的控制方法
??類比于直立車直立環(huán)、速度環(huán)和方向環(huán)的三環(huán)控制,單車采用角速度環(huán)和角度環(huán)串級作為直立環(huán),并且將循跡環(huán)疊加到角速度環(huán)中控制單車的轉(zhuǎn)向,這樣的控制方法內(nèi)環(huán)角速度環(huán)可保證轉(zhuǎn)彎的及時,外環(huán)角度環(huán)又能保持車的直立姿態(tài)讓其不倒。??單車的運動控制是一個欠驅(qū)動系統(tǒng),按照單車的運動模型,后輪電機速度對單車的直立環(huán)也會產(chǎn)生影響,速度越快,則向心力越大,所以不同速度下單車傾角所對應的前輪舵機打角也不同。假設在勻速狀態(tài)下的參數(shù)正好適合,我們想到可以配合加減速來輔助直立環(huán),在單車過彎道時減速,過彎后及時加速使單車回正,這樣的策略可以讓單車在過彎時起到壓彎的效果。4.1 PID控制
4.2 單車平衡與轉(zhuǎn)向控制
4.2.1 ?單車平衡原理
??將自行車機器人看成由前輪、后輪以及車架所組成,并假設系統(tǒng)所有的質(zhì)量都集中于質(zhì)心上,根據(jù)質(zhì)點系相對于動軸的動量矩定理,建立起自行車機器人的動力學方程,得到其單輸入單輸出系統(tǒng)的線性化模型。4.2.2 單車平衡的穩(wěn)定性分析與仿真
??由4.2.1推導得出的系統(tǒng)線性化模型進一步分析,其開環(huán)傳遞函數(shù)為4.2.3 單車平衡與轉(zhuǎn)彎
??自行車機器人的轉(zhuǎn)向控制通過改變目標平衡傾角從而改變車身動態(tài)平衡時的平衡姿態(tài),做平面圓周運動。其轉(zhuǎn)彎半徑值由舵機打角、目標平衡傾角來決定。后輪轉(zhuǎn)速則影響了最大的平衡傾角以及一定平衡傾角下舵機打角值從而改變了轉(zhuǎn)彎半徑大小。而后輪速度、舵機打角、車身傾角與轉(zhuǎn)彎半徑之間的關系為一個比較復雜的非線性關系。??實際調(diào)試中發(fā)現(xiàn),在小傾角情況下,平衡控制效果。但是在左右轉(zhuǎn)向時呈現(xiàn)出了一個極為明顯的左右轉(zhuǎn)不對稱性,分析為自行車機器人的自身質(zhì)量分布不均勻引起的。觀察發(fā)現(xiàn),龍邱汽車電子提供的K車模自身結(jié)構存在一個不對稱的設計,即后輪電機沒有居中放置而是偏右,從而使得車的重心偏右,引起轉(zhuǎn)彎性能不對稱的現(xiàn)象。4.3 單車循跡
??實現(xiàn)車模方向控制是保證車模沿著競賽道路比賽的關鍵,這里采用PD控制,單車是采用電磁循跡,我們使用兩個水平電感的差比和作為單車距離賽道的偏差值,但是實際發(fā)現(xiàn)當車遠離賽道一定位置時,差比和會出現(xiàn)先增大后減小的現(xiàn)象,于是我們通過中間的水平電感找到差比和突變的臨界點,并且在這個位置保持差只能增大,這樣就對差比和做了一個矯正,保持單車遠離賽道時差比和只會越來越大。??再將得到的差比和值代入PD控制器,得到單車轉(zhuǎn)向的大小。將循跡環(huán)的輸出放到轉(zhuǎn)向環(huán)的輸入,即疊加到角速度環(huán)的目標值,即可實現(xiàn)單車循跡。4.4 單車慢速運動控制
??單車拉力組今年除了要競速以外,還增加了慢賽道,這個時候需要以慢取勝,單車與其他組別不同,當速度減慢時,單車的平衡便成了一個棘手的問題。與高速時所采用的內(nèi)外環(huán)PD控制加上角度與舵機打角的擬合的策略不同,這個時候利用擬合便不能調(diào)節(jié)得那么精細,所以我們慢速時內(nèi)外環(huán)都采用PID控制器,此時單車轉(zhuǎn)彎的傾角只能限制在一個小范圍內(nèi)。在循跡時單車容易出現(xiàn)抖動,而且會有一個低頻的晃動,容易發(fā)散,循跡時則需要給一個很小的P項配合一個相對較大的D項,這樣便可抑制單車的抖動。第五章 開發(fā)調(diào)試
5.1 開發(fā)工具
??我隊成員自主設計開發(fā)適合攝像頭、光電組別的上位機。大體功能如下:5.1.1 串口功能
1、普通查看接收功能
??選擇串口號,和波特率。默認串口號位所有可以使用的串口中號碼最小的,默認波特率位115200(考慮速度和誤碼率確定為115200),然后選擇"打開串口"。2、普通發(fā)送功能
??必須打開串口此功能才能用。有"顯示發(fā)送了多少字節(jié)"功能,"清空顯示"功能,還可選擇"包含換行符","16進制發(fā)送"功能。3、直接發(fā)送字節(jié)功能
4、藍牙調(diào)試功能
??使用此功能必須打開串口,然后"使能藍牙調(diào)試"框勾選。注意:- AT BAUD:后邊是1,2,3,4,5,6,7等。4代表9600bps,8代表115200bps
- AT NAME:可以是英文或者數(shù)字組合。
- AT NAME:可以是英文或者數(shù)字組合。
- AT ROLE:后邊是0,1。0是從機,連接單片機,1是主機,連接電腦。
5.1.2 畫圖功能
第六章 車模主要參數(shù)
6.1 智能汽車外形參數(shù)
??經(jīng)過改裝后,智能汽車的外形參數(shù)為:- 車A:
- 車長:300mm;車寬:200mm;車高:150mm;車重:1kg
6.2 智能汽車技術參數(shù)
??智能汽車相關技術參數(shù)如表6.1所示:| 項目 | 參數(shù) |
|---|---|
| 車模軸距 輪距(毫米) | 200 140 |
| 車模平均電流(勻速行駛)(毫安) | 300 |
| 電路電容總量(微法) | 800 |
| 傳感器種類及個數(shù) | 測速編碼器 一個 |
| LC電磁傳感器 | 五個 |
| 陀螺儀 | 一個 |
| 新增加伺服電機個數(shù) | 0 |
| 賽道信息檢測空間精度(毫米) | 10 |
| 賽道信息檢測頻率(次 秒) | 150 |





