擇要:先容了一種用于RobocupF-180小型組足球機器人角逐的無線通信體系的計劃。包羅發(fā)送端跟接收端體系的硬件計劃跟實現(xiàn)及其軟件設(shè)計。給出了一種順應(yīng)于這套體系的通信協(xié)議,包羅物理層的編碼計劃、糾錯編碼計劃跟幀結(jié)構(gòu)設(shè)計。
足球機器人是一個極富挑戰(zhàn)性的下技術(shù)密集密集型名目,融小車機器、機器人學、電機一體化、單片機、數(shù)據(jù)融會、精密儀器、及時數(shù)字信號處理、圖像處理與圖像識別、常識工程與專家系統(tǒng)、決議計劃、軌跡計劃、自組織與自學習實際、多智能體調(diào)和和無線通信等實際跟技巧于一體,既是一個典范的智能機器人體系,又為研討開展多智能體體系、多機器人之間的協(xié)作與反抗供給了生動的研討模子。它經(jīng)由過程供給一個尺度使命,使研討職員應(yīng)用各類技巧取得更好的解決方案,從而無效增進各個領(lǐng)域的開展。其聽實際與技巧可使用于工業(yè)生產(chǎn)、自動化流水線、救濟、教導(dǎo)等理論范疇,從而無效鞭策國度科技經(jīng)濟等方面的開展。機器人足球從一個正面反應(yīng)了一個國度信息與自動化范疇的根底研討跟高技術(shù)開展程度。
現(xiàn)階段,國際上有機器人足球比賽分為兩大系列——FIRA跟Robocup。本文所要闡述的體系所使用的F-180小型足球機器人角逐就是RoboCup系列中使用較普遍的一種。
國內(nèi)分揀機器人F-180小型足球機器人足球比賽的示意圖如圖1所示,角逐單方各有5名機器人小車正在場上。足球機器人體系正在硬件設(shè)備方面包羅機器人小車、攝像安裝、計算機主機跟無線發(fā)射裝置;從功用上分,它包羅機器人小車、視覺、決議計劃跟無線通信四個子系統(tǒng)。此中無線通信體系是跟尾主機跟底層機器人不成短少的一環(huán),它必需保障從主機端到機器人底層之間的數(shù)據(jù)傳遞是靠得住的,從而使得機器人比力可能順遂流利停止。因為角逐單方皆有多個機器人同時在場地上跑動,要求無線通信有必然的抗干擾性。無線通信體系的機能相當程度上間接影響著機器人的場上顯示。
1體系的計劃及實現(xiàn)
物流自動分揀機器人視頻角逐中從攝像頭去的視頻信號顛末計算機處置懲罰之后失掉節(jié)制小車用的數(shù)據(jù)信息,而無線通信體系的就是將這些數(shù)據(jù)信息實時精確天投遞場上的每一個機器人小車,體系采取播送方法,各機器人依據(jù)特定標記辨認發(fā)給本人的有用數(shù)據(jù),從而停止決議計劃與行為。全部體系的框圖如圖2所示。
1.1發(fā)送真?zhèn)€硬件計劃
發(fā)送端次要用PIC16F877單片機實現(xiàn)編碼跟對發(fā)射機的節(jié)制,計算機經(jīng)由過程串行口發(fā)送數(shù)據(jù),顛末PIC16F877編碼后再經(jīng)由過程PTR3000無線通信模塊將數(shù)據(jù)發(fā)送進來。所采取的PIC16F877單片機是Microchip公司推出的8位單片機。采取RISC指令系統(tǒng)跟哈佛總線結(jié)構(gòu),最高運轉(zhuǎn)的時鐘頻次可達20MHz,因此指令運轉(zhuǎn)速率快。它有很寬的工作電壓規(guī)模,可間接與3.3V的PTR3000無線通信模塊共同利用。
TR3000無線數(shù)據(jù)收發(fā)模塊是一種半雙工收發(fā)器,采取NORDIC公司的nrf903無線收發(fā)芯片,工作頻率采取國際通用的數(shù)傳頻段ISM,頻段915MHz,工作頻率可以正在902MHz~928MHz可變。采取GMSK調(diào)制,抗干擾能力強,特殊得當工業(yè)節(jié)制。靈敏度下,到達-100dBm,最大發(fā)射功率+10dBm,工作電壓為2.7V~3.3V。它最多有169個頻道,可滿足需要多頻道的場所,最高數(shù)據(jù)速度可達76.8kbps。因此完整可以知足小型組機器人通訊的數(shù)傳速度與距離的須要。
本體系中PIC16F877就是采取20MHz的時鐘旌旗燈號,可能知足即時收發(fā)數(shù)據(jù)和編碼的須要。全部體系中包括兩種電源,無線通信模塊的電源為3.3V,而MAX232又須要+5電源。信號線的毗鄰也要思量兩種電平的婚配問題,正在需要的處所要加上電平轉(zhuǎn)換電路。
起首單片機要吸收來自計算機真?zhèn)€數(shù)據(jù),計算機串口輸出的旌旗燈號顛末MAX232由232電平轉(zhuǎn)換為TTL電平??墒且驗閱纹瑱C采取3.3V電平,因此MAX232輸出的旌旗燈號需顛末電平轉(zhuǎn)換才氣輸入單片機,電平轉(zhuǎn)換可以采取TI公司供給的典范電平婚配電路,也可采取74LVCXX系列邏輯門來轉(zhuǎn)換。
單片機經(jīng)由過程自帶的異步串行口輸出數(shù)據(jù)到PTR3000通訊模塊。因為nrf903芯片吸收跟發(fā)送數(shù)據(jù)共用一個引腳,因此須要其他電路來解復(fù)用。最簡略的方式就是正在單片機的TX引腳先接一個10kΩ的斷絕電阻,再與RX跟PTR3000的DATA引腳相連??墒沁@類方式有兩個缺陷,它會形成發(fā)送的數(shù)據(jù)串入到單片機的吸收引腳中,此外發(fā)送旌旗燈號的驅(qū)動才能遭到了極大的限定。是以,本體系采取了74HC244三態(tài)緩沖器作為斷絕,而且經(jīng)由過程單片機的RB4節(jié)制收發(fā)形態(tài),因此正在半雙工方法下發(fā)送旌旗燈號與吸收旌旗燈號可以互不滋擾天傳遞。
關(guān)于通訊模塊事情形態(tài)的節(jié)制次要包括表1所列的那幾個旌旗燈號,經(jīng)由過程單片機的平凡I/O心便可節(jié)制。表1PTR3000事情事情形式設(shè)置表
PTR3000事情形式STBYPWR-DWNTXENCS畸形事情:吸收0000畸形事情:發(fā)射0010掉電形式01XX待機形式10XX1.2發(fā)送真?zhèn)€軟件設(shè)計
當體系復(fù)位時,單片機起首要對PTR3000無線通信模塊跟16C550的寄存器停止編程初始化。PTR3000的初始化編程是經(jīng)由過程同步串行旌旗燈號停止的,統(tǒng)共有三個旌旗燈號CFG_CLK、CS跟CFG_DATA,離別毗鄰到單片機RC3、RB7、RC5引腳。PIC16F877單片機本身便有同步串行口功能模塊,可是因為PTR3000的同步串行數(shù)據(jù)位為14位,并不是整數(shù)字節(jié),并且14位數(shù)據(jù)必需一次初始化實現(xiàn),是以實際經(jīng)由過程平凡的I/O心編程去實現(xiàn)那14位的同步串行旌旗燈號更便利一些。正在全部初始化時代CS旌旗燈號必需始終為高電平。那14位初始化字的界說見表2。正在初始化同步串行旌旗燈號輸出時最高無效位正在先。正在對PTR3000編程前先其形態(tài)為吸收形態(tài)以避免正在其他頻次形成無線滋擾,編程實現(xiàn)后便可以將形態(tài)改為發(fā)射形態(tài)了。表2PTR3000初始化節(jié)制字列位界說
瓜果分揀機器人方案Bit參數(shù)稱號符號參數(shù)
位數(shù)0~1頻段FB必需為了10(默示為取舍頻段915±13MHz)22~9頻點CHf=902.1696+CH·0.1536(MHz)10~11輸出功率POUT發(fā)射功率≈-8dBm+6dBm·POUT212~13時鐘分頻輸出Fup"00"=Fup=fxtal"01"=Fup=fxtal/2"10"=Fup=fxtal/4"11"=Fup=fxtal/82接下來對16C550的初始化設(shè)置。因為PIC16F877自身的并行口對16C550停止初始化編程設(shè)置各個寄存器,須要留神的只是正在輸出每一個字節(jié)之前先要經(jīng)由過程RA0~RA2輸出響應(yīng)字節(jié)的地點旌旗燈號。正在初始化設(shè)置時將16C550的波特率設(shè)置低于76.8kbps,以保障吸收的數(shù)據(jù)可能經(jīng)由過程PTR3000即時發(fā)送。
1.3接收端的硬件計劃
接收端裝在每一個機器人小車上,因為機器人小車的節(jié)制采取DSP控制器TMS320LF2407,因此正在接收端PTR3000無線通信模塊便采取TMS320LF2407去節(jié)制。經(jīng)由過程PTR3000吸收的數(shù)據(jù)間接輸入DSP,由DSP停止解碼,從而做出決議計劃跟收回節(jié)制旌旗燈號。因此無線通信體系的接收端電路絕對發(fā)送端要簡略得多,只需用TMS320LF2407取代發(fā)送電路中的單片機與PTR3000模塊相連接便可。PTR3000的初始化編程也便由2407的平凡I/O口來實現(xiàn),只不過正在初始化編程之后依舊連結(jié)PTR3000處在吸收形態(tài)。
2和談的計劃
2.1物理層的編碼計劃
物理層的編碼計劃要依據(jù)所采取的物理器件跟物理信道的特性去決意。本體系采取PTR3000無線通信模塊正在吸收模塊中為了取得0直流電仄便須要正在所傳輸?shù)臄?shù)據(jù)中邏輯“0”跟邏輯“1”的數(shù)目相等。只有知足上述前提吸收部門才會取得很下的吸收正確率。長時間余暇也會招致吸收部門的0直流電仄漂移,由于長時間的余暇實際上始終發(fā)送的是邏輯“1”。
因為PTR3000的這些特性,很天然便想到采取曼徹斯特編碼(也稱為數(shù)字雙向碼或分相碼(BiphaseSplit-phase)。它采取一個周期的方波默示“1”,并且它的反向波形默示“0”。因為方波的正負周期各占一半,因此旌旗燈號中沒有存在直流份量。正在異步串行通訊中有一個肇端位“0”,是以將終止位“1”長度也設(shè)為一名,如許正在一個字節(jié)共10位旌旗燈號中也便沒有存在直流份量了。只是減了曼徹斯特編碼之后本來一個字節(jié)的數(shù)據(jù)此刻要兩個字節(jié)才氣傳遞。圖4有一些數(shù)字節(jié),不會正在停止曼徹斯特編碼之后的數(shù)據(jù)串口呈現(xiàn),可是正在一個字節(jié)中也存在0直流份量的特性,也有很下的吸收正確率。那類數(shù)據(jù)字節(jié)如:0xF0、0x0F、0xCC、0x33等。從碼型看來此中0xF0碼型按時機能是最好的,它很簡單使異步接收器到達同步而且不會產(chǎn)生毛病。因為0xF0的這類特性便可以用它做同步碼元,正在余暇的工夫內(nèi)通訊體系便經(jīng)由過程始終發(fā)送同步碼元,使接收端連結(jié)同步,并且也可以連結(jié)吸收模塊的0直流電仄形態(tài)。
2.2糾錯編碼計劃
為了正在有必然外界滋擾的環(huán)境下,保障次要與機器人之間的無線通信仍然不變靠得住,必需采用必然的抗干擾步伐,那可以采取糾錯編碼去實現(xiàn)??梢匀∩峒m錯編碼方案有分組碼跟循環(huán)碼,須要利用兩字節(jié)的長度發(fā)送一字節(jié)的無效信息;分組碼跟循環(huán)碼,交錯碼、分組碼跟縮短循環(huán)碼、BCH碼、BCH碼,須要利用三字節(jié)的長度發(fā)送一字節(jié)的無效信息。
體系中利用了分組碼,并正在實際中取得了較好的后果。它的組成方法以下:
假設(shè)沒有做任何處置懲罰的原碼格局為:
其高四位的監(jiān)視碼為:
A2A1A0其低四位的監(jiān)視碼為:
B2B1B0則編碼后成為兩個byte長度:
1X7X6X5X4A2A1A00X3X2X1X0B2B1B0此中每一個字節(jié)的最高位作為標記位,用于默示下四位跟低四位,下四位用“1”做標記,低四位用“0”做標記。接收端經(jīng)由過程檢測標記停止重組跟解碼。關(guān)于譯碼根本方式有維特比譯碼跟利用監(jiān)視矩陣譯碼,可依據(jù)詳細的編碼方案靈巧選用。
2.3幀格局計劃
普通數(shù)據(jù)幀包羅幀頭、機器人標識、數(shù)據(jù)、數(shù)據(jù)校驗、保存字節(jié)等內(nèi)容,平常依照上面的格局擺列:
幀頭機器人標識數(shù)據(jù)保留字數(shù)據(jù)校驗為了保障幀可能精確吸收,幀頭的計劃至關(guān)重要。普通幀頭須要兩個或兩個以上的字節(jié),而且該當取舍數(shù)據(jù)中呈現(xiàn)幾率較低的數(shù)值跟組合。正在這個體系中可以采取普通數(shù)據(jù)中基礎(chǔ)不會呈現(xiàn)的數(shù)據(jù)字節(jié)如0xF0、0xCC作為數(shù)據(jù)幀頭。而別的類型的幀,則可以取舍正在0xF0之后加上別的的字0x33、0xC3、0x3C、0x0F等組成。這類幀頭組合正在普通的數(shù)據(jù)中是不會呈現(xiàn)的,因此可保障幀同步不會犯錯。場上的每一個機器人經(jīng)由過程數(shù)據(jù)幀中的機器人標識去辨認屬于本人的數(shù)據(jù),因為場上只有5個機器人,因此機器人標識只占用一個字節(jié)。
這套通訊體系采取了PTR3000無線通信模塊停止無線傳輸,并使用了單處機的編解碼使這套體系事情加倍不變靠得住,使數(shù)據(jù)通信實時精確天傳遞到場上的每一個機器人,完整知足小型組足球機器人角逐的通訊速度跟正確率要求。這套小型組機器人通訊體系已使用于中國科技大學的F-180Robocup小型足球機器人體系中。2003年7月正在意大利進行的Robocup小型機器人足球比賽中,這套通訊體系正在存在各類通訊滋擾的環(huán)境下仍然顯示出了較下的可靠性。2003年8月正在北京舉行的天下機器人大賽F-180Robocup小型組的角逐中,這套通訊體系中中國科技大學一隊博得了亞軍。
閃兔分揀機多少錢食品分揀機器人批發(fā)商搬運分揀機器人