问题标签 [indoor-positioning-system]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android 中显示自定义地图?
我是在 Android 上使用地图的新手,作为自定义地图我的意思是由我自己的地图服务器构建的地图(我正在使用带有 WMS 的 GeoServer) 我应该创建自定义视图还是可以使用 MapFragment?或者我可以使用的任何库?(我的自定义地图适用于室内位置)
android - 旋转设备时磁场测量的奇怪行为
情况:
我正在尝试通过指纹识别利用建筑物内的磁场变化来创建一个室内定位系统。作为传感器,我使用我的手机 Galaxy Nexus。
基本上,获取我的指纹的想法是分别测量 x、y 和 z 方向的磁场,并通过移动设备的方向旋转矢量以将矢量带入世界坐标系。为了定位某人,他还测量了磁场,旋转矢量并将其发送到服务器,我将在服务器上运行我的定位算法。
我的问题:
当我在不同方向测量同一点的磁场时,旋转矢量后不会得到相同的结果。甚至场强也不一样。
为了证明这一点,我在同一位置进行了四次测量,并将手机绕着他的 z 轴(标准 Android 规范)分别逆时针旋转了 90、180 和 270 度。结果可以在该“表”和下面的 Matlab 图(点击链接)上看到(如果您想获得其他视图,请告诉我)
编辑: 更准确地说:我真正做的是我定义了我自己的坐标系,称为房间坐标系。我拿了房间的一面墙,把它定义为北。当它平放在桌子上时,我的手机外星人与那面墙(在第一个位置)的 y 轴。因此,正 z 轴指向天空,x 轴定义为 90 度角的墙壁。以“Raw”命名的向量是手机的原始值,因此它们位于手机的坐标系中。以“Rotated”命名的向量被旋转到该“房间坐标系”中。在图中,虚线向量是原始向量,实线向量是旋转向量。
正如您所看到的,即使在旋转它们之后它们也并不真正匹配。你知道为什么会这样吗?有什么我可能还没有考虑到的吗?提前非常感谢!
编辑2:
第二次实验
我做了另一个实验,结果更好,但仍然没有我预期的那么好。这一次,方向并不像应有的那样恒定。这次我在户外进行了测量。我将 y 轴疏远到真北并将其平放在地面上。我将它逆时针旋转了大约 3 次 90 度。我用另一台相机拍摄了手机位置的照片,并用 Photoshop 测量了实际旋转。您可以在表格和下面的图表中看到结果:
补充笔记:
这些值是几秒钟内的平均值。所以这不是噪音的问题。
我知道我不能使用该函数getOrientation
,因为它使用磁场来计算方向,这没有意义,因为我想找到磁场的变化。对于上面的示例,我手动创建了旋转四元数。
iphone - iOS 的室内导航硬件/软件要求
我正在为我的大学开发导航系统作为某种研究活动。我正在使用 SVGKit 来显示平面图。现在我需要为导航和跟踪提供用户定位服务。所以这是我的问题:
1) 我是否需要在大学安装一些特殊的硬件(例如 Cisco MSE,或者一些更便宜的类似物),或者我可以将一些软件/技术应用到我们当前的硬件上来确定服务器端用户位置?如果我这样做,我需要什么设备?我的意思是,整个大学一个单元,或者每层一个单元,或者什么? 2)Q:为什么Redpin iPhone客户端不符合iPhone SDK协议?答:Apple 不提供公共 API 来检索 WiFi 数据。为了让 iPhone 客户端正常工作,我们必须使用私有 API,这是 iPhone SDK 协议所不允许的。
(c) http://redpin.org/faq.html
是不是意味着RedPin在AppStore中不被接受,所以我不能使用? 3) Navizon ITS是否需要除标准路由器之外的某些特定硬件设备?谢谢大家,希望大家能给我更好的解决方案。提前致谢。
google-maps - Google Maps V6 室内导航
有人知道谷歌的室内导航是如何工作的吗?它是基于 WiFi 的吗?如果是这样,他们是否依赖于街景车辆映射的现有 Wifi DB?谢谢万儿
android - 建筑室内地图 - Android
我正在尝试创建一个应用程序,该应用程序将告诉人们他们所在的建筑物的哪个区域。我正在使用蓝牙加密狗来获取大致位置,而不是确切位置,并在地图上向用户显示他们所在的位置. 我希望它只是突出他们所在的区域,而不是特定的位置。
我可以得到我正在使用的建筑物的平面图,所以我只是想知道是否有一种简单的方法可以将其合并到具有现有 API 的某种地图中?我在这里发现了一个问题,指出他们只是在图像上使用叠加层来显示人在哪里的标记。这会容易一些吗?
这是我最后一年的项目,所以如果可能的话,我想有一些华丽的地图,但我不确定从哪里开始寻找或者是否可能。
我还发现了这个问题,它提供了多种实现和室内地图的应用程序,但我认为我不能只从它们中提取我需要的一小部分功能,因为它们似乎是完整的应用程序。
任何信息都会有很大帮助。任何有这种事情经验的人请分享你的知识:)
algorithm - 使用具有不同采样率的多个传感器的粒子过滤器
现在的情况:
我已经为室内定位系统实现了一个粒子过滤器。它使用磁场的指纹。粒子过滤器的实现非常简单:
- 我创建了均匀分布在整个区域的所有粒子
- 每个粒子都有一个速度(高斯分布,“正常”步行速度的平均值)和一个方向(均匀分布在所有方向上)
- 改变速度和方向(均为高斯分布)
- 在给定方向上移动所有粒子的速度乘以上一次和当前测量的时间差
- 找到每个粒子最近的指纹
- 通过比较最接近的指纹和给定的测量值来计算每个粒子的新权重
- 标准化
- 重采样
- 每次测量重复 #3 到 #9
问题:
现在我想做基本相同的事情,但在系统中添加另一个传感器(即 WiFi 测量)。如果测量值同时出现,就不会有问题。然后我只计算第一个传感器的概率并将其乘以第二个传感器的概率,得到我在#6 处的粒子重量。
但磁场传感器的采样率非常高(约 100 Hz),WiFi 测量值大约每秒出现一次。
我不知道处理这个问题的最佳方法是什么。
可能的解决方案:
- 我可以丢弃(或平均)所有磁场测量值,直到出现 WiFi 测量值,然后将最后一次磁场测量值(或平均值)和 WiFi 信号一起使用。所以基本上我将磁场传感器的采样率降低到 WiFi 传感器的采样率
- 对于每次磁场测量,我使用最后一次看到的 WiFi 测量
- 我使用分离的传感器。这意味着如果我测量一个传感器,我会执行所有步骤 #3 到 #9,而不使用另一个传感器的任何测量数据
- 我没有考虑过的任何其他解决方案;)
我不确定哪个是最好的解决方案。所有的解决方案似乎都不是很好。
对于#1,我会说我正在丢失信息。虽然我不确定为粒子滤波器使用大约 100 Hz 的采样率是否有意义。
在#2,我必须假设 WiFi 信号不会很快出现,这是我无法证明的。
如果我单独使用传感器,则磁场测量变得比 WiFi 测量更重要,因为所有步骤都将使用磁性数据发生 100 次,直到出现一次 WiFi 测量。
你知道处理这个问题的好论文吗?
是否已经有一个标准解决方案来处理粒子过滤器中具有不同样本大小的多个传感器?
100 Hz 的样本大小有意义吗?或者粒子过滤器的一个步骤的适当时间差是多少?
非常感谢您提供任何提示或解决方案:)
iphone - GPS室内精度
我有一个应用程序需要使用葡萄牙和巴西的手机 GPS 坐标来获得准确的地址。
当我尝试获取当前位置地址(室内)时,位置和街道名称是正确的,但街道号码和邮政编码通常是错误的。
我正在使用反向地理编码,这里的谷歌地图 API 是调用代码:
我的问题是,通过使用 IOS Maps 框架,我可以获取特定地点的坐标并将其转换为正确的地址吗?另外我可以做些什么来提高室内/室外坐标的精度?
在此先感谢,对于刚刚提出的问题的更多说明,我会在这里。
android - 使用线性加速度积分的近似室内定位
我正在尝试计算房间中 Android 手机的大致位置。我尝试了不同的方法,例如定位(在室内非常糟糕)和陀螺仪+指南针。我只需要知道步行5-10秒后的大致位置,所以我认为线性加速度的积分就足够了。我知道由于错误的传播,错误很可怕,但它可能会在我的设置中起作用。我只需要大致位置即可将相机对准 Android 手机。
我对双重积分进行了编码,但我做错了。如果手机在桌子上是静止的,则位置 (x,y,z) 总是不断增加。问题是什么?
这些是我在手机放在桌子上时得到的位置(没有动作)。(x,y,z) 值在增加,但手机还在。
这些是计算每个轴的移动平均值并从每个测量值中减去后的位置。电话也还在。
如何改进代码或其他方法以获取房间内的大致位置?
google-maps - 保留私人谷歌室内位置
再一次,我试图处理 Google Maps API 上没有很好记录的东西。
我正在做一个小型网络应用程序,它需要能够映射室内区域,但我必须将它们保密。
目前,我没有找到与此问题相关的任何信息。我在 stackoverflow 上发现了许多非常相似的问题,这似乎满足了我对标题的需求,但是一旦我阅读了这个问题,一切都与 Android 或 IOS 有关,但是,我希望使用 Maps API 在常规 WebPlatform 上执行此操作为本平台提供。
如果有人作为提示,它真的会有所帮助,在此先感谢。