按照預(yù) 設(shè)頻率進行拍攝操作,得到拍攝圖像;分析所述拍攝圖像,得到拍攝圖像上的至少一個特征 點;獲取前后兩個拍攝圖像中的特征點在第一方向運動的距離及在第二方向運動的距離; 獲取所述無人機的當前飛行高度;根據(jù)所述特征點在第一方向運動的距離和無人機的當前 飛行高度,得到所述無人機在第一方向上的補償漂移量;及根據(jù)所述特征點在第二方向運 動的距離和無人機的當前飛行高度,得到所述無人機在第二方向上的補償漂移量;根據(jù)所 述第一方向上的補償漂移量和第二方向上的補償漂移量控制無人機飛行;即可通過搭載在 無人機上的攝像機得到拍攝圖像,根據(jù)該拍攝圖像中的特征點的位置變化及無人機的當前 飛行高度,得到補償漂移量,再根據(jù)該補償漂移量控制無人機飛行,使得無人機飛行到特定 位置,對無人機進行定位,具有可靠、低成本優(yōu)點。
【附圖說明】
[0052] 圖1為本發(fā)明無人機飛行控制方法優(yōu)選實施例的流程示意圖;
[0053] 圖2為本發(fā)明獲取前后兩個拍攝圖像中的特征點在第一方向運動的距離及在第 二方向運動的距離的步驟的細化流程示意圖;
[0054] 圖3為圖1中步驟S50的第一實施例的詳細流程示意圖;
[0055] 圖4為圖1中步驟S50的第二實施例的詳細流程示意圖;
[0056] 圖5為本發(fā)明無人機飛行控制裝置優(yōu)選實施例的結(jié)構(gòu)示意圖;
[0057] 圖6為本發(fā)明無人機飛行控制裝置的第一獲取模塊的細化結(jié)構(gòu)示意圖;
[0058] 圖7為本發(fā)明無人機飛行控制裝置的補償模塊的第一實施例細化結(jié)構(gòu)示意圖;
[0059] 圖8為本發(fā)明無人機飛行控制裝置的補償模塊的第二實施例細化結(jié)構(gòu)示意圖。
[0060] 本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0061] 應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0062] 參照圖1,圖1為本發(fā)明無人機飛行控制方法優(yōu)選實施例的流程示意圖,該方法包 括:
[0063] S10、控制搭載在無人機上的攝像機按照預(yù)設(shè)頻率進行拍攝操作,得到拍攝圖像。
[0064] 攝像機搭載在無人機上,與無人機固定連接。在一實施例中,可通過云臺將攝像機 搭載在無人機上,通過該攝像機可拍攝無人機正下方或前方的圖像。
[0065] 在該步驟中,控制攝像機按照預(yù)設(shè)頻率進行拍攝操作,得到拍攝圖像;該預(yù)設(shè)頻率 由攝像機的具體配置決定,若該攝像機的配置高,則該預(yù)設(shè)頻率可以大一些,若該攝像機的 配置低,則該預(yù)設(shè)頻率可以小一些。在一實施例中,該預(yù)設(shè)頻率可以為250次/秒,即每秒 拍攝250幅圖像。
[0066] S20、分析該拍攝圖像,得到拍攝圖像上的至少一個特征點。
[0067] 當步驟SlO中得到的拍攝圖像有多個時,則分別對各個拍攝圖像進行分析,得到 各個拍攝圖像上的特征點。各個拍攝圖像上的特征點至少有一個。
[0068] 在一實施例中,分析該拍攝圖像,得到拍攝圖像上的至少一個特征點的步驟為:分 析該拍攝圖像,從該拍攝圖像中獲取梯度圖像,并根據(jù)梯度圖像提取至少一個特征點。根據(jù) 獲取的梯度圖像計算梯度值,選取梯度值大于預(yù)設(shè)梯度閥值的點為特征點。
[0069] S30、獲取前后兩個拍攝圖像中的特征點在第一方向運動的距離及在第二方向運 動的距離;該第一方向與第二方向呈垂直關(guān)系。
[0070] 較佳的,該第一方向為水平方向,該第二方向為垂直方向;或該第一方向為垂直方 向,該第二方向為水平方向。
[0071] 特征點在前拍攝圖像中的坐標為(X1, yi),特征點在后拍攝圖像中的坐標為(x2, y2),將特征點在前拍攝圖像中的坐標點(Xl,yi)與在后拍攝圖像中的坐標(x 2,y2)作差,得 到特征點在第一方向運動的距離和在第二方向運動的距離,如,特征點在第一方向運動的 距離D為I X1-X21,特征點在第二方向運動的距離D'為I Y1I21。
[0072] S40、獲取該無人機的當前飛行高度。
[0073] 可通過設(shè)置在無人機上的超聲波傳感器、激光傳感器、聲納傳感器、紅外傳感器等 高度測量傳感器測量無人機的當前飛行高度,該當前飛行高度為無人機相對地面的高度。
[0074] 在該步驟中,通過讀取超聲傳感器、激光傳感器、聲吶傳感器、紅外傳感器等高度 測量傳感器上的測量數(shù)據(jù),得到無人機的當前飛行高度。
[0075] S50、根據(jù)該特征點在第一方向運動的距離和無人機的當前飛行高度,得到該無人 機在第一方向上的補償漂移量;及根據(jù)該特征點在第二方向運動的距離和無人機的當前飛 行高度,得到該無人機在第二方向上的補償漂移量。
[0076] 在該步驟中,根據(jù)特征點在第一方向運動的距離和無人機的當前飛行高度,得到 該無人機在第一方向上的補償漂移量;較佳中,可對該特征點在第一方向運動的距離和 無人機的當前飛行高度進行勾股定理運算,得到該特征點在第一方向運動的補償漂移量 OfTsetL即
,其中D表示該特征點在第一方向運動的距離,H表示無人機 的當前飛行高度。
[0077] 在該步驟中,根據(jù)特征點在第二方向運動的距離和無人機的當前飛行高度,得到 該無人機在第二方向上的補償漂移量;較佳的,可對該特征點在第二方向運動的距離和 無人機的當前飛行高度進行勾股定理運算,得到該特征點在第二方向運動的補償漂移量 〇fTSet2, 即
,其中D'表示該特征點在第二方向運動的距離,H表示無人 機的當前飛行高度。
[0078] S60、根據(jù)該第一方向上的補償漂移量和第二方向上的補償漂移量控制無人機飛 行。
[0079] 在該步驟中,根據(jù)該第一方向上的補償漂移量和第二方向上的補償漂移量控制無 人機飛行,使得無人機飛行到特定位置,對無人機進行定位。具體的,可先根據(jù)該第一方向 上的補償漂移量和第二方向上的補償漂移量計算需要向無人機上的馬達輸出的PWM信號, 然后將該計算出的PWM信號發(fā)送給無人機的微控制器,供微控制器根據(jù)該PWM信號控制馬 達的轉(zhuǎn)速。
[0080] 采用上述實施例,通過控制搭載在無人機上的攝像機按照預(yù)設(shè)頻率進行拍攝操 作,得到拍攝圖像;分析該拍攝圖像,得到拍攝圖像上的至少一個特征點;獲取前后兩個拍 攝圖像中的特征點在第一方向運動的距離及在第二方向運動的距離;獲取該無人機的當前 飛行高度;根據(jù)該特征點在第一方向運動的距離和無人機的當前飛行高度,得到該無人機 在第一方向上的補償漂移量;及根據(jù)該特征點在第二方向運動的距離和無人機的當前飛行 高度,得到該無人機在第二方向上的補償漂移量;根據(jù)該第一方向上的補償漂移量和第二 方向上的補償漂移量控制無人機飛行;即可通過搭載在無人機上的攝像機得到拍攝圖像, 根據(jù)該拍攝圖像中的特征點的位置變化及無人機的當前飛行高度,得到補償漂移量,再根 據(jù)該補償漂移量控制無人機飛行,使得無人機飛行到特定位置,對無人機進行定位,具有可 靠、低成本優(yōu)點。
[0081] 進一步的,如圖2所示,該獲取前后兩個拍攝圖像中的特征點在第一方向運動的 距離及在第二方向運動的距離的步驟包括:
[0082] S31、分別計算前后兩個拍攝圖像中的各個特征點在第一方向運動的距離,對該計 算的各個特征點在第一方向運動的距離求平均值,作為該前后兩個拍攝圖像中的特征點在 第一方向運動的距離。
[0083] 當在前后兩個拍攝圖像中的特征點有多個時,則分別計算前后兩個拍攝圖像中 的各個特征點在第一方向運動的距離,如在前后兩個拍攝圖像都包括特征點Pi、P 2、……、 Pi、.......、ρη,η表示特征點個數(shù),特征點Pp P2、…、Pi、--、Pn在前拍攝圖像中的坐標 分力 U 為(Xll,y"li)、(X21,y"2i)、…、(Xil,y"ii)…、(Xnl,YnI),特征點 Pl、P2、…、匕、····、]1^ 在后 拍攝圖像中的坐標分別為(x1;!,yd、(Xw yd、…(Xu,yd、…、(xn2, yJ,各個特征點在 第一方向運動的距離為Ix11-X12N I X2I-X22I、…、I XifXi2I、…、IxnI-Xn2I ;然后對計算的各 個特征點在第一方向運動的距離求平均值,作為該前后兩個拍攝圖像中的特征點在第一方 向運動的距離 D,D = + + + 可使得獲取的特 征點在第一方向運動的距離更加準確。
[0084] S32、分別計算前后兩個拍攝圖像中的各個特征點在第二方向運動的距離,對該計 算的各個特征點在第二方向運動的距離求平均值,作為該前后兩個拍攝圖像中的特征點在 第二方向運動的距離。
[0085] 當在前后兩個拍攝圖像中的特征點有多個時,則分別計算前后兩個拍攝圖像中 的各個特征點在第二方向運動的距離,如在前后兩個拍攝圖像都包括特征點Pi、P 2、……、 Pi、…--、Ρη,η表示特征點個數(shù),特征點Pp P2、…、Pi、--、Pn在前拍攝圖像中的坐標 分力 U 為(Xll,y"li)、(X2I,y"2i)、…、(Xil,y"ii)…、(Xnl,YnI),特征點 Pl、P2、…、匕、····、]1^ 在后 拍攝圖像中的坐標分別為(x1;!,yd、(Xw yd、…(Xu,yd、…、(xn2, yJ,各個特征點在 第二方向運動的距離為|yn-y12|、|y21-y22|、…、Iy ilIi2N…、|ynl-yn2| ;然后對計算的各 個特征點在第二方向運動的距離求平均值,作為該前后兩個拍攝圖像中的特征點在第二方 向運動的距離 D',D' = (|yn-y12| + |y21-y22|+…+ |yu-yi2|+…+ |ynl-yn2|)/n,可使得獲取的 特征點在第二方向運動的距離更加準確。
[0086] 進一步的,在步驟S50之前,該方法還包括:S70、判斷該攝像機是否正對地面拍 攝,在該攝像頭正對地面拍攝時,執(zhí)彳T步驟S50。
[0