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