• ChessBot v3.0: Carbon Fiber, Rust and Spatial Vision

    03/20/2026 at 19:24 0 comments

    Project Log #1: The Reboot (From C++ to Rust)

    Summary: After two versions built with C++ and Code::Blocks, I am rebooting my robotic chess project. Version 3.0 focuses on a more robust architecture: Rust for the core logic, OAK-D for 3D vision, and a custom LLM for decision-making.

    The Hardware Legacy

    I am reusing my previous hardware platform. It's a proven "testbed":

    • Structure: Laser-cut carbon fiber sheets. Lightweight and high rigidity to reduce inertia.
    • Actuators: Futaba servos controlled via a PWM expansion shield.
    • Controller: Raspberry Pi 3 (ARM architecture).
    • Vision: Luxonis OAK-D stereo camera for spatial mapping.

    Why Version 3.0?

    Version 2 used Q-Learning for movement, but the agent was too unstable, often knocking down pieces. For v3.0, I am going back to Deterministic Control.

    • Logic: Moving from C++ to Rust inside Eclipse IDE. I want memory safety and better concurrency for the vision-to-motion pipeline.
    • Brain: Porting my bilingual 44M parameter LLM (currently on HuggingFace) from Python to Rust for local inference.
    • Kinematics: Implementing Inverse Kinematics (IK) from scratch. No high-level frameworks. Just pure math to ensure precise "Pick & Place" movements.

    Current Status: The Vision POC

    I am currently working on the Vision Proof of Concept. The goal is to extract a stable depth map from the OAK-D using Rust. This $Z$-axis data is critical for the robot to "understand" the physical height of the pieces and avoid collisions.

    Follow the Progress: