Mosaico laesst Roboterdaten nicht mehr in Beuteln verstreuen, sondern an einem Ort speichern und abfragen
Zusammenfassung
Mosaico macht aus verstreuten Sensorprotokollen ein abfragbares Gut: ein Waechter in Rust und ein Python Baukasten, offen unter Apache-2.0, mit Unterstuetzung fuer ROS, ROS 2 und MCAP.
Empfehlen- Name
- Mosaico
- Version
- 0.6.1
- Open Source
- Open Source
- Betriebssystem
- macOSLinux
- Webseite
- https://mosaico.dev
- Aktualisiert
- 2026-10-10 15:08
Mosaico ist eine offene Datenplattform von Mosaico Labs fuer Roboter und koerperliche KI, die verstreute Sensorprotokolle zu einem Gut zusammenfasst, das sich abfragen und zum Lernen nutzen laesst.
Das Schwerste an Roboterdaten kommt nach dem Sammeln. Ein selbstfahrender Aufbau macht eine Fahrt, der Lidar tastet mit 10 Hertz, die Messeinheit fuer Bewegung schreibt mit 100 Hertz, die Kamera nimmt mit 30 Hertz auf, und die Uhren der drei Sensoren driften langsam auseinander. Auf der Platte landet das meist als ein Beutel, der bei einigen hundert Gigabyte beginnt, und ein Signal aus einer Sekunde herauszuholen heisst, zuerst den ganzen Beutel zu oeffnen. Bis es in ein Modell geht, kommt ein Stapel einmaliger Skripte dazu, die ungleichzeitigen, duennen Daten auf feste Raten auszurichten.
Mosaico behandelt das als Grundausstattung. Es wird von Mosaico Labs gebaut, im Dezember 2025 auf GitHub unter Apache-2.0 geoeffnet. Die drei Gruender arbeiteten ueber ein Jahrzehnt an Systemen fuer selbstfahrende Fahrzeuge zwischen Palma und dem Silicon Valley und hatten lange mit Sensordaten in Petabyte Groesse und hoher Frequenz zu tun; nach ihrer Darstellung waren genau diese zerbrechlichen, schwer zu pruefenden, kaum nachvollziehbaren handgebauten Leitungen der Anlass fuer den Neubau.

Zwei Bausteine: ein Waechter in Rust und ein Python Baukasten
Die Plattform besteht aus zwei Teilen. Der Dienst ist ein Waechter namens mosaicod, in Rust geschrieben, zustaendig fuer Speicher, Verzeichnis, Schreiben und Finden; der Teilnehmer ist ein Python Baukasten, den Entwickler in eigene Skripte holen, um hochzuladen und abzufragen. Dazwischen liegt ein uebliches Verhaeltnis von Dienst und Teilnehmer, und Daten brauchen in beide Richtungen keine zusaetzliche Umsetzung und keinen Formatwechsel.
Der Weg des Findens verdient einen eigenen Satz. Der uebliche Ansatz behandelt Daten als Folge von Bytes, also heisst ein Signal zu lesen, die ganze Datei von vorne zu zerlegen. Mosaico leiht sich den Gedanken des modernen DatenSees und greift mit einem Aufbau ohne Kopie direkt auf ein bestimmtes Signal zu, ueber die Grenzen des Beutelformats hinweg; Stroeme werden beim Schreiben von selbst indiziert, die Abfrage schneidet mit Hilfe des Index alles Unnoetige weg, und nur das gebrauchte Stueck kommt heraus.

Schreiben, Abfragen, Abspielen: drei Grundgriffe
Die Schnittstelle des Baukastens ist bewusst duenn und vom Anbieter auf drei Griffe gebracht: push, find und stream, also Schreiben, Abfragen und Abspielen. Schreiben heisst, erst eine Reihe anzulegen, darin ein Thema, dann mit Zeitstempel versehene Nachrichten einzeln hineinzuschieben; ein Thema bindet beim Anlegen seinen Koerpertyp, etwa die Messeinheit fuer Bewegung. Die Ebene der Sitzung und die Ebene des Themas tragen je eine eigene Regel fuer den Fehlerfall, entweder sauber loeschen oder Teilbestand zum Wiederherstellen behalten.
Abfragen werden durch Aneinanderhaengen gebaut, ohne SQL und ohne eine zweite Sprache zu lernen. Man kann auf den Namen der Reihe passen oder auf fachliche Angaben filtern, etwa Projektname gleich einem Wert mit Sichtbarkeit unter 50 verbinden, und der Dienst erledigt den Filter ueber mehrere Bereiche in einer Anfrage. Jeder Treffer kommt mit genauen Anfangs und Endzeitstempeln auf die Nanosekunde.

Ein getippter Koerper, damit Daten in physikalischen Groessen sprechen
Dass Abfragen so kurz ausfallen, liegt an einem streng getippten Koerper ueber den Daten. Eine Nachricht gilt nicht als Folge von Bytes, sondern muss in ihrer Bedeutung bekannt sein. Der Anbieter bringt Modelle fuer gaengige Roboterdaten mit, etwa Messeinheit, Satellitenortung, Bild und Druck, und ein Entwickler kann den Satz in wenigen Zeilen Python um ein eigenes Modell erweitern.
Der unmittelbare Gewinn ist, dass eine Abfrage in physikalischen Groessen geschrieben wird. Eine Bedingung zur Beschleunigung liest sich als Pruefung des Wertes auf der x Achse, und dieselbe Bedingung dient dem Filtern wie dem Zusammenfassen. Der Anbieter bietet zusaetzlich Filter, die Treffer in einem Zeitfenster zu Haufen sammeln und die ueber Themen hinweg schneiden, was die Frage beantwortet, wann etwas geschehen ist, und nicht nur, welches Thema passt.
Eine unveraenderliche Datenschicht und die Herkunft
Ein weiterer Kompromiss liegt in der Verwaltung der Fassungen. Der uebliche Weg ist eine Nummer an den Daten, doch Nummern machen unklar, welche Kopie eine Abfrage gesehen hat. Mosaico nimmt stattdessen eine unveraenderliche Schicht: neue Daten legen sich seitlich dazu, alte Schichten werden nie umgeschrieben, also bleibt der Verlauf der Abfragen bestimmt und wiederholbar, und jeder Schritt vom rohen Sensor bis zum Lernstapel laesst sich zurueckverfolgen. Wer einen Fehler spaeter nachvollziehen oder ein Ergebnis belegen muss, dem ist das wichtiger als Tempo.
Sensorstroeme zu Lernstapeln ausrichten
Der eingebaute Baustein fuer maschinelles Lernen deckt den Weg von der rohen Aufzeichnung zu den Lerndaten. Er nimmt nicht gleichzeitige Sensordaten und trennt die Arbeit in drei Stufen: Ziehen kuemmert sich um Ein und Ausgabe und Speicher, Gleichlauf um die Ausrichtung der Zeit, Fenstern um die Form des Stapels, und die drei lassen sich einzeln einstellen oder ersetzen. Ein Entwickler gibt die Schrittweite der Abtastung vor, und der Stapel geht direkt in die Feinabstimmung, ohne zuerst eine grosse Zwischendatei vor Ort zu bauen, und ein Datensatz laesst sich aus der Plattform stroemen statt ganz herunterzuladen.
Anschluss, Ausrollen und wo es laeuft
Beim Anschluss unterstuetzt es von Haus aus gaengige Formate fuer Roboterdaten wie ROS, ROS 2 und MCAP, bleibt von der Mittelschicht geloest und laesst die Verdichtung dem Format folgen. Darueber hinaus deckt die Plattform sechs Stufen ab: Koerper der Daten, multimodales Finden, Herkunft, Ablaufsteuerung, Belegbarkeit und Behaelter fuer Daten.
Zum Ausrollen liefert mosaicod fertige Programme und Abbilder fuer Behaelter, mit Kennzeichnungen in vier Arten, stabil, kleine Fassung, genaue Fassung und taeglicher Bau, und im Betrieb ist eine genaue Fassung zu fixieren. Der Speicher unterstuetzt standardmaessig Objektspeicher nach S3 und kann auch auf das eigene Dateisystem fallen, die Angaben brauchen eine Instanz von PostgreSQL. Der Waechter laeuft derzeit nur unter Linux und macOS, unter Windows also in WSL2.
Offener und gewerblicher Weg
Mosaico ist unter Apache-2.0 offen, mit Kern, Unabhaengigkeit von der Mittelschicht und Vertraeglichkeit mit ROS im offenen Bereich, und der Anbieter hat auf die Startseite geschrieben, dass vor diese Grundschicht keine Bezahlschranke kommt. Der andere Weg ist eine gewerbliche Lizenz fuer Unternehmen, mit Pruefflaeche, feiner Steuerung des Zugangs, Verwaltung der Nutzer sowie eigenen Datenbanken und Verbindern. Allerdings nimmt das Projekt trotz offener Quelle aus rechtlichen Gruenden derzeit keine Zusammenfuehrungen von aussen an, wer mitmachen will, muss sich zuerst an das Team wenden und anerkannter Mitwirkender werden.
Vom Beutel zum Gut: woran Mosaico arbeitet, ist ein sehr genaues Problem. Robotusteams sollen ihre Leitung nicht mehr selbst zusammenstueckeln, und Speicher, Finden und die Vorbereitung der Lerndaten gehen an eine gemeinsame Grundlage.