This project uses a chess engine called Stockfish, this is a powerful computer program that analyzes chess positions and generates a move or list of moves that it considers the strongest. To interface the rest of the code with the chess engine we use a library called Python Chess which communicates with it using the UCI (Universal Chess Interface) protocol.
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/chess-robot-chess-logic-module