智能终端的陀螺仪控制方法、系统及计算机可读存储介质与流程
本发明涉及智能终端控制领域,尤其涉及一种智能终端的陀螺仪控制方法、系统及计算机可读存储介质。
背景技术:
随着智能终端的快速发展,用户使用智能终端进行日常生活、通讯沟通、游戏娱乐的机会也越来越多。其中游戏类应用程序在智能终端上运行,给用户良好的体验将大大满足用户的精神需求。
现有游戏类应用程序为向用户提供良好的游戏体验,常带有体感操作的功能。例如用户握持智能终端进行赛车类游戏的使用时,其左右摇摆智能终端模拟方向盘的操作。可知的是,左右摇摆的幅度映射至智能终端的操作幅度是属于智能终端预先定义的数据。例如,旋转多少角度,在智能终端内显示体感的灵敏度,属于智能终端的操作系统内的内部预设数据,用户无法修改,只能适应不同应用程序对该数据的调用,提高了用户学习旋转敏感度的学习成本。
因此,需要一种新型的智能终端的陀螺仪控制方法,精细化陀螺仪操作的三轴灵敏度的独立调整,降低用户的使用门槛。
技术实现要素:
为了克服上述技术缺陷,本发明的目的在于提供一种智能终端的陀螺仪控制方法、系统及计算机可读存储介质,对于职业玩家而言,可降低上手时间成本,提高操作水平。
本发明公开了一种智能终端的陀螺仪控制方法,包括以下步骤:
智能终端的陀螺仪检测智能终端接收运动操作时,在惯性空间上的角速度,形成角速度数据;
陀螺仪将角速度数据发送至智能终端的控制模块,控制模块的驱动单元将角速度数据发送至控制模块的接口单元;
接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据;
本地服务单元上报角速度倍率数据至智能终端的应用程序,由应用程序使用角速度倍率数据,并执行角速度倍率数据在应用程序内的操作事件。
优选地,接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据的步骤包括:
接口单元与控制模块的本地服务单元通信连接,将角速度数据发送至本地服务单元;
本地服务单元开设有一编程接口,且编程接口与一客户端单元连接,客户端单元发送调节权重系数至本地服务单元的服务端单元;
服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据。
优选地,调节权重系数包括:应用程序包名、惯性空间的x轴权重系数、y轴权重系数、z轴权重系数;
服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据的步骤包括:
服务端单元判断应用程序包名是否匹配智能终端当前运行的应用程序,并判断角速度数据是否由陀螺仪形成;
服务端单元将x轴权重系数、y轴权重系数、z轴权重系数分别与角速度数据中的x轴角速度数据、y轴角速度数据、z轴角速度数据相乘,以形成x轴角速度倍率数据、y轴角速度倍率数据、z轴角速度倍率数据。
优选地,x轴权重系数、y轴权重系数、z轴权重系数相同、两两不同或其中之二相同,另一不同。
本发明还公开了一种智能终端的陀螺仪控制系统,包括设于智能终端内的控制模块,控制模块包括驱动单元、接口单元、本地服务单元,且智能终端运行有应用程序,
智能终端的陀螺仪检测智能终端接收运动操作时,在惯性空间上的角速度,形成角速度数据;
陀螺仪将角速度数据发送至智能终端的控制模块,控制模块的驱动单元将角速度数据发送至控制模块的接口单元;
接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据;
本地服务单元上报角速度倍率数据至智能终端的应用程序,由应用程序使用角速度倍率数据,并执行角速度倍率数据在应用程序内的操作事件。
优选地,接口单元与控制模块的本地服务单元通信连接,将角速度数据发送至本地服务单元;
本地服务单元开设有一编程接口,且编程接口与一客户端单元连接,客户端单元发送调节权重系数至本地服务单元的服务端单元;
服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据。
优选地,调节权重系数包括:应用程序包名、惯性空间的x轴权重系数、y轴权重系数、z轴权重系数;
服务端单元判断应用程序包名是否匹配智能终端当前运行的应用程序,并判断角速度数据是否由陀螺仪形成;
服务端单元将x轴权重系数、y轴权重系数、z轴权重系数分别与角速度数据中的x轴角速度数据、y轴角速度数据、z轴角速度数据相乘,以形成x轴角速度倍率数据、y轴角速度倍率数据、z轴角速度倍率数据。
优选地,x轴权重系数、y轴权重系数、z轴权重系数相同、两两不同或其中之二相同,另一不同。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的步骤。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.细分陀螺仪操作的三轴灵敏度独立调整,降低用户的使用难度,精细化的调整能降低使用门槛,并提升职业玩家的操作水平。;
2.用户修改的编辑界面简单,且预设有多个档位,提供更加便捷的修改方式。
附图说明
图1为符合本发明一优选实施例中智能终端的陀螺仪控制方法的流程示意图;
图2为符合本发明一优选实施例中智能终端的陀螺仪控制系统的结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
参阅图1,为符合本发明一优选实施例中智能终端的陀螺仪控制方法,在该实施例中,为实现对陀螺仪的定制控制,以满足各不同用户对各自智能终端的不同使用需求,陀螺仪控制方法包括以下步骤:
s100:智能终端的陀螺仪检测智能终端接收运动操作时,在惯性空间上的角速度,形成角速度数据
用户使用智能终端操作时,例如进行体感类游戏、体感类应用程序的体验时,将持有智能终端进行如前后翻转、左右摇晃、左右翻转等对智能终端的运动操作。可以理解的是,用户对于智能终端的运动操作,主要响应于应用程序的交互请求,例如,应用程序为赛车类游戏应用程序时,交互界面内显示用户操作的赛车面临左转或右转时,借助于用户对智能终端的向左或向右旋转时,则以运动操作向智能终端发送操作指令,无需用户在智能终端上再进行点击操作。
在进行有运动操作时,智能终端内设置的陀螺仪将检测该运动操作的运动状态,并形成可反映出智能终端在惯性空间上的角度度,即代表智能终端的角速度数据。陀螺仪,也即角速度传感器,其测量物理量是偏转、倾斜时的转动角速度,同时,陀螺仪是一种用来传感与维持方向的装置,基于角动量守恒的理论设计出来的,其主要是由一个位于轴心且可旋转的转子构成,一旦开始旋转,由于转子的角动量,陀螺仪有抗拒方向改变的趋向。
s200:陀螺仪将角速度数据发送至智能终端的控制模块,控制模块的驱动单元将角速度数据发送至控制模块的接口单元
获得角速度数据后,陀螺仪将该数据发送至与其电连接的控制模块,如智能终端内的cpu等,控制模块内设有一驱动单元,例如驱动div,在获得角速度数据后还将其发送至控制模块内的接口单元处,供接口单元进一步处理。
s300:接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据
后,接口单元与控制模块的本地服务单元,例如sensornative服务,通信连接,交由本地服务单元做业务逻辑的数据处理。具体地,本地服务单元预设有一调节权重系数,本地服务单元将根据该调节权重系数修改角速度数据,例如在原有角速度数据的基础上,依据调节权重系数的具体数值改动原有的角速度数据。通常对于本领域技术人员而言,智能终端内的陀螺仪产生的角速度数据将被智能终端直接加以利用,用户无法修改,也没有动机去修改该精确的、真实的数据。而在本实施例中,添加了一调节权重系数,对角速度数据进行修改,且修改时,可对惯性空间上某一方向轴、多个方向轴或所有方向轴的角速度数据,以形成一角速度倍率数据。可以理解的是,该角速度倍率数据可部分或全部与角速度数据不同,也即在智能终端内的逻辑业务处内部修改数据。
s400:本地服务单元上报角速度倍率数据至智能终端的应用程序,由应用程序使用角速度倍率数据,并执行角速度倍率数据在应用程序内的操作事件
获得角速度倍率数据后,本地服务单元将上报角速度倍率数据至智能终端的应用程序,也就是说,在该实施例中,应用程序不在获得原始的角速度数据,反之,获得的为修改后,或称为经用户期望修改的角速度数据,由应用程序使用角速度倍率数据,并执行角速度倍率数据在应用程序内的操作事件。
通过上述配置,经过该调节权重系数的参与,反映至应用程序对运动操作的交互灵敏度可各向不一。例如,用户握持智能终端向左旋转某一角度,与向右旋转同一角度,在智能终端上反应的交互结果反而不一,如应用程序内的赛车向左滑动较大距离,而向右滑动较小距离。这样设置的好处在于,例如某些用户在某些方向上的操作始终无法达到期望的值,可通过自身调节调节权重系数,配制出最符合自身操作习惯的对陀螺仪的应用。
一优选实施例中,接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据的步骤s300包括:
s310:接口单元与控制模块的本地服务单元通信连接,将角速度数据发送至本地服务单元;
为满足业务逻辑的数据处理,开放有新接口notifysensorparams用作接口单元,本地服务单元也可开放有客户端(client端)调用此接口,两者互相通信连接后接口单元将角速度数据发送至本地服务单元。
s320:本地服务单元开设有一编程接口,且编程接口与一客户端单元连接,客户端单元发送调节权重系数至本地服务单元的服务端单元;
本地服务单元内开设的编程接口将与一客户端单元连接,该客户端单元开放至智能终端的显示器上,向用户提供一交互界面,用户可在交互界面内输入期望的调节权重系数,由此,为用户提供定制化的配置。基于该调节权重系数,客户端单元发送调节权重系数至本地服务单元的服务端单元,即sensornative服务端。
可以理解的是,调节权重系数可不仅具有对角速度调节的系数数值,还可包括每一应用程序的包名,使得每一应用程序具有各自的调节权重系数的配置,更进一步地满足用户在激活不同应用程序时所需要的不同角速度数据的修改要求。
s330:服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据
服务端单元将验证该调节权重系数,例如判断调节权重系数所针对的应用程序包名、智能终端当前使用的陀螺仪传感类型是否正确等,在验证完毕后,将以调节权重系数为基础,倍化角速度数据,从而形成最终的角速度倍率数据。举例来说,x轴调节权重系数为2,y轴调节权重系数为1.5,则惯性空间内的角速度数据将依据不同方向轴上的数值,乘以原角速度数据得到角速度倍率数据,使得该应用程序拿到再原始x轴、y轴数据基础上做系数处理的数据后,做相应的业务逻辑开发。
如上文所述的,调节权重系数包括:应用程序包名、惯性空间的x轴权重系数、y轴权重系数、z轴权重系数。更进一步地,服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据的步骤s330包括:
s331:服务端单元判断应用程序包名是否匹配智能终端当前运行的应用程序,并判断角速度数据是否由陀螺仪形成;
s332:服务端单元将x轴权重系数、y轴权重系数、z轴权重系数分别与角速度数据中的x轴角速度数据、y轴角速度数据、z轴角速度数据相乘,以形成x轴角速度倍率数据、y轴角速度倍率数据、z轴角速度倍率数据。
可以理解的是,x轴权重系数、y轴权重系数、z轴权重系数相同、两两不同或其中之二相同,另一不同。或同一方向轴上,两侧不同的方向所具有的权重系数也不同,使得万向的特定方向上,具有自身独特的调节权重系数,反映在应用程序内的,为若用户在所有方向上旋转相同的角度,应用程序内用户所操作的对象在各方向上的移动不同,则在用户需要调节各向灵敏度、各向运动反馈时,可依据自身需要改变。
以智能终端内安装的操作系统为安卓系统为例,安卓系统的传感器androidsensor架构改动为,对于原生sensor架构层次主要分为传感器硬件,驱动div,sensorhidl服务,sensornative服务,应用sensor进程,当传感器有感应数据后驱动做相应逻辑处理并上报至hidl服务,hidl服务与native服务进程间通信,将数据报给native服务后,最终有native服务传送至于应用sensor的进程。
此方案实施在sensornative服务中做业务逻辑的数据处理,开放新接口notifysensorparams,对应sensornative的client端调用此接口,将包含有包名,x轴调节系数,y轴调节系数等相关参数传递给sensornative服务端,native服务根据特定的包名信息和陀螺仪传感器类型的判断决定是否将sensorhidl上报上来的数据实施系数的调节,如上报参数中包名为游戏a,x轴系数为2,y轴系数为1.5,此时native服务在收到接口上报上来的信息后,开始判定包名是否是游戏a包名,再判断上报类型是否是陀螺仪传感类型,确定后将管道中原始的陀螺仪x、y轴数据做对应系数处理后再在上报给应用sensor程序端,此处就上报给游戏a进程,最终游戏a进程拿到再原始xy轴数据基础上做系数处理的数据后做相应的业务逻辑开发。
参阅图2,示出了符合本发明一优选实施例中智能终端的陀螺仪控制系统的结构示意图,在该实施例中,陀螺仪控制系统包括设于智能终端内的控制模块,控制模块包括驱动单元、接口单元、本地服务单元,且智能终端运行有应用程序,智能终端的陀螺仪检测智能终端接收运动操作时,在惯性空间上的角速度,形成角速度数据;陀螺仪将角速度数据发送至智能终端的控制模块,控制模块的驱动单元将角速度数据发送至控制模块的接口单元;接口单元与控制模块的本地服务单元通信连接,本地服务单元接收角速度数据并根据预设的调节权重系数修改角速度数据,以形成一角速度倍率数据;本地服务单元上报角速度倍率数据至智能终端的应用程序,由应用程序使用角速度倍率数据,并执行角速度倍率数据在应用程序内的操作事件。
优选地或可选地,接口单元与控制模块的本地服务单元通信连接,将角速度数据发送至本地服务单元;本地服务单元开设有一编程接口,且编程接口与一客户端单元连接,客户端单元发送调节权重系数至本地服务单元的服务端单元;服务端单元验证调节权重系数,并在验证通过后将调节权重系数倍化角速度数据以形成角速度倍率数据。
优选地或可选地,调节权重系数包括:应用程序包名、惯性空间的x轴权重系数、y轴权重系数、z轴权重系数;服务端单元判断应用程序包名是否匹配智能终端当前运行的应用程序,并判断角速度数据是否由陀螺仪形成;服务端单元将x轴权重系数、y轴权重系数、z轴权重系数分别与角速度数据中的x轴角速度数据、y轴角速度数据、z轴角速度数据相乘,以形成x轴角速度倍率数据、y轴角速度倍率数据、z轴角速度倍率数据。
优选地或可选地,x轴权重系数、y轴权重系数、z轴权重系数相同、两两不同或其中之二相同,另一不同。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的步骤。
智能终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的智能终端以及诸如数字tv、台式计算机等等的固定终端。下面,假设终端是智能终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除