空間動(dòng)態(tài)信息捕捉系統(tǒng)的同步控制技術(shù)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 對(duì)空間動(dòng)態(tài)信息捕捉系統(tǒng)的同步控制技術(shù)進(jìn)行了設(shè)計(jì)和研究,利用電磁信號(hào)的發(fā)射和接收實(shí)現(xiàn)了無線同步控制。
關(guān)鍵詞: 單片機(jī) 線陣CCD 多點(diǎn)探測(cè) 同步控制
空間動(dòng)態(tài)信息捕捉系統(tǒng)是實(shí)現(xiàn)活動(dòng)目標(biāo)空間多點(diǎn)三維位置信息的獲取、各信息的實(shí)時(shí)采集和傳輸?shù)脑O(shè)備。目前常用的三維坐標(biāo)探測(cè)主要有機(jī)械式、聲學(xué)式、電磁式和光學(xué)式,其中以電磁式和光學(xué)式最為常見。本文研制的系統(tǒng)利用光電信號(hào)采集裝置,探測(cè)安裝在目標(biāo)各個(gè)部位上的發(fā)光裝置,將各個(gè)發(fā)光點(diǎn)的空間坐標(biāo)信息經(jīng)過采集、信號(hào)傳輸、信息預(yù)處理后,傳送到計(jì)算機(jī)再進(jìn)行處理。由于光具有不可穿透性,為了保證在各個(gè)角度都能獲取每個(gè)發(fā)光點(diǎn)的信號(hào),分別在探測(cè)空間安裝了如圖1所示的四個(gè)采集設(shè)備,圖中模塊1~4表示四個(gè)接收設(shè)備。
該系統(tǒng)由發(fā)光控制模塊、采集設(shè)備、數(shù)據(jù)傳輸轉(zhuǎn)接器和主控計(jì)算機(jī)等部分組成。系統(tǒng)中,各個(gè)發(fā)光點(diǎn)是按順序分時(shí)工作的,每個(gè)發(fā)光點(diǎn)在發(fā)光時(shí)必須保證各個(gè)采集模塊都能同時(shí)獲取信息,否則各個(gè)點(diǎn)的位置信息會(huì)發(fā)生位置混亂,無法實(shí)現(xiàn)多采集模塊的信息融合。因此各個(gè)點(diǎn)的發(fā)光時(shí)刻必須與多個(gè)采集模塊嚴(yán)格同步。同步控制在該探測(cè)裝置的設(shè)計(jì)中是至關(guān)重要的,關(guān)系到坐標(biāo)數(shù)據(jù)的準(zhǔn)確、穩(wěn)定。
1 同步工作原理
本系統(tǒng)的采集設(shè)備和發(fā)光控制模塊是系統(tǒng)的核心組成部分。采集設(shè)備由四個(gè)采集模塊組成:一個(gè)主控采集模塊和三個(gè)輔采集模塊。圖2是本文研制的一個(gè)采集模塊,有三個(gè)探頭:左右二個(gè)探頭探測(cè)發(fā)光點(diǎn)的水平坐標(biāo),中間的探頭探測(cè)縱向坐標(biāo)。每個(gè)探測(cè)頭由一個(gè)線陣CCD實(shí)現(xiàn)數(shù)據(jù)采集。線陣CCD的每一個(gè)掃描周期只能采集一個(gè)發(fā)光點(diǎn)數(shù)據(jù)。如果一個(gè)掃描周期內(nèi)采集二個(gè)以上的發(fā)光點(diǎn)數(shù)據(jù),就會(huì)出現(xiàn)數(shù)據(jù)重疊或位置混亂,使得系統(tǒng)無法識(shí)別發(fā)光點(diǎn)原來的順序。為了使系統(tǒng)能實(shí)現(xiàn)多點(diǎn)數(shù)據(jù)采集,而且不發(fā)生發(fā)光點(diǎn)順序混亂,可采取由多個(gè)掃描周期組成一個(gè)完整的數(shù)據(jù)幀,每個(gè)發(fā)光點(diǎn)按固定順序發(fā)光,每個(gè)掃描周期只采集一個(gè)對(duì)應(yīng)該周期發(fā)光的發(fā)光點(diǎn)。
當(dāng)系統(tǒng)工作時(shí),主控制采集模塊首先發(fā)射這個(gè)被測(cè)點(diǎn)的編碼信號(hào),并啟動(dòng)掃描電路采集信號(hào)。當(dāng)發(fā)光模塊收到這個(gè)編碼信號(hào)時(shí),發(fā)光模塊的單片機(jī)就控制相應(yīng)編碼的發(fā)光點(diǎn)發(fā)光;同時(shí),輔采集模塊也收到這個(gè)編碼信號(hào),啟動(dòng)掃描電路采集信號(hào)。主控制采集模塊依次地發(fā)射相應(yīng)發(fā)光點(diǎn)的編碼信號(hào),從而實(shí)現(xiàn)了多個(gè)采集模塊采集多點(diǎn)數(shù)據(jù)。
2 同步格式及時(shí)序設(shè)計(jì)
對(duì)于多點(diǎn)的探測(cè)實(shí)際是一種串行檢測(cè),每一時(shí)刻只檢測(cè)一個(gè)點(diǎn)。檢測(cè)速度由探頭中線性CCD的掃描速度決定,線陣CCD每掃描一次可以檢測(cè)到一個(gè)點(diǎn)的數(shù)據(jù)。為了實(shí)現(xiàn)虛擬環(huán)境中的實(shí)時(shí)動(dòng)態(tài)效果,要求對(duì)多點(diǎn)檢測(cè)的完整數(shù)據(jù)周期不大于40ms,即每秒24幅畫面。因此對(duì)于所檢測(cè)空間點(diǎn)數(shù)的多少受線陣CCD掃描速度限制。本文采用的線陣CCD掃描一次的時(shí)間是1.2ms,因此最多檢測(cè)30個(gè)點(diǎn)就可以得到連續(xù)的畫面。對(duì)于人體運(yùn)動(dòng)姿態(tài)建模,在該項(xiàng)研究中需要26個(gè)點(diǎn)就可以進(jìn)行較好的描述。因此該探測(cè)裝置可以25幅/s的檢測(cè)速度較好地進(jìn)行人體運(yùn)動(dòng)姿態(tài)的空間三維數(shù)據(jù)采集。
該系統(tǒng)的同步控制主要包括主控采集模塊與人體攜帶的發(fā)光控制模塊之間和多個(gè)采集模塊之間的同步控制。為了不影響表演者的行動(dòng),被檢測(cè)的多點(diǎn)發(fā)光控制模塊與主控采集設(shè)備之間采用了無線同步控制。由于多個(gè)采集模塊之間距離較遠(yuǎn),很難采用統(tǒng)一時(shí)鐘實(shí)現(xiàn)同步采集,所以采集模塊之間采用串行編碼準(zhǔn)同步控制。各個(gè)采集模塊之間可以采用485接口或無線設(shè)備實(shí)現(xiàn)控制。采集設(shè)備與計(jì)算機(jī)之間通過USB接口實(shí)現(xiàn)數(shù)據(jù)通信。設(shè)備接入既可以采用有線連接也可以使用無線USB連接。若使用USB1.0有線接入并借助線驅(qū)動(dòng)器,則可以實(shí)現(xiàn)15m的可靠數(shù)據(jù)傳輸。其數(shù)據(jù)格式定義如下:(1)USB傳送數(shù)據(jù)格式。USB傳送采用一個(gè)64字節(jié)和一個(gè)128字節(jié)的數(shù)據(jù)包實(shí)現(xiàn),實(shí)際傳送160個(gè)字節(jié)。第一個(gè)數(shù)據(jù)包傳60個(gè)字節(jié),第二個(gè)數(shù)據(jù)包傳100個(gè)字節(jié)。每10個(gè)字節(jié)為一組,含有2個(gè)數(shù)據(jù)點(diǎn)。一次最多傳送32個(gè)點(diǎn)坐標(biāo),每個(gè)點(diǎn)由3個(gè)數(shù)據(jù)組成。(2)鎖存器數(shù)據(jù)格式。鎖存器數(shù)據(jù)共有10個(gè)字節(jié),其中:前9個(gè)字節(jié)表示6個(gè)12位的數(shù)據(jù),最后1個(gè)字節(jié)用其中的6位表示這6個(gè)數(shù)據(jù)的有效性。(3)圖像數(shù)據(jù)幀格式。一個(gè)掃描周期約1.2ms,每幀數(shù)據(jù)由29個(gè)掃描周期組成。其中,第1和第2個(gè)周期為同步信息,第3~28周期依次為接收到的位置信息及信號(hào)有效標(biāo)志,第29周期為結(jié)束。每個(gè)數(shù)據(jù)由雙字節(jié)組成,低位在前,數(shù)據(jù)最高位為數(shù)據(jù)有效標(biāo)志(一幀共有26×3個(gè)數(shù)據(jù))。(4)控制時(shí)序。系統(tǒng)同步控制主要包括三部分:①采集模塊三個(gè)線陣CCD掃描時(shí)序的同步;②四個(gè)采集模塊之間的掃描同步;③發(fā)光點(diǎn)發(fā)光時(shí)刻的同步。實(shí)現(xiàn)同步的最好辦法是使用統(tǒng)一時(shí)鐘。但是,一方面,由于監(jiān)測(cè)對(duì)象與采集模塊之間無連線,所以無法使用統(tǒng)一時(shí)鐘;另一方面,各個(gè)采集模塊之間距離較遠(yuǎn),實(shí)現(xiàn)起來也比較困難。
通過分析發(fā)現(xiàn),并不需要在時(shí)序、相位上完全同步。只要滿足發(fā)光點(diǎn)在掃描周期內(nèi)發(fā)光,不發(fā)生在相鄰的掃描周期內(nèi)就能滿足系統(tǒng)要求。為保證每個(gè)數(shù)據(jù)幀的完整,每個(gè)數(shù)據(jù)幀設(shè)有一個(gè)同步字。同時(shí),使線陣CCD實(shí)現(xiàn)可控的間斷掃描,但停頓時(shí)間盡可能短,以保證線陣CCD增益的均衡。
該系統(tǒng)工作時(shí),其四個(gè)采集模塊和發(fā)光控制器同步動(dòng)作。其中一個(gè)采集模塊為主接收機(jī),起主控制器作用;其他三個(gè)采集模塊為輔接收機(jī),隨主接收機(jī)同步采集數(shù)據(jù)。同時(shí),發(fā)光控制器按主接收機(jī)的時(shí)序控制發(fā)光點(diǎn)順序發(fā)光。每幀數(shù)據(jù)由29個(gè)掃描周期組成,每幀數(shù)據(jù)由一個(gè)同步字進(jìn)行控制,而且每個(gè)掃描周期由信號(hào)邊沿實(shí)現(xiàn)同步觸發(fā)。同步控制時(shí)序見圖3,其中1~29表示線陣CCD的掃描周期。
3 硬件設(shè)計(jì)
采集設(shè)備的各個(gè)模塊采用基本相同的結(jié)構(gòu),圖4是主控采集模塊的方框圖,主控采集模塊與輔采集模塊之間只相差一個(gè)無線發(fā)射電路。傳感器使用線陣CCD。線陣CCD的數(shù)據(jù)采集和掃描控制電路利用一片EPM7160和具有USB接口的單片機(jī)EZ-USB AN2131設(shè)計(jì)實(shí)現(xiàn)。EPM7160可以同時(shí)控制和采集三個(gè)線陣CCD。其工作過程是:?jiǎn)纹瑱C(jī)首先通過無線通道和有線通道發(fā)出同步控制脈沖編碼,并啟動(dòng)線陣CCD掃描電路;發(fā)光點(diǎn)的數(shù)據(jù)被采集后,直接通過EPM7160內(nèi)的硬件鎖存器保存;線陣CCD掃描周期結(jié)束時(shí),發(fā)出中斷信號(hào)給單片機(jī),由單片機(jī)讀取數(shù)據(jù),然后發(fā)送下個(gè)同步控制脈沖編碼,重新開始掃描。當(dāng)數(shù)據(jù)滿足一個(gè)完整數(shù)據(jù)幀時(shí),單片機(jī)通過USB接口將數(shù)據(jù)傳送給主控計(jì)算機(jī)。
系統(tǒng)對(duì)于無線電磁波發(fā)射和接收電路要求可靠性高、抗干擾性強(qiáng)、傳送速率大于20KHz。由于采用金屬外殼,需要外接天線匹配。
發(fā)光控制模塊采用單片機(jī)89C2051,發(fā)光驅(qū)動(dòng)電路選用ULN2003A,無線接收電路使用標(biāo)準(zhǔn)的接收模塊。發(fā)光控制模塊接收到無線電編碼信號(hào)后,由單片機(jī)進(jìn)行識(shí)別,并控制相應(yīng)編碼點(diǎn)發(fā)光。該控制電路可控制32個(gè)發(fā)光點(diǎn)。
4 軟件設(shè)計(jì)
在硬件設(shè)計(jì)過程中,為了開發(fā)方便,選用具有51指令集的單片機(jī)。使用Keilc51作為工具,完成發(fā)光模塊和采集模塊的固件程序的開發(fā)。
發(fā)光模塊程序比較簡(jiǎn)單,采用匯編軟件實(shí)現(xiàn)。使用單片機(jī)串行口接收同步控制編碼,解碼后控制相應(yīng)發(fā)光點(diǎn)發(fā)光。
在采集模塊控制程序中,掃描周期長(zhǎng)度是由硬件決定的,因此它采用實(shí)時(shí)性的外中斷方式進(jìn)行數(shù)據(jù)接收。在中斷程序中每次讀取三個(gè)線陣CCD的6個(gè)數(shù)據(jù),共9個(gè)字節(jié)。將接收到的字節(jié)存放在預(yù)先設(shè)定的USB緩沖區(qū)內(nèi),當(dāng)接收到數(shù)據(jù)幀結(jié)束標(biāo)志后,即發(fā)送數(shù)據(jù)給主控計(jì)算機(jī)。數(shù)據(jù)發(fā)送過程由AN2131的USB內(nèi)核自動(dòng)完成。
使用單片機(jī)串行口0實(shí)現(xiàn)同步控制,設(shè)置單片機(jī)的串行口采用方式3通信;通信的數(shù)據(jù)格式為每幀11位,包括1位起始位、8位數(shù)據(jù)位、1位奇偶校驗(yàn)位和1位停止位;片內(nèi)定時(shí)器T2作為波特率發(fā)生器,選擇傳送的波特率為9 600bps,定時(shí)器T2的初值應(yīng)設(shè)置為TL2=B2H,TH2=FFH。另外應(yīng)禁止定時(shí)器T2中斷,以免因定時(shí)器T2溢出而產(chǎn)生不必要的中斷。定時(shí)器T1用來控制同步脈沖的寬度,根據(jù)無線通信模塊性能對(duì)定時(shí)器T1進(jìn)行相應(yīng)的設(shè)置。采集模塊控制程序的流程如圖5所示。
本文研制的空間動(dòng)態(tài)信息捕捉系統(tǒng)按照線陣CCD的掃描時(shí)序同步控制四個(gè)采集模塊和發(fā)光控制模塊實(shí)現(xiàn)數(shù)據(jù)采集。實(shí)驗(yàn)證明,在區(qū)域?yàn)?m×6m時(shí),能夠可靠地實(shí)現(xiàn)數(shù)據(jù)幀同步采集,每個(gè)掃描周期同步誤差小于20μs。采集26個(gè)點(diǎn)數(shù)據(jù)時(shí),其采集速度達(dá)到27幀/s以上。
參考文獻(xiàn)
1 宋萬杰,羅豐,吳順君.CPLD技術(shù)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,1999
2 王慶有.CCD應(yīng)用技術(shù).天津:天津大學(xué)出版社,2002