12台のロボットを一つのBPMに同期させる方法
フリート全体でのミリ秒単位の同期は魔法ではありません——ネットワークタイミング、モーションファイルの事前ロード、そして2年かけて磨き上げてきたトリガープロトコルを、丁寧に積み重ねた仕組みです。
フリート全体でのミリ秒単位の同期は魔法ではありません——ネットワークタイミング、モーションファイルの事前ロード、そして2年かけて磨き上げてきたトリガープロトコルを、丁寧に積み重ねた仕組みです。ここでは、その裏側で実際に何が起きているのかをご紹介します。
最も難しいのはロボットそのものではありません。ネットワークです。悪いタイミングでパケットが一つ失われるだけで、1台のユニットの発火が遅れてしまいます。そしてこの規模において「遅れ」は、観客には「壊れている」ように見えてしまいます。だからこそ、トリガーそのものをネットワークに頼ることはしません——事前同期のためだけにネットワークを使い、その後は各ユニットのローカルタイマーに切り替えます。
各ロボットは、事前にロードされたモーションファイルを実行します。トリガーは、共有されたエポックタイムスタンプを載せたブロードキャストUDPパケットです。各ユニットは自らのオフセットを計算し、ローカルメモリから発火します。パケットが到着する頃には、モーションはすでにRAM上に展開されています。
結果:12台のユニットにわたって±1ミリ秒。実際には、見ている人間にとってはゼロと見分けがつきません。それでも私たちは測定を続けます——測定をやめた日こそが、ズレが生じ始める日だからです。
現在、屋外公演向けにハードウェア同期ラインへの移行を進めています。屋外ではRF干渉が、信頼性の高いローカルネットワークでさえ揺らがせてしまうことがあるためです。原則は変わりません——すべてを事前にロードし、一度だけトリガーし、ローカルクロックを信頼すること。
次のイベントにこの精度が欲しいですか?
パフォーマンスを予約 →