• เอนจินรันไทม์ที่เป็นมิตรกับผู้ใช้สำหรับสร้างหุ่นยนต์ที่รวดเร็วและเสถียร
    • เปรียบเสมือน "เกมเอนจิน" สำหรับเกม และ "โรบอตเอนจิน" สำหรับหุ่นยนต์
  • ใช้งานง่าย: มาพร้อมระบบ Configuration ระดับสูงและ Natural Rust API
  • เร็ว: ใช้ Zero-Cost abstraction ของ Rust และแนวทางแบบ data-oriented เพื่อให้ได้ latency ระดับต่ำกว่าไมโครวินาทีบนฮาร์ดแวร์เชิงพาณิชย์ และหลีกเลี่ยง heap allocation ระหว่างรันไทม์
  • เชื่อถือได้: ใช้ประโยชน์จาก ownership, type system และ concurrency model ของ Rust เพื่อลดบั๊กและรับประกันความปลอดภัยของเธรด
  • มุ่งเน้นการนำไปใช้จริงในผลิตภัณฑ์: ตั้งเป้าสร้างรันไทม์ที่คาดการณ์พฤติกรรมได้สูง เพื่อหลีกเลี่ยงปัญหาการผสานรวมโครงสร้างพื้นฐานในช่วงปลายของการพัฒนา
  • ทดสอบแล้วบน Linux (x86_64, armv7, aarch64 & riskv64) และ MacOS (arm64)

ภาพรวมทางเทคนิค

  • Copper เป็น SDK สำหรับหุ่นยนต์แบบ Data-oriented ที่มีคอมโพเนนต์ดังต่อไปนี้:
  • Task Graph: ระบุงานที่สื่อสารกันโดยจัดโทโพโลยีของระบบตามที่อธิบายไว้ใน RON(Rusty Object Notation) และกำหนดประเภทของโหนดและข้อความ
  • Runtime Generator: ตัดสินแผนการรันตามเมทาดาทาของกราฟ พร้อม pre-allocate "Copper List" เพื่อเพิ่มการเข้าถึงหน่วยความจำแบบลำดับระหว่างรันไทม์ให้สูงสุด
  • Zero-Copy Data Logging: บันทึกทุกข้อความระหว่างงานโดยไม่ต้องคัดลอกข้อมูล เพื่อให้การล็อกมีประสิทธิภาพ
  • Fast Structured Logging: Intern และ Index ล็อกสตริงตั้งแต่คอมไพล์ไทม์เพื่อหลีกเลี่ยงการประกอบสตริงขณะรันไทม์ และรับประกันการล็อกข้อความความเร็วสูง
  • หากไม่มีหุ่นยนต์จริง ก็สามารถใช้สภาพแวดล้อมจำลองที่พัฒนาด้วย Bevy(Rust game engine) + Avian3d(Rust physics engine) ได้

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น