项目简介
本项目是对四轴飞行机器人AR.Drone2.0
进行二次开发,其目的是让飞行器能够自动跟踪物体。AR.Drone2.0
由Parrot
公司开发,提供了可用于二次开发的SDK。项目借助Camshift
检测算法识别视频流中预先选定的物体,再依据物体相对飞行器的位置,自动发送控制指令,让物体始终处于飞行器视野中心。
项目的主要特性和功能
- 飞行器控制:支持飞行器的起飞、降落、前进、后退、左转、右转等基本动作,可通过键盘输入或GUI界面操作。
- 视频处理:包含视频的前处理(如格式转换)和后处理(写入文件或显示到窗口),能实时处理飞行器发送的压缩视频流。
- 目标跟踪:运用
OpenCV
库和Camshift
算法进行目标区域选取和跟踪,通过共享内存实现线程间数据交换,实时计算目标位置与理想位置的差值。 - 自动调整:根据计算所得的差值,自动调整飞行器的方向和速度,保持目标在视野中心。
安装使用步骤
依赖安装
确保电脑已安装以下依赖:
- AR.Drone2.0 SDk2
(编译错误解决参考)
- GTK、cmake、make、opencv
编译
- 进入
imageProcess
文件夹,执行命令:cmake. make
- 进入
Control
文件夹,执行命令:make
执行
- 进入
Build
文件夹,执行命令:./tracking
- 进入
imageProcess
文件夹,执行命令:./imageProcess
- 在出现的面板上点击
takeOff
。 - 确保在视频上选择了目标(被追踪的目标被红框框住),点击
tracking
,飞行器开始自动跟踪。 - 点击
stop
,飞行器会处于悬浮状态,点击land
以使飞行器降落,也可直接点击land
。
参数说明
参数ini_area
表示目标在返回图像中占据的面积(像素)。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】