在我们的项目中(主要是Android),我们需要在一个大的建筑物(只有一层)中放置很多锚点,锚点的位置必须尽可能准确(这意味着漂移是我们必须尽可能避免或减少的事情!!)。我们想确认如何实现最准确的锚图的“最佳实践”。
根据官方文档(https://docs.microsoft.com/en-us/azure/spatial-anchors/concepts/anchor-relationships-way-finding),链接锚点有两种方法(可能官方术语是'图形')。
方法 #1:在一个 CloudSpatialAnchorSession 中创建并保存所有锚点。
方法#2:创建并保存一个锚点 -> 找到它 -> 创建并保存一个新的 -> 找到它 -> ...重复上面的步骤...
实际上我发现有第三种方法: - 方法#3:使用单个或多个会话来放置和保存锚点,然后使用另一个会话一个一个地定位它们。(完成一次后,它们被链接,然后找到其中一个将显示全部)。
让我们举个简单的例子,假设我们有一个如下楼,有 9 个锚点要创建(用于 9 个不同的角)并链接:从 A 到 H。
根据我的实验,我发现对于小面积,方法 #1 效果更好。“更好”我的意思是锚留在原来的地方,没有太多的漂移。但是对于方法#1,如果你走得太远,漂移是很明显的。另一方面,我认为如果你向左或向右转,漂移会更糟。所以我对最佳实践的假设是:
我们将整条走线分成4条,每条走线应笔直(不转弯)且不宜过长。对于每个跟踪,我们执行方法 #1,在完成所有跟踪后,我们在稍后的会话中将它们链接起来。
如果这有意义,请发表评论,或者是否有任何其他最佳实践建议?谢谢。