For this week’s progress, I continued with developing the board-state software. I mainly worked on representing the physical chessboard as a digital 8×8 state and I also worked on developing the logic behind comparing a previous board state with an updated state. Since the camera is currently available, I have been working with simulated board inputs to test the board-state tracking logic and made sure the software can correctly identify piece movement. I also made some progress organizing the software so that the board-state tracking can connect directly with the camera/OpenCV pipeline and python-chess move-validation system.
As of now, I feel like the project is currently on schedule with the software development side. Right now, board state tracking is most likely the most important task to complete. The main risk that has come up is just not having the hardware at the moment so I am not able to test using real images. While I used simulated boards, it could turn into a potential problem if the simulated board and images do not work the same.
For next week, I want to plan on integrating the board-state tracker with python-chess so that detected board changes can be translated into chess moves and then we can check for move legality. I will also continue using simulated move sequences to test normal moves and invalid board changes. If the camera is available, I can begin connecting the software framework to the actual camera capture and calibration pipeline.