基于移动终端的多人人机交互方法

文档序号:10593590阅读:437来源:国知局
基于移动终端的多人人机交互方法
【专利摘要】本发明公开了一种基于移动终端的多人人机交互方法,包括以下步骤:采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终端周围的磁场强度;对重力加速度进行分离,gravity[i]=alpha×gravity[i]+(1?alpha)×g.event.value[i],对线性加速度进行提取,linear_accelcration[i]=g.event.value[i]?gravity[i],得到一定时间t内各个轴的实际位移,计算出移动终端姿态;得到移动终端围绕xyz三个轴旋转的角速度,对角速度求和,得到移动终端在一段时间内的角度变化;将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收到的指令交互场景中的对象做出变化。本发明在无线网络环境下,实时搜集三维陀螺仪和加速计的数据,判断出交互对象的动作,通过网络传输协议,使所有交互对象连接到服务器,实现了大规模的多人交互。
【专利说明】
基于移动终端的多人人机交互方法
技术领域
[0001] 本发明设及人机交互领域,具体设及一种基于移动终端的多人人机交互方法。
【背景技术】
[0002] 虚拟现实领域是目前最热口的领域,在该领域中,人机交互方式一直是研究的重 点。但从目前在超大视场范围(全景擅染、超大屏高分辨擅染)内的虚拟现实人机交互方法 的研究成果来看,单人或针对少数人的交互方式研究和应用得比较多。比如利用摄像头来 进行单人或少数个人的动作,又如利用Kinect来进行最多不超过6个人的动作,或者是通过 一些针对个人的穿戴式交互产品来进行交互。运些交互方式共同的缺点是同时可交互的对 象太少,不超过10个人。限制了可交互人数,也制约了虚拟现实的发展。

【发明内容】

[0003] 本发明所要解决的技术问题是提供一种基于移动终端的多人人机交互方法,针对 人机交互对象少的缺点,采用传感器获取移动终端用户的动作变化,通过网络传输协议,将 指令传递到服务器,达到多人群体互动的目的。
[0004] 为解决上述技术问题,本发明采用的技术方案是:
[0005] -种基于移动终端的多人人机交互方法,包括W下步骤:
[0006] 采用加速度传感器得到加速度,采用巧螺仪得到角速度,采用磁场传感器测量移 动终端周围的磁场强度;
[0007] 根据加速度传感器得到的加速度,采用低通滤波对重力加速度进行分离,即 gravity[i] = alphaXgravity[i] + (l-al地a) Xg.event .value[i],采用高通滤波对线性 加速度进行提取,line曰r_曰ccelcr曰tion[i]=邑.event.V曰lue[i]-邑r曰vity[i],其中,曰Iph曰 = t/(t+dT) ,g.event. value[i]是从线性传感器传递的数据,i为1、2、3分别代表x、y、z,进 一步求得某一时刻移动终端在=维空间中的速度变化和一段时间内各个方向的位移,Vi = aiXdT,Si = V日+aiX(dT)V2,Vi为该时刻的速度,dT两次测量的时间间隔,£li为高通滤波提 取的=维空间线性加速度,计算得到一定时间t内各个轴的实际位移
[000引根据到的周围磁场强度,计算出移动终端姿态,即移动终端相对地球的物理方位, 联合使用加速度计、地磁传感器W及系统提供的getRotationMa化ix()方法来获取旋转矩 阵和倾角矩阵;
[0009] 由巧螺仪得到移动终端围绕Xyz=个轴旋转的角速度,对角速度求和,得到移动终 端在一段时间内的角度变化,具体公式为Angle[i] = Ea.event.value[i]XdT, a.event.value[i]为从巧螺仪得到的数据,i为l、2、3分别代表x、y、z,dT为两次获取角速度 的时间间隔;
[0010] 得到移动终端的移动速度、角度变化、方位信息后,结合移动终端需求,包括判断 左右或者上下移动,将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收 到的指令交互场景中的对象做出变化。
[0011] 根据上述方案,本方法采用UDP网络传输协议搭建通信环境。
[0012] 与现有技术相比,本发明的有益效果是:在无线网络环境下,交互对象使用移动终 端中的=维巧螺仪和加速度传感器等,实时捜集=维巧螺仪和加速计的数据,根据算法准 确地判断出交互对象的动作,并通过网络传输协议,使所有交互对象连接到服务器,从而实 现了大规模的多人交互。
【附图说明】
[0013] 图1是本发明基于移动终端的多人人机交互方法中原始数据获取示意图。
[0014] 图2是本发明基于移动终端的多人人机交互方法实现流程示意图。
【具体实施方式】
[0015] 下面结合附图和【具体实施方式】对本发明作进一步详细的说明。本发明提出了一种 全新的大规模多人人机交互方法,利用几乎每个人都有的移动终端(比如手机),运种移动 终端内置了加速度传感器、巧螺仪、方向传感器等八种传感器。运些传感器能提供高精度、 准确度的原始数据,可W用于监控移动终端=维运动、位置及移动终端周围的环境变化。常 用于人机交互的传感器有加速传感器、巧螺仪、方向传感器、电磁场传感器四种。
[0016] (1)利用UDP网络传输协议搭建通信环境
[0017] UDP(User Datagram Protocol,用户数据包协议)是一种无连接的、不可靠的传输 层协议,使用UDP协议的目的是希望W最小的开销来达到网络环境中的进程通信目的。本发 明使用UDP传输协议来达到大规模人机交互的目的。
[001引(2)数据获取
[0019] 传感数据的变化与移动终端的坐标系统的运动是密切相关的。当移动终端运动或 者旋转的时候,运些坐标轴与移动终端的相对位置始终保持不变。本发明主要使用加速传 感器、磁场传感器及巧螺仪,当传感器数据变化时,实时发送数据到数据分析模块。
[0020] 如图1所示,在使用传感器获取原始数据时,为了获取手机的运动速度和姿态,一 般通过传感器得到其加速度、角速度、磁场强度几个数据。
[0021 ]加速度是由加速传感器得到的,加速传感器Wm/s2测量它移动终端所有S个物理 轴线方向(X,y,和Z)加速度,包括重力。角速度是由巧螺仪Wrad/s测量移动终端S个物理 轴线方向(x,y,和Z)的旋转速度。磁场强度WuT(超声检测,Ultrasonic Testing)测量周围 的=个物理轴线方向的磁场。使用重力传感器和磁场传感器能获取移动终端的倾斜矩阵和 旋转矩阵。
[0022] (3)数据分析
[0023] a.分析移动终端的线性加速度
[0024] 加速度传感器测量作用于移动终端的加速度,该数值包含地屯、引力的影响。从概 念上,加速度传感器通过测试作用于传感器本身的作用力(Fs),并使用下列公式来判断作 用于移动终端的(Ad)加速度:
[0025] Ad = -EFsZmass
[0026] 但是,重力作用始终会影响下列公式的测量结果:
[0027] Ad = -g-EF/mass
[0028] 由于运个原因,当移动终端位于桌面(并没有加速度)时,加速度传感器的读取结 果是g = 9.81m/s2。同样,当移动终端自由落体运动时,因为快速向下的加速度是9.81m/s2, 所W加速度传感器读取的结果是g = 〇m/s2。因此要测量移动终端的实际加速度,重力作用 的影响必须要从加速度传感器数据中删除。运种问题可W通过高通滤波来实现,而重力加 速度通过低通滤波器来分离。实际可W使用很多技术来过滤传感器数据。本发明使用过滤 器常量(alpha)来创建一个低通滤波器,运个过滤器常量是由时间常量(t)和传感器事件报 送频率(dt)推导出来的,t大致等于过滤器触发传感器事件的间隔时间。
[0029] 低通滤波:重力加速度分离,gravity[i]=alpha X gravity [i] + ( 1-alpha) X g.event.value[i]
[0030] 高通滤波:线性加速度的提取,linea;r_accelcration[i ] = g. event. value[i ]- gravity!! i]
[0031 ] 其中曰1地曰=1:/(1+肌),邑.6¥6]11:.¥曰1116[;[]是从线性传感器传递的数据,;[为1、2、3 分别代表x、y、z。
[0032] 进一步求得某一时刻移动终端在=维空间中的速度变化和一段时间内各个方向 的位移,Vi = ai X肌,Si = Vo+ai X (肌)^2,Vi为该时刻的速度,肌两次测量的时间间隔,Eii为 高通滤波提取出来的=维空间线性加速度。
[0033] 计算得到一定时间t内各个轴的实际位移
[0034] b.分析移动终端的姿态
[0035] 移动终端姿态在本发明中主要指移动终端相对地球的物理方位,联合使用加速度 计、地磁传感器、getRotationMatrixO方法来获取旋转矩阵和倾角矩阵 (getRotationMa化ixO方法是由系统提供的),但处理工作比较繁重,得到的移动终端姿态 精度和准确度会有所降低(只有在翻滚度为0时此传感器的数据才是可靠的)。因此一般情 况下忽略移动终端翻滚度,如需获取移动终端的运动轨迹还需结合巧螺仪进行分析。
[0036] C.获取移动终端的角度变化
[0037] 移动终端的角度变化是由巧螺仪得到的,巧螺仪可W捕捉很微小的运动轨迹变 化,因此可W做高分辨率和快速反应的旋转,但不能测量当前的运行方向。由巧螺仪可W得 到移动终端围绕Xyz=个轴旋转的角速度,对得到的角速度求和,即可得到移动终端在一段 时间内的角度变化。具体公式为:Angle[ i] = Ea. event. value[i ] X 肌,a. event. value[i ] 为从巧螺仪得到的数据,i为1、2、3分别代表x、y、z,dT为两次获取角速度的时间间隔。
[0038] (4)数据传递
[0039] 通过数据分析模块得到了移动终端的移动速度、角度变化、方位信息等,就可W根 据根据移动终端需求,如只需判断左右或者上下移动,则将加速度将分析得到的传感器数 据,根据需要发送相应指令到服务器,服务器根据收到的指令交互场景中的对象做出相应 变化。
【主权项】
1. 一种基于移动终端的多人人机交互方法,其特征在于,包括以下步骤: 采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终 端周围的磁场强度; 根据加速度传感器检测得到的加速度,采用低通滤波对重力加速度进行分离,即 gravity[i] = alphaXgravity[i] + (1-alpha) Xg·event · value[i],采用高通滤波对线性 加速度进行提取,linear_accelcration[i] = g.event· value[i]_gravity[i],其中,alpha = t/(t+dT),g. event. value[i]是从线性传感器传递的数据,i为1、2、3分别代表x、y、z,进 一步求得某一时刻移动终端在三维空间中的速度变化和一段时间内各个方向的位移,Vi = ai X dT,SiiVo+ai X (dT)2/2,Vi为该时刻的速度,dT两次测量的时间间隔,ai为高通滤波提 取的三维空间线性加速度,计算得到一定时间t内各个轴的实际位移根据检测到的周围磁场强度,计算出移动终端姿态,即移动终端相对地球的物理方位, 联合使用加速度计、地磁传感器以及系统提供的getRotationMatrix()方法来获取旋转矩 阵和倾角矩阵; 由陀螺仪得到移动终端围绕xyz三个轴旋转的角速度,对角速度求和,得到移动终端在 一段时间内的角度变化,具体公式为Angle[i ] = Σa · event · value[i ] X dT,a· event · value [i]为从陀螺仪得到的数据,i为1、2、3分别代表x、y、z,dT为两次获取角速度的时间间隔; 得到移动终端的移动速度、角度变化、方位信息后,结合移动终端需求,包括判断左右 或者上下移动,将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收到的 指令交互场景中的对象做出变化。2. 如权利要求1所述的基于移动终端的多人人机交互方法,其特征在于,本方法采用 UDP网络传输协议搭建通信环境。
【文档编号】G06F3/01GK105955467SQ201610264805
【公开日】2016年9月21日
【申请日】2016年4月26日
【发明人】黄戈, 李炜, 王家福, 张赐, 王晟, 张毓茜, 吕思
【申请人】四川川大智胜软件股份有限公司, 四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1