馬 虹
(南京工業(yè)職業(yè)技術(shù)學院能源與電氣工程學院,南京210023)
基于WiFi的云機器人設計研究*
馬 虹*
(南京工業(yè)職業(yè)技術(shù)學院能源與電氣工程學院,南京210023)
結(jié)合通信技術(shù)最新發(fā)展,將機器人中的復雜控制程序移到云中,基于WiFi設計的一種云機器人系統(tǒng),可以簡化機器人的設計,提高機器人的反應能力,并可用于構(gòu)建大規(guī)模機器人群組。針對該系統(tǒng)設計了基于模糊神經(jīng)網(wǎng)絡的蟻群優(yōu)化算法,通過SAAS模式向云機器人提供路徑規(guī)劃服務,提高了機器人的路徑選擇精確度與環(huán)境適應性。通過實驗驗證,設計安全可靠,本方案是有效可行的,符合智能化機器人的發(fā)展方向,具有較好的應用及推廣價值。
WiFi;云計算;機器人;數(shù)據(jù)處理;.NET設計
傳統(tǒng)的機器人設計笨重,反應遲緩,價格昂貴,而隨著市場的推動,人們生活需求的日益提高,尤其對于一些高危地區(qū),需要提高智能化程度,這使機器人市場重新活躍。本設計研究了一種基于WiFi的云機器人,即基于云計算的無線局域網(wǎng)機器人控制系統(tǒng),它將機器人的復雜設計通過云計算進行簡化[7],數(shù)據(jù)處理與傳輸是基于“云”端的數(shù)據(jù)流技術(shù),研究的關(guān)鍵技術(shù)是信息的傳遞要求、接口技術(shù)、協(xié)議標準、通信程序編制、軟件支持等,這些技術(shù)的研究有助于網(wǎng)絡機器人數(shù)據(jù)流處理的無縫對接,實現(xiàn)網(wǎng)絡環(huán)境下人監(jiān)控的移動機器人半自主運動的遙控指令操作。基于無線局域網(wǎng)的控制方式能夠方便的把單一機器人擴展為機器人組并使之協(xié)調(diào)動作,同時保證數(shù)據(jù)傳輸?shù)募皶r性和穩(wěn)定性。本研究適用于大規(guī)模的工業(yè)機器人應用、把單一機器人擴展為機器人組、智能家居系統(tǒng)中高速可靠的遠程控制,以及特殊環(huán)境下的工業(yè)機器人高速通信鏈路支撐等領(lǐng)域。該研究設計降低了機器人的制作成本,擴大其應用范圍及市場,尤其適合于火山探險、深海探密、空間探索,軍事場地巡邏、偵察、監(jiān)視,在生物、化學、核試驗場地等的危險區(qū)作業(yè)等。
云機器人是一種新型的機器人系統(tǒng),它充分利用云計算的優(yōu)勢來提高機器人系統(tǒng)的效能并降低機器人設計制造甚至使用的成本。近年來,云計算和WiFi技術(shù)發(fā)展迅速。云計算,即一種計算模式,利用虛擬化技術(shù),通過Internet向人們提供即時所需的各類資源[8],如計算、存儲以及各種服務,憑借其強大的整合能力、動態(tài)擴展能力等特點,受到了各界的關(guān)注。WiFi(Wireless Fidelity)是一種短距離無線技術(shù),只要通過無線路由器即可把有線信號轉(zhuǎn)換為WiFi無線信號,方便、快捷,較之ZigBee、藍牙等無線技術(shù),WiFi技術(shù)不僅傳送速率快,傳輸距離也遠,因此應用范圍不斷擴大,同時也為機器人的實時數(shù)據(jù)傳輸提供了可能。本文的云機器人系統(tǒng)就是將這兩類新型技術(shù)結(jié)合,既提高效能簡化設計,又有較廣泛的應用環(huán)境。
本文提出的云機器人系統(tǒng)由3大部分組成,機器人、云平臺與主控端(如圖1)。通過WiFi無線技術(shù),云機器人可以訪問云平臺的計算、存儲等資源,將感知數(shù)據(jù)存放在云端,可以請求路徑規(guī)劃等應用服務;主控端提供人機界面,使得用戶可以控制和操縱機器人,同時也可以訪問云端獲取機器人感知的各種數(shù)據(jù)以及其他相關(guān)數(shù)據(jù);機器人中密集運算的應用都放在云端,充分利用云平臺的計算能力,同時降低了機器人的資源要求,簡化了云機器人的設計。本文著重討論云機器人的軟硬件設計,以機器車為例,分硬件及軟件兩部分分別進行研究設計,硬件上主要針對主控板及驅(qū)動板的設計進行說明。
圖1 云機器人系統(tǒng)
電機模塊同機器車上的最小系統(tǒng)一起,通過無線模塊將遙控板和小車系統(tǒng)聯(lián)系起來,小車系統(tǒng)的核心是由MCU構(gòu)成,將小車各個功能聯(lián)系起來。圖2為總體設計圖,圖3為硬件設計圖。圖2中機器人通過WiFi信號接收來自主控端的指令,通過終端軟件將采集到的數(shù)據(jù)上傳到云端,云則是充當了數(shù)據(jù)庫和計算中心,同時可將采集到的數(shù)據(jù)提供給其他機器人使用,實現(xiàn)共享。本文主要基于SAAS模式,來進行設計,比較簡單。
圖2 控制板電路設計圖
圖3 硬件設計結(jié)構(gòu)圖
機器車的工作模式主要有避障和遙控兩種,對系統(tǒng)進行不同的運行控制時,引起不同的運行模塊組合工作。這兩種工作模式通過服務器中的路徑規(guī)劃算法來進行有效控制。
(1)無線遙控
機器車中的無線遙控模塊使用的是無線串口XL02-232AP1。XL02-232AP1是UART接口半雙工無線傳輸模塊,可以工作在433MHz公用頻段,用于點對點通信,使用簡單,在對串口的編程時,只要記住其為半雙工通信方式,注意收發(fā)的來回時序即可。
當機器車置于無線遙控時,小車主要是通過無線模塊進行控制。通過控制鍵盤,產(chǎn)生低電平,單片機檢測到低電平發(fā)出通過無線模塊發(fā)送相應信號時,機器車上的無線模塊接收到信號,通過小車上的STC12C5A32S2識別信號,對電機模塊產(chǎn)生相應的信號,從而對電機產(chǎn)生控制,達到相應的控制效果。
(2)避障
避障模塊使用的是紅外傳感器E18-D80NK。E18-D80NK是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經(jīng)過調(diào)制后發(fā)出,接收頭對反射光進行解調(diào)輸出,避免了可見光的干擾。E18-D80NK中的透鏡,可以檢測80 cm距離的障礙物,這還要取決于顏色,根據(jù)光學特性,對不同顏色的物體,測距有不同,白色物體最遠,黑色物體最近。
當機器車處于自動運行狀態(tài)時,通過紅外線檢測機器車前方是否有障礙物,當紅外開關(guān)檢測到障礙物,產(chǎn)生相應信號給單片機,并根據(jù)基于模糊神經(jīng)網(wǎng)絡的蟻群優(yōu)化算法判斷轉(zhuǎn)向,同時指示電機模塊產(chǎn)生相應信號,從而控制電機轉(zhuǎn)速,產(chǎn)生相應的狀態(tài)。
2.1 主控板設計
采用LQFP44封裝的STC12C5A32S2單片機控制,在單片機系統(tǒng)上,擁有一個完整的P4口,用于控制舵機[2]。為了讓控制板作為核心,單片機的控制板只引出下載程序使用的STC_ISP接口,可以方便電腦下載STC單片機程序,下載程序時只需要采用232轉(zhuǎn)換電路小板。
在電源設計上,設計了一個電源輸入接口,采用LM2956S-5.0穩(wěn)壓芯片,輸出5 V穩(wěn)定電壓,更大地提高穩(wěn)壓效率及降低功耗,輸入電壓范圍寬(5.5 V~24 V)。
(1)車身燈接口
本設計采用了三極管放大,低電平控制[3],輸出為2位排針,可以連接車身燈的LED,如果采用普通LED,根據(jù)本設計加入470 Ω限流電阻,可以直接連接LED。
(2)驅(qū)動板接口
驅(qū)動板采用通用直流電機驅(qū)動接口方式,對于控制信號來說分成兩組,每組3個信號,分別是ENA、IN1、IN2;ENB、IN3、IN4,分別對應單片機的相應引腳,由驅(qū)動板的接口程序控制。為了方便驅(qū)動板使用邏輯電平,在接口處設計5 V電源。
驅(qū)動模塊輸出的波形圖如圖4所示,分頻模式選擇信號如是Mode為低,完成對輸入時鐘信號clkI、clkIN的4分頻;是Mode為高,進行5分頻。分頻后時鐘進行后續(xù)的數(shù)據(jù)串并轉(zhuǎn)換使用,因使用角度不同,需要產(chǎn)生不同的分頻時鐘,用于移位存儲鏈的時鐘占空比,若Mode為低,即4分頻時為1∶3;若Mode為高,即5分頻時為1∶4,用作同步輸出的時鐘占空比均為1∶1。
圖4 分頻時正弦波形輸出
(3)P46、P47電壓跳線
電壓跳線是為P46、P47端口控制舵機使用[4],也是為機械手臂舵機使用。不同跳線對應P46、P47的兩組不同工作電壓,跳至上面為5 V,跳至下面與P4口其他電壓一致。如果這兩個端口控制小云臺,那么電壓跳線接至上面。
(4)舵機接口
舵機接口專為控制舵機而設計,三線舵機、電源由獨立穩(wěn)壓可調(diào)芯片提供,滿足舵機工作電壓需求。VCC_6V并不是固定6 V,由電壓調(diào)節(jié)電位器決定。
(5)ISP串口
此接口可以采用USB轉(zhuǎn)串口232的TTL方式,下載單片機程序,或者與其他TTL通信設計進行連接。
2.2 電機驅(qū)動板設計
本設計中可以驅(qū)動兩個直流電機,每一路L293輸出引出了兩個并聯(lián)的端口,以便控制四輪的小車,左右兩邊的電機并聯(lián)運行[5]。本驅(qū)動板也可以控制D42步進電機、四線制的步進電機。
L293有兩個電壓輸入,一個是給電機的電壓,一個是給芯片工作與控制邏輯的參考電壓。L293有4個驅(qū)動門,每個IN1對應一個OUT1,當IN1為高電平時,OUT1輸出高電平,電壓為VSS,也就是給這個芯片電機的供電電壓(注意這里不是邏輯電壓)[6]。
本設計中每兩個驅(qū)動門做成一路控制電機的信號,這樣可以使電機在4個象限運行,即正轉(zhuǎn)、反轉(zhuǎn)、停車、自由滑行。ENA與ENB的使能的控制,如果采用PWM對電機進行調(diào)速,可以在ENA與ENB中分別接入PWM信號,IN1與IN2,IN3與IN4,分別可以控制電機的正反轉(zhuǎn)與不轉(zhuǎn)。如果利用本電路板去控制步進電機,就把步進線接到 OUT1、OUT2、OUT3、OUT4。
在硬件設計中,還有一些關(guān)鍵元器件的選擇不容忽視,它們會對電路的整體性能產(chǎn)生影響,因此本設計中通過研究電路中濾波電容在變化時對電路性能的影響。在進行瞬態(tài)分析時,同時啟動“參數(shù)掃描”分析,即可非常迅速、直觀地了解到電路中特定元件參數(shù)變化對電路性能的影響。具體仿真圖如圖5所示。
圖5 正弦波各分頻圖
本設計中的機器人是要能在高、低溫、無人區(qū)、危險環(huán)境中作業(yè),其周邊干擾多、情況復雜,因此本設計中使用基于模糊神經(jīng)網(wǎng)絡的蟻群優(yōu)化算法,利用神經(jīng)網(wǎng)絡和模糊理論進行學習,蟻群優(yōu)化算法ACO是分布式智能模擬仿生類算法,它模擬螞蟻根據(jù)信息素來尋找選擇避障的最短路徑,減少計算量,其算法具有很好的效果和魯棒性[1]。把模糊神經(jīng)網(wǎng)絡與蟻群優(yōu)化算法結(jié)合應用于機器人,以適應多變的惡劣環(huán)境。其中用神經(jīng)網(wǎng)絡主要實現(xiàn)隸屬關(guān)系,函數(shù)式為: wc和wg分別確定Sigmoid函數(shù)的中心和寬度。
模糊神經(jīng)網(wǎng)絡在環(huán)境控制中要注意的參數(shù)有:
對于蟻群優(yōu)化算法在本設計中的分析,假設任一螞蟻走到某個地方,下面接下去會選擇的路徑集合為N,集合中任一條路徑n∈N上的信息素濃度為τn,走某條路的代價為ηn,那么選擇某條路徑v∈N的幾率為
式中,參數(shù)α和β分別表示控制信息素和路徑長度的相對重要程度。當這只螞蟻在所有路徑走過一遍后,路徑上的信息素濃度將變?yōu)?
模糊神經(jīng)網(wǎng)絡和蟻群優(yōu)化算法部分放置在云端,通過云數(shù)據(jù)庫中調(diào)取并計算分析,為機器人提供路徑規(guī)劃的最佳方案,綜合運用于本設計中,提高機器人的智能化程度和處理速度。
本設計中對云控制部分有相應的程序設計,下面僅將云控制語句列舉出。
程序設計中涉及的參數(shù)有k為迭代次數(shù)(指機器車轉(zhuǎn)動多少次存儲在云端);m為遙控車啟動避障的次數(shù)(存儲在云端);E為終止點(最短路徑的目的點)。
機器車所在的環(huán)境是虛擬的,其中有障礙物,或其他情況,機器車都僅能感知它范圍內(nèi)的環(huán)境信息。環(huán)境以一定的速率讓信息素消失。這些信息都是通過云去計算和實現(xiàn)的。
該算法運行在云端,作為服務為機器車提供路徑規(guī)劃功能。機器車獲取環(huán)境感知信息,上傳回云端,云端將計算結(jié)果返回機器車。
本設計中的機器車有多項功能,如正常運行、多角度反轉(zhuǎn)、障礙物的翻越、監(jiān)視、錄像、報警等,真正達到了智能化,根據(jù)其功能,在上位機中設計了控制軟件,通過WiFi無線信號對機器車進行遠距離控制。
本設計采用模塊程序設計法,使用.NET語言實現(xiàn),完整的程序結(jié)構(gòu)包含.NET框架所提供的支持,在程序執(zhí)行階段,.NET提供了一個程序運行時的環(huán)境,這個運行時環(huán)境提供管理內(nèi)存、實時編譯程序、進行安全檢查、執(zhí)行垃圾回收等[8]。對于圖6的主程序設計流程圖而言,運行時實現(xiàn)了這些功能的自動化。
圖6 主程序設計流程圖
具體程序設計采用的是限幅濾波法,可以有效克服因偶然因素引起的脈沖干擾,確定兩次采樣允許的最大偏差值(設為Δ),每次檢測到新值時判斷,如果本次值與上次值之差<=Δ,則本次值有效;如果本次值與上次值之差>Δ,則本次值無效,放棄本次值,用上次值代替本次值。
具體算法使用函數(shù)Amplitude Limiter Filter(),即限幅濾波法,調(diào)用函數(shù)Get AD(),用來取得當前值。全局變量Value表示最近一次有效采樣的值,在主程序里賦值;New Value表示當前采樣的值,Return Value為返回值,是本次濾波結(jié)果。常量Δ為兩次采樣的最大誤差值,該值需要根據(jù)實際情況設置。
(1)系統(tǒng)初始化
系統(tǒng)初始化包括對芯片、控制器、無線收發(fā)及對系統(tǒng)的初始化,Windows系統(tǒng)主要完成對 CPU、SDRAM等芯片的初始化;加載攝像頭和USB2.0控制器的驅(qū)動程序,為應用程序的執(zhí)行做好準備,對于數(shù)據(jù)寄存器、地址寄存器、中斷服務寄存器等其他芯片的初始化進行相應的操作。
(2)實時碼流傳輸
系統(tǒng)初始化完成之后,應用程序控制攝像頭驅(qū)動以獲取視頻信號,并保存,程序流程圖3所示,接收無線信號并將碼流數(shù)據(jù)發(fā)送給USB2.0控制器的驅(qū)動程序,驅(qū)動程序隨即將數(shù)據(jù)寫入USB2.0控制器的端點緩沖器,USB2.0控制器將端點緩沖器中的視頻數(shù)據(jù)無線發(fā)送出去。
(3)視頻接收器的設計
本設計中的視頻接收器是基于PC機的類似無線網(wǎng)卡的無線接收設備,硬件結(jié)構(gòu)和nRF2401無線發(fā)射模塊一樣,都是用 USB2.0控制器控制nRF2401進行有線傳輸。
本項目的實驗測試重點是電機驅(qū)動模塊部分,作為機器車設計的重點,測試包含其對機器車的整體運行控制情況,如前進、倒退、旋轉(zhuǎn)等。測試環(huán)節(jié)包括驅(qū)動模塊是否正常、軟件是否正常等。
圖7 電機驅(qū)動模塊測試圖(單位:bit)
圖7所示為當主控端和機器車無線連接后,從主控端操作界面發(fā)送行走指令,對應發(fā)送的指令代碼是10100000101000101010101011000010010100001時 的電壓與頻率的關(guān)系圖。
以上二進制的字符串發(fā)送完畢,機器車即能正常運行起來。若沒有較大延時,說明機器車軟件設計沒有問題。這個實驗同時表明了在機器車運動過程中,所有的實測數(shù)據(jù)通過主控端存儲在云端。
本項目還通過.NET設計顯示界面,來觀察主控端程序接收數(shù)據(jù)情況,從而測試電機驅(qū)動模塊發(fā)送數(shù)據(jù)的有效性及車速等數(shù)據(jù),如圖8所示,縱軸表示電壓,橫軸表示時間s。
圖8 主控端顯示圖
在數(shù)據(jù)顯示界面上顯示出機器車的速度和行走時間的關(guān)系,當前車速為為3 m/s,電池電量剩余86%,舵機轉(zhuǎn)角位為23°。在接收時,需先在IP地址中輸入云遙控車預先設置的IP地址端口號,以實現(xiàn)與無線模塊的連接,然后上位機程序就可以將接收到的舵機轉(zhuǎn)角、車速及電池電量等定時信息顯示出來,并根據(jù)中心線數(shù)各監(jiān)控參數(shù)的實時/歷史曲線,使用戶更加方便地了解整個遙控車的變化情況;圖8中表示整個機器車的運行情況,從曲線圖上可以看出,整個機器車運行狀態(tài)穩(wěn)定。這個實驗結(jié)果說明:遙控車在云計算的控制下運行速度正常,反應比較靈敏。
基于WiFi的云機器人是根據(jù)現(xiàn)有機器人硬件設計笨重、運算系統(tǒng)復雜、反應遲緩的缺陷而設計,充分結(jié)合了現(xiàn)代最新的通信技術(shù),通過人機操作界面,操作簡單、使用方便。本設計中將機器人與云計算、WiFi相結(jié)合,硬件設計進行了無線遙控、調(diào)速、超聲波測距、紅外感應、液晶顯示等關(guān)鍵模塊的設計,軟件上采用了基于限幅濾波法的模塊化編程?;谠破脚_的數(shù)據(jù)庫與強大的計算功能,為機器人提供智能處理、路徑規(guī)劃及存儲功能。通過理論分析和實驗仿真驗證,此設計安全可靠,具有實時監(jiān)控、操作靈活簡便、價格低廉等特點,符合智能化機器人的發(fā)展方向,具有較好的應用及推廣價值。
[1] 朱丹峰,葛主冉,林曉雷.基于Android平臺的無線遙控智能小車[J].電子器件,2013,36(3):408-412.
[2] 吳宏岐,郭夢宇.基于STC單片機的仿生六足機器人設計[J].電子器件,2013,36(1):128-131.
[3] 張瑞森,劉冀偉.基于雙目機器人的實時測距與追蹤系統(tǒng)[J].電子器件,2007,30(5):1618-1621.
[4] 楊秀萍,劉嵩巖.基于無線傳感器網(wǎng)絡的移動機器人定位導航系統(tǒng)[J].電子器件,2007,30(6):2265-2268.
[5] 何鵬舉.基于Web服務的無線網(wǎng)絡節(jié)點傳感器研究[J].傳感技術(shù)學報,2009,22(11):1634-1638.
[6] 陳輝,鄧記才,吳曉輝,等.多傳感器信息融合在輪式機器人運動控制中的應用[J].傳感技術(shù)學報,2011,24(6):915-918.
[7] 余翀,高翔,邱其文.基于多傳感器數(shù)據(jù)融合的機器人里程計設計與實現(xiàn)[J].傳感技術(shù)學報,2012,25(1):53-57.
[8] 宋光明,葛運建,張建軍.基于藍牙技術(shù)的智能機器人傳感器網(wǎng)絡研究[J].傳感技術(shù)學報,2003,16(1):1-5.
馬 虹(1979- ),女,漢族,江蘇南京人,南京工業(yè)職業(yè)技術(shù)學院工作,研究生,講師,研究方向為數(shù)據(jù)通信,mh_ purple@163.com。
Design of the Robot Based on WiFi and Cloud Computing*
MA Hong*
(School of Energy Source and Electric Engineering,Nanjing Institute of Industry Technology,Nanjing 210023,China)
Combining the latest development of communication technology,the complex control program of robots moves to the Cloud,and designs a Cloud-Robot system basing on WiFi.This design can simplify the software design of the robot,improve the flexibility and agility of the robot,and it can be used to build large-scale robot group.Based on fuzzy neural network ACO(The Ant Colony Optimization Algorithm for Fuzzy Neural Network)is used through the SAAS model of the algorithm to robot path planning service,to improve the path selection accuracy and adaptability to the environment of the robot.Through the experiment,the design is safe and reliable,effective and feasible,which conforms to the developing direction of intelligent robot,and has good application and popularization value.
WiFi;Cloud computing;robot;data processing;.NET design
10.3969/j.issn.1005-9490.2014.02.043
TN925.93;TP242;TP393
A
1005-9490(2014)02-0367-06
項目來源:江蘇省精密制造工程技術(shù)研究開發(fā)中心開放基金項目(401050611ZK401)
2013-10-16修改日期:2012-12-09
book=372,ebook=206
EEACC:7210B