湯莉莉+王金勇+黃偉
摘 要: 基于STC11F32E單片機(jī)、TCP/IP網(wǎng)絡(luò)通信協(xié)議和Android開(kāi)發(fā)物聯(lián)網(wǎng)智能機(jī)器人系統(tǒng)。系統(tǒng)由視頻拍攝模塊、WiFi傳輸模塊、PC上位機(jī)軟件、Android手機(jī)客戶端、機(jī)械手、智能控制模塊等構(gòu)成。根據(jù)不同環(huán)境的需要可利用PC或手機(jī)APP讓機(jī)器人在跟隨模式、避障模式或智能跟蹤模式之間進(jìn)行切換,并實(shí)現(xiàn)控制機(jī)器人的運(yùn)動(dòng)方向和動(dòng)作,且在整個(gè)運(yùn)作過(guò)程中可以實(shí)時(shí)拍照和進(jìn)行數(shù)據(jù)采集、顯示,也可以通過(guò)控制機(jī)械手來(lái)完成設(shè)定的任務(wù)。實(shí)驗(yàn)表明,物聯(lián)網(wǎng)智能機(jī)器人基本完成,實(shí)現(xiàn)了預(yù)期的功能。
關(guān)鍵詞: 物聯(lián)網(wǎng); 智能機(jī)器人; 遠(yuǎn)程控制; 太陽(yáng)能; STC11F32E
中圖分類號(hào): TN915?34; TN923; TP399 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)08?0073?04
Design of IOT intelligent robot
TANG Lili1, WANG Jinyong1, HUANG Wei2
(1. Zhixing College, Hubei University, Wuhan 430011, China; 2. System Design Institute of Hubei Aerospace Technology Academy, Wuhan 430040, China)
Abstract: The network intelligence robot system was developed on the basis of STC11F32E MCU, TCP / IP network communication protocols and Android. The system is composed of video capture module, WiFi transmission module, PC upper computer software, Android mobile client, robot, intelligent control module, etc. The system can utilize PC or mobile phone APP to make robot switch among following mode, obstacle avoidance mode or intelligent tracking mode according to the needs of different environments, and control the robot′s movement direction and action. It can make the real?time picture taking, data acquisition and display throughout the course of the operation. Of cause, the operator can also control the robot to complete the set task. The experiment result indicates that the network intelligence robot is basically completed, and the predicted functions have realized.
Keywords: Internet of Things; intelligent robot; remote control; solar energy; STC11F32E
物聯(lián)網(wǎng)智能機(jī)器人是機(jī)器人家族中的一種,具有智能跟蹤、環(huán)境監(jiān)控、數(shù)據(jù)測(cè)試、遠(yuǎn)程操作、跟蹤拍攝、路線循跡等功能,可以通過(guò)電腦上位機(jī)或手機(jī)客戶端遠(yuǎn)程控制電視、空調(diào)等。也可以實(shí)現(xiàn)傳統(tǒng)的智能自動(dòng)跟蹤、自動(dòng)循跡和自動(dòng)避障。在整個(gè)運(yùn)作過(guò)程中可以實(shí)時(shí)拍攝周圍視頻資料,創(chuàng)新云臺(tái)設(shè)計(jì),實(shí)現(xiàn)全方位無(wú)死角拍攝。
當(dāng)前我國(guó)大力提倡節(jié)能減排,創(chuàng)新驅(qū)動(dòng)發(fā)展,為了響應(yīng)國(guó)家號(hào)召,在設(shè)計(jì)物聯(lián)網(wǎng)機(jī)器人時(shí)創(chuàng)新加入太陽(yáng)能充電裝置,雖然充電效率不高,但太陽(yáng)能是最環(huán)保、有很大前景的能源。
1 總體設(shè)計(jì)方案
物聯(lián)網(wǎng)智能機(jī)器人的總體設(shè)計(jì)方案如圖1所示。
圖1中有兩種控制模式,一種是組成機(jī)器人控制局域網(wǎng),將上位機(jī)PC端,手機(jī)客戶端APP和智能機(jī)器人連接起來(lái),實(shí)現(xiàn)上位機(jī)PC端或手機(jī)APP客戶端控制機(jī)器人和顯示視頻數(shù)據(jù)的目的;另一種遠(yuǎn)程控制方案是將機(jī)器人通過(guò)網(wǎng)絡(luò)和互聯(lián)網(wǎng)相連,再將上位機(jī)PC端或手機(jī)APP客戶端通過(guò)數(shù)據(jù)線連入互聯(lián)網(wǎng),可以實(shí)現(xiàn)遠(yuǎn)程終端通過(guò)互聯(lián)網(wǎng)和機(jī)器人相連,進(jìn)而實(shí)現(xiàn)控制機(jī)器人和視頻傳輸。這兩種設(shè)計(jì)方案的核心技術(shù)相同,都是通過(guò)網(wǎng)絡(luò)地址和端口號(hào)的設(shè)定,再通過(guò)指令傳輸和視頻數(shù)據(jù)傳輸,進(jìn)而達(dá)到控制的目的。由于考慮到演示的效果和方便操作,本設(shè)計(jì)用局域網(wǎng)機(jī)器人控制的方式進(jìn)行分析說(shuō)明。
從數(shù)據(jù)傳輸方面來(lái)說(shuō),無(wú)線路由器是手機(jī)APP客戶端、上位機(jī)PC端和下位機(jī)的數(shù)據(jù)核心,終端可以通過(guò)一個(gè)套接字編程,建立網(wǎng)絡(luò)接口,進(jìn)而與無(wú)線路由器進(jìn)行連接,智能機(jī)器人便可以通過(guò)一個(gè)網(wǎng)口轉(zhuǎn)串口的WiFi模塊,再將機(jī)器人的串口數(shù)據(jù)通過(guò)這個(gè)模塊轉(zhuǎn)變成WiFi信號(hào),就可以實(shí)現(xiàn)和無(wú)線路由器進(jìn)行數(shù)據(jù)傳輸。其中,手機(jī)客戶端APP、上位機(jī)PC端和下位機(jī)都有相應(yīng)的局域IP地址。通過(guò)設(shè)置正確的IP地址,就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸。
從控制的方面來(lái)說(shuō),手機(jī)客戶端APP和上位機(jī)PC端是智能機(jī)器人的控制中心[1],這兩者可以通過(guò)按鍵,發(fā)出相應(yīng)的指令給智能機(jī)器人,智能機(jī)器人解說(shuō)到對(duì)應(yīng)的指令后給上位機(jī),再由上位機(jī)將接收到的指令進(jìn)行解析,并執(zhí)行相應(yīng)的程序,完成對(duì)應(yīng)的動(dòng)作。
1.1 上位機(jī)PC端軟件設(shè)計(jì)
上位機(jī)PC端[2]的功能是控制機(jī)器人的運(yùn)動(dòng),控制機(jī)械手的動(dòng)作,顯示機(jī)器人當(dāng)前的速度,采集機(jī)器人所在環(huán)境的溫濕度,控制云臺(tái)方向,顯示機(jī)器人周圍的視頻數(shù)據(jù)。同時(shí),可以在上位機(jī)PC端上切換智能機(jī)器人的工作模式,其中機(jī)器人的工作模式有:循跡模式、紅外避障模式、雷達(dá)避障模式、智能模式等,可以根據(jù)環(huán)境的需要切換不同的模式,也可以通過(guò)上位機(jī)PC端發(fā)送對(duì)應(yīng)的指令,控制家用電器如電視、空調(diào)等。上位機(jī)PC端軟件設(shè)計(jì)如圖2所示。
圖2中的功能實(shí)現(xiàn)主要由兩個(gè)流程完成:第一個(gè)流程核心任務(wù)是完成從機(jī)器人端傳輸過(guò)來(lái)的視頻數(shù)據(jù)和音頻數(shù)據(jù),而這部分的技術(shù)主要是DirectShow;第二個(gè)流程核心任務(wù)是完成從機(jī)器人端傳輸過(guò)來(lái)的機(jī)器人當(dāng)前速度和溫濕度等信息,選擇當(dāng)前機(jī)器人的工作模式,以及完成在上位機(jī)PC端和機(jī)器人之間的指令傳輸,實(shí)現(xiàn)機(jī)器人的向前、向后、向左、向右、加速、減速、停止、開(kāi)燈和鳴笛等[3]功能。在上位機(jī)PC端上有控制機(jī)械手的進(jìn)度條,可以遠(yuǎn)程控制機(jī)械手的操作完成相應(yīng)的動(dòng)作,也可以設(shè)置機(jī)械手和云臺(tái)舵機(jī)的初始狀態(tài),避免開(kāi)機(jī)時(shí)燒壞舵機(jī)。在雷達(dá)模式下,上位機(jī)PC端可以顯示當(dāng)前有無(wú)障礙物,并會(huì)做出轉(zhuǎn)向的動(dòng)作避開(kāi)障礙物。在整個(gè)運(yùn)動(dòng)過(guò)程中上位機(jī)PC端都可以顯示拍攝的視頻畫面,可以用鼠標(biāo)在上位機(jī)視頻顯示區(qū)控制云臺(tái),實(shí)現(xiàn)機(jī)器人無(wú)死角拍攝。且兩個(gè)流程都設(shè)置有各自互不干擾的套接字,第一個(gè)流程與機(jī)器人的攝像頭模塊完成數(shù)據(jù)傳輸,第二個(gè)流程與機(jī)器人網(wǎng)口轉(zhuǎn)串口模塊完成數(shù)據(jù)交互。
1.2 手機(jī)客戶端APP軟件設(shè)計(jì)
本文中的手機(jī)APP客戶端采用Android系統(tǒng),在Eclipse平臺(tái)上用Java語(yǔ)言編寫開(kāi)發(fā)的[4]??梢酝ㄟ^(guò)APP手機(jī)客戶端完成的設(shè)置和操作有:設(shè)置機(jī)器人的運(yùn)動(dòng)方向指令;設(shè)置網(wǎng)絡(luò)地址、視頻存儲(chǔ)和拍照存儲(chǔ)地址;設(shè)置是否用觸摸屏控制云臺(tái);顯示視頻畫面;控制攝像頭方位和機(jī)械臂動(dòng)作角度;重力控制機(jī)器人。
手機(jī)APP客戶端軟件控制設(shè)計(jì)流程如圖3所示。
1.3 下位機(jī)軟件設(shè)計(jì)
下位機(jī)設(shè)計(jì)是機(jī)器人核心處理器程序的設(shè)計(jì)。其設(shè)計(jì)內(nèi)容主要包含視頻傳輸控制、云臺(tái)操作控制、溫濕度采集、紅外對(duì)管模塊和紅外控制家電的設(shè)置,以及采集到的視頻數(shù)據(jù)和控制指令互傳等。在設(shè)計(jì)過(guò)程中每部分都是分模塊編寫的,都有相應(yīng)的程序模塊,再由主函數(shù)將所有模塊綜合起來(lái),當(dāng)下位機(jī)程序接收到上位機(jī)PC端或手機(jī)客戶端APP的相關(guān)指令后,就調(diào)用相對(duì)應(yīng)的程序模塊,執(zhí)行設(shè)定好的動(dòng)作,并將完成的結(jié)果發(fā)送給終端,其設(shè)計(jì)流程如圖4所示[5]。
下位機(jī)能夠完成上位機(jī)PC端或手機(jī)客戶端APP指令,并做出相對(duì)應(yīng)的動(dòng)作的核心是機(jī)器人中有網(wǎng)口轉(zhuǎn)串口模塊。機(jī)器人將代碼指令通過(guò)串口轉(zhuǎn)網(wǎng)口模塊,再以WiFi的形式傳出去,上位機(jī)PC端或手機(jī)客戶端APP便可以接收到下位機(jī)發(fā)出的指令,通過(guò)解析并顯示出來(lái),為機(jī)器人的下一步動(dòng)作做好準(zhǔn)備。使用模塊時(shí)必須設(shè)置正確的IP地址以及端口號(hào),只有對(duì)應(yīng)的設(shè)置正確了,上位機(jī)PC端、手機(jī)客戶端和下位機(jī)才能進(jìn)行數(shù)據(jù)傳輸。
2 設(shè)計(jì)方案特點(diǎn)及擴(kuò)展說(shuō)明
2.1 特點(diǎn)介紹
本設(shè)計(jì)是以PC軟件、安卓軟件、網(wǎng)絡(luò)通信、物聯(lián)網(wǎng)以及單片機(jī)技術(shù)為基礎(chǔ),結(jié)合當(dāng)今提倡的利用環(huán)保型能源,創(chuàng)新的構(gòu)想設(shè)計(jì)出來(lái)的。從機(jī)器人處理器的選型,各個(gè)模塊的選取,通信協(xié)議方案的制定,以及上位機(jī)PC端、手機(jī)客戶端APP的設(shè)計(jì)都與現(xiàn)有的“機(jī)器人”有較大的區(qū)別。本設(shè)計(jì)利用當(dāng)前最普通的處理器,完成不同尋常的動(dòng)作,其特點(diǎn)總結(jié)如下:攝像頭全方位拍攝; 上位機(jī)PC端和APP客戶端可以顯示視頻畫面,并可以實(shí)現(xiàn)控制;上位機(jī)PC端可以控制云臺(tái),檢查機(jī)器人狀態(tài); 上位機(jī)PC端、APP手機(jī)客戶端和機(jī)器人上位機(jī)可以指示小車的運(yùn)動(dòng)狀態(tài)[6];可以實(shí)現(xiàn)遠(yuǎn)程操作機(jī)械手; 可以實(shí)現(xiàn)遙控家用電器如電視、空調(diào)等;可以用太陽(yáng)能給蓄電池充電,并有指示燈顯示蓄電池電量;可以接收上位機(jī)的控制指令,實(shí)現(xiàn)控制,上位機(jī)亦可接收反饋指令和視頻的數(shù)據(jù)流。
其中本設(shè)計(jì)中的通信方式利用的是TCP/IP協(xié)議,采用無(wú)線網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)對(duì)機(jī)器人的控制。只要設(shè)置好IP地址和端口號(hào)后就可實(shí)現(xiàn)連接,可以實(shí)現(xiàn)局域網(wǎng)內(nèi)機(jī)器人的控制,也可以實(shí)現(xiàn)超遠(yuǎn)程對(duì)機(jī)器人的控制。另外上位機(jī)PC端軟件和手機(jī)客戶端APP軟件,控制模式多樣,應(yīng)用領(lǐng)域廣泛,符合當(dāng)前機(jī)器人的發(fā)展趨勢(shì),為當(dāng)前機(jī)器人的發(fā)展提供可行方案。
2.2 擴(kuò)展說(shuō)明
物聯(lián)網(wǎng)智能機(jī)器人不僅可以完成上文介紹的功能,還可以擴(kuò)展以下功能[7]:帶有指示燈顯示運(yùn)動(dòng)方向并能夠?qū)崿F(xiàn)通過(guò)重力感應(yīng)對(duì)機(jī)器人的控制;帶有GPS全球定位功能在危機(jī)時(shí)刻或者必要時(shí)可以發(fā)送信息;太陽(yáng)能電池板減輕重量,實(shí)現(xiàn)對(duì)機(jī)器人供電補(bǔ)給;語(yǔ)音功能,可以實(shí)現(xiàn)語(yǔ)音播放;可以利用機(jī)器人無(wú)線設(shè)備上網(wǎng),打電話等。
3 方案難點(diǎn)及關(guān)鍵技術(shù)
本設(shè)計(jì)方案難點(diǎn)在于:
(1) 上位機(jī)PC端在操作控制機(jī)器人時(shí),對(duì)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求很高,并要用相應(yīng)的表盤顯示出來(lái),且對(duì)數(shù)據(jù)傳輸?shù)姆€(wěn)定性要求更高,網(wǎng)絡(luò)通信實(shí)現(xiàn)不間斷傳輸更是困難;
(2) 手機(jī)客戶端APP通過(guò)觸屏控制云臺(tái),并顯示拍攝視頻畫面。顯示視頻就很困難,而通過(guò)觸摸屏幕不同方位,控制云臺(tái)方向更是困難;
(3) 視頻處理是利用M?JPEG格式圖片,在規(guī)定時(shí)間內(nèi)傳輸一定張數(shù),顯示出視頻畫面。如果對(duì)DierctShow技術(shù)內(nèi)部細(xì)節(jié)掌握不夠,處理視頻時(shí)就會(huì)很困難。關(guān)鍵技術(shù)有:下位機(jī)程序模塊化編寫;上位機(jī)PC端軟件編寫;手機(jī)客戶端APP的編寫;TCP/IP通信協(xié)議的設(shè)定;機(jī)器人作為無(wú)線網(wǎng)接入網(wǎng)絡(luò);機(jī)器人智能模式的完成。
4 系統(tǒng)仿真與結(jié)果分析
4.1 物聯(lián)網(wǎng)智能機(jī)器人整體外觀
物聯(lián)網(wǎng)智能機(jī)器人外觀設(shè)計(jì)見(jiàn)圖5,整個(gè)設(shè)計(jì)主要分為上位機(jī)PC端、手機(jī)客戶端APP和機(jī)器人三個(gè)部分。