?

擂臺機器人控制系統設計

2017-12-05 02:52王家威吳曉軍趙河明趙田麗趙紫甜曾繁明
自動化儀表 2017年11期
關鍵詞:測距數據處理單片機

王家威,吳曉軍,趙河明,趙田麗,趙紫甜,曾繁明

(中北大學機電工程學院,山西 太原 030051)

擂臺機器人控制系統設計

王家威,吳曉軍,趙河明,趙田麗,趙紫甜,曾繁明

(中北大學機電工程學院,山西 太原 030051)

擂臺機器人因其激烈的對抗性和多樣化的結構設計,具有極好的競技性和觀賞性,已成為各大高校研制的熱點。針對現有擂臺機器人控制系統采集誤差較大、數據處理速度緩慢、目標信號應答效率低下等問題,設計了一套基于STM32的擂臺機器人控制系統。系統設計主要包括目標檢測模塊采集對方機器人信號、STM32處理器對采集的數據進行處理、STM32處理器通過控制驅動器控制直流減速電機輸出、人機交互模塊將采集的數據進行顯示這4部分內容。通過大量比賽和試驗驗證表明,該系統整體簡潔高效、對目標的識別率較高、能夠準確識別對方機器人的位置和距離,并能夠快速作出相應的應答。

STM32;擂臺機器人;控制系統;目標檢測;數據處理;應答算法;人機交互;傳感器

0 引言

隨著中國科技的飛速進步和電子產業的不斷發展,機器人技術逐漸成熟。擂臺機器人以其獨特的結構、靈活的競技策略和極佳的觀賞性,逐漸成為各大高校研制的熱點。

目前,國內已有多所高校對擂臺機器人設計進行研究,并且已有多種設計方式。擂臺機器人多數采用AVR單片機作為處理器,利用灰度傳感器識別不同顏色的目標并配合超聲測距和避障傳感器完成目標定位。這種系統設計存在運行不穩定、運算速度慢、傳感器受震動因素影響大且檢測距離有限等問題[1]。

本文以Cortex-M4內核的32位處理器STM32作為機器人的主控器,并結合高精度的紅外測距傳感器,設計了一種新型的擂臺機器人控制系統。高精度的紅外測距傳感器能夠確保目標采集信號的準確性,高頻的STM32處理器能夠確保系統處理信號的時效性和信號輸出的快速性。

1 系統總體方案設計

擂臺機器人控制系統設計原理圖如圖1所示。紅外測距傳感器對對方機器人進行目標檢測,STM32處理器利用自身集成的ADC對信號進行轉換和處理,并根據內部的算法作出應答,通過控制驅動器控制電機輸出;人機交互模塊將采集的數據進行顯示,從而方便操作者對數據的讀取。

圖1 系統設計原理圖Fig.1 Principle of the system design

2 系統硬件設計

2.1 硬件選擇

STM32F407ZGT6是基于ARM Cortex-M4為內核開發的一種高性能微控制器。STM32 F4主頻可達168 MHz,內部集成了單周器DSP指令和浮點單元(floating point unit,FPU),用于提升計算能力[2]。其內部有12位ADC轉換器,方便數據轉化,性能優良。

Sharp GP2D12是Sharp公司生產的紅外線測距傳感器。該傳感器的光敏接收管接收前方物體反射光,據此判斷前方是否有障礙物[3]。其整體性能優良、價格便宜、測量距離遠、測量范圍廣、響應時間短、可多個傳感器同步測量,能夠實時、準確檢測對方機器人。Sharp GP2D12紅外測距傳感器參數如表1所示。

表1 傳感器參數Tab.1 The parameters of sensor

AQMH2407ND是一種直流減速電機驅動器。H橋模塊使用門電路與MOS管組合的方式,實現電機正反轉、制動及調速控制。

HGS128649是一款12864 OLED顯示屏。該顯示屏具備自發光、無需背光源、對比度高、厚度薄、視角廣、反應速度快的優點[4]。OLED是全固態、非真空器件,具有抗震蕩性。

2.2 硬件電路設計

2.2.1 目標檢測電路設計

使用Sharp GP2D12紅外測距傳感器時,VOUT接單片機的PD0引腳,GND接模擬地、VCC接+5 V電源線[5]。由多個GP2D12連接單片機時,因為供電量的加大,會造成電壓波動,從而對測量結果產生影響。解決方法是在VCC與GND之間并聯電容來穩定對GP2D12的供電,減少電壓波動對信號結果穩定的影響。同時,在GND與信號線之間并聯一個電容來減小輸出電壓波動,從而濾除出現的誤差信號,提高數據的可靠性。

2.2.2 數據處理電路設計

數據處理電路的核心器件采用型號為STM32F407ZGT6的單片機。利用單片機內部集成的A/D轉化電路,對紅外測距傳感器采集回來的數據進行轉換。通過查閱手冊,可得到紅外測距傳感器測量的距離。

2.2.3 電機電路設計

電機電路模塊選用型號為N-F-0321的直流減速電機。電機驅動器選擇AQMH2407ND。其電機為兩線控制模式,供電電源是 24 V 直流電源[6]。M(+)、M(-)分別為電機的正負端,OUT1、OUT2分別為驅動器信號的 輸 出 端 ,VCC、ENA、IN1、IN2、GND、POWER、PGND 分別為驅動器的電源正極、使能端、信號輸入口1、信號輸入口2、電源負極、電機電源正極和電機電源負極。電機控制方式如表2所示。

表2 電機控制方式Tab.2 The control modes of motor

M(+)接 OUT1、M(-)串聯 10 A 保險絲與 OUT2端連接,VCC、GND分別與單片機的+5 V和GND連接,ENA、IN1、IN2分別與單片機的 PD1、PD2和 PD3連接。POWER串聯15 A保險絲后與電池24 V相連、PGND連接電池的負極。

2.2.4 人機交互電路設計

STM32F407ZGT6通過GPIO口與ILI9325 TFT液晶模組連接,大多數TFT液晶模組中內置的液晶屏控制器支持SPI通信。但由于SPI傳輸速度較慢,會影響液晶數據的傳輸速率,因此本系統采用并口通信。PB0~PB15分別與 D0~D15相連作為數據通信口,PA0、PA4~PA7分別連接 RESET、CS、RS、WR、RD,實現復位、片選、指令數據切換、讀寫等控制功能[7]。

3 系統軟件設計

系統軟件部分主要包括目標檢測模塊、數據處理和應答模塊、電機模塊和人機交互模塊。系統主程序流程圖如圖2所示。

圖2 系統主程序流程圖Fig.2 Flowchart of main system program

首先,由于這是擂臺機器人控制系統設計,故需要對對方機器人進行目標采集,需要有目標采集子程序;其次,處理器要對采集回來的數據進行處理和根據算法作出相應的應答,故需要數據處理和應答子程序;再次,采集的數據要通過人機交互電路顯示在TFT顯示屏上,故需要數據顯示子程序;然后,處理器根據算法輸出相應的控制信號,故需要輸出信號子程序;最后,由主程序來調度各個子程序運行,從而實現相應的功能。

①目標采集程序。

目標采集程序主要有程序初始化、目標數據采集子程序。程序初始化主要是對紅外測距傳感器參數進行初始化。目標數據采集子程序主要是對對方機器人進行檢測,因為檢測對方機器人要實時進行,所以目標數據采集子程序需要一直循環進行。

②數據處理和應答程序。

數據處理和應答程序主要是對目標采集的程序采集回來的數據進行處理,并根據內部的算法進行應答。數據處理程序主要是對采集回來的數據進行A/D轉換和濾波處理[8];應答程序主要根據內部算法,對數據處理程序處理完成的數據進行應答。

③數據顯示程序。

數據顯示程序的作用是對處理過后的數據進行顯示,以便操作者讀取傳感器的返回數值。因為目標采集的程序不斷采集目標信息,故數據顯示函數需不斷循環進行以顯示讀取的數據。

④輸出信號程序。

輸出信號程序主要是輸出根據內部算法對采集回來的數據進行應答的信號,繼而控制直流減速電機的動作。當目標采集的程序未采集到數據時,輸出信號函數輸出巡邏信號。當目標采集的程序采集到數據時,輸出信號函數輸出攻擊信號[9]。

巡邏信號的程序代碼如下。

void seek_edge(void)

{do

{

go();

}

while((test_enemy()==0)amp;amp;(test_edge()==0))

u8 test_enemy(void)

{

if(A1==0amp;amp;A2==0amp;amp;A3==0amp;amp;A4==0amp;amp;A5==0amp;amp;A6==0

amp;amp;A7==0amp;amp;A8==0amp;amp;A9==0amp;amp;A10==0amp;amp;A11==0)

return 0;

else return 1;

}

u8 test_edge(void)

{

if(A12>1500amp;amp;A13>1500)return 0;

else return 1;}}

攻擊信號的程序代碼如下:

void face_enemy(void)

{

if(!((A2==1)amp;amp;(A3==1)))

{if(A4==1amp;amp;A7==1amp;amp;A8==1amp;amp;A11==1)

do{

turn_right_yuandi();

delay_ms(100);

if(test_enemy()!=1)break;

}while(!((A2==1)amp;amp;(A3==1)));

else if(A1==1amp;amp;A5==1amp;amp;A6==1amp;amp;A9==1)

do{

turn_left_yuandi();

delay_ms(100);

if(test_enemy()!=1)break;

}while(!((A2==1)amp;amp;(A3==1)));

}}

4 試驗結果

試驗結果表明,該系統具有目標檢測準確、數據處理和應答速度快等特點。

①目標檢測準確。

系統目標檢測準確主要體現在目標檢測電路信號穩定和處理器處理算法優化等方面。通過測量直徑為45 mm、高度為30 mm的松木棋子的識別數量,計算系統目標檢測的準確率。測量結果如表3所示。

表3 測量結果Tab.3 Results of measurement

②數據處理和應答速度快。

本系統采用的是基于ARM Cortex-M4的STM32F407ZGT6,主頻可達到168 MHz,內部集成了單周器DSP指令和浮點單元,數據處理速度為主頻16 MB的AVR單片機的10倍[10]。內部算法均采用直接操作寄存器,加快了數據處理的速度。

5 結束語

本文介紹了一種基于STM32的擂臺機器人控制系統設計。系統采用高主頻的STM32F407芯片作為處理器,能夠快速對紅外測距傳感器采集的數據進行處理。編寫的控制算法,能夠對機器人在賽場上遇到的各種情況作出準確的分析并進行應答,確保了機器人目標檢測的及時性、數據處理的快速性和應答的準確性。系統可用于各大比賽中擂臺機器人的控制。該系統對于今后擂臺機器人系統的開發和研究具有重要的作用,其應用前景廣闊。

[1]耿亞南,張曉丹.圖像處理在擂臺機器人設計中的應用[J].物聯網技術,2016(1):21-23.

[2]劉劍.基于STM32的電動按摩椅控制板卡設計[J].計算機光盤軟件與應用,2014(6):251-252.

[3]沈旭,潘彩霞.基于AVR單片機的挖掘機器人控制系統設計[J].制造業自動化,2010,32(14):45-47.

[4]高敬.如何選擇新聞演播室的顯示設備[J].內蒙古廣播與電視技術,2013,30(4):22-24.

[5]楊劍.STM8S單片機式濕度傳感器及校檢系統研究[D].武漢:華中科技大學,2013.

[6]王偉.基于DSP的自備電源控制系統設計[D].武漢:華中科技大學,2009.

[7]STM32F103F103與TFT液晶屏模塊控制器的接口電路[EB/OL].[2017-05-24].http://www.hqew.com/tech/news/1852625.html.

[8]侯逢勃.基于多處理器的激光雷達數據采集處理平臺設計[D].西安:西安理工大學,2015.

[9]陳曉暉.CO2激光-TIG復合熱源脈沖協調控制與焊接特性研究[D].哈爾濱:哈爾濱工業大學,2010.

[10]趙磊,李衛國,王利利.新型非標準平臺武術擂臺機器人的研究與實踐[J].機械管理開發,2016(7):9-10.

Design of the Control System for Arena Robots

WANG Jiawei,WU Xiaojun,ZHAO Heming,ZHAO Tianli,ZHAO Zitian,ZENG Fanming
(School of Mechanical and Electrical Engineering,North University of China,Taiyuan 030051,China)

The arena robots have been developed in recent years.Because of its intense antagonism and diversified structure design,it is competitive and ornamental,and has become a hot spot of research and development in major colleges and universities.Aiming at the disadvantages of the robot control system,such as big error,low speed of data processing and low response efficiency of the target signal,the control system based on STM32 has been designed.The system mainly consists of four parts,the system target detection module for collecting the signals from the other side of robot;the STM32 processor for processing the data collected;the STM32 processing controlling the output of DC geared motor through the control driver;and the man machine interaction module for displaying the data collected on the panel.Through a large amount of competitions and tests,it is verified that the system is overall simple and efficient;it is capable to recognize the position and distance of the robot of other side and response promptly.

STM32;Arena robots;Control system;Target detection;Data processing;Response algorithm;Human-computer interaction;Sensor

TH7;TP24

A

10.16086 /j.cnki.issn1000-0380.201711014

修改稿收到日期:2017-06-23

王家威(1991—),男,在讀碩士研究生,主要從事信息處理與目標識別方向的研究。E-mail:229798743@qq.com。吳曉軍(通信作者),男,博士,副教授,主要從事機電系統設計與分析技術、機電系統控制技術等的研究。E-mail:wxjun67@nuc.edu.com。

猜你喜歡
測距數據處理單片機
基于RSSI測距的最大似然估計的節點定位算法
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
基于低頻功率數據處理的負荷分解方法
無人機測繪數據處理關鍵技術及運用
基于單片機的SPWM控制逆變器的設計與實現
類星體的精準測距
基于單片機的層次漸變暖燈的研究
基于單片機的多功能智能插排
基于單片機的便捷式LCF測量儀
淺談超聲波測距
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合