发明名称 一种远程交互笔及书写笔迹检测方法
摘要 一种远程交互笔及书写笔迹检测方法,包括手持端和接收端。手持端采用三轴陀螺仪和两个三轴加速度计检测笔杆的书写运动特征量,采用超声测距测量笔杆相对与屏幕和地面的相对运动距离,测量信息根据人的书写运动模型进行数据融合和书写运动特征量的解算及书写意图的识别,实现书写笔迹的检测。接收端用于接收手持端解算的书写控制信息、书写笔迹信息和光标的三维运动信息。本发明通过对手臂运动特征的跟踪定位以控制光标运动、操作视窗并实现隔空书写功能,并增加了垂直于投影屏幕方向的运动检测功能,作为三维空中鼠标用于虚拟现实等应用,克服了现有输入设备不能反映光标三维运动信息的缺陷,具有结构简单、使用方便的特点。
申请公布号 CN101872260B 申请公布日期 2013.07.31
申请号 CN201010191491.4 申请日期 2010.06.03
申请人 张通达;张玉祥 发明人 张通达;张玉祥;马柳艺;张映锋;陈家照;徐福后
分类号 G06F3/0346(2013.01)I 主分类号 G06F3/0346(2013.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 1.一种远程交互笔,包括手持端和接收端,其特征在于:手持端包括惯性器件、超声测距模块、温度传感器、微处理器I和数据无线通讯模块;接收端包括微处理器II和数据无线通讯模块;其中,惯性器件测量获得书写运动过程中反映人手及手臂运动的交互笔运动角速度和加速度信息,输出电压信号经滤波模块低通滤波后传输至模数转换模块,转换得到的数字信号送往微处理器I;温度传感器测量环境温度后输出信号,经模数转换模块转换后得到数字信号送往微处理器I,用以对惯性器件的输出信号进行温漂补偿;超声测距模块测量交互笔相对于屏幕和地面两个方向的距离变化,并输出脉冲信号至微处理器I;微处理器I对所获得的上述信号进行解算,得到包括笔杆姿态、平动分量和转动分量的书写运动特征量,并将获得的书写运动特征量与交互笔相对于屏幕和地面两个方向的距离变化的脉冲信号进行融合和误差修正;同时根据人手空中对屏幕的书写运动模型进行运动校正和书写运动意图的识别,将最终结果映射成为屏幕上的书写笔迹信息或者光标的二维或三维运动信息,通过数据无线通讯模块发送给接收端;接收端通过数据无线通讯模块接收手持端解算的屏幕上的书写笔迹信息或者光标的二维或三维运动信息,在微处理器II的控制下发送给计算机主机;所述的惯性器件包括三轴陀螺仪和两个三轴加速度计,两个三轴加速度计分别安装于交互笔的笔杆两端,并且这两个三轴加速度计的三个敏感轴方向均分别与笔杆惯性坐标系X、Y、Z轴相平行;三轴陀螺仪的三个敏感轴方向分别与笔杆惯性坐标系X、Y、Z轴相平行;所述的微处理器I解算书写运动特征量,并将书写运动特征量与交互笔相对于屏幕和地面两个方向的距离变化的脉冲信号进行融合和误差修正包括下述步骤:步骤一,测量交互笔笔杆在空间三轴向的转动角速度信息、运动过程中笔杆头部和尾部的三轴加速度信息,同时测量笔杆相对于屏幕方向和地面方向的相对运动信息;对环境温度信息进行测量;步骤二,笔杆运动特征量的确定,具体包括以下步骤:a.采用中值滤波算法对惯性器件测得的笔杆头部的三轴加速度信息、笔杆尾部的三轴加速度信息、笔杆三轴向的转动角速度信息和温度信息进行滤波;根据环境温度信息,采用最小二乘法对滤波后得到的各信息进行温度补偿,减小惯性器件的零点漂移; b.分别对笔杆在X轴方向和Y轴方向的转动角速度进行确定;对笔杆两端在X轴方向的运动加速度的差值进行积分运算,得到笔杆在该方向的转动角速度,并与该方向三轴陀螺仪直接测得的笔杆转动角速度值通过卡尔曼滤波进行数据融合;采用同样方法实现对Y轴向转动角速度的确定;c.笔杆姿态的确定:1)通过四元数旋转矢量法三子样算法对笔杆的姿态角进行计算:<img file="RE-FSB00000868300000021.GIF" wi="1149" he="61" /><img file="RE-FSB00000868300000022.GIF" wi="1184" he="51" /><img file="RE-FSB00000868300000023.GIF" wi="466" he="59" />T<sub>12</sub>=2(p<sub>1</sub>p<sub>2</sub>-p<sub>0</sub>p<sub>3</sub>)T<sub>23</sub>=2(p<sub>2</sub>p<sub>3</sub>-p<sub>0</sub>p<sub>1</sub>)                        (3)<img file="RE-FSB00000868300000024.GIF" wi="469" he="58" />T<sub>13</sub>=2(p<sub>1</sub>p<sub>3</sub>+p<sub>0</sub>p<sub>2</sub>)<img file="RE-FSB00000868300000025.GIF" wi="1186" he="214" />q为笔杆任意时刻的姿态四元数,其中<img file="RE-FSB00000868300000026.GIF" wi="36" he="37" />表示四元数乘法,q(k+1)和q(k)分别为t<sub>k+1</sub>和t<sub>k</sub>时刻笔杆的姿态四元数,θ、<img file="RE-FSB00000868300000027.GIF" wi="58" he="47" />ψ为笔杆任意时刻的俯仰角、滚转角和航向角;Q(dt)为从t<sub>k</sub>到t<sub>k+1</sub>时刻笔杆的等效旋转矢量,Q(dt)的计算公式如下:<img file="RE-FSB00000868300000028.GIF" wi="1186" he="120" />Φ<sub>0</sub>=(Φ<sup>T</sup>·Φ)<sup>1/2</sup>                        (6)<img file="RE-FSB00000868300000029.GIF" wi="1216" he="109" /><img file="RE-FSB000008683000000210.GIF" wi="825" he="128" /><img file="RE-FSB000008683000000211.GIF" wi="867" he="129" />(8)<img file="RE-FSB000008683000000212.GIF" wi="940" he="126" /><img file="RE-FSB000008683000000213.GIF" wi="1032" he="134" />其中:ω(t),<img file="RE-FSB00000868300000031.GIF" wi="190" he="109" /><img file="RE-FSB00000868300000032.GIF" wi="217" he="109" />ω(t+h)分别为姿态更新周期h时间段内,三轴陀螺仪的三次角速率等间隔采样值;2) 根据公式(9)判断笔杆是否处于加速运动,当公式(9)左边部分小于阈值ε时,可判定笔杆处于无加速运动,ε取三轴加速度计三轴静态噪声方差方均根的三倍;当无加速运动时利用笔杆下端的三轴加速度计的输出,根据公式(10)对笔杆的滚转角和俯仰角进行计算;<img file="RE-FSB00000868300000033.GIF" wi="1029" he="105" /><img file="RE-FSB00000868300000034.GIF" wi="1073" he="302" />其中g为当地重力加速度,a<sub>x</sub>,a<sub>y</sub>,a<sub>z</sub>为笔杆下端三轴加速度计的输出值;3)当检测到笔杆无加速运动时采用卡尔曼滤波器对三轴陀螺仪计算的姿态角误差进行估计,其中卡尔曼滤波器的状态方程为X=AX(t)+ΓW(t)                   (11)<img file="RE-FSB00000868300000035.GIF" wi="1151" he="77" /><img file="RE-FSB00000868300000036.GIF" wi="1146" he="241" /><img file="RE-FSB00000868300000037.GIF" wi="1227" he="218" /><img file="RE-FSB00000868300000038.GIF" wi="1170" he="64" />其为Δθ,<img file="RE-FSB00000868300000039.GIF" wi="75" he="45" />Δψ为三轴陀螺仪通过四元数算法估计的笔杆姿态角与笔杆真实姿态角之间的姿态估计误差,Δb<sub>x</sub>,Δb<sub>y</sub>,Δb<sub>z</sub>分别为三轴陀螺仪在三轴方向上的静态漂移,<img file="RE-FSB000008683000000310.GIF" wi="389" he="72" /><img file="RE-FSB000008683000000311.GIF" wi="80" he="73" />为<img file="RE-FSB000008683000000312.GIF" wi="33" he="37" />的斜对称阵,<img file="RE-FSB000008683000000313.GIF" wi="59" he="51" />和<img file="RE-FSB000008683000000314.GIF" wi="61" he="48" />分别为三轴陀螺仪的观测噪声和漂移噪声,τ表示陀螺漂移相关时间;观测方程为Z<sub>K</sub>=HX<sub>K</sub>+V<sub>K</sub>                        (16) <img file="RE-FSB00000868300000041.GIF" wi="1157" he="78" />H=[I<sub>3×3</sub> 0<sub>3×3</sub>]               (18)其中H为观测阵,θ<sub>acc</sub>和<img file="RE-FSB00000868300000042.GIF" wi="70" he="38" />为利用笔杆下端三轴加速度计估计的笔杆姿态角,θj和<img file="RE-FSB00000868300000043.GIF" wi="44" he="44" />为利用三轴陀螺仪通过四元数算法估计的笔杆姿态角;V<sub>K</sub>为零均值白噪声;4)根据卡尔曼滤波器对姿态角计算误差的估计,对姿态角经行修正,得到笔杆运动的姿态角;d.笔杆平动特征量的确定;1) 通过实时测量俯仰角θ和滚转角<img file="811535DEST_PATH_FSB00001032314100024.GIF" wi="69" he="52" />由公式(19)得到重力在三轴加速度计各轴上的分量f<sub>b</sub>,笔杆运动的动态加速度a<sub>t</sub>为三轴加速度计实时输出值a与f<sub>b</sub>的差值,即<img file="728675DEST_PATH_FSB00001032314100025.GIF" wi="1578" he="230" />a<sub>t</sub>=a-f<sub>b</sub>                      (20)对x、y和z方向的加速度积分,得到笔杆在垂直书写平面上以及相对于屏幕方向的运动速度和距离;2)对相对于屏幕方向和相对于地面方向的超声测距模块测得的距离信息进行差分得到笔杆在这两个方向上的运动速度,如果运动速度小于阈值δ,δ取3m/s,则将该运动速度和由加速度计积分得到的运动速度值利用卡尔曼滤波器进行融合,得到交互笔在相对于屏幕和地面方向的运动速度的较为准确的值,对运动速度积分后最终得到这两个方向的运动距离;步骤三,根据手臂对屏幕书写运动特点,把光标在屏幕上的运动分解为笔杆在X轴向和Y轴向平动和转动运动特征量的叠加;将步骤二中确定的运动特征量映射为书写笔迹信息或者光标的二维或三维运动信息,从而实现书写运动意图的识别;映射方法为将屏幕上光标的移动距离分解为笔杆的转动和平动两部分的叠加,用笔杆划过的弧长近似其移动的距离,计算公式如下:<img file="RE-FSB00000868300000045.GIF" wi="1521" he="137" />式中,l为用户距离屏幕的距离,Δψ为单位时间内笔杆在X轴向的转动分量,Δφ 为笔杆在Y轴向转动分量即单位时间内笔杆的俯仰角变化量,Δx、Δy分别为单位时间内笔杆在X轴向和Y轴向的平动分量;ΔX<sub>1</sub>和ΔY<sub>1</sub>分别为单位时间内用户沿笔杆X轴和笔杆Y轴方向的书写运动距离;步骤四:根据笔杆姿态信息和笔杆轴向的转动角速度信息,完成书写笔迹从笔杆惯性坐标系到屏幕坐标系的映射变换,确定出书写笔迹信息或者光标的二维或三维运动信息;公式如下<img file="RE-FSB00000868300000051.GIF" wi="1605" he="136" />式中:ΔX和ΔY分别为单位时间内光标在屏幕X轴和Y轴向的移动距离;步骤五,接收端根据接收到的书写笔迹信息或者光标的二维或三维运动信息,实现对光标运动的控制和对视窗书写标注的操作。
地址 710025 陕西省西安市灞桥区骊山路18号