欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法與流程

文檔序號(hào):12361387閱讀:413來(lái)源:國(guó)知局
基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法與流程
本發(fā)明涉及一種四旋翼無(wú)人機(jī)控制方法,特別涉及一種基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法。
背景技術(shù)
:四旋翼無(wú)人機(jī)的控制方式均以小型通信地面站和遙控手柄為主。四旋翼無(wú)人機(jī)的操作者一般通過(guò)遙桿控制無(wú)人機(jī)飛行,在操作遙控手柄的同時(shí),還需不停地盯住無(wú)人機(jī)的飛行。在一些特殊場(chǎng)合,比如四旋翼無(wú)人機(jī)特技表演中,需要無(wú)人機(jī)短時(shí)間感應(yīng)出操作者發(fā)出的操作信號(hào),搖桿操作在此種場(chǎng)合下經(jīng)常出現(xiàn)信號(hào)延時(shí),無(wú)法做到響應(yīng)快速變化的操作指令而導(dǎo)致無(wú)人機(jī)墜毀或炸機(jī)。文獻(xiàn)“基于Kinect的四旋翼無(wú)人機(jī)體感控制,傳感器與微系統(tǒng),2015年第34卷第8期,p99-p102”公開(kāi)了一種基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法。其針對(duì)Kinect控制無(wú)人機(jī)方案,在室內(nèi)搭建了基于Kinect傳感器和四旋翼飛行器的實(shí)驗(yàn)平臺(tái)。在提取到一個(gè)站立操作者姿勢(shì)后,通過(guò)調(diào)用體勢(shì)識(shí)別算法進(jìn)行無(wú)人機(jī)飛行控制。該方法分析了使用Kinect傳感器來(lái)進(jìn)行無(wú)人機(jī)飛行控制的部分理論原理及系統(tǒng)設(shè)計(jì),其采用的體勢(shì)動(dòng)作識(shí)別方法屬于靜態(tài)體勢(shì)識(shí)別,操作者給出一個(gè)控制動(dòng)作,需持續(xù)0.5s以上,當(dāng)上肢節(jié)點(diǎn)位置變化過(guò)快,則操作的流暢性會(huì)明顯下降。對(duì)于文獻(xiàn)提及的實(shí)驗(yàn)中使用的是何種體勢(shì)識(shí)別算法,文獻(xiàn)中沒(méi)有詳細(xì)說(shuō)明。此外,其沒(méi)有對(duì)Kinect傳感器進(jìn)行改進(jìn),直接使用現(xiàn)成的傳感器進(jìn)行體勢(shì)識(shí)別,實(shí)驗(yàn)中的操作者至傳感器的距離必須限制在1.5-3.0m,這對(duì)操作者活動(dòng)有一定的限制,實(shí)用性不強(qiáng)。技術(shù)實(shí)現(xiàn)要素:為了克服現(xiàn)有四旋翼無(wú)人機(jī)控制方法實(shí)用性差的不足,本發(fā)明提供一種基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法。該方法利用Kinect傳感器提取操作者身體關(guān)節(jié)部位的移動(dòng)數(shù)據(jù),開(kāi)發(fā)操作者體勢(shì)移動(dòng)識(shí)別算法,進(jìn)而編碼生成對(duì)應(yīng)的四旋翼飛行控制指令,通過(guò)NRF2401傳輸四旋翼無(wú)人機(jī)飛行控制指令,從而實(shí)現(xiàn)對(duì)無(wú)人機(jī)進(jìn)行遠(yuǎn)程精確飛行控制。本方法采用矩陣的復(fù)合變換來(lái)處理每一幀傳感器獲取的骨骼數(shù)據(jù),可大幅減小體勢(shì)識(shí)別待處理的數(shù)據(jù)量。通過(guò)實(shí)現(xiàn)最小二乘法對(duì)有運(yùn)動(dòng)目標(biāo)背景下操作者的形心定位,輸出操作者的位置信息,獲得操作者的運(yùn)動(dòng)軌跡。操作者目標(biāo)跟蹤采用改進(jìn)的Mean-shift算法,從而實(shí)現(xiàn)對(duì)于出現(xiàn)操作者平移、形變或部分遮擋情況下的準(zhǔn)確跟蹤識(shí)別,實(shí)用性強(qiáng)。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案:一種基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法,其特點(diǎn)是包括以下步驟:步驟一、獲取人體關(guān)節(jié)點(diǎn)的數(shù)據(jù):通過(guò)處理景深數(shù)據(jù)及骨骼數(shù)據(jù)來(lái)建立人體各個(gè)關(guān)節(jié)的坐標(biāo),這些關(guān)節(jié)點(diǎn)的位置定義了一個(gè)姿勢(shì)。采用矩陣復(fù)合變換處理人體關(guān)節(jié)點(diǎn)的數(shù)據(jù),相對(duì)于任意點(diǎn)C=[Cx,Cy]通過(guò)三個(gè)步驟進(jìn)行比例變換。首先進(jìn)行平移,即將變換物移動(dòng)到坐標(biāo)系的原點(diǎn);然后進(jìn)行比例變換,即按比例進(jìn)行放大或縮??;最后再進(jìn)行平移,即將變換物移回原位。比例變換將平面上任意一點(diǎn)的橫坐標(biāo)放大或縮小s11倍,縱坐標(biāo)放大或縮小s22倍,即x1=s11×x、y1=s22×y,用矩陣表示為整個(gè)過(guò)程的復(fù)合變換表示為:T=T1·T2·T3=110010-CX-CY1·s11000s220001·110010CxCy1s11000s220Cx(1-s11)Cy(1-s22)1]]>步驟二、從步驟一處理得到的像素矩陣中重新劃分像素區(qū)域,某個(gè)像素點(diǎn)的坐標(biāo)為(xi,yi),共有n個(gè)像素點(diǎn)。用公式(x0,y0)=Σi=1n(xi,yi)/n]]>計(jì)算運(yùn)動(dòng)區(qū)域的幾何中心作為操作者的特征點(diǎn)。使用Canny算子進(jìn)行平滑再求導(dǎo)進(jìn)行邊緣檢測(cè),將從步驟一得到的邊緣輪廓點(diǎn)集表示為(X,Y)={(xi,yi)|i=1,2,3…},選用高斯平滑函數(shù)平滑圖像f(x,y),平滑后圖像g(x,y)=h(x,y,σ)*f(x,y)。使用一階有限差分計(jì)算偏導(dǎo)數(shù)陣列P和Q,已平滑的圖像g(x,y)的梯度使用一個(gè)2×2一階有限差分近似式計(jì)算x與y偏導(dǎo)數(shù)的兩個(gè)陣列f′x(x,y)≈Gx=[f(x+1,y)-f(x,y)+f(x+1,y+1)-f(x,y+1)]/2f′y(x,y)≈Gy=[f(x,y+1)-f(x,y)+f(x+1,y+1)-f(x+1,y)]/2,幅值和方位角通過(guò)直角坐標(biāo)轉(zhuǎn)化到極坐標(biāo)公式計(jì)算得到。步驟三、使用最小二乘法對(duì)步驟二得到的圓形區(qū)域的邊緣輪廓點(diǎn)集擬合以減小誤差,點(diǎn)(xi,yi)處的誤差為δi,圓的標(biāo)準(zhǔn)方程(x-a)2+(y-b)2=r2,(a,b)為圓心坐標(biāo),r為半徑。整理圓的標(biāo)準(zhǔn)方程得到x2+y2-2ax-2by+a2+b2-r2=0,此方程中令-2a=D,-2b=E,a2+b2-r2=F,得到x2+y2+Dx+Ey+F=0。誤差滿足對(duì)誤差求平方和,得到:J(D,E,F)=Σi=1i=nδi2=Σi=1i=n(xi2+yi2+Dx+Ey+F)2]]>最小二乘擬合通過(guò)函數(shù)求極值來(lái)解J(D,E,F(xiàn))最小時(shí)的各參數(shù)值∂J(D,E,F)∂D=Σi=1i=n2·(xi2+yi2+Dx+Ey+F)·xi=0]]>∂J(D,E,F)∂E=Σi=1i=n2·(xi2+yi2+Dx+Ey+F)·yi=0]]>∂J(D,E,F)∂F=Σi=1i=n2(xi2+yi2+Dx+Ey+F)=0]]>當(dāng)D、E、F同時(shí)滿足上述三式,取到J(D,E,F(xiàn))最小值。把得到的邊緣輪廓點(diǎn)集帶入上述三式,求得圓的半徑及圓心坐標(biāo)值,該坐標(biāo)值代表操作者位置。步驟四、將步驟一、步驟二獲取到的骨骼數(shù)據(jù)繪制到UI界面上:采用基于事件的方式訪問(wèn)骨骼數(shù)據(jù)、彩色影像數(shù)據(jù)和景深數(shù)據(jù)。獲取的每一幀數(shù)據(jù)都是一個(gè)骨骼對(duì)象集合,每一個(gè)骨骼對(duì)象包含有描述骨骼位置以及骨骼關(guān)節(jié)的數(shù),定義的每一個(gè)關(guān)節(jié)擁有一個(gè)唯一標(biāo)識(shí)符。在整個(gè)應(yīng)用程序中一次性的為獲取的每一幀骨骼數(shù)據(jù)分配內(nèi)存,并在程序中定義一個(gè)能夠追蹤到骨骼最大個(gè)數(shù)的常量,使其方便的對(duì)獲取的每一幀數(shù)組初始化。之后在UI界面通過(guò)關(guān)節(jié)點(diǎn)將骨骼連接起來(lái),用一條直線代表一根骨骼,這樣便在應(yīng)用程序界面上輸出了骨骼圖像。步驟五、確定操作者的邏輯實(shí)現(xiàn),定義不同的姿勢(shì)動(dòng)作:提取UI界面上的骨骼連線數(shù)據(jù),同時(shí)移動(dòng)手,能夠看到手部骨骼節(jié)點(diǎn)會(huì)跟著移動(dòng)。接著取三個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)三角形,使用余弦定理對(duì)各個(gè)節(jié)點(diǎn)之間的角度進(jìn)行計(jì)算。設(shè)定一個(gè)閾值角度,循環(huán)遍歷檢測(cè)并判斷該閾值角度,若超過(guò)該閾值角度初始閾值則視為操作者進(jìn)行了一次動(dòng)作。根據(jù)兩個(gè)關(guān)節(jié)點(diǎn)繪制一個(gè)三角形,第三個(gè)點(diǎn)由這兩個(gè)關(guān)節(jié)點(diǎn)來(lái)決定。根據(jù)每個(gè)節(jié)點(diǎn)的坐標(biāo)計(jì)算每個(gè)邊長(zhǎng)的值。由余弦定理公式:c2=a2+b2-2abcosC以及計(jì)算出角度。步驟六、對(duì)步驟四捕獲確定的不同姿勢(shì)編碼,對(duì)應(yīng)不同的四旋翼無(wú)人機(jī)飛行控制控制指令:選取五種不同的姿勢(shì)對(duì)應(yīng)不同的飛控指令,握拳對(duì)應(yīng)四旋翼無(wú)人機(jī)起飛,飛行控制指令編碼為0000;松拳對(duì)應(yīng)四旋翼無(wú)人機(jī)降落,飛行控制指令編碼為0001;左搖頭,利用頭部與肩部夾角信息控制四旋翼無(wú)人機(jī)向左平飛,飛行控制指令編碼為0010;右搖頭,利用頭部與肩部夾角信息控制四旋翼無(wú)人機(jī)右平飛,飛行控制指令編碼為0011。雙臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無(wú)人機(jī)向前平飛,飛行控制指令編碼為0100;單臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無(wú)人機(jī)向后平飛,飛行控制指令編碼為0101。步驟七、通過(guò)NRF2401使Kinect識(shí)別端與四旋翼無(wú)人機(jī)建立無(wú)線連接:NRF2401是單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器。使用NRF2401進(jìn)行無(wú)線通信,最遠(yuǎn)通信距離為一千米,輸出功率和通信頻道通過(guò)所編寫的程序進(jìn)行配置。NRF2401配置參數(shù)為16位CRC,主發(fā)送從接收模式。允許接收地址只有頻道0,頻道0自動(dòng)ACK應(yīng)答允許,設(shè)置信道工作為2.4GHz。設(shè)置接收數(shù)據(jù)長(zhǎng)度為4字節(jié),發(fā)射速率為1MHz,發(fā)射功率為最大值0dB。步驟八、四旋翼無(wú)人機(jī)接收體感姿勢(shì)識(shí)別指令編碼,執(zhí)行相應(yīng)的飛行動(dòng)作:四旋翼無(wú)人機(jī)接收到操作者的姿勢(shì)識(shí)別指令后,進(jìn)行相應(yīng)的解碼。解碼后將得到步驟四所述對(duì)應(yīng)的無(wú)人機(jī)飛行控制指令,四旋翼接收飛行控制指令后將執(zhí)行自動(dòng)飛行狀態(tài)、自動(dòng)起飛到達(dá)預(yù)定高度,前、后、左、右四個(gè)方向自動(dòng)平飛五米距離、自動(dòng)降落動(dòng)作。本發(fā)明的有益效果是:該方法利用Kinect傳感器提取操作者身體關(guān)節(jié)部位的移動(dòng)數(shù)據(jù),開(kāi)發(fā)操作者體勢(shì)移動(dòng)識(shí)別算法,進(jìn)而編碼生成對(duì)應(yīng)的四旋翼飛行控制指令,通過(guò)NRF2401傳輸四旋翼無(wú)人機(jī)飛行控制指令,從而實(shí)現(xiàn)對(duì)無(wú)人機(jī)進(jìn)行遠(yuǎn)程精確飛行控制。本方法采用矩陣的復(fù)合變換來(lái)處理每一幀傳感器獲取的骨骼數(shù)據(jù),可大幅減小體勢(shì)識(shí)別待處理的數(shù)據(jù)量。通過(guò)實(shí)現(xiàn)最小二乘法對(duì)有運(yùn)動(dòng)目標(biāo)背景下操作者的形心定位,輸出操作者的位置信息,獲得操作者的運(yùn)動(dòng)軌跡。操作者目標(biāo)跟蹤采用改進(jìn)的Mean-shift算法,從而實(shí)現(xiàn)對(duì)于出現(xiàn)操作者平移、形變或部分遮擋情況下的準(zhǔn)確跟蹤識(shí)別,實(shí)用性強(qiáng)。由于采用了矩陣的復(fù)合變換處理傳感器輸出的數(shù)據(jù),使得計(jì)算機(jī)處理的數(shù)據(jù)量大幅縮小,相比于
背景技術(shù)
,數(shù)據(jù)運(yùn)算量降低38%,程序反應(yīng)時(shí)間提高200ms。相比于靜態(tài)體勢(shì)識(shí)別,本發(fā)明使用形心法確定操作者的位置,有效識(shí)別距離為0.5-3.0m。當(dāng)操作者出現(xiàn)平移、形變或部分遮擋的情況下,識(shí)別準(zhǔn)確率仍可以達(dá)到84.98%,操作者保持不移動(dòng)的正常環(huán)境中識(shí)別率達(dá)到99.67%。下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作詳細(xì)說(shuō)明。附圖說(shuō)明圖1是本發(fā)明基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法的流程圖。圖2是本發(fā)明方法獲取圖像數(shù)據(jù)后使用復(fù)合變換壓縮處理圖像數(shù)據(jù)的原理圖。圖3是本發(fā)明方法在定義操作者姿勢(shì)動(dòng)作時(shí)使用的角度閾值判定方法示意圖。具體實(shí)施方式參照?qǐng)D1-3。本發(fā)明基于Kinect傳感器的四旋翼無(wú)人機(jī)控制方法具體步驟如下:步驟一、首先系統(tǒng)初始化,確認(rèn)系統(tǒng)正常啟動(dòng)。接下來(lái)Kinect開(kāi)啟紅外攝像頭、深景攝像頭,捕獲站在Kinect攝像頭前0.5m距離外的操作者骨骼數(shù)據(jù)。使用矩陣的復(fù)合變換壓縮處理人體關(guān)節(jié)點(diǎn)的數(shù)據(jù),需要?jiǎng)?chuàng)建一個(gè)wpf工程文件,并添加Microsoft.Kinect.dll腳本文件。開(kāi)始啟動(dòng)傳感器之前,初始化SkeletonStream數(shù)據(jù)流,從SkeletonStream數(shù)據(jù)流產(chǎn)生的每一幀數(shù)據(jù)都是一個(gè)骨骼對(duì)象集合,一次性為數(shù)據(jù)流數(shù)組分配內(nèi)存。采用矩陣復(fù)合變換處理人體關(guān)節(jié)點(diǎn)的數(shù)據(jù),相對(duì)于任意點(diǎn)C=[Cx,Cy]通過(guò)三個(gè)步驟進(jìn)行比例變換。首先進(jìn)行平移,可看成是將變換物移動(dòng)到坐標(biāo)系的原點(diǎn);然后進(jìn)行比例變換,按一定比例進(jìn)行放大或縮??;最后再進(jìn)行平移,可看成將變換物移回原位。比例變換將平面上任意一點(diǎn)的橫坐標(biāo)放大或縮小s11倍,縱坐標(biāo)放大或縮小s22倍,即x1=s11×x、y1=s22×y,這可用矩陣表示為整個(gè)過(guò)程的復(fù)合變換表示為T=T1·T2·T3=110010-CX-CY1·s11000s220001·110010CxCy1s11000s220Cx(1-s11)Cy(1-s22)1---(1)]]>即可將圖像中冗余的信息剔除,得到經(jīng)過(guò)矩陣復(fù)合變換壓縮之后的新的圖像信息。步驟二、壓縮得到的新的圖像數(shù)據(jù)將覆蓋原始數(shù)據(jù)的內(nèi)存空間,接下來(lái)需要使用Canny算子進(jìn)行平滑再求導(dǎo)進(jìn)行邊緣檢測(cè)。從步驟一處理得到的像素矩陣中重新劃分像素區(qū)域,某個(gè)像素點(diǎn)的坐標(biāo)為(xi,yi),共有n個(gè)像素點(diǎn)。用公式(x0,y0)=Σi=1n(xi,yi)/n---(2)]]>計(jì)算運(yùn)動(dòng)區(qū)域的圓形幾何中心作為操作者的特征點(diǎn)。邊緣輪廓點(diǎn)集仍可表示為(X,Y)={(xi,yi)|i=1,2,3…}(3)選用高斯平滑函數(shù)平滑圖像f(x,y),平滑后圖像g(x,y)=h(x,y,σ)*f(x,y)。使用一階有限差分計(jì)算偏導(dǎo)數(shù)陣列P和Q,已平滑的圖像g(x,y)的梯度使用一個(gè)2×2一階有限差分近似式來(lái)計(jì)算x與y偏導(dǎo)數(shù)的兩個(gè)陣列:f′x(x,y)≈Gx=[f(x+1,y)-f(x,y)+f(x+1,y+1)-f(x,y+1)]/2(4)f′y(x,y)≈Gy=[f(x,y+1)-f(x,y)+f(x+1,y+1)-f(x+1,y)]/2(5)最后幅值和方位角通過(guò)直角坐標(biāo)轉(zhuǎn)化到極坐標(biāo)公式計(jì)算得到。步驟三、使用最小二乘法對(duì)步驟二得到的圓形區(qū)域的邊緣輪廓點(diǎn)集進(jìn)行擬合,圓的標(biāo)準(zhǔn)方程為x2+y2-2ax-2by+a2+b2-r2=0,此方程中令-2a=D,-2b=E,a2+b2-r2=F,得到x2+y2+Dx+Ey+F=0。誤差滿足對(duì)誤差求平方和,得到:J(D,E,F)=Σi=1i=nδi2=Σi=1i=n(xi2+yi2+Dx+Ey+F)2---(6)]]>最小二乘擬合通過(guò)函數(shù)求極值來(lái)解J(D,E,F(xiàn))最小時(shí)的各參數(shù)值:∂J(D,E,F)∂D=Σi=1i=n2·(xi2+yi2+Dx+Ey+F)·xi=0---(7)]]>∂J(D,E,F)∂E=Σi=1i=n2·(xi2+yi2+Dx+Ey+F)·yi=0---(8)]]>∂J(D,E,F)∂F=Σi=1i=n2(xi2+yi2+Dx+Ey+F)=0---(9)]]>當(dāng)D、E、F同時(shí)滿足上述三式,取到J(D,E,F(xiàn))最小值。把得到的邊緣輪廓點(diǎn)集帶入上述三式,求得圓的半徑及圓心坐標(biāo)值,該坐標(biāo)值代表操作者位置。步驟四、繪制骨骼圖像,當(dāng)某幾個(gè)骨骼關(guān)節(jié)點(diǎn)位置較為接近時(shí),識(shí)別率又將顯著降低。因此,需要尋找一種高效識(shí)別動(dòng)作的算法。常用的算法為計(jì)算兩個(gè)點(diǎn)的長(zhǎng)度,測(cè)試長(zhǎng)度是否在一個(gè)閾值范圍內(nèi)??紤]到前述算法運(yùn)算量大,實(shí)時(shí)性低的缺點(diǎn),可以利用節(jié)點(diǎn)之間構(gòu)造三角形的方法來(lái)定義操作者的姿勢(shì)動(dòng)作。算法中需要取三個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)三角形,使用余弦定理將各個(gè)節(jié)點(diǎn)之間的角度計(jì)算出來(lái)。設(shè)定一個(gè)閾值角度,循環(huán)遍歷檢測(cè)并判斷該角度,若超過(guò)該角度初始閾值則視為操作者進(jìn)行了一次動(dòng)作。由余弦定理公式:c2=a2+b2-2abcosC以及計(jì)算出角度,其中a、b、c隨機(jī)取到的三個(gè)節(jié)點(diǎn)之間的距離,此距離可以從UI界面上直接讀取,C為a、b之間的夾角。步驟五、對(duì)捕獲確定的不同姿勢(shì)編碼,對(duì)應(yīng)到不同的四旋翼無(wú)人機(jī)飛行控制控制指令:選取五種不同的姿勢(shì)對(duì)應(yīng)不同的飛控指令,握拳對(duì)應(yīng)四旋翼無(wú)人機(jī)起飛,飛行控制指令編碼為0000;松拳對(duì)應(yīng)四旋翼無(wú)人機(jī)降落,飛行控制指令編碼為0001;左搖頭,利用頭部與肩部夾角信息控制四旋翼無(wú)人機(jī)向左平飛,飛行控制指令編碼為0010;右搖頭,利用頭部與肩部夾角信息控制四旋翼無(wú)人機(jī)右平飛,飛行控制指令編碼為0011。雙臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無(wú)人機(jī)向前平飛,飛行控制指令編碼為0100;單臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無(wú)人機(jī)向后平飛,飛行控制指令編碼為0101。步驟六、通過(guò)NRF2401使Kinect識(shí)別端與四旋翼無(wú)人機(jī)建立無(wú)線連接,最遠(yuǎn)通信距離為一千米,輸出功率和通信頻道通過(guò)所編寫的程序進(jìn)行配置。給NRF2401配置的參數(shù)為16位CRC,主發(fā)送從接收模式。允許接收地址只有頻道0,頻道0自動(dòng)ACK應(yīng)答允許,設(shè)置信道工作為2.4GHz。設(shè)置接收數(shù)據(jù)長(zhǎng)度為4字節(jié),發(fā)射速率為1MHz,發(fā)射功率為最大值0dB。步驟七:四旋翼無(wú)人機(jī)接收到操作者的姿勢(shì)識(shí)別指令后,進(jìn)行相應(yīng)的解碼。解碼后將得到步驟四所述對(duì)應(yīng)的無(wú)人機(jī)飛行控制指令,四旋翼接收飛行控制指令后將執(zhí)行自動(dòng)飛行狀態(tài),自動(dòng)起飛到達(dá)預(yù)定高度,前、后、左、右四個(gè)方向自動(dòng)平飛五米距離,自動(dòng)降落等動(dòng)作。其中的自動(dòng)平飛距離可在飛行控制程序中設(shè)定。至此,系統(tǒng)完成預(yù)設(shè)定功能。本發(fā)明針對(duì)四旋翼無(wú)人機(jī)控制中操作復(fù)雜、專業(yè)性高的問(wèn)題,提出了一種基于Kinect傳感器無(wú)人機(jī)體感控制方案,并完成系統(tǒng)總體設(shè)計(jì)及相關(guān)算法實(shí)現(xiàn)。本發(fā)明闡述的復(fù)雜背景下的體勢(shì)識(shí)別方法更加實(shí)用,使用形心法確定操作者的位置,有效識(shí)別距離為0.5-3.0m。當(dāng)操作者出現(xiàn)平移、形變或部分遮擋的情況下,識(shí)別準(zhǔn)確率仍可以達(dá)到84.98%,操作者保持不移動(dòng)的正常環(huán)境中識(shí)別率達(dá)到99.67%。本發(fā)明操作包括如下步驟:(1)系統(tǒng)連接,確認(rèn)無(wú)誤后上電;(2)進(jìn)入系統(tǒng)SDK開(kāi)發(fā)界面,系統(tǒng)初始化;(3)捕獲操作者骨骼數(shù)據(jù),程序?qū)?shù)據(jù)進(jìn)行處理,將骨骼圖像繪制到UI界面上;(4)調(diào)用姿勢(shì)識(shí)別算法,提取獲取的三個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)三角形,使用余弦定理將各個(gè)節(jié)點(diǎn)之間的角度計(jì)算出來(lái)。設(shè)定一個(gè)閾值角度,循環(huán)遍歷檢測(cè)并判斷該角度,若超過(guò)該角度初始閾值則視為操作者進(jìn)行了一次動(dòng)作。(5)對(duì)識(shí)別到的姿勢(shì)動(dòng)作進(jìn)行編碼,對(duì)應(yīng)不同的飛行控制指令,通過(guò)NRF2401將編碼數(shù)據(jù)發(fā)送給無(wú)人機(jī);(6)無(wú)人機(jī)接收數(shù)據(jù)并解碼,解碼得到的控制指令將使無(wú)人機(jī)執(zhí)行預(yù)定義飛行動(dòng)作,至此,整個(gè)系統(tǒng)完成一次飛行。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
益阳市| 茂名市| 德庆县| 漳平市| 方城县| 北京市| 阳春市| 井研县| 玛曲县| 上林县| 随州市| 休宁县| 漾濞| 莱西市| 碌曲县| 海兴县| 靖安县| 崇文区| 沧州市| 淳安县| 会东县| 巫山县| 荆州市| 福清市| 四子王旗| 城市| 巢湖市| 洞头县| 上林县| 乌审旗| 凭祥市| 乳源| 琼海市| 夏河县| 天气| 东丰县| 屏东县| 贵南县| 三台县| 惠水县| 旬邑县|