带你了解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 发布!

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