设为首页收藏本站
搜索
热搜: 活动 交友 discuz
查看: 6895|回复: 13

[作品展示] 电子科技大学-电子科技大学_基于stm32f4的四轴飞行器跟踪系统

[复制链接]
发表于 2014-11-1 14:33:40 | 显示全部楼层
项目名称:电子科技大学_基于stm32f4的四轴飞行器跟踪系统
学校:电子科技大学
队长姓名:陈维伟

项目简介
经过整整两个月的忙碌,我们终于实现了四轴定点跟踪。作为软件专业的学生,我们想突出我们的专业特性做一个不一样的四轴,于是我们花了很多心思去构建此次比赛的软件。我们使用C++和C以面向对象的方式进行开发,实践表明,使用C++不但没有影响系统效率,反而极大地便利了我们的后期开发。另外我们也将嵌入式实时操作系统RT_THREAD移植进我们的系统,使得我们能够在一块低性能开发版上实现四轴控制和图像识别并发运行。由于我们使用的开发平台的RAM只有96KB,我们对图像处理过程进行了优化,充分利用有限内存进行图像处理,经过测试,内存使用率达到93.7%。项目进行到后期我们发现,由于硬件部分大量使用杜邦线连接,使整个四轴飞行器显得非常难看,影响系统稳定性同时也不便于维护,于是我们毅然决定进入一个我们完全未知的领域,精心地为我们的PIRATE-QUADX制作了一块转接板。最后由衷地感谢主办方不计成本地为我们学生提供开发平台,给予我们一次拼搏创新交流的机会。



摘要

本系统基于NUCLEO-STM32F401RE开发平台,设计并实现了具有目标识别跟踪功能的四轴飞行器。系统采用了嵌入式实时操作系统RT_THREAD,并应用实时软件设计方法DARTS对系统进行建模和任务划分,最大限度地提高了Cortex_M4的处理能力。应用层程序使用C++以面向对象的方式编写而成,探索了嵌入式开发的新方式。四轴控制部分根据加速度、角速度、磁场、温度、气压数据通过梯度下降法得到姿态数据,再由多环PID控制使得四轴飞行器稳定飞行。图像识别采用了Meanshift算法,利用相似函数度量初始帧目标模型和当前帧的候选模版的相似性快速识别目标。经过试飞及测试分析,四轴飞行器能准确飞行,具有良好的机动性能和稳定性,图像处理能满足实时识别和跟踪的需要。

简介

整个系统主要由四轴飞控平台和图像处理平台两部分构成,整个系统通过RT_THREAD实时操作系统进行任务划分,利用任务优先级能较好的处理飞行控制和图像处理。四轴飞控平台利用陀螺仪、加速度计、磁力计、气压计获得数据后进行姿态解算,然后控制飞行。图像处理采用了基于MeanShift的目标跟踪算法,能准确快速的识别锁定目标。利用图像处理所得的目标位置信息来控制飞行进行目标跟踪。此系统可以接收上位机的控制命令进行参数调节和模式转化。上位机利用Qt编写,可实现四轴飞行器的可视化、动态显示、目标跟踪显示等。

系统构成

系统利用嵌入式实时操作系统RT_THREAD将整个系统划分为6个线程,分别是主控线程、LED线程、通信线程、四轴姿态解算线程、四轴姿态控制线程、图像识别线程

l 主控线程,就是系统初始化后运行的第一个线程。该线程首先对一些外设进行初始化,并读取FLASH中设定的参数值,然后创建其他5个线程,最后进入控制循环,从消息队列中获取上位机命令做出响应以及将一些数据放入消息队列并发送给上位机。该线程执行频率20Hz。

l LED线程,就是控制LED灯亮灭的线程。本系统共有4个可控LED灯,通过控制LED灯变化可以直观显示系统当前状态。该线程执行频率10Hz。

l 通信线程,就是与上位机通信的线程。该线程接收上位机传来的已经编码信息,经过校验解码后放入接收消息队列,将数据传递给其他线程。同时,该线程也从发送消息队列中获取数据,经过编码后发送给上位机。该线程执行频率50Hz。

l 四轴姿态解算线程,就是得到四轴姿态的线程。该线程首先读取传感器数据,经过一阶后置滤波、滑动窗口滤波、限幅和死区控制后,解算出以四元数表示的四轴当前姿态。该线程执行频率250Hz。

l 四轴姿态控制线程,就是控制四轴空中姿态的线程。该线程首先将四元数转化为欧拉角以及将中断中处理好的接收机PPM数据转换为遥控器值。然后根据遥控器油门值、目标位置和上位机命令控制四个电机转速达到控制四轴空中姿态的目的。控制过程使用多个多环PID控制器,可以得到很好的静态和动态特性。该线程执行频率100Hz。

l 图像识别线程,就是判断目标位置的线程。该线程从摄像头中获取原始图像,经过一些处理后使用MeanShift算法计算出目标位置。该线程以低优先级运行,没有休眠,充分利用处理器性能。

系统整体流程图



系统用例:



上位机图:



系统硬件框图:



PIRATE 转接板:



整体图:



视频链接:
http://v.youku.com/v_show/id_XODE2MDI0NTI0.html

项目资料:
游客,本帖隐藏的内容需要积分高于 99999 才可浏览,您当前积分为 0
回复 支持 5 反对 0

使用道具 举报

 楼主| 发表于 2014-11-1 21:56:41 | 显示全部楼层
18075033581 发表于 2014-11-1 20:46
太牛逼,真的都自愧不如,果断投了一票

谢谢  已互投
回复 支持 1 反对 0

使用道具 举报

发表于 2014-11-1 20:08:54 | 显示全部楼层
6666666666
回复 支持 反对

使用道具 举报

发表于 2014-11-1 20:46:33 | 显示全部楼层
太牛逼,真的都自愧不如,果断投了一票
回复 支持 反对

使用道具 举报

发表于 2014-11-1 22:48:39 | 显示全部楼层
转接板漂亮
回复 支持 反对

使用道具 举报

发表于 2014-11-17 16:25:49 | 显示全部楼层
楼主摄像头用的啥,数字还是模拟?占用的内存大不大?
回复 支持 反对

使用道具 举报

发表于 2014-12-10 09:26:48 | 显示全部楼层
如何利用摄像头进行跟踪的呀 我想学习学习一下
回复 支持 反对

使用道具 举报

发表于 2015-8-24 20:26:23 | 显示全部楼层
额,楼主,怎么项目资料需要的积分那么多,看不到啊,能不能看一下,非常感谢了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|360eet-智能硬件 教育平台 ( 沪ICP备09095345号-2  

GMT+8, 2017-9-26 09:48 , Processed in 0.230611 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表