无人机目标跟踪系统设计

 

视频链接:

https://www.bilibili.com/video/av24220271

https://www.bilibili.com/video/av24220271

https://www.bilibili.com/video/av24181594

去年电赛的经历,让我对此深有体会,包括电赛的寻线和追小车,我们都是使用的openmv,首先我要承认openmv的确不错,至少在色块检测中帮了我们很大的忙,关键是容易上手,调试方便快捷。但是其处理性能实在不敢恭维,尤其是做人脸识别,手势识别,光流定点之类的,性能不够用,我尤其是想做特征点检测的,但是openmv根本实现不了那些高大上的功能,而且距离也受限制。思考再三我们打算采用树莓派,但是实际测试尤其是跑光流的时候,也是比较卡,那就更不用说人脸识别和特征点检测之类的了。目前看来只有使用电脑处理了,但是电脑在现在的电赛中一般是不允许使用的,如果是真爱,你就不会为了比赛而比赛

无人机目标跟踪系统设计_第1张图片

无人机目标跟踪系统设计_第2张图片

无人机目标跟踪系统设计_第3张图片

无人机目标跟踪系统设计_第4张图片

无人机目标跟踪系统设计_第5张图片

无人机目标跟踪系统设计_第6张图片

无人机目标跟踪系统设计_第7张图片

 

 

无人机目标追踪代码编写
考虑到部分同学可能不知道怎么修改基于无人机地面站追踪的飞控程序,特此做了一个比较详细的教程。代码已经成功移植到飞控上,而且就在昨天3月25号已经测试了,代码可用,但是PID控制参数需要优化。仅供大家参考。以下程序适合市面上所有开源的无人机飞控。大家只需要把一个c文件和一个h头文件添加到你的飞控程序,然后按照下面的步骤修改即可。第一步向飞控程序里面添加c文件和.h头文件

 

这两个文件也是小编整理的哦,花了我一天时间呢。可以直接添加到任何开源飞控,不依赖于任何飞控平台。当然变量和函数的命名不能和你的自身飞控代码定义的冲突哈!其实这个代码我们电赛教学视频里面讲解的巡线和追踪思路一样,巡线和追车其都是属于位置控制。具体内容请结合电赛教学视频。

 

 无人机目标跟踪系统设计_第8张图片

无人机目标跟踪系统设计_第9张图片

无人机目标跟踪系统设计_第10张图片

无人机目标跟踪系统设计_第11张图片

 

第二步向飞控程序里面添加串口接收程序:
我这里以串口5为例。
首先在main函数初始化程序部分先初始化串口
 
其次粘贴串口部分:
初始化串口的函数
无人机目标跟踪系统设计_第12张图片
无人机目标跟踪系统设计_第13张图片
接下来写串口接收中断部分
 无人机目标跟踪系统设计_第14张图片

 

 无人机目标跟踪系统设计_第15张图片

 

好啦,写到这个位置我们的串口数据接收部分就完成了,那么接下来就该写我们拿这个数据来进行位置控制,
第三步 找到你的飞控程序的任务调度部分,添加第一步.c文件里面的位置控制函数
无人机目标跟踪系统设计_第16张图片
位置控制函数在我们的.c 文件里面写好了哦
无人机目标跟踪系统设计_第17张图片
最后通过PID控制就把我们自己的postion_Roll和Position_Pitch计算好了哦。
第四部姿态控制部分
找到你的飞控程序的串级姿态控制的的外环(角度环),添加我们的姿态控制角度

好的,所有的都写完了,我们3月26号测试了一下数据的正确性,然后测了一下高空追踪追踪效果可以,但是PID参数不够好需要进一步优化,没时间啦,月底就出去工作了,剩下的就交给大家去调试吧。
哦忘了第五步了模式切换,通过六通道,也就是辅助2通道的阈值来进行模式切换。找到你的飞控程序的遥控接收部分,设置一下Mode的值吧
 无人机目标跟踪系统设计_第18张图片
源代码请联系QQ:1628464345

 

你可能感兴趣的:(科技,教育,电子设计大赛)