摘 要: 系統(tǒng)設(shè)計(jì)了一種基于Mecanum輪的新型無線遙控機(jī)器人,機(jī)器人實(shí)時(shí)將采集的視頻信息通過無線圖傳發(fā)送給控制臺(tái),控制臺(tái)以第一視角的操作模式,實(shí)現(xiàn)對(duì)機(jī)器人控制,使其完成特定任務(wù)。其控制主要由4部分組成:以STM32F405為核心的主控模塊、底盤電機(jī)驅(qū)動(dòng)模塊、云臺(tái)舵機(jī)控制模塊和電源模塊。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)實(shí)時(shí)性強(qiáng),數(shù)據(jù)傳輸穩(wěn)定,可有效完成對(duì)移動(dòng)機(jī)器人的靈活控制。
關(guān)鍵詞: 機(jī)器人; STM32F405; 主控模塊; 驅(qū)動(dòng)模塊
中圖分類號(hào): TN915?34; TP249 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)18?0110?04
Abstract: A new wireless remote control robot based on Mecanum wheel was designed. The robot can send the acquired video information to the console in real time through the wireless image transmission module. The console controls the robot in the first view operation mode, and makes the robot accomplish the specific tasks. The robot’s control section is composed of the main?control module taking STM32F405 as the core, chassis motor driver module, PTZ steering gear control module and power module. The experimental results show that the system has good real?time performance and stable data transmission, and can realize the flexible control of mobile robots.
Keywords: robot; STM32F405; main?control module; driver module
0 引 言
移動(dòng)機(jī)器人作為機(jī)器人學(xué)的一個(gè)重要組成部分,是機(jī)器人科學(xué)的研究熱點(diǎn)之一,在世界各國越來越受到重視。本設(shè)計(jì)來源于大學(xué)生機(jī)器人超級(jí)對(duì)抗賽,比賽融入機(jī)器人研發(fā)技術(shù)和電子競(jìng)技元素,紅藍(lán)雙方各派5輛機(jī)器人戰(zhàn)車,在復(fù)雜地形中相互較量,進(jìn)行射擊對(duì)抗,完成指定任務(wù),最終由電子裁判系統(tǒng)判斷比賽勝負(fù)。設(shè)計(jì)將高清圖傳的直觀性、無線遙控的實(shí)時(shí)性與移動(dòng)機(jī)器人良好的機(jī)動(dòng)能力有效結(jié)合,大大增強(qiáng)了機(jī)器人的工作能力和使用范圍。
系統(tǒng)以STM32F405嵌入式芯片為核心,完成機(jī)器人的軟硬件設(shè)計(jì)。機(jī)器人啟動(dòng)后,高清圖傳將實(shí)時(shí)場(chǎng)景傳輸?shù)斤@示設(shè)備,操作員以機(jī)器人第一視角的操作模式,用操作器(鍵盤、鼠標(biāo)或遙控器)操控機(jī)器人。機(jī)器人的運(yùn)動(dòng)速度以及運(yùn)動(dòng)方向由處理器對(duì)底盤直流電機(jī)輸出的PWM信號(hào)來控制。機(jī)器人內(nèi)部有計(jì)算被射中次數(shù)的傳感器,通過機(jī)器人的活力值顯示裝置,直觀反映機(jī)器人當(dāng)前擊打狀況,被攻擊次數(shù)過多導(dǎo)致活力值不足的機(jī)器人會(huì)被自動(dòng)切斷電源。無線遙控機(jī)器人系統(tǒng)平臺(tái)總體結(jié)構(gòu)如圖1所示。
1 系統(tǒng)硬件設(shè)計(jì)
根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要由STM32F405主控模塊、底盤直流電機(jī)驅(qū)動(dòng)模塊、云臺(tái)舵機(jī)控制模塊、電源模塊和無線通信等模塊構(gòu)成。系統(tǒng)框圖如圖2所示。
操作器通過無線通信模塊與STM32F405控制器通信,傳輸控制命令。控制器根據(jù)接收的控制命令對(duì)機(jī)器人進(jìn)行相應(yīng)的操作。控制器收到控制底盤直流電機(jī)命令時(shí),給直流電機(jī)輸出PWM信號(hào),通過調(diào)節(jié)4個(gè)Mecanum輪的轉(zhuǎn)向和速度實(shí)現(xiàn)機(jī)器人的全方位變速移動(dòng)[1]。
2 主要模塊設(shè)計(jì)
2.1 主控模塊
系統(tǒng)選用嵌入式微處理器STM32F405,該芯片使用ARM先進(jìn)架構(gòu)Cortex?M4內(nèi)核,32位精簡(jiǎn)指令集的核心運(yùn)行頻率高達(dá)168 MHz,15個(gè)I/O端口用于連接外部設(shè)備,并集成了3個(gè)ADC、2個(gè)DAC、定時(shí)器、實(shí)時(shí)時(shí)鐘、CRC計(jì)算單元和模擬真隨機(jī)數(shù)發(fā)生器等在內(nèi)的整套先進(jìn)外設(shè)。4個(gè)PWM定時(shí)器用于驅(qū)動(dòng)底盤4個(gè)直流電機(jī),2個(gè)PWM定時(shí)器用于驅(qū)動(dòng)云臺(tái)舵機(jī),1個(gè)ADC用于底盤H橋輸出電流的過流保護(hù),2路通信接口分別用于遙控器接收輸入和調(diào)試等。
主控模塊原理圖如圖3所示。
2.2 底盤直流電機(jī)驅(qū)動(dòng)模塊
設(shè)計(jì)了一種H橋驅(qū)動(dòng)電路實(shí)現(xiàn)對(duì)機(jī)器人的運(yùn)動(dòng)速度和方向控制,如圖4所示。H 橋的兩個(gè)上臂選用IR 公司的P 溝道MOSFET IRF4905,兩片TLP250作為MOS管柵極驅(qū)動(dòng)芯片;兩個(gè)下臂選用IR 公司N 溝道MOSFET IRF3205,其驅(qū)動(dòng)芯片選用IR4426。該H 橋電路輸出額定電流達(dá)40 A,滿足機(jī)器人快速加減速時(shí)電機(jī)的驅(qū)動(dòng)控制要求,同時(shí)在H 橋電路接入0.5 Ω的大功率電阻,實(shí)現(xiàn)H 橋電路的電流檢測(cè)和保護(hù)功能。通過調(diào)節(jié)STM32F405輸出的四路PWM波的占空比實(shí)現(xiàn)對(duì)4個(gè)直流電機(jī)的調(diào)速,從而控制機(jī)器人4個(gè)萬向輪的轉(zhuǎn)速,完成機(jī)器人在平面的全方向移動(dòng)。
H橋電路可以很方便實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)控制,如電機(jī)正向轉(zhuǎn)動(dòng),BG1和BG4導(dǎo)通,此時(shí)BG2和BG3截止。反之,BG2和BG3導(dǎo)通,BG1和BG4截止[2]。控制時(shí)序圖如圖5所示。
圖6為底盤左前輪電機(jī)的邏輯輸出驅(qū)動(dòng)電路,PWM輸出高電平,單片機(jī)引腳PB11,74LS32將輸出高電平,PB13若輸出低電平,PB12輸出高電平,則BG4導(dǎo)通,BG3關(guān)閉,BG1管導(dǎo)通,BG2管關(guān)閉,實(shí)現(xiàn)了反轉(zhuǎn),保證了用兩個(gè)信號(hào)就能控制整個(gè)電路開關(guān)。電壓比較器LM2903實(shí)現(xiàn)了電機(jī)的過流保護(hù),單片機(jī)的DAC輸出電機(jī)過流閾值(由多次實(shí)驗(yàn)確定),當(dāng)電機(jī)發(fā)生過流時(shí),比較器輸出高電平,封鎖了H橋的控制信號(hào),同時(shí)被單片機(jī)捕獲,進(jìn)行保護(hù)處理。
2.3 電源模塊
穩(wěn)定的電源對(duì)于一個(gè)控制系統(tǒng)來說是至關(guān)重要的,關(guān)系到系統(tǒng)能否正常運(yùn)行。系統(tǒng)總的電源供應(yīng)來自24 V鋰電池,由于電路中的不同電路模塊所需要的工作電壓和電流容量不相同,需要進(jìn)行電壓調(diào)節(jié)[3]。摩擦輪電機(jī)電調(diào)為12 V供電,云臺(tái)舵機(jī)5 V供電,單片機(jī)STM32F405RG需要3.3 V低壓供電。分別使用DC?DC轉(zhuǎn)壓模塊和穩(wěn)壓芯片AS1117。
2.4 其他模塊
圖傳模塊采用了以色列AMIMON公司的無線高清圖傳模塊。該模塊采用無壓縮的WHDI圖傳技術(shù),實(shí)現(xiàn)了1 080P高清畫質(zhì)無線傳輸,具有圖像清晰度穩(wěn)定、延遲短、數(shù)據(jù)帶寬高達(dá)3 Gb/s等優(yōu)點(diǎn)。同時(shí)為了確保機(jī)器人與控制臺(tái)之間的可靠通信,保障在最低功耗情況下有最大受控范圍,采用DJI的DT7遙控器發(fā)射機(jī)和DR16接收機(jī),DR16接收機(jī)采用D?BUS與主控制器通信連接,采用2.4 GHz射頻技術(shù),可保障多個(gè)遙控車終端與控制臺(tái)通信的抗干擾性和安全性。
3 系統(tǒng)軟件設(shè)計(jì)
選用Keil μVision 4軟件開發(fā)系統(tǒng),采用C語言編程,主要控制模塊程序包括底盤運(yùn)動(dòng)程序、云臺(tái)控制程序、開/關(guān)蓋舵機(jī)程序和摩擦輪電機(jī)控制程序。系統(tǒng)配置及初始化程序包括時(shí)鐘配置、延時(shí)函數(shù)初始化、串口初始以及定時(shí)器的初始化[4]。在庫函數(shù)中定義多個(gè)成員函數(shù),分別代表機(jī)器人的不同控制狀態(tài)。采用標(biāo)準(zhǔn)鍵盤和鼠標(biāo)作為控制器,利用無線通信模塊傳輸控制命令。本設(shè)計(jì)鍵盤采用的數(shù)字量與對(duì)應(yīng)的字符含義見表1。
鼠標(biāo)x軸、y軸數(shù)字量的變化范圍是-32 768~32 767,靜止是0。鼠標(biāo)在x軸位置時(shí),垂直方向的數(shù)字量不變,鼠標(biāo)向左滑動(dòng),數(shù)字量0~-32 768,代表車體向左轉(zhuǎn)向;鼠標(biāo)向右滑動(dòng),數(shù)字量0~32 767,代表車體向右轉(zhuǎn)向,x軸數(shù)字量絕對(duì)值越大,車體轉(zhuǎn)動(dòng)角度越大。鼠標(biāo)在y軸位置時(shí),水平方向的數(shù)字值不變,鼠標(biāo)向上滑動(dòng),數(shù)字量0~32 767,代表車體云臺(tái)向上俯仰;鼠標(biāo)向下滑動(dòng),數(shù)字量0~-32 768,代表車體云臺(tái)向下俯仰[5],俯仰的角度有閾值限定。鼠標(biāo)左鍵,按下為1,不按為0,1代表啟動(dòng)撥彈電機(jī);鼠標(biāo)右鍵,按下為1,不按為0,1代表提高主機(jī)最大速度。使用了DT7遙控器兩個(gè)功能鍵S1與S2,功能鍵分別有1,2,3三個(gè)檔位,只使用其中兩個(gè)。S1代表摩擦輪電機(jī),3檔打開,2檔關(guān)閉;S2代表開蓋電機(jī),3檔打開,2檔關(guān)閉。
機(jī)器人啟動(dòng)后,操作員根據(jù)機(jī)器人圖傳圖像實(shí)現(xiàn)對(duì)機(jī)器人進(jìn)行控制。
操作器發(fā)出動(dòng)作時(shí),控制器判斷是否接收到信號(hào),若收到信號(hào),則根據(jù)接收到的信號(hào),判斷小車應(yīng)當(dāng)進(jìn)行何種動(dòng)作,從而控制各模塊的互相配合動(dòng)作,最終實(shí)現(xiàn)小車與無線遙控器按鍵相對(duì)應(yīng)的功能[6]。
4 試驗(yàn)結(jié)果與分析
在完成機(jī)器人硬件設(shè)計(jì)、樣機(jī)搭建和軟件開發(fā)后,在一個(gè)設(shè)有障礙物的1 000 m2場(chǎng)地中進(jìn)行測(cè)試。結(jié)果表明:系統(tǒng)在50 m視距范圍內(nèi),數(shù)據(jù)傳輸穩(wěn)定,且有良好的響應(yīng)速率,成功實(shí)現(xiàn)了無線遙控機(jī)器人靈活完成任務(wù)的目的。
圖7是操作員以第一視角操作機(jī)器人,無線圖傳回的畫面清晰度高,操作器遙控穩(wěn)定,無抖動(dòng)現(xiàn)象。
圖8是機(jī)器人在試驗(yàn)場(chǎng)地里,實(shí)時(shí)接收控制信號(hào),實(shí)現(xiàn)靈活的全方位移動(dòng),并發(fā)射彈丸完成任務(wù)。
5 結(jié) 論
本文介紹了一種基于STM32F405的Mecanum輪的無線遙控機(jī)器人,闡述了系統(tǒng)硬件模塊設(shè)計(jì)和軟件設(shè)計(jì)。其中,驅(qū)動(dòng)模塊H橋電路設(shè)計(jì)為機(jī)器人實(shí)現(xiàn)二維空間內(nèi)做任意方向的移動(dòng)及任意半徑的轉(zhuǎn)動(dòng)提供了硬件支持[7]。此外,機(jī)器人具有強(qiáng)的圖像收集、數(shù)據(jù)預(yù)處理、無線傳輸和多任務(wù)處理能力,機(jī)器人具有豐富的接口和很高的可擴(kuò)展性,在特殊用途時(shí),可添置相應(yīng)功能的傳感器或外圍設(shè)備。
參考文獻(xiàn)
[1] BRAUNL T. Mobile robot design and applications with embedded systems [M]. Australia: Springer?Verlag, 2008.
[2] 袁濤.H橋功率驅(qū)動(dòng)電路的設(shè)計(jì)研究[D].成都:電子科技大學(xué),2006.
[3] 高正中,趙麗娜,李世光,等.基于攝像頭的智能車控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2015(6):1?4.
[4] 劉磊,孫曉菲,張煜.基于STM32的可遙控智能跟隨小車設(shè)計(jì)[J].電子測(cè)量技術(shù),2015,38(6):31?33.
[5] 李芳昕,譚小群,張洋,等.基于Arduino的Mecanum輪無線遙控避障小車[J].機(jī)械制造,2014,52(6):6?9.
[6] 黃建能,楊光杰.無線遙控小車[J].現(xiàn)代電子技術(shù),2012,35(23):126?128.
[7] 陳楠,戴勇波.基于DSP的全方位移動(dòng)平臺(tái)無線遙控系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(10):3161?3164.