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

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

文檔序號:12361387閱讀:來源:國知局

技術(shù)特征:

1.一種基于Kinect傳感器的四旋翼無人機(jī)控制方法,其特征在于包括以下步驟:

步驟一、獲取人體關(guān)節(jié)點(diǎn)的數(shù)據(jù):通過處理景深數(shù)據(jù)及骨骼數(shù)據(jù)來建立人體各個關(guān)節(jié)的坐標(biāo),這些關(guān)節(jié)點(diǎn)的位置定義了一個姿勢;采用矩陣復(fù)合變換處理人體關(guān)節(jié)點(diǎn)的數(shù)據(jù),相對于任意點(diǎn)C=[Cx,Cy]通過三個步驟進(jìn)行比例變換;首先進(jìn)行平移,即將變換物移動到坐標(biāo)系的原點(diǎn);然后進(jìn)行比例變換,即按比例進(jìn)行放大或縮??;最后再進(jìn)行平移,即將變換物移回原位;比例變換將平面上任意一點(diǎn)的橫坐標(biāo)放大或縮小s11倍,縱坐標(biāo)放大或縮小s22倍,即x1=s11×x、y1=s22×y,用矩陣表示為整個過程的復(fù)合變換表示為:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>T</mi> <mo>=</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>&CenterDot;</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>&CenterDot;</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> <mo>=</mo> <mfenced open = "|" close = "|"> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <msub> <mi>C</mi> <mi>X</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>C</mi> <mi>Y</mi> </msub> </mrow> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>&CenterDot;</mo> <mfenced open = "|" close = "|"> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mn>11</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>s</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>&CenterDot;</mo> <mfenced open = "|" close = "|"> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>C</mi> <mi>x</mi> </msub> </mtd> <mtd> <msub> <mi>C</mi> <mi>y</mi> </msub> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mfenced open = "|" close = "|"> <mtable> <mtr> <mtd> <msub> <mi>s</mi> <mn>11</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>s</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>C</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>s</mi> <mn>11</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>C</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>s</mi> <mn>22</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> </mtable> </mfenced>

步驟二、從步驟一處理得到的像素矩陣中重新劃分像素區(qū)域,某個像素點(diǎn)的坐標(biāo)為(xi,yi),共有n個像素點(diǎn);用公式

<mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> <mo>)</mo> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>/</mo> <mi>n</mi> </mrow>

計算運(yùn)動區(qū)域的幾何中心作為操作者的特征點(diǎn);使用Canny算子進(jìn)行平滑再求導(dǎo)進(jìn)行邊緣檢測,將從步驟一得到的邊緣輪廓點(diǎn)集表示為(X,Y)={(xi,yi)|i=1,2,3…},

選用高斯平滑函數(shù)平滑圖像f(x,y),平滑后圖像g(x,y)=h(x,y,σ)*f(x,y);使用一階有限差分計算偏導(dǎo)數(shù)陣列P和Q,已平滑的圖像g(x,y)的梯度使用一個2×2一階有限差分近似式計算x與y偏導(dǎo)數(shù)的兩個陣列

fx′(x,y)≈Gx=[f(x+1,y)-f(x,y)+f(x+1,y+1)-f(x,y+1)]/2

fy′(x,y)≈Gy=[f(x,y+1)-f(x,y)+f(x+1,y+1)-f(x+1,y)]/2

幅值和方位角通過直角坐標(biāo)轉(zhuǎn)化到極坐標(biāo)公式計算得到;

步驟三、使用最小二乘法對步驟二得到的圓形區(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;誤差滿足對誤差求平方和,得到:

<mrow> <mi>J</mi> <mrow> <mo>(</mo> <mi>D</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>F</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <msubsup> <mi>&delta;</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>D</mi> <mi>x</mi> <mo>+</mo> <mi>E</mi> <mi>y</mi> <mo>+</mo> <mi>F</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

最小二乘擬合通過函數(shù)求極值來解J(D,E,F(xiàn))最小時的各參數(shù)值

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>D</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>F</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>D</mi> </mrow> </mfrac> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <mn>2</mn> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>D</mi> <mi>x</mi> <mo>+</mo> <mi>E</mi> <mi>y</mi> <mo>+</mo> <mi>F</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow>

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>D</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>F</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> </mfrac> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <mn>2</mn> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>D</mi> <mi>x</mi> <mo>+</mo> <mi>E</mi> <mi>y</mi> <mo>+</mo> <mi>F</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow>

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>J</mi> <mrow> <mo>(</mo> <mi>D</mi> <mo>,</mo> <mi>E</mi> <mo>,</mo> <mi>F</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>F</mi> </mrow> </mfrac> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>n</mi> </mrow> </munderover> <mn>2</mn> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mi>D</mi> <mi>x</mi> <mo>+</mo> <mi>E</mi> <mi>y</mi> <mo>+</mo> <mi>F</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow>

當(dāng)D,E,F(xiàn)同時滿足上述三式,取到J(D,E,F(xiàn))最小值;把得到的邊緣輪廓點(diǎn)集帶入上述三式,求得圓的半徑及圓心坐標(biāo)值,該坐標(biāo)值代表操作者位置;

步驟四、將步驟一、步驟二獲取到的骨骼數(shù)據(jù)繪制到UI界面上:采用基于事件的方式訪問骨骼數(shù)據(jù)、彩色影像數(shù)據(jù)和景深數(shù)據(jù);獲取的每一幀數(shù)據(jù)都是一個骨骼對象集合,每一個骨骼對象包含有描述骨骼位置以及骨骼關(guān)節(jié)的數(shù),定義的每一個關(guān)節(jié)擁有一個唯一標(biāo)識符;在整個應(yīng)用程序中一次性的為獲取的每一幀骨骼數(shù)據(jù)分配內(nèi)存,并在程序中定義一個能夠追蹤到骨骼最大個數(shù)的常量,使其方便的對獲取的每一幀數(shù)組初始化;之后在UI界面通過關(guān)節(jié)點(diǎn)將骨骼連接起來,用一條直線代表一根骨骼,這樣便在應(yīng)用程序界面上輸出了骨骼圖像;

步驟五、確定操作者的邏輯實(shí)現(xiàn),定義不同的姿勢動作:提取UI界面上的骨骼連線數(shù)據(jù),同時移動手,能夠看到手部骨骼節(jié)點(diǎn)會跟著移動;接著取三個節(jié)點(diǎn)構(gòu)成一個三角形,使用余弦定理對各個節(jié)點(diǎn)之間的角度進(jìn)行計算;設(shè)定一個閾值角度,循環(huán)遍歷檢測并判斷該閾值角度,若超過該閾值角度初始閾值則視為操作者進(jìn)行了一次動作;根據(jù)兩個關(guān)節(jié)點(diǎn)繪制一個三角形,第三個點(diǎn)由這兩個關(guān)節(jié)點(diǎn)來決定;根據(jù)每個節(jié)點(diǎn)的坐標(biāo)計算每個邊長的值;由余弦定理公式:c2=a2+b2-2ab cos C以及計算出角度;

步驟六、對步驟四捕獲確定的不同姿勢編碼,對應(yīng)不同的四旋翼無人機(jī)飛行控制控制指令:選取五種不同的姿勢對應(yīng)不同的飛控指令,握拳對應(yīng)四旋翼無人機(jī)起飛,飛行控制指令編碼為0000;松拳對應(yīng)四旋翼無人機(jī)降落,飛行控制指令編碼為0001;左搖頭,利用頭部與肩部夾角信息控制四旋翼無人機(jī)向左平飛,飛行控制指令編碼為0010;右搖頭,利用頭部與肩部夾角信息控制四旋翼無人機(jī)右平飛,飛行控制指令編碼為0011;雙臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無人機(jī)向前平飛,飛行控制指令編碼為0100;單臂平舉胸前,利用手臂關(guān)節(jié)與腰部的夾角信息控制四旋翼無人機(jī)向后平飛,飛行控制指令編碼為0101;

步驟七、通過NRF2401使Kinect識別端與四旋翼無人機(jī)建立無線連接:NRF2401是單片射頻收發(fā)芯片,工作于2.4~2.5GHz ISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器;使用NRF2401進(jìn)行無線通信,最遠(yuǎn)通信距離為一千米,輸出功率和通信頻道通過所編寫的程序進(jìn)行配置;NRF2401配置參數(shù)為16位CRC,主發(fā)送從接收模式;允許接收地址只有頻道0,頻道0自動ACK應(yīng)答允許,設(shè)置信道工作為2.4GHz;設(shè)置接收數(shù)據(jù)長度為4字節(jié),發(fā)射速率為1MHz,發(fā)射功率為最大值0dB;

步驟八、四旋翼無人機(jī)接收體感姿勢識別指令編碼,執(zhí)行相應(yīng)的飛行動作:四旋翼無人機(jī)接收到操作者的姿勢識別指令后,進(jìn)行相應(yīng)的解碼;解碼后將得到步驟四所述對應(yīng)的無人機(jī)飛行控制指令,四旋翼接收飛行控制指令后將執(zhí)行自動飛行狀態(tài)、自動起飛到達(dá)預(yù)定高度,前、后、左、右四個方向自動平飛五米距離、自動降落動作。

當(dāng)前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
肥城市| 吉林省| 泰顺县| 张家界市| 清水河县| 姚安县| 马公市| 永城市| 阿拉尔市| 高清| 天津市| 军事| 邳州市| 江阴市| 五常市| 大悟县| 遂溪县| 牙克石市| 安新县| 金阳县| 临颍县| 勐海县| 根河市| 海安县| 桂林市| 元朗区| 武汉市| 固原市| 堆龙德庆县| 新晃| 建昌县| 浦江县| 大宁县| 汽车| 南充市| 济源市| 大田县| 拉萨市| 云龙县| 梁河县| 景泰县|