基于全局視覺的多仿生機(jī)器魚系統(tǒng)(Multiple Robotic Fish System,MRFS)一般由機(jī)器魚子系統(tǒng)、視覺子系統(tǒng)、決策與仿真子系統(tǒng)和無線通信子系統(tǒng)四部分組成。其中,無線通信子系統(tǒng)主要負(fù)責(zé)決策與仿真子系統(tǒng)和機(jī)器魚子系統(tǒng)的信息交互,F(xiàn)階段,機(jī)器魚子系統(tǒng)和決策與仿真子系統(tǒng)之間多采取單向通信,即決策與仿真子系統(tǒng)形成的控制命令通過計(jì)算機(jī)串口和無線發(fā)射單元發(fā)送給機(jī)器魚子系統(tǒng),而機(jī)器魚子系統(tǒng)則是通過自帶的無線接收單元來接收單元來接收上位機(jī)的命令,并由機(jī)器魚載AVR單片機(jī)對(duì)接收到的命令進(jìn)行處理,從而控制多仿生機(jī)器魚的行為,使其完成某一任務(wù)。所以,該通信系統(tǒng)應(yīng)能利用一臺(tái)發(fā)射器來向多個(gè)機(jī)器魚來發(fā)送相應(yīng)的命令。本文根據(jù)MRFS實(shí)時(shí)、準(zhǔn)確的實(shí)際要求,對(duì)通信子系統(tǒng)的硬件設(shè)計(jì)和通信協(xié)議進(jìn)行了分析描述。 1 多仿生機(jī)器魚通信子系統(tǒng)的硬件設(shè)計(jì) MRFS通信系統(tǒng)由無線發(fā)射單元、通信線纜和均線接收單元組成。無線發(fā)射單元通過電纜和主機(jī)相連,以便將決策子系統(tǒng)的命令以無線廣播的方式發(fā)送給每個(gè)機(jī)器魚自帶的接收單元;而無線接收單元?jiǎng)t和機(jī)器魚載單片機(jī)相連,主要是根據(jù)命令來控制機(jī)器魚的行為。該通信子系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。 1.1 無線發(fā)射單元的硬件設(shè)計(jì) 在本文介紹的設(shè)計(jì)方法中,無線發(fā)射單元的核心部件采用了一種新型的超小型、超低功耗、高速無線數(shù)傳MODEM無線收發(fā)模塊PTR2030,圖2所示是該模塊的引腳排列示意圖。其引腳功能如下: VCC:正電源; CS:頻道選擇端,該端必須為高(即CS=1),以選擇工作頻道為315 MHz; DO:數(shù)據(jù)輸出端; DI:數(shù)據(jù)輸入端; GND:電源地; PWR:節(jié)能控制端,當(dāng)PWR為高電平時(shí),為正常工作狀態(tài);PWR為低電平時(shí),為待機(jī)微功耗狀態(tài); TXEN:發(fā)射接收控制端,當(dāng)TXEN為1時(shí),模塊為發(fā)射狀態(tài);TXEN為0時(shí),模塊為接收狀態(tài)。 該模塊由單IC組合而成,接收發(fā)射合一,內(nèi)置環(huán)形天線,體積小,非常適合嵌入式設(shè)備;它采用FSK調(diào)制方式,工作頻率為國際通用的315MHz數(shù)傳頻段,抗干擾能力很強(qiáng);單向傳輸速率可達(dá)20 KB/s,而且工作電壓低(2.7~3.3 V),功耗小,待機(jī)狀態(tài)時(shí)的電流僅為8 μA;此外,模塊還與CMOS和TTL邏輯兼容,可直接與單片機(jī)串口相連,編程非常方便。 由于決策子系統(tǒng)生成的控制命令是由主機(jī)通過常用的RS-232串行接口發(fā)出的,而PTR2030可以接收的是TTL/CMOS電平,因此,該接口電路需要進(jìn)行電平轉(zhuǎn)換。本設(shè)計(jì)采用Intersil公司生產(chǎn)的電平轉(zhuǎn)換芯片ICL232來完成該轉(zhuǎn)換。ICL232芯片包含兩路驅(qū)動(dòng)器和接收器,可以完全滿足系統(tǒng)的要求。PTR2030的PWR端接高電平可使其處于工作狀態(tài);TXEN端可通過ICL232由上位機(jī)編程控制;DI端和DO端則通過ICL232和上位機(jī)的RXD和TXD相聯(lián)。ICL232將RS-232電平轉(zhuǎn)化為TTL電平后,可通過諷制發(fā)射模塊PTR2030以無線電波的形式發(fā)射出去。無線發(fā)射單元的原理圖如圖3所示。 1.2 無線接收單元的硬件設(shè)計(jì) 決策子系統(tǒng)的控制命令由無線發(fā)射單元以無線電波方式發(fā)送后,經(jīng)無線接收單元解調(diào)為單片機(jī)可識(shí)別的信號(hào)并送到機(jī)器魚載單片機(jī)進(jìn)行處理,以實(shí)現(xiàn)對(duì)各機(jī)器魚的控制。由于單片機(jī)系統(tǒng)可以直接接收TTL/CMOS電平,所以,PTR2030和單片機(jī)之間不需要進(jìn)行電平轉(zhuǎn)化,可以直接連接。這樣,PTR2030無線MODEM的DI端應(yīng)接單片機(jī)串口的發(fā)送端,DO端應(yīng)接單片機(jī)串口的接收端。利用單片機(jī)的I/O端口可以對(duì)模塊的發(fā)射、頻道轉(zhuǎn)換和低功耗模式進(jìn)行控制。在MRFS系統(tǒng)中,機(jī)器魚載單片機(jī)采用ATMEL公司推出的新型AVR單片機(jī)ATmega16L。該芯片具有先進(jìn)的RISC架構(gòu),其數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,故能較好的處理系統(tǒng)在功耗和處理速度之間的矛盾,非常適用于機(jī)器魚或機(jī)器人這樣實(shí)時(shí)性和可靠性要求較高的智能系統(tǒng)。該無線接收單元原理圖如圖4所示。 2 通信協(xié)議的設(shè)計(jì) 在MRFS中,一臺(tái)PC機(jī)(上位機(jī))通常需要對(duì)應(yīng)多個(gè)機(jī)器魚(下位機(jī)),因此,該系統(tǒng)屬于主從式數(shù)據(jù)傳輸系統(tǒng)。本設(shè)計(jì)采用單工通信方式(即決策系統(tǒng)的命令由PC機(jī)發(fā)送給各個(gè)機(jī)器魚載單片機(jī)),機(jī)器魚的運(yùn)動(dòng)信息通常是由視覺子系統(tǒng)提供給PC機(jī),而機(jī)器魚本身不向PC機(jī)發(fā)送命令。單工通信系統(tǒng)的協(xié)調(diào)完全由發(fā)送端控制,發(fā)送端采用帶地址碼的數(shù)據(jù)幀發(fā)送數(shù)據(jù)或命令,然后由各機(jī)器魚全部接收,并將接收的地址碼與自己的地址碼進(jìn)行比較,地址碼不同則忽略數(shù)據(jù)(不做任何響應(yīng));地址碼相同,則證明某個(gè)機(jī)器魚已被PC機(jī)尋址,該機(jī)器魚則根據(jù)發(fā)送的數(shù)據(jù)或命令進(jìn)行不同的響應(yīng)。這種傳輸方式可保證在任何一個(gè)瞬間,只有一個(gè)機(jī)器魚被尋址,從而避免了相互干擾。圖5所示是某個(gè)機(jī)器魚通信子程序的流程圖。由于本系統(tǒng)采用的是無線數(shù)據(jù)傳輸方式,因而數(shù)據(jù)必須進(jìn)行規(guī)定格式的處理,其數(shù)據(jù)包的格式如下: 3 糾錯(cuò)編碼的設(shè)計(jì) 在無線通信系統(tǒng)中,盡管硬件電路中已引入了一些抗干擾措施,但數(shù)據(jù)在傳輸過程中,不可避免地還會(huì)受到各種干擾,從而使通信接收端收到的數(shù)據(jù)與發(fā)送端實(shí)際發(fā)出的數(shù)據(jù)出現(xiàn)不一致的現(xiàn)象。因此,為了保證系統(tǒng)的可靠性,設(shè)計(jì)時(shí)必須在通信系統(tǒng)中加入差錯(cuò)控制編碼(糾錯(cuò)編碼)措施。常用的糾錯(cuò)控制方式主要有三種:檢錯(cuò)重發(fā)(ARQ)、前向糾錯(cuò)(FEC)和混合糾錯(cuò)(HEC)。本系統(tǒng)是單工通信方式,適合采用既有檢錯(cuò)功能又有糾錯(cuò)功能的BCH (7,4)前向糾錯(cuò)分組碼控制,因而需要使用兩字節(jié)的長度來發(fā)送一字節(jié)的有效信息。事實(shí)證明,該糾錯(cuò)方式無論在多機(jī)器魚系統(tǒng)還是在足球機(jī)器人系統(tǒng)都取得了較好的效果。 4 結(jié)束語 本文介紹了多仿生機(jī)器魚通信子系統(tǒng)的接收和發(fā)射單元的硬件設(shè)計(jì)和通信協(xié)議。討論了機(jī)器魚通信子系統(tǒng)的軟件運(yùn)行程序和通信中的糾錯(cuò)編碼設(shè)計(jì)方法。該方法可極大的提高M(jìn)RFS的可靠性,從而為拓展MRFS功能提供了一個(gè)可靠的平臺(tái)。 |