具有结构竖直层级机制的计算系统及其操作方法与流程

文档序号:14650016发布日期:2018-06-08 21:35阅读:380来源:国知局
具有结构竖直层级机制的计算系统及其操作方法与流程

本发明的实施方式总体上涉及计算系统,更具体地,涉及具有结构竖直层级机制的系统。



背景技术:

现代消费和工业电子产品,特别是诸如计算系统、蜂窝电话、可穿戴设备(诸如,健康监控器或智能手表)和组合设备的设备提供了越来越多的功能以支持包括在线社交网络的现代生活。可以在多种不同的方向上对现有技术进行研究和开发。

随着用户因计算的增长而被赋予更多的能力,各种用途开始利用这种新的设备空间。许多技术方案利用这种新的设备性能来为用户提供更多的功能。然而,在有关结构内的竖直定位或地图绘制方面,用户往往面临功能不够的问题。

因此,仍需要具有结构竖直层级机制的计算系统。考虑到不断增加的商业竞争压力和不断增长的消费者期望,以及市场上有意义的产品差异化的机会越来越少,找到解决这些问题的答案变得越来越重要。此外,降低成本、提高效率和性能以及应对竞争压力的需求为寻找解决这些问题的答案的关键必要性增添了更大的紧迫性。

长期以来,一直在寻找这些问题的解决方案,但是现有技术的发展并未得出任何解决方案的教导或建议,并且因此,长期以来,本领域的技术人员一直没有得到解决这些问题的答案。



技术实现要素:

技术方案

实施方式提供了一种计算系统。所述计算系统包括控制电路和存储电路,其中,控制电路配置成:确定环境测量值,环境测量值表示所测量的与位于地理位置处的建筑结构有关的条件;基于环境测量值生成地图,从而沿着竖直方向绘制建筑结构的层级的地图,存储电路联接到控制电路并配置成存储用于表示建筑结构的地图。

附图说明

图1是本发明的实施方式中具有结构竖直层级机制的计算系统。

图2是用于在计算系统的显示界面上可视地示出实施方式的程序的示例。

图3是用于在计算系统的显示界面上可视地示出实施方式的程序的另一示例。

图4是计算系统的示例性框图。

图5是计算系统的另一示例性框图。

图6是计算系统的示例性系统架构。

图7是表示图1的计算系统的示例性流程图。

图8是图7的校准设备步骤的详细示例性流程图。

图9是图7的计算出入口海拔步骤的详细示例性流程图。

图10是图7的确定过程触发步骤以及图7的其他后续步骤的详细示例性流程图。

图11是图7的竖直定位步骤的详细示例性流程图。

图12是在另一实施方式中操作图1的计算系统的方法的示例性流程图。

本发明的最佳实施方式

实施方式提供了一种计算系统,所述计算系统包括控制电路和存储电路,其中,控制电路配置成:确定环境测量值,环境测量值表示所测量的与位于地理位置处的建筑结构有关的条件;基于环境测量值生成地图,从而沿着竖直方向绘制建筑结构的层级的地图,存储电路联接到控制电路并配置成存储用于表示建筑结构的地图。

在实施方式中,控制电路配置成生成地图,从而在建筑结构内的层级上竖直定位用户。

实施方式提供了操作计算系统的方法,所述方法包括:确定环境测量值,环境测量值表示在地理位置处的建筑结构内测量的条件;以及利用控制电路基于环境测量值生成地图,从而沿着竖直方向绘制建筑结构的层级的地图。

非暂时性计算机可读介质,所述非暂时性计算机可读介质包括能够由计算系统的控制电路执行的指令,所述指令包括:确定环境测量值,环境测量值表示在地理位置处的建筑结构内测量的条件;以及基于环境测量值生成地图,从而沿着竖直方向绘制建筑结构的层级的地图。

在实施方式中,所述指令包括:确定环境测量值包括基于检测到与设备对应的竖直移动事件来使用设备确定环境测量值中的一个或多个;以及基于来自设备的环境测量值中的一个或多个来计算用于归一化环境测量值中的一个或多个的相对海拔,从而使用建筑结构的地图沿着竖直方向定位设备。

在实施方式中,所述指令包括:基于环境测量值,确定层级变化进出位置,层级变化进出位置用于提供建筑结构的层级之间的竖直连接;并且,其中:生成地图包括生成具有层级变化进出位置的地图,从而在层级上定位层级变化进出位置。

在实施方式中,所述指令包括:确定相对于出入口海拔的相对海拔,相对海拔用于表示与设备海拔对应的环境测量值,并且其中:生成地图包括基于表示环境测量值的相对海拔来生成地图。

在实施方式中,所述指令包括:基于用于校准环境测量值的设备调整测量值确定相对于校准位置的相对海拔;并且,其中:生成地图包括基于表示环境测量值的相对海拔来生成地图。

具体实施方式

本发明的以下实施方式提供了用于在建筑结构内定位用户设备或竖直绘制建筑结构的地图的无监督机制。定位过程、地图绘制过程或其组合可以基于在校准位置处利用校准测量值动态地校准用户设备。定位过程、地图绘制过程或其组合还可以基于归一化包括环境测量值的传感器数据来计算相对海拔。

对以下实施方式进行足够详细地描述,以使本领域的技术人员能够制造和使用本发明。应理解的是,基于本公开,其他实施方式将是显而易见的,并且在不偏离本发明的范围的情况下,可做出系统变化、过程变化或机械变化。

在以下描述中,给出许多具体细节以提供对本发明的透彻理解。然而,将显而易见的是,可在没有这些具体细节的情况下实践本发明。为了避免使本发明的实施方式含糊不清,未详细地公开一些众所周知的电路、系统配置和处理步骤。

示出系统的实施方式的附图是半图示性的,而没有按照比例绘制,具体地,为了清楚说明的目的,一些尺寸在附图中被夸大地示出。类似地,虽然为了方便描述的目的,附图中的视图通常示出类似的定向,但是附图中的此种描绘在大多数情况下具有任意性。通常,本发明可以以任何定向进行操作。

本文中提到的术语“竖直”可以包括与重力方向平行或一致的方向或定向。术语“向上”和“向下”可以是从相对于表面或海平面的参考点(诸如,人、主体、设备或其组合)沿着竖直线的相反方向。本文中提到的术语“水平”可以包括与竖直线垂直或正交的方向或定向,“水平”包括沿着与地平面平行的平面的方向或定向。

本文中提到的术语“无监督”可以包括在没有人工输入、没有任何提前假设并且没有任何提前相关的外部供给信息的情况下实施的过程、电路、方法、机制或其组合的描述或分类。更具体地,本文中提到的“无监督”可以描述或分类在没有来自用户或系统管理员的人工输入或响应、没有有关建筑或结构的相关外部供给信息并且没有任何有关建筑或结构的竖直尺寸的假设的情况下的过程、电路、方法、机制或其组合。

现在参考图1,其中示出了本发明的实施方式中具有结构竖直层级机制的计算系统100。计算系统100包括连接到第二设备106(诸如,客户端设备或服务器)的第一设备102(诸如,客户端设备)。第一设备102可以利用网络104(诸如,无线网络或有线网络)与第二设备106进行通信。

例如,第一设备102可以是多种消费者设备中的任何设备,诸如蜂窝电话、个人数字助理、笔记本电脑、平板电脑、可穿戴设备或其他多功能移动通信设备或娱乐设备。第一设备102可以直接地或间接地联接到网络104来与第二设备106进行通信,或者第一设备102可以为独立设备。

为了说明的目的,计算系统100利用作为移动计算设备的第一设备102进行描述,但是应理解的是,第一设备102可以是不同类型的设备。例如,第一设备102还可以是非移动计算设备,诸如服务器、服务器群或台式计算机。此外,作为示例,第一设备102可以是独立设备,或可以与诸如汽车、卡车、公共汽车或火车的车辆结合。

第二设备106可以是多种集中式计算设备或分散式计算设备中的任何一种。例如,第二设备106可以是计算机、网格计算资源集、虚拟化的计算机资源、服务器、云计算资源、路由器、交换机、对等分布式计算设备集或其组合。

第二设备106可以集中在单个房间内、分布在不同的房间内、分布在不同的地理位置处、嵌入到远程通信网络内。第二设备106可以与网络104联接来与第一设备102进行通信。第二设备106还可以是如第一设备102所描述的客户端类型设备。

为了说明的目的,计算系统100利用作为非移动计算设备的第二设备106进行描述,但是应理解的是,第二设备106可以是不同类型的计算设备。例如,第二设备106还可以是移动计算设备,诸如笔记本电脑、另一客户端设备或不同类型的客户端设备。

计算系统100还可以包括另外的设备108。诸如客户端或服务器的另外的设备108可以连接到第一设备102、第二设备106或其组合。另外的设备108可以与第一设备102、第二设备106或其组合类似。

例如,另外的设备108可以包括任何种类的消费者设备、可穿戴设备、服务器、固定设备或移动设备、集中式设备或分散式设备或其组合。另外的设备108可以直接地或间接地联接到网络104以与另一设备进行通信、直接地联接到另一设备、或可以为独立设备。

为了说明的目的,计算系统100利用作为移动计算设备的另外的设备108进行描述,但是应理解的是,另外的设备108可以是不同类型的设备。例如,另外的设备108还可以是非移动计算设备,诸如服务器、服务器群或台式计算机。

此外,为了说明的目的,计算系统100被示出为具有作为网络104的端点的第一设备102、第二设备106和另外的设备108,但是应理解的是,计算系统100可以在第一设备102、第二设备106、另外的设备108以及网络104之间进行不同的划分。例如,第一设备102、第二设备106、另外的设备108或其组合还可以用作网络104的一部分。

网络104可以涵盖和表示多种网络。例如,网络104可以包括无线通信、有线通信、光学、超声波或其组合。卫星通信、蜂窝通信、蓝牙、红外线数据协会标准(IrDA)、无线保真(WiFi)以及全球微波互联接入(WiMAX)是可以包括在通信路径104中的无线通信的示例。以太网、数字用户线路(DSL)、家庭光纤(FTTH)以及普通老式电话服务(POTS)是可以包括在网络104中的有线通信的示例。此外,网络104可以涵盖多种网络拓扑和距离。例如,网络104可以包括直接连接、个人局域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)或其组合。

系统用户110可以包括使用计算系统100的人或主体。系统用户110可以使用计算系统100或计算系统100中的设备,诸如,第一设备102、第二设备106或其组合。

作为更具体的示例,系统用户110可以与第一设备102相关联。系统用户110可以包括与第一设备102直接联系或直接交互的人或主体、具有第一设备102的所有权或控制权的人或主体、与第一设备102直接物理接触的人或主体、通过第一设备102与第二设备106交互或联系的人或主体,或上述人或主体的组合。

另外的用户112可以包括与使用计算系统100或计算系统100中的设备(诸如,第二设备106、另外的设备108或其组合)的系统用户110不同的人或主体。作为更具体的示例,另外的用户112可以包括与另外的设备108直接联系或直接交互人或主体、具有另外的设备108的所有权或控制权人或主体、与另外的设备108直接物理接触人或主体、通过另外的设备108与第二设备106交互或联系的人或主体,或上述人或主体的组合。

计算系统100可以使用一个或多个无监督机制来竖直地绘制建筑或结构的内部的地图、在建筑内定位用户或其组合。计算系统100可以实施一个或多个无监督机制,该无监督机制不使用直接用户输入114、结构化基础信息116或其组合。

直接用户输入114是有关特定目的、过程、特征、对象或其组合的来自用户(诸如,系统用户110或另外的用户112)的激励或输入。直接用户输入112可以包括来自用户的输入或响应,诸如,选择、可听声音、命令、身体移动、设备移动、物理接触或其组合。

结构化基础信息116是在计算系统100外部生成并从另一来源提供到计算系统100的建筑或结构的表示或描述。结构化基础信息116可以包括来自计算系统100以外的另一服务器、另一设备、一个或多个终端用户或其组合的建筑或结构的大小、形状、尺寸或其组合的表示或描述。结构化基础信息116可以包括楼层的数目、楼层之间的竖直距离或间隔、一个或多个楼层的海拔或其组合。

例如,结构化基础信息116可以包括建筑或结构的简图、建筑平面图或楼层平面图、尺寸集或其组合。此外,例如,结构化基础信息116可以包括结构化基础信息116的建筑或结构内的楼层或层的数目、楼层或层的竖直位置、楼层或层之间的间隔距离或间隔程度或其组合。

计算系统100可以使用由第一设备102、另外的设备108或其组合生成、测量、检测、计算的信息或其组合来绘制建筑或结构的内部的地图、在建筑或结构内定位用户或其组合。计算系统100可以在不使用直接用户输入114且不使用结构化基础信息116的情况下使用设备源信息(诸如,传感器数据)来竖直地绘制建筑或结构的地图(诸如,识别或竖直定位楼层或层)、竖直定位建筑或结构内的用户或其组合。有关地图绘制过程、定位过程或其组合的细节在下文中进行讨论。

现在参考图2,其中示出了在计算系统100的显示界面上可视地示出的实施方式的程序的示例。计算系统100可以包括建筑结构202的表示。显示界面可以指示或表示建筑结构202。建筑结构202可以包括存在于地理位置处的建筑或结构。建筑结构202可以包括单层建筑或多层建筑。

建筑结构202可以包括封闭建筑(诸如,包括屋顶和完整的一组墙或窗户)、可以呈现开放结构(诸如,没有屋顶或至少一堵墙的结构)或其组合。例如,建筑结构202可以包括房屋、公寓结构、摩天大楼或办公楼、桥、立交桥、体育场或塔。

建筑结构202可以位于结构地理位置204处。结构地理位置204可以包括地理位置的指示。例如,结构地理位置204可以包括一组坐标(诸如,全球定位系统(GPS)或经纬度系统的坐标)、街道地址、一组相交的街道或路径,或其组合。

计算系统100可以使用无监督的方法、过程、机制或其组合来生成建筑结构202的内部地图206而不使用图1的直接用户输入114且不使用图1的结构化基础信息116。内部地图206是建筑结构202内的定位位置的表示。

内部地图206可以包括三维表示。例如,根据竖直地图绘制,内部地图206可以包括针对相应的一个或多个层的一个或多个层的二维表示。作为更具体的示例,可以根据与层对应的高度或海拔来一次性地生成、显示或处理一个表示。此外,例如,内部地图206可以包括所有层的三维表示,三维表示包括它们在表示内的竖直地图绘制。

内部地图206可以包括表示建筑结构202内的层级210的竖直信息或关系的竖直配置文件208。层级210是与高度或海拔对应的层或楼层。层级210可以包括单层级结构中的一个楼层或多层级建筑中的楼层中的一个。根据竖直配置文件208,内部地图206可以包括层级210中的每个实例的地图绘制或描述,诸如,二维位置信息或水平地图绘制。

竖直配置文件208是建筑结构202的实例的层级210的一个或多个实例的表示。竖直配置文件208可以包括楼层的总数目、一个或多个楼层的标识、一个或多个楼层的竖直信息或其组合。例如,竖直配置文件208可以包括相对层级海拔212、层级间隔配置文件214或其组合。相对层级海拔212、层级间隔配置文件214可以基于来自用户设备的信息(诸如,海拔数据或其他环境数据)进行计算。

相对层级海拔212是描述层级210的相应实例的竖直位置的参数。竖直配置文件208可以包括描述包括在建筑结构202内的层级210的每个实例的竖直位置的相对层级海拔212。相对层级海拔212可以包括描述层级210的相应实例的高度或海拔的参数。相对层级海拔212可以包括与每个层级对应的一组参数、值的范围、阈值或阈值范围,或其组合。相对层级海拔212可以相对于地面层级或出入口海拔。

相对层级海拔212可以基于在一个时间、多个时间、一段时期或其组合的来自图1的第一设备102、图1的另外的设备108的多种数据、测量值、读数或其组合。相对层级海拔212可以基于由计算系统100归一化或进一步处理的高度或海拔的测量值。

层级间隔配置文件214是有关层级之间的相对定位或位置的描述。层级间隔配置文件214可以表示建筑结构202的楼层之间的竖直间隔量。层级间隔配置文件214可以包括相应的层级之间的沿着竖直方向的距离的量度。

内部地图206还可以包括具有层级210的多个实例的建筑结构202的层级变化进出位置216和层级变化类型218。层级变化进出位置216是建筑结构202内的位置的表示,旨在供人们在楼层之间行进时使用。层级变化进出位置216可以包括与层级210的一个实例、层级210的另一实例(诸如,相连的楼层或相邻的楼层)或其组合有关的一个或多个位置。

层级变化类型218是设计成供人们在层级变化进出位置216处在楼层之间行进时使用的机制的表示或描述。层级变化类型218可以包括描述在层之间行进的机制的标签或类别。例如,层级变化类型218可以包括竖直路径220、自动扶梯222、直升电梯224或其组合。

竖直路径220可以包括指定为由图1的系统用户110、图1的另外的用户112或其组合在没有任何机械辅助的情况下行进的路径。竖直路径220可以包括楼梯、梯子、倾斜走道或其组合。直升电梯224可以包括在建筑结构202中的层或楼层之间向上或向下运送人的机器。自动扶梯222可以包括在建筑结构202中的层或楼层之间向上或向下运送人的一组机械移动的楼梯、带或其组合。

计算系统100可以使用层级地图绘制机制226来识别和定位建筑结构202内的层级210的一个或多个实例。层级地图绘制机制226可以包括设计成识别层级210的一个或多个实例、层级210的竖直位置或关系或其组合的过程、方法、指令或函数、电路、上述项目的序列或组合。

层级地图绘制机制226可以使用来自与系统用户110、另外的用户112或其组合对应的计算系统100的第一设备102、另外的设备108或其组合的传感器数据来识别和定位层或层级。层级地图绘制机制226可以使用在一个时间、源自多个时间或其组合的来自一个或多个用户的传感器数据。

层级地图绘制机制226可以为无监督机制。层级地图绘制机制226可以在没有直接用户输入114且没有结构化基础信息116的情况下识别和定位层。有关层级地图绘制机制226的细节在下文进行描述。

传感器数据可以包括描述相应设备的环境或移动的参数或数据。传感器数据可以包括环境测量值228、移动测量值234、设备位置236或其组合。

环境测量值228是来自计算系统100内的设备的有关设备的周围环境的数据或信息。环境测量值228可以是由第一设备102、另外的设备108、其中的部件或电路或其组合所提供或测量的数据或信息。环境测量值228可以描述设备的周围环境,诸如,温度、亮度或其组合。

环境测量值228还可以包括压力测量值230。压力测量值230是由设备周围的气体或液体产生的力的量的描述。压力测量值230可以包括大气压测量值或空气压力的测量值。压力测量值230可以与设备海拔232相关联。

设备海拔232是相应设备相对于参考位置或参考高度的竖直位置或高度。设备海拔232可以相对于海平面或任何其他参考海拔(诸如,大气压测量站的海拔)进行测量或表示。设备海拔232可以使用设备上的压力传感器进行测量。设备海拔232可以包括由采集设备确定且独有的测量或参数。设备海拔232可以取决于测量设备或计算设备的灵敏度或精确度、一天中的某个时间、天气或其组合,或受到以上因素的影响。

设备海拔232可以由采集设备测量、可以针对相应的设备而计算或其组合。例如,设备海拔232可以基于用于三维定位的GPS信号处理、三角测量过程或定位过程或其组合来进行测量或确定。此外,例如,设备海拔232可以根据环境测量值228(诸如,压力测量值230)来计算或得出。

设备海拔232可以使用在用户设备(诸如,第一设备102,另外的设备108或其组合)处所采集或检测的参数来测量、确定、计算、得出或其组合。设备海拔232还可以使用一个或多个设备(诸如,图1的第一设备102、第二设备106、另外的设备108或其组合)来确定、计算、得出或其组合。

移动测量值234是有关设备的物理位移的信息或数据。移动测量值234可以包括第一设备102、另外的设备108或其组合的加速度、速度或速率或其组合。移动测量值234可以基于GPS测量、加速度计、速度计或其组合来产生或测量。

设备位置236是有关设备的地理位置的信息或数据。设备位置236可以包括第一设备102、另外的设备108或其组合的地理位置的表示。设备位置236可以沿着水平面(诸如,在地面上或地图上)定位设备。

例如,设备位置236可以包括坐标、地址、地理标记、相交的一组街道或路径或其组合。此外,例如,设备位置236可以基于GPS系统或程序、航位推测机制、三角测量定位机制或其组合。作为更具体的示例,设备位置236可以在建筑结构202外的地面上定位设备、沿着建筑结构202内的层级210的实例上的二维平面定位设备、或其组合。

计算系统100还可以基于压力测量值230、设备位置236、移动测量值234或其组合来计算设备海拔232。例如,设备海拔232还可以根据设备位置236、使用移动测量值234的航位推测计算或其组合来测量、检测、确定、计算、得出或其组合。

计算系统100还可以识别有关进入或离开建筑结构202的信息。计算系统100可以确定出入事件238、出入口海拔240或其组合。

出入事件238是相应设备进入或离开建筑结构202的情况。出入事件238可以表示第一设备102、另外的设备108或其组合进入或离开建筑结构202。

计算系统100可以基于设备位置236、结构地理位置204或其组合来确定出入事件238。例如,出入事件238可以基于设备位置236与结构地理位置204之间的比较或重叠。此外,例如,出入事件238可以基于信号(诸如,GPS信号或来自特定无线路由器的信号)的状态或可用性。

出入口海拔240是与出入事件238相关的竖直位置或高度。出入口海拔240可以表示建筑结构202的门、进出点、入口、出口或其组合的竖直位置或高度。出入口海拔240可以基于发生出入事件238时的设备海拔232、设备海拔232的进一步处理或归一化或其组合。

传感器数据可以对应于时间戳242。时间戳242可以是与传感器数据对应的时刻的表示或记录。时间戳242可以描述当设备生成或产生传感器数据时的时间。时间戳242可以与传感器数据的相应实例一起存储。

现在参考图3,其中示出了在计算系统100的显示界面上可视地示出的实施方式的程序的示例。计算系统100可以使用竖直定位机制302来相对于图2的建筑结构202内的层级210竖直定位图1的第一设备102、图1的另外的设备108。

竖直定位机制302是相对于建筑结构202内的层级210来识别和定位一个或多个设备的过程、方法、指令或函数、电路、上述项目的序列或组合。竖直定位机制302可以使用来自图1的第一设备102、第二设备106、另外的设备108或其组合的传感器数据。竖直定位机制302可以计算图2的设备海拔232、进一步处理设备海拔232、使用图2的内部地图206或其组合来识别和定位相对于层级的一个或多个设备。

竖直定位机制302可以包括用于计算相对海拔306的相对海拔计算器304。相对海拔306是计算系统100的已归一化的海拔的表示。相对海拔306可以基于对设备海拔232进行归一化来计算。

相对海拔306可以是由相对海拔计算器304执行的归一化过程的输出,以去除设备海拔232的实例中的差异或不一致性。相对海拔306可以基于对由具有不同的精确度等级或灵敏度的设备或部件提供的、不同的测量时间、不同的天气状况或其组合的用户传感器数据、设备海拔232或其组合进行的归一化。

相对海拔306还可以包括相对于参考点的海拔的表示。相对海拔306可以针对或对应于建筑结构202。相对海拔306可以相对于建筑结构202的相应实例的基准面或参考海拔。例如,相对海拔306可以基于图2的出入事件238、图2的出入口海拔240、与其对应的用户传感器数据或其组合。

相对海拔计算器304是在多种因素上对设备海拔232的参数进行归一化的过程、方法、指令或函数、电路、上述项目的序列或组合。相对海拔计算器304可以对用户传感器数据(诸如,图2的环境测量值228、图2的移动测量值234、图2的设备位置236或其组合)进行处理以作为输入。相对海拔计算器304可以进一步处理设备海拔232以作为输入。

可以执行相对海拔计算器304,以计算相对海拔306来作为输出。相对海拔计算器304可以基于对输入参数中差异进行归一化来计算相对海拔306,该差异由不同设备或电路的精确度等级或灵敏度的差异、测量时间的差异、天气状况的差异或其组合而导致。

可以执行相对海拔计算器304,以计算用于相对于建筑结构202内的层级210竖直定位设备、识别并绘制建筑结构202的层级210的地图、或其组合的相对海拔306。可以执行相对海拔计算器304,以计算用于图2的层级地图绘制机制226的相对海拔306。

竖直定位机制302还可以使用相对海拔306来确定用户当前楼层308。用户当前楼层308是图1的系统用户110、图1的另外的用户112或其组合的相应实例所处的层级210的实例的表示或标识。用户当前楼层308可以包括终端用户或相应设备相对于建筑结构202的相应实例的当前竖直位置的表示。

已经发现,相对海拔306提供建筑内层级以及相对于层级定位的精确的鲁棒性标识。相对海拔306允许对在不同的设备、多种时间或天气状况或其组合的条件下所采集的数据进行归一化。归一化可以使得能够使用来自多种来源的数据来识别和定位层级210以及设备相对于层级210的竖直位置,从而增加精确度。相对海拔306还可以用于消除对图1的直接用户输入114和图1的结构化基础信息116的需求,从而增加使用归一化数据的地图绘制或定位过程的鲁棒性,并且进一步增加可用性。有关相对海拔306和相对海拔计算器304的细节在下文进行描述。

计算系统100还可以校准计算系统100中每个设备的测量值。计算系统100可以基于校准位置310和校准事件312来校准第一设备102、另外的设备108或其组合。

校准位置310可以包括与校准设备的测量值(诸如,传感器数据)有关的地理位置。校准位置310可以包括与用于与传感器数据进行比较的已知的或有效的条件值或测量值有关的已知位置。校准位置310可以包括可以在公共或私人网页或服务器上找到的海拔信息的位置。校准位置310可以用于估计设备的大气压传感器中的误差。

例如,校准位置310可以包括气象站、可公开访问的气压计、与公众可获取的网络服务相关的位置或其组合。此外,例如,校准位置310还可以包括具有计算系统100已知的经确认或验证的海拔的地理位置。此外,例如,校准位置310还可以包括大气压测量站。

计算系统100可以使用校准位置310和校准位置310处的条件来归一化设备。计算系统100可以使用校准位置310(而非使用气压指纹地图)作为与用户设备特别相关的数据。

校准事件312可以包括满足启动校准过程的条件的相应设备的出现。校准事件312可以与基于满足校准条件314的校准过程的实现对应。校准条件314是用于启动或实施校准过程的要求。

校准条件314可以包括经受校准过程的设备所要满足的要求。例如,校准条件314可以包括第一设备102、另外的设备108或其组合的值或参数或来自第一设备102、另外的设备108或其组合的值或参数、第一设备102、另外的设备108或其组合的状态或情形或其组合。校准条件314可以用于启动或实施满足校准条件314的第一设备102、另外的设备108或其组合的校准过程。

校准条件314可以基于设备位置236和校准位置。例如,校准条件314可以包括校准位置310与对应于第一设备102、另外的设备108或其组合的设备位置236之间的阈值距离。此外,例如,校准条件314可以包括校准位置310附近的设备位置236的一个或多个特定位置。此外,例如,校准条件314可以包括第一设备102、另外的设备108或其组合的建议路线或估计路线,所述建议路线或估计路线包括相对于设备位置236的预定区域内的一个或多个部分。

校准条件314可以基于相对于校准位置310的阈值距离内的预定区域或区域的海拔。例如,校准条件314可以基于阈值距离内的预定区域或区域,所述预定区域或区域相对于校准位置310具有相同的海拔或在阈值范围内的海拔。

校准条件314还可以基于与类似的环境条件对应的相对于校准位置310的区域或距离。例如,校准条件314可以基于相对于校准位置310受到相同的天气模式的影响、与相同的气压读数有关或其组合的预定区域或阈值距离内的区域。

计算系统100可以使用校准测量值316、参考测量值318或其组合来校准设备或设备的测量值。校准测量值316是来自与校准事件312相关的相应设备的传感器数据的实例。

校准测量值316可以包括来自满足校准条件314的第一设备102、另外的设备108或其组合的环境测量值228(诸如,图2的压力测量值230或设备海拔232)。例如,校准测量值316可以包括在发生校准事件312时或在确定校准事件312之后立即测量的来自第一设备102、另外的设备108或其组合的气压测量值、GPS计算结果、海拔计算结果或其组合。

参考测量值318是与校准位置310对应的已知的或验证的值。参考测量值318可以包括具有与校准测量值316相同的类型的环境测量值或指示。例如,参考测量值318可以包括在发生校准事件312时或在确定校准事件312之后立即检测的校准位置310的气压测量值、GPS坐标、海拔或其组合。

参考测量值318可以包括在校准位置310处、在海平面处或其组合的大气压力值或气压测量值。参考测量值318可以基于公众可获取的信息、直接来自校准位置310的信息或其组合来确定。

计算系统100可以计算用于校准设备的设备调整测量值320。设备调整测量值320是与设备的传感器数据对应的校正参数。设备调整测量值320可以用于校正由满足校准条件314的第一设备102、另外的设备106或其组合采集的压力测量值230、设备海拔232或其组合。

设备调整测量值320可以基于校准测量值316和参考测量值318。例如,设备调整测量值320可基于校准测量值316与参考测量值318之间的差。此外,例如,设备调整测量值320可以基于参考测量值318的平均值、校准测量值316的平均值、校准测量值316与参考测量值318之间的差的平均值或其组合。

设备调整测量值320可以应用到传感器数据以调整传感器数据。设备调整测量值320可以用于校正或调整相应设备或相应设备中的部件的误差、偏移量、灵敏度等级或其组合。

计算系统100还可以基于系统用户110、另外的用户112或其组合、或其相应设备的移动来实施竖直定位机制302、层级地图绘制机制226或其组合。计算系统100可以基于第一设备102、另外的设备108或其组合的用户传感器数据来启动用于竖直定位第一设备102、另外的设备108或其组合的一个或多个过程。计算系统100还可以基于第一设备102、另外的设备108或其组合的用户传感器数据来启动用于绘制层级210的地图的一个或多个过程。

计算系统100可以使用竖直移动集322来启动一个或多个过程。竖直移动集322是与层级之间的竖直转移或跨越对应的传感器数据的模板集或阈值。竖直移动集322可以包括环境测量值228、移动测量值234、设备位置236或其组合的值、范围、模式或模式序列、或其组合。

竖直移动集322可以包括携带第一设备102或另外的设备108且在建筑结构202的层级之间向上移动或向下移动的系统用户110或另外的用户112的数据或数值特征。竖直移动集322可以对应于图2的层级变化类型218。

竖直移动集322可以用于识别或标识层级变化类型218。例如,竖直移动集322可以包括与用户上下楼梯、梯子或其组合对应的路径移动集324、直升电梯移动集326、自动扶梯移动集328或其组合。

路径移动集324可以是与图2的竖直路径220对应的传感器数据的模板集或阈值。直升电梯移动集326可以是与图2的直升电梯224对应的传感器数据的模板集或阈值。自动扶梯移动集328可以是与图2的自动扶梯222对应的传感器数据的模板集或阈值。

此外,例如,竖直移动集322可以基于压力斜率、移动方向相关性、移动能量或其组合。压力斜率是压力测量值230随时间的关系或变化。

移动方向相关性是来自用户设备的加速度计传感器的移动测量值234的方向分量中或方向分量之间的模式或关系。移动方向相关性可以基于移动测量值234的水平分量、移动测量值234的竖直分量或其组合。作为更具体的示例,移动方向相关性可以基于移动测量值234的沿着正交轴(诸如,水平和竖直)的分量的协方差。

移动能量是与设备的移动有关的能量的量。移动能量可以基于相应设备的移动测量值234、坐标或位置的序列或其组合。作为更具体的示例,移动能量可以基于离散快速傅里叶变换(FFT)、移动测量值234随着时间的平方幅度值或设备位置236随着时间的序列,或其组合。

竖直移动集322还可以包括竖直变化触发330。竖直变化触发330是用于开始识别层级之间的竖直转移或跨越的传感器数据的模板集或阈值。竖直变化触发330可以用于识别通常用于层级之间的竖直转移或跨越的开始部分的移动测量值234。

竖直变化触发330可以启动另外的过程、不同的电路、另外的方法或其组合。例如,竖直变化触发330可以开启确定层级变化类型218、层级地图绘制机制226、竖直定位机制302或其组合。此外,例如,竖直变化触发330可以使用一个电路来识别加速度测量值的模式,并且随后使用不同的电路来启动不同的电路或不同的过程。

此外,例如,竖直变化触发330可以开启用于识别或确定竖直移动事件332的过程。竖直移动事件332是设备已经从一个层级竖直移动到另一层级的确定。竖直移动事件332可以在触发之后基于竖直移动集322来确定。触发可以基于识别加速器测量值与竖直变化触发330的匹配。

现在,参考图4,其中示出了计算系统100的示例性框图。计算系统100可以包括第一设备102、网络104和第二设备106。第一设备102可以通过网络104在第一设备传输408中将信息发送到第二设备106。第二设备106可以通过网络104在第二设备传输410中将信息发送到第一设备102。

为了说明的目的,示出了具有第一设备102的计算系统100,其中第一设备102作为客户端设备,但是应理解的是,计算系统100可以具有作为不同类型的设备的第一设备102。例如,第一设备102可以为中继设备。

此外,为了说明的目的,示出了具有第二设备106的计算系统100,其中第二设备106作为移动设备、计算设备、电器或其组合,但是应理解的是,计算系统100可以具有作为不同类型的设备的第二设备106。

为了简洁描述的目的,在本发明的本实施方式中,第一设备102将被描述为客户端设备,并且第二设备106将被描述为移动设备、计算设备、电器、可穿戴设备或其组合。本发明的实施方式不限于这种设备类型的选择。所述选择是本发明的实施方式的示例。

第一设备102可以包括第一控制电路412、第一存储电路414、第一通信电路416、第一用户接口418、第一传感器电路420或其组合。第一控制电路412可以包括第一控制接口422。第一控制电路412可以执行执行第一软件426,以提供用于操作计算系统100的指令。第一控制电路412可以以多种不同的方式实现。

例如,第一控制电路412可以为处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。作为更具体的示例,第一控制电路412可以包括通常配置成执行或实施任何软件或指令的处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件FSM、DSP、或其组合。此外,作为更具体的示例,第一控制电路412可以包括在硬件中特定配置的电路(诸如,硬件FSM、DSP、FPGA、数字逻辑或其组合)以执行或实施一个或多个功能。

第一控制接口422可用于第一控制电路412与第一设备102中的其他功能单元或电路之间的通信。第一控制接口422还可以用于与第一设备102的外部的通信。

第一控制接口422可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是第一设备102外部的源和目的地。

第一控制接口422可以以不同的方式实现,并且可以根据哪种功能单元/电路或外部单元/电路正与第一控制接口422交互而包括不同的实现方式。例如,第一控制接口422可以利用微机电系统(MEMS)、光学电路、波导、无线电路、有线电路或其组合来实现。

例如,第一传感器电路420可以生成有关第一设备102的环境或周围环境、第一设备102的位置或移动或其组合的信息。第一传感器电路420可以以多种方式实现。例如,第一传感器电路420可以包括第一定位电路462、第一加速度计464、第一陀螺仪466、第一压力传感器468或其组合。

例如,第一定位电路462可以生成第一设备102的位置信息、前进方向、速度或其组合。第一定位电路462可以以多种方式实现。例如,第一定位电路462可以用作全球定位系统(GPS)中的至少一部分、诸如磁力计的惯性导航系统、罗盘、频谱分析仪、信标、蜂窝塔定位系统或其任何组合。

第一加速度计464可以包括用于确定或测量第一设备102的速率、速度、速度、与物理位移有关的力或其组合的变化的仪器或部件。第一加速度计464可以产生加速度的程度或大小、前进方向、上述项目的序列或组合。第一加速度计464可以以多种方式实现。例如,第一加速度计464可以包括或使用电子机械电路、压电电路、激光或光学电路、磁性传感器电路、陀螺仪电路、热传感电路或其组合。

第一陀螺仪466可以包括可以包括用于通过保持特定方向而不管第一设备102的定向来确定或识别特定方向的仪器或部件。第一陀螺仪466可以用于确定第一设备102在三维空间中的物理定向。第一陀螺仪466可以以多种方式实现。例如,第一陀螺仪466可以包括MEMS陀螺仪设备或电路、环形激光陀螺仪、光纤陀螺仪、量子陀螺仪、罗盘或其组合。

第一压力传感器468可以包括可以包括用于确定周围的气体或液体在第一设备102上产生的力的量的仪器或部件。第一压力传感器468可以包括用于测量第一设备102上的大气压力的气压计。例如,第一压力传感器468可以包括MEMS气压计、压阻式压力传感电路或其组合。

为了说明的目的,第一传感器电路420已经被描述成具有作为单独的电路或单元的第一定位电路462、第一加速度计464、第一陀螺仪466和第一压力传感器468。然而,第一传感器电路420可以包括组合的电路或单元。例如,第一定位电路462可以包括第一加速度计464、第一陀螺仪466、第一压力传感器468或其组合。此外,例如,第一加速度计464可以包括第一陀螺仪466、第一压力传感器468或其组合。

第一传感器电路420可以包括第一传感器接口432。第一传感器接口432可以用于第一传感器电路420与第一设备102中的其他功能单元或电路之间的通信。第一传感器接口432还可以用于与第一设备102的外部的通信。

第一传感器接口432可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是第一设备102外部的源和目的地。

第一传感器接口432可以根据哪种功能单元/电路或外部单元/电路正与第一传感器电路420交互而包括不同的实现方式。第一传感器接口432可以利用与第一控制接口422的实现方式类似的科技和技术来实现。

第一存储电路414可以存储第一软件426。第一存储电路414还可以存储相关信息,诸如,广告、生物计量信息、兴趣点(POI)、导航路线条目、评论/评级、反馈或其任何组合。

第一存储电路414可以为易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,第一存储电路414可以为诸如非易失性随机存取存储器(NVRAM)、闪速存储器、磁盘存储器的非易失性存储器,或诸如静态随机存取存储器(SRAM)的易失性存储器。

第一存储电路414可以包括第一存储接口424。第一存储接口424可用于第一传感器电路420与第一设备102中的其他功能单元或电路之间的通信。第一存储接口424还可以用于与第一设备102的外部的通信。

第一存储接口424可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是第一设备102外部的源和目的地。

第一存储接口424可以根据哪种功能单元/电路或外部单元/电路正与第一存储电路414交互而包括不同的实现方式。第一存储接口424可以利用与第一控制接口422的实现方式类似的科技和技术来实现。

第一存储接口424、第一控制接口422、第一通信接口428、第一显示接口430、第一传感器接口432或其组合可以访问第一软件426或第一软件426中的一个或多个指令。多种接口可以配置硬件电路以实施或执行加载的指令。

例如,第一控制电路412可以配置成实施或执行通过第一控制接口422和第一存储接口424访问或加载的第一软件426中的指令。此外,例如,第一通信电路416可以根据存储在第一存储单元414中并且通过第一通信接口428、第一存储接口424或其组合访问的配置或设置来以特定方式进行配置或设置。

第一通信电路416可以使第一设备102能够与外部进行互相通信。例如,第一通信电路416可以允许第一设备102与图1的第二设备106、诸如外围设备或笔记本电脑的附接物以及网络104进行通信。

第一通信电路416还可以用作通信集线器,从而允许第一设备102用作网络104的一部分,而不限于作为网络104的端点或终端单元/电路。第一通信电路416可以包括有源部件和无源部件,诸如微电子电路或天线,从而与网络104进行交互。

第一通信电路416可以包括第一通信接口428。第一通信接口428可以用于第一设备102中的第一通信电路416与其他功能单元或电路之间的通信。第一通信接口428可以从另一功能单元/电路接收信息或可以将信息发送到另一功能单元或电路。

第一通信接口428可以根据哪种功能单元或电路正与第一通信电路416交互而包括不同的实现方式。第一通信接口428可以利用与第一控制接口422的实现方式类似的科技和技术来实现。

第一用户接口418允许用户(未示出)与第一设备102交互和互动。第一用户接口418可以包括输入设备和输出设备。第一用户接口418的输入设备的示例可以包括小键盘、触摸板、软键、键盘、传感器、信号发生器、麦克风或其任何组合,以提供数据和通信输入。

第一用户接口418可以包括第一显示接口430。第一显示接口430可以包括显示器、投影仪、显示屏、扬声器或其任何组合。

第一控制电路412可以操作第一用户接口418,以显示由计算系统100产生的信息。第一控制电路412还可以执行用于计算系统100的另一功能(包括从第一传感器电路420接收位置信息)的第一软件426。第一控制电路412还可以执行第一软件426,从而经由第一通信电路416与网络104进行交互。

第一设备102可以包括并使用第一高功率电路452和第一低功率电路454。第一低功率电路454可以包括在相同的持续时间内比第一高功率电路452使用更低的能量或功率量的电路。第一低功率电路454可以实施与第一高功率电路452相同的、类似的或不同的过程、功能、特征或其组合。

例如,第一高功率电路452可以产生与第一低功率电路454相同的或类似的结果,但是具有更高的精确度、更高的复杂性、更快的执行或其组合。此外,例如,第一高功率电路452可以实施除第一低功率电路454之外的其他特征或过程或在第一低功率电路454之后的其他特征或过程。

作为说明性的示例,第一控制电路412被示出为具有第一高功率电路452和第一低功率电路454,其具有诸如不同尺寸的内核或不同的处理器。然而,应理解的是,其他电路或接口(诸如,第一用户接口418、第一通信电路416、第一传感器电路420、第一存储电路414或其组合)可以包括并使用第一高功率电路452和第一低功率电路454。

作为更具体的示例,第一传感器电路420或第一控制单元412可以包括第一低功率电路454,从而周期性地测量或监控第一设备102的加速度或位置。第一高功率电路454还可以测量或监控其他类型的传感器数据、用更高精确度或频率测量或监控加速度或位置、测量或监控其他后续过程或其组合。第一高功率电路454可以基于来自第一低功率电路452的结果而触发或启动。

此外,例如,第一设备102被示出为具有第一高功率电路452和第一低功率电路454。然而,应理解的是,第二设备106还可以包括与第一高功率电路452和第一低功率电路454类似的第二高功率电路和第二低功率电路(为了简洁的目的,两者均未示出)。

第二设备106可以被优化以用于与第一设备102一起在多个设备实施方式中实现多种实施方式。与第一设备102相比,第二设备106可以提供额外的或更高的性能处理能力。第二设备106可以包括第二控制电路434、第二通信电路436和第二用户接口438。

第二用户接口438允许用户与第二设备106交互和互动。第二用户接口438可以包括输入设备和输出设备。第二用户接口438的输入设备的示例可以包括小键盘、触摸板、软键、键盘、麦克风或其任何组合,以提供数据和通信输入。第二用户接口438的输出设备的示例可以包括第二显示接口440。第二显示接口440可以包括显示器、投影仪、显示屏、扬声器或其任何组合。

第二控制电路434可以执行第二软件442,以提供计算系统100的第二设备106的智能。第二软件442可以结合第一软件426进行操作。与第一控制电路412相比,第二控制电路434可以提供额外的性能。

第二控制电路434可以操作第二用户接口438以显示信息。第二控制电路434还可以执行用于计算系统100的另一功能(包括操作第二通信电路436以通过网络104与第一设备102进行通信)的第二软件442。

第二控制电路434可以以多种不同的方式实现。例如,第二控制电路434可以为处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。作为更具体的示例,第二控制电路434可以包括通常配置成执行或实施任何软件或指令的处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件FSM、DSP或其组合。此外,作为更具体的示例,第二控制电路434可以包括在硬件中特定配置的电路(诸如,硬件FSM、DSP、FPGA、数字逻辑或其组合)以执行或实施一个或多个功能。

第二控制电路434可以包括第二控制接口444。第二控制接口444可以用于第二控制电路434与第二设备106中的其他功能单元或电路之间的通信。第二控制接口444还可以用于与第二设备106的外部的通信。

第二控制接口444可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是第二设备106外部的源和目的地。

第二控制接口444可以以不同的方式实现,并且可以根据哪种功能单元/电路或外部单元/电路正与第二控制接口444交互而包括不同的实现方式。例如,第二控制接口444可以利用压力传感器、惯性传感器、微机电系统(MEMS)、光学电路、波导、无线电路、有线电路或其组合来实现。

第二存储电路446可以存储第二软件442。第二存储电路446还可以存储相关信息,诸如,广告、生物计量信息、兴趣点(POI)、导航路线条目、评论/评级、反馈或其任何组合。第二存储电路446的大小可以设置为提供额外的存储容量,从而补充第一存储电路414。

为了说明的目的,第二存储电路446被示出为单个元件,但是应理解的是,第二存储电路446可以是存储元件的分布。此外,为了说明的目的,示出了具有第二存储电路446的计算系统100,其中,第二存储电路446作为单层次存储系统,但是应理解的是,计算系统100可以包括具有不同的配置的第二存储电路446。例如,第二存储电路446可以利用不同的存储技术形成,从而形成包括不同级别的缓存、主存储器、旋转介质或离线存储的存储层次系统。

第二存储电路446可以为易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,第二存储电路446可以为诸如非易失性随机存取存储器(NVRAM)、闪速存储器、磁盘存储器的非易失性存储器,或诸如静态随机存取存储器(SRAM)的易失性存储器。

第二存储电路446可以包括第二存储接口448。第二存储接口448可以用于第一传感器电路420与第二设备106中的其他功能单元或电路之间的通信。第二存储接口448还可以用于与第二设备106的外部的通信。

第二存储接口448可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是第二设备106外部的源和目的地。

第二存储接口448可以根据哪种功能单元/电路或外部单元/电路正与第二存储电路446交互而包括不同的实现方式。第二存储接口448可以利用与第二控制接口444的实现方式类似的科技和技术来实现。

第二存储接口448、第二控制接口444、第二通信接口450、第二显示接口440或其组合可以访问第二软件442或第二软件442中的一个或多个指令。多种接口可以配置硬件电路以实施或执行加载的指令。

例如,第二控制电路434可以配置成实施或执行通过第二控制接口444和第二存储接口448访问或加载的第二软件442中的指令。此外,例如,第二通信电路436可以根据存储在第二存储单元446中并且通过第二通信接口436、第二存储接口448或其组合访问的配置或设置来以特定方式进行配置或设置。

第二通信电路436可以使第二设备106能够与外部进行互相通信。例如,第二通信电路436可以允许第二设备106通过网络104与第一设备102进行通信。

第二通信电路436还可以用作通信集线器,从而允许第二设备106用作网络104的一部分,而不限于作为网络104的端点或终端单元/电路。第二通信电路436可以包括有源部件和无源部件,诸如微电子电路或天线,从而与网络104进行交互。

第二通信电路436可以包括第二通信接口450。第二通信接口450可以用于第二通信电路436与第二设备106中的其他功能单元或电路之间的通信。第二通信接口450可以从另一功能单元/电路接收信息或可以将信息发送到另一功能单元或电路。

第二通信接口450可以根据哪种功能单元或电路正与第二通信电路436交互而包括不同的实现方式。第二通信接口450可以利用与第二控制接口444的实现方式类似的科技和技术来实现。

第一通信电路416可以与网络104联接以在第一设备传输408中将信息发送到第二设备106。第二设备106可以在第二通信电路436中接收来自网络104的第一设备传输408的信息。

第二通信电路436可以与网络104联接以在第二设备传输410中将信息发送到第一设备102。第一设备102可以在第一通信电路416中接收来自网络104的第二设备传输410的信息。计算系统100可以通过第一控制电路412、第二控制电路434或其组合来执行。

为了说明的目的,第二设备106被示出为具有包括第二用户接口438、第二存储电路446、第二控制电路434、第二通信电路436的分区,但是将理解的是,第二设备106可以具有不同的分区。例如,第二软件442可以被不同地划分,使得其功能中的一些或全部可以在第二控制电路434和第二通信电路436中。此外,第二设备106可以包括为了清楚的目的而未在图4中示出的其他功能单元或电路。

第一设备102中的功能单元或电路可以单独且独立于其他功能单元或电路来工作。第一设备102可以单独且独立于第二设备106和网络104来工作。

第二设备106中的功能单元或电路可以单独且独立于其他功能单元或电路来工作。第二设备106可以单独且独立于第一设备102和网络104来工作。

为了说明的目的,计算系统100通过第一设备102和第二设备106的操作来描述。应理解的是,第一设备102和第二设备106可以操作计算系统100中的任何电路和功能。例如,第一设备102被描述成操作第一传感器电路420,但是应理解的是,第二设备106也可以操作第一传感器电路420。

现在参考图5,其中示出了计算系统100的另一示例性框图。除了图4的第一设备102和第二设备106之外,计算系统100还可以包括另外的设备108。第一设备102可以通过网络104在第一设备传输408中将信息发送到另外的设备108。另外的设备108可以通过网络104在第三设备传输510中将信息发送到第一设备102、第二设备106或其组合。

为了说明的目的,示出了具有另外的设备108的计算系统100,其中另外的设备108作为客户端设备,但是应理解的是,计算系统100可以具有作为不同类型的设备的另外的设备108。例如,另外的设备108可以为服务器。

此外,为了说明的目的,示出了具有与另外的设备108进行通信的第一设备102的计算系统100。然而,应理解的是,第二设备106或其组合还可以以类似于第一设备102与第二设备106之间的通信方式与另外的设备108进行通信。

为了简洁说明的目的,在本发明的本实施方式中,另外的设备108将被描述为客户端设备。本发明的实施方式不限于此类型的设备。所述选择为本发明的实施方式的示例。

另外的设备108可以被优化,从而与第一设备102一起在多个设备实施方式或多个用户实施方式中实施本发明的实施方式。与第一设备102、第二设备106或其组合相比,另外的设备108可以提供额外的功能或特定的功能。另外的设备108还可以是由不同于第一设备102的用户的另外的用户所拥有或使用的设备。

另外的设备108可以包括第三控制电路512、第三存储电路514、第三通信电路516、第三用户接口518、第三传感器电路520或其组合。第三控制电路512可以包括第三控制接口522。第三控制电路512可以执行执行第三软件526,以提供用于操作计算系统100的指令。

第三控制电路512可以以多种不同的方式实现。例如,第三控制电路512可以为处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。作为更具体的示例,第三控制电路512可以包括通常配置成执行或实施任何软件或指令的处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件FSM、DSP、或其组合。此外,作为更具体的示例,第三控制电路512可以包括在硬件中特定配置的电路(诸如,硬件FSM、DSP、FPGA、数字逻辑或其组合)以执行或实施一个或多个功能。

第三控制接口522可以用于第三控制电路512与另外的设备108中的其他功能单元或电路之间的通信。第三控制接口522还可以用于与另外的设备108的外部的通信。

第三控制接口522可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是另外的设备108外部的源和目的地。

第三控制接口522可以以不同的方式实现,并且可以根据哪种功能单元/电路或外部单元/电路正与第三控制接口522交互而包括不同的实现方式。例如,第三控制接口522可以利用微机电系统(MEMS)、光学电路、波导、无线电路、有线电路或其组合实现。

第三存储电路514可以存储第三软件526。第三存储电路514还可以存储相关信息,诸如,表示传入图像的数据、表示先前呈现的图像的数据、声音文件或其组合。

第三存储电路514可以为易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,第三存储电路514可以为诸如非易失性随机存取存储器(NVRAM)、闪速存储器、磁盘存储器的非易失性存储器,或诸如静态随机存取存储器(SRAM)的易失性存储器。此外,例如,第三存储电路514可以为存储元件的分布、包括不同级别的缓存、主存储器、旋转介质或离线存储的多层次存储系统或其组合。

第三存储电路514可以包括第三存储接口524。第三存储接口524可以用于第三存储电路514与另外的设备108中的其他功能单元或电路之间的通信。第三存储接口524还可以用于与另外的设备108的外部的通信。

第三存储接口524可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是另外的设备108外部的源和目的地。

第三存储接口524可以根据哪种功能单元/电路或外部单元/电路正与第三存储电路514交互而包括不同的实现方式。第三存储接口524可以利用与第三控制接口522的实现方式类似的科技和技术来实现。

第三存储接口524、第三控制接口522、第三通信接口528、第三显示接口530、第三传感器接口532或其组合可以访问第三软件526或第三软件526中的一个或多个指令。多种接口可以配置硬件电路以实施或执行加载的指令。

例如,第三控制电路512可以配置成实施或执行通过第三控制接口522和第三存储接口524访问或加载的第三软件526中的指令。此外,例如,第三通信电路516可以根据存储在第三存储单元514中并且通过第三通信接口528、第三存储接口524或其组合访问的配置或设置来以特定方式进行配置或设置。

第三通信电路516可以使另外的设备108能够与外部进行互相通信。例如,所述第三通信电路516可以允许另外的设备108与第二设备106、第一设备102、不同的设备、诸如外围设备或台式计算机的附接物、网络104或其组合进行通信。

第三通信电路516还可以用作通信集线器,从而允许另外的设备108用作网络104的一部分,而不限于作为网络104的端点或终端单元/电路。第三通信电路516可以包括有源部件和无源部件,诸如微电子电路或天线,从而与网络104进行交互。

第三通信电路516可以包括用于通信信号的发送、格式化、接收、检测、解码、进一步处理或其组合的基带设备或部件、调制解调器、数字信号处理器或其组合。第三通信电路516可以包括用于处理电压、电流、数字信息或其组合的一个或多个部分,诸如,模数转换器、数模转换器、滤波器、放大器、处理器类型电路或其组合。第三通信电路516还可以包括用于存储信息的一个或多个部分,诸如,缓存或RAM存储器、寄存器或其组合。

第三通信电路516可以包括第三通信接口528。第三通信接口528可以用于第三通信电路516与另外的设备108中的其他功能单元或电路之间的通信。第三通信接口528可以从另一功能单元/电路接收信息或可以将信息发送到另一功能单元或电路。

第三通信接口528可以根据哪种功能单元或电路正与第三通信电路516交互而包括不同的实现方式。第三通信接口528可以利用与第三控制接口522的实现方式类似的科技和技术来实现。

第三用户接口518允许用户(未示出)与另外的设备108交互和互动。第三用户接口518可以包括输入设备和输出设备。第三用户接口518的输入设备的示例可以包括小键盘、触摸板、软键、键盘、麦克风、用于接收远程信号的红外传感器或其任何组合,以提供数据和通信输入。

第三用户接口518可以包括第三显示接口530。第三显示接口530可以包括输出设备。第三显示接口530可以包括显示器、投影仪、显示屏、扬声器或其任何组合。

第三控制电路512可以操作第三用户接口518,以显示由计算系统100产生的信息。第三控制电路512还可以执行用于计算系统100的另一功能(包括从第三传感器电路520接收位置信息)的第三软件526。第三控制电路512还可以执行第三软件526,从而经由第三通信电路516与网络104进行交互。

例如,第三传感器电路520可以生成有关另外的设备108的环境或周围环境、另外的设备108的位置或移动或其组合的信息。第三传感器电路520可以以多种方式实现。例如,第三传感器电路520可以包括第三定位电路562、第三加速度计564、第三陀螺仪566、第三压力传感器568或其组合。

例如,第三定位电路562可以生成第三设备108的位置信息、前进方向、速度或其组合。第三定位电路562可以以多种方式实现。例如,第三定位电路562可以用作全球定位系统(GPS)中的至少一部分、诸如磁力计的惯性导航系统、罗盘、频谱分析仪、信标、蜂窝塔定位系统或其任何组合。

第三加速度计564可以包括用于确定或测量第三设备108的速率、速度、速度、与物理位移有关的力或其组合的变化的仪器或部件。第三加速度计564可以产生加速度的程度或大小、前进方向、上述项目的序列或组合。第三加速度计564可以以多种方式实现。例如,第三加速度计564可以包括或使用电子机械电路、压电电路、激光或光学电路、磁性传感器电路、陀螺仪电路、热传感电路或其组合。

第三陀螺仪566可以包括可以包括用于通过保持特定方向而不管第三设备108的定向来确定或识别特定方向的仪器或部件。第三陀螺仪566可以用于确定第三设备108在三维空间中的物理定向。第三陀螺仪566可以以多种方式实现。例如,第三陀螺仪566可以包括MEMS陀螺仪设备或电路、环形激光陀螺仪、光纤陀螺仪、量子陀螺仪、罗盘或其组合。

第三压力传感器568可以包括可以包括用于确定周围的气体或液体在第三设备108上产生的力的量的仪器或部件。第三压力传感器568可以包括用于测量第三设备108上的大气压力的气压计。例如,第三压力传感器568可以包括MEMS气压计、压阻式压力传感电路或其组合。

为了说明的目的,第三传感器电路520已经被描述为具有作为独立电路或单元的第三定位电路562、第三加速度计564、第三陀螺仪566和第三压力传感器568。然而,第三传感器电路520可以包括组合的电路或单元。例如,第三定位电路562可以包括第三加速度计564、第三陀螺仪566、第三压力传感器568或其组合。此外,例如,第三加速度计564可以包括第三陀螺仪566、第三压力传感器568或其组合。

第三传感器电路520可以包括第三传感器接口532。第三传感器接口532可以用于第三传感器电路520与另外的设备108中的其他功能单元或电路之间的通信。第三传感器接口532还可以用于与另外的设备108的外部的通信。

第三传感器接口532可以从另一功能单元/电路或从外部源接收信息,或可以将信息发送到另一功能单元/电路或外部目的地。外部源和外部目的地指的是另外的设备108外部的源和目的地。

第三传感器接口532可以根据哪种功能单元/电路或外部单元/电路正与第三定位电路520交互而包括不同的实现方式。第三传感器接口532可以利用与第三控制电路512的实现方式类似的科技和技术来实现。

另外的设备108可以包括并使用第三高功率电路552和第三低功率电路554。第三低功率电路554可以包括在相同的持续时间内比第三高功率电路552使用更低的能量或功率量的电路。第三低功率电路554可以实施与第三高功率电路552相同的、类似的或不同的过程、功能、特征或其组合。

例如,第三高功率电路552可以产生与第三低功率电路554相同的或类似的结果,但是具有更高的精确度、更高的复杂性、更快的执行或其组合。此外,例如,第三高功率电路552可以实施除第三低功率电路554之外的其他特征或过程或在第三低功率电路554之后的其他特征或过程。

作为说明性的示例,第三控制电路512被示出为具有第三高功率电路552和第三低功率电路554,其具有诸如不同尺寸的内核或不同的处理器。然而,应理解的是,其他电路或接口(诸如,第三用户接口518、第三通信电路516、第三传感器电路520、第三存储电路514或其组合)可以包括并使用第三高功率电路552和第三低功率电路554。

作为更具体的示例,第三传感器电路520或第三控制单元512可以包括第三低功率电路554,从而周期性地测量或监控另外的设备108的加速度或位置。第三高功率电路554还可以测量或监控其他类型的传感器数据、用更高精确度或频率测量或监控加速度或位置、测量或监控其他后续过程或其组合。第三高功率电路554可以基于来自第三低功率电路552的结果而触发或启动。

此外,为了说明的目的,另外的设备108被示出为具有包括第三用户接口518、第三存储电路514、第三控制电路512和第三通信电路516的分区,但是将理解的是,另外的设备108可以具有不同的分区。例如,第三软件526可以被不同地划分,使得其功能中的一些或全部可以在第三控制电路512和第三通信电路516中。此外,另外的设备108可以包括为了清楚的目的而未在图5中示出的其他功能单元或电路。

另外的设备108中的功能单元或电路可以单独且独立于其他功能单元或电路来工作。另外的设备108可以单独且独立于第一设备102、第二设备106和网络104来工作。

为了说明的目的,计算系统100通过第一设备102和另外的设备108的操作来描述。应理解的是,第一设备102、第二设备106和另外的设备108可以操作计算系统100中的任何电路和功能。

现在,参考图6,其中示出了计算系统100的示例性系统架构。计算系统100可以包括数据采集模块602、出入模块604、相对海拔模块606、动态校准模块608、楼层定位模块610、分类模块612、地图模块614或其组合。

根据术语所涉及的上下文,本文中涉及的术语“模块”可以包括或实施为本发明中的软件、硬件或其组合。例如,软件可以是或包括机器代码、固件、嵌入代码和应用软件。软件还可以包括函数、对函数的调用、代码块或其组合。此外,例如,硬件可以是或包括门、电路、处理器、计算机、集成电路、集成电路内核、压力传感器、惯性传感器、微机电系统(MEMS)、无源器件、具有用于执行软件功能、软件功能中的一部分或其组合的指令的物理非暂时性存储介质,以控制一个或多个硬件单元或硬件电路。

作为更具体的示例,一个或多个模块可以包括图4或图5中的一个或多个电路、图4的第一软件426、图4的第二软件442、图5的第三软件526、以上项目中的一部分或其组合,或用图4或图5中的一个或多个电路、图4的第一软件426、图4的第二软件442、图5的第三软件526、以上项目中的一部分或其组合来实现。模块可以用图1的第一设备102、图1的第二设备106、图1的另外的设备108或其组合来实现。

一个或多个模块可以直接地或间接地彼此联接。例如,模块可以通过具有输入、输出、触发器、函数调用中的一个或多个、或连接到输入、输出、触发器、函数调用的一个模块的组合、或通过另外的模块或结构的另一模块的组合来间接地彼此联接。

此外,例如,模块可以通过具有输入、输出、触发器、函数调用中的一个或多个、或在没有中间模块或结构的情况下直接地连接到输入、输出、触发器、函数调用的一个模块的组合、或另一相应模块的组合来彼此直接地联接。作为更具体的示例,模块可以使用导体、无线连接、函数调用、寄存器、标志、程序计数器序列或其组合来直接地联接。

数据采集模块602配置成收集传感器数据。数据采集模块602可以确定或识别第一设备102、另外的设备108或其组合的图2的环境测量值228、图2的移动测量值234、图2的设备位置236或其组合。

数据采集模块602可以使用图4的第一传感器电路420、图5的第二传感器电路520或其组合来确定或识别传感器数据。例如,数据采集模块602可以使用图4的第一定位电路462、图5的第三定位电路562或其组合来确定图2的设备位置236、设备海拔232或其组合。

此外,例如,数据采集模块602可以使用图4的第一加速度计464、图5的第三加速度计564、第一定位电路462、第三定位电路562或其组合来确定移动测量值234。此外,例如,数据采集模块602可以使用图4的第一控制电路412、图4的第二控制电路434、图5的第三控制电路512或其组合来处理移动测量值234,以实施航位推测过程并确定或计算设备位置236、设备海拔232或其组合。

此外,例如,数据采集模块602可以使用图4的第一陀螺仪466图5的第二陀螺仪566或其组合来确定第一设备102、另外的设备108或其组合的定向,并将移动测量值234或其中的分量调整或映射到诸如竖直或水平的参考方向或其组合。此外,例如,数据采集模块602可以使用图4的第一压力传感器468、图5的第三压力传感器568或其组合来确定图2的压力测量值230。

此外,例如,数据采集模块602可以使用图4的第一低功率电路454、图4的第一高功率电路452、图5的第三低功率电路554、图2的第三高功率电路552或其组合来确定或处理传感器数据。数据采集模块602可以使用一个或多个低功率电路来触发或启动一个或多个高功率电路。

数据采集模块602可以使用图4的第一通信电路416、图4的第二通信电路436、图5的第三通信电路516或其组合来在第一设备102、第二设备106、另外的设备108或其组合之间传送传感器数据。数据采集模块602还可以将传感器数据存储在图4的第一存储电路414、图4的第二存储电路446、图5的第三存储电路514或其组合中。

出入模块604配置成确定图2的出入事件238。出入模块604可以使用第一控制电路412、第二控制电路434、第三控制电路512或其组合来确定出入事件238,识别图2的结构地理位置204或其组合。

出入模块604可以使用第一存储电路414、第二存储电路446、第三存储电路514或其组合来存储或访问出入事件238、结构地理位置204或其组合。出入模块604可以使用第一通信电路416、第二通信电路436、第三通信电路516或其组合来在设备之间传送出入事件238、结构地理位置204或其组合。

出入模块604可以基于图2的设备位置236、结构地理位置204或其组合来确定出入事件238。有关确定出入事件238的细节在下文进行描述。

相对海拔模块606配置成计算图3的相对海拔306。相对海拔模块606可以使用第一控制电路412、第二控制电路434、第三控制电路512或其组合来计算相对海拔306并处理其他中间信息或相关信息。

相对海拔模块606可以使用第一存储电路414、第二存储电路446、第三存储电路514或其组合来存储或访问相对海拔306和其他中间信息或相关信息。相对海拔模块606可以使用第一通信电路416、第二通信电路436、第三通信电路516或其组合来在设备之间传送相对海拔306或其他中间信息或相关信息。

相对海拔模块606可以包括参考高度模块616、设备测量模块618、参考测量模块618或其组合。参考高度模块616配置成确定图2的出入口海拔240。参考测量模块618配置成确定图3的参考测量值318。

设备测量模块618配置成确定相应用户设备(诸如,第一设备102或另外的设备108)的传感器数据。设备测量模块618可以与数据采集模块602一起协作、控制、查询或其组合,以确定来自相应用户设备的传感器数据。

相对海拔模块606可以基于传感器数据、参考测量值318、图3的设备调整测量值320、出入口海拔240、图3的竖直变化触发330、图3的竖直移动事件332或其组合来计算相对海拔306。相对海拔模块606还可以基于计算压力斜率622、移动相关性624、移动能量626或其组合来计算相对海拔306。

如上所述,压力斜率622是压力测量值230随着时间的变化或关系。如上所述,移动相关性624是移动测量值234的方向分量之间或方向分量中的模式或关系。如上所述,移动能量626是与设备的移动有关的能量的量。有关计算相对海拔306的细节在下文进行描述。

动态校准模块608配置成校准相应的用户设备,诸如,第一设备102、另外的设备108或其组合。动态校准模块608可以基于计算第一设备102、另外的设备108或其组合的设备调整测量值320来进行校准。

动态校准模块608可以使用第一控制电路412、第二控制电路434、第三控制电路512或其组合来校准。动态校准模块608可以使用第一存储电路414、第二存储电路446、第三存储电路514或其组合来存储或访问多种参数和设备调整测量值320。相对海拔模块606可以使用第一通信电路416、第二通信电路436、第三通信电路516或其组合来在设备之间传送多种参数或设备调整测量值320。

动态校准模块608还可以确定图3的校准事件312以及图3的校准位置310的相应实例以进行校准过程。动态校准模块608可以包括外界因素模块630、设备因素模块632或其组合。

外界因素模块630配置成确定来自校准位置310的相应实例的参考测量值318。设备因素模块632配置成确定与校准事件312对应的图3的校准测量值316。设备因素模块632可以与数据采集模块602一起协作、控制、查询或其组合,以确定来自相应用户设备的用于校准测量值316的传感器数据。

动态校准模块608可以基于校准测量值316和参考测量值318来计算设备调整测量值320。有关计算设备调整测量值320的细节在下文进行描述。

楼层定位模块610配置成相对于图2的建筑结构202的图2的层级210来竖直地定位用户设备。楼层定位模块610可以基于确定与建筑结构202内的第一设备102、另外的设备108或其组合对应的图3的用户当前楼层308来竖直地定位建筑结构202内的第一设备102、另外的设备108或其组合。楼层定位模块610可以使用无监督机制(诸如,图3的竖直定位机制302)来竖直地定位。

楼层定位模块610可以生成图2的内部地图206。楼层定位模块610还可以基于建筑结构202的图2的内部地图206、建筑结构202的图2的竖直配置文件208或其组合来确定用户当前楼层308。楼层定位模块610还可以包括测量适应模块634、高度估计模块636或其组合。

测量适应模块634配置成对第一设备102、另外的设备108或其组合的传感器数据进行归一化。归一化可以考虑基于天气条件或受天气条件影响的传感器数据的变化。

高度估计模块636配置成使用归一化后的测量值来确定用户当前楼层308。有关确定用户当前楼层308的细节在下文进行讨论。

分类模块612配置成识别建筑结构202内的层级之间的连接机制。分类模块612可以确定图2的层级变化进出位置216、图2的层级变化类型218或其组合。分类模块612可以包括传感器融合模块638、转移类型模块640或其组合。

传感器融合模块638配置成处理传感器数据。传感器融合模块638可以处理图2的环境测量值228、图2的移动测量值234、设备位置236或其组合。

例如,传感器融合模块638可以结合来自一个或多个加速度计电路、一个或多个陀螺仪、一个或多个压力传感器、一个或多个位置传感器电路或其组合的传感器数据。作为更具体的示例,传感器融合模块638可以使用来自一个电路的读数以触发或启动另一电路、将测量值定向或映射到参考位置或其组合。

转移类型模块640配置成确定层级变化进出位置216、层级变化类型218或其组合。转移类型模块640可以基于确定图3的竖直移动事件332来确定层级变化进出位置216、层级变化类型218或其组合。

转移类型模块640还可以基于传感器数据、图3的竖直移动集322、压力斜率622、移动相关性624、移动能量626或其组合来确定层级变化进出位置216层级变化类型218或其组合。有关确定层级变化进出位置216、层级变化类型218或其组合的细节在下文进行描述。

地图模块614配置成绘制建筑结构的内部的地图。地图模块614可以沿着竖直方向绘制内部的地图。地图模块614可以通过产生建筑结构202的内部地图206、建筑结构202的竖直配置文件208或其组合来进行地图绘制。

地图模块614可以使用无监督机制(诸如,图2的层级地图绘制机制226)来进行地图绘制。地图模块614可以使用传感器数据、相对海拔306或其组合来产生内部地图206、竖直配置文件208或其组合。地图模块614可以包括环境参考模块642、聚类模块644、海拔绘制模块646或其组合。

环境参考模块642配置成确定参考测量值318。环境参考模块642可以确定参考测量值318,从而调整或归一化传感器数据。例如,环境参考模块642可以确定校准位置310处的参考测量值318。

此外,例如,环境参考模块642可以确定包括海平面海拔648、海平面压力650或其组合的参考测量值318。海平面海拔648可以包括海平面处的参考高度。海平面压力650可以包括海平面处的气压读数。

聚类模块644配置成确定一组或多组数据。聚类模块644可以确定相对竖直聚类652。相对竖直聚类652是对与建筑结构202内的用户设备对应的竖直读数的分组。相对竖直聚类652可以针对建筑结构202的每个地点或每个实例进行组织。建筑结构202的地点或每个实例可以根据地理位置输入而被识别为聚类。

相对竖直聚类652可以包括传感器数据的已归一化实例的一个或多个分组。例如,相对竖直聚类652可以包括压力测量值230、设备海拔232、与传感器数据对应的参考测量值318、相对海拔306或其组合的分组。

聚类模块644可以以多种方式确定相对竖直聚类652。例如,聚类模块644可以包括用于确定相对竖直聚类652的数据量、数据方差、数据模式或其组合的阈值、范围或其组合。此外,例如,聚类模块644可以使用机器学习机制、模式分析机制、统计分析机制或其组合来确定相对竖直聚类652。作为更具体的示例,聚类模块644使用DBScan聚类或核密度估计聚类来基于相似性进行聚类。

海拔绘制模块646配置成竖直地定位建筑结构202内的层级210的一个或多个实例。海拔绘制模块646可以竖直地定位以产生内部地图206、竖直配置文件208或其组合。海拔绘制模块646可以使用相对竖直聚类652进行竖直地定位。

有关包括地图模块614的多种模块的功能、操作、过程、方法或组合的细节在下文进行讨论。此外,有关功能、操作、过程、方法或组合的次序、顺序、交互或其组合的细节在下文进行讨论。

现在,参考图7,其中示出了用于表示操作图1的计算系统100的示例性流程图700。计算系统100可以使用以上描述的且在图4或图5中示出的用户接口、通信电路、控制电路、传感器电路、存储电路或其组合中的一个或多个来实施以下描述的一个或多个功能、指令、步骤或其组合。

例如,计算系统100可以使用图4的第一用户接口418、图4的第二用户接口438、图5的第三用户接口518、图4的第一通信电路416、图4的第二通信电路436、图5的第三通信电路516、图4的第一控制电路412、图4的第二控制电路434、图5的第三控制电路512、图4的第一传感器电路420、图5的第三传感器电路520、图4的第一存储单元414、图4的第二存储单元446、图5的第三存储单元514或其组合来实施图4的第一软件426、图4的第二软件442、图5的第三软件526或其组合。第一软件426、第二软件442、第三软件526或其组合可以包括以下描述的功能、指令、步骤或其组合。

计算系统100可以包括用于在步骤702中跟踪外部移动、在步骤704中计算进入或离开高度、在步骤706中跟踪内部移动、在步骤708中生成地图、在步骤710中竖直地定位用户或其组合的功能、指令、步骤或其组合。计算系统100可以使用功能、指令、步骤或其组合来绘制图2的建筑结构202的一个或多个实例的内部的地图、竖直地绘制建筑结构202的内部的地图、相对于建筑结构202内的图2的层级210的特定实例来定位图1的系统用户110或图1的另外的用户112、或其组合。

如步骤702中所示,计算系统100可以跟踪系统用户110、另外的用户112或其组合的外部移动。计算系统100可以基于确定与系统用户110、另外的用户112或其组合对应的图1的第一设备102、图1的另外的设备108或其组合的图2的设备位置236来跟踪外部移动。

计算系统100可以确定用于在建筑结构202外定位第一设备102、另外的设备108或其组合的设备位置236。计算系统100可以使用或实施图6的数据采集模块602来确定设备位置236。

计算系统100可以使用一个或多个传感器电路、一个或多个通信电路、一个或多个控制电路或其组合来确定设备位置236。例如,设备位置236可以基于由一个或多个传感器电路确定的GPS坐标或经纬度坐标。设备位置236可以使用一个或多个通信电路在图1的第一设备102、第二设备106、另外的设备108或其组合之间进行传送。

此外,例如,设备位置236可以基于使用加速度数据实施航位推测过程,加速度数据来自一个或多个包括加速度计的传感器电路。计算系统100可以使用一个或多个控制电路来实施或执行航位推测过程。计算系统100可以将设备位置236确定为航位推测过程的输出。

此外,例如,设备位置236可以基于使用所接收的无线信号实施三角测量过程。计算系统100可以使用一个或多个通信电路来(诸如,从蜂窝塔或无线路由器)接收信号。通信系统100可以使用一个或多个通信电路、一个或多个控制电路或其组合来使用发送者信息、接收时间或其组合来处理多个信号,从而定位接收设备。接收设备的位置可以被确定为设备位置236。

计算系统100可以基于跟踪外部移动来实施附加的过程。例如,计算系统100可以在步骤712中校准设备。计算系统100可以使用或实施图6的动态校准模块608来校准设备。

计算系统100可以基于识别图3的校准位置310、收集必要的数据并计算图3的设备调整测量值320以基于确定图3的校准事件312来校准设备。有关在步骤712中校准设备的细节在下文进行描述。

此外,例如,计算系统100可以实施附加的过程,包括在步骤714中确定系统用户110、另外的用户112或其组合进入到建筑结构202中。计算系统100可以基于设备位置236来确定图2的出入事件238。计算系统100可以使用或实施图6的出入模块604来确定出入事件238。

作为更具体的示例,计算系统100可以基于使用一个或多个控制电路来比较设备位置236和图2的结构地理位置204从而确定出入事件238。当设备位置236移动到结构地理位置204中或与结构地理位置204重叠时,计算系统100可以确定表示进入到建筑结构202中的出入事件238。当设备位置236从结构地理位置204移出或不与结构地理位置204重叠时,计算系统100可以确定表示离开建筑结构202的出入事件238。

此外,作为更具体的示例,计算系统100可以基于信号(诸如,GPS信号或来自特定无线路由器的信号)的状态或可用性来确定出入事件238。计算系统100可以使用一个或多个通信电路、一个或多个控制电路或其组合来确定GPS信号的可用性、来自无线路由器的信号强度和发送路由器的标识或其组合。

继续该具体示例,当与设备位置236对应的GPS信号变得不可用时,计算系统100可以确定表示进入到建筑结构202中的出入事件238,并且当GPS信号变得可用时,计算系统100可以确定表示离开建筑结构202的出入事件238。当建筑结构202内已存在的已知信号或预定信号被确定在第一设备102、另外的设备108或其组合处具有满足或超过预定阈值的信号强度时,计算系统100可以确定表示进入达到建筑结构202中的出入事件238。

基于确定与系统用户110、另外的用户112或其组合进入建筑结构202对应的出入事件238,计算系统100可以在步骤704中启动或实施出入口海拔的计算,在步骤710中竖直定位用户、在步骤706中跟踪内部移动或其组合。有关在步骤710中竖直定位用户并在步骤706中跟踪内部移动的细节在下文进行讨论。

计算系统100可以在步骤704中使用图6的相对海拔模块606、数据采集模块602、图6的环境参考模块642或其组合来计算出入口海拔。计算系统100可以基于计算与出入事件238相关的图2的出入口海拔240来计算出入口海拔。

计算系统100可以使用一个或多个控制电路、一个或多个传感器、一个或多个通信电路或其组合来计算出入口海拔240。有关计算出入口海拔240的细节在下文进行讨论。

计算系统100还可以在步骤706中跟踪用户设备在建筑结构内的移动。计算系统100可以跟踪第一设备102、另外的设备108或其组合在建筑结构内的移动。计算系统100可以在多种方向(包括跨越水平面、跨越竖直方向或其组合)上跟踪移动。

计算系统100可以以多种方式跟踪用户设备的内部移动。例如,计算系统100可以使用一个或多个控制电路、一个或多个通信电路、一个或多个传感器电路或其组合来确定建筑结构202内的设备位置236。

作为更具体的示例,计算系统100可以使用图4的第一定位电路462、图5的第三定位电路562、第一通信电路416、第二通信电路516或其组合来接收无线信号,诸如,GPS信号、Wi-Fi信号、4G LTE信号或其组合。计算系统100可以使用第一加速度计464、图4的第一陀螺仪466、第三加速度计564、图5的第三陀螺仪566、第一定位电路462、第三定位电路562或其组合来确定图2的移动测量值234。

继续该示例,计算系统100可以使用第一定位电路462、第三定位电路562、第一通信电路416、第二通信电路516、第一控制电路412、第二控制电路434、第三控制电路512或其组合来确定设备位置236。计算系统100可以确定通过实施GPS处理、Wi-Fi或蜂窝塔三角测量机制、航位推测机制或其组合来处理接收的信号、移动测量值234或其组合,从而确定设备位置236。计算系统100可以使用第一通信电路416、第二通信电路516或其组合来在设备之间传送设备位置236、接收的信号或其描述、移动测量值234、处理结果或其组合。

计算系统100可以基于追踪内部移动来实施附加的过程。例如,计算系统100可以在步骤720中确定从建筑物离开,在步骤722中确定过程触发,在步骤724中确定环境数据、在步骤726中计算相对高度、在步骤728中确定层级转移、在步骤730中传送数据,或其组合。

计算系统100可以在步骤720中确定系统用户110、另外的用户112或其组合离开建筑结构202。计算系统100可以确定与第一设备102、另外的设备108或其组合从建筑结构202离开对应的出入事件238。

计算系统100可以与步骤714类似地确定出入事件238,但是出入事件238是离开建筑结构202而不是进入建筑结构202。例如,计算系统100可以基于设备位置236来确定出入事件238。计算系统100可以使用或实施出入模块604来确定出入事件238。

作为更具体的示例,计算系统100可以基于使用一个或多个控制电路来比较设备位置236与结构地理位置204来确定出入事件238。此外,作为更具体的示例,计算系统100可以基于信号的状态或可用性来确定出入事件238,诸如,在从建筑结构202离开时变得可用的GPS信号、来自特定路由器的Wi-Fi信号的变弱或丢失或其组合。

基于确定与系统用户110、另外的用户112或其组合离开建筑结构202对应的出入事件238,计算系统100可以在步骤704中启动或实施计算出入口海拔、跟踪外部移动702或其组合。确定离开步骤720可以用作跟踪内部移动步骤706的中断条件或结束要求。

计算系统100可以基于在步骤706中跟踪内部移动或在步骤706中跟踪内部移动时在步骤722中确定过程触发。计算系统100可以使用或实施相对海拔模块606、数据采集模块602或其组合来确定过程触发。

计算系统100可以通过确定移动测量值234来确定过程触发。计算系统100可以使用一个或多个控制电路、一个或多个传感器电路、一个或多个通信电路或其组合来确定第一设备102、另外的设备108或其组合的移动测量值234。

计算系统100还可以通过使用一个或多个控制电路、一个或多个低功率电路、一个或多个高功率电路或其组合检测图3的竖直变化触发330、图3的竖直移动事件332或其组合,从而确定过程触发。计算系统100可以基于移动测量值234或移动测量值234中的一部分来检测竖直变化触发330。计算系统100可以基于传感器数据和竖直变化触发330来检测竖直移动事件332。

计算系统100可以使用竖直移动事件332来触发或实施一个或多个步骤,诸如,步骤724、步骤726、步骤728、步骤730、步骤710或其组合。有关确定步骤722中的过程触发以及与其他步骤触发的交互的细节在下文进行描述。

计算系统100可以在步骤724中确定环境数据。计算系统100可以基于步骤722中过程触发的确定来确定环境数据。计算系统100可以通过确定来自用户设备的传感器数据、确定与传感器数据对应的图3的参考测量值318或其组合来确定环境数据。

例如,计算系统100可以确定表示位于结构地理位置204处的建筑结构202内所测量的条件的图2的环境测量值228。计算系统100可以基于检测与第一设备102、另外的设备108或其组合对应的竖直移动事件332、使用第一设备102、另外的设备108、或其组合来确定环境测量值228。计算系统100还可以确定在环境测量值228、竖直移动事件332或其组合的时间或相同时刻处的参考测量值318。

计算系统100可以使用或实施数据采集模块602、相对海拔模块606、环境参考模块642或其组合来确定环境测量值228。例如,图6的设备测量模块618、数据采集模块602或其组合可以使用一个或多个传感器电路来确定环境测量值228。

作为更具体的示例,计算系统100可以在步骤724中使用第一定位电路462、第三定位电路562或其组合来确定环境数据,从而确定图2的设备海拔232。此外,作为更具体的示例,计算系统100可以使用第一加速度计464、第一陀螺仪466、第三加速度计564、第三陀螺仪566或其组合来确定移动测量值234。计算系统100可以使用第一控制电路412、第三控制电路512或其组合来使用航位推测机制根据移动测量值234确定设备海拔232。

此外,作为更具体的示例,计算系统100可以使用图4的第一压力传感器468、第二压力传感器568或其组合来确定图2的压力测量值230。计算系统100可以使用第一控制电路412、第二控制电路434、第三控制电路512或其组合来基于压力测量值230计算设备海拔232。

此外,作为更具体的示例,计算系统100可以使用第一通信电路416、第二通信电路436、第三通信电路516或其组合来在设备之间传送移动测量值234、压力测量值230或其组合。计算系统100可以基于与以上描述类似地使用第二控制电路434、第一控制电路412、第三控制电路512或其组合处理传送的数据来确定设备海拔232。

此外,例如,图6的参考测量模块620、图6的环境参考模块642或其组合可以使用一个或多个控制电路、一个或多个通信电路、一个或多个存储接口或其组合来确定参考测量值318,诸如,图6的海平面海拔648、图6的海平面压力650或其组合。作为更具体的示例,计算系统100可以使用第一通信电路416、第二通信电路436、第三通信电路516或其组合来访问参考位置,诸如,气象中心、公众可使用的天气数据服务点、校准位置310或其组合。

继续所述具体示例,计算系统100可以从参考位置接收参考测量值318。计算系统100可以基于或通过确定传感器数据、通过过程触发或其组合的启动来接收参考测量值318。计算系统100还可以接收或搜索与传感器数据的图2的时间戳242对应的参考测量值318。

计算系统100可以在步骤726中计算相对高度。计算系统100可以使用或执行相对海拔模块606来确定与第一设备102、另外的设备108或其组合对应的相对海拔306。

通过计算相对海拔306、在设备之间传送相对海拔306或其组合,计算系统100可以基于对环境测量值228(诸如,设备海拔232或压力测量值230)进行归一化来确定相对海拔306。计算系统100可以确定相对海拔306,从而对在多个用户设备上的环境测量值228进行归一化,诸如,跨越产生环境测量值的第一设备102和另外的设备108、跨越不同的时间(由时间戳242的不同的值表示)或其组合。

计算系统100可以基于设备调整测量值320确定相对海拔306。计算系统100可以使用设备调整测量值320来校准或调整环境测量值228。计算系统100可以使用设备调整测量值320来对设备或设备中的传感器电路之间的差异进行归一化。计算系统100可以使用表示先前相应的传感器数据相对于其校准位置310和参考测量值318的差异的设备调整测量值320。

相对海拔306可以用于使用建筑结构202的图2的内部地图206来沿着竖直方向定位测量设备,诸如,第一设备102或另外的设备108。相对海拔306还可以用于生成建筑结构202的内部地图206。

计算系统100可以基于环境测量值228的调整实例、参考测量值318或其组合来计算相对海拔306。例如,计算系统100可以在利用设备调整测量值320进行调整之后基于压力测量值230、设备海拔232或其组合来计算相对海拔306。此外,例如,计算系统100可以基于海平面海拔648、海平面压力650、出入口海拔240、一个或多个预定的或已知的常数或其组合来计算相对海拔306。

作为更具体的示例,计算系统100可以基于等式(1)来计算设备海拔232:

设备海拔232可以表示为‘Au’,并且参考测量值318(诸如,海平面海拔648或参考位置处的海拔)可以表示为‘As’。术语‘R’可以表示通用气体常数,术语‘T’可以表示标准温度,术语‘M’可以表示地球空气的摩尔质量,并且‘g’可以表示重力加速度,以上所有均为计算系统100所知或存储在计算系统100中。压力测量值230可以表示为‘pu’,并且海平面压力650或在参考位置处所测量的压力可以表示为‘ps’。压力测量值230可以由用户设备测量。

继续更具体的示例,计算系统100可以基于建筑结构202的出入口海拔240和设备海拔232来计算相对海拔306。计算系统100可以基于等式(2)来计算相对海拔306:

Ar←Au-Al 等式(2)。

与位置‘l’处的用户设备对应的相对海拔306可以表示为‘Ar’,并且术语‘Al’可以表示结构地理位置204的海拔或高程。结构地理位置的海拔或高程可以对应于出入口海拔240。

计算系统100可以使用第一设备102、第二设备106、另外的设备108或其组合来确定相对海拔306。例如,计算系统100可以使用确定或收集传感器数据的第一设备102、另外的设备108或其组合或者在该第一设备102、另外的设备108或其组合处接收参考测量值318并计算相对海拔306。

继续所述示例,计算系统100可以将相对海拔306从第一设备102、另外的设备108或其组合发送到第二设备106。第一设备102、另外的设备108或其组合可以基于出入事件238、竖直变化触发330、竖直移动事件332或其组合发送相对海拔306。

此外,例如,计算系统100还可以基于在第二设备106处或使用第二设备106计算相对海拔306来确定相对海拔306。第一设备102、另外的设备108或其组合可以将以上讨论的多种数据(诸如,传感器数据或出入口海拔240)发送到第二设备106。

继续所述示例,第一设备102、另外的设备108或其组合可以基于出入事件238、竖直变化触发330、竖直移动事件332或其组合来发送数据。第二设备106可以接收参考测量值318,并且在第二设备106处或使用第二设备106计算相对海拔306。

已经发现,相对海拔306为建筑结构202内的层级210提供精确的地图。相对海拔306可以对跨越多个设备或跨越多种时间的与设备海拔232相关的传感器数据进行归一化。相对海拔306允许计算系统100利用来自多种设备且跨越不同时间的更高的数据量来实施图2的层级地图绘制机制226。

进一步发现,使用如上所述的无监督机制所计算的相对海拔306为竖直绘制建筑结构202的地图和竖直定位建筑结构202中的设备提供更高的效率。计算系统100可以在不使用图1的直接用户输入114且不使用图1的结构化基础信息116的情况下实施层级地图绘制机制226、图3的竖直定位机制302或其组合来处理相对海拔306。与海拔相关的已归一化的数据可以被用于识别与层级210和相对于层级210的用户的海拔相关的高度组。

计算系统100可以在步骤728中确定层级转移。计算系统100可以确定携带第一设备102、另外的设备108或其组合的系统用户110另外的用户112或其组合在建筑结构202内的层级之间进行竖直转移。

计算系统100可以确定层级210上的图2的层级变化进出位置216、层级变化进出位置216处的图2的层级变化类型218或其组合,以用于层级转移。计算系统100可以实施或使用图6的分类模块612、相对海拔模块606或其组合来确定层级变化进出位置216、层级变化类型218或其组合。

计算系统100可以基于环境测量值228确定层级变化进出位置216。计算系统100还可以确定用于提供从层级210到建筑结构202的层级210的另一实例的竖直连接的层级变化进出位置216。计算系统100可以基于环境测量值228确定与层级变化进出位置216对应的层级变化类型218。层级变化类型218可以用于表示建筑结构202内的图2的竖直路径220、图2的自动扶梯222、图2的直升电梯224或其组合。

计算系统100可以基于传感器数据(诸如,环境测量值228,移动测量值234,设备位置236或其组合)来确定层级变化进出位置216、层级变化类型218或其组合。计算系统100可以基于传感器数据来计算图6的压力斜率622、图6的移动相关性624、图6的移动能量626或其组合。

例如,计算系统100可以基于不同时间的压力测量值230的实例来计算压力斜率622。计算系统100可以基于与时间戳242的不同的值对应的压力测量值230的实例来计算压力斜率622。

作为更具体的示例,计算系统100可以基于等式(3)来计算压力斜率622:

压力斜率622可以被表示为‘slope’。术语可以表示在表示为‘t2’的相关时间或时间戳242处的压力斜率622。术语可以表示在表示为‘t1’的相关时间或时间戳242处的压力斜率622。

此外,例如,计算系统100可以基于沿着水平面、竖直方向或其组合的设备位置236或移动测量值234来计算移动相关性624。计算系统100可以基于协方差与标准差乘积的比值来计算移动相关性624。

作为更具体的示例,计算系统100可以基于等式(4)来计算移动相关性624:

移动相关性624可以被表示为‘corr(x,y)’。术语‘x’和‘y’可以表示彼此正交的方向或轴线,诸如,水平平面、用户的移动方向的竖直方向或其组合。术语‘cov(x,y)’可以表示设备位置236或移动测量值234相对于‘x’和‘y’方向或轴线的协方差。术语‘σx’可以表示设备位置236或移动测量值234相对于‘x’轴的标准差,并且术语‘σy’可以表示设备位置236或移动测量值234相对于‘y’轴的标准差。

此外,例如,计算系统100可以基于在不同的域(诸如,频域)中分析设备位置236或移动测量值234来计算移动能量626。计算系统100可以基于设备位置236或移动测量值234的离散FFT的平方幅度值来计算移动能量626。

作为更具体的示例,计算系统100可以基于等式(5)来计算移动能量626:

‘Energy’可以表示加速度计数据的平方离散FFT分量幅度的总和。术语‘v’可以表示加速度计数据的FFT分量的矢量,并且‘w’可以表示FFT分量的总数目。

计算系统100可以识别或确定表示从层级210的一个实例竖直转移到层级210的另一实例的竖直移动事件332。计算系统100可以基于传感器数据、压力斜率622、移动相关性624、移动能量626或其组合来识别或确定竖直移动事件332。有关确定竖直移动事件332的细节在下文进行讨论。

计算系统100可以将层级变化进出位置216确定为在发生竖直移动事件332时在层级210的相应实例上沿着水平面的设备位置236。例如,计算系统100可以将层级变化进出位置216确定为在竖直移动事件332开始时的层级210上的设备位置236。此外,例如,计算系统100可以将层级变化进出位置216确定为在竖直移动事件332结束时的层级210上的设备位置236。

计算系统100还可以确定层级变化进出位置216处的层级变化类型218。计算系统100可以基于传感器数据、压力斜率622、移动相关性624、移动能量626或其组合与图3的竖直移动集322的比较来确定层级变化类型218。例如,当传感器数据压力斜率622、移动相关性624、移动能量626或其组合匹配或满足图3的路径移动集324时,计算系统100可以将层级变化类型218确定为图2的竖直路径220。

此外,例如,当传感器数据、压力斜率622、移动相关性624、移动能量626或其组合匹配或满足图3的自动扶梯移动集328时,计算系统100可以将层级变化类型218确定为图2的自动扶梯222。此外,例如,当传感器数据、压力斜率622、移动相关性624、移动能量626或其组合匹配或满足图3的直升电梯移动集326时,计算系统100可以将层级变化类型218确定为图2的直升电梯224。

计算系统100还可以在步骤730中传送数据。计算系统100可以在设备内的电路之间传送数据。例如,计算系统100可以将传感器数据、相对海拔306、竖直移动事件332、层级变化进出位置216、层级变化类型218或其组合存储在第一存储电路414、第二存储电路446、第三存储电路514或其组合中。

计算系统100还可以在设备之间的电路之间传送数据。例如,计算系统100可以在第一设备102、第二设备106、另外的设备108或其组合之间发送和接收传感器数据、相对海拔306、竖直移动事件332、层级变化进出位置216、层级变化类型218或其组合。计算系统100可以使用第一通信电路416、第二通信电路436、另外的通信电路516或其组合来发送和接收数据。

作为更具体的示例,计算系统100可以从接收由用户设备计算的相对海拔306的第二设备106的立场来确定相对海拔306。第二设备106可以类似地接收由用户设备计算的竖直移动事件332、层级变化进出位置216、层级变化类型218或其组合。

此外,作为更具体组合示例,计算系统100可以将传感器数据传送到第二设备106,从而在第二设备106处或使用第二设备106计算相对海拔306、竖直移动事件332、层级变化进出位置216、层级变化类型218或其组合。此外,作为更具体的示例,计算系统100可以基于竖直移动事件332来发送传感器数据、相对海拔306或其组合,从而使用由第二设备106接收的传感器数据、相对海拔306或其组合来利用第二设备106生成内部地图206。

计算系统100可以在步骤708中生成包括海拔高度地图或楼层高度地图的内部地图206。计算系统100可以生成内部地图206,从而沿着竖直方向绘制建筑结构202的层级210的一个或多个实例的地图。

计算系统100可以生成内部地图206,从而在建筑结构202内的层级210的一个实例上竖直定位终端用户,诸如,第一设备102或另外的设备108、与用户相关的设备或其组合。计算系统100可以基于传感器数据、表示或对应于传感器数据的相对海拔306或其组合来生成内部地图206。

计算系统100可以使用或执行图6的地图模块614、分类模块612或其组合来生成内部地图206。计算系统100还可以执行或使用诸如层级地图绘制机制226来生成内部地图206。

计算系统100还可以在步骤732中竖直地绘制层级的地图,从而在步骤708中生成地图。计算系统100可以基于识别图6的相对竖直聚类652来竖直地绘制层级210的一个或多个实例的地图。计算系统100可以基于用于表示沿着竖直方向的位置的传感器数据、表示传感器数据或与传感器数据相关的相对海拔306或其组合来识别相对竖直聚类652。

计算系统100可以基于相对竖直聚类652识别在建筑结构202内存在一个或多个层级、层级的相对位置或其组合。计算系统100可以将标记为相对竖直聚类652的一组相对海拔306识别为层级210的实例。

计算系统100可以识别值的阈值范围内的一组或一套相对海拔306。计算系统100可以使用或分析与不同的设备相关、与时间戳242的不同的值相关或其组合的相对海拔306的实例。

计算系统100还可以生成图2的竖直配置文件208。计算系统100可以基于对与建筑结构202对应的竖直分组的数目进行计数来生成竖直配置文件208。

计算系统100可以将相对竖直聚类652的相对海拔306(诸如,中间海拔值或平均海拔值)确定为图2的相对层级海拔212。计算系统100还可以基于计算建筑结构202的层级210的所有标识或识别的实例的相对层级海拔212的差来生成图2的层级间隔配置文件214。

计算系统100可以使用用户设备、第二设备106或其组合来生成内部地图206。作为更具体的示例,计算系统100可以在第二设备106处或使用第二设备106来生成内部地图206。第二设备106可以基于接收到表示在竖直移动事件332后所测量的传感器数据(诸如,压力测量值230、移动测量值234或其组合)的相对海拔306来确定传感器数据。

计算系统100还可以在步骤734中确定转移点,从而在步骤708中生成地图。计算系统100可以通过生成包括层级变化进出位置216的内部地图206并在建筑结构202内的层级210上定位层级变化进出位置216来确定转移点。计算系统100还可以通过生成包括位于建筑结构202内的层级210上的层级变化进出位置216处的层级变化类型218的内部地图206来确定转移点。

计算系统100可以基于识别与层级210的相应实例匹配的水平面上的位置来生成包括层级变化进出位置216的内部地图206。计算系统100可以根据来自终端用户设备的层级变化进出位置216来生成包括层级变化进出位置216的内部地图206。计算系统100还可以基于来自终端用户设备的传感器数据、竖直移动事件332或其组合在第二设备106处或使用第二设备106来识别或确定层级变化进出位置216。

计算系统100可以基于识别在层级变化进出位置216处可用的转移类型或类别来生成包括层级变化类型218的内部地图206。计算系统100可以根据来自终端用户设备的层级变化类型218来生成包括层级变化类型218的内部地图206。计算系统100还可以基于来自终端用户设备的传感器数据、竖直移动事件332或其组合在第二设备106处或使用第二设备106来识别或确定层级变化类型218。

计算系统100可以基于生成在视觉上示出层级210的实例、在文字上描述层级210的实例或其组合的文件或记录来生成内部地图206。计算系统100可以通过在视觉上示出或在文字上描述层级的数目、每个层级的相对层级海拔212、层级之间的层级间隔或其组合来生成包括竖直配置文件208的内部地图206。

如上所述,计算系统100可以使用无监督机制(诸如,层级地图绘制机制226)生成内部地图206,该无监督机制不使用直接用户输入114且不使用结构化基础信息116。计算系统100可以基于相对海拔306、传感器数据或其组合来生成内部地图206。

计算系统100可以使用一个或多个控制电路来生成内部地图206。计算系统100还可以使用一个或多个通信电路来在设备之间传送必要的数据。计算系统100可以将内部地图206存储在一个或多个存储电路中。

已经发现,使用相对海拔306生成的内部地图206提供了建筑物的可靠的竖直地图和定位且不降低可用性。内部地图206可以使用相对海拔306,从而能够归一化和使用来自多种设备和不同时间的多种来源的数据。可以在不依赖直接用户输入114和结构化基础信息116的情况下处理和生成基于相对海拔306的内部地图206来保持可用性。

进一步发现,包括层级变化进出位置216和层级变化类型218的内部地图206提供了改善的可用性。包括层级变化进出位置216和层级变化类型218的内部地图206可以将有关建筑结构202内的竖直遍历的各种信息通知终端用户。

计算系统100可以在步骤710中竖直定位用户。计算系统100可以竖直定位建筑结构202内的系统用户110、另外的用户112或其组合或与以上用户相关的设备,诸如,第一设备102、另外的设备108或其组合。

计算系统100可以使用图6的楼层定位模块610、地图模块614、相对海拔模块606或其组合来竖直地定位终端用户。通信系统100可以使用一个或多个控制电路来确定建筑结构202内的图2的用户当前楼层308。通信系统100可以使用一个或多个通信电路来在设备之间传送必要的数据、中间结果、用户当前楼层308或其组合。通信系统100可以将用户当前楼层308存储在一个或多个存储电路中。

计算系统100可以基于相应设备的相对海拔306、包括竖直配置文件208的内部地图206、传感器数据或其组合来确定用户当前楼层308。计算系统100可以基于来自步骤722的触发(诸如,出入事件238)、步骤726中的相对高度的计算或其组合来确定用户当前楼层308。有关竖直定位用户的细节在下文进行讨论。

现在参考图8,其中示出了图7的校准设备步骤712的详细示例性流程图。计算系统100可以通过在步骤802中识别校准位置、在步骤804中确定校准事件、在步骤806中确定设备测量值、在步骤808中确定参考值、在步骤810中计算调整量或其组合来校准设备。由于压力测量值随着设备模型而改变,因此校准可以用于对压力测量值进行归一化,使得易于比较压力测量值。

计算系统100可以在步骤802中识别校准位置。计算系统100可以识别图3的校准位置310。计算系统100可以识别与经受校准过程的用户设备(诸如,图1的第一设备102,图1的另外的设备108或其组合)有关的校准位置310。

计算系统100可以基于用户设备的图2的设备位置236来识别与用户设备有关的校准位置310。计算系统100可以基于图2的建筑结构202之外或外部的第一设备102、另外的设备108或其组合的设备位置236来识别校准位置310。例如,计算系统100可以基于满足图3的校准条件314的初始部分、基于校准条件314的缓冲阈值或范围、或其组合来识别校准位置310的一个或多个实例。

作为更具体的示例,计算系统100可以基于设备位置236与校准位置310(诸如,在与校准条件314相关的距离内的校准位置310或基于到设备位置236的最近距离的排序的校准位置310)之间的距离来识别校准位置310中的一个或多个实例。此外,作为更具体的示例,计算系统100可以基于包括图2的设备海拔232的设备位置236来识别校准位置310的一个或多个实例,其中,包括图2的设备海拔232的设备位置236与校准位置310的海拔的阈值范围相同或在其阈值范围内。

计算系统100可以使用图6的动态校准模块608、图6的数据采集模块602或其组合来识别校准位置310。计算系统100还可以使用一个或多个定位电路、一个或多个加速度计、一个或多个通信电路、一个或多个控制电路或其组合来确定设备位置236。

计算系统100可以使用一个或多个存储接口、一个或多个控制接口、一个或多个通信电路或其组合来访问计算系统100中预设和已知的校准位置的地图或列表。计算系统100可以使用一个或多个控制电路来识别校准位置310的相关实例。

计算系统100可以在步骤804中确定校准事件。计算系统100可以确定图3的校准事件312。计算系统100可以基于满足校准条件314的用户设备来确定校准事件312。

例如,计算系统100可以基于对校准位置310和设备位置236进行比较来确定校准事件312。作为更具体的示例,当设备位置236在距校准位置310的阈值距离内时、当设备位置236与校准位置310重叠或在校准位置310内时、当设备位置236的设备海拔232匹配或在校准位置310的海拔的阈值范围内时或其组合,计算系统100可以根据校准条件314来确定校准事件312。

计算系统100可以使用动态校准模块608来确定校准事件312。计算系统100可以使用一个或多个存储接口、一个或多个控制接口、一个或多个通信电路或其组合来访问计算系统100中预设和已知的校准条件314。计算系统100可以使用一个或多个控制电路来比较和确定校准事件312。

计算系统100可以在步骤806中确定设备测量值。计算系统100可以确定与校准事件312相关或触发校准事件312的用户设备的传感器数据。计算系统100可以基于确定校准事件312确定图2的环境测量值228或在确定校准事件312之后立即确定图2的环境测量值228。

计算系统100可以确定包括图2的环境测量值228的传感器数据。计算系统100可以根据、使用与校准事件312相关的第一设备102、另外的设备108或其组合来确定环境测量值228,或确定由与校准事件312相关的第一设备102、另外的设备108或其组合生成的环境测量值228。计算系统100可以确定环境测量值228,从而计算与来自或特定于第一设备102、另外的设备108或其组合的环境测量值228相关的图3的设备调整测量值320。

计算系统100可以使用图6的设备因素模块632、数据采集模块602或其组合来确定传感器数据。计算系统100可以使用一个或多个传感器电路、一个或多个控制电路、一个或多个通信电路或其组合来确定传感器数据。

计算系统100可以在步骤808中确定参考值。计算系统100可以确定包括与校准位置310的有效实例相关的图3的参考测量值318的参考值。计算系统100可以基于确定校准事件312确定参考测量值318或在确定校准事件312之后立即确定参考测量值318。计算系统100还可以在由环境测量值228的图2的时间戳242表示的时间处确定参考测量值318。

计算系统100可以以多种方式确定参考测量值318。例如,计算系统100可以通过与参考位置通信并从参考位置接收参考测量值318来确定参考测量值318。此外,例如,计算系统100可以与提供参考位置处的参考测量值318的实时数据或先前记录的值的服务进行通信。

计算系统100可以使用图6的外界因素模块630、图6的环境参考模块642或其组合来确定参考测量值318。计算系统100可以使用一个或多个通信电路、一个或多个控制电路、一个或多个存储接口或其组合来确定参考测量值318。

计算系统100可以在步骤810中计算调整量。计算系统100可以通过计算设备调整测量值320来计算调整量。计算系统100可以计算引起校准事件312并提供传感器数据的特定于设备的设备调整测量值320。

计算系统100可以基于传感器数据和参考测量值318来计算设备调整测量值320。例如,计算系统100可以计算设备调整测量值320来作为参考测量值318与环境测量值228(诸如,图2的压力测量值230、图2的设备海拔232或其组合)之间的差。

此外,例如,计算系统100可以将设备调整测量值320计算为与校准事件312中的多个不同实例对应的环境测量值228与参考测量值318之间的差的中值或平均值。计算系统100可以计算与不同的时间、不同的位置或海拔或其组合对应的值的平均值或平均数。计算系统100还可以基于天气、海拔、地理位置、一天中的时间或其组合来确定用于影响或调整设备调整测量值320的模式或因素。

计算系统100可以计算设备调整测量值320,从而校准传感器数据(诸如,环境测量值228)的未来的实例或之后的实例。计算系统100可以使用与校准位置310有关的参考测量值318中已知的值或验证的值来进行校准。计算系统100可以使用设备调整测量值320来调整、校正或更新传感器数据、确定图3的相对海拔306或其组合。

计算系统100可以使用动态校准模块608来计算设备调整测量值320。计算系统100还可以使用一个或多个控制电路、一个或多个通信电路或其组合来计算设备调整测量值320。计算系统100可以将设备调整测量值320以及其他中间值(诸如,校准事件312、校准位置310、参考测量值318、传感器数据或其组合)存储在一个或多个存储电路中。

计算系统100可以使用其中的一个或多个设备(诸如,图1的第一设备102、第二设备106、另外的设备108或其组合)来实施图8中的以上描述的步骤。例如,计算系统100可以使用一个或多个通信电路使终端用户设备周期性地将传感器数据上传到第二设备106。

继续所述示例,第二设备106可以识别校准位置310、确定校准事件312、根据上传的数据确定传感器数据、确定参考测量值318并计算设备调整测量值320。第二设备106可以将设备调整测量值320传送到终端用户设备,从而在终端用户设备处调整传感器数据,或将设备调整测量值320存储在第二设备106内,从而在接收到上传的数据之后在第二设备106处进行调整。

此外,例如,计算系统100可以使图8中的步骤在终端用户设备(诸如,第一设备102、另外的设备108或其组合)中实施。作为更具体的示例,终端用户设备可以访问存储在其中的地图或列表,从而识别校准位置、确定校准事件、确定设备测量值、确定参考值并计算调整量。终端用户设备可以存储设备调整测量值320并使用设备调整测量值320来调整未来的传感器数据或后续的传感器数据。

此外,例如,计算系统100可以使用终端用户设备以及第二设备106来校准终端用户设备。作为更具体的示例,第二设备106可以基于由终端用户设备发送的设备位置236来执行步骤802和步骤804。第二设备106可以触发终端用户设备来执行步骤806、步骤808、步骤810或其组合。此外,作为更具体的示例,第二设备可以执行步骤808,并将结果提供到终端用户设备。

作为更具体的示例,当系统用户110位于任何结构外时,可以基于步骤802和步骤804来检测校准事件312。校准事件312可以基于第一设备102的传感器电路(诸如,电话的GPS传感器)来检测。

继续所述更具体的示例,计算系统100可以基于步骤802、步骤808或其组合来获取在以上等式(2)中表示为‘Al’的位置的地理海拔。计算系统100可以使用公众可使用的网络服务器来获取地理海拔。

继续所述更具体的示例,计算系统100可以基于步骤808获取海平面处的地理压力值(诸如,海平面压力650)或校准位置310处的地理压力值作为参考测量值318。计算系统100还可以获取或访问与海平面压力650对应的海平面海拔648。

继续所述更具体的示例,计算系统100可以基于步骤806测量大气压力。计算系统100可以测量包括来自压力传感器的压力测量值230的校准测量值316。

继续所述更具体的示例,计算系统100可以在步骤810中使用参考测量值318和校准测量值316计算调整量。计算系统100可以基于海平面压力650和校准测量值316来计算设备海拔232。计算系统100可以使用上面的等式(1)来计算设备海拔232。

继续所述更具体的示例,计算系统100可以计算并存储设备海拔232与校准位置310的已知的海拔‘Al’之间的差值。该差值可以作存储为设备调整测量值320。计算系统100还可以重复校准过程并且基于对每个校准会话的不同值进行平均来更新设备调整测量值320。

继续所述更具体的示例,计算系统100可以使用调整测量值320来调整传感器数据、海拔值或其组合,以用于随后的过程。计算系统100可以将传感器数据、海拔值或其组合扣除调整测量320。利用此校正,在多个移动设备上测量的海拔值可以相对于相同的基准进行归一化。已经发现,这对于在用于生成建筑的海拔地图的云上聚类相对高度是特别有用的。

已经发现,设备调整测量值320为竖直绘制建筑结构202的地图并在建筑结构202内竖直定位终端用户设备提供了更高的精确度。设备调整测量值320可以基于与传感器数据同时的已知且可信的测量值来进行计算。设备调整测量值320可以校正单独的感测电路中存在的不一致性、不准确性、偏移量、灵敏度等级或其组合。

现在,参考图9,其中示出了图7的计算出入口海拔步骤704的详细示例性流程图。图1的计算系统100可以基于在如上讨论的步骤714中的进入事件的确定来在步骤704中计算出入口海拔。在步骤704中计算出入口海拔可以包括在步骤902中确定环境数据、在步骤904中确定相对高度、在步骤906中传送或存储数据或其组合。

计算系统100可以在步骤902中确定环境数据。计算系统100可以通过确定图2的环境测量值228来确定环境数据。计算系统100基于图2的出入事件238来确定环境测量值228。计算系统100可以在确定出入事件238时确定环境测量值228或在即将发生进入事件之前确定环境测量值228。

计算系统100可以在与出入事件238相关的终端用户设备(诸如,图1的第一设备102或图1的另外的设备108)处或使用该终端用户设备确定环境测量值228。计算系统100可以确定用于计算图2的出入口海拔240的环境测量值228,图2的出入口海拔240表示图2的建筑结构202的图2的结构地理位置204的海拔或图2的建筑结构202的进入/离开路线的海拔。

计算系统100可以按照类似于以上讨论的图7的步骤724、图8的步骤806或其组合的方式来确定环境测量值228。计算系统100可以使用图6的数据采集模块602、图6的出入模块604、图6的参考高度模块616或其组合来确定环境测量值228。计算系统100还可以使用一个或多个控制电路、一个或多个传感器电路或其组合来确定环境测量值228。

计算系统100可以在步骤904中确定相对高度。计算系统100可以基于确定图3的相对海拔306来确定相对高度。

计算系统100可以确定相对于出入口海拔240的用于表示传感器数据的相对海拔306,传感器数据包括与图2的设备海拔232对应的图2的环境测量值228。计算系统100可以基于与出入事件238同时或刚好在出入事件238之前的传感器数据将相对海拔306确定为出入口海拔240。

计算系统100可以按照类似于以上讨论的图7的步骤726的方式来确定相对海拔306。计算系统100可以使用对应于与出入事件238相关的第一设备102、另外的设备108或其组合的图6的相对海拔模块606来确定相对海拔306。计算系统100还可以使用一个或多个控制电路来确定相对海拔306。

计算系统100可以在步骤906中传送或存储数据。计算系统100可以传送或存储图3的校准事件312、与校准事件312对应的传感器数据、与校准事件312对应的相对海拔306或其组合。计算系统100可以将校准事件312、传感器数据、相对海拔306或其组合存储在一个或多个存储电路中。

计算系统100可以使用其中的一个或多个设备(诸如,图1的第一设备102、第二设备106、另外的设备108或其组合)来实施图9的以上描述的步骤。计算系统100可以如上所述来类似地实施。

例如,计算系统100可以使用一个或多个通信电路使终端用户设备周期性地将传感器数据上传到第二设备106,并且第二设备106可以确定相对海拔306和出入口海拔240。第二设备106可以将相对海拔306传送给终端用户设备或将相对海拔306存储在第二设备106内。

此外,例如,计算系统100可以在终端用户设备(诸如,第一设备102、另外的设备108或其组合)中实施图9中的步骤。此外,例如,计算系统100可以使用终端用户设备以及第二设备106来校准终端用户设备。作为更具体的示例,第二设备106可以执行步骤714、步骤904、步骤906或其组合,并且将结果提供给终端用户设备。

已经发现,基于出入事件238确定的出入口海拔240在地图绘制和定位过程中提供了更高的精确度。基于出入事件238确定的出入口海拔240可以使得能够使用无监督机制来绘制建筑结构202的地图并竖直地定位设备。出入口海拔240还可以考虑建筑结构202的海拔以增加精确度。

进一步发现,基于相对海拔306的出入口海拔240在地图绘制和定位过程中提供了更高的精确度。相对海拔306可以提供用于表示建筑结构202的海拔的归一化后的值。使用相对海拔306还可以使得计算系统100能够跨越多个设备、跨越多个时间、针对于特定类型或组群的设备或其组合来处理出入口海拔240。

现在,参考图10,其中示出了图7的确定过程触发步骤722的详细示例性流程图。计算系统100可以确定过程触发步骤722,从而实施图7的计算相对高度步骤726、确定层级转移步骤728、竖直定位用户步骤710或其组合。确定过程触发722可以包括在步骤1002中监控移动、在步骤1004中跟踪水平移动、在步骤1006中检查竖直移动、在步骤1008中检测触发、在步骤1010中确定事件或其组合。

计算系统100可以在步骤1002中监控移动。计算系统100可以监控图1的第一设备102、图1的另外的设备108或其组合的物理移动。计算系统100可以基于确定图2的层级210上的图2的设备位置236、用户设备的图2的移动测量值234或其组合来监控移动。

计算系统100还可以通过存储设备位置236、移动测量值234或其组合来监控数据、检查或比较数据或其组合。例如,对于设备位置236、移动测量值234或其组合,计算系统100可以周期性地确定或启动确定过程、定期采样或其组合。此外,例如,计算系统100可以使用或实施具有先进先出机制的运行窗口或存储缓冲器来对设备位置236、移动测量值234或其组合进行存储、分析或其组合。

计算系统100可以使用一个或多个传感器电路、一个或多个控制电路、一个或多个通信电路或其组合来确定或分析设备位置236、移动测量值234或其组合。计算系统100还可以将数据存储在一个或多个存储电路中。计算系统100可以使用一个或多个存储电路或其中的一部分来实施或使用运行窗口或存储缓冲器。

计算系统100可以在步骤1004中跟踪水平移动。计算系统100可以跟踪第一设备102、另外的设备108或其组合的水平移动。计算系统100可以通过确定层级210的水平面中的设备位置236、存储设备位置236或其组合来跟踪水平移动。

例如,计算系统100可以使用一个或多个控制电路、一个或多个通信电路、一个或多个传感器电路或其组合来确定图2的建筑结构202内的设备位置236。

作为更具体的示例,计算系统100可以使用图4的第一定位电路462、图5的第三定位电路562、图4的第一通信电路416、图5的第二通信电路516或其组合来接收无线信号,诸如,GPS信号、Wi-Fi信号、4GLTE信号或其组合。计算系统100可以使用图4的第一加速度计464、图4的第一陀螺仪466、图5的第三加速度计564、图5的第三陀螺仪566、第一定位电路462、第三定位电路562或其组合来确定移动测量值234。

继续所述示例,计算系统100可以使用第一定位电路462、第三定位电路562、第一通信电路416、第二通信电路516、图4的第一控制电路412、图4的第二控制电路434、图5的第三控制电路512或其组合来确定设备位置236。计算系统100可以确定通过实施GPS处理、Wi-Fi或蜂窝塔三角测量机制、航位推测机制或其组合来处理接收的信号、移动测量值234或其组合,从而确定设备位置236。计算系统100可以使用第一通信电路416、第二通信电路436、第三通信单元516或其组合来在设备之间传送设备位置236、接收的信号或其描述、移动测量值234、处理结果或其组合。

计算系统100可以存储如上所述的水平位置信息。例如,计算系统100可以将设备位置236的水平分量存储在一个或多个存储电路中。作为更具体的示例,计算系统100可以将水平位置信息存储在存储缓冲器或运行窗口中。

计算系统100可以在步骤1006中检查竖直移动。计算系统100可以通过处理移动测量值234来检查竖直移动。

计算系统100可以使用一个或多个传感器电路来确定第一设备102、另外的设备108或其组合的移动测量值234。计算系统100还可以将移动测量值234存储在一个或多个存储电路中,诸如,用运行窗口或存储缓冲器来存储移动测量值234。

计算系统100可以使用一个或多个控制电路来对移动测量值234与图3的竖直变化触发330进行比较。计算系统100还可以使用一个或多个控制电路来计算图6的压力斜率622、图6的移动相关性624、图6的移动能量626或其组合。计算系统100可以使用一个或多个控制电路来对压力斜率622、移动相关性624、移动能量626或其组合与竖直变化触发330进行比较。

计算系统100可以在步骤1008中检测触发。计算系统100可以基于移动测量值234或其与竖直变化触发330匹配的处理结果来通过检测触发事件检测触发。计算系统100可以使用一个或多个控制电路基于监控第一设备102、另外的设备108或其组合的移动测量值234来检测竖直变化触发330的匹配。计算系统100可以对运行窗口或缓冲器中数据与竖直变化触发330进行比较。

计算系统100可以使用一个或多个低功率电路来执行或实施步骤1002、步骤1004、步骤1006、步骤1008或其组合。例如,计算系统100可以使用图4的第一低功率电路454、图5的第三低功率电路554或其组合来进行监控、跟踪、检查、检测或其组合。

作为更具体的示例,计算系统100可以使用较小的电路、较慢的电路、较不灵敏的电路或程序、较低复杂度的程序或其组合来进行监控、跟踪、检查、检测或其组合。此外,作为更具体的示例,计算系统100可以使用较小或较慢的内核。此外,作为更具体的示例,计算系统100可以在已经使用的内核上实施经简化的程序。此外,作为更具体的示例,计算系统100可以仅使用用户设备的传感器电路(诸如,加速度计、陀螺仪、定位电路或其组合)中的一部分。

如上文中所讨论的,计算系统100可以在步骤724中确定环境数据。计算系统100可以通过确定与竖直变化触发330匹配且与第一设备102、另外的设备108或其组合对应的传感器数据(诸如,图2的移动测量值234、环境测量值228、设备位置236的完整的或更精确的实例或其组合)来确定环境数据。

计算系统100可以使用低功率电路基于识别竖直变化触发330的匹配或在识别竖直变化触发330的匹配之后确定传感器数据。计算系统100还可以使用一个或多个高功率电路来确定传感器数据。

例如,计算系统100可以使用图4的第一高功率电路452、图5的第二高功率电路552或其组合。作为更具体的示例,计算系统100可以使用更大或额外的内核来测量或处理传感器数据。此外,作为更具体的示例,计算系统100可以使用更复杂或更灵敏的程序来确定传感器数据。计算系统100还可以基于触发或在触发之后计算压力斜率622、移动相关性624、移动能量626或其组合。

此外,作为更具体的示例,计算系统100可以使用先前保持休眠的传感器电路中的一部分,诸如,图4的第一压力传感器468或图5的第三压力传感器568。此外,作为更具体的示例,计算系统100可以使用或实施传感器电路中的更灵敏或更复杂的部分来确定传感器数据。

计算系统100可以在步骤1010中确定事件。计算系统100可以通过确定图3的竖直移动事件332来确定事件。计算系统100可以基于响应于竖直变化触发330的匹配而确定的传感器数据或在竖直变化触发330的匹配之后确定的传感器数据来确定竖直移动事件332。

计算系统100可以基于将传感器数据与图3的竖直移动集322进行比较来确定竖直移动事件332。例如,计算系统100可以基于移动测量值234、设备位置236、环境测量值228、压力斜率622、移动相关性624、移动能量626、其部分或分量、其顺序、或其组合来确定与图3的路径移动集324、图3的直升电梯移动集326、图3的自动扶梯移动集328或其组合匹配的竖直移动事件332。

计算系统100可以将运行窗口或缓存器中数据与竖直移动集322进行比较。当在一段时间内或在竖直变化触发330的匹配之后时的多个采样内未检测到竖直移动事件332(类似于当未检测到竖直变化触发330时),流程可以进行到步骤1002。

计算系统100可以基于步骤1010中事件的确定来执行或启动多个步骤。例如,计算系统100可以执行或启动步骤726中的相对高度的计算、步骤728中的竖直转移的确定、步骤730中的数据的通信或存储或其组合。

如上文中所讨论的,计算系统100可以在步骤726中计算相对高度。基于竖直变化触发330、竖直移动事件332或其组合的确定或在确定竖直变化触发330、竖直移动事件332或其组合之后,计算系统100可以在步骤726中计算相对高度。

如上文中所讨论的,计算系统100可以在步骤728中确定竖直转移。计算系统100可以基于竖直移动事件332的确定或在确定竖直移动事件332之后确定竖直转移。

计算系统100可以通过确定建筑结构的一个或多个相应的层级210上的图2的层级变化进出位置216、图2的层级变化类型218或其组合来确定竖直转移。计算系统100可以将层级变化进出位置216确定为如步骤1004中跟踪的竖直移动事件332的初始水平位置、最终水平位置或其组合。

计算系统100可以基于与竖直移动集322匹配的移动信息来确定层级变化类型218。例如,计算系统100可以在移动信息匹配路径移动集324时将层级变化类型218确定为图2的竖直路径220、在移动信息匹配直升电梯移动集326时将层级变化类型218确定为直升电梯224、自动扶梯移动集328,或其组合。

如上文中所讨论的,计算系统100还可以在步骤730中传送或存储数据。计算系统100可以将以上讨论的多种处理结果存储在一个或多个存储电路中。计算系统100还可以使用一个或多个通信电路在设备之间传送多种处理结果或数据中的一个或多个。

例如,用户设备可以基于竖直变化触发330的匹配、竖直移动事件332或其组合将传感器数据、位置数据或其组合发送到由图1的第二设备106所表示的云或服务器。第二设备106可以确定竖直变化触发330、转移位置和类型、计算图3的相对海拔306或其组合。

此外,例如,用户设备可以在步骤730之前执行或实施图10中的所有步骤。用户设备可以基于竖直移动事件332将相对海拔306、转移位置和类型或其组合上传到第二设备。

已经发现,使用低功率电路来检测竖直变化触发330的匹配且随后启动高功率电路为终端用户设备提供了延长的电池使用时间。使用低功率电路来执行初始监控和检查可以比高功率电路使用更低的能量。使用竖直变化触发330启动高功率电路来以更高的精确度充分识别竖直移动事件332可以在不牺牲精确度的情况下提供更高效的电力使用。

此外,已经发现,基于竖直移动事件332或在竖直移动事件332之后传送或上传由终端用户设备计算的相对海拔306提供了提高的整体处理效率。上传相对海拔306而非上传或表示原始传感器数据的可以减少在第二设备106处存储或处理的数据量。此外,基于竖直移动事件332或在竖直移动事件332之后上传相对海拔306可以进一步减少在第二设备106处存储或处理的数据量。

现在,参考图11,其中示出了图7的竖直定位步骤710的详细示例性流程图。计算系统100可以基于确定进入步骤714来竖直地定位终端用户或用户设备。

如上文中所讨论的,计算系统100可以基于有关表示进入到图2的建筑结构202中的图2的出入事件238的确定、响应于有关表示进入到图2的建筑结构202中的图2的出入事件238的确定、在有关表示进入到图2的建筑结构202中的图2的出入事件238的确定之后或其组合来竖直地定位图1的第一设备102、图1的另外的设备108或其组合。竖直定位步骤710可以表示图3的竖直定位机制302。

竖直定位步骤710可以与以上所讨论的有关图7的步骤706中的跟踪内部移动构成整体、可以连接到有关图7的步骤706中的跟踪内部移动、可以包括有关图7的步骤706中的跟踪内部移动或其组合。竖直定位步骤710可以包括在步骤1102中传送地图、在步骤724中确定环境数据、在步骤726中计算相对高度、在步骤1104中竖直定位用户设备、在步骤730中传送或存储数据、在步骤722中确定过程触发、在步骤720中确定离开事件或其组合。

计算系统100可以在步骤1102中传送地图。计算系统100可以基于访问图2的内部地图206来传送地图。计算系统100可以使进入建筑结构202的图1的第一设备102、图1的另外的设备108或其组合访问建筑结构202的内部地图206。计算系统100还可以使图1的第二设备106访问内部地图206,从而跟踪建筑结构202内的终端用户设备。

计算系统100可以传送和访问为了竖直定位与终端用户设备有关的图1的系统用户110、图1的另外的用户112或其组合而生成的内部地图206。计算系统100可以使用内部地图206来在建筑结构202内的图2的层级210的具体实例上定位终端用户设备。计算系统100可以将终端用户设备竖直地定位到特定于建筑结构202的层级210的实例,而不进行海拔测量或高度测量。

计算系统100可以使用单个设备内的一个或多个存储接口、一个或多个控制接口或其组合来访问与出入事件238对应的建筑结构202的内部地图206。计算系统100还可以使用一个或多个通信电路、一个或多个控制电路或其组合通过发送和接收内部地图206来跨越多个设备访问内部地图206。

计算系统100可以在步骤724中确定环境数据。如上文中所讨论的,计算系统100可以通过确定包括图2的环境测量值228或图2的移动测量值234的传感器数据来确定环境数据。计算系统100响应于有关步骤714中的进入事件的确定、有关步骤722中过程触发的确定或其组合、基于有关步骤714中的进入事件的确定、有关步骤722中过程触发的确定或其组合、在有关步骤714中的进入事件的确定、有关步骤722中过程触发的确定或其组合之后、或其组合来实施或执行步骤724。

计算系统100可以在步骤726中计算相对高度。如上文中所讨论的,计算系统100可以通过确定图3的相对海拔306来计算相对高度。计算系统100可以基于步骤724中确定的环境数据来计算相对海拔306。

计算系统100可以在步骤1104中竖直地定位用户。计算系统100可以通过确定图3的用户当前楼层308来竖直地定位用户。计算系统100可以基于确定表示建筑结构202的内部地图206内的层级210的用户当前楼层308来竖直地定位进入建筑结构202的第一设备102、另外的设备108或其组合。

计算系统100可以基于终端用户设备的相对海拔306和包括图2的竖直配置文件208的内部地图206来确定用户当前楼层308。例如,计算系统100可以根据图3的相对层级海拔212、图3的层级间隔配置文件214或其组合将用户当前楼层308确定为与相对海拔306匹配的层级210的实例。

计算系统100可以使用图6的楼层定位模块610来竖直地定位用户。计算系统100还可以使用一个或多个控制电路来比较数值和确定用户当前楼层308。

计算系统100可以在步骤730中传送或存储数据。如上文中所讨论的,计算系统100传送或存储多种数据。计算系统100还可以将用户当前楼层308存储在一个或多个控制电路中。计算系统100还可以使用一个或多个通信电路来在设备之间发送和接收用户当前楼层308。

计算系统100可以在步骤722中确定过程触发。计算系统100可以基于确定图3的竖直变化触发330的匹配、基于确定图3的竖直移动事件332或其组合来确定过程触发。控制流程可以基于确定过程触发来转到步骤724中的确定环境数据。

计算系统100还可以在步骤720中确定离开事件。如上文中所讨论的,计算系统100可以通过确定与终端用户设备从建筑结构202离开对应的出入事件238来确定离开事件。计算系统100可以在实施或执行步骤722之后或在实施或执行步骤722时来实施或执行步骤720。计算系统100还可以与步骤710、步骤706或其组合内的其他具体步骤同时或并行地实施或执行步骤720。

已经发现,基于相对海拔306的用户当前楼层308在竖直定位用户时提供了更高的精确度。相对海拔306可以用于对用户设备进行归一化和地图绘制并且利用设备的多样性,而无需考虑多种来源机制和时间。

进一步发现,根据无监督机制(诸如,图2的层级地图绘制机制226或竖直定位机制302)的基于内部地图206的用户当前楼层308提供了更高的可用性和更高的鲁棒性。使用相对海拔306允许在没有图1的直接用户输入114且没有图1的结构化基础信息116的情况下的地图绘制和定位过程。

计算系统100可以使用用户当前楼层308来提供多种特征。例如,计算系统100可以访问具体楼层信息,诸如,用户当前楼层308的二维地图、层级变化进出位置216、层级变化类型218或其组合。此外,例如,计算系统100可以生成用户当前楼层308上特定或可用的建议或信息的通知或通信。

作为更具体的示例,计算系统100可以提供用于紧急情况的层级变化进出位置216的具体实例。计算系统100可以基于层级变化类型218来通知系统用户110适合撤离的层级变化进出位置216。此外,作为更具体的示例,计算系统110可以通知有关用户当前楼层308、用户当前楼层308上的系统用户110的水平位置或其组合的紧急服务。

此外,作为更具体的示例,计算系统100可以基于系统用户110的周围环境或情况来提供层级变化进出位置216的具体实例。计算系统100可以向系统用户110建议竖直路径220以增加身体活动或满足身体活动目标、在系统用户110携带负重或身体有伤时通知系统用户110采用直升电梯224或其组合。

现在,参考图12,其中示出了在另外的实施方式中操作图1的计算系统100的方法1200的示例性流程图。示例性流程图1200可以包括在框1202中确定表示地理位置处的建筑结构内所测量的条件的环境测量值;以及在框1204中利用控制电路基于环境测量值来生成地图,从而沿着竖直方向绘制建筑结构的层级的地图。

根据用户设备的图3的相对海拔306和建筑结构202的图2的内部地图206的物理转移导致物理世界中的移动,诸如用户设备的物理移动。物理世界中的移动引起传感器数据的更新,这可以反馈到计算系统100中并调整相对海拔306、内部地图206、图3的用户当前楼层308或其组合。

本文中所描述的电路、单元、函数或其组合可以为图4的第一控制电路412、图4的第二控制电路434、图5的第三控制电路512或其组合中的包括无源电路、有源电路或无源电路和有源电路两者的硬件实现方式或硬件加速器。电路、单元、函数或其组合还可以为图1的第一设备102、图1的第二设备106、图1的另外的设备108或其组合内但是在第一控制电路412、第二控制电路434、第三控制电路512或其组合外的包括无源电路、有源电路或无源电路和有源电路两者的硬件实现方式或硬件加速器。

计算系统100已经以电路、步骤、函数或顺序为例进行描述。计算系统100可以不同地划分电路或步骤、或对电路或步骤进行不同地排序。例如,图7的步骤706或其中的一部分可以与图7的步骤710分开地重复。此外,例如,图7的步骤704可以包括在图7的步骤702中。

为了说明的目的,已经针对第一设备102、第二设备106、另外的设备108或其组合描述了多种电路、函数、步骤或其组合。然而,应理解的是,电路、函数、步骤或其组合可以不同地分布。例如,多种电路、函数、步骤或其组合可以在不同的设备中实施,或者电路、函数、步骤或其组合的功能可以跨越多个设备分布。此外,作为示例,多种电路、函数、步骤或其组合可以存储在非暂时性存储介质中。

作为更具体的示例,以上描述的一个或多个函数、步骤或其组合可以保存在非暂时性存储介质中,以分配给不同的系统、不同的设备、不同的用户或其组合。此外,作为更具体的示例,以上描述的函数或步骤可以使用单个硬件单元或电路(诸如,芯片或处理器)来实施或存储、或在多个硬件单元或电路上实施或存储。

本申请中描述的函数或步骤可以存储在非暂时性计算机可读介质中。图4的第一存储电路414、图4的第二存储电路446、图5的第三存储电路514或其组合可以表示非暂时性计算机可读介质。第一存储电路414、第二存储电路446、第三存储电路514或其组合、或其中的一部分能够从第一设备102、第二设备106、另外的设备108或其组合中移除。非暂时性计算机可读介质的示例可以为非易失性存储器卡或非易失性存储器条、外部硬盘驱动、盒式磁带或光盘。

得到的方法、过程、装置、设备、产品和/或系统是简单的、低成本的、不复杂的、高度通用的、精确的、灵敏的和有效的,并且可以通过调整已知部件来实施,以进行准备好的、高效的且成本低的制造、应用和利用。本发明的实施方式的另一重要方面在于它有价值地支持并遵循了降低成本、简化系统和增加性能的历史趋势。因此,本发明的实施方式的这些以及其他有价值的方面将技术状态至少推进到下一级别。

虽然已经结合具体的最佳模式描述了本发明,但是应理解的是,根据上述描述,许多替代、修改和变化对于本领域的技术人员将是显而易见的。因此,本申请旨在包含落入所附权利要求的范围内的所有此类替代、修改和变化。在本文中阐述的或在附图中示出的所有内容应以说明性而非限制性的含义进行解释。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1