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

技术编号:13735044 阅读:76 留言:0更新日期:2016-09-22 00:00
本发明专利技术公开了一种基于移动终端的多人人机交互方法,包括以下步骤:采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终端周围的磁场强度;对重力加速度进行分离,gravity[i]=alpha×gravity[i]+(1‑alpha)×g.event.value[i],对线性加速度进行提取,linear_accelcration[i]=g.event.value[i]‑gravity[i],得到一定时间t内各个轴的实际位移,计算出移动终端姿态;得到移动终端围绕xyz三个轴旋转的角速度,对角速度求和,得到移动终端在一段时间内的角度变化;将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收到的指令交互场景中的对象做出变化。本发明专利技术在无线网络环境下,实时搜集三维陀螺仪和加速计的数据,判断出交互对象的动作,通过网络传输协议,使所有交互对象连接到服务器,实现了大规模的多人交互。

【技术实现步骤摘要】

本专利技术涉及人机交互领域,具体涉及一种基于移动终端的多人人机交互方法
技术介绍
虚拟现实领域是目前最热门的领域,在该领域中,人机交互方式一直是研究的重点。但从目前在超大视场范围(全景渲染、超大屏高分辨渲染)内的虚拟现实人机交互方法的研究成果来看,单人或针对少数人的交互方式研究和应用得比较多。比如利用摄像头来进行单人或少数个人的动作,又如利用Kinect来进行最多不超过6个人的动作,或者是通过一些针对个人的穿戴式交互产品来进行交互。这些交互方式共同的缺点是同时可交互的对象太少,不超过10个人。限制了可交互人数,也制约了虚拟现实的发展。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于移动终端的多人人机交互方法,针对人机交互对象少的缺点,采用传感器获取移动终端用户的动作变化,通过网络传输协议,将指令传递到服务器,达到多人群体互动的目的。为解决上述技术问题,本专利技术采用的技术方案是:一种基于移动终端的多人人机交互方法,包括以下步骤:采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终端周围的磁场强度;根据加速度传感器得到的加速度,采用低通滤波对重力加速度进行分离,即gravity[i]=alpha×gravity[i]+(1-alpha)×g.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×dT,Si=V0+ai×(dT)2/2,Vi为该时刻的速度,dT两次测量的时间间隔,ai为高通滤波提取的三维空间线性加速度,计算得到一定时间t内各个轴的实际位移,根据到的周围磁场强度,计算出移动终端姿态,即移动终端相对地球的物理方位,联合使用加速度计、地磁传感器以及系统提供的getRotationMatrix()方法来获取旋转矩阵和倾角矩阵;由陀螺仪得到移动终端围绕xyz三个轴旋转的角速度,对角速度求和,得到移动终端在一段时间内的角度变化,具体公式为Angle[i]=∑a.event.value[i]×dT,a.event.value[i]为从陀螺仪得到的数据,i为1、2、3分别代表x、y、z,dT为两次获取角速度的时间间隔;得到移动终端的移动速度、角度变化、方位信息后,结合移动终端需求,包括判断左右或者上下移动,将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收到的指令交互场景中的对象做出变化。根据上述方案,本方法采用UDP网络传输协议搭建通信环境。与现有技术相比,本专利技术的有益效果是:在无线网络环境下,交互对象使用移动终端中的三维陀螺仪和加速度传感器等,实时搜集三维陀螺仪和加速计的数据,根据算法准确地判断出交互对象的动作,并通过网络传输协议,使所有交互对象连接到服务器,从而实现了大规模的多人交互。附图说明图1是本专利技术基于移动终端的多人人机交互方法中原始数据获取示意图。图2是本专利技术基于移动终端的多人人机交互方法实现流程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术提出了一种全新的大规模多人人机交互方法,利用几乎每个人都有的移动终端(比如手机),这种移动终端内置了加速度传感器、陀螺仪、方向传感器等八种传感器。这些传感器能提供高精度、准确度的原始数据,可以用于监控移动终端三维运动、位置及移动终端周围的环境变化。常用于人机交互的传感器有加速传感器、陀螺仪、方向传感器、电磁场传感器四种。(1)利用UDP网络传输协议搭建通信环境UDP(User Datagram Protocol,用户数据包协议)是一种无连接的、不可靠的传输层协议,使用UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的。本专利技术使用UDP传输协议来达到大规模人机交互的目的。(2)数据获取传感数据的变化与移动终端的坐标系统的运动是密切相关的。当移动终端运动或者旋转的时候,这些坐标轴与移动终端的相对位置始终保持不变。本专利技术主要使用加速传感器、磁场传感器及陀螺仪,当传感器数据变化时,实时发送数据到数据分析模块。如图1所示,在使用传感器获取原始数据时,为了获取手机的运动速度和姿态,一般通过传感器得到其加速度、角速度、磁场强度几个数据。加速度是由加速传感器得到的,加速传感器以m/s2测量它移动终端所有三个物理轴线方向(x,y,和z)加速度,包括重力。角速度是由陀螺仪以rad/s测量移动终端三个物理轴线方向(x,y,和z)的旋转速度。磁场强度以uT(超声检测,Ultrasonic Testing)测量周围的三个物理轴线方向的磁场。使用重力传感器和磁场传感器能获取移动终端的倾斜矩阵和旋转矩阵。(3)数据分析a.分析移动终端的线性加速度加速度传感器测量作用于移动终端的加速度,该数值包含地心引力的影响。从概念上,加速度传感器通过测试作用于传感器本身的作用力(Fs),并使用下列公式来判断作用于移动终端的(Ad)加速度:Ad=-∑Fs/mass但是,重力作用始终会影响下列公式的测量结果:Ad=-g-∑F/mass由于这个原因,当移动终端位于桌面(并没有加速度)时,加速度传感器的读取结果是g=9.81m/s2。同样,当移动终端自由落体运动时,因为快速向下的加速度是9.81m/s2,所以加速度传感器读取的结果是g=0m/s2。因此要测量移动终端的实际加速度,重力作用的影响必须要从加速度传感器数据中删除。这种问题可以通过高通滤波来实现,而重力加速度通过低通滤波器来分离。实际可以使用很多技术来过滤传感器数据。本专利技术使用过滤器常量(alpha)来创建一个低通滤波器,这个过滤器常量是由时间常量(t)和传感器事件报送频率(dt)推导出来的,t大致等于过滤器触发传感器事件的间隔时间。低通滤波:重力加速度分离,gravity[i]=alpha×gravity[i]+(1-alpha)×g.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×dT,Si=V0+ai×(dT)2/2,Vi为该时刻的速度,dT两次测量的时间间隔,ai为高通滤波提取出来的三维空间线性加速度。计算得到一定时间t内各个轴的实际位移:b.分析移动终端的姿态移动终端姿态在本专利技术中主要指移动终端相对地球的物理方位,联合使用加速度计、地磁传感器、getRotationMatrix()方法来获取旋转矩阵和倾角矩阵(getRotationMatrix()方法是由系统提供的),但处理工作比较繁重,得到的移动终端姿态精度和准确度会有所降低(只有在翻滚度为0时此传感器的数据才是可靠的)。因此一般情本文档来自技高网...

【技术保护点】
一种基于移动终端的多人人机交互方法,其特征在于,包括以下步骤:采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终端周围的磁场强度;根据加速度传感器检测得到的加速度,采用低通滤波对重力加速度进行分离,即gravity[i]=alpha×gravity[i]+(1‑alpha)×g.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×dT,Si=V0+ai×(dT)2/2,Vi为该时刻的速度,dT两次测量的时间间隔,ai为高通滤波提取的三维空间线性加速度,计算得到一定时间t内各个轴的实际位移,根据检测到的周围磁场强度,计算出移动终端姿态,即移动终端相对地球的物理方位,联合使用加速度计、地磁传感器以及系统提供的getRotationMatrix()方法来获取旋转矩阵和倾角矩阵;由陀螺仪得到移动终端围绕xyz三个轴旋转的角速度,对角速度求和,得到移动终端在一段时间内的角度变化,具体公式为Angle[i]=∑a.event.value[i]×dT,a.event.value[i]为从陀螺仪得到的数据,i为1、2、3分别代表x、y、z,dT为两次获取角速度的时间间隔;得到移动终端的移动速度、角度变化、方位信息后,结合移动终端需求,包括判断左右或者上下移动,将加速度将分析得到的传感器数据,发送指令到服务器,服务器根据收到的指令交互场景中的对象做出变化。...

【技术特征摘要】
1.一种基于移动终端的多人人机交互方法,其特征在于,包括以下步骤:采用加速度传感器得到加速度,采用陀螺仪得到角速度,采用磁场传感器测量移动终端周围的磁场强度;根据加速度传感器检测得到的加速度,采用低通滤波对重力加速度进行分离,即gravity[i]=alpha×gravity[i]+(1-alpha)×g.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×dT,Si=V0+ai×(dT)2/2,Vi为该时刻的速度,dT两次测量的时间间隔,ai为高通滤波提取的三维空间线性加...

【专利技术属性】
技术研发人员:黄戈李炜王家福张赐王晟张毓茜吕思
申请(专利权)人:四川川大智胜软件股份有限公司四川大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1