Autonomous Xiangqi-Playing UR5e Cobot
An autonomous Chinese Chess (Xiangqi) robotic system using a Universal Robots UR5e cobot. Plays full physical games against human opponents via a three-tier ROS 2 architecture, dual-model computer vision, and behavior tree-driven manipulation.
Full hardware game loop on UR5e with RG2 gripper — autonomous pick-and-place, human move detection, and AI-vs-human play in the VXLab.
Architected a strict Three-Tier System (Deliberative, Sequencing, Reactive) decoupling high-level chess AI from real-time hardware control.
Engineered a 10 Hz Behavior Tree (py_trees) task planner sequencing capture, pick-and-place, scan poses, and visual verification retries.
Built a temporal-stabilized perception pipeline fusing YOLOv8 piece classification and a custom ResNet-34 cell occupancy model via Intel RealSense.
Utilized ArUco markers and OpenCV homography for dynamic board localization, mapping physical coordinates to the digital game state.
Integrated Fairy-Stockfish and a custom Minimax engine (alpha-beta pruning, iterative deepening) with a Game Manager state machine for human move inference.
Developed a Flask/Socket.IO web dashboard for live telemetry, move confirmation, and system safety monitoring.
Three-tier ROS 2 architecture with py_trees behavior trees
Dual-model vision: YOLOv8 + ResNet-34 with temporal stabilization
ArUco homography board localization
Dual AI engines: Fairy-Stockfish and custom Minimax
4-patch bilinear joint interpolation with MoveIt2 fallback
Live web dashboard with e-stop and move confirmation
