littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于AR.Drone2.0 SDK和OpenCV的四轴飞行机器人目标跟踪系统

项目简介

本项目是对四轴飞行机器人AR.Drone2.0进行二次开发,其目的是让飞行器能够自动跟踪物体。AR.Drone2.0Parrot公司开发,提供了可用于二次开发的SDK。项目借助Camshift检测算法识别视频流中预先选定的物体,再依据物体相对飞行器的位置,自动发送控制指令,让物体始终处于飞行器视野中心。

项目的主要特性和功能

  1. 飞行器控制:支持飞行器的起飞、降落、前进、后退、左转、右转等基本动作,可通过键盘输入或GUI界面操作。
  2. 视频处理:包含视频的前处理(如格式转换)和后处理(写入文件或显示到窗口),能实时处理飞行器发送的压缩视频流。
  3. 目标跟踪:运用OpenCV库和Camshift算法进行目标区域选取和跟踪,通过共享内存实现线程间数据交换,实时计算目标位置与理想位置的差值。
  4. 自动调整:根据计算所得的差值,自动调整飞行器的方向和速度,保持目标在视野中心。

安装使用步骤

依赖安装

确保电脑已安装以下依赖: - AR.Drone2.0 SDk2编译错误解决参考) - GTK、cmake、make、opencv

编译

  1. 进入imageProcess文件夹,执行命令: cmake. make
  2. 进入Control文件夹,执行命令: make

执行

  1. 进入Build文件夹,执行命令: ./tracking
  2. 进入imageProcess文件夹,执行命令: ./imageProcess
  3. 在出现的面板上点击takeOff
  4. 确保在视频上选择了目标(被追踪的目标被红框框住),点击tracking,飞行器开始自动跟踪。
  5. 点击stop,飞行器会处于悬浮状态,点击land以使飞行器降落,也可直接点击land

参数说明

参数ini_area表示目标在返回图像中占据的面积(像素)。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】