国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ATmega128的智能機(jī)器人小車控制系統(tǒng)設(shè)計(jì)

2012-10-10 07:32:04馮蓉珍
關(guān)鍵詞:障礙物小車灰度

馮蓉珍

(蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 信息系,江蘇 蘇州 215009)

0 引言

機(jī)器人小車是一個(gè)集環(huán)境感知、動(dòng)態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多功能于一體的綜合系統(tǒng)。隨著傳感技術(shù)、計(jì)算機(jī)科學(xué)、人工智能及其他相關(guān)學(xué)科的迅速發(fā)展,機(jī)器人小車正向著智能化的方向發(fā)展[1]。智能機(jī)器人小車必須具有感知周圍環(huán)境、進(jìn)行任務(wù)規(guī)劃和決策的能力,特別是在上下坡、彎道等不同的環(huán)境中需要實(shí)現(xiàn)速度控制、避開(kāi)障礙物及沿某軌跡自主行走等功能,因此系統(tǒng)必須具有豐富的傳感器、功能強(qiáng)大的控制器以及靈活精確的驅(qū)動(dòng)系統(tǒng)。本文設(shè)計(jì)了一種基于AT-mega128單片機(jī)的智能機(jī)器人小車控制系統(tǒng),該系統(tǒng)將實(shí)時(shí)檢測(cè)到小車運(yùn)行速度和設(shè)定速度的差值進(jìn)行含bang-bang成分的PID運(yùn)算,產(chǎn)生PWM信號(hào)控制電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)對(duì)車速的快速調(diào)整和精確控制。同時(shí)利用灰度傳感器檢測(cè)地面灰度使得小車沿特定軌跡自主行走,在行走的同時(shí)還利用紅外傳感器檢測(cè)障礙物,實(shí)現(xiàn)避障功能。

1 系統(tǒng)組成和控制原理

1.1 系統(tǒng)組成

系統(tǒng)由上位機(jī)和下位機(jī)組成。上位機(jī)包括PC、無(wú)線數(shù)據(jù)發(fā)射模塊和無(wú)線圖像接收模塊,下位機(jī)由CMOS攝像頭、測(cè)速模塊、單片機(jī)系統(tǒng)、紅外避障傳感器、地面灰度傳感器、PWM調(diào)速與電機(jī)驅(qū)動(dòng)控制模塊等部分組成。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。搭載在小車上的CMOS攝像頭獲取道路的實(shí)時(shí)信息并通過(guò)無(wú)線通信發(fā)送給上位機(jī);上位機(jī)對(duì)傳來(lái)的路況圖像進(jìn)行處理,計(jì)算出小車的最佳運(yùn)行速度并通過(guò)無(wú)線數(shù)據(jù)發(fā)送模塊將該速度值發(fā)送給下位單片機(jī);下位單片機(jī)收到設(shè)定的速度值后,進(jìn)行PID運(yùn)算并產(chǎn)生PWM信號(hào)控制車速快速準(zhǔn)確地達(dá)到設(shè)定值。本文主要探討下位單片機(jī)控制系統(tǒng)的設(shè)計(jì)。

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

1.2 控制原理和流程

PID控制器的參數(shù)整定是本控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容,它是指根據(jù)被控過(guò)程的特性確定PID控制器的比例系數(shù)、積分時(shí)間和微分時(shí)間大小。PID控制器的參數(shù)整定方法主要有理論計(jì)算整定法和工程整定法。一般采用工程整定法,該方法主要有臨界比例法、反應(yīng)曲線法和衰減法。無(wú)論采用哪一種方法,都需要在實(shí)際運(yùn)行中進(jìn)行最后的調(diào)整與完善[2]。本系統(tǒng)采用臨界比例法,首先預(yù)設(shè)一個(gè)夠短的采樣周期讓系統(tǒng)工作,然后僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下此時(shí)的比例放大系統(tǒng)和臨界振蕩周期,最后在一定的控制度下根據(jù)“齊格勒-尼克爾斯經(jīng)驗(yàn)法”可計(jì)算得到PID控制器的參數(shù)Kp,Ki,Kd。

本系統(tǒng)對(duì)直流電機(jī)的調(diào)速控制采用引入了含bang-bang成分的PID算法來(lái)實(shí)現(xiàn)閉環(huán)控制小車速度,原理如圖2所示。

式中:U(k)是第 k 次輸出量,U(k)-U(k-1)為輸出增量,ek是第k次偏差,ek-1是第k-1次偏差。

圖2 增量式PID速度控制框圖

上位機(jī)把設(shè)定車速rk通過(guò)無(wú)線數(shù)據(jù)發(fā)送模塊發(fā)送給ATmega128單片機(jī)。單片機(jī)將測(cè)速模塊輸入的脈沖信號(hào)經(jīng)過(guò)計(jì)算得到實(shí)際車速Vk,Vk和rk之差ek被輸入到PID控制器,通過(guò)PID運(yùn)算后得出一個(gè)增量△U(k),根據(jù)該增量控制單片機(jī)內(nèi)部的PWM直接輸出一個(gè)脈沖寬度隨U(k)變化的PWM信號(hào),從而控制電機(jī)的轉(zhuǎn)速。

為了加快電機(jī)的響應(yīng)速度,算法中還引入bang-bang成分,當(dāng)車速大于/小于設(shè)定值的某一比例時(shí)電機(jī)將以最小或最大速度運(yùn)轉(zhuǎn),即當(dāng)|rk-Vk|/rk>M(M 一般取 0.3~0.5) 成立時(shí),算法將跳出 PID 控制模式,直接采用bang-bang的方式控制電機(jī),這就使得小車的加減速比單純使用PID控制算法更加迅速。

除了運(yùn)行速度,小車運(yùn)行的穩(wěn)定性也很重要。這就要求小車能夠根據(jù)行駛道路的復(fù)雜程度,如彎道、上下坡、直道等來(lái)實(shí)時(shí)給出小車的最佳運(yùn)行速度,使之能穩(wěn)定安全行駛,避免沖出彎道、爬不上坡或下坡速度過(guò)快而沖出道路等情況發(fā)生,這是由上位機(jī)根據(jù)無(wú)線攝像頭發(fā)送的圖像信息通過(guò)圖像處理完成的。

避障模塊中的紅外傳感器由一對(duì)紅外發(fā)射器和接收器組成,發(fā)射器發(fā)射紅外光線如遇障礙物則被反射回來(lái),接收器接收到被反射的紅外線后輸出一高電平給單片機(jī),單片機(jī)根據(jù)這個(gè)電平通過(guò)電機(jī)驅(qū)動(dòng)與控制模塊控制小車自主躲避障礙物。

尋跡模塊中的三個(gè)灰度傳感器分別檢測(cè)地面灰度,把該灰度值發(fā)送給單片機(jī)自帶的A/D端口,通過(guò)A/D轉(zhuǎn)換后得到一個(gè)數(shù)值。單片機(jī)根據(jù)地面灰度值通過(guò)電機(jī)驅(qū)動(dòng)與控制模塊控制小車沿著某種顏色的軌跡行走。

2 硬件設(shè)計(jì)

系統(tǒng)硬件以ATmega128單片機(jī)為控制核心,主要由單片機(jī)最小系統(tǒng)電路、測(cè)速電路、紅外避障電路、紅外尋跡電路、電機(jī)調(diào)速和驅(qū)動(dòng)電路等組成。

2.1 單片機(jī)最小系統(tǒng)電路

單片機(jī)部分是整個(gè)系統(tǒng)的控制核心。從滿足系統(tǒng)功能方面考慮,本系統(tǒng)選擇Atmel公司生產(chǎn)的ATmega128單片機(jī),它是AVR系列單片機(jī)中的高檔型,采用RISC結(jié)構(gòu),具有128K字節(jié)的支持ISP編程的FLASH存貯器和4K字節(jié)的片內(nèi)SRAM,它還具有六個(gè)PWM通道,可實(shí)現(xiàn)任意2~16位、相位和頻率可調(diào)的PWM脈寬調(diào)制輸出,八通道10位A/D轉(zhuǎn)換和兩個(gè)全雙工硬件串口USART[3],方便和上位機(jī)獨(dú)立通訊。

單片機(jī)最小系統(tǒng)電路包括單片機(jī)復(fù)位、晶振等外圍電路。它負(fù)責(zé)將測(cè)速、避障等電路產(chǎn)生的輸入信號(hào)進(jìn)行處理并通過(guò)自帶的硬PWM輸出控制信號(hào)給驅(qū)動(dòng)放大電路,從而控制電機(jī)轉(zhuǎn)速,此方式產(chǎn)生的PWM信號(hào)比用定時(shí)器中斷產(chǎn)生的PWM信號(hào)實(shí)時(shí)性更好,而且不會(huì)占用系統(tǒng)的定時(shí)器資源,這也是本系統(tǒng)采用ATmega128單片機(jī)的原因之一。同時(shí)ATmega128內(nèi)部自帶10位A/D轉(zhuǎn)換器,可以將尋跡傳感器檢測(cè)到的地面灰度電壓值進(jìn)行模數(shù)轉(zhuǎn)換,從而對(duì)地面灰度值進(jìn)行量化,實(shí)現(xiàn)小車尋跡功能。

2.2 測(cè)速電路

測(cè)速模塊由黑白碼盤(pán)和光電傳感器組成。黑白碼盤(pán)貼在驅(qū)動(dòng)輪的輪盤(pán)上,光電傳感器位于碼盤(pán)同側(cè),如圖3所示。當(dāng)光電傳感器中發(fā)射的紅外光投射到碼盤(pán)的黑白條紋上時(shí),將被間隔地反射到傳感器接收端,接收端收到與輪子轉(zhuǎn)速成正比的光電脈沖信號(hào),從而在傳感器的輸出端產(chǎn)生一定頻率的電脈沖信號(hào),通過(guò)一非門(mén)輸入到單片機(jī)的外部中斷口。通過(guò)單片機(jī)對(duì)脈沖計(jì)數(shù)就可算出小車的移動(dòng)距離L,L=∏*D*N/M(D為驅(qū)動(dòng)輪外徑,M為碼盤(pán)的黑白條紋數(shù),N為實(shí)測(cè)的電脈沖正負(fù)跳變次數(shù)),小車的行駛速度Vk=L/T(T為單位時(shí)間間隔)。通過(guò)對(duì)一次時(shí)間間隔內(nèi)接收到的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),再通過(guò)上式計(jì)算即可得到小車實(shí)際運(yùn)行速度Vk。

圖3 黑白碼盤(pán)與光電傳感器

2.3 紅外避障電路

紅外避障電路的基本工作原理為晶振通過(guò)電容與非門(mén)產(chǎn)生一38Khz的脈沖信號(hào),該信號(hào)作為載波控制紅外二極管將信號(hào)發(fā)射出去,遇到障礙物反射回來(lái)的信號(hào)被一體化接收頭接收并輸出高電平,若無(wú)障礙物則無(wú)返回信號(hào),輸出低電平。單片機(jī)通過(guò)查詢信號(hào)輸入引腳的狀態(tài)來(lái)判斷是否有障礙物并輸出相應(yīng)的控制信號(hào),控制電機(jī)運(yùn)行方向和速度??梢栽谛≤嚥煌较蛏习惭b紅外避障傳感器,本系統(tǒng)在小車的左前方和右前方各安裝一對(duì)。

2.4 紅外尋跡電路

本系統(tǒng)配有3路紅外收發(fā)一體灰度傳感器,發(fā)射管向地面發(fā)射紅外光線,接收管根據(jù)接收到的紅外光線的強(qiáng)弱,輸出某個(gè)電壓值,該電壓值輸入到單片機(jī)的A/D口,進(jìn)行A/D轉(zhuǎn)換后得到一個(gè)0~1 023的數(shù)值,數(shù)值大小反映地面不同灰度,每種顏色都對(duì)應(yīng)于一個(gè)數(shù)值范圍。例如,白色灰度值為 0~20,黑色為 1 000~1 023,單片機(jī)根據(jù)這些數(shù)值能判斷出傳感器所在地面的顏色,從而控制小車沿某種顏色的地面行走。3路傳感器并排放置,間距可根據(jù)顏色線寬度調(diào)整。

2.5 電機(jī)控制及調(diào)速模塊

電機(jī)控制及調(diào)速模塊原理如圖4所示。圖中INPUT1~I(xiàn)NPUT4為輸入控制的TTL電平信號(hào),此4路信號(hào)經(jīng)功放U7放大后驅(qū)動(dòng)兩個(gè)電機(jī),INPUT1和INPUT2控制小車左邊電機(jī),INPUT3和INPUT4控制右邊電機(jī),控制信號(hào)和電機(jī)轉(zhuǎn)動(dòng)方向關(guān)系如表 1所示(表中“1”表示高電平,“0”表示低電平)。對(duì)電機(jī)的調(diào)速通過(guò)PWM實(shí)現(xiàn),當(dāng)INPUT1~I(xiàn)NPUT4輸入的不是恒定的高低電平而是脈沖寬度可調(diào)的脈沖波形時(shí),電機(jī)轉(zhuǎn)動(dòng)的速度就變?yōu)榭烧{(diào),脈沖占空比越小則電機(jī)速度越慢,反之速度越快。

圖4 電機(jī)控制及調(diào)速模塊原理圖

表1 控制信號(hào)和電機(jī)轉(zhuǎn)動(dòng)方向關(guān)系表

3 軟件設(shè)計(jì)

系統(tǒng)軟件由主程序和定時(shí)器中斷子程序、外部中斷子程序等組成。主程序主要進(jìn)行一些變量的初始化、開(kāi)中斷并等待定時(shí)器中斷和外部中斷的發(fā)生。PWM輸出、PID算法處理等均在T0中斷子程序中完成,其程序流程如圖5所示。外部中斷子程序負(fù)責(zé)對(duì)光電傳感器產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù)。

首先判斷小車是否處于尋跡狀態(tài),如果是則調(diào)用尋跡子程序:根據(jù)安裝在小車底部的三個(gè)灰度傳感器檢測(cè)到的地面灰度值來(lái)控制小車的運(yùn)行方向。例如,假設(shè)要求小車沿著白線自主行走,當(dāng)A/D轉(zhuǎn)換后的值介于0~20之間時(shí),說(shuō)明傳感器在白線上。若左側(cè)傳感器在白線上,說(shuō)明小車在白線右側(cè),應(yīng)控制小車偏向左行走;若中間的傳感器在白線上,小車應(yīng)繼續(xù)直行;若右側(cè)傳感器在白線上,應(yīng)控制小車偏向右行走;若三個(gè)傳感器都不在白線上,應(yīng)按某種算法行走,直到有一個(gè)傳感器在白線上為止。同樣,如果要讓小車沿其他顏色線行走,則應(yīng)該根據(jù)A/D轉(zhuǎn)換后的值是否在此顏色對(duì)應(yīng)的灰度值范圍,來(lái)控制小車的運(yùn)動(dòng)方向。

若不在尋跡狀態(tài)下,則調(diào)用避障子程序:?jiǎn)纹瑱C(jī)根據(jù)左右兩側(cè)傳感器傳來(lái)的信號(hào),判斷正前方是否有障礙物,如果有,控制小車以設(shè)定速度后退并大幅度右轉(zhuǎn),沒(méi)有則判斷左前方是否有障礙物;如果左前方有障礙物,以設(shè)定速度后退并小幅度右轉(zhuǎn),沒(méi)有則繼續(xù)判斷右前方是否有障礙物;如果右前方有障礙物,以設(shè)定速度后退并小幅度左轉(zhuǎn),否則說(shuō)明無(wú)障礙物,調(diào)用調(diào)速子程序。

調(diào)速子程序流程如圖6所示。首先根據(jù)脈沖計(jì)數(shù)值計(jì)算出小車當(dāng)前的實(shí)際車速Vk,把Vk和設(shè)定速度 rk 進(jìn)行比較,假設(shè) P=(rk-Vk)/rk,如果 P>0.5,說(shuō)明當(dāng)前車速離設(shè)定速度較遠(yuǎn),需要快速達(dá)到設(shè)定值,因此輸出最大設(shè)定PWM值;若0<=P<=0.5,則按照PID運(yùn)算后輸出某個(gè)脈沖寬度的PWM值,控制電機(jī)快速達(dá)到設(shè)定值;若-0.3<=P<0,說(shuō)明實(shí)際車速超過(guò)了設(shè)定速度某個(gè)范圍,則以最小設(shè)定 PWM 值來(lái)控制小車減速; 若-0.5<=P<-0.3,說(shuō)明小車可能是下坡,需要減速以避免小車沖出軌道,因此讓電機(jī)停轉(zhuǎn);若P<-0.5,說(shuō)明坡度很陡,此時(shí)電機(jī)應(yīng)反轉(zhuǎn)以快速降低車速,一般這種情況很少出現(xiàn),P 在-0.3~-0.5 之間時(shí)已得到了修正。

圖5 定時(shí)器中斷程序流程圖

圖6 調(diào)速子程序流程圖

4 結(jié)束語(yǔ)

本智能小車控制系統(tǒng)以Atmega128單片機(jī)為控制核心,采用bang-bang+PID控制算法精確快速地控制小車速度,使之完成上下坡、走彎道等任務(wù)。同時(shí)還采用了紅外避障和尋跡傳感器,提高了小車行駛的安全性和智能性。該智能小車已成功應(yīng)用于機(jī)器人競(jìng)賽并取得較好成績(jī)。本小車還可作為移動(dòng)機(jī)器人的載體,在功能上稍作擴(kuò)展后即可應(yīng)用于小區(qū)巡邏、實(shí)地勘測(cè)、智能玩具等領(lǐng)域。

[1]朱孟強(qiáng),盧博友,雷永鋒,周茂雷.基于ARM的智能機(jī)器人小車控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(5-2):239.

[2]黃友銳,曲立國(guó).PID控制器參數(shù)整定與實(shí)現(xiàn)[M].北京:科學(xué)出版社,2010.

[3]馬潮.高檔8位單片機(jī)ATmega128原理與開(kāi)發(fā)應(yīng)用指南(上)[M].北京:北京航空航天大學(xué)出版社,2004.

[4]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1994.

[5]周斌,李立國(guó),黃開(kāi)勝.智能車光電傳感器布局對(duì)路徑識(shí)別的影響研究[J].電子產(chǎn)品世界,2006(9):139-140.

猜你喜歡
障礙物小車灰度
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
基于灰度拉伸的圖像水位識(shí)別方法研究
快樂(lè)語(yǔ)文(2020年36期)2021-01-14 01:10:32
自制小車來(lái)比賽
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
劉老師想開(kāi)小車
文苑(2018年22期)2018-11-19 02:54:18
兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2018年8期)2018-06-26 06:43:02
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
新乡市| 常山县| 麻栗坡县| 新龙县| 深水埗区| 乐至县| 长沙市| 隆尧县| 莱阳市| 扬中市| 陆川县| 高淳县| 天峨县| 泸西县| 友谊县| 蓬安县| 宁化县| 滕州市| 东方市| 香格里拉县| 泰州市| 浦江县| 青州市| 郸城县| 海晏县| 汉沽区| 寻甸| 河曲县| 青海省| 阜康市| 肥乡县| 绵竹市| 呼和浩特市| 静海县| 彩票| 凌源市| 南京市| 利川市| 高要市| 泌阳县| 抚州市|