- Eine benutzerfreundliche Runtime-Engine zum Bau schneller und zuverlässiger Roboter
- Wie eine „Game Engine“ für Spiele, nur als „Robot Engine“ für Roboter
- Einfach: bietet ein High-Level-Konfigurationssystem und eine natürliche Rust-API
- Schnell: nutzt Rusts Zero-Cost-Abstraktionen und einen datenorientierten Ansatz, erreicht auf Standardhardware Latenzen von unter einer Mikrosekunde und vermeidet Heap-Allokationen während der Laufzeit
- Zuverlässig: nutzt Rusts Ownership-Modell, Typsystem und Nebenläufigkeitsmodell, um Bugs zu minimieren und Thread-Sicherheit zu gewährleisten
- Produktorientiert: zielt darauf ab, eine hochgradig vorhersagbare Runtime zu schaffen, um Integrationsprobleme der Infrastruktur in späten Entwicklungsphasen zu vermeiden
- Getestet unter Linux (x86_64, armv7, aarch64 & riskv64) und MacOS (arm64)
Technischer Überblick
- Copper ist ein datenorientiertes Robotik-SDK, das die folgenden Komponenten bereitstellt:
- Task Graph: definiert kommunizierende Tasks durch die Konfiguration der Systemtopologie wie in RON (Rusty Object Notation) beschrieben und legt die Typen von Knoten und Nachrichten fest
- Runtime Generator: bestimmt den Ausführungsplan auf Basis der Metadaten des Graphen. Allokiert die „Copper List“ im Voraus, um sequentielle Speicherzugriffe während der Ausführung zu maximieren
- Zero-Copy Data Logging: protokolliert alle Nachrichten zwischen Tasks ohne Datenkopien und sorgt so für effizientes Logging
- Fast Structured Logging: Intern und Index protokollieren Strings zur Compile-Zeit, vermeiden String-Konstruktion zur Laufzeit und ermöglichen schnelles Text-Logging
- Falls kein echter Roboter vorhanden ist, kann eine mit Bevy (Rust-Game-Engine) + Avian3d (Rust-Physik-Engine) entwickelte Simulationsumgebung genutzt werden
Noch keine Kommentare.