Copper-rs
(Go용 Web App 툴킷 Copper 는 gocopper항목 참조)
Purpose-built, Rust-native software engine for robotics
Rust로 구현한 로봇 제작용 런타임 엔진
Features
- 빠르고 안정적인 로봇을 제작하기 위한 사용자 친화적인 런타임 엔진
- 게임을 위한 "게임 엔진"처럼 로봇을 위한 "로봇 엔진"
기술 오버뷰
- Copper는 다음과 같은 컴포넌트들을 제공하는 Data-oriented 로봇 SDK임:
- Task Graph: RON(Rusty Object Notation)에 설명된 대로 시스템의 토폴로지를 구성하여 통신하는 작업을 지정하고 노드 및 메시지의 유형을 설정
- Runtime Generator: 그래프의 메타데이터를 기반으로 실행 계획을 결정. 실행 중 순차적 메모리 액세스를 최대화하기 위해 'Copper List'를 사전 할당
- Zero-Copy Data Logging: 데이터 복사 없이 작업 간의 모든 메시지를 기록하여 효율적인 로깅을 보장
- Fast Structured Logging: Intern과 Index는 컴파일 시에 문자열을 로깅하여 런타임 문자열 구성을 피하고 고속 텍스트 로깅을 보장
- 실제 로봇이 없는 경우 Bevy(Rust 게임엔진) + Avian3d(Rust 물리엔진) 으로 개발된 시뮬레이션 환경 이용 가능