ロボットのデータを包のまま散らかさず、Mosaico は一つの土台で保管し問い合わせる

要約

Mosaico はロボットの散らばった感知器の記録を、問い合わせできる資料の資産へまとめる。Rust の守りの工程と Python の開発の組で、Apache-2.0 の公開、ROS と ROS 2、MCAP に対応する。

おすすめ
ソフト名
Mosaico
バージョン
0.6.1
オープンソース
オープンソース
OS
macOSLinux
公式サイト
https://mosaico.dev
更新日時
2026-10-10 15:08

Mosaico は Mosaico Labs がロボットと身体を持つ AI のために作った公開のデータ基盤で、散らばった感知器の記録を、問い合わせでき訓練にも使える資料の資産へまとめる。

ロボットのデータで最も扱いにくいのは集めた後の部分だ。自分で走る装置が一度走れば、lidar は 10 ヘルツで走査し、動きを測る装置は 100 ヘルツで記録し、カメラは 30 ヘルツで撮る。しかも三つの感知器の時計はゆっくりずれていく。これがディスクの上では数百 GB から始まる記録の包になり、その一秒のある一筋を取りたいと思えば、まず包を丸ごと解かねばならない。訓練に回す段になると、さらに一度きりのスクリプトを山ほど書き、非同期で疎なデータを決まった割合の並びへそろえることになる。

Mosaico はこれを基盤として作る。Mosaico Labs が開発し、2025 年 12 月に GitHub で公開、Apache-2.0 の許可を採る。三人の共同の起こし手はパルマとシリコンバレーの間で十数年、自動で走る車の仕組みに携わり、PB 級で高い頻度の感知器のデータを長く扱ってきた。彼らの言葉では、壊れやすく、調べにくく、ほとんど検めようのない手作りの流れこそ、作り直しの起こりだという。

画面

二つの部品、Rust の守りの工程と Python の開発の組

基盤全体は二つの部品からなる。サービスの側は mosaicod という守りの工程で Rust で書かれ、保管、目録の管理、データの書き込みと取り出しを受け持つ。使い手の側は Python の開発の組で、開発者は自分のスクリプトへ取り込み、上げたり問い合わせたりする。両者の間は普通のサービルと使い手の形で、データはどちらへ動いても余分な変換を要さず、形式の入れ替えもしない。

取り出す道はひとこと添える値がある。普通のやり方はデータをバイトの並びとして扱うので、一筋を取るにはファイル全体を頭から解くことになる。Mosaico は現代のデータの湖の考えを借り、写しを作らずに指定の筋へ直接でたらめに届く仕組みを使い、包の形式そのものの限界を越える。流れは書かれるそばから索引が付き、問い合わせの仕組みがそれで不要な部分を切り落とし、要る一区間だけを出す。

画面

書く、問う、再生する、三つの素

開発の組の口はわざと薄く、提供側は push、find、stream の三つの動きにまとめる。書く、問う、再生するに対応する。書くときはまず並びを作り、その中に主題を作り、時印の付いた知らせを一つずつ押し込む。主題は作るときに本体の型を結び、たとえば動きを測る装置になる。会話の層と主題の層はそれぞれ誤りの際の決まりを持ち、失敗したらきれいに消すか、一部を残して戻せるようにする。

問い合わせは鎖の組み立てで書き、SQL も要らず、別の問い合わせの言葉も覚えなくてよい。並びの名で合わせることも、業務の付帯情報で絞ることもでき、たとえば案件の名が或る値に等しいという条件と、見えやすさが 50 未満という条件を組み合わせれば、サービスの側が一度の求めで複数の領域の絞り込みを終える。どの一致も、始まりと終わりの時印をナノ秒まで正確に返す。

画面

型を持つ本体、データが物理の量で語る

問い合わせをここまで短く書けるのは、データの上に厳密な型を持つ本体を重ねているからだ。一つの知らせをバイトの並びとは見なさず、意味の上で何であるかを知っていなければならない。提供側は動きを測る装置、衛星の位置、画像、圧力といったよくあるロボットのデータの型を備え、開発者は数行の Python で自分の型を足せる。

本体の直接の利点は、問い合わせを物理の量で書けることだ。加速度の条件を書くときは、加速度の x 軸の値を見る判断としてそのまま書け、同じ条件が絞り込みにもまとめにも使える。提供側はさらに、一致した結果を時間の窓でかたまりにまとめる絞り込みや、主題をまたいで重なりを取る絞り込みも用意し、「いつそれが起きたか」に答える。どの主題が条件に合うかだけではない。

変えられないデータの層と由来

もう一つの取り捨ては版の管理にある。よくあるのはデータに版の番号を付けることだが、番号は「この問い合わせがどの写しを見たか」を曖昧にする。Mosaico は代わりに変えられない層を使う。新しいデータは横に積み重なり、古い層は決して書き換えない。だから問い合わせの履歴は定まり、繰り返せ、生の感知器から訓練の組までの変換がすべて辿れる。故障を後から振り返る場や、結果を証明したい場では、この一点が速さより重い。

感知器の流れを訓練のかたまりへそろえる

基盤に備わる機械学習の部品は、生の記録から訓練のデータまでの道を受け持つ。そろっていない感知器のデータを受け、取り出し、同期、窓切りを三つの段に分ける。取り出しは入出力と記憶を、同期は時間のそろえを、窓切りはかたまりの形を受け持つ。三つは別々に調えたり入れ替えたりできる。開発者は標本の歩みを指定し、できたかたまりはそのまま細かな調整に使える。手元に大きな中間の書面を作る必要はなく、データの組も基盤から流して読め、包ごと落とさずに済む。

基盤はデータの本体、複数の様式の取り出し、データの由来といった段を覆う。

つなぎ、置き、動く場所

データの取り込み側は ROS、ROS 2、MCAP といったよくあるロボットのデータの形式をそのまま支え、中間の軟らかな層から切り離され、縮め方は形式に応じて自動で調う。これ以外にも基盤はデータの本体、複数の様式の取り出し、データの由来、段取り、証明できること、データの入れ物の六つの段を覆う。

置く段では mosaicod が建てた済みの実行ファイルと入れ物の像を出し、版の印は安定版、小さな版、正確な版、毎日の建ての四つに分かれ、本番では正確な版を留めるのがよい。保管は既定で S3 と両立する対象の保管を支え、手元のファイルの仕組みへ落とすこともでき、付帯情報は PostgreSQL の一つの実体に頼る。守りの工程はいま Linux と macOS だけを支え、Windows では WSL2 の中で動かす。


公開と商業の二つの道

Mosaico は Apache-2.0 の許可で公開され、中核の仕組み、中間の層からの独立、ROS との両立はいずれも公開の範囲に入る。提供側は「この基礎の層に払いの壁を置かない」と最初の画面に書いた。もう一つの道は商業の許可で、企業の場に向き、検めの面、細かな接する権の制御、使い手の管理、自前のデータベースとデータのつなぎを出す。ただし案件は公開されていても、法の理由により今は外からの合わせの求めを受けず、加わりたい人はまず班へ連絡し、認められた貢献者になる必要がある。

記録の包から資料の資産へ。Mosaico が扱っているのは、実に具体的な問題だ。ロボットの班が自分でデータの流れを継ぎ合わせずに済むようにし、保管と取り出しと訓練データの準備を一つの共通の土台へ渡す。

Mosaicoダウンロード
対応OS: macOS Linux