7 pontos por xguru 2024-12-05 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Um motor de runtime amigável para desenvolver robôs rápidos e estáveis
    • Um "game engine" para robôs, assim como existe um "game engine" para jogos
  • Fácil: oferece um sistema de configuração de alto nível e uma API Rust natural
  • Rápido: usa abstrações de custo zero do Rust e uma abordagem orientada a dados para alcançar latência abaixo de microssegundos em hardware comercial e evitar alocação em heap durante a execução
  • Confiável: aproveita o modelo de ownership, o sistema de tipos e o modelo de concorrência do Rust para minimizar bugs e garantir segurança entre threads
  • Orientado a produto: busca gerar um runtime altamente previsível para evitar problemas de integração de infraestrutura em estágios mais avançados
  • Testado em Linux (x86_64, armv7, aarch64 & riskv64) e MacOS (arm64)

Visão técnica geral

  • Copper é um SDK de robótica orientado a dados que fornece os seguintes componentes:
  • Task Graph: especifica tarefas que se comunicam compondo a topologia do sistema conforme descrito em RON (Rusty Object Notation), além de definir os tipos de nós e mensagens
  • Runtime Generator: determina o plano de execução com base nos metadados do grafo. Pré-aloca a "Copper List" para maximizar o acesso sequencial à memória durante a execução
  • Zero-Copy Data Logging: registra todas as mensagens entre tarefas sem cópia de dados, garantindo logging eficiente
  • Fast Structured Logging: Intern e Index registram strings em tempo de compilação para evitar a construção de strings em runtime e garantir logging de texto em alta velocidade
  • Caso não haja um robô real, é possível usar um ambiente de simulação desenvolvido com Bevy (engine de jogos em Rust) + Avian3d (engine de física em Rust)

Ainda não há comentários.

Ainda não há comentários.