Chess application for the CORA cobot arm.
The system uses monocular computer vision to estimate rigid-body transforms in
Each agent is trained and biased toward the move distribution of a single human player.
assets/
chess/
tfs/
vision/
main.py
tests/
pyproject.toml
requirements.txtgit clone https://github.com/C-O-R-A/cora-chess.gitpip install -r requirements.txtnumpychesscodi(networking SDK)torchpandasseaborn
All dependencies are installed automatically when using
requirements.txt.
This section describes the perception pipeline for estimating camera pose,
board pose, and opponent moves using rigid-body transforms in
from vision import camera_calibration
# Use camera 0 with a checkerboard pattern
camera_calibration(0, use_checkerboard=True)python3 main.pyThe system will:
- Detect fiducial markers and the chessboard
- Estimate all required
${\mathrm{SE}(3) }$ transforms - Observe the opponent’s move
- Select a move using the CNN-based engine
- Execute the move using the robot arm
Ensure that:
- The camera is calibrated
- All fiducial markers are visible
- The chessboard lies within the robot’s reachable workspace
Once running, the robot alternates turns with the human opponent and physically moves the chess pieces on the board.

