7 Punkte von xguru 2024-12-05 | Noch keine Kommentare. | Auf WhatsApp teilen
  • 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.

Noch keine Kommentare.