Sphero ロボット ボールを端に沿って操縦して部屋をマッピングするアプリを開発しています。
このためには、sphero から (android) アプリに継続的にストリーミングされる 3 つのデータセットが必要です。
- 部屋の「内側」に入るコーナーを検出する衝突検出
- 検出されたコーナーがどこにあるかを知るためのロケータ データ
- 部屋の「外側」に出る角を検出するために、Sphero を横に動かし、端に向かって少し傾けて運転します。
衝突検出とロケータ データ ストリーミングの実装は問題なく動作していますが、移動データの追加ストリーミングについていくつか質問があります。
最初の大きな問題は、ロケーター データと移動データが非同期データ ストリーミングを介して同じ方法でストリーミングされるため、これを行う方法です。この質問は、Sphero サポートに電子メールで問い合わせたときにすでに回答がありました。
SetDataStreamingCommand で宣言された複数のデータ ストリーミング マスクをビットごとの OR (|) でリンクすることにより、複数のデータセットを同時にストリーミングするように Sphero を構成できます。
ただし、まだ未解決の質問があります。
移動データに速度 x マスクを使用することを計画しています。このデータは球相対 (運転方向に対して 90° の角度での移動) またはワールド相対 (ロケータ速度データなど) ですか?
リスナーに渡されるイベント データの中で、速度 x データはどこに格納されますか?
あなたの答えを前にありがとう