• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于GPS的兩輪直立循跡車的設(shè)計(jì)與實(shí)現(xiàn)

      2020-12-14 04:37:08張楊揚(yáng)葉金宇劉昌杰盧政沈志陸夢(mèng)雪
      電腦知識(shí)與技術(shù) 2020年28期
      關(guān)鍵詞:自動(dòng)駕駛

      張楊揚(yáng) 葉金宇 劉昌杰 盧政 沈志 陸夢(mèng)雪

      摘要:汽車自動(dòng)駕駛技術(shù)是當(dāng)前非常熱門的技術(shù),眾多科技工作者相信在將來(lái)汽車自動(dòng)駕駛技術(shù)將會(huì)普及開(kāi)來(lái),出現(xiàn)在每一個(gè)普通大眾的視野中。自動(dòng)駕駛離不開(kāi)電子通信和計(jì)算機(jī)技術(shù)的支持,如傳感器、大數(shù)據(jù)技術(shù)等。本文利用攝像頭傳感器,GPS傳感器,電磁傳感器,陀螺儀等設(shè)計(jì)了自動(dòng)循跡的兩輪平衡小車,實(shí)現(xiàn)自動(dòng)巡航功能。

      關(guān)鍵詞:自動(dòng)駕駛;GPS傳感器;平衡車;MPU6050

      中圖分類號(hào):G642 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2020)28-0001-03

      Abstract:Autonomous driving technology is currently a very popular technology. Many scientific and technological workers believe that autonomous driving technology will be popularized and appear in the eyes of every ordinary public in the future. Autonomous driving is inseparable from the support of electronic communication and computer technology, such as sensors and big data technology. In this paper, a two-wheel balance car with automatic tracking is designed by using camera sensors, GPS sensors, electromagnetic sensors, gyroscopes, and so on,to achieve the automatic cruise function.

      Key words: automatic driving;GPS sensor; balance car;MPU6050

      1 引言

      本文設(shè)計(jì)的GPS兩輪平衡車是對(duì)無(wú)人駕駛技術(shù)的仿真設(shè)計(jì),可以做到啟動(dòng)無(wú)須人為干涉就能達(dá)到平穩(wěn)安全運(yùn)行的目的。該技術(shù)可用于無(wú)人駕駛和輔助駕駛系統(tǒng),減少交通事故的發(fā)生率,保障車主的安全。設(shè)計(jì)中使用的傳感器主要有MPU6050姿態(tài)傳感器,GPS定位傳感器,攝像頭道路識(shí)別傳感器等,通過(guò)對(duì)這些傳感器采集的數(shù)據(jù)進(jìn)行處理,來(lái)控制左右電機(jī)的速度從而控制車輛的運(yùn)行狀態(tài),達(dá)到預(yù)期的設(shè)計(jì)目的。本設(shè)計(jì)的思路與方法都融入了無(wú)人駕駛的設(shè)計(jì)思想,對(duì)無(wú)人駕駛技術(shù)的研究與發(fā)展極具參考意義[1]。

      2 系統(tǒng)的硬件設(shè)計(jì)

      硬件部分系統(tǒng)的主控處理器采用的是飛思卡爾公司的32位處理器MK60DN512[2]。該處理器的功能十分強(qiáng)大,外設(shè)豐富,能夠滿足數(shù)據(jù)采集,運(yùn)算與輸出任務(wù)的要求。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。

      2.1 MPU6050車輛姿態(tài)獲取

      MPU6050是一種姿態(tài)獲取傳感器。該處理器可以獲取3軸加速度和3軸角速度,通過(guò)特定的姿態(tài)處理算法可以獲取設(shè)備當(dāng)前的航向角,俯仰角和橫滾角。該傳感器內(nèi)部還帶有一個(gè)數(shù)字溫度傳感器,可以用來(lái)做溫度補(bǔ)償算法,以達(dá)到數(shù)據(jù)校準(zhǔn)目的,減小實(shí)際測(cè)量中的細(xì)小誤差,使得測(cè)量結(jié)果更加準(zhǔn)確。MPU6050傳感器可以用于航空航天,無(wú)人機(jī)技術(shù),平衡車技術(shù)等。其使用的通信接口是比較常見(jiàn)的IIC接口,通過(guò)數(shù)據(jù)線和時(shí)鐘線可以實(shí)現(xiàn)與MCU通信,獲取相關(guān)數(shù)據(jù)。由于姿態(tài)獲取是一個(gè)非常煩瑣,算法復(fù)雜的步驟,因此這里借助了第三方庫(kù)來(lái)幫助獲取姿態(tài)數(shù)據(jù),以達(dá)到更快應(yīng)用開(kāi)發(fā)目的。圖2和圖3分別為MPU-6050實(shí)物圖和原理圖。

      2.2 ATGM332D北斗定位模塊

      本次設(shè)計(jì)中使用了ATGM332D北斗和GPS雙模定位模塊,該模塊具有成本低,體積小等諸多優(yōu)點(diǎn),多用于車載定位系統(tǒng),可穿戴設(shè)備等生活中的方方面面。該模塊自帶一個(gè)陶瓷天線,由于陶瓷天線接收效率相比較有源天線接收效率差許多,這次設(shè)計(jì)我們使用了有源天線,來(lái)完成數(shù)據(jù)接收,實(shí)現(xiàn)精確定位。通過(guò)模塊輸出的數(shù)據(jù)可以獲取北京時(shí)間、經(jīng)緯度、海拔高度、速度和航向等常用的基本信息,還可以獲取當(dāng)前的定位質(zhì)量和定位模式、連接的GPS系統(tǒng)衛(wèi)星數(shù)量和北斗系統(tǒng)衛(wèi)星數(shù)量。這樣處理以后數(shù)據(jù)更加的直觀。圖4為定位模塊與單片機(jī)引腳連接圖,圖5為定位模塊電路圖。

      2.3 測(cè)速模塊

      本設(shè)計(jì)中使用的測(cè)速模塊是FC接口的迷你512線編碼器,旋轉(zhuǎn)360度輸出512個(gè)脈沖,編碼器有6個(gè)輸出引腳,分別為VCC,GND,A相輸出,零位輸出,方向輸出和NC輸出。設(shè)計(jì)中我們用到了VCC,GND,A相輸出和方向輸出,通過(guò)方向輸出引腳可以判斷編碼器的旋轉(zhuǎn)方向,據(jù)此判斷出車輛的運(yùn)行方向。編碼器的實(shí)物圖和接口示意圖如下。圖6為編碼器實(shí)物圖,引腳電平信號(hào)輸出如圖7所示。

      2.4攝像頭采集模塊

      攝像頭傳感器采用的是山外120度鷹眼攝像頭模塊,原始圖像通過(guò)若干邏輯器件處理后變?yōu)?和1數(shù)值組合的黑白圖像,極大減輕運(yùn)算量,效果出眾[3]。通過(guò)對(duì)攝像頭模塊設(shè)置,鷹眼輸出可高達(dá)150幀,采集時(shí)間更短。感光芯片采用BGA封裝OV7725低照度超好,圖像清晰,3.3V的工作電壓,低壓低功耗。該模塊完全兼容飛思卡爾MK60DN512芯片。攝像頭實(shí)物如圖8所示,引腳接口如圖9所示。

      3 系統(tǒng)的軟件設(shè)計(jì)

      3.1 MPU6050的數(shù)據(jù)獲取與處理

      通過(guò)MCU可以讀出MPU6050的三軸加速度數(shù)據(jù)和三軸角速度數(shù)據(jù),但是實(shí)際使用中并不會(huì)用這些原始數(shù)據(jù)來(lái)控制平衡車的姿態(tài)。實(shí)際使用中需要的數(shù)據(jù)是姿態(tài)數(shù)據(jù),即三軸偏角,相對(duì)于地理坐標(biāo)系的X軸、Y軸和Z軸的偏角。通過(guò)這三個(gè)軸的偏角,可以得到當(dāng)前平衡車的姿態(tài),從而對(duì)其加以控制。要想得到三軸偏角,首先需要獲取姿態(tài)傳感器的原始數(shù)據(jù),通過(guò)算法對(duì)原始數(shù)據(jù)進(jìn)行姿態(tài)解析,獲取三軸偏角。由于這一過(guò)程的實(shí)現(xiàn)復(fù)雜而煩瑣,工作量較大,涉及的知識(shí)點(diǎn)也較難,我們選擇使用第三方姿態(tài)解析庫(kù)來(lái)獲取三軸偏角。姿態(tài)解析庫(kù)內(nèi)置于該款傳感器,自帶數(shù)據(jù)運(yùn)算處理功能,不需要使用到MCU,該過(guò)程可以理解為DMA,由于不消耗CPU資源,因此處理器有時(shí)間去處理其他實(shí)時(shí)性更高的運(yùn)算,加快系統(tǒng)的實(shí)時(shí)響應(yīng)速度。其中俯仰角用于平衡車直立穩(wěn)定的控制,航向角用于輔助車輛轉(zhuǎn)向的控制,采用PID控制算法[4],能夠滿足設(shè)計(jì)要求。

      3.2 ATGM332D北斗定位模塊數(shù)據(jù)獲取

      定義模塊采用的是串口通信[5],利用MK60DN512的串口3與模塊連接,借助內(nèi)存管理算法向單片機(jī)動(dòng)態(tài)申請(qǐng)內(nèi)存來(lái)存儲(chǔ)接收到的定位數(shù)據(jù),然后通過(guò)SPI接口驅(qū)動(dòng)內(nèi)存卡,把每次采集到的定位信息存儲(chǔ)于內(nèi)存卡中,形成一個(gè)完整的運(yùn)行路徑。定位模塊的數(shù)據(jù)如下:

      $GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7,M,0.0,M,,*48

      $GNGLL,2236.9453,N,11408.4790,E,084852.000,A,A*4C

      $GPGSA,A,3,10,18,31,,,,,,,,,,6.3,3.1,5.4*3E

      $BDGSA,A,3,06,07,,,,,,,,,,,6.3,3.1,5.4*24

      $GPGSV,3,1,09,10,78,325,24,12,36,064,,14,26,307,,18,67,146,27*71

      $GPGSV,3,2,09,21,15,188,,24,13,043,,25,55,119,,31,36,247,30*7F

      $GPGSV,3,3,09,32,42,334,*43

      $BDGSV,1,1,02,06,68,055,27,07,82,211,31*6A

      $GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,141216,,,A*75

      $GNVTG,292.44,T,,M,0.53,N,0.98,K,A*2D

      $GNZDA,084852.000,14,12,2016,00,00*48

      $GPTXT,01,01,01,ANTENNA OK*35

      進(jìn)行簡(jiǎn)要的分析,這里我們只解讀幾個(gè)重要的數(shù)據(jù):

      (1)天線狀態(tài)輸出:$GPTXT,01,01,01,ANTENNA OK*35,Ok 代表天線已經(jīng)檢測(cè)到,open 代表天線斷開(kāi);

      (2) GPS定位信息:$GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7;

      (3) 地理定位信息:$GPGLL,2236.9453,N,11408.4790,E,084852.000。

      軟件設(shè)計(jì)中需要先查看天線狀態(tài)是否正常,當(dāng)天線狀態(tài)正常后,接收到的數(shù)據(jù)才是有效數(shù)據(jù),然后存入到內(nèi)存卡管理。重復(fù)行進(jìn)的路段可以通過(guò)讀取內(nèi)存卡的定位數(shù)據(jù)來(lái)進(jìn)行預(yù)處理,從而達(dá)到更好地控制效果。

      3.3 車輛速度參數(shù)獲取

      本設(shè)計(jì)中使用MK60DN512處理器內(nèi)部正交解碼外設(shè),設(shè)置讀取周期讀取正交解碼脈沖計(jì)數(shù)寄存器就可以獲取單位時(shí)間內(nèi)的脈沖數(shù)。對(duì)于512編碼器而言,讀取的數(shù)據(jù)除以512就可以獲取到車輛單位時(shí)間內(nèi)的輪胎轉(zhuǎn)速即車輛運(yùn)行速度。另外為了精準(zhǔn)的控制讀取速度,軟件中采用定時(shí)器周期性讀取,定時(shí)時(shí)間為20ms,定時(shí)器優(yōu)先級(jí)為最高。這樣可以防止在讀取速度時(shí)被其他優(yōu)先級(jí)更高的中斷打斷,從而造成速度的誤差,不利于控制車輛的穩(wěn)定運(yùn)行。速度的計(jì)算公式如下:

      V = (正交解碼通道值/512) × (1/定時(shí)時(shí)間) ×輪胎周徑 (m/s) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)

      程序的設(shè)計(jì)思想來(lái)源于公式(1)。速度穩(wěn)定控制采用PID算法和模糊控制算法來(lái)實(shí)現(xiàn),在實(shí)際應(yīng)用中我們發(fā)現(xiàn)添加模糊控制算法使得運(yùn)動(dòng)控制效果更佳,但同時(shí)增加程序調(diào)試難度。

      3.4 速度輸出控制

      本設(shè)計(jì)采用的機(jī)械結(jié)構(gòu)是2輪直立平衡車,全車的運(yùn)行主要依賴于2個(gè)電機(jī)的旋轉(zhuǎn)。左右電機(jī)轉(zhuǎn)速相同可以使車輛保持直線行駛,左右電機(jī)速度有差異就可以實(shí)現(xiàn)對(duì)車輛的轉(zhuǎn)向控制。通過(guò)MK60DN512處理器的PWM輸出通道控制電機(jī)的速度,使用4路PWM波完成電機(jī)的轉(zhuǎn)速與轉(zhuǎn)向,采用PID算法控制。PWM1和PWM2控制左電機(jī),PWM3和PWM4控制右電機(jī),具體控制情況如下:

      3.5 人機(jī)界面設(shè)計(jì)

      本次設(shè)計(jì)中采用0.96寸OLED顯示屏,在實(shí)際測(cè)試使用中發(fā)現(xiàn)該款屏幕無(wú)法顯示攝像頭采集的圖像,因此攝像頭采集的圖像通過(guò)無(wú)線串口上傳給上位機(jī),OLED屏幕上只顯示一些基本的采集參數(shù)和調(diào)試參數(shù),方便用戶直觀的判斷車輛當(dāng)前的工作狀態(tài)。

      4 系統(tǒng)調(diào)試設(shè)計(jì)

      4.1 USMART參數(shù)調(diào)試

      本設(shè)計(jì)無(wú)線調(diào)參軟件設(shè)計(jì)功能非常強(qiáng)大,代碼量也非常多,在這里只簡(jiǎn)單介紹一下基本原理,思路與使用技巧:

      (1) USMART是一種專為微處理器MCU開(kāi)發(fā)的一種命令調(diào)試工具[6],可以實(shí)時(shí)修改系統(tǒng)參數(shù),無(wú)須重新下載程序就可以改變?cè)O(shè)計(jì)效果,加快開(kāi)發(fā)速度,也減少重復(fù)下載程序的煩瑣過(guò)程,減少Flash的使用量,增加MCU的使用時(shí)間。具體工作過(guò)程是通過(guò)串口發(fā)送命令給單片機(jī),然后單片機(jī)收到命令之后調(diào)用單片機(jī)里面對(duì)應(yīng)的相關(guān)函數(shù),并執(zhí)行,同時(shí)支持返回結(jié)果。

      (2) USMART調(diào)試過(guò)程。串口調(diào)試助手發(fā)送函數(shù)命令Usmart_change_data(26,3000,200);單片機(jī)接收到命令之后,解析命令,調(diào)用對(duì)應(yīng)的函數(shù)Usmart_change_data(26,3000,200);執(zhí)行函數(shù):Usmart_change_data(26,3000,200)。

      (3)USMART文件組。usmart.c負(fù)責(zé)接收串口的數(shù)據(jù),usmat_str.c負(fù)責(zé)串口發(fā)送數(shù)據(jù)的函數(shù)名提取和函數(shù)參數(shù)解析,usmart_config.c負(fù)責(zé)管理系統(tǒng)函數(shù)。

      (4) USMART系統(tǒng)命令。USMART有7個(gè)系統(tǒng)命令,主要包括:help獲取幫助信息、list可用的函數(shù)列表、id:可用函數(shù)的ID列表、hex參數(shù)16進(jìn)制顯示、dec參數(shù)10進(jìn)制顯示、runtime開(kāi)啟關(guān)閉函數(shù)運(yùn)行計(jì)時(shí)。

      所有用戶需要調(diào)用調(diào)試函數(shù)都需要在usmart_config.c中聲明,聲明后的函數(shù)即可被調(diào)用。

      4.2 參數(shù)掉電保存

      參數(shù)掉電保存的目的是把調(diào)試參數(shù)放在掉電不丟失的存儲(chǔ)器件中,比如單片機(jī)系統(tǒng)常用的存儲(chǔ)芯片AT24C02,W25Q64等。由于MK60DN512處理器芯片的Flash具有存儲(chǔ)功能,因此可以把系統(tǒng)參數(shù)保存在Flash里,當(dāng)系統(tǒng)第一次開(kāi)機(jī)時(shí)先讀取Flash里面的參數(shù),然后再修改單片機(jī)RAM里面的系統(tǒng)參數(shù),這樣就可以避免反復(fù)下載程序的煩瑣操作。實(shí)現(xiàn)USMART修改參數(shù)需要在USMART調(diào)用的函數(shù)中加入Flash寫(xiě)操作函數(shù),因此可以把USMART調(diào)試的參數(shù)寫(xiě)入到Flash中,下次開(kāi)機(jī)時(shí)可以直接讀取執(zhí)行,方便程序調(diào)試。

      5 結(jié)語(yǔ)

      本設(shè)計(jì)采用MK60DN512處理器為核心控制芯片,完成了兩輪直立自動(dòng)循跡小車的設(shè)計(jì),符合設(shè)計(jì)要求。在設(shè)計(jì)中添加了一些方便用戶使用的調(diào)試軟件設(shè)計(jì),采用USMART調(diào)試和Flash參數(shù)保存來(lái)減少煩瑣的操作,MK60DN512處理器負(fù)責(zé)對(duì)各模塊的數(shù)據(jù)進(jìn)行處理,兩輪直立循跡車運(yùn)行穩(wěn)定,可靠性較高,具有一定的實(shí)踐指導(dǎo)意義。

      參考文獻(xiàn):

      [1] 高奇琦.共享智能汽車對(duì)未來(lái)世界的影響[J].人民論壇·學(xué)術(shù)前沿,2017(20):39-47.

      [2] 閆琪.智能車設(shè)計(jì)"飛思卡爾杯"從入門到精通[M].北京:北京航空航天大學(xué)出版社,2014.

      [3]王慶有.圖像傳感器應(yīng)用技術(shù)(第2版)[M].北京:電子工業(yè)出版社,2013.

      [4] 王祎晨.增量式PID和位置式PID算法的整定比較與研究[J].工業(yè)控制計(jì)算機(jī),2018,31(5):123-124.

      [5] 張毅剛.單片機(jī)原理及接口技術(shù)(C51編程)[M]. 北京:人民郵電出版,2016.

      [6]譚浩強(qiáng).C程序設(shè)計(jì)(第五版)[M].北京:清華大學(xué)出版社,2017.

      【通聯(lián)編輯:王力】

      猜你喜歡
      自動(dòng)駕駛
      解除人的“自動(dòng)駕駛”模式
      MA600飛機(jī)自動(dòng)駕駛儀及典型故障淺析
      汽車自動(dòng)駕駛技術(shù)發(fā)展方向及前景
      網(wǎng)絡(luò)帶給你“自動(dòng)駕駛”的體驗(yàn)
      智能船舶技術(shù)和無(wú)人駕駛技術(shù)研究
      無(wú)人駕駛汽車的概念及發(fā)展
      “自動(dòng)駕駛”熱潮背后的擔(dān)心和疑慮
      汽車周刊(2017年5期)2017-06-06 14:02:49
      汽車自動(dòng)駕駛的發(fā)展
      基于自動(dòng)駕駛下的車道規(guī)劃對(duì)交通擁堵的改善
      LTE—V車路通信技術(shù)淺析與探討
      瓦房店市| 福清市| 云林县| 汉川市| 九台市| 汉沽区| 天全县| 延吉市| 合水县| 丘北县| 裕民县| 鄂州市| 武川县| 将乐县| 富顺县| 湘潭市| 太原市| 景宁| 若尔盖县| 孟连| 盐城市| 九龙坡区| 吐鲁番市| 吴江市| 湘阴县| 晋州市| 泉州市| 保亭| 新竹市| 万宁市| 靖远县| 永昌县| 邢台县| 邻水| 神农架林区| 抚顺县| 剑川县| 微博| 南溪县| 石台县| 东乡|