999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32自主定位的小車導航系統設計

2016-01-26 10:15:54王玥張海
單片機與嵌入式系統應用 2015年12期
關鍵詞:測量信息

王玥,張海

(北京航空航天大學 自動化科學與電氣工程學院,北京 100191)

?

王玥,張海

(北京航空航天大學 自動化科學與電氣工程學院,北京 100191)

摘要:設計了基于STM32F103VET6的自主定位四輪差速小車。為單軸陀螺儀ADIS16265、集成慣性測量單元MPU-9150及超聲波測距模塊設計了合理的數據采集與處理方法,完成小車短時間內高精度的航向角計算及長時間穩定的磁航向角計算,并對程序開發中遇到的堆棧溢出問題提出了解決方案。最后提出了各傳感器信息的有效融合方法,采用航位推算的方法完成小車自主定位,實現了小車長時間沿預定軌跡自主穩定行駛的功能。

關鍵詞:STM32;ADIS16265;MPU-9150;磁航向角;堆棧溢出

引言

本文采用慣性/碼盤/磁羅盤/超聲波測距組合的方式,在測量數據融合的基礎上實現小車的自主導航定位,并通過電機調速控制實現了車輛的自主定位。

1方案選擇

小車的導航與控制系統由導航/控制解算模塊、慣性/距離/測速傳感器、電機調速控制電路、WiFi無線通信模塊等構成,系統組成及主控芯片接口分配如圖1所示。

圖1 系統組成及主控芯片接口分配圖

車輛采用4輪差速控制,每個減速電機上裝有光電碼盤測量電機的實際轉速。

主控芯片在采集到傳感器數據后進行小車導航定位信息的解算。已知初始航向、位置信息,利用陀螺儀測量的航向角速度信息積分得到短時間內精確的小車航向角信息,加上光電碼盤測得的車輪轉速信息,通過航位推算的方法獲得小車定位信息。利用慣性/磁集成傳感器測量小車姿態,進而獲得磁航向,抑制慣性航向解算的誤差累積。在本文實驗環境下,還可以利用超聲波測距信息對小車位置及航向信息進行修正。

在獲得了小車的導航定位信息之后,可通過軌跡跟蹤控制規律計算電機的控制參數,實現差速控制,進而完成小車對預定軌跡的跟蹤。此外,系統還加入了無線通信模塊,實現了與PC機的無線通信,方便關鍵數據的實時上傳與分析。

2硬件設計

2.1微控制器

主控芯片選用STM32F103VET6[1],內核為ARM 32位的Cortex-M3 CPU,最大工作頻率為72 MHz,指令執行速度達到1.25 DMIPS/MHz,片上有512 KB的Flash及64 KB的SRAM,芯片含有80個GPIO接口,提供I2C、SPI和USART接口,滿足系統與不同傳感器的通信功能及對執行單元的控制功能。

2.2慣性測量模塊設計

小車的導航與定位信息主要通過慣性測量模塊獲得。由于小車的使用環境可基本視為二維平面,即小車行走過程中的俯仰角與橫滾角可近似為零,因此為小車安裝測量軸垂直運動平面的單軸陀螺儀進行航向角速度的測量。通過單軸陀螺儀的測量值可以在短時間內解算得到精確的小車航向角信息,但由于測量誤差的累積,長時間后求得的航向角會發散,因此又為小車安裝了由三軸陀螺儀、三軸加速度計及三軸磁羅盤組成的集成慣性測量單元,利用磁航向角測量無誤差累積的特點,融合修正小車的航向角信息,使系統可以在長時間內有效地運作。

2.2.1ADIS16265接口及數據處理方法

考慮到成本及測量精度等因素,本文中的單軸陀螺儀選用ADI公司生產的ADIS16265[2],陀螺儀工作電壓為4.75~5.25 V,提供±80/±160/±320 °/s三種量程供用戶選擇,自帶溫度補償功能,校準溫度范圍為-40~+85 ℃,可選測量帶寬為50或330 Hz,可配置陀螺儀內部采樣頻率,輸出數據可通過自帶的Bartlett窗口FIR濾波器進行處理,濾波階數可以設置,陀螺儀通過SPI通信協議輸出14位數字量角速度測量數據。

ADIS16265的接口電路略——編者注。

本文設置陀螺儀量程為±80 °/s,測量帶寬為50 Hz,陀螺儀自帶的FIR濾波器濾波階數為32階,可將數字濾波器的帶寬降至2.6 Hz。考慮到小車導航信息解算的頻率要求,經過測量與比較不同采樣頻率下陀螺儀零偏的平均值與方差,確定陀螺儀內部采樣頻率為128 Hz。主控芯片通過SPI (CPOL=1,CPHA=1,MSB first,16位) 向陀螺儀寫命令,對其進行初始化,寫入的第一個字節為寄存器地址,第二個字節為配置字,寄存器配置操作如表1所列。

陀螺儀初始化過程的具體代碼略——編者注。

ADIS16265陀螺儀在靜止情況下,128 Hz的1 h測量情況如圖2所示。多次實驗表明,在上電工作5 min后陀螺儀零偏趨于穩定,且每隔5 min需要重新標定,使用時

表1 ADIS16265寄存器配置

圖2 單軸陀螺儀零偏變化曲線

應特別注意。

為了提高計算精度,實際測試表明ADIS16265的輸出仍需要進行濾波處理,本文采用3連續點中位值濾波,然后對4連續點中位值進行平均的方式,獲得了5 min航向角漂移2°的效果。

2.2.2MPU-9150磁航向測量與校正

本文中的集成慣性測量單元選用InvenSense公司生產的MPU-9150[3],它整合了含三軸陀螺儀與三軸加速度計的MPU-6050和三軸電子羅盤AK8975。MPU-9150采用溫度補償技術和內部濾波器,通過I2C總線接口連接微處理器,工作電壓范圍為2.375~3.465 V。MPU-9150的配置及接口電路請借鑒參考文獻[4]。

使用MPU-9150的三軸加速度計獲得元件傾角,在該傾角的基礎上利用三軸磁羅盤的磁通量測量結果計算磁航向[5],由于傳感器受小車自身的鐵磁干擾[6],航向計算值會偏離真值。實驗室中在無外磁場干擾、已知航向情況下,以10°為間隔對磁羅盤解算結果進行標定,獲得各方向的磁羅盤誤差,由圖3可知,各方向原始計算誤差小于2°,在實際使用中進行補償即可獲得高精度磁航向。

圖3 靜態情況下磁航向角解算精度

2.3其他硬件的設計

小車的電機選用帶334線碼盤的減速電機,型號是JGA25-371;超聲波測距模塊選擇了國產的US-100超聲波測距模塊;此外小車還安裝了有人公司生產的USR-WIFI232-T串口轉無線模塊。系統的電源供應選擇12 V鋰電池,經過電源電路變壓為3.3 V及5 V,分別為電機、主控芯片及不同的傳感器供電。

參考文獻電源電路、超聲波測距模塊切換電路、光電碼盤接口電路及電機驅動電路設計請借鑒[4]。

3軟件設計

為了精確地控制小車的運動,需要準確地解算小車導航參數,因此需要合理分配各任務的處理周期,設計各傳感器數據采集與處理的方法。

3.1處理邏輯設計

系統要完成傳感器數據采集、導航參數解算、對電機的控制等多種任務,根據任務需求為它們分配處理頻率。導航解算相關的傳感器數據采集及對電機的控制輸出采用較高的處理頻率,保證了解算與控制的精確;用于避障并輔助導航解算的超聲波測距的采樣頻率相對較低;航位推算及軌跡跟蹤參數解算的頻率適中,在確保系統正常運行的情況下降低程序計算量。

根據系統的要求,設置不同的任務周期如表2所列。

表2 系統不同任務的周期分配

為了精確控制各任務的處理時機,并設置處理周期,本文將STM32F103VET6的基本定時器6設置為10 ms的溢出中斷來完成。在中斷服務函數中使用任務周期計數器判斷是否到達各個任務的處理時間點,并進行任務處理標志位的設置。在主程序中循環檢測各個任務處理標志位情況,若標志位被置位,則執行相應的任務處理程序。具體流程如圖4所示。

圖4 系統任務處理流程圖

除了使用基本定時器6的溢出中斷,還使用了PD6雙邊沿跳變觸發的外部中斷,用于測量超聲波模塊測距的渡越時間,需要對這兩個中斷設置不同的優先級。由于對超聲波模塊渡越時間的測量過程不能被其他中斷打斷,因此將PD6引腳對應的EXTI9_5_IRQn中斷向量的優先級設置為搶占優先級最高,響應優先級最高。將TIM6的溢出中斷對應的TIM6_IRQn中斷向量的優先級設置為搶占優先級次高。

3.2慣性測量模塊數據的存儲與處理

為了提高導航解算精度,使用TIM6的10 ms定時中斷進行ADIS16265及MPU-9150的數據采集,以每條記錄的方式循環存儲,主程序查詢數據更新并進行解算。本文在程序中設置數據存儲指針與數據處理指針對此過程進行管理。

具體過程如下:在中斷服務函數中置標志位,采集慣性測量模塊數據存入緩沖區內,并使用數據存儲指針記錄存儲緩沖區空間的使用情況,每次存儲后數據存儲指針加1。在主程序中檢測標志位,取出存儲緩沖區內的數據進行處理,將數據處理指針與存儲指針進行比較,每次處理后數據處理指針加1,持續處理數據直至數據處理指針與存儲指針相等,從而保證了歷史數據能得到及時處理。

3.3超聲波模塊的數據采集與處理

與陀螺儀及磁羅盤的數據采集原理不同,本文從超聲波模塊處采集到的是測距過程中從測量聲波發射到接收的渡越時間。為了在測量渡越時間的同時不影響主程序的運行,將渡越時間的測量放在中斷中進行,具體做法是主控芯片的PD6引腳檢測超聲波ECHO引腳的電平跳變,在中斷中控制定時器的開關以實現計時。獲得的計時時間即為超聲波模塊測距的渡越時間TH,通過以下公式計算超聲波模塊測得的距障礙物的距離:

代碼略——編者注。

3.4程序穩定性設計

因存在MPU-9150、ADIS16265、超聲波測距等多個高頻率、多時間間隔、不同級別的中斷測量,大量的中斷嵌套導致了微控制器死機現象[7]。在中斷處理機制分析基礎上,采用了全局變量存儲采集數據的方式,減少了動態存儲空間分配,無需調節默認堆??臻g大小即可實現程序的穩定運行。

4功能實現

4.1小車的慣性定位解算

已知小車初始位置及航向信息,使用單軸陀螺儀與光電碼盤測量值,通過航位推算可求出車輛行駛的軌跡。在直線行駛測試中,慣性定位解算得到的法向偏差與實際測量值相差較大。經過分析,誤差最主要的來源是積分求解的航向角隨時間發散。換言之,僅使用小車系統內部的測量信息進行慣性定位解算得到的導航參數在長時間使用中精度無法保證,因此應對外部環境的測量數據進行信息融合修正。

4.2多傳感器信息融合

本文中小車實驗的場地在樓內的回字形走廊中(尺寸為28 m×18 m),走廊的墻壁基本可以視為光滑連續且平行。因此考慮使用超聲波模塊測量的小車距左右墻的距離信息與MPU-9150解算的磁航向角進行信息融合,提高小車長時間導航解算的精度。

在進行信息融合前需要對傳感器數據的可用性進行判斷,對于超聲波模塊測距信息,需要判斷墻壁是否連續且平行。墻壁的連續性可通過相鄰兩次超聲波測量得到的小車距左右墻距離變化是否有突變進行判別;而墻壁的平行性可通過當航向角變化較小時,超聲波測距結果的變化情況進行判別。對于磁航向角,其可用性可通過一段較短時間內,慣性求解的航向角變化量與磁航向角變化量二者之間的偏差是否超過設定閾值進行判斷。

當判斷墻壁連續且平行時,認為超聲波測距信息可用。連續存儲多組左右超聲波模塊測距結果,結合小車沿設定軌跡切線方向的前進距離信息,求解出在這段時間內小車的航向角近似值,及小車的法向偏移值,以修正慣性定位解算結果。當超聲波測距信息無效時,可使用磁航向角信息融合修正小車航向角信息。

最后,為了保證通過陀螺儀采集的數據在系統運行長時間后仍真實可信,可在系統運行一段時間后,使小車停車重新采集零偏。本文中設定當小車每跑完一圈路徑,即系統運行3 min左右后,重新采集10 s內單軸陀螺儀的數據,取平均值更新零偏。

實際跑車結果略——編者注。

可以看出,只使用碼盤及陀螺儀測量的內部信息慣性解算得到的軌跡隨著時間推移有發散的趨勢,而加入了超聲波測距模塊及磁羅盤測量的外部信息輔助修正導航參數之后,小車的行駛能夠很好地跟蹤設定的軌跡。最終小車可以沿預定軌跡自主穩定行駛40 min以上,即沿設定軌跡行駛10圈以上。

結語

本文設計了基于STM32F103VET6微控制器的小車導航與控制系統,詳細介紹了ADIS16265、MPU-9150、超聲波測距傳感器數據的有效采集與處理方法,對程序穩定性設計提出了建議,最后介紹了利用多傳感器信息融合方法選擇有效的傳感器數據實現小車的軌跡跟蹤控制的方法,達到了理想的效果。

[1] ST Microelectronics.STM32F103VE Product Specifications [EB/OL].[2015-05].http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00191185.pdf.

[2] Analog Devices.ADIS16260/ADIS16265 Data Sheet [EB/OL].[2015-05].http://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16260_16265.pdf.

[3] InvenSense Inc.MPU-9150 Product Specification Revision 4.3 [EB/OL].[2015-05].http://www.invensense.com/mems/gyro/documents/PS-MPU-9150A.pdf.

[4] 鄭潤芳,張海.STM32的小車自主定位與控制系統設計[J].單片機與嵌入式系統應用,2013(9):46-49.

[5] Caruso M J.Applications of magnetic sensors for low cost compass systems[C]//Position Location and Navigation Symposium,IEEE,2000:177-184.

[6] 蔣賢志.數字電子羅盤誤差分析及校正技術研究[J].現代雷達,2005(6):39-41,44.

[7] Joseph Yiu.ARM Cortex-M3權威指南[M].宋巖,譯.北京:北京航空航天大學出版社,2009.

Wang Yue,Zhang Hai

(School of Automation Science and Electrical Engineering,Beihang University,Beijing 100191,China)

Abstract:A self-positioning four-wheel differential speed drive vehicle based on STM32F103VET6 is designed.In the paper,the reasonable method of data acquisition and processing for single-axis gyroscope ADIS16265,integrated inertial measurement unit MPU-9150 and ultrasonic distance measuring module is designed,which is used to complete the calculation of the heading angle with high precision in short-time and the calculation of the magnetic heading which is stable in long-time.The solution for the stack overflow problem encountered in program development is proposed.Finally,the fusion method of multi-sensor information is given,and the dead-reckoning method is used to accomplish self-positioning for the vehicle.The vehicle implements the function of driving autonomously along predetermined trajectory with high stability in long-time.

Key words:STM32;ADIS16265;MPU-9150;magnetic heading;stack overflow

收稿日期:(責任編輯:薛士然2015-06-15)

中圖分類號:TP242

文獻標識碼:A

猜你喜歡
測量信息
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
測量
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
主站蜘蛛池模板: 国产在线小视频| 欧美日韩精品在线播放| 国产国产人成免费视频77777| a国产精品| 狠狠亚洲婷婷综合色香| 精品视频一区在线观看| 成人日韩精品| 亚洲中文字幕无码mv| 亚洲 成人国产| 国产丝袜无码一区二区视频| 尤物精品国产福利网站| 欧美日韩精品一区二区视频| 国产浮力第一页永久地址| 夜夜拍夜夜爽| 国产一区二区免费播放| 天天色综合4| 国产美女免费| 一本一道波多野结衣av黑人在线| 精品一区二区三区无码视频无码| 成人免费黄色小视频| av无码一区二区三区在线| 依依成人精品无v国产| 免费一级大毛片a一观看不卡| 国产一区三区二区中文在线| 欧美影院久久| 午夜福利无码一区二区| 亚洲色成人www在线观看| 中文字幕在线欧美| 69精品在线观看| 最新国产午夜精品视频成人| 久久熟女AV| 亚洲人成在线精品| 国产综合亚洲欧洲区精品无码| 亚国产欧美在线人成| 伊伊人成亚洲综合人网7777| 奇米影视狠狠精品7777| 国产H片无码不卡在线视频| 国产欧美网站| 国产成人精品男人的天堂| 亚洲一区二区在线无码| 亚洲国产欧美中日韩成人综合视频| 91小视频在线| 青青青伊人色综合久久| 久热精品免费| 狠狠综合久久| 成人久久18免费网站| 日本午夜三级| 制服丝袜亚洲| 成人精品视频一区二区在线 | 亚洲A∨无码精品午夜在线观看| 99re视频在线| 久久综合久久鬼| 欧美精品成人一区二区在线观看| 国产真实二区一区在线亚洲| 国产福利微拍精品一区二区| 亚洲美女久久| 久久精品aⅴ无码中文字幕| 伊人无码视屏| 亚洲精品大秀视频| 激情无码字幕综合| 456亚洲人成高清在线| 精品一区二区三区波多野结衣| av天堂最新版在线| 一级不卡毛片| 亚洲成人精品| 久青草免费在线视频| 97视频免费在线观看| 在线va视频| 国产91麻豆免费观看| 亚洲啪啪网| 国产在线无码av完整版在线观看| 精品无码人妻一区二区| 国产特级毛片aaaaaa| 国产另类视频| 免费无码网站| 91无码人妻精品一区| 亚洲无线一二三四区男男| 九九热精品视频在线| 日韩黄色精品| 国产91无码福利在线| 国产91导航| 国产高清在线精品一区二区三区|