我正在开发一个应用程序,通过沿着它的边缘操纵Sphero机器人球来映射房间。
为此,我需要从sphero连续流式传输到(android)应用程序的三个数据集:
我对碰撞检测和定位器数据流的实现没有问题,但是有一些关于其他流媒体移动数据的问题。
第一个重要问题是如何做到这一点,因为定位器数据和移动数据通过异步数据流以相同的方式流式传输。当我通过电子邮件联系Sphero支持时,这个问题已经得到解答了:
通过按位OR(|)链接在SetDataStreamingCommand中声明的多个数据流掩码,可以将Sphero配置为同时流式传输多个数据集。
但是,我仍然有疑问:
我打算将velocity-x蒙版用于移动数据,这些数据是相对的(与行进方向成90°角的移动)还是世界相对的(如定位器速度数据)? / p>
velocity-x数据在哪里存储在传递给侦听器的事件数据中?
感谢之前的答案
答案 0 :(得分:1)
速度X值是定位器的一部分,因此它是相对于定位器网格的速度。
当您在AsyncDataListener中获取数据时,您可以在用于定位器信息的相同LocatorData对象中找到这些值:
LocatorData#getVelocityX():float
像这样:
data.getVelocityX();
但是,这一次,值实际上将包含信息而不是零,因为您之前已经在SetDataStreamingCommand中询问了速度。