孫猛猛 楊明輝 張玉炳 萬(wàn)林
【摘要】 傳統(tǒng)的雙碼盤和陀螺儀定位系統(tǒng)由于受到地面環(huán)境因素的影響,導(dǎo)致其定位精度不高。本文提出了一種基于STM32F407ZGT6的輪式機(jī)器人定位控制位系統(tǒng)的設(shè)計(jì)方案,在傳統(tǒng)的雙碼盤和陀螺儀的定位系統(tǒng)中加入了激光雷達(dá)和DT50激光測(cè)距儀作為輔助定位手段。采用STM32F407ZGT6作為本控制系統(tǒng)的核心處理器,并且給出了相關(guān)部分的硬件設(shè)計(jì)和系統(tǒng)總體的軟件架構(gòu)。從測(cè)試結(jié)果表明,該定位系統(tǒng)完成了輪式機(jī)器人的定位,完全達(dá)到了預(yù)期設(shè)計(jì)要求。
【關(guān)鍵詞】 輪式機(jī)器人 STM32F407ZGT6 定位系統(tǒng) 激光雷達(dá) 激光測(cè)距儀
一、概述
輪式機(jī)器人在應(yīng)用普及的過程中,由于地面環(huán)境的復(fù)雜性、運(yùn)動(dòng)路徑不固定等問題使得輪式機(jī)器人的定位成為其應(yīng)用普及的關(guān)鍵性問題。
針對(duì)該問題,本文提出了一種基于STM32F407的定位控制系統(tǒng)設(shè)計(jì)方案,該方案綜合了嵌入式控制技術(shù)、傳感器技術(shù)及通訊技術(shù),檢測(cè)與控制輪式機(jī)器人的運(yùn)動(dòng)狀態(tài),實(shí)現(xiàn)了輪式機(jī)器人的定位功能。
二、定位系統(tǒng)總體方案設(shè)計(jì)
在改定位系統(tǒng)中,主控器通過PWM脈寬調(diào)制技術(shù)控制電機(jī)驅(qū)動(dòng)模塊,通過定位板模塊給出機(jī)器人確定的出發(fā)位置,通過輔助定位模塊對(duì)機(jī)器人的位置進(jìn)行必要的坐標(biāo)糾正。在機(jī)器人運(yùn)行的過程中通過無線通訊模塊將機(jī)器人實(shí)時(shí)的位置坐標(biāo)傳到上位機(jī),用戶可通過上位機(jī)操作界面對(duì)機(jī)器人進(jìn)行實(shí)時(shí)的操作與監(jiān)測(cè)。
整個(gè)硬件框圖由調(diào)試器下載口、電機(jī)驅(qū)動(dòng)部分、電源部分、晶振部分、主控板、定位板模塊、主控板、輔助定位板模塊1和輔助定位板模塊2組成。
三、關(guān)鍵部分硬件電路設(shè)計(jì)
3.1關(guān)鍵電子元器件選型
主控板芯片選型:要滿足多路PWM輸出口、I/O中斷口、多種通訊功能包括CAN通信和串口通信,因此選用ST公司的STM32F407ZGT6。定位板模塊芯片選型:要滿足多路脈沖信號(hào)輸入、I/O口、多種通訊功能包括CAN通信和SPI通信,因此選用ST公司的STM32F405RGT6。
輔助定位模塊1、2控制器選型:輔助定位與主控是CAN總線組網(wǎng)通訊,控制器芯片選用STM32F103R8T6,既滿足實(shí)用性又滿足經(jīng)濟(jì)性。
四、定位系統(tǒng)軟件設(shè)計(jì)
4.1主控板程序流程
主控板通過CAN通信協(xié)議與定位板、輔助定位板1、輔助定位板2進(jìn)行通信,主控每隔5ms收到定位板的坐標(biāo)值,然后根據(jù)需要啟動(dòng)激光雷達(dá)或者DT50。激光雷達(dá)或DT50根據(jù)當(dāng)前定位板的坐標(biāo)解算出糾正后的坐標(biāo),然后直接進(jìn)行坐標(biāo)替換。
4.2定位板程序流程
定位板通過定時(shí)器采集碼盤的脈沖信號(hào)和Spi通信協(xié)議讀取陀螺儀的數(shù)據(jù),然后計(jì)算出當(dāng)前位置坐標(biāo)。定位板分別通過串口Usart和Can協(xié)議將當(dāng)前坐標(biāo)值發(fā)送給上位機(jī)和主控板。
4.3輔助定位板1(激光雷達(dá))和輔助定位板2(DT50)的程序流程
主控板根據(jù)需要(由上位機(jī)決定)啟動(dòng)激光雷達(dá)或激光測(cè)距儀(DT50)進(jìn)行輔助定位,激光雷達(dá)或DT50收到指令后根據(jù)車子當(dāng)前坐標(biāo)和測(cè)出障礙物的距離來計(jì)算正確位置坐標(biāo),然后將坐標(biāo)發(fā)送給定位板進(jìn)行數(shù)據(jù)替換。
五、實(shí)驗(yàn)測(cè)試
讓機(jī)器人從測(cè)試場(chǎng)地任意位置出發(fā),分別設(shè)定機(jī)器人應(yīng)到位置坐標(biāo),然后實(shí)測(cè)機(jī)器人的實(shí)際坐標(biāo),然后比較兩者的差異,實(shí)驗(yàn)數(shù)據(jù)見表1。
表1測(cè)試數(shù)據(jù)表明該定位系統(tǒng)已經(jīng)達(dá)到很高的定位精度,完成了機(jī)器人的定位功能。
六、結(jié)語(yǔ)
該輪式機(jī)器人定位系統(tǒng)可以很好地滿足機(jī)器人的定位精度,不再受限于地面環(huán)境因素的影響,對(duì)于機(jī)器人的普及應(yīng)用起到很重要的作用。