littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于Python的2019 FIRA无人机竞速钻框系统

项目简介

本项目是一个用于控制无人机自动钻框的开源项目。代码具备通道控制、图像识别处理、图像质量检测、图像采集、图像识别效果浏览、感兴趣像素HSV阈值采集以及串口通信等功能,拥有完整的任务作业流程,并且基于ROS实现了单元测试,有助于用户快速掌握无人机自动控制并完成钻框任务。

项目的主要特性和功能

  1. 自动控制:可控制无人机的起飞与降落,设置通道PWM值并接收状态信息。
  2. 图像识别:通过边缘检测、轮廓识别和矩形框提取,对特定形状和颜色的对象进行识别处理。
  3. HSV阈值采集:获取用户所选矩形区域的HSV颜色空间范围,并显示区域内轮廓。
  4. 串口通信:与无人机进行通信,发送控制命令并接收状态信息。
  5. 单元测试:借助ROS进行单元测试,确保自动驾驶系统能正确执行飞行任务。

安装使用步骤

  1. 准备:确保已安装OpenCV 4.1.1、Python 3.6,并设置好ROS环境。
  2. 编译安装:在Up Board上编译安装必要的代码和库。
  3. 图片采集:运行python capture_read.py,创建pic和pic1文件夹用于保存图片。可遥控起飞或手持飞机运行采集代码,图片将存于pic1文件夹,之后可下载到本地。
  4. 确定阈值:修改rect_sample.py文件73行路径为取样图片路径,使用IDE运行该文件,通过鼠标勾画矩形取样,控制台会打印取样范围。
  5. 调整参数:根据上一步的结果,更改edge_detection_canny_multi_rects.py 378、379行颜色范围上下界。
  6. 检查效果:运行detect_rectangle_center.py,使用键盘上下键浏览pic1目录图片的识别效果。若满意,继续下一步;若不满意,返回第四步。
  7. 运行钻框:将edge_detection_canny_multi_rects.py上传到飞机的Up Board,运行python cug_drone.py,识别和处理后的图会保存到pic文件夹,可下载查看。

下载地址

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