瑚琦 雷航 夏志遷
摘要:設(shè)計(jì)一種基于WiFi遠(yuǎn)程控制的智能監(jiān)控機(jī)器人系統(tǒng),包括硬件系統(tǒng)、軟件系統(tǒng)以及控制算法。機(jī)械結(jié)構(gòu)利用SolidWorks建模,通過(guò)3D打印成型;硬件電路采用模塊化設(shè)計(jì)思想,以STM32F407VGT6微控制器為控制核心,外圍分布各功能模塊;軟件系統(tǒng)由下位機(jī)的μC/OS II嵌入式實(shí)時(shí)操作系統(tǒng)協(xié)同處理多任務(wù),通過(guò)TCP/IP協(xié)議與上位機(jī)的手機(jī)端APP控制平臺(tái),以及PC機(jī)控制平臺(tái)進(jìn)行數(shù)據(jù)傳輸與交互。機(jī)器人控制遵循ZMP算法,通過(guò)對(duì)上位機(jī)指令的預(yù)執(zhí)行及姿態(tài)解算使機(jī)器人穩(wěn)定運(yùn)動(dòng)。應(yīng)用實(shí)踐表明,機(jī)器人組裝方便、結(jié)構(gòu)穩(wěn)固,實(shí)現(xiàn)機(jī)器人與終端設(shè)備的視頻、指令同時(shí)傳輸,在其行走、跟蹤以及循跡過(guò)程中能保持穩(wěn)定。系統(tǒng)設(shè)計(jì)方法可靠、切合實(shí)際,控制平臺(tái)穩(wěn)定、易用性強(qiáng)。
關(guān)鍵詞:智能機(jī)器人;WiFi;視頻傳輸;圖像識(shí)別;ZMP;路徑規(guī)劃
DOIDOI:10.11907/rjdk.173299
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)008-0061-04
英文摘要Abstract:An intelligent monitoring robot system based on WiFi remote control is proposed including hardware system,the software system and its control algorithm.The mechanical structure is modeled via SolidWorks and printed by the 3D printer.The circuit system takes the advantages of modularization design idea and uses microcontroller STM32F407VGT6 as the control core.Peripheral circuits are distributed around the control core.The software platform design contains the μC/OS II embedded real-time multitasking operating system,mobile phone client APP control platform and computer control platform.The embedded system transmits and interacts with the upper computer through the TCP/IP.The robot control follows the ZMP algorithm which requires the upper computer to perform pre-execution and attitude algorithm,so that the robot can maintain stability during the movements.Based on mass of practice,it is demonstrated that the robot is easy to assemble,and the video and instruction can be transmitted simultaneously between the robot and terminal equipment.In the meantime,the robot can be stable during walking and tracking,and the controlling platform is stable and can be easily used.
英文關(guān)鍵詞Key Words:intelligent robot;WiFi;video transmission; image recognition; ZMP; path planning
0 引言
近年來(lái),隨著智能機(jī)器人研究的不斷深入,人形智能機(jī)器人在娛樂(lè)、服務(wù)、救援等領(lǐng)域有著潛在應(yīng)用價(jià)值[1-2]。當(dāng)前智能機(jī)器人進(jìn)入“3.0時(shí)代”,智能機(jī)器人通過(guò)各種感應(yīng)傳感器的相互配合,能夠?qū)@取的信息進(jìn)行分析、融合,從而增強(qiáng)對(duì)工作環(huán)境的適應(yīng)能力,以及自主學(xué)習(xí)能力與自治能力。目前機(jī)器人的智能技術(shù)水平尚處于初級(jí)階段,研究的主要核心問(wèn)題有兩點(diǎn):①增強(qiáng)智能機(jī)器人的自主能動(dòng)性,即增強(qiáng)智能機(jī)器人的獨(dú)立性,且人機(jī)界面友好,目標(biāo)是其日后能夠按照操作人員給予的指令準(zhǔn)確、自主完成工作任務(wù);②提高智能機(jī)器人對(duì)環(huán)境變化的適應(yīng)能力[3]。程序預(yù)先設(shè)定的人形機(jī)器人只能以固定方式行走,行進(jìn)中若發(fā)生錯(cuò)誤則會(huì)使機(jī)器人的行走出現(xiàn)誤差,特別在環(huán)境發(fā)生變化的情況下十分明顯。通過(guò)WiFi視頻傳輸?shù)姆绞将@取機(jī)器人周圍環(huán)境,配合圖像識(shí)別技術(shù)以及傳感器的應(yīng)用,可讓機(jī)器人穩(wěn)定實(shí)現(xiàn)智能跟蹤、環(huán)境監(jiān)測(cè)、路線循跡等功能,通過(guò)無(wú)線遠(yuǎn)程指令傳輸亦可對(duì)機(jī)器人進(jìn)行遙控操作,對(duì)其行為進(jìn)行協(xié)同管理。
1 總體設(shè)計(jì)方案
智能監(jiān)控機(jī)器人總體設(shè)計(jì)方案如圖1所示。用戶可以使用手機(jī)端APP或PC端上位機(jī)通過(guò)無(wú)線局域網(wǎng)連接到機(jī)器人搭載的WiFi模塊,實(shí)現(xiàn)手機(jī)端或PC端與機(jī)器人的數(shù)據(jù)交互。機(jī)器人將圖像采集系統(tǒng)的圖像信息通過(guò)WiFi模塊傳輸?shù)绞謾C(jī)端或PC端,實(shí)現(xiàn)圖像信息的實(shí)時(shí)顯示。
2 硬件設(shè)計(jì)
2.1 機(jī)器人結(jié)構(gòu)設(shè)計(jì)
智能機(jī)器人由頸關(guān)節(jié)、肩關(guān)節(jié)、肘關(guān)節(jié)、胯關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)等16個(gè)關(guān)節(jié)構(gòu)成,交由16個(gè)數(shù)字舵機(jī)進(jìn)行控制,所使用的數(shù)字舵機(jī)可以基于中心位置±90°旋轉(zhuǎn)[4]。利用SolidWorks建立機(jī)器人零件3D模型并生成STL(STereo Lithography)文件,再通過(guò)Cura將模型切片[5],如圖2所示。
然后利用3D打印機(jī)打印出模型零件,打印完成后,零件與數(shù)字舵機(jī)嵌在一起得到各個(gè)關(guān)節(jié),通過(guò)卡扣結(jié)構(gòu)即可將各個(gè)關(guān)節(jié)、肢體拼接在一起。機(jī)器人在SolidWorks環(huán)境下的完整組裝效果如圖3所示。
2.2 硬件電路設(shè)計(jì)
智能機(jī)器人硬件電路采用7.4V鋰電池供電,一路接到舵機(jī)電源總線,另一路通過(guò)AMS1117穩(wěn)壓芯片將電壓穩(wěn)定到3.3V,為主控芯片和其它芯片供電。系統(tǒng)選擇STM32F407VGT6作為主控芯片,STM32F407VET6是意法半導(dǎo)體推出的增強(qiáng)型32位微處理器,其時(shí)鐘頻率達(dá)到168MHz,上面集成了1M的Flash存儲(chǔ)器,192 + 4 Kbytes SRAM,多達(dá)83個(gè)I/O端口,并包含IIC、USART、SDIO接口,可以滿足平臺(tái)需要并有充足的接口外接傳感器。WiFi芯片選用Marvell公司的88W8801,通過(guò)主控芯片的SDIO接口驅(qū)動(dòng),與上位機(jī)或手機(jī)APP建立連接后,可以進(jìn)行數(shù)據(jù)傳輸,包括視頻傳輸和控制指令集傳輸。攝像頭采用OV(OmniVision)公司生產(chǎn)的1/4寸CMOS UXGA(1632*1232)圖像傳感器OV2640,OV2640自帶的JPEG輸出功能可大大減少圖像數(shù)據(jù)量,使其在網(wǎng)絡(luò)攝像頭、無(wú)線視頻傳輸?shù)确矫婢哂泻艽蟮膬?yōu)勢(shì)。通過(guò)主控芯片的DCMI(數(shù)字圖像接口)將圖像數(shù)據(jù)通過(guò)DMA(Direct Memory Access)直接送入WiFi收發(fā)的數(shù)據(jù)緩沖區(qū),然后通過(guò)TCP/IP協(xié)議發(fā)送到上位機(jī)或APP[6]。
由于單片機(jī)I/O口與功率的限制,會(huì)影響機(jī)器人的自由度個(gè)數(shù)和功能擴(kuò)展,甚至可能進(jìn)一步影響機(jī)器人的動(dòng)作連貫性。為此,設(shè)計(jì)了一種控制系統(tǒng)將主控模塊與舵機(jī)控制器分離,實(shí)現(xiàn)舵機(jī)控制系統(tǒng)的模塊化,舵機(jī)控制芯片選用NXP(恩智浦半導(dǎo)體)公司的PCA9685芯片,該芯片使用IIC總線接口,一片PCA9685芯片可以產(chǎn)生16路周期占空比可控的PWM波,精度為12位寄存器,控制旋轉(zhuǎn)角180°的舵機(jī)分辨率高達(dá)0.439°,芯片有6個(gè)地址腳可以控制I2C地址,主控芯片只需提供一個(gè)I2C接口即可擴(kuò)展更多路的PWM舵機(jī)控制信號(hào)。硬件平臺(tái)系統(tǒng)框架如圖4所示。
3 軟件設(shè)計(jì)
3.1 下位機(jī)軟件設(shè)計(jì)
下位機(jī)軟件采用μC/OS-II(Micro Control Operation System Two)操作系統(tǒng),μC/OS-II是一個(gè)可基于ROM運(yùn)行、可裁剪、搶占式的實(shí)時(shí)多任務(wù)內(nèi)核,具有高度可移植性,特別適用于微處理器與控制器。使用μC/OS-II創(chuàng)建任務(wù)后,任務(wù)會(huì)自動(dòng)調(diào)度,自動(dòng)調(diào)度時(shí)間為1ms[7]。下位機(jī)軟件流程如圖5所示。
系統(tǒng)啟動(dòng)之后,首先初始化主控芯片STM32F 407VGT6的中斷向量表和系統(tǒng)時(shí)鐘,然后初始化OS部件及內(nèi)存管理,創(chuàng)建主任務(wù)main_thread,開(kāi)始線程調(diào)度。各線程完成的任務(wù)分別為:
(1)主任務(wù):初始化一些底層驅(qū)動(dòng)的雜項(xiàng),包括IO口配置、systick配置、微妙級(jí)定時(shí)器初始化,然后初始化片上和片外外設(shè),包括DCMI、DMA、PCA9685、88W8801 WiFi模塊初始化,并初始化lwip底層與WiFi相關(guān)部分,讀取flash中的數(shù)字舵機(jī)機(jī)械偏置參數(shù)。
(2)monitor線程:打印系統(tǒng)信息。
(3)open_camera線程:用于圖片采集與發(fā)送。
(4)tcp_server線程:接收客戶端連接。
(5)mqtt(Message Queuing Telemetry Transport)線程:用于mqtt連接和數(shù)據(jù)收發(fā)。
(6)tcp_ data transceiver線程:用于tcpip數(shù)據(jù)收發(fā)。
3.2 上位機(jī)軟件設(shè)計(jì)
手機(jī)端APP主要接收TCP/IP上傳的圖像信息以及發(fā)出控制指令,可以通過(guò)手機(jī)APP完成的設(shè)置和操作有:控制機(jī)器人行走及特定動(dòng)作、接收?qǐng)D像信息、控制云臺(tái)獲取更廣角信息及拍照。軟件操作界面如圖6所示。
PC上位機(jī)除手機(jī)APP功能外,主要增加了圖像處理功能,實(shí)現(xiàn)了對(duì)指定符號(hào)標(biāo)記物體的識(shí)別。PC上位機(jī)操作界面如圖7所示。通過(guò)上位機(jī)連接到智能機(jī)器人后,可以選擇機(jī)器人的控制模式??刂颇J綘顟B(tài)下,可以通過(guò)按鈕自主控制機(jī)器人運(yùn)動(dòng);追蹤模式下,機(jī)器人可以追蹤目標(biāo)并保持相對(duì)距離;循跡模式下,機(jī)器人可以通過(guò)識(shí)別符號(hào)按預(yù)定軌跡運(yùn)動(dòng)[8]。
上位機(jī)的功能實(shí)現(xiàn)主要由兩個(gè)線程完成:第一個(gè)線程需要完成的任務(wù)是由Winsocket接口接收WiFi模塊傳輸?shù)臄?shù)據(jù)流,整理圖像信息后,利用EmguCV的圖像處理算法鎖定符號(hào)的中心點(diǎn)坐標(biāo),根據(jù)坐標(biāo)相對(duì)圖像中心的位置和云臺(tái)轉(zhuǎn)動(dòng)角度,即可判定需要追蹤的物體方位[9-11];第二個(gè)線程需要完成的任務(wù)是根據(jù)圖像處理得到的信息以及機(jī)器人紅外傳感器、加速度傳感器傳回的信息進(jìn)行路徑規(guī)劃,并將生成的指令發(fā)送給機(jī)器人[12]。
4 機(jī)器人穩(wěn)定控制ZMP算法
穩(wěn)定行走是雙足機(jī)器人行走的首要條件,在ZMP(Zero Moment Point,零力矩點(diǎn))概念出現(xiàn)之前,對(duì)雙足機(jī)器人的行走穩(wěn)定性判斷主要是根據(jù)重心投影點(diǎn),即機(jī)器人的重心鉛垂線與地面交點(diǎn)。重心投影點(diǎn)能夠在一定條件下作為雙足機(jī)器人行走穩(wěn)定性的判斷依據(jù),尤其是在機(jī)器人靜態(tài)行走,且步行速度非常慢的條件下。隨著雙足機(jī)器人的行走速度越來(lái)越快,重心投影點(diǎn)對(duì)機(jī)器人穩(wěn)定行走的判斷已越來(lái)越困難,鑒于該情況,南斯拉夫仿人機(jī)器人研究學(xué)者M(jìn) Vukobratovic[13]于1969年提出一種新的雙足機(jī)器人行走穩(wěn)定性的判據(jù),即零力矩點(diǎn)判據(jù)。ZMP的提出有效解決了雙足機(jī)器人步行穩(wěn)定性的判斷問(wèn)題,大大加快了各種步行機(jī)器人和仿人機(jī)器人的研究進(jìn)程。目前,國(guó)外非常成功的仿人機(jī)器人絕大多數(shù)都是根據(jù)機(jī)器人的ZMP軌跡進(jìn)行步態(tài)規(guī)劃或行走反饋控制,比如本田公司的ASIMO(Advanced Step inInnovative Mobility)和索尼的 QRIO(Quest for Curiosity)都使用ZMP軌跡對(duì)機(jī)器人的行走姿態(tài)進(jìn)行控制和反饋調(diào)整。
零力矩點(diǎn)是指地面上滿足地面反力的合力矩對(duì)x、y軸分量為零的點(diǎn),用T(Tx,Ty,Tz)表示由地面反作用力繞某一點(diǎn)產(chǎn)生的合力矩,則零力矩點(diǎn)即滿足Tx=0,Ty =0的點(diǎn)[14]。與ZMP密切相關(guān)的一個(gè)概念是支撐多邊形[15](Support Polygon),即考慮能夠包含機(jī)器人足底與地面間所有接觸點(diǎn)的最小多邊形區(qū)域。在數(shù)學(xué)中,支撐多邊形也即這些接觸點(diǎn)集合的最小凸集。定義了ZMP和支撐多邊形,可給出ZMP穩(wěn)定性判據(jù):機(jī)器人行走過(guò)程中,其ZMP軌跡始終位于支撐多邊形中,則機(jī)器人行走穩(wěn)定。在機(jī)器人行走過(guò)程中,單腳支撐期和雙腳支撐期交替出現(xiàn),機(jī)器人支撐腳形成的凸多邊形穩(wěn)定區(qū)域也隨之變化,如圖8所示。
其中,mi為機(jī)器人桿件i的質(zhì)量,xi、yi、zi為機(jī)器人桿件質(zhì)心位置在參考坐標(biāo)系對(duì)應(yīng)坐標(biāo)軸上的分量,y··、x··、z··為機(jī)器人桿件i質(zhì)心加速度在參考坐標(biāo)系對(duì)應(yīng)坐標(biāo)軸上的分量,g為重力加速度。ZMP算法根據(jù)機(jī)器人下一步動(dòng)作指令,先在上位機(jī)進(jìn)行控制指令預(yù)執(zhí)行,然后進(jìn)行姿態(tài)解算,判定機(jī)器人預(yù)執(zhí)行之后的ZMP點(diǎn)位置,再對(duì)ZMP點(diǎn)是否處于穩(wěn)定區(qū)域進(jìn)行判斷,根據(jù)判斷結(jié)果對(duì)指令作出調(diào)整或直接執(zhí)行,從而對(duì)行走速度和姿態(tài)作出限制。算法判定流程如圖9所示。
在控制算法測(cè)試過(guò)程中,機(jī)器人能夠穩(wěn)定完成行走及其它特定動(dòng)作。機(jī)器人行走以及倒立過(guò)程中的4個(gè)關(guān)鍵步態(tài)如圖10所示。
5 結(jié)語(yǔ)
本文設(shè)計(jì)了一種基于WiFi遠(yuǎn)程控制的智能監(jiān)控機(jī)器人,機(jī)器人機(jī)械結(jié)構(gòu)采用3D打印,可靠性高;嵌入式硬件系統(tǒng)以STM32F407為核心,采用Marvell公司的8801NS2 WiFi 解決方案,配備OV2640攝像頭模組、PCA9685多路舵機(jī)控制器、紅外傳感器與加速度傳感器;軟件采用μC/OSII實(shí)時(shí)操作系統(tǒng),配合PC機(jī)上位機(jī)和手機(jī)APP與機(jī)器人進(jìn)行數(shù)據(jù)傳輸與交互,結(jié)合ZMP控制算法使機(jī)器人在運(yùn)動(dòng)過(guò)程中處于動(dòng)態(tài)平衡狀態(tài)。系統(tǒng)通過(guò)視頻信息的穩(wěn)定無(wú)線傳輸,以及圖像處理提取有效信息,從而實(shí)現(xiàn)機(jī)器人的穩(wěn)定追蹤、自動(dòng)循跡與環(huán)境監(jiān)測(cè)功能。
實(shí)驗(yàn)證明,該系統(tǒng)穩(wěn)定性、可靠性較高。下一步將在本文研究基礎(chǔ)上研究手機(jī)端APP圖像處理方案,以對(duì)系統(tǒng)進(jìn)行完善,利用更優(yōu)的圖像算法與機(jī)器人穩(wěn)態(tài)算法實(shí)現(xiàn)任意物體取定及快速跟蹤。
參考文獻(xiàn):
[1] ALY A,GRIFFITHS S,STRAMANDINOLI F.Editorial:towards intelligent social robots current advances in cognitive robotics[J].Cognitive Systems Research,2016,43:153-156.
[2] KOENEMANN J,BURGET F,BENNEWITZ M.Real-time imitation of human whole-body motions by humanoids[C].IEEE International Conference on Robotics and Automation,2014:2806-2812.
[3] 孫靜,張帆,王國(guó)慶,等.物聯(lián)網(wǎng)時(shí)代人工智能機(jī)器人的發(fā)展趨勢(shì)探討[J].科技經(jīng)濟(jì)導(dǎo)刊,2017(31):6-7.
[4] 許曉飛,鄒建勇.人形機(jī)器人結(jié)構(gòu)與動(dòng)作的設(shè)計(jì)[J].電子技術(shù),2015(2):27.
[5] 朱斌海.Pro/E-Cura 3D打印全流程技術(shù)研究[J].科技展望,2014(17):149.
[6] 翟偉良,李哲.基于WiFi無(wú)線傳輸遠(yuǎn)程視頻監(jiān)控的研究[J].電子科技,2016,29(9):68-71.
[7] LEI W,WANG Y,CHEN S,et al.The application of ucos-ii in embedded intelligent vision surveillance system[J].Microcomputer Information,2008,24(11):6-8.
[8] LANG H,WANG Y,CLARENCE W D S.Vision based object identification and tracking for mobile robot visual servo control[C].IEEE International Conference on Control and Automation.IEEE,2010:92-96.
[9] 孔德川,鄭麗媛.基于嵌入式系統(tǒng)的礦井無(wú)線視頻監(jiān)控系統(tǒng)研究[J].礦山機(jī)械,2014(7):141-144.
[10] 任超,馮勇建.EmguCV圖像處理庫(kù)WP中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(5):233-235.
[11] 郭永鋒,曹竟如,郭清宇.基于EmguCV的改進(jìn)背景減除法運(yùn)動(dòng)目標(biāo)檢測(cè)方法研究[J].中原工學(xué)院學(xué)報(bào),2017,28(4):86-89.
[12] 劉燁.C#編程及應(yīng)用程序開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2003.
[13] MIOMIR V,BRANISLAY B.Zero-moment point-thirty five years of its life[J].International Journal of Humanoid Robotics,2004 (1):157-173.
[14] YANG T,ZHANG W,HUANG Q,et al.A smooth and efficient gait planning for humanoids based on human ZMP[J].機(jī)器人,2017,39(5):751-758.
[15] 蔡自興.機(jī)器人學(xué)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2009.
[16] 付根平,楊宜民,陳建平,等.基于ZMP誤差校正的仿人機(jī)器人步行控制[J].機(jī)器人,2013,35(1):39-44.
(責(zé)任編輯:黃 健)