在全向运动系统中生成输入的方法
1.本技术是申请号为2015800262717、发明名称为“在全向运动系统中生成输入的方法”的中国发明专利申请的分案申请。
2.相关申请的交叉引用
3.本技术要求2014年3月19日提交的、编号为61/955767的美国临时申请的优先权,该申请题为“对运动和虚拟现实系统进行解耦的方法和系统”,特此以引用全文的方式将其并入本技术。本技术要求2014年4月17日提交的、编号为61/981149的美国临时申请的优先权,该申请题为“军事应用的全向运动系统”,特此以引用全文的方式将其并入本技术。本技术要求2014年5月29日提交的、编号为62/004550的美国临时申请的优先权,该申请题为“用于全向运动装置的垂直移动的支撑管系统”,特此以引用全文的方式将其并入本技术。本技术要求2015年1月2日提交的、编号为62/099426的美国临时申请的优先权,该申请题为“全向运动系统和设备”,特此以引用全文的方式将其并入本技术。本技术要求2015年3月2日提交的、编号为62/127261的美国临时申请的优先权,该申请题为“全向运动系统和设备”,特此以引用全文的方式将其并入本技术。
技术领域
4.本公开涉及一种可以与虚拟现实系统结合使用的全向运动系统和设备,以及更具体地涉及全向运动系统及其相关组件的硬件布局和软件方法。
背景技术:
5.本公开通常涉及一种可以与虚拟现实系统结合使用的运动装置。
6.在虚拟现实环境中,用户通常希望有自由行走的能力。特别地,在现实环境中物理上地走动或跑动并将这种运动转化到虚拟环境的能力显著地增加了虚拟环境中用户的沉浸水平。然而,现实世界中的移动常常被物理空间边界(例如,用户所在的房间的大小)限制。因此,运动装置被设计成在将用户限制在特定位置的同时向用户提供自由行走的感觉。例如,很多运动装置允许用户在不离开具有有限尺寸的平台的条件下在所述平台上360度自由行走。传统的运动装置包括机动和非机动的设计,它们可以与虚拟现实环境结合使用。
7.机动运动装置通常使用传感器来检测用户的移动并将反馈传送给马达驱动带或滚轮,用户在所述马达驱动带或滚轮上移动。这些带或滚轮被操作以抵消用户的移动并使得在每个步骤之后用户都返回平台的中心部分。机动运动装置有很多缺陷。比如,因为滚动和机动组件、传感器、处理单元和反馈回路,机动运动装置通常复杂且昂贵。此外,滚动和机动组件需要复杂的算法以正确地抵消用户的移动。对马达的不准确反馈可能导致带或滚轮的错误移动从而使得用户失去平衡或漂离平台中心。还可能会有用户加速时反馈和响应延迟的问题,导致不正确的移动或者太慢的响应,可能会让用户离开平台。进一步地,因为带或滚轮的响应移动抵消用户的移动,用户可能容易失去平衡而摔倒。
8.除了机动运动装置的操作问题,这样的装置通常庞大而笨重,因此,不能被平均大小的住宅房间(例如游戏室、客厅或者卧室)容纳并且很难分解成模块件以运输和储存。这
样的装置必须庞大,以防止用户在正确的系统响应被处理之前离开平台;因此,导致装置不适合家用消费者使用。
9.非机动运动装置没有机动组件,因此依赖于用户的移动和/或重力来让用户在每个步骤之后回到平台中心。例如全向球轴承平台,有上百个球轴承让用户在腰部环绕约束的同时能够在原地走动,其中约束用于保持用户待在原地。全向球轴承平台的一个主要问题是用户不会体验带有跟-趾撞击移动的自然步态,而是体验到类似于在冰上行走的不稳定步态。这种不稳定导致脚跟和脚趾都不抬离装置的拖着脚走的状态,从而导致一种不自然的行走步态,降低了用户在虚拟环境中的沉浸水平。此外,这些装置通常因为有多个滚动组件而沉重且昂贵。
10.因此,存在对能够允许用户安全地接入虚拟环境,同时提供更加自然的步态行走的感觉的运动装置的需求。
技术实现要素:
11.本文描述的实施例通常针对一种与虚拟环境技术一起使用的运动系统,包括被配置成支撑用户的平台,被配置成在进入所述平台时支撑所述平台和用户的下平台,与所述平台耦合和从所述平台以可变高度向上延伸的可调节支柱,其中安全带支撑组件包括放置在平台上方的、围绕垂直中心轴延伸的支撑圈和被配置成由用户佩戴的安全带,安全带包括可拆卸地耦合到支撑圈的一个或多个滑动件。
12.在一个实施例中,一种用于与虚拟环境技术一起使用的运动系统包括被配置成支撑用户的平台,耦合到平台并从平台向上延伸的支柱,其中支柱包括支撑圈,其位于平台上方并围绕垂直中心轴延伸,以及包括配置成由用户佩戴的带的安全带,耦合到带的一个或多个滑动件,以及耦合到带的垂直构件。滑动件滑动地啮合支撑圈的上表面和下表面,且垂直构件设置在支撑圈内并被配置成限制接口结构相对于支撑圈的径向移动。
13.在一个实施例中,一种用于全向运动系统的安全带包括耦合到支撑框架的坐式安全带,通过连接杆可拆卸地耦合到支撑框架的两个上滑动组件,其中上滑动组件位于圈上方,通过垂直构件可拆卸地耦合到所述支撑框架的两个下滑动组件,其中所述下滑动组件位于所述圈下方。
14.在一个实施例中,虚拟现实系统包括运动系统,该运动系统包括被配置成支撑用户的平台、耦合到平台的支柱和被配置成由用户佩戴的安全带。支柱包括定位在平台上方并且围绕垂直中心轴延伸的支撑圈,并且其中所述安全带被配置成相对于支撑圈移动。虚拟现实系统可以进一步包括一个或多个传感器,例如配置成检测、跟踪并将用户的运动传送到印刷电路板的惯性测量单元(imu),被配置成向用户显示状态信息的发光二极管(led),被配置成防止意外移除的布线系统和面板,以及与处理单元通信的视觉显示器,以及被配置成由用户操纵或使用的一个或多个附件。
15.用户在全向运动系统中的移动可以由从一个或多个传感器(例如imu)收集的数据来确定。一个或多个传感器可以可拆卸地附接到用户的鞋、安全带、附件、头部、臂或用户或用户附件上的任何其他位置。当用户在任意方向上开始移动时,传感器可以将原始陀螺数据流传送(例如以100hz)到聚合器板。聚合器板可以收集和分析数据以确定来自陀螺仪的垂直于运动方向的角速度(每秒的旋转速率)。在其他实施例中,传感器可以包括但不限于
电容传感器、惯性传感器(imu)、环境光传感器、磁跟踪传感器、声传感器、压力传感器、光学跟踪传感器、霍尔效应传感器和红外传感器。
16.术语“耦合”是指关于用户正在观看的或摄像机在虚拟环境内指向的方向的虚拟环境中的移动限制。
17.术语“解耦”是指独立于用户正在观看的或摄像机在虚拟环境内指向的方向的虚拟环境中的移动能力摄像机。在一个实施例中,“解耦”是指独立于用户在虚拟环境内观看的方向的用户在虚拟现实平台上在任意方向上行走的能力(步行移动被转换成接受游戏手柄输入的计算机应用的游戏手柄输入)。所以当用户移动时,解耦时的移动不受摄像机或显示器的方向限制,因此不管用户脚和身体的意图的移动、运动、方向如何,都使得用户能够观看或具有放置在任何角度的显示器。
18.术语“pod”通常是指特定类型的传感器系统,即与具有短程无线能力的多控制器单元耦合的传感器。在本公开中,术语pod可以与术语传感器互换。本公开一般描述了pod,然而,也可以实现其他传感器,例如电容传感器、惯性传感器(imu)、环境光传感器、磁跟踪传感器、声传感器、压力传感器、光学跟踪传感器、霍尔效应传感器和红外传感器。
19.术语“游戏”一般是指虚拟环境,即为视频游戏、训练(战斗、体育、就业)、仿真、健身、物理治疗、严肃游戏、娱乐、教育、虚拟旅游、虚拟工作环境、虚拟会议室、体育仿真和训练、虚拟旅游、虚拟音乐会、虚拟事件的用户或设计目的创建的虚拟环境。
20.当前的视频游戏使用相对定向框架。向右推动操纵杆或者在键盘上按“d”可以将用户的化身从当前视点或摄像机位置向右移动90度。可以通过测量头戴式显示器(例如,虚拟现实头戴式耳机)的方向来获得当前摄像机位置。因此,在相对定向框架中,移动可以相对于当前摄像机位置。为了进一步说明,向上推动操纵杆或者在键盘上按“w”可以在当前相机位置向前移动用户的化身。
21.在一个实施例中,游戏可以使用绝对定向框架(解耦框架)。当使用全向运动平台玩游戏时,用户的化身可以独立于当前视点或摄像机位置移动。用户的化身可以相对于游戏内的地图以绝对的方式移动。例如,如果用户在全向运动平台上向北走,则不管当前摄像机位置如何,用户的化身都可以在游戏内的地图上向北移动。在一个实施例中,头戴式显示器可以包括传感器,例如磁力计。传感器可以使用类似于全向运动平台的绝对定向框架,其中当前游戏中摄像机位置可以是用户在物理上看向游戏外部的方向。
22.在一个实施例中,方向“北”可以是磁北或北极。在另一个实施例中,方向“北”可以是在游戏开始时设置或校准的指定方向。例如,佩戴头戴式显示器(虚拟现实头戴式耳机)的用户可以在校准期间相对于用户的身体向前看,这可以在解耦当前摄像机位置和用户的身体之前利用向前步行取向校准当前前视方向。在另一个实施例中,全向运动系统的圈或安全带可以包括传感器,以在解耦当前摄像机位置和用户的身体位置之前利用游戏中的向前取向来校准用户的向前位置。在另一个实施例中,在开始游戏时,由全向运动平台中的传感器、安全带或头戴式耳机确定的游戏外部的用户的当前位置可以被校准到游戏的开始位置。例如,如果游戏内用户被面向东启动,则当游戏被启动时外部用户面向的方向可以向东校准。
23.在一个实施例中,解耦可以在现有游戏中实现。现有游戏不被配置用于解耦,然而解耦效应仍然可以通过基于用户的当前摄像机位置生成的一个或多个击键来实现。例如,
如果用户在向左看90度的同时在全向运动平台上向前走,则可以通过生成“d”键或左移键来实现解耦。可以通过考虑当前摄像机方向将绝对方向框架转换为相对方向框架。在另一示例中,如果用户在向右看45度的同时在全向运动平台上向前走,则可以通过同时或以交替方式产生“w”和“a”键来实现解耦效果。在另一示例中,如果用户在向右看向15度的同时在全向运动平台上向前走,则可以通过生成比“a”键更多个的“w”键来实现解耦效果。
24.在一个实施例中,一种用于检测全向运动系统上的快速停止的方法可以包括:以预定间隔接收角速度,基于角速度确定用户移动,对角速度应用平滑滤波器,确定所述角速度何时等于或小于预定阈值,计算所述角速度的斜率,确定相对于预定间隔所述斜率何时接近零,当所述角速度在所述预定阈值内并且所述斜率相对于预定间隔接近零时确定所述快速停止。
25.在一个实施例中,运动系统平台可以包括传感器,其中传感器可以用于确定操作运动系统的用户的特性。传感器可以位于平台上或平台内,或平台的用户上。另一个实施例涉及绝对定向框架,其中人物能够独立于摄像机位置(其是用户的视点)移动。用户正在查看的方向被忽略,用户可以以绝对方式移动。如果用户在运动系统上“向北”行走,则不管摄像机位置如何,游戏中的用户将在游戏中向北移动。
26.在一个实施例中,运动系统平台可以包括以几何图案分布的一个或多个传感器、一个或多个电耦合的印刷电路板,所述一个或多个传感器电耦合到所述一个或多个印刷电路板;一个或多个更多的微控制器单元,所述一个或多个微控制器单元电耦合到所述一个或多个印刷电路板和计算机系统。微控制器单元可以通过短程无线(例如蓝牙,wi-fi或nfs)电耦合到印刷电路板和计算机系统。计算机系统可以是服务器、游戏系统或移动设备,例如xbox,playstation,任天堂,移动电话,平板电脑,膝上型计算机,智能电话或pda。传感器可以包括但不限于电容传感器、惯性传感器(imu)、环境光传感器、磁跟踪传感器、声传感器、压力传感器、光学跟踪传感器、霍尔效应传感器和红外传感器。在另一个实施例中,几何图案是同心圆。
27.在一个实施例中,当激活圈上的一个或多个传感器时,可以产生正向步进。例如,圈或平台中的一个或多个传感器可以通过电容读取来激活。来自激活的传感器的电容和时间数据可以存储在计算机系统中。可以确定是否激活一个或多个相邻的传感器。在另一个实施例中,用户上的一个或多个传感器可以通过惯性测量或光学测量来致动。可以生成前进步进。
28.在一个实施例中,当圈上的一个或多个传感器被激活时,可以产生速度矢量。例如,圈或平台中的一个或多个传感器可以通过电容读取来激活。来自激活的传感器的电容和时间数据可以存储在计算机系统中。可以确定是否激活一个或多个相邻的传感器。在另一个实施例中,用户上的一个或多个传感器可以通过惯性测量或光学测量来致动。可以生成速度矢量。
29.在一个实施例中,可以计算步进方向。一个或多个传感器可以向计算机系统发送位置数据和电容值。在另一个实施例中,一个或多个传感器可以传送惯性测量值或光学测量值。计算机系统可以归一化一个或多个传感器的位置数据。计算机系统可以进一步对归一化的位置矢量进行加权计算机系统还可以累积加权的归一化位置矢量。计算机系统可以进一步标准化累积的矢量。
30.在一个实施例中,可以计算一个或多个步进的速度。计算机系统可以归零传感器,例如在中心区域。一个或多个传感器可以向计算机系统发送位置数据和电容值。在另一个实施例中,一个或多个传感器可以传送惯性测量值或光学测量值。计算机系统可以归一化一个或多个传感器的位置数据。计算机系统可以进一步对归一化的位置矢量进行加权。计算机系统还可以累积加权的归一化位置矢量。计算机系统可以进一步标准化累积的矢量。计算机系统可以确定累积矢量的长度。计算机系统可以计算累积矢量的速度。
31.在一个实施例中,运动系统平台可以提供自然的垂直移动。垂直移动可以使得用户能够在操作运动系统时蹲伏或跳跃。垂直运动可以包括球轴承系统、弹簧配重、监听弹簧悬架、枢转臂、磁悬浮、液压致动和/或压缩气体系统。
32.在一个实施例中,运动系统可以包括制动机构,具体地,用于防止用户坠落。当用户正在操作运动系统时,施加水平力。运动系统的凹形底座虽然能够使用户通过所施加的水平力向前移动,但可能导致用户跌倒或失去平衡。制动机构可以通过抵消水平力来防止用户掉落或失去平衡。制动机构可以包括配重、摩擦力和线缆制动器。
33.在一个实施例中,运动系统可以容纳工业用户。运动系统可以容纳使用武器的用户,例如m4卡宾枪。运动系统还可容纳穿着标准工业装备和服装的用户,例如模块化战术背心,巡逻包,改进的承载设备(ilbe)和模块化轻型承载设备(molle)。
34.在一个实施例中,标准工业齿轮可以与运动系统集成,具体地,负载支承/承载设备可以附接到运动系统安全带。可以使用袋附件梯子系统(pals)进行附接。
35.在一个实施例中,一种生成游戏输入的方法包括:计算速度,计算方向,将速度和方向转换为二维笛卡尔坐标,将所述二维笛卡尔坐标归一化为最小到最大尺度范围。在一个实施例中,速度可以通过用户的脚行进的一个或多个距离除以行进距离所花费的时间来计算。在另一个实施例中,速度可以通过计步速率来计算,其中计步速率通过监测预定间隔内的步进频率来确定。在另一个实施例中,可以通过监测用户脚部中的一个或多个的加速度来计算速度。在另一个实施例中,通过归一化角速度来计算速度,其中角速度是用户脚中的一个或多个的旋转变化。在另一个实施例中,方向可以相对于真实世界轴平移,并且真实世界轴可以是磁北。在另一个实施例中,方向可以通过偏移被校准到磁北作为用户的初始取向。在另一个实施例中,方向可以相对于用户躯干的取向平移。在另一个实施例中,方向可以相对于用户头部的取向平移。在另一个实施例中,最小到最大标度范围由游戏输入描述符定义。在另一个实施例中,二维笛卡尔坐标的y轴坐标用于向前或向后移动。在另一个实施例中,二维笛卡尔坐标的x轴坐标用于侧向移动。
36.在另一个实施例中,一种生成停止游戏的输入的方法,包括:计算速度,其中所述速度是用户的一个或多个脚的旋转量的变化,归一化速度,确定归一化速度何时降低到预定义阈值,确定归一化速度的斜率何时在预定间隔内接近零。
37.在另一个实施例中,一种方法包括接收一个或多个传感器输出,从一个或多个传感器输出计算速度,从一个或多个传感器输出计算方向,将速度和方向转换为二维笛卡尔坐标,将二维笛卡尔坐标归一化为最小到最大标度范围。
附图说明
38.为了描述可以获得本公开的特征的方式,将通过参考在附图中示出的其具体示例
来展现上面简要描述的原理的更具体的描述。应理解,这些附图仅描绘本公开的示例性实施例,因此不应被认为是对其范围的限制,本文的原理通过使用附图以附加特征和细节来描述和解释,其中:
39.图1示出了根据本技术的示例实施例的示例性安全带系统;
40.图2a和图2b示出了根据本技术的示例实施例的示例性安全带系统的示例滑动连接;
41.图3示出了根据本技术的示例实施例的安全带系统的示例滑动系统;
42.图4示出了根据本技术的示例实施例的示例把手和闩锁系统;
43.图5a和图5b示出了根据本技术的示例实施例的示例性闩锁系统;
44.图6a、图6b和图6c示出了根据本技术的示例实施例的示例性闭合和示例打开支撑圈;
45.图7是示出了根据本技术的示例实施例的示例性支撑圈的俯视图;
46.图8示出了根据本技术的示例实施例的示例性支撑圈的示例附接机构;
47.图9a、图9b、图9c和图9d示出了根据本技术的示例实施例的支撑圈的示例附接机构。
48.图10示出了根据本公开的示例实施例的示例全向运动平台系统的示例支柱系统;
49.图11示出了根据本技术的示例性实施例的示例性支柱支撑和释放系统;
50.图12a和图12b分别示出了根据本技术的示例实施例的在高垂直水平和低垂直水平的示例支柱支撑;
51.图13是示出了根据本技术的示例性实施例的示例支柱和支柱基座的横截面图;
52.图14是示出了根据本技术的示例性实施例的示例性支柱支撑和释放系统的横截面图;
53.图15是示出了根据本技术的示例性实施例的示例性支柱释放系统的横截面图;
54.图16是示出了根据本技术的示例实施例的示例支柱和支柱基座的横截面图;
55.图17示出了根据本技术的示例实施例的示例自动锁定系统的示例自动锁定面板;
56.图18是示出了根据本技术的示例实施例的示例自动锁定系统的内部视图;
57.图19是示出了根据本技术的示例实施例的示例自动锁定系统的内部视图;
58.图20是示出了根据本技术的示例实施例的示例自动锁定系统的内部视图;
59.图21示出了根据本技术的示例实施例的示例全向运动系统的示例平台、下平台和电缆管理系统;
60.图22示出了根据本技术的示例实施例的示例性平台和下平台的示例性支撑结构的顶部横截面视图;
61.图23示出了根据本技术的示例实施例的示例布线系统;
62.图24示出了根据本技术的示例实施例的示例布线系统;
63.图25是示出了根据本技术的示例实施例的示例pod系统的框图;
64.图26是示出了根据本技术的示例实施例的示例pod系统的框图;
65.图27是示出了根据本技术的示例实施例的示例pod系统的框图;
66.图28是示出了根据本技术的示例实施例的pod通信系统的示例性聚合器板的框图;
67.图29是示出了根据本技术的示例实施例的pod通信系统的示例分层模型的框图;
68.图30是示出了根据本技术的示例实施例的示例传感器布局的示意图;
69.图31是示出了根据本技术的示例实施例的示例聚合器板布局的示意图;
70.图32是示出了根据本技术的示例实施例的示例pod通信系统的框图;
71.图33是示出了根据本公开的示例实施例的解耦移动的示例方法的流程图;
72.图34是示出了根据本公开的示例实施例的耦合移动的示例方法的流程图;
73.图35是示出了根据本公开的示例实施例的快速停止的示例方法的流程图;
74.图36是示出了根据本公开的示例实施例的来自示例性传感器系统的输出的曲线图;
75.图37是示出了根据本公开的示例实施例的示例全向运动系统的示例性传感器布局的俯视图;
76.图38是示出了根据本公开的示例性实施例的示例全向运动系统的示例性第一和第二切片的俯视图。
77.图39和图40是示出了根据本公开的示例实施例的用于生成向前移动的示例方法的流程图;
78.图41和图42是示出了根据本公开的示例实施例的用于生成速度矢量的示例方法的流程图;
79.图43是示出了根据本公开的示例实施例的利用第三方执行速度矢量积分的示例方法的流程图。
80.图44是示出根据本公开的示例实施例的计算速度矢量的示例方法的流程图。
81.图45是示出根据本公开的示例实施例的用于计算速度的示例方法的流程图。
82.图46a、图46b和图46c示出了根据本公开的示例实施例的用于工业应用的示例运动系统;
83.图47是示出根据本公开的示例性实施例的运动系统的示例滑轮系统的横截面图。
84.图48是示出根据本公开的示例性实施例的运动系统的配重系统的示例的横截面图;
85.图49是示出根据本公开的示例性实施例的运动系统的示例性制动系统的俯视图。
86.图50是示出根据本公开的示例性实施例的运动系统的示例性制动系统的俯视图;
87.图51是示出根据本公开的示例性实施例的运动系统的示例性制动系统的侧视图;
88.图52示出了根据本公开的示例实施例的示例molle和pals安全带连接。
具体实施方式
89.下面详细讨论本公开的各种示例。虽然讨论了特定的实施方式,但是应当理解,这仅仅是为了说明的目的。相关领域的技术人员将认识到,在不脱离本公开的范围的情况下,可以使用其他部件和构造。其他实例中,没有详细描述公知的方法、过程、组件、电路和网络,以便不必要地使实施例的内容模糊。
90.还将理解,尽管术语第一、第二等可以在本文中用于描述各种元件,但是这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离本发明的范围的情况下,第一传感器可以被称为第二传感器,并且类似地,第二传感器可以被
称为第一传感器。
91.本文在本发明的说明书中使用的术语仅是为了描述特定实施例的目的,而不意在限制本发明。如在本发明的描述和所附权利要求中所使用的,除非上下文另有明确说明,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还将理解,如本文所使用的术语“和/或”是指并且包括一个或多个相关所列项目的任何和所有可能的组合。还应当理解,当在本说明书中使用时,术语“包括”和/或“包括”指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合。
92.如本文所使用的,根据上下文,术语“如果”可以被解释为表示“何时”或“之上”或“响应于确定”或“响应于检测”。类似地,短语“如果确定”或“如果检测到[所陈述的条件或事件]”可以被解释为表示“在确定时”或“响应于确定”或“在检测到[所述条件或事件]”或“响应于检测到[所述条件或事件]”,取决于上下文。
[0093]
图1示出了全身式安全带系统100的一个示例。胸带110可以通过连接器115被配置成与坐式安全带120一起使用以增加稳定性、平衡性和保持直立状态的能力。在一个实施例中,坐式安全带120可以在没有胸带110的情况下使用。胸带110可以包括由y形连接体112连接的肩带113和背带114。肩带113可以包括肩垫111并且可以通过调节器116延长或缩短。坐式安全带120可以包括带有可调节腰带扣123的腰带122,用于增强支撑的背垫121a和可调节腿环124。坐式安全带120还可以包括支撑框架127。支撑框架127可以主要由硬塑料、金属、聚合物,碳纤维,及其任何组合,或者任何其它材料以支撑用户的重量。滑动架125和垂直构件126可以可拆卸地连接到支撑框架127上。
[0094]
图2a和图2b示出了坐式安全带系统120的滑动连接的一个示例。托架129可以通过背垫121a,侧垫121b,腰带122或者它们的组合连接到坐式安全带120上。连接杆128通过支撑框架127连接到托架129上。连接杆128可以被支撑框架127支撑起来。连接杆128可以被配置成当体型较小的用户使用坐式安全带120时可以在长度上延长,当体型较大的用户使用坐式安全带120时可以在长度上变短的伸缩杆。连接杆128的延长和缩短使得在任意体型的用户使用的情况下它都可以与滑动架125连接。在另一个实施例中,连接杆128和托架129也可以被配置成沿着坐式安全带120的腰带122向前或向后滑动,使得体型更小或者更大的用户可以紧缩或松开坐式安全带120并且可以让连接杆128保持与用户躯干垂直的位置状态。在另一个实施例中,连接杆128可以沿着托架129滑动。在另一个实施例中,托架129可以沿着腰带122滑动。支撑框架127可以支撑将坐式安全带120连接到支撑框架127的连接杆128,从而起到例如防止用户跌落的作用。连接杆128和托架129的组合可以由支撑框架127支撑。侧垫121b可以在托架129的连接点处为用户提供支撑并增加舒适度。
[0095]
图2a,图2b和图3示出了坐式安全带系统120与圈134滑动连接的一个示例。滑动架125和垂直构件126可以通过连接杆128可拆卸地连接到支撑框架127上。滑动架125可以包括上滑动组件125a和下滑动组件125b。在一个实施例中仅有上滑动组件125a可以被配置使用。在另一个实施例中上滑动组件125a和下滑动组件125b都被配置使用。上滑动组件125a可以被可拆卸地连接到连接杆128上。下滑动组件125b可以被可拆卸地连接到垂直构件126上。在一个实施例中,下滑动组件125b可以更加向上或更加向下连接到垂直构件126上使得下滑动组件125b与圈134间的相互作用可以分别被减弱或者增强。滑动架125可以被动态地
独立配置成随着用户的运动而旋转或者静态地独立配置成不随着用户的运动而移动。滑动架125的表面可以是圆形,从而使得滑动架125和圈134之间的接触面积最小。圆形的滑动架125在与圈134碰撞的时候可以实现平滑滑动。圈134可以大体上是圆环形状,从而进一步使得其与滑动架125间的接触面积最小。
[0096]
上滑动组件125a可以被配置为位于圈134的顶部而下滑动组件125b可以被配置为位于圈134下方。上滑动组件125a和下滑动组件125b可以使用户能够360度全向运动,同时提供更多的稳定性并(全方位地)防止用户跌落。在一个实施例中,上滑动组件125a被配置使用,下滑动组件125b没有被配置使用,从而使用户有跳跃的能力。在另一个实施例中,当上滑动组件125a和下滑动组件125b都被配置使用时,下滑动组件125b可以包含被配置用于确定坐式安全带120(和用户的躯干)的方位的传感器(例如霍尔效应传感器,压力传感器或者imu传感器)。在另一个实施例中,一个或多个霍尔效应传感器可以被布置在圈134中或周围。在另一个实施例中,一个或多个霍尔效应传感器可以被布置在垂直构件126、上滑动组件125a、下滑动组件125b或坐式安全带120之中或周围。一个或多个磁体可以被布置在垂直构件126、上滑动组件125a、下滑动组件125b或坐式安全带120之中或周围用以与圈134或坐式安全带120中的霍尔效应传感器通信。
[0097]
图3示出了坐式安全带系统120与圈134滑动连接的一个示例。上滑动组件125a可以包括用于可拆除地连接到连接杆128的连接部1252。在一个实施例中,上滑动组件125a可以沿着连接杆128的不同位置配置,例如更接近或更远离连接杆128的基部,以增加或减少与圈134之间的撞击。在另一个实施例中,上滑动组件125a可以被锁定在原位以防止其围绕连接杆128旋转。上滑动组件125a还可以包括前部1251和后部1253,其中前部1251的长度短于后部1253,用以向用户提供更好的稳定性。例如,后部1253长度上的延伸可以为用户提供更好的平衡性并防止用户向后摔倒。在一个实施例中,滑动件125a可以是圆形凸面,凹面,平面或任何其它可以使其与圈134的顶部接触面积最小的形状。在一个实施例中,为了防止有过多的噪音,上滑动组件125a可以包括能够减弱噪音和上滑动组件125a所受到的冲击的橡胶涂层1254。在另一个实施例中,橡胶涂层1254可以是金属弹簧或任何其它用于减弱冲击噪声的材料。在另一个实施例中为了防止有过多的噪音,上滑动组件125a与圈134的冲击部位可以配置有橡胶表面,金属弹簧或任何其它用于减弱冲击噪声的材料。在另一个实施例中,滑动件可以包括满滚子,以使得用户更加容易向前或向后运动。
[0098]
下滑动组件125b可以包括用于可拆除地连接到垂直构件126的连接部1255。在一个实施例中,下滑动组件125b可以具有与上滑动组件125a基本相同的长度。在另一个实施例中,下滑动组件125b可以具有比上滑动组件125a更小的尺寸或更大的尺寸。为了不妨碍支撑支柱,下滑动组件125b的宽度可以较为狭窄。下滑动组件125b可能与圈134接触的冲击部位可以是圆的,以帮助用户移动并使与圈的接触面积最小化。在另一个实施例中,下滑动组件125b的冲击部位可以是圆形凸面,凹面,平面或任何其它可以使其与圈134的底面接触面积最小,同时又能使期望的功能——防止倾斜达到最大化的形状。在运行期间,下滑动组件126b可以防止用户过度倾斜并为用户提供更多的稳定性和安全性,例如,当用户向前或向后倾斜时,下滑动组件125b的后部或前部分别撞击圈134的下侧,从而防止进一步倾斜,为用户提供更多的稳定性和安全性。通过圈134与下滑动组件125b之间的空隙可以确定用户的倾斜量。可以通过沿着垂直构件126调节下滑动组件125b来改变圈134与下滑动组件
125b之间的空隙。在一个实施例中下滑动组件125b可以被配置为低于圈134 0.25英寸,以在向用户提供更好的稳定性的同时使用户仍然能够进行全范围的运动。下滑动组件125b的长度可以决定用户能够向前和向后倾斜的量,比如,长度较短的下滑动组件125b使得用户能够更多地向前和向后倾斜,而长度较长的下滑动组件125b使得用户更少地向前和向后倾斜。为了防止过多的噪音,下滑动组件125b可以包括能够减弱噪音和下滑动组件125b所受到的冲击的橡胶涂层(未示出)。在另一个实施例中,橡胶涂层可以是金属弹簧或任何其它用于减弱冲击噪声的材料。在另一个实施例中为了防止有过多的噪音,下滑动组件125b与圈134的冲击部位可以配置有橡胶表面,金属弹簧或任何其它用于减弱冲击噪声的材料。在另一个实施例中,滑动件可以包括满滚子,以使得用户更加容易向前或向后运动。
[0099]
图4示出了一种全方位运动系统130。全方位运动系统130的圈134可以包括一个或多个把手131。把手131可以通过延伸或缩短支柱150来帮助调节圈134的高度。圈134还可以包括用于打开和关闭用于进入全方位运动系统130的门133的操纵杆132。在一个实施例中,操纵杆132可以是尾部提升的设计。在另一个实施例中,操纵杆132可以是由弹簧支撑的。操纵杆132还可以在不关闭的时候保持垂直的状态以增加安全性。门133和操纵杆132还可以包括用于增加安全性防止(门)意外打开的安全销(未示出)。图5a和图5b示出了具有锁止机构137的操纵杆133和具有铰链136的门133。图6a、6b和6c分别示出了处于不同状态的门133:关闭着但没有锁定,部分打开和全部打开。
[0100]
图7是示出了圈134的一个示例和把手131、操纵杆132、门133、铰链136和支柱150之间的相对位置的俯视图。在一个实施例中,支柱150可以是偏移的。在一个实施例中,支柱150可以被放置在不同的轴上,例如,一个支柱150可以放置在轴148上,而另一个支柱150可以放置在轴149上。
[0101]
图8示出了示例性的圈134附接机构。圈134可以包括u形凸缘139。u形凸缘139可以通过包括手柄140和快速释放闩锁141的快速释放固定件附接到支柱150。在一个实施例中,可以使用任何其他类型的连接和释放机构。在另一个实施例中,圈134被永久地附接在支柱150上。图9a,9b,9c和9d示出了处于不同连接状态的快速释放固定件。图9a示出了与支柱150啮合的手柄140和快速释放闩锁141。图9b示出了从支柱150上释放了的手柄140。图9c示出了从支柱150释放了的手柄140和从支柱部分释放的闩锁141。图9d示出了从支柱150上完全释放了的手柄140和闩锁141,使得圈134能够从支柱150上移除。
[0102]
在一个实施例中,圈134可以被移除并被具有不同形状或尺寸的圈替代,以适应不同形状或尺寸的用户。在一个实施例中,圈134可以大致上是环形,使其能够与滑动架125的接触(面积)最小。在另一个实施例中,圈134可以进一步成形为类似于环面的形状,其中环面的小圆可以是椭圆或任何其他形状,使其能够与滑动架125的接触(面积)最小。在另一个实施例中,圈134可以与无数具有不同周长的圈互换,以适应所有尺寸的用户。在另一个实施例中,支柱150还可以被移除以伴随不同的圈设计来适应各种尺寸的用户。在另一个实施例中,可拆卸的圈134和可拆卸的支柱150可以有助于全向运动系统的运输。
[0103]
图10示出了用于圈134的垂直移动的示例性的支柱系统190。圈134可以包括一个或多个释放构件191并且耦合到一个或多个支柱150。一个或多个支柱150可以包括一个或多个锁定机构195和一个或多个通过一个或多个电缆192连接到一个或多个释放构件191的定位构件194。定位构件194可以包括可缩回的锁定销193,当释放构件191脱离啮合时,可缩
回的锁定销193啮合,使圈134不能垂直移动;且当释放构件191啮合时可缩回的锁定销193脱离啮合,使得圈134能够垂直地移动。在一个实施例中,支柱150可以通过包括在定位构件194中的定位销或可缩回的锁定销193保持在适当位置,定位构件194可锁定支柱150的垂直位置。当定位销缩回时,支柱150可以垂直地上下移动。用户可以通过致动释放构件191来实现垂直运动。通过致动释放构件191,电缆192被向上拉动致动锁定机构195,反过来将销缩回到定位机构194中并解锁支柱150以允许垂直移动。
[0104]
图11示出了带有可垂直调节的支柱150的示例性全向运动系统130。脚杆153可以被配置用于释放支柱锁152,以使得支柱150能够从支柱基座151调节或移除。脚杆153可以附接在支柱锁152上。在另一个实施例中,如图14所示,脚杆153可以与支柱锁152分离。单独的脚杆可以利用内部弹簧释放机构来释放支柱锁152。支柱150可以包括用于帮助高度调节的印刷高度标记154。通过使用图18-20所示的自动锁定机构,可以将支柱150从支柱基座151完全移除。图12a和图12b分别示出了处于较高高度和较低高度的支柱150。
[0105]
图13是示出了支柱连接机构的示例性的支柱基座151和支柱150的内部视图。圆形部分151a为可向支柱150的内部提供反作用力的弹簧(未示出)提供支撑。当支柱150通过支柱锁152从支柱基座151解锁时,弹簧的反作用力防止支柱150下落。图14是示例性的支柱基座151的内部视图,示出了内部弹簧机构151b的内部。当脚杆131被压下且支柱150被释放时,内部弹簧机构151b被驱动,提供向上的力以抵消支柱150和圈134的重力。内部弹簧机构151b可以使用户能够容易地调节圈134的高度,而不必承受支柱150和圈134的整体重量。
[0106]
图15是示例性的支柱锁152的横截面视图。支柱锁152可以连接到销155a,弹簧155b和托架155c。当支柱锁152被释放时,弹簧155b中的张力最小,使得支柱150能够被垂直调节。当支柱锁152啮合时,弹簧155b中存在张力,从而使支柱150不能被垂直调节。安全销158可以通过安装板160连接到支柱锁152。当支柱锁152被啮合(与支柱基座151齐平)时,安全销158可以被啮合,且当支柱锁120脱离啮合(远离支柱基座151)时,安全销可以脱离啮合。安全销158可以与支柱孔(图11所示)对准,从而能够将支柱150固定在支柱基座151中。安全销158可有助于支柱150在水平高度处的啮合。橡胶垫159可以通过安装板连接到支柱锁152。当支柱锁152被啮合(与支柱基座151齐平)时,橡胶垫159可以被啮合,当支柱锁闩152脱离啮合(远离支柱基座151)时,橡胶垫159脱离啮合。橡胶垫159可以在支柱基座151和支柱150之间产生摩擦,从而能够防止支柱150的移动。
[0107]
图16是示出了销钉调节机构的示例性支柱15的横截面视图。支柱基座151可包括能够与支柱150配合的一个或多个销钉156。支柱150可包括用于与一个或多个销钉156连接的一个或多个销钉孔157。销钉156和销钉孔157可以在调节圈134的高度的同时向用户提供触觉反馈。例如,在用户通过拉动或推动把手131来调节圈134的高度时,销钉156和销钉孔157可以提供可听到的咔嗒声和物理点击振动以通知用户支柱150被正确对准。
[0108]
图17示出了支柱基座151的自动锁定机构的示例性可拆卸面板161。图18、图19和图20示出了示例性支柱基座151的内部结构,示出了处于各种啮合阶段的自动锁定机构。图18示出了在完全插入到支柱基座151中之前的支柱150。自动锁定销164可以连接到弹簧机构163和手柄162。啮合(拉动)手柄162可以压缩弹簧机构163并部分地移除销164。支柱150可以包括倾斜的可按压按钮165。倾斜的可按压按钮165可以使支柱150能够插入到支柱基座151中,并且可以在没有自动锁定机构啮合的情况下防止支柱150的移除。图19示出了插
入到支柱基座中的支柱150和已启用的自动锁定机构。在啮合的这个阶段期间,支柱150不能从支柱基座151移除。图20示出了啮合手柄162、压缩弹簧机构163、部分地移除销164从而使得支柱150能够被移除。
[0109]
图21示出了示例性的全向运动系统,具体地,平台170和下平台171。平台170可以由具有低摩擦系数的材料构成,例如高密度聚乙烯,低密度聚乙烯,聚氯乙烯,聚丙烯或具有低摩擦系数的任何其它合适的材料。在操作期间,用户可以穿着摩擦可变的鞋或脚/鞋套。下平台171可以为全向运动系统提供额外的稳定性。如图7所示,全向运动系统可以包括两个偏移的(不居中的)支柱150。下平台171可以通过对支柱的偏移进行重量平衡来提供额外的稳定性。下平台171可以包括粗糙防滑橡胶垫174,以防止用户在穿着低摩擦鞋时滑动/跌落。下平台171还可以包括免责声明,通知用户移除鞋类以防止在全向运动系统中或其周围操作时出现事故。平台170和下平台171还可以包括发光二极管(led)177,以通知用户全向运动系统的不同状态。例如,绿色可以指示完全可操作,在操作中或传感器已连接,琥珀色可以指示请等待或传感器未连接,红色可以指示停止,系统未准备好或传感器未连接。可以为其他状态通知配置各种闪烁led及其组合。全向运动系统还可以包括开/关按钮175。按下开/关按钮可以打开或关闭pcb、led并启用连接,或者可以与一个或多个传感器和计算系统断开连接。
[0110]
图22示出了全向运动系统的平台170和下平台171的示例性内部结构。平台170使得包括两个偏移支柱的全向运动系统能够稳定地使用。平台170可包括外框架172a和用于实现稳定性的两个横杆340。平台170还可以包括每个拐角中的支撑板341。在一个实施例中,横杆340和支撑板341可以焊接到平台170。横杆340和支撑板341可以由金属、金属合金(例如钢)或能够稳定全向运动系统的使用的任何其它材料构成。平台170可以具有多种形状,例如六边形,八边形,正方形或圆形。下平台171可以包括外框架172b和内框架173。内框架173可以由重的材料(例如钢)制成,以便抵消用户的重量和支柱的偏移。
[0111]
图23示出了全向运动系统的示例性电缆/pcb面板。面板176保护电缆和pcb免受外部元件的影响。开口180a,180b和180c可以使得来自pcb的电缆能够从面板的任一侧和下平台下方延伸。开口180a,180b和180c可以实现电缆从全向运动系统的任一侧连接,从而防止可能的布线问题。例如,防止松散的电缆在行走区域中延伸、绊倒隐患、意外拔出或不安全的电缆布局。图24示出了全向运动系统的示例性内部布线/pcb面板。可以包括一个或多个电缆插头178,用于插入用于与pcb,电力电缆,网络电缆或任何其它类型的连接电缆进行连接的计算机系统的电缆。夹子179可以通过防止电缆在面板176后面移动来帮助管理电缆。或者,夹子179可以是电缆插头。在另一个实施例中,电缆插头178可以各自具有一体的夹子179。电缆插头178和夹子179可以包括通过开口180c在下平台171下方延伸的电缆。在另一个实施例中,平台170和下平台171可以与电缆延伸部分集成,以便于将电缆隐藏在相对侧上。pcb可以位于电缆插头178和夹子179后面。pcb可以是可拆卸的,以升级或安装新的硬件。
[0112]
图25是示出了示例性的pod系统400的框图。在实施例中,pod系统400可以连接到用户的身体,附件或全向运动系统(例如腿,脚,手臂,头部,躯干,枪,剑,桨,球拍,圈或安全带),以使得与用户的移动相关的数据能够传输到计算系统(例如,聚合器板)。在实施例中,传感器401可以包括加速度计401a、陀螺仪401b和磁力计401c。在一个实施例中,传感器401
460还可以包括发射和接收组件460c,例如usb,蓝牙,短距离无线,2.4ghz无线电,wi-fi和/或以太网。
[0118]
层3 465可以包括计算系统465b,例如pc,平板电脑,电话,视频游戏控制台或任何其他计算设备。计算设备可以与api 465a一起运行游戏或应用465b。游戏或应用465b可以是计算机游戏、playstation游戏、xbox游戏、具有虚拟环境的任何游戏或应用、模拟,或任何其他游戏或应用。api 465a可以从层2 460接收数据,并且将接收到的数据转换成游戏或应用465b可以理解的格式。一旦由api 465a转换,由pod 455a在全向运动系统中跟踪的用户的移动可以被转换为游戏或应用的移动。在另一个实施例中,由pod455a跟踪的用户的移动可以在全向运动系统之外。
[0119]
图30示出了包括处理器、多轴加速度计/陀螺仪、磁力计和usb连接器的示例性imu布局470的电路图。磁力计可以测量相对于磁北的方向。加速度计可以测量x,y和z平面中的加速度和速度。陀螺仪可以测量俯仰,滚转和偏航的方向。
[0120]
图31示出了包括处理器、蓝牙接收器和发射器、pod无线电、pod充电器、usb和电源管理单元的聚合器板布局480的示例性电路图。
[0121]
图32是示例pod通信系统490的框图。pod通信系统490可以包括通过短程无线(例如蓝牙)连接到聚合器板493的虚拟现实耳机491。pod通信系统可以包括通过计算机系统494以usb或hdmi连接到聚合器板493的虚拟现实耳机492。在另一个实施例中,虚拟现实耳机492连接到聚合器板,而不首先连接到计算机系统494。pod通信系统490可以进一步包括连接到聚合器板493的一个或多个pod 495。在一个实施例中,pod 495和聚合器板493之间的连接是无线的,例如蓝牙或2.4ghz无线电。聚合器板493可以接收数据,编译数据和处理数据,并将处理的数据传送到计算系统。在其他实施例中,聚合器板可以是一个或多个mcu。在其他实施例中,pod通信系统490可以使用hdmi,usb、蓝牙、短距离无线、wi-fi、gazell协议或任何其他通信介质来发送和接收数据。
[0122]
图33是完全解耦速度和方向的示例性的方法的流程图。图33中所示的方法510是作为示例提供的,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图33所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0123]
图33中所示的每个框表示在示例方法中执行的一个或多个过程,方法或子规程。图33所示的步骤可以至少在包括全向运动系统130,pod系统400和/或pod通信系统490的系统中实现。为了完成示例性方法,更多的步骤或更少的步骤都是可能的。在图33中示出的每个块可以由包括全向运动系统130,pod系统400和/或pod通信系统490的至少一个系统执行。或者,在另一个实施例中,可以在不使用全向运动系统130的情况下执行图33的操作。
[0124]
方法510可以从框511开始。在框511的过程中,通过在聚合器板处从一个或多个pod接收的加速度数据来确定用户的计步速率。在另一个实施例中,在聚合器板处接收陀螺数据(角速度)。计步速率可以是在预定间隔内用户步进的频率。在一个实施例中,可以通过在预定间隔内监测用户的脚的加速度来确定计步速率。在另一个实施例中,在与聚合器分离的pcb处接收加速度数据。在另一个实施例中,在绕过聚合器或pcb的计算设备处接收加速数据以确定计步速率。在另一个实施例中,确定用户的脚在一定时间间隔上(角速度)以度为单位的旋转的变化来代替计步速率。当在框511确定计步速率时,该方法可以移到框
512。
[0125]
在框512的过程中,使用所确定的用户的计步速率来计算速度。通过寻找加速度峰值,然后是高频噪声来指示脚的冲击来计算速度。通过加速度的持续时间和峰值测量的每个脚步中的相对能量的速率和幅度被用于计算步骤的速率。在一个实施例中,速度可以是平均速度。在另一个实施例中,速度可以是中值速度。在另一个实施例中,速度可以通过接收的陀螺仪数据(用户脚的旋转在时间间隔上的变化,例如角速度)来计算。通过检测角速度(在框511接收的)的峰值(幅度)来计算速度。峰值可以乘以缩放因子,并且可以添加偏移以计算真实世界速度。当在时间间隔上确定随后的峰值(幅度)时,可以重新计算速度。当在框512计算速度时,该方法可以移动到框513。
[0126]
在框513的过程中,为一个或多个imu计算方向。将校正的取向转换成真实的物理世界轴以提供一个或多个pod的方向。在一个实施例中,可以对一个或多个pod取向求平均以提供总体的组合方向。在一个实施例中,一个或多个pod可以被置于用户的头部、躯干、脚、腿、手臂、附件、圈或安全带上。当在框513处确定方向时,方法可移动到框514。
[0127]
在框514的过程中,方向和速度可以转换为二维笛卡尔坐标(x,y)。转换后的坐标可以表示游戏板和/或操纵杆值。例如,速度可以是x和y值的幅度或幅度,并且方向可以被转换成来自地球的相对磁北的角度。当在框514将方位和速度转换为坐标时,该方法可以移动到框515。
[0128]
在框515的过程中,将坐标标准化为由usb hid操纵杆/游戏板描述符定义的最小到最大标度范围。通过与照摄像机视图解耦控制的优势,可以实现附加的移动,例如向后移动、向左移动和向右移动。当坐标被归一化时,方法510可以结束。
[0129]
方法510可以用于解耦向前移动。向前移动可以是在y方向上相对于一个或多个pod的中心的相对移动,并且生成在y游戏板/操纵杆方向上的移动。当用户脚在空中时的加速度可以在脚的前进方向上测量。然后,前向速度测量可以转换为相对于地球磁北的“真实世界”坐标。相对于pod主体,不在pod的前y轴上的所有其它运动可以被忽略,从而不允许在交替方向上的假的运动将运动识别过程限制为向前运动。
[0130]
方法510可以用于解耦向后移动。向后移动可以是在y方向上相对于一个或多个pod的中心的相对移动,并且生成沿y游戏板/操纵杆方向的移动。当用户脚在空中时的加速度可以在与脚的前进方向相反的方向上测量。然后可以将向后速度测量转换为相对于地球磁北的“真实世界”坐标。忽略相对于pod主体不在pod的向后y轴上的所有其它运动,从而不允许在交替方向上的假的运动将运动识别过程限制为向前运动。
[0131]
方法510可以用于解耦侧向运动或横向运动。侧向移动可以是在x方向上相对于一个或多个pod的中心的相对移动,并且生成在x手柄/操纵杆方向上的移动。当用户的脚在空中时的加速度可以在脚的前进方向的垂直方向上测量。侧向速度测量可以转换为相对于地球磁北的“真实世界”坐标。相对于pod主体,不在pod的x轴上的所有其它运动被忽略,以便不允许在交替方向上的假的运动将运动识别过程限制为向前运动
[0132]
图34是耦合的向前、向后和侧向移动的示例方法的流程图。图34中所示的方法520以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图34所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0133]
图34中的每个框表示在示例方法中执行的一个或多个过程,方法或子规程。在图34中示出的步骤可以至少在包括全向运动系统130、pod系统400和/或pod通信系统490的系统中实现。为了完成示例性方法,更多的步骤或更少的步骤都是可能的。在34中示出的每个框可以由至少包括全向运动系统130,pod系统400和/或pod通信系统490的系统来执行。可以在不使用全向运动系统130的情况下执行图34的操作。
[0134]
方法520可以在框521开始。在框521的过程中,通过在聚合器板处从一个或多个pod接收的加速度数据来确定用户的计步速率。在另一个实施例中,在聚合器板处接收陀螺数据(角速度)。计步速率可以是在预定间隔期间用户步进的频率。在一个实施例中,可以通过在预定间隔期间监测用户脚的加速度来确定计步速率。在另一个实施例中,在与聚合器分离的pcb处接收加速度数据。在另一个实施例中,在绕过聚合器或pcb的计算设备处接收加速数据以确定计步速率。在另一个实施例中,确定用户脚在一定时间间隔上(角速度)以度为单位的旋转的变化来代替计步速率。当在框521确定计步速率时,该方法可以移动到框522。
[0135]
在框522的过程中,使用所确定的用户的计步速率来计算速度。通过寻找加速度峰值,然后是高频噪声来指示脚的冲击来计算速度。通过加速度的持续时间和峰值测量的每个脚步中的相对能量的速率和幅度被用于计算步进的速率。在一个实施例中,速度可以是平均速度。在另一个实施例中,速度可以是中值速度。在另一个实施例中,速度可以通过接收的陀螺仪数据(用户脚的旋转在时间间隔上的以度为单位的变化,例如角速度)来计算。通过检测角速度(在框511处接收)。峰值可以乘以缩放因子,并且可以添加偏移以计算真实世界速度。当在时间间隔上确定随后的峰值(振幅)时,可以重新计算速度。当在框522计算速度时,该方法可以移动到框523。
[0136]
在框523,为一个或多个pod计算方向。将一个或多个pod的取向转换成一个或多个pod的相对体轴以确定预期的运动方向。在一个实施例中,可以对一个或多个pod取向求平均以提供总体组合方向。在一个实施例中,一个或多个pod可以位于用户的头部、躯干、脚、腿、手臂,附件,圈或安全带上。在该实施例中,不计算真实世界坐标并且不用于提供方向。然后平均一个或多个pod相对自定向以提供方向。当在框523计算方向时,方法可移动到框524。
[0137]
在框524处,方向和速度可以转换为二维笛卡尔坐标(x轴和y轴)。转换的坐标可以表示游戏板和操纵杆值。例如,速度可以是x和y值的大小,并且将方向(取向)转换成从(相对于pods的y轴)前进的90度角度增量。当在框524将方向和速度转换为坐标时,该方法可以移动到框525。
[0138]
在框525处,将坐标如由usb hid操纵杆/游戏板描述符所定义的标准化为最小到最大标度范围。当坐标被归一化时,方法520可以结束。
[0139]
方法520可用于前向和后向耦合运动。向前和向后可以是在y方向上相对于pod的中心的相对运动,并且在y游戏板/操纵杆方向上产生运动。当用户的脚在空中时的加速度可以在用于向前移动的摄像机位置的方向上以及在用于向后移动的摄像机位置的相反方向上被测量。相对于pod的所有其它轴可以被忽略,以便不允许交替方向上的假的运动,因此将运动识别过程限制为向前和向后运动。
[0140]
方法520可以用于侧耦合运动或移动耦合运动。侧面移动可以是在x方向上相对于
pod的中心的相对移动,并且在x游戏板/操纵杆方向上产生移动。当用户脚在空中时的加速度可以在摄像机位置的垂直方向上测量。相对于pod的所有其它轴可以被忽略,以禁止交替方向上的假的运动,因此将运动识别过程限制在侧向运动。
[0141]
在确定全向运动系统的用户的移动时,期望减少用于检测已经在全向运动平台上开始的步行时间。检测中的延迟可以被感知为在平台上的用户的移动和虚拟环境中的用户的化身之间的滞后。在实施例中指定用于初始步骤的改进的步进检测性能的附加层,其中触发在前向y方向(相对于pod坐标)的最小水平(阈值)以上的加速度产生用户在游戏手柄/操纵杆坐标(相对于地球的真实世界北)。当运动库尚未完成计算加速度和速度强度时,可以设置此触发器。加速能量的相对强度可以用于缓和从“第一步”触发运动到完全运动库的转变,例如向前走,向后走,跑步,蹲下,跳跃,爬行,跳跃或任何额外的运动姿势可在全向运动系统上检测。触发具有速率无关滞后以减轻由测量的加速度计数据中的噪声引起的用户运动中的抖动的出现。
[0142]
在所有相对方向(相对于pod坐标)中触发低于最大水平的加速度迫使用户移动停止的实施例中指定减少移动停止与其检测之间的滞后。当运动库已经识别出预期的用户动作时,该触发器被布防。触发具有速率无关的滞后,以减轻由测量的加速度计数据中的噪声引起的用户运动中的抖动的出现。
[0143]
图35是检测用户运动的快速停止的示例方法的流程图。图35中所示的方法530以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图35所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0144]
图35中的每个框表示在示例方法中执行的一个或多个过程、方法或子规程。在图35中示出的步骤可以至少在包括全向运动系统130、pod系统400和pod通信系统490的系统中实现。为了完成示例性方法,更多的步骤或更少的步骤都是可能的。35中所示的每个框可以由至少包括全向运动系统130、pod系统400和pod通信系统490的系统来执行。可以在不使用全向运动系统130的情况下执行图35中的每一步。
[0145]
方法530可以在框531开始。在框531,该方法可以从一个或多个pod接收原始陀螺仪数据。在一个实施例中,原始陀螺数据可以是角速度。角速度可以用于确定用户是向前还是向后移动,例如通过用户脚的旋转的改变向前/向后行进或向前/向后行进。在实施例中,如果角速度不为零,则用户可以移动。角速度的峰值(幅度)可以是用户的速度。在另一个实施例中,可以通过在预定间隔内接收一个或多个pod数据来确定角速度。在另一个实施例中,接收的数据可以是用于计算速度的加速度数据。如果在框531确定用户正在移动,则该方法可以移动到框532。
[0146]
在框532,该方法可以通过应用过滤器来标准化或平滑原始数据。在一个实施例中,原始陀螺数据可以通过快速停止滤波器。关于快速停止滤波器,接收到的原始陀螺数据可以通过指数移动平均(ema)滤波器,然后可以将平滑(滤波)的值与先前的平滑值进行比较,以确定平滑增量,陀螺数据图。在另一个实施例中,原始陀螺数据可以通过模拟速度滤波器。关于角速度滤波器,两个脚pod的原始陀螺仪x轴值可以通过ema滤波器运行以计算每个陀螺仪的绝对值。经过滤的值可以一起添加,缩放,然后添加偏移量。在一个实施例中,偏移可以是标度偏移,即因此该值落在有效的操纵杆输出值内。然后,偏移值可以通过ema滤
波器。ema滤波器可以是新的ema滤波器或前述的ema滤波器。结果是大致等于速度的平滑输出,例如步行速度。在图5中可以看到示例平滑陀螺仪数据图。当已经应用滤波器时,该方法可以移动到框533。
[0147]
在框533,该方法可以确定在框532处的平滑后的陀螺仪数据是否在预定阈值内下降。在一个实施例中,平滑的陀螺仪数据可以是运动方向上的角速度(每秒的旋转速率)。例如,可以从垂直于运动方向的陀螺仪轴确定角速度。预定义阈值可以用于确定用户何时正在减慢。在实施例中,预定义阈值可以是每秒0.33度。可以以预定间隔(例如1ms,5ms,10ms,15ms和20ms)监视角速度。如图所示,如图36所示,当pod 501和pod 502的角速度落在预定阈值503内时,用户的移动可以减慢。图36所示的每个峰值(振幅),可以是在该时间点的用户的速度。用户的速度将在随后的峰值期间改变。在实施例中,为了防止错误停止检测,可以基于用户运动的速度动态地确定预定阈值。例如,当以低速度(行走或爬行)计算速度时,预定阈值可以是使触发点更小的更紧凑的窗口。当以高速(运行)计算前向速度时,预定义的阈值可以是使触发点更大的更大的窗口。在另一个实施例中,为了防止假停止,当角速度降低到预定阈值时可以添加衰减。增加的衰减可以减轻任何口吃效应。衰减是数学计算的指数衰减,具有向零的逐渐过渡。当平滑的陀螺仪数据已经降低到预定阈值以下时,该方法可以移动到框534。
[0148]
在框534,该方法可以确定平滑后的陀螺仪数据的斜率何时已经接近零达预定义的间隔。例如,在预定义的间隔1ms,5ms,10ms,15ms或20ms期间。当角速度的斜率继续接近零时,可以检测到停止。在一个实施例中,当斜率小于0.01度每秒平方时,可以检测到停止。或者,如果在该相同间隔期间,斜率不继续接近零,则不能检测到停止。在一个实施例中,可以分析斜率增量(在预定间隔期间)以定位峰值。速度可以设置为每个峰的最大值,直到找到下一个峰,然后可以将其设置为速度。在另一个实施例中,当角速度斜率在最小预定义窗口内时,计数器递增。如果计数器达到七,速度设置为零。当预定义间隔已经结束时,如果斜率在预定义间隔内接近零,则该方法可以移动到框535,或者如果斜率在预定义间隔没有接近零,则该方法可以返回到框531。
[0149]
框535的方法可以检测快速停止。例如,当平滑陀螺仪数据在阈值内且当平滑陀螺仪数据的斜率在预定间隔期间接近零时,检测到快速停止。当检测到快速停止时,方法530可以结束。
[0150]
图37示出了平台传感器布局600。平台170可以配备有用于跟踪一个或多个脚的移动的一个或多个传感器615。在实施例中,传感器615可以是接近传感器,例如使用每个用户脚的身体电容作为输入的电容传感器。当一个或多个脚在传感器上移动时,可以激活电容传感器。在另一个实施例中,传感器615可以是磁性传感器、光学传感器、螺旋传感器、imu传感器、pod或能够具有高精度读数的任何传感器。平台170可以包括用于支撑用户的安全带(未示出)和圈(未示出),如图3和图4所示。安全带可以包括用于确定用户的取向,例如用户的躯干取向的一个或多个传感器。圈可以包括用于确定用户的取向,例如用户的躯干取向的一个或多个传感器。在另一个实施例中,用户的鞋可以包括一个或多个传感器,例如以区分左脚和右脚,脚的前部和脚的后部,或者脚趾和脚跟。
[0151]
平台170可以分成两个或更多个同心圆。例如,如图37所示,平台170可以分成四个同心圆609、610、611和612。传感器615可以分布在平台170上的同心圆609、610、611和612
中。在另一个实施例中,平台170可以被划分为两个或更多个正多边形。在另一个实施例中,平台170可以分成中心区域和邻接的梯形区域。在又一个实施例中,平台170可以被划分为正方对称xy网格。平台170可以进一步分成两个或更多个切片。例如,如图3所示,如图37所示,平台170可以被分成8个切片601、602、603、604、605、606、607和608。一个或多个传感器615可以位于每个同心圆和每个切片的横截面内。例如,传感器615a可以位于最内同心圆609和切片601的横截面内。传感器615b可以位于同心圆611和切片601的横截面内。在另一个实施例中,横截面的最内同心圆609,并且切片601可以包括两个或更多个传感器。在另一个实施例中,同心圆和切片的每个横截面可以包括两个或更多个传感器。
[0152]
传感器615可以具有相同的尺寸或不同的尺寸。例如,当位于靠近平台170的中心时传感器615可以具有较小的尺寸,并且传感器615位于离平台170的中心越远的位置处越大。在另一个实施例中,传感器可以具有相同的尺寸,例如,1.5、2.5、3.5、4.5或5.5英寸或任何其它直径尺寸。
[0153]
图38示出了全向运动系统的通信中的两个切片的示例。传感器615可以连接到一个或多个印刷电路板(pcb)620。例如,位于每个平台切片中的传感器615可以电耦合到位于它们各自的切片中的pcb 620。在另一个实施例中,来自所有切片的传感器可以连接到集中式pcb。传感器615可以通过同轴电缆电耦合到pcb 620。在另一个实施例中,传感器615可以通过短距离无线通信(例如蓝牙)电耦合到pcb 620。每个切片中的pcb可以通过数字通信链路电耦合到相邻切片中的pcb,例如以菊花链或环形配置。位于切片601中的pcb 620可以电耦合到位于切片602中的pcb 620,其可以电耦合到位于切片603中的pcb620。在一个实施例中,切片片601可以包括具有通用串行总线(usb)能力625的微控制器单元(mcu)。在另一个实施例中,切片601可以包括具有usb能力的中央处理单元。mcu 625可以通过连接621向切片601中的pcb 620和切片602中的pcb 620供应功率。切片602中的pcb 620可以通过连接624向切片603中的pcb 620供应功率,连接624可以向pcb 620中的相邻切片中的pcb提供菊花链配置,直到最后一个pcb供电。mcu 625还可以通过连接622(例如,内部集成电路(i2c)总线,通用异步接收器/发射器(uart),串行外围接口总线(spi),串行外围接口总线局部互连网络总线(lin),控制器局域网总线(can)或任何其它类型的串行总线。在另一个实施例中,可以通过位于每个片上的集成或独立于mcu的局部无线通信设备来实现串行总线通信。片602中的pcb 620可以通过连接623将片段603中的串行总线提供给pcb 620,其可以以菊花链配置提供相邻片中的pcb,直到提供最后一个pcb。在另一个实施例中,切片601-608中的pcb 620可以电耦合到集中式pcb,例如以星形配置。在另一个实施例中,电子耦合可以是短程无线通信。mcu 625可以向计算机系统635传送和从计算机系统635接收数据。例如,服务器,视频游戏控制台,移动设备或等同的计算机系统。在另一个实施例中,mcu 625可以通过由电子耦合或无线耦合的总线连续地轮询片601-608中的pcb 620来监视传感器活动。在另一个实施例中,切片601-608中的pcb 620可以通过硬件中断向mcu 625警告传感器活动,例如,电子警报信号以指示需要立即注意的事件。切片601还可以包括与计算机系统635相连的调试工具箱630。
[0154]
切片602可以包含一个或多个传感器615和pcb 620。切片603-608可以基本上类似于切片602。切片602可以与切片601和603以菊花链连接。切片602可以从切片接收功率和串行总线。切片602可以向切片603发送功率和串行总线。该过程可以重复,直到切片608从切
片607接收到功率和串行总线。该过程可以根据平台170中的切片的数量重复更多或更少的切片。切片602-608可以包含冗余mcu 625和程序和调试套件630。
[0155]
图39和图40是示出用于感测用户的向前移动的示例方法700和方法750的流程图。用户的向前移动可以是可变的。方法700和方法750作为示例提供,因为存在多种方法来执行该方法。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图33所示的步骤来实现本公开的技术优点,并且可以包括比所示的更少或更多的步骤。
[0156]
在图39和图40中示出的每个框表示在示例方法中执行的一个或多个过程,方法或子规程。在图39和图40中示出的步骤可以在至少包括平台170的系统中实现。在图39和40中示出的每个框可以至少由平台170执行。图39和图40描述的环是用于平台170中的传感器布局的三个同心圆的示例表示。取决于指定的传感器布局,可以存在更多或更少的环,因此方法700和方法750可以包含与平台170中的环的数量保持一致的更多或更少的分支。在另一个实施例中,传感器可以位于用户或附件上。
[0157]
方法700可以从框701开始。在框701,当传感器具有高于阈值的值时,一个或多个传感器可以从关闭改变到打开,从打开改变到关闭。在一个实施例中,该值可以是电容或光学值。阈值还可以用作传感器电容的旁路滤波器。每个传感器可以具有独立的阈值。阈值可以是可调节的。阈值可以基于多个变量,例如平台170中的传感器的位置、平台170中的传感器的数量、平台170中的传感器的尺寸、以及激活和去激活传感器的激活部件(例如用户的脚)的尺寸来调节。在一个实施例中,阈值可以确定传感器是开启还是关闭,提供大约22度的方向矢量。在另一个实施例中,阈值作为旁路滤波器,其中只有大于阈值的电容被用于计算约2至3度的方向矢量和速度矢量。
[0158]
框702的步骤可以保存传感器值或数据。传感器值可以是所有传感器数据的时间点扫描值。传感器数据可以包括但不限于电容值、操作状态(开或关)、历史时间值譬如最后开启事件的时间戳、最后关闭事件的时间戳。所保存的传感器值可以由计算机系统635用来计算每个用户的脚的移动。保存的传感器值还可以用于历史地计算用户的先前移动以帮助确定用户的动作,例如跑步,步行,向后走,跳跃,向前跳跃,走路和蹲伏。
[0159]
在框711至712,位于外环中的一个或多个传感器可以从关闭改变到打开或从打开改变到关闭。外环中的传感器可以通过读取大于或等于阈值的传感器值(例如,用户的脚中的一个或多个在位于外环中的传感器上的移动)被激活到“开启”位置。外环中的传感器可以通过读取小于阈值的传感器值(例如,用户的脚中的一个或多个相对于位于外环中的传感器的远离)而被去激活到“关闭”位置。在框713,方法700可以生成“w”或向前游戏中移动,并且方法700可以结束。
[0160]
在框721至722,中环中的一个或多个传感器可以从开到关或从开到关改变。通过读取大于或等于阈值的传感器值,例如,在位于中环中的传感器上移动的用户的脚中的一个或多个,可以将中环中的传感器激活到“开启”位置。通过读取小于阈值的传感器值,中环中的传感器可以被停用到“关闭”位置,例如,用户的脚中的一个或两个远离位于中环中的传感器。
[0161]
在框723,计算机系统可以检查位于平台170的一个或多个相邻内环中的所有传感器的时间点传感器扫描。在框724,如果在与中环中的传感器处于相同截面的一个或多个相
邻内环中的传感器被激活,即“开启”,方法700可以生成“w”或游戏中的向前移动,并且方法700可以结束。
[0162]
在框731至732,内环中的一个或多个传感器可以从关闭改变到打开或从打开改变到关闭。通过读取大于或等于阈值的传感器值,例如一个或多个用户的脚在位于内环中的传感器上的移动,可以将内环中的传感器激活到“开”位置。通过读取小于阈值的传感器值,例如用户的脚中的一个或两个相对于位于内环中的传感器的远离,可以将内环中的传感器停用到“关闭”位置。
[0163]
在框733,计算机系统可以检查位于平台170的一个或多个相邻中环中的所有传感器的时间点传感器扫描。在框734,如果在与内环中的传感器处于相同截面的一个或多个相邻中环中的传感器被激活,即“开启”,方法700可以产生“w”或游戏中的向前移动,方法700可以结束。
[0164]
方法750可以从框751开始。在框751,当传感器具有大于阈值的值时,一个或多个传感器可以从关闭改变为打开。在一个实施例中,该值可以是电容或光学值。每个传感器具有独立的阈值。阈值可以是可调节的。阈值可以基于多个变量,例如平台170中的传感器的位置、平台170中的传感器的数量、平台170中的传感器的尺寸、以及激活和去激活传感器的激活部件(例如用户的脚)的尺寸来调节。在一个实施例中,阈值可以确定传感器是开启还是关闭,提供大约22度的方向矢量。在另一个实施例中,阈值作为旁路滤波器,其中在计算约2至3度的方向矢量和速度矢量时仅使用高于阈值的电容。
[0165]
在框761,外环中的一个或多个传感器可以从关闭变为开启。外环中的传感器可以通过读取大于或等于阈值的传感器值(例如,用户脚在位于外环中的传感器上移动的一个或两个)被激活到“开”位置。在框762,方法750可以产生“w”或游戏中的向前移动,方法750可以结束。
[0166]
在框771,中环中的一个或多个传感器可以从关闭改变为开启。通过读取大于或等于阈值的传感器值,例如用户的脚中的一个或多个在位于中环中的传感器上的移动,可以将中环中的传感器激活到“开”位置。在框772,方法750可以保存传感器数据。传感器值可以是一个或多个传感器数据的时间点扫描值。传感器数据可以包括但不限于电容值、操作状态(开或关)、历史时间值譬如最后开启事件的时间戳,最后关闭事件的时间戳。所保存的传感器值可以由计算机系统735用来计算每个用户的脚的移动。保存的传感器值还可以用于历史上计算用户的先前移动以帮助确定用户的动作,例如跑步、步行、向后走、跳跃、向前跳跃、走路和蹲伏。
[0167]
在框781,内环中的一个或多个传感器可以从关闭改变为开启。通过读取大于或等于阈值的传感器值,例如用户的脚中的一个或多个在位于内环中的传感器上的移动,可以将内环中的传感器激活到“开”位置。在框782,计算机系统可以检查位于平台170的一个或多个相邻中环中的所有传感器的时间点传感器扫描。在框783,如果在与内环中的传感器处于相同截面的一个或多个相邻中环中的传感器被激活,即“开启”,方法750可以产生“w”或游戏中的向前移动,方法750可以结束。
[0168]
图41和图42是示出用于生成用于表示用户步进的方向和速度的速度矢量的示例方法800和方法850的流程图。图41和图42中所示的方法800和方法850以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本
领域普通技术人员能够理解,可以以任何顺序执行图41和图42中所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0169]
图41和图42所示的每个框表示在示例方法中执行的一个或多个过程、方法或子规程。图41和图42所示的步骤可以在至少包括平台170的系统中实现。图41和图42所示的每个框可以至少由平台170执行。图41和42是用于平台170中的传感器布局的三个同心圆的示例表示。取决于指定的传感器布局,可以存在更多或更少的环,并且因此方法800和方法850可以包含与平台170中的环的数量保持一致的更多或更少的分支。在另一个实施例中,传感器可以位于用户或附件上。
[0170]
方法800可以在框802处开始。在框802处,可以检测到一个或多个传感器变化,例如,当传感器具有高于阈值的值时,传感器可以从关闭改变为打开,从打开改变为关闭。在一个实施例中,该值可以是电容或光学值。阈值还可以用作传感器电容的旁路滤波器。每个传感器可以具有独立的阈值。阈值可以是可调节的。阈值可以基于多个变量,例如平台170中的传感器的位置、平台170中的传感器的数量、平台170中的传感器的尺寸、以及激活和去激活传感器的激活部件(例如用户的脚)的尺寸来调节。在实施例中,传感器615可以包括寄存默认电容的一个或多个电容传感器。在另一个实施例中,发生超过阈值的寄存的电容变化可以指示相应的传感器已经改变状态,例如从“关闭”状态到“开启”状态,指示在运动系统平台170上的相关联的位置并提供大约22度的方向矢量。在另一个实施例中,阈值作为旁路滤波器,其中在计算约2至3度的方向矢量和速度矢量时仅使用高于阈值的电容。
[0171]
框804执行保存传感器扫描的操作,为一个或多个或所有传感器扫描数据保存时间数据。传感器值可以是所有传感器数据的时间点扫描值。传感器数据可以包括但不限于电容值、操作状态(开或关)、历史时间值譬如最后开启事件的时间戳、最后关闭事件的时间戳。所保存的传感器值可以由计算机系统635用来计算每个用户的脚的移动。保存的传感器值还可以用于历史地计算用户的先前移动以帮助确定用户的动作,例如跑步,步行,向后走,跳跃,向前跳跃,走路和蹲伏。与传感器状态改变的指示相关联的时间数据可以用于从传感器数据计算速度矢量。
[0172]
在框806至808,位于外环中的一个或多个传感器可以从关闭改变到打开或从打开改变到关闭。外环中的传感器可以通过读取大于或等于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个在位于外环中的传感器上的移动)方法被激活到“开启”位置。外环中的传感器可以通过读取小于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个相对于位于外环中的传感器的远离)方法而被停用到“关闭”位置。在框810,方法800可以生成外环传感器的速度矢量,并且方法800可以结束。
[0173]
在框812至814,位于中环中的一个或多个传感器可以从关闭改变到打开或从打开改变到关闭。中环中的传感器可以通过读取大于或等于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个在位于中环中的传感器上的移动)方法被激活到“开启”位置。中环中的传感器可以通过读取小于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个相对于位于中环中的传感器的远离)方法而被停用到“关闭”位置。
[0174]
在框816,计算机系统可以检查位于平台170的一个或多个相邻内环中的所有传感器的时间点传感器扫描804。在框818,如果在与中环中的传感器处于相同截面的一个或多个相邻内环中的传感器被激活,即“开启”,方法800可以生成“w”或游戏中的向前移动,并且
方法800可以结束。
[0175]
在框820至822,内环中的一个或多个传感器可以从关闭改变到打开或从打开改变到关闭。通过读取大于或等于阈值的传感器值或者步进方向矢量(例如一个或多个用户的脚在位于内环中的传感器上的移动)方法,可以将内环中的传感器激活到“开”位置。通过读取小于阈值的传感器值或者步进方向矢量(例如用户的脚中的一个或两个相对于位于内环中的传感器的远离)方法,可以将内环中的传感器停用到“关闭”位置。
[0176]
在框824,计算机系统可以检查位于平台170的一个或多个相邻中环中的所有传感器的时间点传感器扫描。在框826,如果在与内环中的传感器处于相同截面的一个或多个相邻中环中的传感器被激活“开启”,方法800可以生成一个或多个激活的中环传感器的速度矢量,方法800可以结束。
[0177]
方法850可以在框852处开始。在框852,当传感器读取大于阈值的值时,一个或多个传感器可以从关闭改变为打开。每个传感器可以具有独立的阈值。阈值可以是可调节的。阈值可以基于多个变量来调节,例如,阈值可以基于多个变量,例如平台170中的传感器的位置、平台170中的传感器的数量、平台170中的传感器的尺寸、以及激活和去激活传感器的激活部件(例如用户的脚)的尺寸来调节。在实施例中,传感器615可以包括寄存默认电容的一个或多个电容传感器。在另一个实施例中,发生超过阈值的寄存的电容变化可以指示相应的传感器已经改变状态,例如从“关闭”状态到“开启”状态,指示在运动系统平台170上的相关联的位置并提供大约22度的方向矢量。在另一个实施例中,阈值作为旁路滤波器,其中只有大于阈值的电容被用于计算约2至3度的方向矢量和速度矢量。
[0178]
在框854,外环中的一个或多个传感器可以从关闭改变到打开。外环中的传感器可以通过读取大于或等于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个在位于外环中的传感器上的移动)方法被激活到“开启”位置。在另一个实施例中,一个或多个外环传感器仅在相同截面中的一个或多个相邻中环传感器激活之后被激活。在框856,方法850可以生成外环传感器的速度矢量,并且方法850可以结束。
[0179]
在框858,中环中的一个或多个传感器可以从关闭改变为开启。中环中的传感器可以通过读取大于或等于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个在位于中环中的传感器上的移动)方法被激活到“开启”位置。在框860,方法850可以保存传感器数据,然后方法850可以结束。传感器值可以是一个或多个传感器数据的时间点扫描值。传感器数据可以包括但不限于电容值、操作状态(开或关)、历史时间值譬如最后开启事件的时间戳、最后关闭事件的时间戳。所保存的传感器值可以由计算机系统635用来计算每个用户的脚的移动。保存的传感器值还可以用于历史地计算用户的先前移动以帮助确定用户的动作,例如跑步,步行,向后走,跳跃,向前跳跃,走路和蹲伏。
[0180]
在框862,内环中的一个或多个传感器可以从关闭变为开启。内环中的传感器可以通过读取大于或等于阈值的传感器值或通过步进方向矢量(例如,用户的脚中的一个或多个在位于外环中的传感器上的移动)被激活到“开启”位置,在框864,计算机系统可以检查位于平台170的相同截面中的一个或多个相邻中环中的一个或多个传感器的时间点传感器扫描。在框866,如果内环传感器的当前激活时间和一个或多个相邻中环传感器的最后“关闭”时间戳的时间小于可变时间戳阈值,例如1毫秒,则方法850可以生成一个或多个中环形传感器的速度矢量,并且方法850可以结束。
[0181]
在图41和42中产生的速度矢量可用于计算各种游戏指标,例如速度、方向、步行、跑步、跳跃。速度矢量输出可以是指示用户的脚或脚的方向和大小(速度)的(x,y)坐标。
[0182]
如图41和42中所示,可以使用其中记录变化的一个或多个传感器的(x,y)位置坐标来生成速度矢量。例如,运动系统平台170的xy传感器平面可以从二维平面的每个象限中指定的-1到1个距离单位延伸。可以对坐标进行归一化以便于将来矢量计算的容易性。例如,通过将归一化因子除以x和y坐标两者,在实施例中(x2 y2)1/2。在速度矢量被发送到计算机系统635之前,mcu625可以将坐标从(-1,1)范围转换到(0,255)范围。
[0183]
可通过将归一化坐标乘以速度值(例如,0与1之间的值)来计算矢量速度表示。所得到的矢量“长度”可表示速度。在另一个实施例中,可以基于用户步骤的频率来执行矢量速度计算。在另一个实施例中,连续或相邻传感器的激活之间的时间间隔可以用于确定矢量速度。例如,使用保存的传感器时间戳数据。
[0184]
在一个实施例中,可以使用速度矢量计算来计算用户跳跃。例如,使用内环传感器和中心传感器的时间戳数据来计算每个脚的激活和去激活。在另一个实施例中,内部、中间和外部传感器可用于计算向前、向侧面和向后跳转。
[0185]
图43示出了利用第三方系统(例如第三方游戏系统)执行速度矢量积分的示例性方法900的流程图。图43中所示所示的方法900以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图43中所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0186]
图43中的每个框表示在示例方法中执行的一个或多个过程,方法或子规程。图43中所示的每个块可以在包括至少平台170的系统中实现。在另一个实施例中,传感器可以位于用户或附件上。
[0187]
方法900在框902处开始。在框902处,可接收相对速度矢量输入。随后,计算矢量输入的角度。所计算的角度可以是速度矢量方向和绝对北之间的角度测量,即平台170的前方。在框904处,如果速度矢量输入的角度为0,则使用先前矢量905。在一个实施例中,如果在接收到1/10秒的0个矢量之后,矢量被重置为0。在框906,如果速度矢量输入的角度小于30度,则使用框907处的向前运动方向。在框908处,如果速度矢量输入的角度在30度和80度之间,则在框909处进行45度运动选择,例如在左或右方向上。在框910处,如果速度矢量输入的角度在80和90度之间,则在框911处进行90度运动选择,例如在左或右方向上进行。在框912,如果速度矢量输入的角度大于90度,则使框913处的后步运动的矢量重置为0。
[0188]
当前的视频游戏使用相对定向框架。向右推动操纵杆或者在键盘上按“d”可以将用户的化身从当前视点或摄像机位置向右移动90度。在一个实施例中,可以通过测量头戴式显示器(例如,虚拟现实头戴式耳机)的方向来获得当前摄像机位置。因此,在相对定向框架中,可以相对于当前摄像机位置移动。为了进一步说明,向上或向下推动操纵杆或键盘上的“w”可以在当前摄像机位置向前移动用户的化身。
[0189]
在示例实施例中,游戏可以使用绝对定向框架(解耦框架)。当使用平台170播放游戏时,用户的化身可以独立于当前视点或摄像机位置移动。用户的化身可以相对于游戏内地图以绝对的方式移动。例如,如果用户在平台170上向北走,则不管当前摄像机位置如何,用户的化身都可以在游戏内地图上向北移动。在相关方面,头戴式显示器可以包括磁力计。
磁力计可以使用类似于平台170的绝对定向框架,其中当前游戏中摄像机位置可以是用户在物理上看向游戏外部的方向。
[0190]
在一个实施例中,方向“北”可以是磁北或北极。在另一个实施例中,方向“北”可以是在游戏开始时设置或校准的指定方向。例如,佩戴诸如虚拟现实头戴式耳机的头戴式显示器的用户可以在校准期间相对于用户的身体向前看,其可以在解耦当前摄像机位置之前利用向前步行取向来校准当前前视方向,用户的身体位置。在另一个实施例中,附接到平台170的圈或安全带可以包括传感器,以在解耦当前摄像机位置和用户身体位置之前校准用户在游戏中的向前定向的前向位置。在另一个实施例中,在开始游戏时,由平台170中的传感器,安全带或头戴式耳机确定的游戏外部的用户的当前位置可以被校准到游戏的开始位置。例如,如果化身被发起面向东,则当游戏被发起时用户正面向的方向可以被校准向东。
[0191]
在示例实施例中,解耦可以在现有游戏中实现。现有游戏未被设置用于解耦,然而解耦效应仍然可以通过基于用户的当前摄像机位置生成一个或多个击键来实现。例如,如果用户在向左看90度的同时在平台170上向前走,则可以通过生成“d”键或左移键来实现解耦。可以通过考虑当前摄像机方向将绝对方向框架转换为相对方向框架。在另一示例中,如果用户在向右看45度的同时在平台170上向前走,则可以通过同时或以交替方式生成“w”和“a”来实现解耦效果。在又一示例中,如果用户在向右看15度的同时在平台170上向前走,则可以通过生成比“a”更多个的“w”来实现解耦效果。
[0192]
在一个实施例中,传感器可以监测用户的左脚和右脚的方向以确定用户的预期移动方向。图44示出了用于确定步进方向的示例算法。在一个实施例中,四个有源传感器可以物理地位于平台170的一个或多个切片上,例如,传感器位于切片601和环611和612中。四个有源传感器可以表示外部两个传感器环中的所有非零传感器。四个有源传感器中的每一个可以具有位置矢量值和电容值。阈值可以用于滤除低于预定义阈值的传感器电容读数。这可以减少在确定单个步骤完成时的噪声。例如,如果阈值被指定为0.50的电容值,则在确定步进方向时只能使用具有大于0.50的读数的传感器。在另一个实施例中,有源传感器可以物理地位于用户的脚、手、躯干、头部或附件,例如枪、剑、指挥棒、桨或棒球棒上。
[0193]
图44示出了用于确定用户的预期移动方向的示例方法1000的流程图。图44中所示的方法1000以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图44中所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0194]
图44表示在示例方法中执行的一个或多个过程、方法或子规程。图44中所示的每个框可以在至少包括平台170的系统中实现。图44可以由至少平台170执行。在另一个实施例中,传感器可以位于用户或附件上。
[0195]
方法1000可以在框1001开始。在框1001,可以通过记录测量来激活一个或多个传感器。在一个实施例中,平台170上的传感器可以通过记录电容测量来激活。例如,如果用户向前步进到切片601的外部两个环,则环611和612中的四个传感器可以具有电容读数。如果传感器的电容读数大于预定阈值,则电容读数可以用于计算步进方向。在一个实施例中,大于零的所有传感器读数可以用于计算步进方向。在另一个实施例中,可以通过记录惯性测量或光学测量来激活传感器。当在一个或多个传感器处记录了传感器值时,该方法可以进行到框1002。
[0196]
在框1002,可以对具有大于或等于阈值的记录值的有源传感器进行归一化。在归一化处理期间,一个或多个传感器的位置可以被转换为一个或多个方向矢量。例如,如果有源传感器在切片601中,则归一化的方向矢量可以在切片601的方向上。当传感器位置的归一化已经完成时,该方法可以前进到框1003。
[0197]
在框1003,可以为归一化位置矢量计算加权矢量。在一个实施例中,可以计算通过电容的加权矢量。例如,具有较大电容读数的传感器可以分配较高的权重。在一个实施例中,每个有源传感器的权重通过将标准化位置矢量乘以传感器电容值来计算。当矢量已经被加权时,该方法可以移动到框1003。
[0198]
在框1004,可以累加加权矢量以计算累加矢量。例如,可以将定向加权矢量相加在一起以计算累积矢量。当已经计算累积矢量时,该方法可以移动到框1005。
[0199]
在框1005,可以对累积矢量进行归一化。例如,归一化累积的矢量可以确定步进方向矢量。当累积的矢量已经被归一化,步进方向矢量创建方法1000可以结束。
[0200]
图45是示出了用于确定用户的预期移动方向的示例方法1050的流程图。在另一个实施例中,该方法可以跟踪两步方向矢量,并计算速度方向作为两个矢量的平均值。该方法可以基于偶数和奇数步骤方向矢量和步骤时间戳(例如,平均方向矢量和监视步进率)来确定用户角色移动的速度。该方法可以存储一组内部或全局数据结构,例如:vector3,float,int,bool,vstep[2],timestep[2],nsteps和isstep。
[0201]
图45中所示的方法1050以示例的方式提供,因为存在执行该方法的多种方式。另外,虽然以特定顺序的步骤示出了示例性方法,但是本领域普通技术人员能够理解,可以以任何顺序执行图45中所示的步骤来实现本公开的技术优点,并且可以包括比所示的步骤更少或更多的步骤。
[0202]
图45中所示的每个框表示在示例方法中执行的一个或多个过程、方法或子规程。图45中所示的步骤可以在至少包括平台170的系统中实现。图45中所示的每个方框可以由至少一个平台170执行。在另一个实施例中,传感器可以位于用户或附件上。
[0203]
方法1050可以在框1052处开始。在框1052处,可以发生事件,例如当前时间,定位一个或多个传感器的惯性,光学或电容测量。事件已经发生时,该方法可以前进到框1054。在框1054,传感器可以被归零。在一个实施例中,平台170的中心区域中的传感器可以被归零。在一个实施例中,中心区域可以是平台170的内部两个环。在另一个实施例中,中心区域可以是几何形状,圆形,六边形或八边形。当传感器已经被设置为零时,方法1050可以前进到框1056。
[0204]
在框1056,可以使用阈值来对有源传感器进行滤波。在一个实施例中,阈值可以用于基于电容,光学测量或惯性测量来过滤有源传感器。例如,如果有源传感器的电容读数大于预定阈值,则有源传感器可以包括在速度计算中。在一个实施例中,阈值可以设置为零。当确定具有大于或等于阈值的电容读数的有源传感器时,该方法可以前进到框1058。在框1058,计算步进方向矢量。例如,可以使用方法1000来计算步进方向矢量。当计算步进方向矢量时,方法1050可以进行到框1060。
[0205]
在框1060确定方向矢量的长度。如果方向矢量的长度大于零,则方法1050可进行到框1062。在框1062处,确定用户是否已迈出一步。例如,在中心区域外部的有源传感器读数可以是迈步的确认。如果确定迈出步子,则方法1050可以进行到框1080。在框1080处,可
以计算速度。在一个实施例中,速度可以是作为两步方向矢量的平均值乘以步进速率或速度的矢量。在相同的实施例中,速度矢量的大小是用户速度。零长度矢量可以意味着用户停止。0到1之间的矢量长度可以意味着用户正在走路或跑步。矢量长度为1可以表示用户正在运行。在一个实施例中,可以使用等式(1)-(3)来计算速度。
[0206]
time=clamp(abs(timestep[0]-timestep[1]),mintime,maxtime)等式(1)
[0207]
speed=1.0f-(time-speedrunning)/(speedslow-speedrunning)等式(2)
[0208]
vvelocity=normalize(vstep[0] vstep[1])*speed等式(3)
[0209]
一旦在框1080计算速度,则该方法可以进行到框1082并结束。
[0210]
如果在框1062处未迈步,则方法可进行到框1064。在框1064处,记录一步。例如,方向矢量具有大于零的长度(框1060),并且中心区域中的传感器被归零(框1054),因此脚已经移动到外部传感器。当记录一个步进时,方法1050可移动到框1080以计算速度。一旦在框1080计算了速度。
[0211]
如果在框1060处,方向矢量的长度等于或小于零,那么方法1050可进行到框1070。在框1070处,确定用户是否已迈出一步。例如,在中心区域外部的有源传感器读数可以是迈步的确认。如果确定迈出步子,则方法1050可以进行到框1072。在框1072,增加步进的数量,并且将步进变量设置为假。例如,有一个步进(脚在外部传感器),现在没有在外部传感器检测到脚,因此步进完成。在步进完成之后,方法1050可以进行到框1080。
[0212]
如果在框1070处,未迈出步子,则方法可进行到框1074。在框1074处,可确定步进是否太慢。在一个实施例中,如果脚停留在平台170的外部区域中。在一个实施例中,太慢的步进可以通过从前一步骤时间中减去当前时间来确定,然后确定计算值是大于还是小于步长阈值。如果步进太慢,则方法1050可以进行到框1076。在框1076,重置步进值。例如,步数、步矢量和步进时间可以设置为零。当步长值被设置为零时,方法1050可以进行到框1080。如果在框1074,步进不太慢,则方法1050可以进行到框1080。
[0213]
图46a、46b和46c示出了示例工业全向运动系统。工业全向运动系统1100可包括垂直支撑件1101,水平支柱1102,圈134,支撑构件1103和1104,平台170,垂直杆1105,弹簧1106,接地支撑件1107和线性球轴承系统(未示出)。
[0214]
垂直支撑件1101可以使得圈134能够垂直移动。在一个实施例中,垂直支撑件1101可以是中空的,以允许水平支柱1102进入并通过线性球轴承系统联接到垂直柱1105。垂直支撑件1101可以具有可变长度。垂直支撑件1101还可以包括保护覆盖物。保护覆盖物可以防止外来物质进入垂直支撑件1101的中空部分,并且因此防止外来物质干扰线性球轴承系统,杆1105和弹簧1106。例如,保护覆盖物可以是重叠的刷毛。在一个实施例中,垂直支撑件1101远离中心支撑件足够远,以防止与用户和任何工业齿轮(例如枪,剑,指挥棒,桨,球拍)干涉。垂直支撑件1101可保持垂直杆1105在例如垂直、90度角的状态,以实现来自用户的一致的垂直移动。水平支柱1102从圈134延伸并且通过滚珠轴承系统附接到垂直杆1105。滚珠轴承系统可以允许圈134的垂直移动。在另一个实施例中,水平支柱1102还可以以锐角,例如75度、45度或小于90度的任何其它角度延伸,如图46c所示。更锐利的角度可以使工业用户能够无阻碍地使用工业枪械,例如将枪管指向枪上朝向地面。在一个实施例中,滚珠轴承系统可以具有与垂直杆大于5英寸的接触。线性球轴承系统可以包括线性球轴承座。衬套滚珠轴承系统可以实现支柱1102沿着垂直杆的更平滑的运动。水平支柱1102可以在相同平面
中从圈134延伸。支撑构件1103和1104可以增加垂直支撑件1101的稳定性。地面支撑件1107可以支撑和稳定工业全向运动系统1100。
[0215]
当用户处于站立位置时,弹簧1106可以抬起圈134和支柱150。弹簧1106可以在向前的用户移动期间提供支撑。弹簧1106可以进一步压缩,使得用户能够蹲伏,并帮助用户站立,从蹲下站起或通过解压缩跳跃。在一个实施例中,可以使用胡克定律来计算弹簧常数。总力可以是的重量可以被添加到向用户提供稳定性所需的向上的力。稳定性可以根据用户的高度而不同。总力可以除以垂直支撑件的数量。在一个实施例中,弹簧常数可以在0.2lb/in和4.0lb/in之间。在另一个实施例中,弹簧常数可以在0.4lb/in和2.0lb/in之间。
[0216]
在一个实施例中,垂直支撑件可以包括伸缩杆。在另一个实施例中,垂直支撑件是伸缩杆。例如,垂直支撑/伸缩杆的高度将与圈的高度相同。伸缩杆可以使用户能够通过响应于用户的移动而压缩和伸展而垂直移动。
[0217]
在一个实施例中,垂直支撑件可以是蹦极绳或悬挂弹簧系统。在该实施例中,当用户处于蹲下位置时,将对环施加最小的电阻。当用户从蹲下位置移动到站立位置时,环上的阻力将减弱。在另一个实施例中,垂直运动可以通过枢转臂系统来实现。枢轴可以在垂直支撑件或环上附接到支柱。当用户移动到蹲下或站立位置时,枢轴可以致动,使得用户能够进行垂直移动。在另一个实施例中,垂直运动可以通过磁悬浮系统实现。支柱可以通过磁体附接到垂直支撑件。由磁极化产生的磁场可以实现垂直移动。在另一个实施例中,可以通过液压致动实现垂直运动。水平支柱可以通过液压连接到垂直支撑。用户的垂直运动可以由液压装置致动。在另一个实施例中,垂直运动可以通过压缩气体实现。垂直运动可以通过启动调节器来实现,该调节器导致压缩气体的流动的释放和限制。
[0218]
图47是示出工业全向运动系统的滑轮制动系统的横截面图。滑轮系统1120可以通过缆线1121将质量块1122连接到线性轴承系统(未示出)。质量块1122可以使得线性轴承系统能够沿着垂直杆1105垂直地移动。质量块可以给水平支柱1102和环(未示出)提供恒定的向上水平力。恒定的向上水平力可以抵消当用户向前移动(例如步行或跑步)时产生的恒定向下的力。在前述和随后的实施例中,向前的力也可以是向后的力,例如,用户为了向后跑步而行走。
[0219]
图48是示出工业全向运动系统的配重系统制动系统的横截面图。配重系统可以帮助防止用户跌落。在一个实施例中,配重系统可以包括垂直支撑件1101,垂直杆1105以及用于产生恢复力以抵抗由用户提供的水平力的一个或多个弹簧1106。弹簧1106可以放置在线性轴承系统(未示出)的下面。弹簧1106可以由于用户向前运动产生的向下水平力而压缩,例如如果用户正在走路或跑步,这也可以产生平衡向上的力。
[0220]
图49是示出工业全向运动系统的摩擦力制动系统的俯视图。由用户的向前运动产生的力可以转换成可以抵抗落下的用户的垂直力的摩擦力。摩擦力可以抵消由用户的向前运动产生的恒定向下力,例如跑步。在一个实施例中,摩擦力由垂直支撑件1101和轴承系统(未示出)内部的摩擦材料1123产生。当用户向前移动时,在轴承系统的外侧上的摩擦材料与在中空支撑件内部的摩擦材料接触,产生摩擦力。
[0221]
图50是示出工业全方向运动系统的周向弹簧制动系统的俯视图。线性球轴承系统可以通过一个或多个弹簧1124附接到垂直杆。在一个实施例中,四个弹簧1124被设置为等距离并且与垂直杆1105形成90度。当用户向前移动施加到水平支柱1102,水平力从用户通
过水平支柱1102传递到弹簧1124。当弹簧压缩时,在线性球轴承系统的外侧上且在中空支撑件内部的摩擦材料接触产生摩擦力。摩擦力可以抵抗由用户的向前运动产生的向下的力,防止跌落。在另一个实施例中,摩擦力可以来自支柱和直线轴承系统的接触。
[0222]
图51示出了工业全向运动系统的电缆制动系统。电缆制动系统可用于防止用户跌落。电缆制动系统可以包括制动器1127,沿着水平支柱1102延伸的制动电缆1125,以及容纳轴承系统的球轴承套筒1126。用户的向前运动可以产生水平力。水平力可以致动并增加致动制动器1127的制动缆索1125上的张力。例如,缆索制动系统上增加的张力可以提供沿着垂直杆的摩擦力,抵抗由用户的向前运动产生的向下的力,例如步行或跑步。
[0223]
图52示出了袋附接梯子系统(pals)和模块化轻型承载设备(molle)安全带连接。标准工业承载设备可以集成到安全带120。在一个实施例中,可以集成具有pals 1130的molle个人防护设备,如图52所示。在另一个示例中,可以集成具有pals的molle巡逻组件。pals系统由用于连接pals兼容设备的网状网格1129组成。任何其他工业设备或服装,例如改进的承载设备(ilbe)也可以集成到运动系统安全带中。安全带120可以具有一个或多个与工业设备(例如molle或ilbe)集成的pals兼容带1128。兼容带1128可以通过pals系统附接到molle人保护设备1130,molle巡逻包,ilbe设备。
[0224]
本文描述的实施例包括旨在解决与某些现有设备、系统和方法相关联的各种缺点的特征和优点的组合。前面已经相当广泛地概述了本发明的特征和技术优点,以便可以更好地理解对本发明的详细描述。在阅读详细描述并参考附图时,上述各种特征以及其它特征对于本领域技术人员将是显而易见的。本领域技术人员应当理解,所公开的概念和具体实施例可以容易地用作修改或设计用于实现本发明的相同目的的其它结构的基础。本领域技术人员还应该认识到,这样的等同结构不脱离如所附权利要求中阐述的本发明的精神和范围。
[0225]
在本公开的范围内的示例还可以包括用于携带或具有存储在其上的计算机可执行指令或数据结构的有形和/或非临时性计算机可读存储介质。这种非暂时性计算机可读存储介质可以是可由通用或专用计算机访问的任何可用介质,包括如上所述的任何专用处理器的功能设计。作为示例而非限制,这种非暂时性计算机可读介质可以包括ram,rom,eeprom,cd-rom或其他光盘存储器,磁盘存储器或其他磁存储设备,或者可以是用于以计算机可执行指令,数据结构或处理器芯片设计的形式携带或存储期望的程序代码装置。当通过网络或另一通信连接(硬连线,无线或其组合)向计算机传送或提供信息时,计算机将连接适当地视为计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。上述的组合也应当包括在计算机可读介质的范围内。
[0226]
计算机可执行指令包括例如使通用计算机,专用计算机或专用处理设备执行某一功能或一组功能的指令和数据。计算机可执行指令还包括由独立或网络环境中的计算机执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的专用处理器等的设计中固有的例程、程序、组件、数据结构、对象和功能。计算机可执行指令,相关联的数据结构和程序模块表示用于执行本文公开的方法的步骤的程序代码装置的示例。这样的可执行指令或相关联的数据结构的特定序列表示用于实现这些步骤中描述的功能的相应动作的示例。
[0227]
所属领域的技术人员将了解,本发明的其它实例可在具有许多类型的计算机系统
配置的网络计算环境中实践,包括个人计算机,手持装置,多处理器系统,基于微处理器或可编程消费电子产品,网络pc,小型计算机,大型计算机等。示例还可以在分布式计算环境中实践,其中任务由通过通信网络链接(通过硬连线链路,无线链路或其组合)的本地和远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
[0228]
上述各种示例仅以说明的方式提供,并且不应被解释为限制本公开的范围。例如,本文的原理不仅适用于智能电话设备,而且适用于能够检测通信的其他设备,例如膝上型计算机。本领域技术人员将容易地认识到,可以对这里描述的原理进行的各种修改和改变,而不遵循本文所示出和描述的示例实施例和应用,并且在不脱离本公开的范围。
转载请注明原文地址:https://tc.8miu.com/read-3664.html