帶你瞭解P600吊艙是如何實現對特定目標,進行框選追蹤跟隨的

今天我們來講一講P600室外無人機亮點功能之一“吊艙框選跟蹤”。該平臺配置USB接口的Q10F十倍變焦單光吊艙,並開發了其專用ROS驅動;通過機載系統中內置的KCF框選追蹤算法,基於*圖像視覺實現對特定目標(人/車/其他無人機等…)的框選、追蹤與跟隨。下面將分別從原理說明和實機操作兩方面進行描述。

file

一、原理說明

1、KCF原理

KCF(Kernelized Correlation Filters)是一種鑑別式追蹤方法,這類方法一般都是在追蹤過程中訓練一個目標檢測器,使用目標檢測器去檢測下一幀預測位置是否是目標,然後再使用新檢測結果去更新訓練集進而更新目標檢測器。而在訓練目標檢測器時一般選取目標區域爲正樣本,目標的周圍區域爲負樣本,當然越靠近目標的區域爲正樣本的可能性越大。KCF相對於其他的tracking-by-detection方法速度得到了極大的提升,效果也相對較好。

KCF算法流程圖

file

2、節點圖

吊艙跟蹤節點圖如下圖所示:

file

3、跟蹤控制原理與主要消息流

控制說明:tracker_ros節點訂閱來自吊艙的圖像話題,得到xy偏移量和原本框大小和實際框大小,都在position_diff話題裏面。xy的偏移量在serial_node節點由PID得到吊艙偏航橫滾的控制量並通過串口二發給吊艙。原本框大小和實際框大小在target_tarcking節點由PID得到無人機x方向的期望速度。

file

吊艙控制

俯仰角控制:PID控制(誤差來自檢測框與相機圖像中心點上下偏離的距離)偏航角控制:PID控制(誤差來自檢測框與相機圖像中心點左右偏離的距離)吊艙俯仰角和偏航角的PID代碼如下:

file

無人機跟蹤控制

無人機偏航是讀取吊艙偏航,並和吊艙偏航保持一致。X方向速度控制:PID控制(誤差來自當前檢測框的大小和最初手動框選大小的差)X方向速度的PID控制代碼如下:

file

二、實機操作

室外測試需要使用NoMachine連接TX2的遠程桌面,同時在TX2上框選要跟蹤的目標在完成初步測試之後,讓飛手在自穩模式或定點模式下試飛飛機,飛機正常則返回地面繼續下面步驟啓動

fly_track_outdoor.sh

文件

/home/amov/track_ws/src/px4_command/sh/sh_for_P200/fly_tracking_outdoor.sh

觀察各個終端,確保都沒有錯誤在倒數第三個終端窗口輸入0選擇PID,輸入1選擇GO ON

file

在倒數第二個終端窗口輸入1選擇go on,輸入777選擇track

file

飛手嘗試切換offboard模式,能切換成功則在position模式下飛到一定高度。框選目標觀測速度數據是否正常,正常則繼續框選目標:

file

飛手切offboard模式飛機開始跟蹤,並注意在意外情況下控制飛機切到自穩或者定點模式。

更多詳細的資料

可參考wiki手冊:

https://prometheus-wiki.readthedocs.io/zh_CN/latest/docs/p600/5-%E8%BF%9B%E9%98%B6%E5%8A%9F%E8%83%BD-%E6%A1%86%E9%80%89%E8%B7%9F%E8%B8%AA%E9%A3%9E%E8%A1%8C.html

- End -

技術發展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業最新的技術和硬件推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公衆號,我們將持續發佈機器人行業最有價值的信息和技術。

本文由博客一文多發平臺 OpenWrite 發佈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章