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