基于PSoC的手势可控四旋翼飞行器设计

时间:2022-10-05 10:24:50

基于PSoC的手势可控四旋翼飞行器设计

摘 要本文设计了一种手势可控的四旋翼飞行器。该飞行控制器使用PSoC5内部高性能Cortex-M3内核处理器和独特的IP核资源,融合陀螺仪、加速度计、磁场仪、气压计等传感器信息,采用基于卡尔曼滤波的PID控制器进行姿态控制,同时利用NRF24L01无线模块收发飞行器的姿态控制信息,实现飞行器的基本姿态运动的控制。本设计基于Kinect 手势识别并跟踪人的手部方位信息,通过PC机对数据处理并将控制信息发送至PSoC飞行控制器,实现了将手部方位信息映射为飞行器的飞行姿态。最终经系统软硬件设计、调试,飞行器实验测试性能良好。

【关键词】四旋翼 PSoC Kinect 手势识别

四旋翼无人机是一种体型较小、无人驾驶的飞行器,能够在空间实现自主飞行或者遥控飞行,并且能执行一定任务。此类飞行器其有效载荷空间较大,可完成的任务效率及可靠性高,在地形勘测、电力巡线、灾情救援等多个领域逐渐显示出了巨大的应用价值。

对于复杂环境下工作的四旋翼飞行器需要人工的控制,而以手势识控制四旋翼飞行器,使得飞行器的操作更加的简单灵活。2010年11月Kinect正式发售,微软此后优化了硬件组件了Kinect for Windows硬件,使其更适合PC机使用,本设计基于Kinect手势识别并跟踪人的手部方位信息实现对四旋翼飞行器控制,如同握在手中的飞行器任意摆弄它的姿态飞行,同时本设计的实现平台对后期复杂体感控制算法的研究,提供了一个良好的开发平台。

1 系统的总体设计方案

系统的总体设计方案分为个三部分,所示。分别为PSoC四旋翼飞行器、PSoC无线基站和PC与Kinect的手势数据采集及处理单元。本设计中采用基于PSoC的无线基站作为信息传递的中介,PC机通过Kinect捕获“手势”的三维坐标信息,通过数据融合处理后转换成四旋翼的姿态控制信息,然后将控制信息通过串口传送至PSoC无线基站,通过无线基站实现对飞行器的控制。

2 飞行器设计

四旋翼飞行器设计与制作部分是本设计的基础平台。飞行控制器以PSoC5为核心处理单元,通过I2C总线采集MPU6050加速计陀螺仪传感器、HMC5883磁场计和SM5611气压计的实时测量数据,经过PSoC内部卡尔曼滤波器进行数据筛选,融合PID控制器的控制效果完成四旋翼对飞行器的姿态控制。四旋翼飞行控制器通过无线模块NRF24L01将获得的控制命令经过处理,得到对无刷电机的控制信号,实现无线命令对飞行器的姿态控制效果。同时PSoC5时刻检测电池电压,若设定值小于9.45V时发出提示信号。为了选择合适的参数,增设蓝牙模块可以直接连接在有蓝牙的上位机上来修正和观测飞行器获得的动态参数。

3 系统的硬件设计

飞行控制器在硬件设计方面考虑到四旋翼飞行器的载荷、体积、姿态控制等复杂因素,可得出飞行控制器硬件设计的总体要求包括以下几方面:

(1)电池组供电,飞行器机载电子设备的功耗要低;

(2)飞控板体积小重量轻,机体总重量必须小于四旋翼无人直升机的有效载荷;

(3)无线通讯误码率低或者为零、实时性要高,保证传输信息的准确性和及时性;

(4)飞行控制器运算速度足够快,控制输出精度高,稳定性好;

(5)飞行控制系统要求有良好的扩展性,便于以后系统的升级和扩展新的功能;

(6)控制器设备抗干扰能力强,如抗电磁干扰、抗震动干扰等;

以上几点要求为设计飞行控制系统的硬件提供了一个参考标准考。为此本设计采用比较成熟的、可继承性的和可借鉴的技术和元器件。

4 系统软件设计

PSoC Creator集成开发环境带有创新性的图形化设计编辑器,构成独特而强大的硬件/软件协同设计环境。本设计用到了很多模块化的程序流程图。然后按照流程逻辑来完成编程设计,通过仿真和实际操作运行来进行验证,按流程逻辑来分析问题所在,这样可以有效的节省系统开发时间和提高开发效率。

Kinect手势控制飞行器姿态基本的步骤:

(1)Kinect视频数据获取及上位机显示;

(2)数据处理及用户标定;

(3)手势跟踪和手势信息捕获;

(4)手势信息处理;

(5)四旋翼姿态控制信息拟合;

(6)串口数据发送;

(7)无线基站控制四旋翼姿态运动。

在完成整个手势识别系统设计之前,怎样来获取Kinect的数据信息,并处理为可观测的数据信息,是最基本的操作。

Kienct XBOX360是在Windows环境下开发的三维视频传感器。本设计通过Visual Studio 建立手势识别MFC应用程序工程,来获取手势信息控制四旋翼飞行器的姿态,其基本原理框图如图1所示。Kinect必须要设置彩色图像和深度图像的分辨率为 ,此时数据传输帧为每秒30帧数据。

5 设计总结

本设计成功实现了手势可控四旋翼飞行器的硬件和软件设计。通过PSoC Creator创建飞行控制器的项目工程,最终实现基于PSoC的四旋翼飞行器。为了实现手势控制四旋翼飞行器,设计中在Visual Studio2010和OpenCV及OpenNI环境下创建Kinect手势识别及其串口数据传输工程。在应用程序中将获得的手的三维坐标信息通过串口发送到无线基站,通过无线基站实现“手势”对飞行器的控制,最后通过将各块代码进行整合,完成了系统的设计与验证。

参考文献

[1]李尧.四旋翼飞行器控制系统设计[D].大连:大连理工大学,2013.

[2]吴国斌,李斌,阎冀洲.Kinect人机交互开发实践[M].人民邮电出版社,2013.

作者单位

兰州理工大学 甘肃省兰州市 730050

上一篇:信息化环境下国有企业内部会计控制研究 下一篇:基于AD9914设计的S波段DDS频率合成器