




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、山水樂坊基于 3D 全息聲音系統(tǒng)的交互式音樂多示范工程項(xiàng)目技術(shù)舞臺(tái)表演目錄一、項(xiàng)目綜述1項(xiàng)目背景綜述1項(xiàng)目研究內(nèi)容綜述21.2.1 面向交互式音樂多舞臺(tái)表演的實(shí)時(shí)傳感交互. 2項(xiàng)目室內(nèi)綜述2. 31.3.2 運(yùn)動(dòng)捕捉技術(shù)4二、系統(tǒng)總體架構(gòu)5系統(tǒng)模塊劃分與功能描述5舞臺(tái)多人實(shí)時(shí)定位模塊5多模傳感器接入與自組織組網(wǎng)模塊6系統(tǒng)組成7舞臺(tái)多人實(shí)時(shí)定位模塊組成7多模傳感器接入與自組織組網(wǎng)模塊組成9三、與實(shí)現(xiàn)方案11RSSI 位置RSSI 位置RSSI 位置離線. 11定位概述11定位組成11階段13運(yùn)行階段 可穿戴慣性定位與姿態(tài)識(shí)別技術(shù)143.2.1 慣性概述14可穿戴慣性定位組成1
2、5慣性定位算法實(shí)現(xiàn)17用戶姿態(tài)方向和速度的確定18用戶腳步檢測技術(shù)19自適應(yīng)步長算法203D 音效系統(tǒng)接入技術(shù)24Open sound control 協(xié)議243D 音效系統(tǒng)接入處理單元253.4 多模傳感器接入與自組織組網(wǎng)技術(shù)More26More 概述27More 結(jié)構(gòu)功能描述28More 的工作流程與實(shí)現(xiàn)方案31四、項(xiàng)目總結(jié)與技術(shù)展望36項(xiàng)目功能總結(jié)36一套穿戴傳感節(jié)點(diǎn)和環(huán)境輔助傳感系統(tǒng)36舞臺(tái)多人實(shí)時(shí)定位和音效系統(tǒng)對(duì)接36演員的姿態(tài)捕捉36多模傳感器接入與自組織組網(wǎng)36項(xiàng)目創(chuàng)新點(diǎn)總結(jié)37劇場聲學(xué)及 3D 全息聲音擴(kuò)音系統(tǒng)374.2.2 面向交互式音樂多舞臺(tái)表演的實(shí)時(shí)傳感交互. 374.3
3、 項(xiàng)目展望37一、項(xiàng)目綜述1.1 項(xiàng)目背景綜述在國家大力發(fā)展文化創(chuàng)意產(chǎn)業(yè)的大背景下,本項(xiàng)目的總體目標(biāo)希望通過以音樂多舞臺(tái)表演為代表的文化創(chuàng)意產(chǎn)業(yè)的內(nèi)容與科技雙向交流、普遍互滲、全面融合,推動(dòng)創(chuàng)意與創(chuàng)意轉(zhuǎn)換的步伐,助力文化創(chuàng)意產(chǎn)業(yè)建設(shè),把科學(xué)與藝術(shù)的完美結(jié)合作為最高理念,碰撞出文化創(chuàng)意產(chǎn)業(yè)的新思維。本項(xiàng)目將著重研究3D 全息聲音擴(kuò)音系統(tǒng)、實(shí)時(shí)舞臺(tái)傳感交互控制技術(shù)等多項(xiàng)技術(shù),集中國傳統(tǒng)古曲、戲曲聲腔、詩詞歌賦、室內(nèi)樂、電子音樂、江南絲竹等為主要音樂元素,構(gòu)建山水樂坊基于 3D 全息聲音系統(tǒng)的交互式音樂多舞臺(tái)表演示范工程。項(xiàng)目通過藝術(shù)與科技、音樂與其他姊妹藝術(shù)的融合創(chuàng)新,在現(xiàn)場視覺和聽覺方面做到時(shí)空
4、交錯(cuò)、風(fēng)格交融、體裁,使觀眾能夠得到一種全新的沉浸式、互動(dòng)式聆賞體驗(yàn)。為了實(shí)現(xiàn)項(xiàng)目的總體目標(biāo),本項(xiàng)目將通過對(duì)一座小劇場的專項(xiàng)設(shè)計(jì)和改造,研制并搭建一套軟硬件系統(tǒng):1)劇場聲學(xué)及 3D 全息聲音擴(kuò)音系統(tǒng):對(duì)劇場進(jìn)行室內(nèi)聲學(xué)設(shè)計(jì)并開發(fā)搭建一套“3D 全息聲音擴(kuò)音系統(tǒng)”,該系統(tǒng)能像“全息成像”一般,實(shí)現(xiàn)在真實(shí)或虛擬空間中,上、下、前、后和左右三個(gè)維度里的所有聲像位置都能得到準(zhǔn)確呈現(xiàn)、精確定位、運(yùn)動(dòng)。該系統(tǒng)、運(yùn)動(dòng)軌跡、音色信息均有不同參數(shù)數(shù)字化實(shí)時(shí)控制,并可駁接傳感交互,用于現(xiàn)場演出的實(shí)時(shí)定位與交互控制。2)傳感系統(tǒng):在劇場圍繞舞臺(tái)搭建具有實(shí)時(shí)定位追蹤功能、環(huán)境感知功能、自組織組網(wǎng)、多模數(shù)據(jù)處理等功能
5、的,能靈活部署的傳感系統(tǒng)。通過演員佩戴的,環(huán)境中輔助的傳感器形成的數(shù)據(jù)覆蓋網(wǎng)絡(luò),通過標(biāo)準(zhǔn)接口與實(shí)時(shí)舞臺(tái)交互綜合系統(tǒng)對(duì)接。3)同時(shí),實(shí)現(xiàn)交互式實(shí)時(shí)聲音影像創(chuàng)作功能:將演員現(xiàn)場表演信息進(jìn)行實(shí)時(shí)過濾、篩選和處理,將其有機(jī)地結(jié)合到電子音樂與影像的實(shí)時(shí)創(chuàng)作與生成中,強(qiáng)化與延伸演員音響、動(dòng)作與角色感,觀眾整體沉浸式感官享受。1.2 項(xiàng)目研究內(nèi)容綜述1.2.1 面向交互式音樂多舞臺(tái)表演的實(shí)時(shí)傳感交互傳感交互控制技術(shù)主要圍繞著多種無線傳感和控制設(shè)備的高靈活部署、對(duì)表演環(huán)境的感知適應(yīng)與系統(tǒng)的自組織等特性展開研究,通過在舞臺(tái)表演區(qū)域,控制區(qū)域以及衍生到觀眾互動(dòng)區(qū)域部署具有多跳通訊能力的無線傳感設(shè)備節(jié)點(diǎn),來動(dòng)態(tài)地構(gòu)
6、建舞臺(tái)交互式環(huán)境,使舞臺(tái)作品在表演和視覺聽覺展示上達(dá)到無縫的銜接,使觀眾得到沉浸式的感官享受。在新型的多舞臺(tái)表演中,傳感器交互應(yīng)用已經(jīng)得到的飛躍的發(fā)展,它們往往被部署在對(duì)監(jiān)測數(shù)據(jù)變化非常敏感的部位,來協(xié)助表演者與舞臺(tái)效果互動(dòng)。但是在包括采用 3D 影像捕捉的互動(dòng)模式中,對(duì)背景的要求非常高,并且每次演出都需要花費(fèi)很長的排練時(shí)間。這套系統(tǒng)可以很好地改善目前交互式應(yīng)用中的技術(shù)問題,幫助創(chuàng)作者與表演者展現(xiàn)更流暢的互動(dòng)效果與提供更真實(shí)的交互體驗(yàn)針對(duì)多種體載與環(huán)境控制設(shè)備在交互式環(huán)境中所的高動(dòng)態(tài)鏈路質(zhì)量變化所導(dǎo)致的拓?fù)渥兓c對(duì)上層交互數(shù)據(jù)穩(wěn)定性和實(shí)時(shí)性的影響,開展研究工作。研究的內(nèi)容主要包括:完成一套穿戴
7、傳感節(jié)點(diǎn)和環(huán)境輔助傳感系統(tǒng);能夠在多種環(huán)境(燈光,布景)下實(shí)時(shí)捕捉演員的姿態(tài),并提供實(shí)時(shí)穿戴計(jì)算能力;能夠提供舞臺(tái)上多位演員相對(duì)位置的產(chǎn)生于位置相關(guān)的效果;,并與影像、音響系統(tǒng)對(duì)接,能夠在不同室內(nèi)場地部署,形成一套快速現(xiàn)場部署的方法和執(zhí)行標(biāo)準(zhǔn);e)系統(tǒng)在傳輸層面延遲時(shí)間小于 0.1 秒,在數(shù)據(jù)層面響應(yīng)小于 0.3 秒,在交互控制層面響應(yīng)小于 0.5 秒。1.3 項(xiàng)目綜述其中包括:室內(nèi)、運(yùn)動(dòng)捕捉技術(shù)。1.3.1 室內(nèi)過去的十年中,室內(nèi)定位傳感系統(tǒng)取得了重要的進(jìn)展。因此,無論是研究或者商業(yè)上,這些系統(tǒng)或產(chǎn)品都是新的,而且目前,學(xué)術(shù)界和工業(yè)界都在參與研究以及開發(fā)這些系統(tǒng)。近年來,人們已經(jīng)目睹了無線系
8、統(tǒng)驚人的增長。無線技術(shù)已經(jīng)進(jìn)入了消費(fèi)類應(yīng)用,醫(yī)療,工業(yè),公共安全,物流和系統(tǒng)領(lǐng)域,以及許多其他的應(yīng)用程序。自組織傳感器網(wǎng)絡(luò),位置敏感的計(jì)費(fèi),基于地理信息的服務(wù),和導(dǎo)航,是可能的應(yīng)用領(lǐng)域。由于現(xiàn)在無線網(wǎng)絡(luò)的廣泛使用,人們?cè)跓o線網(wǎng)絡(luò)環(huán)境下(包括室內(nèi)和室外環(huán)境)對(duì)實(shí)現(xiàn)準(zhǔn)確定位有很高的需求。確定位置的方法,被稱為位置檢測,定位,如果它使用是無線技術(shù)又被稱為無線定位。不同的應(yīng)用程序可能需要不同類型的位置信息。主要類型物理位置,符號(hào)位置,絕對(duì)位置,相對(duì)位置等。物理位置用坐標(biāo)表示,在 2D/3D 地圖上確定一個(gè)點(diǎn)。多種無線技術(shù)用于無線室內(nèi)定位。這些技術(shù)可以按照如下方法劃分:(1) 定位算法,即確定位置的方法
9、,利用各種類型的信號(hào)測量方法,例如傳播時(shí)間(Time Of Flight),角度和無線信號(hào)強(qiáng)度(Radio Signal Strength)。(2)的物理層或基礎(chǔ)設(shè)施。一般來說,無線信號(hào)測量用到的硬件組件主要是用于信號(hào)的發(fā)送和接收。一個(gè)室內(nèi)無線由至少兩個(gè)獨(dú)立的硬件部分組成:一個(gè)信號(hào)發(fā)送器以及測量裝置。在室內(nèi)環(huán)境中,受許多原因的影響,如嚴(yán)重的多徑效應(yīng),可用的視線(line-of-sight LOS)路徑概率很低,并有許多特定的參數(shù),如地板布置,移動(dòng)物體,以及眾多的反射面,很難建立起無線模型。目前還沒有好的室內(nèi)無線電多徑模型。除了使用傳統(tǒng)的三角測量算法,使用場景分析或開發(fā)鄰接定位算法以減少定位測量
10、誤差。針對(duì)不同的應(yīng)用程序或服務(wù),這三種算法具有獨(dú)特的優(yōu)點(diǎn)和缺點(diǎn)。因此,同時(shí)使用不只一種類型的定位算法,可以得到更好的性能。如今,大多數(shù)成功的使用信號(hào)位置定位(Radio Fingr)的方法。該方法使用無線信號(hào)特征(例如接收到的強(qiáng)度RSS)與先前建立的位置指紋數(shù)據(jù)庫匹配(一個(gè)無線電地圖)。最接近的匹配返回估計(jì)位置。使用這種方法通常能獲得的精度。慣性使用的關(guān)鍵性的傳感器已經(jīng)做到了足夠小和廉價(jià),使得實(shí)際穿戴這些傳感器來定位成為了可能。此外,目前廣泛流行的智能大多數(shù)都配有相關(guān)慣性傳感器,這就意味著慣性傳感器已經(jīng)廣泛部署。因此研究、使用慣性定位方法也是非常有前景的。1.3.2 運(yùn)動(dòng)捕捉技術(shù)運(yùn)動(dòng)捕捉技術(shù)是
11、一種三維運(yùn)動(dòng)運(yùn)動(dòng)物體的精確測量的方法。它是基于計(jì)算機(jī)圖形學(xué)(傳感器)的原理,通過在空間排列幾個(gè)捕獲(傳感器)的設(shè)備的移動(dòng)物體()運(yùn)動(dòng)圖像,然后用計(jì)算機(jī)對(duì)圖像數(shù)據(jù)進(jìn)行處理,以給不同的對(duì)象()在不同的時(shí)間測量空間坐標(biāo)(X,Y,Z)。運(yùn)動(dòng)捕捉技術(shù)在許多領(lǐng)域中具有非常廣泛的應(yīng)用。在運(yùn)動(dòng)訓(xùn)練中,可以從不同的角度幫助對(duì)運(yùn)動(dòng)員的動(dòng)作,位置,速度和加速度數(shù)據(jù)量化,因此可以有針對(duì)性地糾正運(yùn)動(dòng)員的技術(shù)動(dòng)作,從而大大提高了訓(xùn)練效果,而且還可以監(jiān)視整育訓(xùn)練和比賽的過程中,協(xié)助裁判的決策。目前,通常使用的動(dòng)作捕捉技術(shù)可分為機(jī)械式,基于慣性傳感器,聲學(xué),電磁和光學(xué)原理。不同原理的技術(shù)具有的不同的優(yōu)點(diǎn)和缺點(diǎn),并且可從以下幾
12、方面進(jìn)行評(píng)估:定位精度,時(shí)效性,可靠性,成本,多目標(biāo)捕獲能力?;趹T性傳感器運(yùn)動(dòng)捕捉原理是采用多個(gè)慣性傳感器,對(duì)主要骨骼部位的運(yùn)動(dòng)進(jìn)行實(shí)時(shí)測量。系統(tǒng)可根據(jù)反向運(yùn)動(dòng)學(xué)原理測算出關(guān)節(jié)的位置,并將數(shù)據(jù)施加到相應(yīng)的骨骼上。由于慣性傳感器主要依賴無處不在的地球重力和磁場,所以這類運(yùn)動(dòng)捕捉在任何地點(diǎn)都可以正常使用,無需事先作任何準(zhǔn)備工作。 是未來動(dòng)作捕捉的趨勢(shì)之一。二、系統(tǒng)總體架構(gòu)面向交互式音樂多舞臺(tái)表演的實(shí)時(shí)傳感交互是一套具有定位追蹤功能、環(huán)境感知功能、自組織組網(wǎng)、多模數(shù)據(jù)處理等功能的,能靈活部署的傳感系統(tǒng)。通過演員佩戴的,環(huán)境中輔助的傳感器形成的數(shù)據(jù)覆蓋網(wǎng)絡(luò),通過標(biāo)準(zhǔn)接口與實(shí)時(shí)舞臺(tái)交互綜合系統(tǒng)對(duì)接。整
13、個(gè)交互按照功能主要可以分為舞臺(tái)多人實(shí)時(shí)定位模塊和多模傳感器自組織組網(wǎng)模塊。2.1 系統(tǒng)模塊劃分與功能描述系統(tǒng)的總體模塊劃分如圖 2.1 所示,其中包括舞臺(tái)多人實(shí)時(shí)定位模塊和多模傳感器接入與自組織組網(wǎng)模塊。圖 2.4WISP 系統(tǒng)示意圖圖 2.6WISP 系統(tǒng)實(shí)際部署圖2.2.2 多模傳感器接入與自組織組網(wǎng)模塊組成開發(fā)了一套多模傳感器接入與自組織組網(wǎng)技術(shù)“More”。它的主要功能是為音樂家提供方便的多模傳感器數(shù)據(jù)接入方案在樹莓派卡片計(jì)算機(jī)、Cubi、PC、Mac OSX 等軟硬件上實(shí)現(xiàn)了More。如圖 2.7 所示,音樂家希望多種多樣的傳感器(慣性傳感器、MIDI 鍵盤、Kinect 捕捉傳感器
14、、Wii 控制器、Leap Motion 傳感器等等)作為輸入端接入處理單,經(jīng)過處理后能夠以聲音、光線效果等等形式輸出。More 系統(tǒng)結(jié)構(gòu)圖如 2.8 所示,多種傳感器部署在舞臺(tái)、或者其他特定區(qū)域,以有線或者無線傳輸?shù)男问浇尤氲教囟ǖ墓?jié)點(diǎn)中。這些節(jié)點(diǎn)之間可以相互通信,以自組織組網(wǎng)的方式建立連接,同時(shí)接入到處理單元中。網(wǎng)絡(luò)當(dāng)中的節(jié)點(diǎn)可以互相發(fā)現(xiàn)對(duì)方,并且知道其他節(jié)點(diǎn)所連接的傳感器信息。圖 2.7 More 需求示意圖圖 2.8 More 系統(tǒng)結(jié)構(gòu)圖三、與實(shí)現(xiàn)方案3.1 RSSI 位置3.1.1 RSSI 位置定位概述RSSI圖 3.1 RSSI 位置定位流程圖位置技術(shù)是指先收集一個(gè)場景的特征,又
15、稱為,然后通過匹配之前收集的數(shù)據(jù)庫中最接近的位置參考點(diǎn)(referencepo,RP)推測當(dāng)前目標(biāo)的位置,通常使用接收信號(hào)強(qiáng)度(received signal strength,RSS)或者接收信號(hào)強(qiáng)度指示器(received signal strength indicator,RSSI)建立的位置。RSSI 位置定位由部署在舞臺(tái)定位區(qū)域中的環(huán)境 IRIS 節(jié)點(diǎn)、用戶穿戴的IRIS 節(jié)點(diǎn)和匯聚節(jié)點(diǎn)Gateway 組成。該定位模塊分為 2 個(gè)定位階段:離線階段和運(yùn)行階段。使用 RSS 方法在室內(nèi)定位目標(biāo)能準(zhǔn)確到的范圍內(nèi)。離線需要為每個(gè) AP 建立位置圖譜。在運(yùn)行階段,通過測量到所有可見 APrm
16、ap)來推測位置。的RSSI 值匹配位置圖譜(fing3.1.2 RSSI 位置定位組成基于RSSI 位置定位部分由IRIS 無線節(jié)點(diǎn)和處理單元組成。IRIS 是一個(gè) 2.4 GHz 的無線模塊,用于實(shí)現(xiàn)低功耗,無線傳感器網(wǎng)絡(luò)。IRIS 提供一些新的功能,提高了的無線傳感器網(wǎng)絡(luò)產(chǎn)品的整體功能。它具有一下特點(diǎn):RSSI(1)(2)符合2.4 GHz IEEE802.15.4,微型無線測量系統(tǒng)相比上一代MICA,無線范圍了兩倍比上了最多三倍的和程序器空間(3)(4)(5)專為傳感器網(wǎng)絡(luò)設(shè)計(jì)250 kbps的高數(shù)據(jù)傳輸速率無線通信能力與每個(gè)節(jié)點(diǎn)作為路由器能力IRIS 節(jié)點(diǎn)與 MIB520 結(jié)合在一起
17、可以作為環(huán)境 IRIS 節(jié)點(diǎn)的 Gateway 使用。在定位時(shí),兩個(gè)可穿戴式的無線傳感器將會(huì)綁在腳踝上用來腳步數(shù),另一個(gè)則會(huì)系在肩膀上用來推測目標(biāo)前進(jìn)的方向。同時(shí),目標(biāo)的胸部佩戴一個(gè) IRIS 節(jié)點(diǎn),該節(jié)點(diǎn)會(huì)廣播數(shù)據(jù)包給環(huán)境中的IRIS 節(jié)點(diǎn),環(huán)境中 IRIS 節(jié)點(diǎn)收到該數(shù)據(jù)包并計(jì)算其RSSI 值發(fā)送到連接電腦上的Gateway,電腦端將處理的結(jié)果和慣性結(jié)果一起處理分析,得到最終的位置信息并顯示出來。的圖 3.2 IRIS Mote 傳感器圖 3.3 IRIS Mote 傳感器和 MIB520 組成的 Gateway3.1.3 離線階段在離線階段,系統(tǒng)需要在每個(gè)位置 RP 上采樣 RSSI 值
18、分布,每個(gè) RP 的位置均已知。用戶胸口佩戴一個(gè) IRIS 節(jié)點(diǎn),該節(jié)點(diǎn)不斷廣播數(shù)據(jù)包,部署在環(huán)境中的IRIS 節(jié)點(diǎn)在收到數(shù)據(jù)包后計(jì)算該數(shù)據(jù)包的RSSI 值,并發(fā)送到 Gateway 節(jié)點(diǎn)。Gateway 節(jié)點(diǎn)通過串口連接到定位服務(wù)器,服務(wù)器負(fù)責(zé)這些 RSSI 數(shù)據(jù)。設(shè)定位區(qū)域有 n 個(gè)環(huán)境 IRIS 節(jié)點(diǎn),m 個(gè) RP 點(diǎn)。為了在 RP 點(diǎn) j 上建立RSSI 分布,廣播節(jié)點(diǎn)需要發(fā)送 Np 個(gè)數(shù)據(jù)包,來自第 t 個(gè) IRIS 節(jié)點(diǎn)的 RSSI 分布可以表示為 Dj(t)。RP 點(diǎn) j 的坐標(biāo)為(xj,yj),位置在 RP 點(diǎn) j 可以表示為y,有np(S |x, y) p(S |x, y)
19、,ii1其中,物理特性和應(yīng)用環(huán)境,慣性傳感器可以相互組合實(shí)現(xiàn)不同的配置方案,如陀螺儀和加速度計(jì)組合的慣性導(dǎo)航系統(tǒng),磁力計(jì)和加速度計(jì)組成的無漂移定位方法,陀螺儀、磁力計(jì)和加速度計(jì)定位方法等。Dead Reckoning(簡稱 DR)在短距離定位上有較高的精度,但是具有累積誤差的缺點(diǎn)。這是因?yàn)?DR 是基于上一個(gè)位置的推算,因此誤差會(huì)隨著時(shí)間增長。 DR 廣泛使用在慣性導(dǎo)航系統(tǒng)中,但是在個(gè)人設(shè)備的使用比較少,因?yàn)槿鄙俑哔|(zhì)量的傳感器。傳感器的噪音會(huì)模糊信號(hào)并增加潛在誤差。3.2.2 可穿戴慣性定位組成慣性定位部分基于陀螺儀和加速度計(jì),它們分別提供人或目標(biāo)的的方向信息和加速度值,用來推斷人或目標(biāo)的朝向
20、和腳步。可穿戴式傳感器節(jié)點(diǎn)是慣性定位系統(tǒng)最重要的部分,是基于 Razor 無線慣性測量單元節(jié)點(diǎn)(WIMU)開發(fā)的。Razor集成了ITG-3200(三軸陀螺儀),ADXL345(三軸加速計(jì))和 HMC5883L(三軸磁力計(jì))。除此之外,XBee 適配器用于無線通信模塊,通過 9DOF 板上的TX/RX引腳來發(fā)送和接收數(shù)據(jù)。這個(gè)可攜帶式的設(shè)備包含了傳感器板和 XBee 模塊通過900Am.h 的鋰電池供電的。所有的這些設(shè)備都放置在了一個(gè) 6cm透明盒內(nèi)(圖 3.4)。4cm1.5cm圖 3.4無線可穿戴式傳感器組成9DOF 提供了在x/y/z 三軸上的加速度,角度和磁力方向數(shù)據(jù)。為了避免通信阻塞
21、,將數(shù)據(jù)包從 56 字節(jié)壓縮到 23 字節(jié)。同時(shí),通過 33 方向余弦矩陣和XBee Serial AdapterLithium BatterySparkfun 9 DOF Razor IMUXBee chipTait-Bryan 角度數(shù)據(jù)計(jì)算出四元數(shù)(Quaternion)。該數(shù)據(jù)含了一個(gè) 1 字節(jié)的ID 節(jié)點(diǎn),三個(gè) 2 字節(jié)的 X-,Y-,Z-軸加速度數(shù)據(jù),四個(gè)二字節(jié)的四元數(shù)數(shù)據(jù)和一個(gè)用于數(shù)據(jù)同步的 1 字節(jié)的信號(hào)識(shí)別符*。程序平均每隔 4 毫秒就刷新一次慣性數(shù)據(jù),XBee 模塊以 57600bps 的速率發(fā)送打包好的信息。圖 3.5Arduino Mega 板組成Arduino Mega
22、 板能接收慣性數(shù)據(jù),并與 Xbee Shield,以太網(wǎng)板一起工作計(jì)算出接受數(shù)據(jù)包和通過無線網(wǎng)關(guān)發(fā)送數(shù)據(jù)包到處理單元的步驟。為了使信息更加標(biāo)準(zhǔn)和有效,程序使用Z_OSC實(shí)現(xiàn) Arduino 兼容的硬件和處理單元之間的標(biāo)準(zhǔn)化 OSC 通信,并將所有的數(shù)據(jù)分成兩個(gè)不同的 OSC 數(shù)據(jù)包。其中一個(gè)數(shù)據(jù)包包含Yaw/pitch/roll 浮點(diǎn)類型的Tait-Bryan 角度數(shù)據(jù)和類型的三軸加速度數(shù)據(jù),另一個(gè)數(shù)據(jù)包用于將 9 個(gè)float 類型的方向余弦矩陣傳送到無線網(wǎng)關(guān)。慣性測量主要分為腳步識(shí)別和前進(jìn)方向估計(jì)。固定在腳踝上的兩個(gè)傳感器用于腳步識(shí)別,而固定在肩膀的傳感器用于前進(jìn)方向估計(jì)。為了減少衣服和身
23、體之間摩擦滑動(dòng)造成的測量誤差,采用帶子來固定傳感器節(jié)點(diǎn)。圖 3.6 為穿戴了傳感器的實(shí)驗(yàn)者。其中固定在腳踝上的兩個(gè)可穿戴式傳感器用來測量加速度。Ethernet AdapterXBee chipArduino Mega Board圖 3.6 固定在腳踝的傳感器3.2.3 慣性定位算法實(shí)現(xiàn)系統(tǒng)中,假設(shè)已有初始位置圖 3.7:航位推算誤差區(qū)域圖以上這個(gè)圖形真實(shí)的點(diǎn)會(huì)有 95%的概率處于別計(jì)算出當(dāng)前位置相對(duì)于之前位置的二維變化量。具體公式為:每一次步行者在開始走路抬腳的時(shí)候和結(jié)束走路放下腳的時(shí)候,在 z 軸的加速度大小的量都會(huì)產(chǎn)生一個(gè)類似于正弦波的變化。而 MAX 又提供了可以感應(yīng)類正弦波變化的接口
24、,因此只要設(shè)定好可能發(fā)生的時(shí)間和可能最小幅值,將固定在腳踝上的傳感器的z 軸加速度通過這個(gè)接口來感應(yīng)是否開始或者結(jié)束。同時(shí)為了防止步行者跳躍造成兩個(gè)腳都產(chǎn)生了類似于走路的信號(hào)而系統(tǒng)自動(dòng)認(rèn)為觸發(fā)了腳步,在判定步數(shù)之前要判定是否有跳躍的可能性。具體的做法是看兩個(gè)腳的 z 軸的加速度如果在 0.2 秒之內(nèi)都出現(xiàn)了一個(gè)類正弦波的變化則系統(tǒng)認(rèn)為步行者在進(jìn)行跳躍運(yùn)動(dòng),不進(jìn)行步數(shù)的判定。如果大于 0.2 秒,則認(rèn)為步行者在正常走路。3.2.6 自適應(yīng)步長算法個(gè)人系統(tǒng)定位的一點(diǎn)在于如何根據(jù)步行者的行走狀態(tài)來判斷步長。固定的步長在DR 測量中會(huì)導(dǎo)致較大的不確定性和誤差?,F(xiàn)有的很多用于個(gè)人室內(nèi)定位的系統(tǒng)和算法都考
25、慮到了步長的。步長誤差可以視為先序-過程,步長使用濾波和GPS 來估算的。步長可用常理和腳步頻率的組合來建模,常量包括腳步頻率和加速計(jì)測量的方差,而腳步頻率,包括測量的加速度的大小和垂直速度方差。在本系統(tǒng)中,采用一種識(shí)別步行者運(yùn)動(dòng)狀態(tài)(走路或者跑步)的自適應(yīng)步長算法。步長與行走頻率,以及每一個(gè)腳步的加速計(jì)信號(hào)的方差呈線性關(guān)系。利用 EKF估算出來的位置信息來反饋和調(diào)節(jié)步長。步長可以通過行走頻率 f 和最后一個(gè)位置的位移方差的線性組合來表示:為了提高精度,可以將目標(biāo)的行為分為多個(gè)情況,而每個(gè)情況內(nèi)分別對(duì)象的參數(shù)設(shè)定不同。在的系統(tǒng)中,采用兩套參數(shù),分別對(duì)應(yīng)普通走路和跑步時(shí)的步長。其中,這兩套參數(shù)里
26、數(shù)值相同,不同的是 和 的數(shù)值。當(dāng)頻率大于某個(gè)數(shù)值時(shí),使用跑步的 參數(shù),反之,使用走路的 參數(shù)。加速度方差的參數(shù)選取也同理。圖 3.9 為自適應(yīng)步長算法的流程圖:標(biāo)定是建立室內(nèi)定位步行者參數(shù)的必要前提,通過實(shí)驗(yàn)可以獲得關(guān)于步長,頻率,放置位置的樣本。由于不同人行動(dòng)時(shí)這三個(gè)參數(shù)有一定的差異,因此我們對(duì)同一個(gè)人了若干實(shí)驗(yàn)數(shù)據(jù)用于計(jì)算這些參數(shù)。通過線性回歸的方法可以獲得, 這三個(gè)參數(shù)。線性回歸用來給大量的具有相互依賴關(guān)系的變量建模。線性回歸的主要思路是擬合出一條線性關(guān)系,使得所有測量點(diǎn)到該線性公式的距離的平方和最小。以下公式用于計(jì)算,:表 3.1 為適應(yīng)性步長參數(shù)訓(xùn)練數(shù)據(jù)表對(duì)表 3.1 數(shù)據(jù)進(jìn)行線性
27、回歸,可以求出所需的參數(shù):走路模式:=0.30,跑步模式:=0.26,=0.43, =0.29=0.04, =0.71由于所得到的數(shù)據(jù)中,走路模式和跑步模式 的值要一樣,因此簡單走路模式試驗(yàn)序號(hào)頻率(Hz)加速度方差步長試驗(yàn)序號(hào)頻率(Hz)加速度方差步長試驗(yàn)序號(hào)頻率(Hz)加速度方差步長12340.1754390.1063830.0591720.2777780.0425810.032790.0103650.107270.2967890.3333330.3571430.1851850.250.0565450.088510.0621160.1975070.330.380.
28、540.54111213140.40.2380950.40.3333330.2653470.1079880.6347490.2245970.540.550.580.6150.2631580.1632450.3100.2777780.2594070.544150.256410.1643680.63跑步模式試驗(yàn)序號(hào)頻率(Hz)加速度方差步長試驗(yàn)序號(hào)頻率(Hz)加速度方差步長123450.3211430.2325580.3333330.3052110.31250.1428620.0789690.1399261.0084740.0738990.710.790.820.830.87670.3715550
29、.370371.6807921.1551920.870.9地去跑步和走路狀態(tài)時(shí)這兩個(gè)值的較小者作為 最后使用的值,即 0.29。但是由于這兩個(gè)數(shù)據(jù)差距過于大,因此在確定了 的值之后要重新對(duì)跑步狀態(tài)時(shí)確定一個(gè)新的參數(shù)。這里 選定的方法是將步長減去 的值之后對(duì)頻率和方差做一個(gè)常數(shù)項(xiàng)為 0 的線性規(guī)劃。因此最終求得的跑步模式的參數(shù)為:=1.57,=0.04。3.3 3D 音效系統(tǒng)接入技術(shù)3.3.1 Open sound control 協(xié)議OSC 是open sound control 的縮寫,它是一種能在接入網(wǎng)絡(luò)的電腦,音效器和其他設(shè)備之間傳輸?shù)囊环N協(xié)議。由于電子音效設(shè)備接入網(wǎng)絡(luò)之后的特性,OSC
30、 有著互通、精確、穩(wěn)定等特點(diǎn),方便信息的組織和管理。這種簡單而強(qiáng)大的協(xié)議能夠聲音或其他信息的傳輸帶來實(shí)時(shí)的控制,并且這些傳輸穩(wěn)定而且易于搭建。OSC 具有以下特點(diǎn):(1)(2)(3)(4)(5)(6)不限名額,動(dòng)態(tài)的,類型與 URL 的符號(hào)命名機(jī)制;符號(hào)化并有著晰度的大量數(shù)據(jù)傳輸;用于多個(gè)接收者接收同一信息單獨(dú)的配對(duì)語言;晰度的時(shí)間戳;能夠處理并發(fā)的信息流;能夠動(dòng)態(tài)尋找 OSC 服務(wù)器發(fā)出信息的隊(duì)列系統(tǒng)。很多設(shè)備都配置了 OSC,包括實(shí)時(shí)環(huán)境處理、交互式網(wǎng)頁工具、音效器、大量編程語言、傳感器測量的硬件設(shè)備等。OSC 同時(shí)也用于大量的領(lǐng)域包括以計(jì)算機(jī)為基礎(chǔ)的新型音樂表達(dá)接口、廣域或區(qū)域的網(wǎng)絡(luò)分配
31、音樂系統(tǒng)、交互傳輸甚至是一個(gè)單獨(dú)的應(yīng)用。通常情況,OSC 協(xié)議可對(duì)多個(gè)不同類型的信號(hào)打包,并通過一個(gè)地址在 UDP 層進(jìn)行廣播。地址的格式形如 UNIX 的文件路徑模式。發(fā)送后,接收設(shè)備可以通過發(fā)送方發(fā)送的地址接收數(shù)據(jù),對(duì)數(shù)據(jù)拆包。由于計(jì)算機(jī)從網(wǎng)關(guān)中接收的數(shù)據(jù)有六個(gè):三個(gè)方向向量和三個(gè)方向的加速度。其中前三個(gè)是整形值,后三個(gè)是浮點(diǎn)數(shù)。每一個(gè)傳感器的六個(gè)數(shù)據(jù)可以打包成一個(gè)在 OSC 地址中傳送,其地址的格式是:圖 3.10 Max 程序向 IOSONO 音效系統(tǒng)發(fā)送 OSC 數(shù)據(jù)包該處理單元實(shí)現(xiàn)了以下的功能:通過網(wǎng)線接收傳感器的信息;處理信息,得到所有傳感器三個(gè)方向的加速度和方向角度數(shù)據(jù),并能用
32、圖形的方法顯示出傳感器的狀態(tài);通過上一步驟得到的參數(shù),算出傳感器攜帶者和初始化的相對(duì)位置;和繪制路徑圖;可以將一些數(shù)據(jù)通過手動(dòng)或自動(dòng)的方式到本地文件上;通過 UDP 協(xié)議將 OSC 數(shù)據(jù)傳送到本地的其他端口或者其他 3D 音效系統(tǒng)中。3.4 多模傳感器接入與自組織組網(wǎng)技術(shù) More如今在舞臺(tái)表演以及互動(dòng)演出當(dāng)中,多模傳感器接入以及數(shù)據(jù)獲取功能需要音樂家編寫專門的程序?qū)崿F(xiàn)。這種情況極大的限制了舞臺(tái)表演作品的發(fā)展,延長了音樂作品的開發(fā)周期。針對(duì)這種情況,開發(fā)了一套多模傳感器接入與自組織組網(wǎng)技術(shù)“More”。它的主要功能是為音樂家提供方便的傳感器數(shù)據(jù)接入方案,使得音樂家更加關(guān)注于交互作品本身不用去為
33、多模傳感器數(shù)據(jù)傳輸花費(fèi)大量時(shí)間。 More 的目標(biāo)是能夠兼容多種傳感器,并且為音樂Max/Msp、Prosing、網(wǎng)頁瀏覽器等等。家提供方便的數(shù)據(jù)接入的客戶端,如3.4.1 More 概述圖 3.11 More 系統(tǒng)結(jié)構(gòu)圖More 的詳細(xì)結(jié)構(gòu)如上圖所示。多種傳感器部署在舞臺(tái)、或者其他特定區(qū)域,以有線或者無線傳輸?shù)男问浇尤氲教囟ǖ墓?jié)點(diǎn)中。這些節(jié)點(diǎn)之間可以相互通信,以自組織組網(wǎng)的方式建立連接,同時(shí)接入到處理單元中。網(wǎng)絡(luò)當(dāng)中的節(jié)點(diǎn)可以互相發(fā)現(xiàn)對(duì)方,并且知道其他節(jié)點(diǎn)所連接的傳感器信息。在樹莓派卡片計(jì)算機(jī)、Cubi、PC、Mac OSX 等軟硬件上實(shí)現(xiàn)了More。目前可以傳感器接入的節(jié)點(diǎn)由樹莓派和Cub
34、i實(shí)現(xiàn)。樹莓派是一款基于ARM 的微型電腦主板,以SD 卡為內(nèi)存硬盤,卡片主板周圍有兩個(gè) USB 接口和一個(gè)網(wǎng)口,可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時(shí)擁有模擬信號(hào)的電視輸出接口和輸出接口,以上全部整合在一張僅比稍大的主板上,具備所有PC 的基本功能只需接通電視機(jī)和鍵盤,就能執(zhí)行如電子表格、文字處理、玩、等諸多功能。由樹莓派節(jié)點(diǎn)組成的網(wǎng)絡(luò)可以看成是一種無線傳感器網(wǎng)絡(luò),每個(gè)樹莓派可以配備一個(gè)USB 無線網(wǎng)卡,可以很方便的建立無線網(wǎng)絡(luò)連接。圖 3.12 樹莓派卡片計(jì)算機(jī)3.4.2 More 結(jié)構(gòu)功能描述構(gòu)建 More 需要考慮 2 方面的結(jié)構(gòu):網(wǎng)絡(luò)結(jié)構(gòu)和通信結(jié)構(gòu)。下面將分別介紹這 2 部分內(nèi)容。在交互式演出
35、、作品當(dāng)中,傳感器數(shù)據(jù)對(duì)延遲具有較高要求。因此選擇建立ore 網(wǎng)絡(luò)結(jié)構(gòu)需要考慮數(shù)據(jù)傳輸?shù)难舆t與抖動(dòng)??紤]到這個(gè)問題,當(dāng)前大M多數(shù)交互式應(yīng)用選擇有線傳輸方式。More 可以適用在多種網(wǎng)絡(luò)結(jié)構(gòu)下:無線局域網(wǎng)WLAN(使用 DHCP 方式分配IP 地址):節(jié)點(diǎn)需要知道 WLAN和PSK,自動(dòng)加入該WLAN;網(wǎng)絡(luò)的無線自組織網(wǎng)絡(luò) Ad-Hoc:IP 地址分配可以通過集中式的方式(local DHCP)或者使用 Zeroconf 協(xié)議;有線局域網(wǎng)LAN:使用 DHCP 方式分配IP 地址;為了不依賴于某個(gè)特定的或者實(shí)現(xiàn)方式( 如 Max/msp ),ore 框架的通信結(jié)構(gòu)分為 2 層:控制層 Contr
36、ol Plane 和數(shù)據(jù)傳輸層 DataMPlane。在詳細(xì)介紹More 的通信結(jié)構(gòu)之前先介紹一個(gè)More 使用案例。一個(gè)音樂家希望通過本地的客戶端獲得連接到樹莓派上傳感器的數(shù)據(jù)。客戶端所具備的功能:知道當(dāng)前網(wǎng)絡(luò)的配置信息(網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)現(xiàn)、網(wǎng)絡(luò)節(jié)點(diǎn)連接的傳感器類型以及數(shù)目);請(qǐng)求傳感器數(shù)據(jù),同時(shí)直接發(fā)送到本地客戶端圖 3.13 M考慮一個(gè)具有 2 個(gè)節(jié)點(diǎn)的 More 的一個(gè)使用案例ore 網(wǎng)絡(luò),包含接了傳感器的樹莓派的的音樂工作站。音樂家希望通過 Max/msp 客戶端獲取到樹莓派連和一臺(tái)接的傳感器數(shù)據(jù),需要經(jīng)過如下幾個(gè)步驟:(1)傳感器連接到樹莓派上。樹莓派節(jié)點(diǎn)檢查到傳感器存在,在網(wǎng)絡(luò)中廣播新
37、傳感器加入的消息給各個(gè)節(jié)點(diǎn);(2)音樂工作站上的 More 接收到廣播消息,通過 Max/msp 客戶端告知音樂家新加入節(jié)點(diǎn)的消息;(3)當(dāng)傳感器準(zhǔn)備好后,音樂家通過音樂工作站上的More 請(qǐng)求傳感器數(shù)據(jù);(4)音樂工作站上的More 會(huì)與樹莓派上的More 通信,檢查傳感器是否可用。在此階段,相關(guān)的IP 地址和端會(huì)互相給出;(5) 樹莓派上的 More 會(huì)生成、執(zhí)行一個(gè) 2 進(jìn)制文件,該文件將發(fā)送感知數(shù)據(jù)給步驟 4 當(dāng)中給出的IP 地址和端口;(6) 音樂工作站Max/msp 客戶端獲取數(shù)據(jù)。這個(gè)使用案例可以擴(kuò)展到存在多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)和每個(gè)節(jié)點(diǎn)具有多個(gè)傳感器的情況。控制層Control Plan
38、e 是由一個(gè)程序core 組成,它使用Node.js 實(shí)現(xiàn),主要功能為了建立所有節(jié)點(diǎn)之間的獨(dú)立的通信。該層通信包括 3 個(gè)獨(dú)立的通信模塊:(1)信息通道(Information channel, InCh)每個(gè)節(jié)點(diǎn)在這一層通道上通過互相訂閱(subscribe)來實(shí)現(xiàn)網(wǎng)絡(luò)配置信息的相互通知、共享。這一層通道通信是完全異步的。在實(shí)現(xiàn)上,使用 Node.js 的 ZeroMQ 抽象類實(shí)現(xiàn) socket 通信和發(fā)布者/訂閱者模式(publisher/subscriber)。每一個(gè)節(jié)點(diǎn)都是一個(gè)發(fā)布者,它會(huì)被網(wǎng)絡(luò)中的其他節(jié)點(diǎn)訂閱。通過這種方式,每當(dāng)一個(gè)節(jié)點(diǎn)觸發(fā)了某一個(gè)事件 event(如新的設(shè)備、傳感器
39、接入到網(wǎng)絡(luò)中),所有其他的節(jié)點(diǎn)均會(huì)被通知這個(gè)事件。信息通道保證了網(wǎng)絡(luò)當(dāng)中所有節(jié)點(diǎn)都能知道當(dāng)前網(wǎng)絡(luò)配置的情況;主通道(Main Channel,MaCh)主通道實(shí)現(xiàn)了一個(gè)傳統(tǒng)的TCP 客戶端/服務(wù)器機(jī)制,它包括 2 種不同的實(shí)現(xiàn)方式:一種完全同步的請(qǐng)求/應(yīng)答機(jī)制,當(dāng)一個(gè)節(jié)點(diǎn)請(qǐng)求資源時(shí),它會(huì)一直等待回復(fù)(進(jìn)程阻塞);一種異步的請(qǐng)求/應(yīng)答機(jī)制,當(dāng)一個(gè)節(jié)點(diǎn)觸發(fā)了一個(gè)異步請(qǐng)求,它 知道可能過需要一段時(shí)間后才有應(yīng)答,因此不會(huì)阻塞當(dāng)前的進(jìn)程。本地通道(Local Channel ,LoCh)本地通道是為了實(shí)現(xiàn)本地客戶端通信而建立的。與其他 2 類通道不同,本地通道基于 HTTP 客戶端/服務(wù)器通信模式實(shí)現(xiàn)的
40、。本地客戶端是(2)(3)HTTP 客戶端程序,通過 GET 請(qǐng)求發(fā)送給包含HTTP 服務(wù)器More。信息通道InCh 和主通道MaCh 均使用TCP 作為傳輸層協(xié)議,用來保證傳輸?shù)目煽啃浴ore 使用以上通道來實(shí)現(xiàn)將數(shù)據(jù)轉(zhuǎn)發(fā)給用戶客戶端程序。More在設(shè)計(jì)時(shí)充分考慮支持多種,用于保證兼容多種傳感器和工作的環(huán)境。本地客戶端為了向用戶提供一個(gè)界面友好的接口來、請(qǐng)求數(shù)據(jù)傳輸層Data Plane 的資源和信息。數(shù)據(jù)請(qǐng)求被發(fā)送到本地的 core 程序,然后該請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到連接了傳感器的特定接收節(jié)點(diǎn)上。本套系統(tǒng)的目標(biāo)之一是通過 Max/msp開發(fā)一個(gè)簡單、友好的客戶端程序給音樂家使用。數(shù)據(jù)提供端(D
41、ata Provider)是在數(shù)據(jù)層中一個(gè)負(fù)責(zé)傳感器原始數(shù)據(jù),并將它們打包成 OSC 數(shù)據(jù)包并轉(zhuǎn)發(fā)到對(duì)應(yīng)的請(qǐng)求節(jié)點(diǎn)的程序。數(shù)據(jù)提供端具體可以是一個(gè)Pure Data 程序或者是為特殊傳感器開發(fā)的驅(qū)動(dòng)程序。3.4.3 More 的工作流程與實(shí)現(xiàn)方案More 工作流程包括以下幾個(gè)步驟:(1)啟動(dòng)時(shí),每一個(gè)節(jié)點(diǎn)通過廣播_node._tcp 服務(wù)通知網(wǎng)絡(luò)中其他節(jié)點(diǎn)它的出現(xiàn)。假設(shè)所有的節(jié)點(diǎn)都處于同一個(gè)子網(wǎng)中,因而他們之間可以通過IP 地址進(jìn)行互相;每一個(gè)節(jié)點(diǎn)提供不同的通信模式,單向、雙向、多向,同步以及異步的通信;網(wǎng)絡(luò)組播(group messaging)通過信息通道 InCh 的發(fā)布者/訂閱者模式實(shí)現(xiàn)
42、,因此每個(gè)節(jié)點(diǎn)都具有 2 個(gè) socket:發(fā)布者socket 僅僅用于向所有的訂閱者發(fā)送信息;訂閱者socket 僅僅用于接收所有其他節(jié)點(diǎn)的信息。(4)點(diǎn)對(duì)點(diǎn)的通信(po-to-pomessaging)通過主通道MaCh 的請(qǐng)求/應(yīng)答模式實(shí)現(xiàn),可以根據(jù)應(yīng)用需要實(shí)現(xiàn)同步以及異步的通信方式;(5)本地客戶端請(qǐng)求網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)的資源,目標(biāo)節(jié)點(diǎn)獲得請(qǐng)求之后,按照目的地IP 地址和端,以 OSC 格式回送傳感器數(shù)據(jù);More 主要通過Node.js 框架實(shí)現(xiàn),使用了一些不同的函數(shù)庫完成網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)、套接字抽象與處理。Node.js 是一個(gè)基于 Chrome JavaScript 運(yùn)行時(shí)建立的,用于方便
43、地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用事件驅(qū)動(dòng),非阻塞 I/O 模型而得以輕量和高效,非常適合在分布式設(shè)備上運(yùn)行的數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用。使用了如下模塊實(shí)現(xiàn)了More:mdns:Node.js 的一個(gè)Zeroconf 協(xié)議的實(shí)現(xiàn),用于網(wǎng)絡(luò)節(jié)點(diǎn)的自組織發(fā)現(xiàn);ZeroMQ:套接字抽象與處理庫,用于實(shí)現(xiàn)發(fā)布者/訂閱者模式;Underscore.js:提供了操作 Javascript 對(duì)象的函數(shù)庫;Async:提供了 Node.js 程序過程式執(zhí)行的函數(shù)模塊;Express:一個(gè) Web 應(yīng)用程序框架。網(wǎng)絡(luò)資源的自組織自發(fā)現(xiàn)功能主要使用 mdns 模塊實(shí)現(xiàn)。mdns 是 Zeroco
44、nf協(xié)議的實(shí)現(xiàn),它可以提供類似于 DNS 服務(wù)發(fā)現(xiàn)的方法。在這個(gè)模塊中,有一個(gè)對(duì)象可以用于發(fā)布和瀏覽本地網(wǎng)絡(luò)中的服務(wù)。Zeroconf 是一種局域網(wǎng)內(nèi)自動(dòng)監(jiān)測設(shè)備或者服務(wù)的規(guī)范,它提供了 3 中不同的功能:本地鏈路分配地址(IPv4LL):在沒有DHCP 服務(wù)器下分配 IP 地址;多播 DNS:自動(dòng)IP 地址;服務(wù)發(fā)現(xiàn)(DNS-SD):在沒有目錄服務(wù)器下,建立和發(fā)現(xiàn)服務(wù)的功能。mdns 模塊允許開發(fā)者實(shí)現(xiàn)如下功能:在局域網(wǎng)中廣播一個(gè)號(hào);的服務(wù),并且可以指定特定的服務(wù)類型和端口瀏覽當(dāng)前網(wǎng)絡(luò)中的所有服務(wù)。每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)通過廣播一個(gè)的服務(wù)_node._tcp 通知網(wǎng)絡(luò)當(dāng)中其他節(jié)點(diǎn)它的出現(xiàn)。使用 br
45、owser 對(duì)象來檢測其他節(jié)點(diǎn)的_node._tcp 服務(wù)監(jiān)測網(wǎng)絡(luò)當(dāng)點(diǎn)的出現(xiàn)與離開,具體實(shí)現(xiàn)如下:在本地網(wǎng)絡(luò)中監(jiān)測_node._tcp 服務(wù):每當(dāng)一個(gè)新節(jié)點(diǎn)發(fā)現(xiàn),觸發(fā)serviceUp 事件:每當(dāng)一個(gè)節(jié)點(diǎn)離開時(shí),出發(fā)serviceDown 事件:使用 ZeroMQ 模塊實(shí)現(xiàn)了信息通道 InCh 和主通道 MaCh。ZeroMQ 是一個(gè)套接字系統(tǒng),能夠很方便的實(shí)現(xiàn)并發(fā) concurrency、排隊(duì) queuing 等模式,并且創(chuàng)建高效的組播以及點(diǎn)對(duì)點(diǎn)通信的方案。基本上,它是為分布式程序建立的一個(gè)智能的傳輸層方案。使用ZeroMQ 實(shí)現(xiàn)了如下模式:發(fā)布者/訂閱者模式:在這種通信模式點(diǎn)會(huì)訂閱他們希望
46、獲得信息的其他節(jié)點(diǎn)。當(dāng)一個(gè)節(jié)點(diǎn)有新的消息(或者觸發(fā)一個(gè)事件),它就會(huì)發(fā)布出去。所有訂閱了此節(jié)點(diǎn)的其他節(jié)點(diǎn)就好收到該信息,如下圖所示:圖 3.14 發(fā)布者、訂閱者機(jī)制請(qǐng)求、應(yīng)答模式:這種模式將一些客戶端程序連接到一系列的服務(wù)上。的情況下,使用了 Dealer 和Router 模式處理請(qǐng)求和對(duì)多種客在戶端進(jìn)行應(yīng)答。這是一種非阻塞的請(qǐng)求應(yīng)答模式;實(shí)現(xiàn)了 2 種客戶端程序:包括 Max/msp的擴(kuò)展和 Web 程序接口。對(duì)于開發(fā)者來說,Max/msp 是一種使用共享庫的模塊化的程序。它允許第用戶開發(fā)外置擴(kuò)展程序稱為 external。使用 Java 語言實(shí)現(xiàn)了 More 的Max/msp 擴(kuò)展NetScan,它的主要功能包括:每當(dāng)一個(gè)用戶需要獲取網(wǎng)絡(luò)信息或者請(qǐng)求資源時(shí),建立 HTTP 連接與More 通信;根據(jù)網(wǎng)絡(luò)信息,創(chuàng)建一個(gè)圖形化的界面。這個(gè)界面包含了當(dāng)前網(wǎng)絡(luò)所有節(jié)點(diǎn)的情況,包括每個(gè)節(jié)點(diǎn)的IP 地址,對(duì)應(yīng)的端感器數(shù)據(jù)對(duì)應(yīng)的 OSC 包的 URL 前綴;創(chuàng)建用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信貸復(fù)習(xí)試題含答案
- 2025知識(shí)產(chǎn)權(quán)許可合同書樣本
- 2025媒介獨(dú)家代理合同
- 2025年公用設(shè)備工程師之專業(yè)基礎(chǔ)知識(shí)(暖通空調(diào)+動(dòng)力)通關(guān)題庫(附帶答案)
- 技能認(rèn)證(風(fēng)機(jī)-單選)練習(xí)測試題附答案
- 生物分離與純化技術(shù)17課件
- 2025企業(yè)如何依法終止與員工簽訂的合同協(xié)議
- 畜產(chǎn)品考試試題及答案
- 廚師職責(zé)考試試題及答案
- 廚師培訓(xùn)考試試題及答案
- 蘇教版2022~2023學(xué)年小學(xué)數(shù)學(xué)畢業(yè)模擬檢測試卷(二)
- 高壓電工證培訓(xùn)課件(第6章電力系統(tǒng)過壓)
- 公路工程投標(biāo)技術(shù)標(biāo)施工組織設(shè)計(jì)
- GB/T 22875-2008衛(wèi)生巾高吸收性樹脂
- GB/T 20021-2005帆布芯耐熱輸送帶
- GB/T 12830-2008硫化橡膠或熱塑性橡膠與剛性板剪切模量和粘合強(qiáng)度的測定四板剪切法
- 《批判性思維》如何掌握批判性思維課件
- 教練技術(shù)LP三階段教練手冊(cè)
- 中醫(yī)院重點(diǎn)專科“康復(fù)科”建設(shè)計(jì)劃
- 國家開放大學(xué)《人文英語3》章節(jié)測試參考答案
- DB65∕T 4330-2021 公路融雪劑使用技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論