项目简介
本项目是一个用于控制无人机自动钻框的开源项目。代码具备通道控制、图像识别处理、图像质量检测、图像采集、图像识别效果浏览、感兴趣像素HSV阈值采集以及串口通信等功能,拥有完整的任务作业流程,并且基于ROS实现了单元测试,有助于用户快速掌握无人机自动控制并完成钻框任务。
项目的主要特性和功能
- 自动控制:可控制无人机的起飞与降落,设置通道PWM值并接收状态信息。
- 图像识别:通过边缘检测、轮廓识别和矩形框提取,对特定形状和颜色的对象进行识别处理。
- HSV阈值采集:获取用户所选矩形区域的HSV颜色空间范围,并显示区域内轮廓。
- 串口通信:与无人机进行通信,发送控制命令并接收状态信息。
- 单元测试:借助ROS进行单元测试,确保自动驾驶系统能正确执行飞行任务。
安装使用步骤
- 准备:确保已安装OpenCV 4.1.1、Python 3.6,并设置好ROS环境。
- 编译安装:在Up Board上编译安装必要的代码和库。
- 图片采集:运行
python capture_read.py
,创建pic和pic1文件夹用于保存图片。可遥控起飞或手持飞机运行采集代码,图片将存于pic1文件夹,之后可下载到本地。 - 确定阈值:修改
rect_sample.py
文件73行路径为取样图片路径,使用IDE运行该文件,通过鼠标勾画矩形取样,控制台会打印取样范围。 - 调整参数:根据上一步的结果,更改
edge_detection_canny_multi_rects.py
378、379行颜色范围上下界。 - 检查效果:运行
detect_rectangle_center.py
,使用键盘上下键浏览pic1目录图片的识别效果。若满意,继续下一步;若不满意,返回第四步。 - 运行钻框:将
edge_detection_canny_multi_rects.py
上传到飞机的Up Board,运行python cug_drone.py
,识别和处理后的图会保存到pic文件夹,可下载查看。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】