论文部分内容阅读
计算机的信息输入方式有很多种,现在人们越来越喜爱手写输入,并且随着智能设备的不断发展,手写输入方式出现在生活的方方面面。最普遍的手写输入方式是利用手写笔在固定的手写平面进行书写,通过采集手写平面书写的轨迹或者数据信息,然后将该数据传送至终端设备进行处理,这属于二维空间信息的输入。本论文主要研究的是在三维空间中的数据输入。目前,三维空间的轨迹跟踪系统广泛应用于虚拟现实的人机交互领域,主要包括磁追踪系统、激光追踪系统和基于三维计算机视觉的追踪系统。这些追踪系统都具有较高的精度,但是其缺点有:成本高、体积大、不易携带,不适合三维空中手写轨迹检测系统的研究。而本论文设计了一种基于MEMS加速度传感器的运动轨迹检测系统,该系统具有成本低、体积小、易携带等优点,符合空中手写轨迹检测系统的研究。本论文主要使用高精度的六轴传感器MPU6050检测手写笔在空中运动过程的加速度和角速度信息,根据牛顿第二定律对检测的加速度数据的一次积分得到速度,然后对速度的一次积分就可以得到位移数据。由于在手写的过程中会发生方向的变化,所以需要通过角速度计算出旋转矩阵,再进行坐标转换将加速度数据固定到同一坐标系中,然后利用牛顿第二定律进行两次积分就可以计算出位移,并将这些计算出的位移点连接起来就可以获得空中手写的运动轨迹。但是在测量过程中,由于外部环境的变化会引入随机误差,或者传感器本身的原因使测得的加速度和角速度数据存在误差,或者手的抖动引起的误差,都会导致最终的运动轨迹显示不正确。本文中为了降低这些随机误差和测量误差,设计并实现了kalman滤波器来降低随机误差,并根据零速度补偿算法和多轴动态开关算法的原理设计并实现了对检测到的加速度进行补偿,并对积分过程产生误差的累加做出了补偿。系统总体可以分为两个模块:数据检测模块和上位机处理模块。数据检测模块主要是检测手部运动的加速度和角速度数据;上位机处理模块就是通过相关的算法进行处理,包括坐标转换、滤波、数据的积分及补偿等,最后就是将计算出的位移信息显示出来。在硬件实现方面,主要使用MPU6050模块检测手写运动过程的加速度和角速度信息,然后通过USB转TTL电平的串口模块将MPU6050与计算机相连接,并将检测到的信息上传至上位机,保存为txt文件;软件实现方面,软件实现的全部算法都在计算机的MATLAB上进行处理,包括坐标转换、kalman滤波、误差补偿、积分等。论文最后叙述了该系统的实验过程,并展示了部分实验结果。实验结果表明该系统空中轨迹测量误差小于15%,可满足简单的空中轨迹识别。此外,依据实验结果及其分析结果,论文对系统提出了改进意见,并对将来的研究工作进行了展望。