雙核中速兩輪微微鼠沖刺控制器及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及微型迷宮沖刺機(jī)器人領(lǐng)域,尤其涉及一種雙核中速兩輪微微鼠沖刺控制器及其控制方法。
【背景技術(shù)】
[0002]微電腦鼠是使用嵌入式微控制器、傳感器和機(jī)電運(yùn)動(dòng)部件構(gòu)成的一種智能行走機(jī)器人,在國(guó)外已經(jīng)競(jìng)賽了將近30年,其常采用兩輪結(jié)構(gòu),兩輪微電腦鼠二維結(jié)構(gòu)如圖1所不O
[0003]微電腦鼠可以在不同“迷宮”中自動(dòng)記憶和選擇路徑,采用相應(yīng)的算法,快速地到達(dá)所設(shè)定的目的地。其求解的迷宮之一示意如圖2所示。
[0004]隨著微電子技術(shù)、計(jì)算機(jī)控制技術(shù)的不斷進(jìn)步,國(guó)外專家在微電腦鼠求解迷宮的技術(shù)基礎(chǔ)之上提出了一種更具有挑戰(zhàn)性的迷宮機(jī)器人一微微鼠:為了增強(qiáng)迷宮復(fù)雜程度以及老鼠求解迷宮的難度,迷宮擋墻由原有的180mm變成了 90mm,原有的迷宮由16*16格變成了 32*32格,新的迷宮二維結(jié)構(gòu)如圖3所示。電源一旦打開(kāi),微微鼠全程完全依靠自身攜帶的傳感器自動(dòng)導(dǎo)航,并求解由1024個(gè)迷宮格組成的各種復(fù)雜迷宮,能夠快速?gòu)钠瘘c(diǎn)找到一條到達(dá)設(shè)定目標(biāo)點(diǎn)的最佳路徑,然后以最快的速度沖刺到終點(diǎn)。作為一種自助導(dǎo)航智能機(jī)器人,因?yàn)橥ㄟ^(guò)無(wú)線裝置可以向控制器輸入迷宮信息,微微鼠或者微電腦鼠國(guó)際準(zhǔn)則拒絕使用無(wú)線裝置,為了能夠得到微微鼠或者是微電腦鼠沖刺、沖刺后的信息,只能通過(guò)算法快速寄存并儲(chǔ)存其行走信息,當(dāng)完成任務(wù)后通過(guò)控制器的232串口或者是USB串口讀取存儲(chǔ)信息。
[0005]微微鼠在迷宮沖刺過(guò)程中要時(shí)刻判斷周圍的環(huán)境,然后傳輸參數(shù)到控制器,由控制器反復(fù)控制其在迷宮方格中精確的加速和減速進(jìn)行沖刺。一只優(yōu)秀的微微鼠必須具備良好的感知能力,有良好的行走能力,優(yōu)秀的智能算法,否則將無(wú)法完成沖刺任務(wù)。微微鼠迷宮沖刺技術(shù)綜合了多學(xué)科知識(shí),對(duì)于提升在校學(xué)生的動(dòng)手能力、團(tuán)隊(duì)協(xié)作能力和創(chuàng)新能力,促進(jìn)學(xué)生課堂知識(shí)的消化和擴(kuò)展學(xué)生的知識(shí)面都非常有幫助,并且微微鼠迷宮沖刺技術(shù)的開(kāi)展可以培養(yǎng)大批相關(guān)領(lǐng)域的人才,進(jìn)而促進(jìn)相關(guān)領(lǐng)域的技術(shù)發(fā)展和產(chǎn)業(yè)化進(jìn)程。
[0006]如果認(rèn)為微微鼠只是微電腦鼠的簡(jiǎn)單拷貝,按照微電腦鼠技術(shù)來(lái)設(shè)計(jì)微微鼠,在實(shí)踐中則會(huì)發(fā)現(xiàn)如下問(wèn)題:
(I)基于輪式的微微鼠只能被動(dòng)的適應(yīng)迷宮地面的打滑程度,隨著微微鼠沖刺速度的提高,其打滑概率也極大增加,導(dǎo)致求沖刺迷宮失敗。
[0007](2)由于求解迷宮數(shù)目的大量增加,原有的微電腦鼠求解迷宮技術(shù)無(wú)法求解現(xiàn)有的復(fù)雜迷宮。
[0008](3)由于微微鼠尺寸的大幅減少,如果微微鼠采用圖1中的六組傳感器技術(shù)探測(cè)迷宮,經(jīng)常出現(xiàn)傳感器相互干擾的狀況,導(dǎo)致其沖刺時(shí)讀取迷宮信息失敗。
[0009](4)由于微電腦鼠沖刺系統(tǒng)采用的都是比較低級(jí)的算法,使得微微鼠在迷宮當(dāng)中的沖刺一般都要花費(fèi)較長(zhǎng)的時(shí)間,這使得在真正的大賽中無(wú)法取勝。
[0010](5)由于迷宮擋墻尺寸的減少,使得微微鼠單格運(yùn)行的距離減少,微微鼠頻繁的剎車和啟動(dòng)加重了單片機(jī)的工作量,單一的單片機(jī)無(wú)法滿足微微鼠沖刺的啟動(dòng)和停車的要求。
[0011](6)對(duì)于兩輪驅(qū)動(dòng)的微微鼠來(lái)說(shuō)一般要求驅(qū)動(dòng)其運(yùn)動(dòng)的兩個(gè)電機(jī)PffM控制信號(hào)要同步,受計(jì)算能力的限制單一單片機(jī)伺服系統(tǒng)很難滿足這一條件,微微鼠在直道上行駛時(shí)不能準(zhǔn)確的行走在中線上,在高速行走時(shí)很容易撞到迷宮擋墻,導(dǎo)致任務(wù)失敗。
[0012](7)由于受單片機(jī)容量和算法影響,微微鼠無(wú)法存儲(chǔ)迷宮信息,當(dāng)遇到掉電情況時(shí)所有的信息將消失,這使得整個(gè)沖刺過(guò)程要重新開(kāi)始。
[0013](8)微微鼠在迷宮行走時(shí),易于受到外界干擾,由于沒(méi)有進(jìn)行及時(shí)補(bǔ)償導(dǎo)致微微鼠碰撞迷宮擋墻,最終無(wú)法完成任務(wù)。
[0014](9)微微鼠在運(yùn)行過(guò)程中,一旦遇到撞墻情況都會(huì)發(fā)生電機(jī)堵轉(zhuǎn)情況,造成電機(jī)瞬間電流過(guò)大,嚴(yán)重時(shí)燒壞電機(jī)。
[0015]微微鼠求解迷宮是國(guó)際新興的一門(mén)技術(shù),由于微微鼠技術(shù)的難度較高以及迷宮設(shè)計(jì)的復(fù)雜性,導(dǎo)致國(guó)內(nèi)還沒(méi)有研發(fā)此機(jī)器人的單位。因此,需要設(shè)計(jì)一種滿足初級(jí)者學(xué)習(xí)微微鼠求解迷宮的高速?zèng)_刺控制器。
【發(fā)明內(nèi)容】
[0016]本發(fā)明的目的是解決現(xiàn)有技術(shù)的不足,提供一種雙核中速兩輪微微鼠沖刺控制器,以解決微微鼠在沖刺過(guò)程中打滑、傳感器相互干擾、處理時(shí)間慢等問(wèn)題。
[0017]本發(fā)明采用的技術(shù)方案是:為了提高運(yùn)算速度,保證微微鼠沖刺控制器的穩(wěn)定性和可靠性,本發(fā)明在基于STM32F407的控制器中引入精密運(yùn)動(dòng)控制專用芯片LM629,形成基于STM32F407+專用運(yùn)動(dòng)控制芯片的全新雙核控制器,此控制器充分考慮電池在這個(gè)系統(tǒng)的作用,把沖刺控制器中工作量最大的兩軸行走伺服系統(tǒng)以及單軸真空抽吸伺服系統(tǒng)由STM32F407和LM629配合處理,充分發(fā)揮STM32F407數(shù)據(jù)處理速度較快和LM629伺服調(diào)節(jié)器的特點(diǎn),而人機(jī)界面、路徑優(yōu)化、軌跡參數(shù)、加速度、速度和位置數(shù)據(jù)存儲(chǔ)和計(jì)算、I/O控制等功能交給STM32F407完成,這樣就實(shí)現(xiàn)了 STM32F407與LM629的分工,同時(shí)二者之間也可以進(jìn)行通訊,實(shí)時(shí)進(jìn)行數(shù)據(jù)交換和調(diào)用。
[0018]雙核中速兩輪微微鼠沖刺控制器,包括電池裝置、傳感器裝置、陀螺儀裝置G、真空抽吸裝置和控制單元模塊;所述電池裝置分別電連接控制單元模塊、電機(jī)X、電機(jī)Y和電機(jī)M,所述傳感器裝置和陀螺儀裝置分別信號(hào)連接控制單元模塊,所述控制單元模塊分別信號(hào)連接電機(jī)X、Y和M ;所述電機(jī)X和電機(jī)Y位于兩側(cè),電機(jī)M位于尾部,所述陀螺儀裝置G位于中心位置;所述傳感器裝置包括位于兩側(cè)的紅外傳感器SI和S6,位于前端的紅外傳感器S2和S5,所述傳感器S1、S6共同作用判斷前方擋墻,傳感器S2判斷其左邊擋墻的存在,傳感器S5判斷其右邊擋墻的存在,同時(shí)S2和S5合作為直線運(yùn)動(dòng)提供導(dǎo)航依據(jù);所述控制單元模塊包括上位機(jī)程序模塊和運(yùn)動(dòng)控制程序模塊,所述上位機(jī)程序模塊包括STM32F407處理器,所述運(yùn)動(dòng)控制程序模塊包括LM629處理器,所述LM629處理器包括兩軸行走伺服控制單元和單軸真空吸附伺服控制單元,所述STM32F407處理器電性連接LM629處理器,所述兩軸行走伺服控制單元信號(hào)連接單軸真空吸附伺服控制單元。
[0019]STM32F407和LM629的雙核兩輪微微鼠沖刺控制方法,其具體步驟如下:1)檢測(cè)電池電壓,處于低壓控制器將報(bào)警并提示充電;如果電壓正常,則并調(diào)出已經(jīng)探索后的最優(yōu)迷宮;2)沖刺方向檢測(cè),紅外傳感器S1、S6和會(huì)對(duì)沖刺路徑上的前方環(huán)境進(jìn)行判斷,確定有無(wú)擋墻進(jìn)入運(yùn)動(dòng)范圍,如存在擋墻將向STM32F407發(fā)出中斷請(qǐng)求,禁止LM629工作,封鎖微微鼠的高速直流電機(jī)X和電機(jī)Y的PWM驅(qū)動(dòng)信號(hào),使微微鼠靜止在原地,然后二次判斷迷宮確定前方信息,防止信息誤判;3)迷宮沖刺,微微鼠沿著X和Y軸快速?zèng)_刺,控制器判斷其坐標(biāo)是否為終點(diǎn),如果不是將繼續(xù)執(zhí)行新的沖刺命令,如果是則通知控制器已經(jīng)沖刺到終點(diǎn),然后置返航探索標(biāo)志為1,微微鼠準(zhǔn)備返程探索;4)返程沖刺,到達(dá)終點(diǎn)后會(huì)準(zhǔn)備沖刺后的返程探索以便搜尋更優(yōu)的路徑,控制器會(huì)調(diào)出其已經(jīng)存儲(chǔ)的迷宮信息,然后計(jì)算出可能存在的其它最佳路徑,然后返程開(kāi)始進(jìn)入其中認(rèn)為最優(yōu)的一條;5)迷宮返程,在微微鼠進(jìn)入迷宮返程探索時(shí),其導(dǎo)航的傳感器S1、S2、S5、S6將工作,并把反射回來(lái)的光電信號(hào)送給STM32F407,經(jīng)STM32F407判斷后送給LM629,由LM629運(yùn)算后與STM32F407進(jìn)行通訊,然后由控制器送控制信號(hào)給導(dǎo)航的電機(jī)X和電機(jī)Y進(jìn)行確定:如果進(jìn)入已經(jīng)搜索的區(qū)域?qū)⑦M(jìn)行快速前進(jìn),如果是未知返回區(qū)域則采用正常速度搜索,并時(shí)刻更新其坐標(biāo)(X,Y),并判斷其坐標(biāo)是不是起點(diǎn),如果是的話置返航探索標(biāo)志為O,微微鼠進(jìn)入沖刺階段,并置沖刺標(biāo)志為I ;6)二次沖刺,返程探索回到起始點(diǎn),STM32F407將控制LM629使得微微鼠在起始坐標(biāo)中心點(diǎn)停車,然后重新調(diào)整LM629的PffM波輸出,使得電機(jī)X和電機(jī)Y以相反的方向運(yùn)動(dòng),并在陀螺儀的控制下,原地旋轉(zhuǎn)180度,然后停車I秒,二次調(diào)取迷宮信息,然后根據(jù)算法算出優(yōu)化迷宮信息后的最優(yōu)沖刺路徑,然后置沖刺標(biāo)志為1,系統(tǒng)進(jìn)入二次快速?zèng)_刺階段
作為本發(fā)明的進(jìn)一步改進(jìn),還包括有電壓傳感器VI,所述電壓傳感器Vl電連接電池裝置,信號(hào)連接控制單元模塊的STM32F407處理器。
[