我正在开发一个应用程序,它通过沿房间边缘操纵 Sphero 机器人球来映射房间。
为此,我需要三个数据集从 sphero 连续流式传输到(android)应用程序:
- 碰撞检测以检测进入房间“内部”的角落
- 定位器数据以了解检测到的角落在哪里
- Sphero 向一侧移动,同时驱动稍微向边缘倾斜,以检测房间“外面”的角落。
我的碰撞检测和定位器数据流的实现没有问题,但是关于额外的流运动数据有一些问题。
第一个大问题是如何做到这一点,因为定位数据和移动数据通过异步数据流以相同的方式流式传输。当我通过电子邮件联系 Sphero 支持时,这个问题已经得到解答:
通过按位或 (|) 链接在 SetDataStreamingCommand 中声明的多个数据流掩码,可以将 Sphero 配置为同时流式传输多个数据集。
但是,我仍有未解决的问题:
我计划使用velocity-x 掩码来获取运动数据,这些数据是相对于球体(与行驶方向成90° 角的运动)还是相对于世界(如定位器速度数据)?
在传递给侦听器的事件数据中,velocity-x 数据将存储在哪里?
谢谢你的回答