一種基于arm9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),包括:電池裝置、按鍵裝置、傳感器裝置、單核全數(shù)字最小硬件伺服單元、左、右電機(jī)驅(qū)動(dòng)單元、陀螺儀、左、右電機(jī);所述單核全數(shù)字最小硬件伺服單元中通過(guò)運(yùn)動(dòng)控制器ARM9實(shí)現(xiàn)參數(shù)轉(zhuǎn)化、多軸PWM波生成,然后與快速驅(qū)動(dòng)控制器L298N和位于左右電機(jī)上的光電編碼器和電流傳感器之間電性連接。通過(guò)上述方式,本發(fā)明能夠提供一種用于兩輪微電腦鼠的全數(shù)字化快速對(duì)角線沖刺系統(tǒng),通過(guò)前方導(dǎo)航傳感器和對(duì)角線傳感器相互配合實(shí)現(xiàn)微電腦鼠在復(fù)雜迷宮中的對(duì)角線快速?zèng)_刺,減少微電腦鼠沖刺時(shí)間。
【專利說(shuō)明】—種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一中微電腦鼠沖刺控制系統(tǒng),特別是涉及一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)。
【背景技術(shù)】
[0002]微電腦鼠是使用嵌入式微控制器、傳感器和機(jī)電運(yùn)動(dòng)部件構(gòu)成的一種智能行走機(jī)器人,微電腦鼠可以在不同“迷宮”中自動(dòng)記憶和選擇路徑,采用相應(yīng)的算法,快速地到達(dá)所設(shè)定的目的地。微電腦鼠比賽在國(guó)外已經(jīng)有30幾年的歷史,現(xiàn)在每年國(guó)際上都要舉行上百場(chǎng)類似的微電腦鼠大賽。
[0003]微電腦鼠競(jìng)賽采用運(yùn)行時(shí)間、迷宮時(shí)間和碰觸這三個(gè)參數(shù),從速度、求解迷宮的效率和電腦鼠的可靠性三個(gè)方面來(lái)進(jìn)行評(píng)分,不同的國(guó)家采用不同的評(píng)分標(biāo)準(zhǔn),最有代表的四個(gè)國(guó)家標(biāo)準(zhǔn)為:
美國(guó):IEEE APEC國(guó)際微電腦鼠機(jī)器人競(jìng)賽,探索時(shí)間、沖刺時(shí)間和固定的接觸扣分,都記入總成績(jī),得分=探索時(shí)間/30 +沖刺時(shí)間+固定接觸扣分;
日本:全日本國(guó)際微電腦鼠機(jī)器人大會(huì)(專家級(jí)),總成績(jī)僅計(jì)算沖刺時(shí)間,得分=最佳沖刺時(shí)間;
英國(guó):微電腦鼠機(jī)器人挑戰(zhàn)賽,探索時(shí)間、沖刺時(shí)間和可變的接觸扣分都記入總成績(jī),得分=探索時(shí)間/30 +沖刺時(shí)間+變動(dòng)接觸扣分;
新加坡:機(jī)器人大賽,探索時(shí)間、沖刺時(shí)間記入總成績(jī);每次接觸機(jī)器人將減少一次嘗試機(jī)會(huì),得分=探索時(shí)間/30 +沖刺時(shí)間。
[0004]從上面的國(guó)際標(biāo)準(zhǔn)來(lái)看,沖刺時(shí)間決定整個(gè)微電腦鼠的成敗,由于國(guó)內(nèi)研發(fā)此機(jī)器人的單位較少,相對(duì)研發(fā)水平比較落后,研發(fā)的微電腦鼠結(jié)構(gòu)如圖1,長(zhǎng)時(shí)間運(yùn)行發(fā)現(xiàn)存在著很多安全問(wèn)題,即:
(I)作為微電腦鼠的眼睛采用的是超聲波或者是一般的紅外傳感器,而且傳感器的設(shè)置有誤,使得微電腦鼠在快速?zèng)_刺時(shí)對(duì)周圍迷宮的判斷存在一定的誤判,使得微電腦在快速?zèng)_刺的時(shí)候容易撞上前方的擋墻。
[0005](2)作為微電腦鼠的執(zhí)行機(jī)構(gòu)采用的是步進(jìn)電機(jī),經(jīng)常會(huì)遇到丟失脈沖的問(wèn)題出現(xiàn),導(dǎo)致對(duì)沖刺位置的記憶出現(xiàn)錯(cuò)誤,有的時(shí)候找不到?jīng)_刺的終點(diǎn)。
[0006](3)由于采用步進(jìn)電機(jī),使得機(jī)體發(fā)熱比較嚴(yán)重,不利于在大型復(fù)雜迷宮中快速?zèng)_刺。
[0007](4)由于采用比較低級(jí)的算法,使得最佳迷宮的計(jì)算和沖刺路徑的計(jì)算都有一定的問(wèn)題,研發(fā)的微電腦鼠基本上不會(huì)多次自動(dòng)加速?zèng)_刺,在一般迷宮當(dāng)中的沖刺一般都要花費(fèi)15?30秒的時(shí)間,這使得在真正的國(guó)際復(fù)雜迷宮大賽中無(wú)法取勝。
[0008](5)由于微電腦鼠在快速?zèng)_刺過(guò)程中需要頻繁的剎車和啟動(dòng),加重了單片機(jī)的工作量,單片信號(hào)處理器無(wú)法滿足微電腦鼠快速?zèng)_刺的要求。
[0009]( 6 )相對(duì)采用的都是一些體積比較大的插件元器件使得微電腦鼠的體積和重量比較龐大,而且重心較高,無(wú)法滿足快速?zèng)_刺的要求。
[0010](7)由于受周圍環(huán)境不穩(wěn)定因素干擾,特別是周圍一些光線的干擾,單片機(jī)控制器經(jīng)常會(huì)出現(xiàn)異常,引起微電腦鼠失控,抗干擾能力較差。
[0011](8)對(duì)于差速控制的微電腦鼠來(lái)說(shuō),一般要求其兩個(gè)電機(jī)的控制信號(hào)要同步,但是對(duì)于單一單片機(jī)來(lái)說(shuō)很難辦到,使得微電腦鼠在高速?zèng)_刺時(shí)會(huì)在迷宮當(dāng)中搖擺幅度較大,經(jīng)常出現(xiàn)撞墻的現(xiàn)象發(fā)生,導(dǎo)致沖刺失敗。
[0012](9)由于受單片機(jī)容量和算法影響,微電腦鼠對(duì)迷宮的信息沒(méi)有存儲(chǔ),當(dāng)遇到掉電情況時(shí)候所有的信息將消失,這使得整個(gè)沖刺過(guò)程無(wú)法完成。
[0013](10)由于沒(méi)有角速度傳感器的輔助進(jìn)行轉(zhuǎn)彎,經(jīng)常出現(xiàn)轉(zhuǎn)彎角度過(guò)小或者過(guò)大的現(xiàn)象發(fā)生,然后依靠導(dǎo)航的傳感器進(jìn)行補(bǔ)償,導(dǎo)致在連續(xù)多次轉(zhuǎn)彎的迷宮中出現(xiàn)撞墻的現(xiàn)象發(fā)生,致使沖刺失敗。
[0014](11)采用單個(gè)傳感器探知前方迷宮的擋墻,極易收到外界干擾,致使前方傳感器錯(cuò)誤引導(dǎo)快速?zèng)_刺的微電腦鼠,導(dǎo)致微電腦鼠在迷宮中沖刺不到位或者撞墻,致使沖刺失敗。
[0015]因此,需要對(duì)現(xiàn)有的基于單片機(jī)控制的微電腦鼠控制器進(jìn)行重新設(shè)計(jì)。
【發(fā)明內(nèi)容】
[0016]本發(fā)明主要解決的技術(shù)問(wèn)題是提供一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),能夠減少?zèng)_刺時(shí)間,對(duì)于樓梯型沖刺迷宮采用45度對(duì)角線轉(zhuǎn)法和U型沖刺迷宮采用U轉(zhuǎn)法,比連續(xù)轉(zhuǎn)法更加節(jié)省時(shí)間;并且在沖刺階段一直有前方的傳感器SI和S6對(duì)信息進(jìn)行采集并時(shí)刻進(jìn)行補(bǔ)償,保證了沖刺的準(zhǔn)確性和穩(wěn)定性。
[0017]為解決上述技術(shù)問(wèn)題,本發(fā)明米用的一個(gè)技術(shù)方案是:提供一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),包括:電池裝置、按鍵裝置、傳感器、單核全數(shù)字最小硬件伺服單元、左、右電機(jī)驅(qū)動(dòng)單元、陀螺儀、左、右電機(jī);所述電池裝置、按鍵裝置、傳感器裝置、單核全數(shù)字最小硬件伺服單元與左、右電機(jī)驅(qū)動(dòng)單和左、右電機(jī)之間電性連接;所述陀螺儀與所述單核全數(shù)字最小硬件伺服單元之間電性連接;所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步設(shè)置有運(yùn)動(dòng)控制器ARM9、PWM控制器、快速驅(qū)動(dòng)控制器L298N和位于左右電機(jī)上的光電編碼器和電流傳感器,所述運(yùn)動(dòng)控制器ARM9實(shí)現(xiàn)參數(shù)轉(zhuǎn)化模塊、多軸PWM波生成,并與快速驅(qū)動(dòng)控制器L298N、光電編碼器、電流傳感器之間電性連接,從而所PWM信號(hào)由運(yùn)動(dòng)控制器ARM9結(jié)合各種反饋生成后流向驅(qū)動(dòng)控制器L298N。
[0018]在本發(fā)明一個(gè)較佳實(shí)施例中,所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步包含有多個(gè)沖刺選擇模塊,所述沖刺選擇模塊與所述按鍵裝置連接;所述沖刺選擇模塊中進(jìn)一步包含有自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊,根據(jù)按鍵裝置實(shí)現(xiàn)自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊的選取。
[0019]在本發(fā)明一個(gè)較佳實(shí)施例中,所述單核全數(shù)字最小硬件伺服單元中還進(jìn)一步包含有沖刺運(yùn)動(dòng)模塊,所述沖刺運(yùn)動(dòng)模塊中進(jìn)一步包含有準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元,所述準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元之間按順序依次連接。
[0020]所述啟動(dòng)沖刺單元中進(jìn)一步包含有中斷請(qǐng)求模塊和正常沖刺模塊,所述中斷請(qǐng)求模塊和正常沖刺模塊與啟動(dòng)沖刺單元相互連接,從而所述信號(hào)分別流向斷請(qǐng)求模塊或正常沖刺模塊。
[0021]在本發(fā)明一個(gè)較佳實(shí)施例中,所述沖刺單元進(jìn)一步包含有直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元,所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元與所述伺服控制系統(tǒng)中的運(yùn)動(dòng)控制器ARM9相連接。
[0022]在本發(fā)明一個(gè)較佳實(shí)施例中,所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中包含有坐標(biāo)存儲(chǔ)模塊、子程序控制模塊。
[0023]在本發(fā)明一個(gè)較佳實(shí)施例中,所述轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中進(jìn)一步包含有曲線運(yùn)動(dòng)軌跡模塊、誤差補(bǔ)償模塊、目標(biāo)模塊、速度調(diào)整模塊,所述曲線運(yùn)動(dòng)軌跡模塊與坐標(biāo)存儲(chǔ)模塊連接,從而所述信號(hào)由子程序控制模塊流向坐標(biāo)存儲(chǔ)模塊和曲線運(yùn)動(dòng)軌跡模塊;所述誤差補(bǔ)償模塊、速度調(diào)整模塊、陀螺儀分別與目標(biāo)模塊相連接,從而所述信號(hào)由目標(biāo)模塊流向誤差補(bǔ)償模塊、速度調(diào)整模塊或陀螺儀。
[0024]在本發(fā)明一個(gè)較佳實(shí)施例中,所述對(duì)角線沖刺單元還進(jìn)一步包含有對(duì)角線運(yùn)動(dòng)模塊和距離模塊,所述對(duì)角線運(yùn)動(dòng)模塊與坐標(biāo)存儲(chǔ)模塊由運(yùn)動(dòng)控制器ARM9控制完成。
[0025]本發(fā)明的有益效果是:本發(fā)明在微電腦鼠的伺服控制系統(tǒng)中添加了控制微電腦鼠運(yùn)動(dòng)的運(yùn)動(dòng)控制器ARM9、通過(guò)參數(shù)轉(zhuǎn)化后由軟件生成多軸PWM波,所述PWM波經(jīng)快速驅(qū)動(dòng)控制器L298N后輸送至左、右電機(jī),通過(guò)上述方式能夠?qū)崿F(xiàn)微電腦鼠快速的對(duì)角線沖刺。
【專利附圖】
【附圖說(shuō)明】
[0026]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖,其中:
圖1是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的結(jié)構(gòu)示意圖;
圖2為本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)的單核全數(shù)字最小硬件伺服單元框圖;
圖3為本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的單核全數(shù)字最小硬件伺服單元沖刺模塊框圖;
圖4是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的微電腦鼠迷宮示意圖;
圖5是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的微電腦鼠二維示意圖;
圖6是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的為微電腦鼠速度曲線圖;
圖7是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的微電腦鼠自動(dòng)沖刺程序示意圖;
圖8是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的為微電腦鼠右轉(zhuǎn)沖刺示意圖;
圖9是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的微電腦鼠左轉(zhuǎn)沖刺不意圖;
圖10是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的樓梯迷宮圖;
圖11是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的45度沖刺樓梯示意圖;
圖12是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的連轉(zhuǎn)U型迷宮圖;
圖13是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的連轉(zhuǎn)U型不意圖;
圖14是本發(fā)明一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng)一較佳實(shí)施例的連轉(zhuǎn)U型迷宮參數(shù)示意圖。
[0027]附圖中各部件的標(biāo)記如下:1、左電機(jī);2、右電機(jī);3、傳感器。
【具體實(shí)施方式】
[0028]下面將對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029]請(qǐng)參閱圖1、圖2和圖3,本發(fā)明實(shí)施例提供如下技術(shù)方案。
[0030]在一個(gè)實(shí)施例中,一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),包括:電池裝置、按鍵裝置、傳感器、單核全數(shù)字最小硬件伺服單元、左、右電機(jī)驅(qū)動(dòng)單元、陀螺儀、左、右電機(jī);所述電池裝置、按鍵裝置、傳感器裝置、單核全數(shù)字最小硬件伺服單元與左、右電機(jī)驅(qū)動(dòng)單和左、右電機(jī)之間電性連接;所述陀螺儀與所述單核全數(shù)字最小硬件伺服單元之間電性連接;所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步設(shè)置有運(yùn)動(dòng)控制器ARM9、PWM控制器、快速驅(qū)動(dòng)控制器L298N和位于左右電機(jī)上的光電編碼器和電流傳感器,所述運(yùn)動(dòng)控制器ARM9實(shí)現(xiàn)參數(shù)轉(zhuǎn)化模塊、多軸PWM波生成,并與快速驅(qū)動(dòng)控制器L298N、光電編碼器、電流傳感器之間電性連接,從而所PWM信號(hào)由運(yùn)動(dòng)控制器ARM9結(jié)合各種反饋生成后流向驅(qū)動(dòng)控制器L298N。
[0031]區(qū)別于現(xiàn)有技術(shù),在一個(gè)實(shí)施例中,所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步包含有多個(gè)沖刺選擇模塊,所述沖刺選擇模塊與所述按鍵裝置連接;所述沖刺選擇模塊中進(jìn)一步包含有自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊,根據(jù)按鍵裝置實(shí)現(xiàn)自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊的選取。
[0032]所述單核全數(shù)字最小硬件伺服單元中還進(jìn)一步包含有沖刺運(yùn)動(dòng)模塊,所述沖刺運(yùn)動(dòng)模塊中進(jìn)一步包含有準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元,所述準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元之間按順序依次連接。
[0033]所述啟動(dòng)沖刺單元中進(jìn)一步包含有中斷請(qǐng)求模塊和正常沖刺模塊,所述中斷請(qǐng)求模塊和正常沖刺模塊與啟動(dòng)沖刺單元相互連接,從而所述信號(hào)分別流向斷請(qǐng)求模塊或正常沖刺模塊。
[0034]所述沖刺單元進(jìn)一步包含有直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元,所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元與所述伺服控制系統(tǒng)中的運(yùn)動(dòng)控制器ARM9相連接。
[0035]所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中包含有坐標(biāo)存儲(chǔ)模塊、子程序控制模塊。
[0036]所述轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中進(jìn)一步包含有曲線運(yùn)動(dòng)軌跡模塊、誤差補(bǔ)償模塊、目標(biāo)模塊、速度調(diào)整模塊,所述曲線運(yùn)動(dòng)軌跡模塊與坐標(biāo)存儲(chǔ)模塊連接,從而所述信號(hào)由子程序控制模塊流向坐標(biāo)存儲(chǔ)模塊和曲線運(yùn)動(dòng)軌跡模塊;所述誤差補(bǔ)償模塊、速度調(diào)整模塊、陀螺儀分別與目標(biāo)模塊相連接,從而所述信號(hào)由目標(biāo)模塊流向誤差補(bǔ)償模塊、速度調(diào)整模塊或陀螺儀。
[0037]所述對(duì)角線沖刺單元還進(jìn)一步包含有對(duì)角線運(yùn)動(dòng)模塊和距離模塊,所述對(duì)角線運(yùn)動(dòng)模塊與坐標(biāo)存儲(chǔ)模塊由運(yùn)動(dòng)控制器ARM9控制完成。
[0038]為了進(jìn)一步描述微電腦鼠的運(yùn)動(dòng),請(qǐng)參照?qǐng)D4、圖5、圖6、圖7、圖8、圖9、圖10、圖
11、圖12、圖13、圖14,其具體功能實(shí)現(xiàn)如下:
在微電腦鼠打開(kāi)電源瞬間,系統(tǒng)按照?qǐng)D7的方式完成沖刺。首先系統(tǒng)要完成初始化,然后等待按鍵信息,未接到按鍵信息命令之前,微電腦鼠在起點(diǎn)坐標(biāo)(0,0)等待控制器發(fā)出的沖刺命令。根據(jù)按鍵信息,本發(fā)明有多種沖刺方法:如果按下的是START (啟動(dòng))鍵,說(shuō)明系統(tǒng)要放棄以前的迷宮信息先進(jìn)行搜索,然后搜索完成后生成優(yōu)化的沖刺迷宮信息,微電腦鼠進(jìn)入自動(dòng)多次沖刺階段;如果按下的是RESET (復(fù)位)+STRAT (啟動(dòng))鍵,說(shuō)明系統(tǒng)要調(diào)出已經(jīng)探索后的最優(yōu)迷宮,然后沿著起點(diǎn)開(kāi)始快速向終點(diǎn)(7,7)、(7,8)、(8,7)、(8,8)沖刺;如果按下的是RESET (復(fù)位)+STRAT (啟動(dòng))+SPEED (速度)鍵,說(shuō)明系統(tǒng)要調(diào)出已經(jīng)探索后的最優(yōu)迷宮,然后沿著起點(diǎn)以設(shè)定的沖刺速度開(kāi)始快速向終點(diǎn)(7,7)、(7,8)、(8,7)、(8,8)沖刺。
[0039]微電腦鼠放在起點(diǎn)坐標(biāo)(0,0),接到任務(wù)后為了防止放錯(cuò)沖刺方向,其前方的傳感器S1、S6和會(huì)對(duì)前方的環(huán)境進(jìn)行判斷,確定有沒(méi)有擋墻進(jìn)入運(yùn)動(dòng)范圍。如存在擋墻將向ARM9 (S3C2440A)發(fā)出中斷請(qǐng)求,ARM9 (S3C2440A)會(huì)對(duì)中斷做第一時(shí)間響應(yīng),然后禁止L298N的使能端ENA和ENB工作,封鎖微電腦鼠的左電機(jī)I和右電機(jī)2的PWM驅(qū)動(dòng)信號(hào),使其靜止在原地,然后二次判斷迷宮確定前方信息,防止信息誤判;如果沒(méi)有擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,微電腦鼠將進(jìn)行正常的沖刺。
[0040]在微電腦啟動(dòng)沖刺瞬間,傳感器S1、S2、S3、S4、S5、S6 (六個(gè)獨(dú)立的紅外發(fā)射管0PE5594A發(fā)出的紅外光經(jīng)接收器TSL262接受后轉(zhuǎn)化為周圍迷宮的信息)判斷周圍的環(huán)境并送給ARM9 (S3C2440A),然后由ARM9 (S3C2440A)根據(jù)沖刺迷宮信息生成圖6所示的梯形圖指令給定值,這個(gè)圖形包含的面積就是微電腦鼠兩個(gè)左電機(jī)1、右電機(jī)2要運(yùn)行的距離
S。然后結(jié)合光電編碼盤和電流傳感器的反饋生成驅(qū)動(dòng)兩軸直流電機(jī)的PWM波。PWM波經(jīng)L298N后驅(qū)動(dòng)兩個(gè)獨(dú)立電機(jī),完成整個(gè)加速過(guò)程直到達(dá)到?jīng)_刺設(shè)定速度,并把處理數(shù)據(jù)通訊給ARM9 (S3C2440A),由ARM9 (S3C2440A)繼續(xù)處理后續(xù)的運(yùn)行狀態(tài)。
[0041]本發(fā)明舍棄了傳統(tǒng)單一速度沖刺模式,按照?qǐng)D6的速度和時(shí)間曲線控制微電腦鼠的加速和減速。梯形圖包含的面積為微電腦鼠運(yùn)動(dòng)Z格的距離。在微電腦鼠沿著Y軸向前快速?zèng)_刺過(guò)程中如果迷宮信息中顯示前方有Z格直線坐標(biāo)下沒(méi)有擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,微電腦鼠將存儲(chǔ)其現(xiàn)在的坐標(biāo)(X,Y),系統(tǒng)進(jìn)入沖刺子程序1,ARM9 (S3C2440A)把向前運(yùn)動(dòng)Z格的位置參數(shù)根據(jù)沖刺條件的不同計(jì)算出速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合光電編碼器和電流傳感器的反饋根據(jù)內(nèi)部位置、速度、加速度程序生成形成當(dāng)前條件下的PWM波,然后ARM9 (S3C2440A)通過(guò)調(diào)整L298N管腳0UT1、0UT3、0UT2、0UT4為電平,控制左右輪的左電機(jī)I和右電機(jī)2向前運(yùn)動(dòng)。當(dāng)?shù)竭_(dá)設(shè)定目標(biāo)時(shí),將更新其坐標(biāo)為(X,Y+Z),為了快速?zèng)_刺需要,在其向前運(yùn)動(dòng)過(guò)程到達(dá)既定目標(biāo)時(shí),在Υ+Ζ〈15的前提下,判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為O,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑;
在微電腦鼠沿著Y軸反向向前快速?zèng)_刺過(guò)程中如果迷宮信息中顯示前方有Z格直線坐標(biāo)下沒(méi)有擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,微電腦鼠將存儲(chǔ)其現(xiàn)在的坐標(biāo)(X,Y),系統(tǒng)進(jìn)入沖刺子程序1,ARM9 (S3C2440A)把向前運(yùn)動(dòng)Z格的位置參數(shù)根據(jù)沖刺條件的不同計(jì)算出速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合光電編碼器和電流傳感器的反饋根據(jù)內(nèi)部位置、速度、力口速度程序生成形成當(dāng)前條件下的PWM波,然后ARM9 (S3C2440A)通過(guò)調(diào)整L298N管腳OUT1、0UT3、0UT2、0UT4為電平,控制左右輪的左電機(jī)I和右電機(jī)2向前運(yùn)動(dòng),當(dāng)?shù)竭_(dá)設(shè)定目標(biāo)時(shí),將更新其坐標(biāo)為(X,Y-Z),在其向前運(yùn)動(dòng)過(guò)程到達(dá)既定目標(biāo)時(shí),在確定Υ-Ζ>0的前提下,判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為0,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑;
在微電腦鼠沿著Y軸向前運(yùn)動(dòng)過(guò)程中如果有擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,并且此時(shí)迷宮信息中左方有擋墻時(shí),系統(tǒng)進(jìn)入沖刺子程序2,微電腦鼠將存儲(chǔ)此時(shí)坐標(biāo)(X,Y),然后進(jìn)入圖8所示的曲線運(yùn)動(dòng)軌跡,在右沖刺轉(zhuǎn)彎時(shí),ARM9 (S3C2440A)首先把行走直線很短的距離DashTurn_R90_Leading按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度直線前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),傳感器參考值R90_FrontWallRef開(kāi)始工作,防止外界干擾開(kāi)始做誤差補(bǔ)償。誤差補(bǔ)償結(jié)束后開(kāi)始調(diào)整直流左電機(jī)I和直流右電機(jī)2速度為DashTurn_R90_VelXl 和 DashTurn_R90_VelYl,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡 DashTurn_R90_Arcl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠速度為DashTurn_R90_VelX2和DashTurn_R90_VelY2,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡DashTurn_R90_Arc2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,微電腦鼠在陀螺儀控制下已經(jīng)右轉(zhuǎn)90度,控制器把直線行走很短的距離DashTurn_R90_Passing按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn),當(dāng)?shù)竭_(dá)既定目標(biāo)后通過(guò)四段不同的軌跡完成整個(gè)右轉(zhuǎn)彎的軌跡曲線運(yùn)動(dòng)。此時(shí)將更新其坐標(biāo)為(x+l,Y),在x+l〈15的前提下,判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為O,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑。
[0042]在微電腦鼠沿著Y軸向前運(yùn)動(dòng)過(guò)程中如果有擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,并且此時(shí)迷宮信息中右方有擋墻時(shí),系統(tǒng)進(jìn)入沖刺子程序3,微電腦鼠將存儲(chǔ)此時(shí)坐標(biāo)(X,Y),然后進(jìn)入圖8所示的曲線運(yùn)動(dòng)軌跡,在左沖刺轉(zhuǎn)彎時(shí),ARM9 (S3C2440A)首先把行走直線很短的距離DashTurn_L90_Leading按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度直線前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),傳感器參考值L90_FrontWallRef開(kāi)始工作,防止外界干擾開(kāi)始做誤差補(bǔ)償。誤差補(bǔ)償結(jié)束后開(kāi)始調(diào)整直流左電機(jī)I和直流右電機(jī)2速度為DashTurn_L90_VelXl和DashTurn_L90_VelYl,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡DashTurn_L90_Arcl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠速度為DashTurn_L90_VelX2和DashTurn_L90_VelY2,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡DashTurn_L90_Arc2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)后,微電腦鼠在陀螺儀控制下已經(jīng)左轉(zhuǎn)90度,控制器把直線行走很短的距離DashTurn_L90_Passing按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn),當(dāng)?shù)竭_(dá)既定目標(biāo)后通過(guò)四段不同的軌跡完成整個(gè)左轉(zhuǎn)彎的軌跡曲線運(yùn)動(dòng)。此時(shí)將更新其坐標(biāo)為(X-1,Y),在X-l〈15的前提下,判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為0,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑。
[0043]在微電腦鼠沿著X軸、Y軸向前運(yùn)動(dòng)過(guò)程中如果有類似圖10的樓梯型迷宮擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,系統(tǒng)進(jìn)入沖刺子程序4,微電腦鼠將存儲(chǔ)此時(shí)坐標(biāo)(X,Y),然后進(jìn)入圖11所示的對(duì)角線運(yùn)動(dòng)軌跡,在坐標(biāo)為(X,Y)時(shí),ARM9 (S3C2440A)控制直流左電機(jī)I和直流右電機(jī)2以相同的速度勻速前進(jìn),在前進(jìn)過(guò)程中傳感器S2、S3和S4、S5共同作用,保證微電腦鼠沖刺的時(shí)候一定沿著迷宮中線行駛,即將沖出坐標(biāo)為(X,Y)迷宮方格時(shí),微電腦鼠前方傳感器SI和S6將工作,當(dāng)讀到預(yù)設(shè)值時(shí),說(shuō)明微電腦鼠的前部已經(jīng)進(jìn)入坐標(biāo)(X+1,Y),然后把微電腦鼠傳感器SI位置到電機(jī)中心的距離SX傳輸給ARM9 (S3C2440A),ARM9 (S3C2440A)首先把行走直線很短的距離SX按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度直線前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),把此時(shí)的迷宮坐標(biāo)更新為(X+1,Y);
微電腦鼠開(kāi)始為45度對(duì)角線沖刺做姿態(tài)調(diào)整,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡L_Arcl_45按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠左右輪的速度,控制器把曲線運(yùn)動(dòng)軌跡L_Arc2_45按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);在陀螺儀的控制下,保證到達(dá)當(dāng)?shù)竭_(dá)既定目標(biāo)A點(diǎn)時(shí)曲線L_Arc2_45的斜率為45度,然后控制器把直線行走很短的距離Passingl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn)。當(dāng)?shù)竭_(dá)既定目標(biāo)后,通過(guò)三段不同的軌跡完成整個(gè)左轉(zhuǎn)彎45度方向改變的軌跡曲線運(yùn)動(dòng)。微電腦鼠進(jìn)入對(duì)角線沖刺階段,此時(shí)前方傳感器SI和S6開(kāi)始工作;ARM9 (S3C2440A)首先把
行走直線距離按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器反饋、電流傳感器的反饋和傳感器SI和S6對(duì)前方柱子的探測(cè),經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度直線前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),微電腦鼠完成在坐標(biāo)(X+l,Y+1)到坐標(biāo)(X+2,Y+1)下的對(duì)角線沖刺,微電腦鼠完成一格樓梯迷宮的沖刺,把此時(shí)的迷宮坐標(biāo)更新為(X+2,Y+2)。依次類推,微電腦鼠完成Z格樓梯迷宮的沖刺,更新迷宮為(X+Z+l,Y+Z+1 ),微電腦鼠開(kāi)始做轉(zhuǎn)出動(dòng)作,此時(shí)控制器會(huì)把曲線運(yùn)動(dòng)軌跡R_Arc3_45按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠左右輪的速度,控制器把曲線運(yùn)動(dòng)軌跡R_Arc4_45按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以恒定的比值前進(jìn);在陀螺儀的控制下,保證到達(dá)當(dāng)?shù)竭_(dá)既定目標(biāo)B點(diǎn)時(shí)曲線R_Arc4_45的斜率為O度,然后控制器把直線行走很短的距離Passing2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn),當(dāng)?shù)竭_(dá)既定目標(biāo)后通過(guò)三段不同的軌跡完成在坐標(biāo)(X+Z+l,Y+Z+1)下整個(gè)右轉(zhuǎn)彎45度曲線軌跡的運(yùn)動(dòng),微電腦鼠完成對(duì)角線沖刺后變?yōu)橹甭返能壽E改變,微電腦鼠進(jìn)入直線沖刺階段,此時(shí)前方傳感器S2、S3、S4和S5開(kāi)始工作,進(jìn)入直線導(dǎo)航;并更新當(dāng)前坐標(biāo)為(X+Z+2,Y+Z+1)在 X+Z+2〈15 和 Y+Z+K15 的前提下,判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為O,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑。
[0044]在微電腦鼠沿著X軸、Y軸向前運(yùn)動(dòng)過(guò)程中如果有類似圖12的U型迷宮擋墻進(jìn)入前方的運(yùn)動(dòng)范圍,微電腦鼠將存儲(chǔ)此時(shí)坐標(biāo)(X,Y),系統(tǒng)進(jìn)入沖刺子程序5,然后進(jìn)入圖
13、圖14所示的曲線運(yùn)動(dòng)軌跡,在一次左沖刺轉(zhuǎn)彎時(shí),ARM9 (S3C2440A)首先把行走直線很短的距離Leadingl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度直線前進(jìn);當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),把此時(shí)的迷宮坐標(biāo)更新為(X+1,Y),傳感器參考值L90_FrontffallRef開(kāi)始工作,防止外界干擾開(kāi)始做誤差補(bǔ)償。誤差補(bǔ)償結(jié)束后,控制器會(huì)把曲線運(yùn)動(dòng)軌跡L_Arcl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪的速度以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠的速度,控制器會(huì)把曲線運(yùn)動(dòng)軌跡L_Arc2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪的速度以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,微電腦鼠在陀螺儀控制下已經(jīng)左轉(zhuǎn)90度,控制器把直線行走很短的距離Passingl+Leading2,按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn),當(dāng)傳感器S2的值產(chǎn)生有高電平到低電平的躍變時(shí),更新微電腦鼠坐標(biāo)為(X+1,Y+1),微電腦鼠繼續(xù)以當(dāng)前的速度和加速前進(jìn),當(dāng)?shù)竭_(dá)既定目標(biāo)時(shí),傳感器參考值L90_FrOntWallRef開(kāi)始工作,防止外界干擾開(kāi)始做誤差補(bǔ)償。誤差補(bǔ)償結(jié)束后,微電腦鼠繼續(xù)左轉(zhuǎn),控制器會(huì)把曲線運(yùn)動(dòng)軌跡L_Arcl按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪的速度以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,立即調(diào)整微電腦鼠的速度,控制器會(huì)把曲線運(yùn)動(dòng)軌跡L_Arc2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪的速度以恒定的比值轉(zhuǎn)彎;當(dāng)?shù)竭_(dá)既定目標(biāo)后,微電腦鼠在陀螺儀控制下已經(jīng)左轉(zhuǎn)90度,控制器把直線行走很短的距離Passing2按照不同的沖刺條件時(shí)間要求轉(zhuǎn)化為速度參數(shù)以及加速度參數(shù)指令值,然后結(jié)合左電機(jī)I和右電機(jī)2上的光電編碼器和電流傳感器的反饋經(jīng)內(nèi)部位置、速度和加速度控制程序,生成控制左右輪的PWM波給L298N,然后控制左右輪以相同的加速度和速度前進(jìn),到達(dá)既定目標(biāo)后,微電腦鼠完成一個(gè)U型迷宮的沖刺,更新微電腦鼠坐標(biāo)為(X,Y+1),并判斷其坐標(biāo)是不是(7,7)、(7,8)、(8,7)、(8,8)其中的一個(gè),如果不是將繼續(xù)更新其坐標(biāo),如果是的話通知控制器已經(jīng)沖刺到目標(biāo),然后置返航探索標(biāo)志為1,沖刺標(biāo)志為0,微電腦鼠準(zhǔn)備沖刺后的二次返程探索,去搜尋更優(yōu)的迷宮路徑。
[0045]當(dāng)微電腦鼠沖刺到達(dá)(7,7)、(7,8)、(8,7)、(8,8)后會(huì)準(zhǔn)備沖刺后的返程探索以便搜尋更優(yōu)的路徑,控制器會(huì)調(diào)出其已經(jīng)存儲(chǔ)的迷宮信息,然后計(jì)算出可能存在的其它最佳路徑,然后返程開(kāi)始進(jìn)入其中認(rèn)為最優(yōu)的一條。
[0046]為了能夠?qū)崿F(xiàn)微電腦鼠快速?zèng)_刺準(zhǔn)確的坐標(biāo)計(jì)算功能,微電腦鼠左右的傳感器S2、S3和S4、S5會(huì)時(shí)刻對(duì)周圍的迷宮擋墻和柱子進(jìn)行探測(cè),如果S2、S3或者S4、S5發(fā)現(xiàn)傳感器信號(hào)發(fā)生了躍變,則說(shuō)明微電腦鼠進(jìn)入了迷宮擋墻和柱子的交接點(diǎn),此時(shí)側(cè)面?zhèn)鞲衅鱏2或者是S5會(huì)精確探測(cè)這一時(shí)刻,當(dāng)再次出現(xiàn)躍變時(shí),說(shuō)明老鼠已經(jīng)開(kāi)始離開(kāi)當(dāng)前的迷宮格子,ARM9(S3C2440A)會(huì)根據(jù)微電腦鼠當(dāng)前運(yùn)行的距離進(jìn)行計(jì)算并根據(jù)對(duì)傳感器反饋信息進(jìn)行補(bǔ)償,本發(fā)明在高速直流左電機(jī)I軸和Y軸上加入了 512線的光碼盤,由于精度較高,使得微電腦鼠的坐標(biāo)計(jì)算不會(huì)出現(xiàn)錯(cuò)誤,保證了微電腦鼠快速?zèng)_刺迷宮信息的準(zhǔn)請(qǐng)性。
[0047]在微電腦鼠進(jìn)入迷宮返程探索時(shí),其導(dǎo)航的傳感器S1、S2、S3、S4、S5、S6將工作,并把反射回來(lái)的光電信號(hào)送給ARM9(S3C2440A),經(jīng)ARM9(S3C2440A)運(yùn)算后確定現(xiàn)在迷宮所處位置,然后由ARM9(S3C2440A)根據(jù)當(dāng)前迷宮生成PWM波和送控制信號(hào)給L298N:如果進(jìn)入已經(jīng)搜索的區(qū)域?qū)⒓哟驪WM波的占空比,使微電腦鼠進(jìn)行快速前進(jìn),減少迷宮搜索的時(shí)間;如果是未知返回區(qū)域則采用正常速度搜索,并時(shí)刻更新其坐標(biāo)(X,Y),并判斷其坐標(biāo)是不是(0,0),如果是的話置返航探索標(biāo)志為0,微電腦鼠進(jìn)入沖刺階段,并置沖刺標(biāo)志為
1
[0048]在微電腦鼠運(yùn)動(dòng)過(guò)程中,如果系統(tǒng)出現(xiàn)了干擾,ARM9(S3C2440A)會(huì)根據(jù)當(dāng)前狀態(tài)對(duì)電流加以補(bǔ)償,快速調(diào)整電流環(huán)的PID參數(shù),使得系統(tǒng)快速穩(wěn)定下來(lái),防止高速?zèng)_刺時(shí)干擾對(duì)系統(tǒng)的影響。
[0049]在微電腦鼠快速?zèng)_刺過(guò)程中,電池提供的瞬時(shí)功率是一定的,在沖刺速度一定的條件下,加速度越大時(shí),需要的力矩就越大,此時(shí)需要電池提供的電流就越大,為了保護(hù)電池,本發(fā)明加入了電流傳感器,杜絕了加速時(shí)對(duì)電池的傷害。
[0050]當(dāng)微電腦完成整個(gè)沖刺過(guò)程到達(dá)(7,7)、(7,8)、(8,7)、(8,8),微電腦鼠會(huì)置探索標(biāo)志為1,微電腦鼠返程探索回到起始點(diǎn)(0,0),ARM9 (S3C2440A)將控制L298N使得微電腦起始點(diǎn)中心點(diǎn)停車,然后重新調(diào)整L298N的0UT1、0UT2、0UT3和0UT4的電平,使得左電機(jī)I和右電機(jī)2以相反的方向運(yùn)動(dòng),并在陀螺儀的控制下,原地旋轉(zhuǎn)180度,然后停車I秒,二次調(diào)取迷宮信息,然后根據(jù)算法算出優(yōu)化迷宮信息后的最優(yōu)沖刺路徑,然后置沖刺標(biāo)志為1,系統(tǒng)進(jìn)入二次快速?zèng)_刺階段。然后按照沖刺一一探索一沖刺,完成多次的沖刺,以達(dá)到快速?zèng)_刺的目的。
[0051]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其它相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:包括:電池裝置、按鍵裝置、傳感器、單核全數(shù)字最小硬件伺服單元、左、右電機(jī)驅(qū)動(dòng)單元、陀螺儀、左、右電機(jī);所述電池裝置、按鍵裝置、傳感器裝置、單核全數(shù)字最小硬件伺服單元與左、右電機(jī)驅(qū)動(dòng)單和左、右電機(jī)之間電性連接;所述陀螺儀與所述單核全數(shù)字最小硬件伺服單元之間電性連接;所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步設(shè)置有運(yùn)動(dòng)控制器ARM9、PWM控制器、快速驅(qū)動(dòng)控制器L298N和位于左右電機(jī)上的光電編碼器和電流傳感器,所述運(yùn)動(dòng)控制器ARM9實(shí)現(xiàn)參數(shù)轉(zhuǎn)化模塊、多軸PWM波生成,并與快速驅(qū)動(dòng)控制器L298N、光電編碼器、電流傳感器之間電性連接,從而所PWM信號(hào)由運(yùn)動(dòng)控制器ARM9結(jié)合各種反饋生成后流向驅(qū)動(dòng)控制器L298N。
2.根據(jù)權(quán)利要求1所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述單核全數(shù)字最小硬件伺服單元中進(jìn)一步包含有多個(gè)沖刺選擇模塊,所述沖刺選擇模塊與所述按鍵裝置連接;所述沖刺選擇模塊中進(jìn)一步包含有自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊,根據(jù)按鍵裝置實(shí)現(xiàn)自動(dòng)沖刺模塊、快速?zèng)_刺模塊和設(shè)定速度沖刺模塊的選取。
3.根據(jù)權(quán)利要求2所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述單核全數(shù)字最小硬件伺服單元中還進(jìn)一步包含有沖刺運(yùn)動(dòng)模塊,所述沖刺運(yùn)動(dòng)模塊中進(jìn)一步包含有準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元,所述準(zhǔn)備沖刺單元、啟動(dòng)沖刺單元和沖刺單元之間按順序依次連接。
4.根據(jù)權(quán)利要求3所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述啟動(dòng)沖刺單元中進(jìn)一步包含有中斷請(qǐng)求模塊和正常沖刺模塊,所述中斷請(qǐng)求模塊和正常沖刺模塊與啟動(dòng)沖刺單元相互連接,從而所述信號(hào)分別流向斷請(qǐng)求模塊或正常沖刺模塊。
5.根據(jù)權(quán)利要求4所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述沖刺單元進(jìn)一步包含有直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元,所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元與所述伺服控制系統(tǒng)中的運(yùn)動(dòng)控制器ARM9相連接。
6.根據(jù)權(quán)利要求5所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述直線沖刺單元、轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中包含有坐標(biāo)存儲(chǔ)模塊、子程序控制模塊。
7.根據(jù)權(quán)利要求6所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述轉(zhuǎn)向沖刺單元、對(duì)角線沖刺單元和U型沖刺單元中進(jìn)一步包含有曲線運(yùn)動(dòng)軌跡模塊、誤差補(bǔ)償模塊、目標(biāo)模塊、速度調(diào)整模塊,所述曲線運(yùn)動(dòng)軌跡模塊與坐標(biāo)存儲(chǔ)模塊連接,從而所述信號(hào)由子程序控制模塊流向坐標(biāo)存儲(chǔ)模塊和曲線運(yùn)動(dòng)軌跡模塊;所述誤差補(bǔ)償模塊、速度調(diào)整模塊、陀螺儀分別與目標(biāo)模塊相連接,從而所述信號(hào)由目標(biāo)模塊流向誤差補(bǔ)償模塊、速度調(diào)整模塊或陀螺儀。
8.根據(jù)權(quán)利要求7所述的一種基于ARM9兩輪微電腦鼠快速對(duì)角線沖刺系統(tǒng),其特征在于:所述對(duì)角線沖刺單元還進(jìn)一步包含有對(duì)角線運(yùn)動(dòng)模塊和距離模塊,所述對(duì)角線運(yùn)動(dòng)模塊與坐標(biāo)存儲(chǔ)模塊由運(yùn)動(dòng)控制器ARM9控制完成。
【文檔編號(hào)】G05D1/02GK103713634SQ201310469159
【公開(kāi)日】2014年4月9日 申請(qǐng)日期:2013年10月10日 優(yōu)先權(quán)日:2013年10月10日
【發(fā)明者】王應(yīng)海, 張好明 申請(qǐng)人:蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院