7 points par xguru 2024-12-05 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un moteur d’exécution convivial pour créer des robots rapides et fiables
    • Un « moteur de robots » pour les robots, comme un « moteur de jeu » pour les jeux
  • Simple : fournit un système de configuration de haut niveau et une API Rust naturelle
  • Rapide : utilise les abstractions Zero-Cost de Rust et une approche orientée données pour atteindre une latence inférieure à la microseconde sur du matériel standard, tout en évitant les allocations sur le tas pendant l’exécution
  • Fiable : exploite le modèle de propriété, le système de types et le modèle de concurrence de Rust pour minimiser les bugs et garantir la sûreté des threads
  • Orienté produit : vise à générer un runtime très prévisible afin d’éviter les problèmes d’intégration d’infrastructure en phase avancée
  • Testé sur Linux (x86_64, armv7, aarch64 & riskv64) et MacOS (arm64)

Vue d’ensemble technique

  • Copper est un SDK robotique orienté données qui fournit les composants suivants :
  • Task Graph : spécifie les tâches qui communiquent entre elles en composant la topologie du système telle que décrite en RON (Rusty Object Notation), et définit les types des nœuds et des messages
  • Runtime Generator : détermine le plan d’exécution à partir des métadonnées du graphe. Préalloue la « Copper List » afin de maximiser les accès mémoire séquentiels pendant l’exécution
  • Zero-Copy Data Logging : enregistre tous les messages entre les tâches sans copie de données, pour garantir une journalisation efficace
  • Fast Structured Logging : Intern et Index journalisent les chaînes à la compilation afin d’éviter la construction de chaînes à l’exécution et de garantir une journalisation textuelle rapide
  • En l’absence de robot réel, un environnement de simulation développé avec Bevy (moteur de jeu Rust) + Avian3d (moteur physique Rust) est disponible

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.