本站小編為你精心準(zhǔn)備了WiFi的云機(jī)器人設(shè)計(jì)思考參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
《電子器件雜志》2014年第三期
1基于wifi的云機(jī)器人的硬件設(shè)計(jì)
電機(jī)模塊同機(jī)器車上的最小系統(tǒng)一起,通過無線模塊將遙控板和小車系統(tǒng)聯(lián)系起來,小車系統(tǒng)的核心是由MCU構(gòu)成,將小車各個功能聯(lián)系起來。圖2為總體設(shè)計(jì)圖,圖3為硬件設(shè)計(jì)圖。圖2中機(jī)器人通過WiFi信號接收來自主控端的指令,通過終軟件將采集到的數(shù)據(jù)上傳到云端,云則是充當(dāng)了數(shù)據(jù)庫和計(jì)算中心,同時可將采集到的數(shù)據(jù)提供給其他機(jī)器人使用,實(shí)現(xiàn)共享。本文主要基于SAAS模式,來進(jìn)行設(shè)計(jì),比較簡單。機(jī)器車的工作模式主要有避障和遙控兩種,對系統(tǒng)進(jìn)行不同的運(yùn)行控制時,引起不同的運(yùn)行模塊組合工作。這兩種工作模式通過服務(wù)器中的路徑規(guī)劃算法來進(jìn)行有效控制。(1)無線遙控機(jī)器車中的無線遙控模塊使用的是無線串口XL02-232AP1。XL02-232AP1是UART接口半雙工無線傳輸模塊,可以工作在433MHz公用頻段,用于點(diǎn)對點(diǎn)通信,使用簡單,在對串口的編程時,只要記住其為半雙工通信方式,注意收發(fā)的來回時序即可。當(dāng)機(jī)器車置于無線遙控時,小車主要是通過無線模塊進(jìn)行控制。通過控制鍵盤,產(chǎn)生低電平,單片機(jī)檢測到低電平發(fā)出通過無線模塊發(fā)送相應(yīng)信號時,機(jī)器車上的無線模塊接收到信號,通過小車上的STC12C5A32S2識別信號,對電機(jī)模塊產(chǎn)生相應(yīng)的信號,從而對電機(jī)產(chǎn)生控制,達(dá)到相應(yīng)的控制效果。(2)避障避障模塊使用的是紅外傳感器E18-D80NK。E18-D80NK是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經(jīng)過調(diào)制后發(fā)出,接收頭對反射光進(jìn)行解調(diào)輸出,避免了可見光的干擾。E18-D80NK中的透鏡,可以檢測80cm距離的障礙物,這還要取決于顏色,根據(jù)光學(xué)特性,對不同顏色的物體,測距有不同,白色物體最遠(yuǎn),黑色物體最近。當(dāng)機(jī)器車處于自動運(yùn)行狀態(tài)時,通過紅外線檢測機(jī)器車前方是否有障礙物,當(dāng)紅外開關(guān)檢測到障礙物,產(chǎn)生相應(yīng)信號給單片機(jī),并根據(jù)基于模糊神經(jīng)網(wǎng)絡(luò)的蟻群優(yōu)化算法判斷轉(zhuǎn)向,同時指示電機(jī)模塊產(chǎn)生相應(yīng)信號,從而控制電機(jī)轉(zhuǎn)速,產(chǎn)生相應(yīng)的狀態(tài)。
1.1主控板設(shè)計(jì)采用LQFP44封裝的STC12C5A32S2單片機(jī)控制,在單片機(jī)系統(tǒng)上,擁有一個完整的P4口,用于控制舵機(jī)[2]。為了讓控制板作為核心,單片機(jī)的控制板只引出下載程序使用的STC_ISP接口,可以方便電腦下載STC單片機(jī)程序,下載程序時只需要采用232轉(zhuǎn)換電路小板。在電源設(shè)計(jì)上,設(shè)計(jì)了一個電源輸入接口,采用LM2956S-5.0穩(wěn)壓芯片,輸出5V穩(wěn)定電壓,更大地提高穩(wěn)壓效率及降低功耗,輸入電壓范圍寬(5.5V~24V)。(1)車身燈接口本設(shè)計(jì)采用了三極管放大,低電平控制[3],輸出為2位排針,可以連接車身燈的LED,如果采用普通LED,根據(jù)本設(shè)計(jì)加入470Ω限流電阻,可以直接連接LED。(2)驅(qū)動板接口驅(qū)動板采用通用直流電機(jī)驅(qū)動接口方式,對于控制信號來說分成兩組,每組3個信號,分別是ENA、IN1、IN2;ENB、IN3、IN4,分別對應(yīng)單片機(jī)的相應(yīng)引腳,由驅(qū)動板的接口程序控制。為了方便驅(qū)動板使用邏輯電平,在接口處設(shè)計(jì)5V電源。驅(qū)動模塊輸出的波形圖如圖4所示,分頻模式選擇信號如是Mode為低,完成對輸入時鐘信號clkI、clkIN的4分頻;是Mode為高,進(jìn)行5分頻。分頻后時鐘進(jìn)行后續(xù)的數(shù)據(jù)串并轉(zhuǎn)換使用,因使用角度不同,需要產(chǎn)生不同的分頻時鐘,用于移位存儲鏈的時鐘占空比,若Mode為低,即4分頻時為1∶3;若Mode為高,即5分頻時為1∶4,用作同步輸出的時鐘占空比均為1∶1。(3)P46、P47電壓跳線電壓跳線是為P46、P47端口控制舵機(jī)使用[4],也是為機(jī)械手臂舵機(jī)使用。不同跳線對應(yīng)P46、P47的兩組不同工作電壓,跳至上面為5V,跳至下面與P4口其他電壓一致。如果這兩個端口控制小云臺,那么電壓跳線接至上面。(4)舵機(jī)接口舵機(jī)接口專為控制舵機(jī)而設(shè)計(jì),三線舵機(jī)、電源由獨(dú)立穩(wěn)壓可調(diào)芯片提供,滿足舵機(jī)工作電壓需求。VCC_6V并不是固定6V,由電壓調(diào)節(jié)電位器決定。(5)ISP串口此接口可以采用USB轉(zhuǎn)串口232的TTL方式,下載單片機(jī)程序,或者與其他TTL通信設(shè)計(jì)進(jìn)行連接。
1.2電機(jī)驅(qū)動板設(shè)計(jì)本設(shè)計(jì)中可以驅(qū)動兩個直流電機(jī),每一路L293輸出引出了兩個并聯(lián)的端口,以便控制四輪的小車,左右兩邊的電機(jī)并聯(lián)運(yùn)行[5]。本驅(qū)動板也可以控制D42步進(jìn)電機(jī)、四線制的步進(jìn)電機(jī)。L293有兩個電壓輸入,一個是給電機(jī)的電壓,一個是給芯片工作與控制邏輯的參考電壓。L293有4個驅(qū)動門,每個IN1對應(yīng)一個OUT1,當(dāng)IN1為高電平時,OUT1輸出高電平,電壓為VSS,也就是給這個芯片電機(jī)的供電電壓(注意這里不是邏輯電壓)[6]。本設(shè)計(jì)中每兩個驅(qū)動門做成一路控制電機(jī)的信號,這樣可以使電機(jī)在4個象限運(yùn)行,即正轉(zhuǎn)、反轉(zhuǎn)、停車、自由滑行。ENA與ENB的使能的控制,如果采用PWM對電機(jī)進(jìn)行調(diào)速,可以在ENA與ENB中分別接入PWM信號,IN1與IN2,IN3與IN4,分別可以控制電機(jī)的正反轉(zhuǎn)與不轉(zhuǎn)。如果利用本電路板去控制步進(jìn)電機(jī),就把步進(jìn)線接到OUT1、OUT2、OUT3、OUT4。在硬件設(shè)計(jì)中,還有一些關(guān)鍵元器件的選擇不容忽視,它們會對電路的整體性能產(chǎn)生影響,因此本設(shè)計(jì)中通過研究電路中濾波電容在變化時對電路性能的影響。在進(jìn)行瞬態(tài)分析時,同時啟動“參數(shù)掃描”分析,即可非常迅速、直觀地了解到電路中特定元件參數(shù)變化對電路性能的影響。具體仿真圖如圖5所示。
2基于模糊神經(jīng)網(wǎng)絡(luò)的蟻群優(yōu)化算法
本設(shè)計(jì)中的機(jī)器人是要能在高、低溫、無人區(qū)、危險(xiǎn)環(huán)境中作業(yè),其周邊干擾多、情況復(fù)雜,因此本設(shè)計(jì)中使用基于模糊神經(jīng)網(wǎng)絡(luò)的蟻群優(yōu)化算法,利用神經(jīng)網(wǎng)絡(luò)和模糊理論進(jìn)行學(xué)習(xí),蟻群優(yōu)化算法ACO是分布式智能模擬仿生類算法,它模擬螞蟻根據(jù)信息素來尋找選擇避障的最短路徑,減少計(jì)算量,其算法具有很好的效果和魯棒性[1]。把模糊神經(jīng)網(wǎng)絡(luò)與蟻群優(yōu)化算法結(jié)合應(yīng)用于機(jī)器人,以適應(yīng)多變的惡劣環(huán)境。其中用神經(jīng)網(wǎng)絡(luò)主要實(shí)現(xiàn)隸屬關(guān)系,函數(shù)式為:模糊神經(jīng)網(wǎng)絡(luò)和蟻群優(yōu)化算法部分放置在云端,通過云數(shù)據(jù)庫中調(diào)取并計(jì)算分析,為機(jī)器人提供路徑規(guī)劃的最佳方案,綜合運(yùn)用于本設(shè)計(jì)中,提高機(jī)器人的智能化程度和處理速度。機(jī)器車所在的環(huán)境是虛擬的,其中有障礙物,或其他情況,機(jī)器車都僅能感知它范圍內(nèi)的環(huán)境信息。環(huán)境以一定的速率讓信息素消失。這些信息都是通過云去計(jì)算和實(shí)現(xiàn)的。該算法運(yùn)行在云端,作為服務(wù)為機(jī)器車提供路徑規(guī)劃功能。機(jī)器車獲取環(huán)境感知信息,上傳回云端,云端將計(jì)算結(jié)果返回機(jī)器車。
3軟件設(shè)計(jì)
本設(shè)計(jì)中的機(jī)器車有多項(xiàng)功能,如正常運(yùn)行、多角度反轉(zhuǎn)、障礙物的翻越、監(jiān)視、錄像、報(bào)警等,真正達(dá)到了智能化,根據(jù)其功能,在上位機(jī)中設(shè)計(jì)了控制軟件,通過WiFi無線信號對機(jī)器車進(jìn)行遠(yuǎn)距離控制。本設(shè)計(jì)采用模塊程序設(shè)計(jì)法,使用.NET語言實(shí)現(xiàn),完整的程序結(jié)構(gòu)包含.NET框架所提供的支持,在程序執(zhí)行階段,.NET提供了一個程序運(yùn)行時的環(huán)境,這個運(yùn)行時環(huán)境提供管理內(nèi)存、實(shí)時編譯程序、進(jìn)行安全檢查、執(zhí)行垃圾回收等[8]。對于圖6的主程序設(shè)計(jì)流程圖而言,運(yùn)行時實(shí)現(xiàn)了這些功能的自動化。具體程序設(shè)計(jì)采用的是限幅濾波法,可以有效克服因偶然因素引起的脈沖干擾,確定兩次采樣允許的最大偏差值(設(shè)為Δ),每次檢測到新值時判斷,如果本次值與上次值之差<=Δ,則本次值有效;如果本次值與上次值之差>Δ,則本次值無效,放棄本次值,用上次值代替本次值。具體算法使用函數(shù)AmplitudeLimiterFilter(),即限幅濾波法,調(diào)用函數(shù)GetAD(),用來取得當(dāng)前值。全局變量Value表示最近一次有效采樣的值,在主程序里賦值;NewValue表示當(dāng)前采樣的值,ReturnValue為返回值,是本次濾波結(jié)果。常量Δ為兩次采樣的最大誤差值,該值需要根據(jù)實(shí)際情況設(shè)置。(1)系統(tǒng)初始化系統(tǒng)初始化包括對芯片、控制器、無線收發(fā)及對系統(tǒng)的初始化,Windows系統(tǒng)主要完成對CPU、SDRAM等芯片的初始化;加載攝像頭和USB2.0控制器的驅(qū)動程序,為應(yīng)用程序的執(zhí)行做好準(zhǔn)備,對于數(shù)據(jù)寄存器、地址寄存器、中斷服務(wù)寄存器等其他芯片的初始化進(jìn)行相應(yīng)的操作。(2)實(shí)時碼流傳輸系統(tǒng)初始化完成之后,應(yīng)用程序控制攝像頭驅(qū)動以獲取視頻信號,并保存,程序流程圖3所示,接收無線信號并將碼流數(shù)據(jù)發(fā)送給USB2.0控制器的驅(qū)動程序,驅(qū)動程序隨即將數(shù)據(jù)寫入U(xiǎn)SB2.0控制器的端點(diǎn)緩沖器,USB2.0控制器將端點(diǎn)緩沖器中的視頻數(shù)據(jù)無線發(fā)送出去。(3)視頻接收器的設(shè)計(jì)本設(shè)計(jì)中的視頻接收器是基于PC機(jī)的類似無線網(wǎng)卡的無線接收設(shè)備,硬件結(jié)構(gòu)和nRF2401無線發(fā)射模塊一樣,都是用USB2.0控制器控制nRF2401進(jìn)行有線傳輸。圖7電機(jī)驅(qū)動模塊測試圖(單位:bit)
4實(shí)驗(yàn)結(jié)果
本項(xiàng)目的實(shí)驗(yàn)測試重點(diǎn)是電機(jī)驅(qū)動模塊部分,作為機(jī)器車設(shè)計(jì)的重點(diǎn),測試包含其對機(jī)器車的整體運(yùn)行控制情況,如前進(jìn)、倒退、旋轉(zhuǎn)等。測試環(huán)節(jié)包括驅(qū)動模塊是否正常、軟件是否正常等。圖7所示為當(dāng)主控端和機(jī)器車無線連接后,從主控端操作界面發(fā)送行走指令,對應(yīng)發(fā)送的指令代碼10100000101000101010101011000010010100001時的電壓與頻率的關(guān)系圖。以上二進(jìn)制的字符串發(fā)送完畢,機(jī)器車即能正常運(yùn)行起來。若沒有較大延時,說明機(jī)器車軟件設(shè)計(jì)沒有問題。這個實(shí)驗(yàn)同時表明了在機(jī)器車運(yùn)動過程中,所有的實(shí)測數(shù)據(jù)通過主控端存儲在云端。本項(xiàng)目還通過.NET設(shè)計(jì)顯示界面,來觀察主控端程序接收數(shù)據(jù)情況,從而測試電機(jī)驅(qū)動模塊發(fā)送數(shù)據(jù)的有效性及車速等數(shù)據(jù),如圖8所示,縱軸表示電壓,橫軸表示時間s。在數(shù)據(jù)顯示界面上顯示出機(jī)器車的速度和行走時間的關(guān)系,當(dāng)前車速為為3m/s,電池電量剩余86%,舵機(jī)轉(zhuǎn)角位為23°。在接收時,需先在IP地址中輸入云遙控車預(yù)先設(shè)置的IP地址端口號,以實(shí)現(xiàn)與無線模塊的連接,然后上位機(jī)程序就可以將接收到的舵機(jī)轉(zhuǎn)角、車速及電池電量等定時信息顯示出來,并根據(jù)中心線數(shù)各監(jiān)控參數(shù)的實(shí)時/歷史曲線,使用戶更加方便地了解整個遙控車的變化情況;圖8中表示整個機(jī)器車的運(yùn)行情況,從曲線圖上可以看出,整個機(jī)器車運(yùn)行狀態(tài)穩(wěn)定。這個實(shí)驗(yàn)結(jié)果說明:遙控車在云計(jì)算的控制下運(yùn)行速度正常,反應(yīng)比較靈敏。
5結(jié)束語
基于WiFi的云機(jī)器人是根據(jù)現(xiàn)有機(jī)器人硬件設(shè)計(jì)笨重、運(yùn)算系統(tǒng)復(fù)雜、反應(yīng)遲緩的缺陷而設(shè)計(jì),充分結(jié)合了現(xiàn)代最新的通信技術(shù),通過人機(jī)操作界面,操作簡單、使用方便。本設(shè)計(jì)中將機(jī)器人與云計(jì)算、WiFi相結(jié)合,硬件設(shè)計(jì)進(jìn)行了無線遙控、調(diào)速、超聲波測距、紅外感應(yīng)、液晶顯示等關(guān)鍵模塊的設(shè)計(jì),軟件上采用了基于限幅濾波法的模塊化編程。基于云平臺的數(shù)據(jù)庫與強(qiáng)大的計(jì)算功能,為機(jī)器人提供智能處理、路徑規(guī)劃及存儲功能。通過理論分析和實(shí)驗(yàn)仿真驗(yàn)證,此設(shè)計(jì)安全可靠,具有實(shí)時監(jiān)控、操作靈活簡便、價格低廉等特點(diǎn),符合智能化機(jī)器人的發(fā)展方向,具有較好的應(yīng)用及推廣價值。
作者:馬虹單位:南京工業(yè)職業(yè)技術(shù)學(xué)院能源與電氣工程學(xué)院