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

基于ARM和Linux的路徑記憶循跡小車*

2015-07-02 00:17:24吳文豪張建國(guó)高磊魏諾龐慶
關(guān)鍵詞:記憶智能設(shè)計(jì)

吳文豪,張建國(guó),高磊,魏諾,龐慶

(西安建筑科技大學(xué) 理學(xué)院,西安 710055)

?

基于ARM和Linux的路徑記憶循跡小車*

吳文豪,張建國(guó),高磊,魏諾,龐慶

(西安建筑科技大學(xué) 理學(xué)院,西安 710055)

針對(duì)智能小車在實(shí)際應(yīng)用中的需要,設(shè)計(jì)了一種基于ARM和Linux的具有路徑記憶循跡功能的智能小車。利用ARM和Linux操作系統(tǒng),實(shí)現(xiàn)了對(duì)智能小車的超聲波避障模塊、電機(jī)等的控制。利用電子羅盤(pán),實(shí)現(xiàn)了小車在無(wú)黑線情況下精確轉(zhuǎn)向;利用超聲波測(cè)距避障以及Linux文件系統(tǒng)建立和保存了智能小車運(yùn)行的路徑記憶庫(kù);通過(guò)讀取記憶庫(kù)的數(shù)據(jù)實(shí)現(xiàn)智能小車的循跡功能。結(jié)果表明,該設(shè)計(jì)方案可以很好地實(shí)現(xiàn)循跡功能并且對(duì)環(huán)境的適應(yīng)性較強(qiáng)。

ARM;Linux; 智能小車;記憶庫(kù)

引 言

智能車是近年來(lái)發(fā)展起來(lái)的一門(mén)新興的綜合技術(shù),在軍事領(lǐng)域得到了廣泛應(yīng)用,而且在生產(chǎn)和生活中的應(yīng)用也日趨普遍[1-2]。

目前智能小車的自主移動(dòng)方式有兩種:循跡和避障。一般的循跡功能可以通過(guò)算法使其能精確地在黑線上行駛,但是由于一些室內(nèi)環(huán)境的因素,要實(shí)施黑線的布置并不符合實(shí)際要求[3-4]。一般的避障功能僅僅是通過(guò)探測(cè)前方障礙物而進(jìn)行躲避,通過(guò)算法可以完成從出發(fā)點(diǎn)到定點(diǎn)的行駛[5-7],但是算法運(yùn)算量大且放在不同的環(huán)境,就需要更改程序,這對(duì)實(shí)際應(yīng)用帶來(lái)很大的不便。

基于這種背景,設(shè)計(jì)了一種利用超聲波測(cè)距避障功能以及Linux文件系統(tǒng)的路徑記憶循跡智能小車,通過(guò)人為地設(shè)置障礙物來(lái)規(guī)劃小車的行走路線,并將路線記錄入庫(kù)。小車只需讀取庫(kù)中的數(shù)據(jù)即可按照規(guī)劃的路線行駛以實(shí)現(xiàn)循跡功能,可擺脫尋查黑線的循跡方式。當(dāng)環(huán)境發(fā)生變化時(shí),利用按鍵設(shè)置小車的工作模式,可以直接重新建立記憶庫(kù),無(wú)需更改程序,具有一定的實(shí)際意義。

1 總體設(shè)計(jì)

圖1 系統(tǒng)總體結(jié)構(gòu)框圖

圖1為本系統(tǒng)總體結(jié)構(gòu)框圖,主要由超聲波測(cè)距模塊與云臺(tái)、S3C6410控制器、電機(jī)驅(qū)動(dòng)模塊、光電測(cè)速模塊以及電源等部分組成。其中,電源用于完成對(duì)整個(gè)系統(tǒng)的供電,超聲波測(cè)距模塊與云臺(tái)完成對(duì)小車運(yùn)行狀態(tài)的預(yù)判,電機(jī)驅(qū)動(dòng)模塊根據(jù)預(yù)判的結(jié)果執(zhí)行相應(yīng)的操作,光電測(cè)速模塊用于PID控制的反饋以及在轉(zhuǎn)向時(shí)控制車輪運(yùn)行的周數(shù),S3C6410控制器在移植Linux操作系統(tǒng)的基礎(chǔ)上完成對(duì)各模塊的控制并建立小車運(yùn)行狀態(tài)的記憶庫(kù)。

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

2.1 控制器

S3C6410控制器[8]是由三星公司推出的一款低功耗、高性價(jià)比的RISC處理器,它基于ARM11內(nèi)核(ARM1176JZF-S),可廣泛應(yīng)用于移動(dòng)電話和通用處理等領(lǐng)域。控制器由核心電路板和主板兩部分組成,核心板上設(shè)計(jì)有S3C6410、SDRAM存儲(chǔ)電路、NAND Flash、1.25 V電源電路和處理器復(fù)位電路等,主板上設(shè)計(jì)有串口、網(wǎng)口、按鍵等。

2.2 電源與電機(jī)驅(qū)動(dòng)模塊

電源采用現(xiàn)有的鋰充電電池供電,鋰電池的電壓約為7.2 V。電機(jī)驅(qū)動(dòng)采用的是L298N驅(qū)動(dòng)模塊,該模塊采用 ST 公司的 L298N 芯片,采用高質(zhì)量鋁電解電容,可使電路穩(wěn)定工作;可以直接驅(qū)動(dòng)兩路 3~16 V直流電機(jī),并提供了5 V輸出接口,可以給5 V單片機(jī)電路系統(tǒng)供電,支持3.3 V ARM 控制,可以方便地控制直流電機(jī)速度和方向。

2.3 超聲波測(cè)距模塊與云臺(tái)

采用US-100 超聲波測(cè)距模塊,該模塊可實(shí)現(xiàn)0~4.5 m的非接觸測(cè)距功能,擁有2.4~5.5 V的寬電壓輸入范圍,靜態(tài)功耗低于2 mA,自帶溫度傳感器對(duì)測(cè)距結(jié)果進(jìn)行校正,同時(shí)具有GPIO、串口等多種通信方式,內(nèi)置看門(mén)狗,工作穩(wěn)定可靠。

云臺(tái)采用SG90舵機(jī),工作電壓為4.8~6 V,無(wú)負(fù)載的情況下轉(zhuǎn)速為0.12 s/60℃。控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20 ms、寬度為1.5 ms的基準(zhǔn)信號(hào)。將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片,決定電機(jī)的正反轉(zhuǎn)。

2.4 光電測(cè)速模塊

本設(shè)計(jì)中的測(cè)速模塊采用槽型對(duì)射光電,只要在非透明物體中通過(guò)槽型即可觸發(fā)(配合小車測(cè)速碼盤(pán)20格使用)輸出5 V TTL電平,采用了施密特觸發(fā)器去抖動(dòng)脈沖,非常穩(wěn)定,用于小車測(cè)轉(zhuǎn)速、測(cè)距離等。

2.5 電子羅盤(pán)

電子羅盤(pán)采用霍尼韋爾HMC5883L芯片,該芯片帶有數(shù)字接口的弱磁傳感器,應(yīng)用于低成本羅盤(pán)和磁場(chǎng)檢測(cè)領(lǐng)域,并附帶霍尼韋爾專利的集成電路,包括放大器、自動(dòng)消磁驅(qū)動(dòng)器、偏差校準(zhǔn)、能使羅盤(pán)精度控制在1°的I2C系列總線接口。

3 記憶庫(kù)的設(shè)計(jì)

3.1 智能小車避障方案選擇

根據(jù)設(shè)計(jì)要求,小車在行駛過(guò)程中需要準(zhǔn)確地檢測(cè)前方的人為障礙物,并通過(guò)障礙物的位置來(lái)確定小車下一步的運(yùn)行狀態(tài),因此對(duì)測(cè)量距離有一定要求。障礙物檢測(cè)可以有多種方法:紅外光檢測(cè)、超聲波檢測(cè)和機(jī)械接觸。這些方法各有優(yōu)缺點(diǎn),常用的有紅外檢測(cè)和超聲波檢測(cè),兩種方案的區(qū)別見(jiàn)表1。對(duì)比兩種方案的指標(biāo)后,本文避障方案選擇超聲波檢測(cè),并且為了滿足系統(tǒng)要求添加了SG90舵機(jī)作為輔助,使用超聲波可以檢測(cè)多個(gè)方向。

3.2 智能小車的路徑狀態(tài)設(shè)計(jì)

為了簡(jiǎn)化記憶庫(kù)的設(shè)計(jì)以及結(jié)合實(shí)際應(yīng)用中的情況,智能小車的運(yùn)行狀態(tài)設(shè)定成4種情況:直行、90°左轉(zhuǎn)彎、90°右轉(zhuǎn)彎和180°掉頭。其中,直行狀態(tài)在記憶庫(kù)中的表示是時(shí)間,通過(guò)Linux中的時(shí)間函數(shù)測(cè)量直行狀態(tài)的持續(xù)時(shí)間,單位為s。

為了使智能小車能按照上面的4種情況運(yùn)行,智能小車在行進(jìn)中遇到的路徑情況是人為設(shè)定的,如圖2所示。

圖2 人為設(shè)定的小車行駛情況

3.3 記憶庫(kù)的建立

智能小車的運(yùn)行狀態(tài)是人為設(shè)定的4種情況,記憶庫(kù)中的數(shù)據(jù)就是由這4個(gè)狀態(tài)標(biāo)志組成。人為設(shè)置好從起點(diǎn)到終點(diǎn)的障礙物后,即可讓小車在起點(diǎn)開(kāi)始運(yùn)行,并在每次改變運(yùn)行狀態(tài)前將運(yùn)行狀態(tài)記錄入庫(kù)。在到達(dá)終點(diǎn)后以180°掉頭作為結(jié)束標(biāo)志,然后利用Linux文件系統(tǒng)將記憶庫(kù)里的數(shù)據(jù)保存到Linux下的一個(gè)文件當(dāng)中,到此完成記憶庫(kù)的建立。

根據(jù)具體環(huán)境,可建立一個(gè)起點(diǎn)、多個(gè)終點(diǎn)的路線記憶庫(kù),并將各個(gè)路線記憶分別保存在Linux下的不同文件中,智能小車通過(guò)讀取文件中內(nèi)容實(shí)現(xiàn)循跡功能。

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

系統(tǒng)軟件設(shè)計(jì)分為3個(gè)層次:應(yīng)用層、操作系統(tǒng)層和驅(qū)動(dòng)層。應(yīng)用層包括智能小車控制策略程序、建立記憶庫(kù)和按鍵控制小車的工作模式;操作系統(tǒng)層包括Bootloader移植、操作系統(tǒng)ARM-Linux內(nèi)核的移植和根文件系統(tǒng)移植;驅(qū)動(dòng)層主要包括us-100超聲波模塊、SG90舵機(jī)以及電機(jī)驅(qū)動(dòng)模塊等驅(qū)動(dòng)程序。

4.1 系統(tǒng)移植以及驅(qū)動(dòng)程序

操作系統(tǒng)的移植包括uboot、內(nèi)核和文件系統(tǒng)的燒寫(xiě),內(nèi)核包含GPIO口、DM9000網(wǎng)卡、內(nèi)存等關(guān)鍵的底層驅(qū)動(dòng)。小車啟動(dòng)時(shí),通過(guò)uboot對(duì)S3C6410進(jìn)行必要的初始化,然后引導(dǎo)Linux的啟動(dòng)。

智能小車需要的驅(qū)動(dòng)程序有:電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)程序、SG90舵機(jī)驅(qū)動(dòng)程序、光電測(cè)速模塊驅(qū)動(dòng)程序以及us-100超聲波模塊驅(qū)動(dòng)程序。其中,舵機(jī)與超聲波編寫(xiě)到一個(gè)驅(qū)動(dòng)文件中。這些模塊的驅(qū)動(dòng)程序都是以混雜設(shè)備驅(qū)動(dòng)[9]的方式編寫(xiě),主要的驅(qū)動(dòng)函數(shù)采用ioctl函數(shù)。而電機(jī)驅(qū)動(dòng)模塊與超聲波避障驅(qū)動(dòng)程序的結(jié)構(gòu)相似,僅是實(shí)現(xiàn)功能不同。電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)程序框架如下:

#defineDEVICE_NAME"ok6410_dianji"

//驅(qū)動(dòng)層ioctl函數(shù)

static int s3c6410_dianji_ioctl(struct inode

*inode, struct file *file, char buff)

s3c6410_dianji_fops={

.owner=THIS_MODULE,

.ioctl=s3c6410_dianji_ioctl,

};

static struct miscdevice misc={

.minor=MISC_DYNAMIC_MINOR,

.name=DEVICE_NAME,

.fops=&s3c6410_dianji_fops,

};

static int__init s3c6410_dianji_init()

static void__exit s3c6410_dianji_exit()

module_init(s3c6410_dianji_init);

module_exit(s3c6410_dianji_exit);

光電測(cè)速模塊驅(qū)動(dòng)程序完成兩種功能:①采用中斷的方式來(lái)記錄小車的測(cè)速,并反饋給應(yīng)用層作為PID控制的反饋;②通過(guò)應(yīng)用層傳遞車輪運(yùn)轉(zhuǎn)的周數(shù),驅(qū)動(dòng)中利用異步通知的方式在運(yùn)轉(zhuǎn)完規(guī)定周數(shù)后通知應(yīng)用層,作為小車轉(zhuǎn)向時(shí)的控制。

4.2 記憶庫(kù)程序設(shè)計(jì)

超聲波避障是決定智能小車運(yùn)行狀態(tài)的關(guān)鍵所在。利用超聲波測(cè)得人為障礙物,讓智能小車通過(guò)躲避障礙物實(shí)現(xiàn)按預(yù)定路線行走,并通過(guò)Linux文件系統(tǒng)將小車行走過(guò)程中所有的狀態(tài)都記錄在一個(gè)文件中形成記憶庫(kù)。程序流程圖如圖3所示。

圖3 建立記憶庫(kù)主程序流程圖

4.3 智能小車控制策略程序設(shè)計(jì)

智能小車基本的控制是通過(guò)電機(jī)驅(qū)動(dòng)模塊將模塊上對(duì)應(yīng)的引腳與ARM11的GPL口和GPK口中的部分引腳相連,通過(guò)對(duì)GPIO口輸出高低電平來(lái)控制小車的直行、90°左轉(zhuǎn)彎、90°右轉(zhuǎn)彎和180°掉頭。

由于小車在轉(zhuǎn)向時(shí),輪胎會(huì)出現(xiàn)打滑現(xiàn)象,這樣會(huì)影響小車的90°與180°的精確轉(zhuǎn)向。為了讓小車能在無(wú)黑線的情況下精確轉(zhuǎn)向,本設(shè)計(jì)中采用hmc5883l電子羅盤(pán)作為小車的“眼睛”。一般的電子羅盤(pán)都會(huì)存在一定的偏差[10-11],通過(guò)校正以后可以使精度達(dá)到1°左右。

由于本設(shè)計(jì)中只是為了讓小車轉(zhuǎn)向,并非準(zhǔn)確地測(cè)出與地理北極方向的偏向角,所以在校正后可直接使用輸出數(shù)據(jù)。為了讓小車轉(zhuǎn)向時(shí)迅速且準(zhǔn)確,設(shè)計(jì)了分段的轉(zhuǎn)向運(yùn)行方案,利用光電測(cè)速模塊和20格碼盤(pán)控制小車的運(yùn)行。主要的程序流程圖如圖4所示。

圖4 電子羅盤(pán)轉(zhuǎn)向控制流程圖

為了讓小車能在無(wú)黑線的情況下走出相對(duì)距離內(nèi)的直線,在電機(jī)的控制中采用PID控制算法進(jìn)行調(diào)速。根據(jù)測(cè)速系統(tǒng)反饋回來(lái)的當(dāng)前電機(jī)速度和設(shè)定速度進(jìn)行比較,將偏差作為新的輸入量控制PWM信號(hào)的占空比,從而實(shí)現(xiàn)各個(gè)電機(jī)在單位時(shí)間內(nèi)走的路程近似相等。PID控制算法原理如圖5所示。

圖5 PID控制算法原理圖

在記憶庫(kù)建立完成后,智能小車的運(yùn)行是從記憶庫(kù)中讀取已定路線在各點(diǎn)的狀態(tài)值,最后實(shí)現(xiàn)小車按照規(guī)定路線行駛。主要的程序流程如圖6所示,而從終點(diǎn)回到起點(diǎn)只需將記憶庫(kù)的內(nèi)容反向讀取,并將左右轉(zhuǎn)向取反。

圖6 記憶庫(kù)循跡主程序

4.4 工作模式的控制

本設(shè)計(jì)中智能小車的運(yùn)行有兩種工作模式:第一是建立記憶庫(kù);第二是按照記憶庫(kù)實(shí)現(xiàn)循跡。通過(guò)按鍵控制小車的工作模式,當(dāng)環(huán)境發(fā)生改變時(shí),只需通過(guò)按鍵設(shè)置成建立記憶庫(kù)模式,即可完成記憶庫(kù)的修改。

5 系統(tǒng)測(cè)試結(jié)果及結(jié)論

通過(guò)對(duì)智能小車的測(cè)試,小車能將行駛過(guò)程中各個(gè)狀態(tài)記錄入庫(kù),完成了利用超聲波避障和Linux文件系統(tǒng)的記憶庫(kù)的建立,并且通過(guò)記憶庫(kù)可實(shí)現(xiàn)小車按設(shè)定路徑的循跡的功能。

[1] 劉崇翔,于力革,高美鳳.基于ARM的智能小車驅(qū)動(dòng)程序的開(kāi)發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2012(8):173-175.

[2] 李波,楊衛(wèi),張文棟.一種智能小車自主尋/循跡系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制, 2012,20(10):2798-2801.

[3] 董宗祥.基于ARM的自尋跡機(jī)器人小車的研發(fā)[D].上海:東華大學(xué),2010.

[4] 余紅英.基于ARM的智能尋跡小車的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2012.

[5] 閆晶,周浚哲,劉喜梅.基于DSP的智能小車避障系統(tǒng)設(shè)計(jì)[J].沈陽(yáng)理工大學(xué)學(xué)報(bào),2008,27(1):37-41.

[6] 李磊,曹生煒.智能小車避障技術(shù)的實(shí)現(xiàn)[J].微電機(jī),2011,44(6):109-111.

[7] 盧威.智能小車避障系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南昌:南昌大學(xué),2012.

[8] Samsung.USER’S MANUAL S3C6410X RISC Microprocessor,2009.

[9] 楊水清,張劍.精通ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2012.

[10] 孟健.三軸磁強(qiáng)計(jì)誤差分析與校正[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2011.

[11] 晁敏,蔣東方,文彩虹.磁羅盤(pán)誤差分析與校準(zhǔn)[J].傳感器技術(shù)學(xué)報(bào),2010,23(4):525-531.

吳文豪(在校研究生)、張建國(guó)(副教授),主要研究方向?yàn)楣怆姍z測(cè)與嵌入式技術(shù)。

Car Path Tracking Memory Based on ARM and Linux

Wu Wenhao,Zhang Jianguo,Gao Lei,Wei Nuo,Pang Qing

(Faculty of Science,Xi’an University of Architecture and Technology,Xi’an 710055,China)

Aiming at the practical application,a smart car based on ARM and Linux is designed,which has the function of path tracking memory.The design uses the ARM and Linux operating system to achieve the control of ultrasonic obstacle avoidance module and motor module.The car realizes accurate steering without black line using the electronic compass.A running state memory bank of the car is established using the ultrasonic obstacle avoidance and Linux file system.Then it achieves intelligent car tracking function by reading data from memory bank.The experimental results show that the scheme can realize tracking function and has strong adaptability to the environment.

ARM;Linux;smart car;memory bank

國(guó)家自然科學(xué)基金項(xiàng)目:11347119;陜西省大學(xué)生創(chuàng)新項(xiàng)目:0885。

TP312

A

迪娜

2015-01-19)

猜你喜歡
記憶智能設(shè)計(jì)
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
記憶中的他們
兒時(shí)的記憶(四)
兒時(shí)的記憶(四)
主站蜘蛛池模板: 免费观看国产小粉嫩喷水| 国产大片喷水在线在线视频 | 日韩无码白| 国产尤物jk自慰制服喷水| 在线亚洲精品自拍| 国产精品人人做人人爽人人添| 综合人妻久久一区二区精品 | 亚洲Aⅴ无码专区在线观看q| 又爽又黄又无遮挡网站| 日日摸夜夜爽无码| 久久黄色小视频| 在线日韩日本国产亚洲| 欧美福利在线观看| 国产成人高清精品免费软件| 欧美精品导航| 狠狠色综合久久狠狠色综合| 超碰91免费人妻| 免费看美女自慰的网站| 国产尤物视频在线| 久久黄色毛片| 五月丁香在线视频| 国产欧美视频一区二区三区| 久久久久人妻精品一区三寸蜜桃| 亚洲婷婷丁香| 国产小视频a在线观看| 国产自无码视频在线观看| 国产免费a级片| 在线观看亚洲人成网站| 亚洲精品第1页| 国产不卡在线看| 亚洲不卡影院| 国产欧美另类| 蜜臀AV在线播放| 欧美一级在线看| 国产网站一区二区三区| 中文字幕调教一区二区视频| 无码日韩视频| 亚洲无码四虎黄色网站| 国产区91| 欧美另类精品一区二区三区| 国产香蕉国产精品偷在线观看| 波多野结衣一区二区三区88| 国产精品妖精视频| 男女男精品视频| 国产永久免费视频m3u8| 国产欧美日韩va| 久久天天躁狠狠躁夜夜2020一| 国产在线八区| 日本www在线视频| 免费视频在线2021入口| 思思热精品在线8| 亚洲日产2021三区在线| 无码高潮喷水在线观看| 毛片视频网| 亚洲无码精彩视频在线观看 | 精品一區二區久久久久久久網站| 亚洲九九视频| 国产精品xxx| 伊人天堂网| 有专无码视频| 亚洲一区二区成人| 国产精品综合久久久| 国产区网址| 欧洲av毛片| 日本亚洲成高清一区二区三区| 欧美劲爆第一页| 91福利片| 国产超薄肉色丝袜网站| 国产精鲁鲁网在线视频| 国产精品性| 色噜噜综合网| 国产视频你懂得| 日本色综合网| 亚洲不卡影院| 丁香婷婷激情综合激情| 伊人久久精品亚洲午夜| 亚洲中文在线视频| 韩国自拍偷自拍亚洲精品| 少妇露出福利视频| 国产亚洲精久久久久久久91| 欧美亚洲一区二区三区在线| 亚洲最黄视频|