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