我正在尝试为 sphero 构建一个 android 应用程序,我需要在房间的某些区域停止 sphero,并且我正在尝试locatorData
使用DeviceMessenger.AsyncDataListener
.
然而,我注意到,当他还在滚动时,不可能知道他在哪里,当它在某个坐标集时停止它是不可能的,因为数据到达的延迟很大。他基本上停得更远,我可以看到坐标随着屏幕上的延迟而增加。我知道通信是异步的,我可能会在通信过程中以某种方式丢失一些数据,但我认为通过在我希望他所在的坐标周围给他一个窗口,我可以或多或少地阻止他在那个区域,但它没有看起来它工作得不体面。
目前,我想出的唯一解决方案是发送滚动命令,根据速度计算滚动到这些坐标所需的时间并发送延迟停止命令,但我不喜欢这样解决方案,当我实现我需要的所有功能时,我认为从长远来看它不会正常工作。locatorData
有没有人对在这种情况下以及如何使用它有任何建议?