linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)_第1頁(yè)
linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)_第2頁(yè)
linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)_第3頁(yè)
linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)基金項(xiàng)目:高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(新教師)(編號(hào):200802861061);江蘇省自然科學(xué)基金(編號(hào):BK2010239) 柯小路,李旭作者簡(jiǎn)介:柯小路(1990-),男,本科,主要研究方向:導(dǎo)航制導(dǎo)通信聯(lián)系人:李旭(1975-),男,副教授,主要研究方向?yàn)槠囍悄軠y(cè)控技術(shù)、智能車輛. E-mail: lixu.mail1.51.5高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(新教師)(編號(hào):200802861061);江蘇省自然科學(xué)基金(編號(hào):BK2010239)School of Instrument Science and Engineering

2、,Southeast University,Nanjing 210096;School of Instrument Science and Engineering,Southeast University,Nanjing 210096東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096;東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096210096;21009615952050116;1360146319915952050116蘇省南京市玄武區(qū)四牌樓2號(hào)東南大學(xué)中心樓328;江蘇省南京市玄武區(qū)四牌樓2號(hào)東南大學(xué)中心樓321xiyulanghua;lixu.mail柯小路(199

3、0-),男,本科,主要研究方向:導(dǎo)航制導(dǎo);李旭(1975-),男,副教授,主要研究方向?yàn)槠囍悄軠y(cè)控技術(shù)、智能車輛柯小路;李旭KE Xiaolu;LI Xu李旭1.51.51.51.51.51.51.51.51*|*期刊*|*李旭,張為公. 智能車輛導(dǎo)航技術(shù)的研究進(jìn)展J. 機(jī)器人技術(shù)與應(yīng)用,2007(4):24-27.2*|*期刊*|* 張飛舟,范越祖,孫先仿.車輛組合定位技術(shù)J.系統(tǒng)工程與電子技術(shù),2000,22(6):32-35.3*|*期刊*|*徐田來(lái),崔平遠(yuǎn),崔祜濤. 車載多傳感器組合導(dǎo)航系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)J. 2008,30(4):686-6914*|*專著*|*W. Richard S

4、tevens, Stephen A. Rago. UNIX環(huán)境高級(jí)編程M. 北京:人民郵電出版社,2006.5*|*期刊*|*劉兵,陳琛. Linux下的多線程編程J. 黑龍江科技信息,2008(1):56-57.|1|柯小路|KE Xiaolu|東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096|School of Instrument Science and Engineering,Southeast University,Nanjing 210096|柯小路(1990-),男,本科,主要研究方向:導(dǎo)航制導(dǎo)|江蘇省南京市玄武區(qū)四牌樓2號(hào)東南大學(xué)中心樓328|210096|xiyulanghua

5、15952050116*|2|李旭|LI Xu|東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096|School of Instrument Science and Engineering,Southeast University,Nanjing 210096|李旭(1975-),男,副教授,主要研究方向?yàn)槠囍悄軠y(cè)控技術(shù)、智能車輛|江蘇省南京市玄武區(qū)四牌樓2號(hào)東南大學(xué)中心樓321|210096|lixu.mail13601463199linux環(huán)境下的車輛多傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)|Design of vehicular multi-sensor

6、 data acquisition system under linux development environment|高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(新教師)(編號(hào):200802861061);江蘇省自然科學(xué)基金(編號(hào):BK2010239)(東南大學(xué)儀器科學(xué)與工程學(xué)院,南京 210096)摘要:為給組合導(dǎo)航的數(shù)據(jù)融合提供基本保障,在linux環(huán)境下使用C語(yǔ)言和多線程技術(shù)構(gòu)建了一個(gè)多傳感器數(shù)據(jù)采集系統(tǒng)。詳細(xì)介紹了系統(tǒng)的軟硬件構(gòu)成,對(duì)各線程的具體實(shí)現(xiàn)做了簡(jiǎn)要說(shuō)明。最后給出了部分試驗(yàn)結(jié)果。試驗(yàn)測(cè)試表明,系統(tǒng)可以穩(wěn)定及時(shí)地采集各路傳感器的數(shù)據(jù)信息,能夠滿足組合導(dǎo)航的一般要求。關(guān)鍵詞:組合導(dǎo)航;數(shù)據(jù)

7、采集;多線程中圖分類號(hào):U467.4Design of vehicular multi-sensor data acquisition system under linux development environmentKE Xiaolu, LI Xu(School of Instrument Science and Engineering,Southeast University,Nanjing 210096)Abstract: In order to ensure the correctness of the data fusion of integrated navigation, a

8、vehicular multi-sensor data acquisition system based on C language and multi-thread technology is designed under linux development environment. This paper introduces the hardware and software structure in detail, and gives a brief description of the threads realization. Finally,some experimental res

9、ults were shown. The experimental tests show that the system can acquire the information of each sensor steadily and timely, and that it can satisfy the requirement of integrated navigation.Key words: integrated navigation; data acquisition; multi-thread0 引言 隨著交通與汽車工業(yè)的快速發(fā)展,全世界高速公路里程數(shù)及汽車保有量迅速增長(zhǎng),如何大幅提

10、高交通運(yùn)輸效率成為一個(gè)亟待解決的問(wèn)題,日益受人們重視。而車輛的定位與導(dǎo)航則是解決這一問(wèn)題的基礎(chǔ)和核心。1 經(jīng)過(guò)這些年的發(fā)展,目前已存在多種定位導(dǎo)航方式,但是每種方式都有自己的優(yōu)點(diǎn)和不可避免的缺點(diǎn)。如DR 、INS短期精度高但長(zhǎng)期有誤差積累;GPS全天時(shí),精度較高,但會(huì)因信號(hào)遮擋而失效。2-3 因此,目前最常用的方式是將多種導(dǎo)航方式組合起來(lái),發(fā)揮各自的優(yōu)點(diǎn),互補(bǔ)不足,即組合導(dǎo)航方式。多種導(dǎo)航方式的組合,勢(shì)必涉及多種傳感器數(shù)據(jù)融合的問(wèn)題。而進(jìn)行數(shù)據(jù)融合的前提,是能夠準(zhǔn)確完整的采集各傳感器的數(shù)據(jù)。因此,在linux環(huán)境下設(shè)計(jì)了這個(gè)多傳感器數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)對(duì)車輛各路導(dǎo)航信息的同步采集。1 系統(tǒng)硬件設(shè)

11、備本車載數(shù)據(jù)信息采集系統(tǒng)采用了基于PC/104的嵌入式系統(tǒng),它主要由PC/104主板、數(shù)據(jù)采集卡、車載多傳感器模塊、車載電源等組成。數(shù)據(jù)采集卡SysExpanModule TM /ADT680-AT是基于PC/104 的擴(kuò)展板,具有12位分辨率、最高100KHz A/D采樣率的16單端/8差分輸入,4通道模擬量輸出和24通道軟件可編程的TTL/CMOS I/O。車載傳感器包括電子羅盤、陀螺儀、GPS等。系統(tǒng)中,電子羅盤選用美國(guó)KVH公司的KVH C100型。它具有體積小、性能穩(wěn)定可靠、尋北精度高、啟動(dòng)速度快的特點(diǎn),內(nèi)置自動(dòng)校準(zhǔn)軟件,可對(duì)磁場(chǎng)變化而引起的誤差進(jìn)行修正,它提供的航向精度能達(dá)到0.5

12、度。陀螺儀采用的是星網(wǎng)迅達(dá)公司的XW VG 7100,該產(chǎn)品可測(cè)量三個(gè)軸的角速度和三個(gè)軸的加速度參數(shù),可用于動(dòng)態(tài)運(yùn)動(dòng)中的定位、導(dǎo)航和測(cè)量。它采用嵌入式加固設(shè)計(jì),具有抗沖擊、抗震動(dòng)、防塵、耐溫等特點(diǎn)。GPS接收機(jī)采用北斗星通公司的OEMV-1,它體積緊湊、功耗低,具有很強(qiáng)的接收能力,可在比較苛刻的條件下為用戶提供高可靠性的三維坐標(biāo)、三維速度、時(shí)間、衛(wèi)星分布等信息,最高可設(shè)置20Hz頻率輸出。PC/104主機(jī)高速同步采集各傳感器傳送的各項(xiàng)導(dǎo)航數(shù)據(jù),包括航向角,俯仰角,橫滾角,三位位置,三位速度等,并將采集到的信息存儲(chǔ)到PC/104的主機(jī)硬盤中。除轉(zhuǎn)角測(cè)量?jī)x(輸出為電壓信號(hào),與數(shù)據(jù)采集卡相連)外,各

13、個(gè)傳感器均通過(guò)串口與主機(jī)進(jìn)行通信。2 系統(tǒng)軟件設(shè)計(jì)2.1 系統(tǒng)軟件框架在Linux(Fedora,內(nèi)核2.6.21)環(huán)境下,所有的設(shè)備都用文件來(lái)表示,稱之為特殊文件。所以如何處理來(lái)自多個(gè)設(shè)備的數(shù)據(jù),就變成如何監(jiān)視多個(gè)文件描述符的問(wèn)題。這通常有以下幾種方法:多進(jìn)程、select函數(shù),poll函數(shù),帶有輪詢的無(wú)阻塞型I/O ,異步I/O 和多線程。4多進(jìn)程占用資源相對(duì)較多;當(dāng)設(shè)備較多時(shí),使用select、poll函數(shù),編程會(huì)比較復(fù)雜;帶有輪詢的無(wú)阻塞型I/O 及異步I/O的使用對(duì)編程要求也比較高;多線程與多進(jìn)程類似,相對(duì)而言比較節(jié)約資源,通信更加方便。此外,多線程編程可以改善程序的結(jié)構(gòu),將一個(gè)復(fù)雜

14、的程序分成幾個(gè)線程來(lái)實(shí)現(xiàn),既方便理解,也便于修改;使得多CPU系統(tǒng)更加有效,每個(gè)CPU執(zhí)行一個(gè)線程,實(shí)現(xiàn)真正的實(shí)時(shí)同步。4 經(jīng)過(guò)比較,本系統(tǒng)設(shè)計(jì)中采用多線程方案。由于系統(tǒng)中共要采集三路串口數(shù)據(jù)信息和一路模擬量數(shù)據(jù)信息,所以需要四個(gè)子線程來(lái)分別進(jìn)行處理。開發(fā)過(guò)程利用linux文本模式,軟件使用vi編輯器和C語(yǔ)言編寫,GCC編譯器編譯,GDB工具調(diào)試。系統(tǒng)的軟件結(jié)構(gòu)框圖如圖1所示: 圖1 系統(tǒng)軟件框架 Fig. 1 Software architecture of the system2.2 程序設(shè)計(jì) 程序共包含一個(gè)主線程和四個(gè)子線程,其中主線程只在開始時(shí)執(zhí)行一次,負(fù)責(zé)打開各設(shè)備,并對(duì)設(shè)備進(jìn)行初始

15、化設(shè)置,完成調(diào)度策略的和優(yōu)先級(jí)的設(shè)置。完成后創(chuàng)建并啟動(dòng)各采集子線程,之后轉(zhuǎn)入輪流執(zhí)行各子線程,直到程序終止。2.2.1 主線程具體設(shè)計(jì)1 使用open函數(shù)打開設(shè)備(串口、adt),并設(shè)置為可讀寫、非阻塞模式;2 使用set_speed函數(shù)(自定義)設(shè)置串口波特率,set_Parity函數(shù)(自定義)設(shè)置串口的部分通信參數(shù),如校驗(yàn)方式、數(shù)據(jù)位、停止位、流量控制等;還需屏蔽一些控制屬性,如c_lflag中的ICANON、ECHO、ECHOE、ISIG,c_iflag 中的ICRNL、IGNCR、INLCR、IXON。如果不屏蔽這些屬性,在接收數(shù)據(jù)時(shí)可能出現(xiàn)意料不到的錯(cuò)誤。3 線程屬性初始化,設(shè)置調(diào)度

16、策略和各線程優(yōu)先級(jí)。由于數(shù)據(jù)采集的過(guò)程都比較短,而對(duì)實(shí)時(shí)性要求比較高,所以適合采用FIFO調(diào)度策略??紤]到GPS接收機(jī)精度較高,信息比較完整,數(shù)據(jù)比較精確,所以給予最高的優(yōu)先級(jí);IMU的數(shù)據(jù)信息也比較全面,所以給予次高優(yōu)先級(jí);電子羅盤信息與IMU有重合,故給予最低優(yōu)先級(jí);轉(zhuǎn)角測(cè)量?jī)x給予第三優(yōu)先級(jí)。為保證數(shù)據(jù)采集的及時(shí)性,數(shù)據(jù)處理線程應(yīng)在空閑時(shí)運(yùn)行,故可使用分時(shí)調(diào)度策略。4 使用pthread_create函數(shù)創(chuàng)建各采集子線程,并開始執(zhí)行。5 用pthread_join等待各線程結(jié)束,并回收線程資源。6 用pthread_attr_destroy函數(shù)銷毀線程屬性對(duì)象。2.2.2 子線程具體設(shè)計(jì)1

17、 三個(gè)串口采集數(shù)據(jù)線程實(shí)現(xiàn)方式類似,即不斷循環(huán)利用read函數(shù)從接收緩沖區(qū)內(nèi)讀取數(shù)據(jù),然后等待到一個(gè)數(shù)據(jù)包的長(zhǎng)度,再進(jìn)行相應(yīng)的處理。處理的第一步是判斷校驗(yàn)和,如果正確則進(jìn)行下一步處理;如果不正確,則放棄本數(shù)據(jù)包,但是為了保證后期融合的數(shù)據(jù)完整,用前一次的數(shù)據(jù)作為本次測(cè)量。其流程圖如圖2-(1)所示。由于電子羅盤和GPS接收機(jī)輸出的是ASC碼,而陀螺儀輸出的是二進(jìn)制數(shù)據(jù),所以在數(shù)據(jù)提取方面所采用的方法有所不同。對(duì)于ASC碼,有多種方式提取其中的數(shù)據(jù)信息,程序中是使用sscanf函數(shù),根據(jù)字符串的特點(diǎn),提取出中間的數(shù)據(jù)信息。例如對(duì)于羅盤,數(shù)據(jù)在兩個(gè)逗號(hào)之間,可用sscanf(buff,“%*,%,

18、”,buff)將方位角數(shù)據(jù)放到buff中。對(duì)于陀螺儀,輸出是二進(jìn)制數(shù)據(jù),所以每個(gè)數(shù)據(jù)包的字節(jié)數(shù)固定,因此可以利用一套固定公式進(jìn)行計(jì)算,再用fprintf函數(shù)將結(jié)果格式化輸入文件中保存。2 模擬量采集線程的實(shí)現(xiàn)方式與串口不同。它首先要設(shè)置ADC的工作模式,電壓范圍,使用的輸入端口等等。軟件中設(shè)置的是定時(shí)觸發(fā)模式,每0.1s啟動(dòng)一次轉(zhuǎn)換,中斷方式讀取數(shù)據(jù),不斷循環(huán)執(zhí)行。該線程的流程圖如圖2-(2)所示。 (1) 串口線程流程圖 (2) A/D線程流程圖圖2 采集線程程序流程圖Fig. 2 Program flow chart of acquisition threads3 系統(tǒng)試驗(yàn)測(cè)試 在系統(tǒng)的試驗(yàn)測(cè)試中,電子羅盤的輸出頻率是10Hz,陀螺儀的頻率是40Hz,GPS接收機(jī)頻率是10Hz,A/D采樣頻率是10Hz。為檢驗(yàn)系統(tǒng)的性能,進(jìn)行了多次的試車試驗(yàn)。圖4所示為某次實(shí)驗(yàn)的部分?jǐn)?shù)據(jù)繪制的曲線(數(shù)據(jù)采集完成后在windows下用matlab繪制)。圖中的藍(lán)色曲線是電子羅盤直接測(cè)量的方位角,紅色曲線是由對(duì)陀螺儀測(cè)得的角速度積分所得到的方位角,從圖中可以看出,兩者基本吻合。 實(shí)驗(yàn)結(jié)果表明,系統(tǒng)能夠準(zhǔn)確完整的采集各路傳感器的信息,具有較高的精確性和實(shí)時(shí)性。由于所使用的傳感器之間具有比較強(qiáng)的信息互

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論