- Un motor de runtime fácil de usar para crear robots rápidos y estables
- Un "motor de robots" para robots, igual que un "motor de juegos" para juegos
- Facilidad: ofrece un sistema de configuración de alto nivel y una API de Rust natural
- Rapidez: usa abstracciones de costo cero de Rust y un enfoque orientado a datos para lograr latencias por debajo del microsegundo en hardware comercial y evitar asignaciones en el heap durante la ejecución
- Confiabilidad: aprovecha la propiedad, el sistema de tipos y el modelo de concurrencia de Rust para minimizar bugs y garantizar seguridad entre hilos
- Orientado al producto: busca generar un runtime altamente predecible para evitar problemas de integración de infraestructura en etapas posteriores
- Probado en Linux (x86_64, armv7, aarch64 & riskv64) y MacOS (arm64)
Panorama técnico
- Copper es un SDK de robótica orientado a datos que ofrece los siguientes componentes:
- Task Graph: especifica tareas que se comunican configurando la topología del sistema según lo descrito en RON (Rusty Object Notation), y define los tipos de nodos y mensajes
- Runtime Generator: determina el plan de ejecución con base en los metadatos del grafo. Preasigna la 'Copper List' para maximizar el acceso secuencial a memoria durante la ejecución
- Zero-Copy Data Logging: registra todos los mensajes entre tareas sin copiar datos para garantizar un logging eficiente
- Fast Structured Logging: Intern e Index registran cadenas en tiempo de compilación para evitar construir strings en runtime y garantizar logging de texto de alta velocidad
- Si no hay un robot real disponible, se puede usar un entorno de simulación desarrollado con Bevy (motor de juegos en Rust) + Avian3d (motor de física en Rust)
Aún no hay comentarios.