Month: December 2022

Team Status Report for 12/10

Class time this week was devoted to the final presentations. We were happy with our presentation and have adapted it to show at the final demo.

Out of class this week, we worked on full integration of the software and on completing our tests. The tests caught a bug in the legality checker that can be easily corrected. We had issues with the software integration that should be corrected tomorrow, or other workarounds will be found. We also added electrical tape to the bottom of the chess pieces, adding friction to improve playability.

The schedule remains the same, not that there’s much room to change anything.

Ryan’s 12/10 Status Report

This week I focused on providing a front end and finishing up linking Patricks code with my code! We tested sending moves and a variety of stress tests that allowed us to see the entirety of the project in full! We debugged some issues that occurred with Vikram’s hardware, practiced the demonstration, and filmed some of the video so that we would be prepared come the demo Monday.

 

We are on track to finish the project! We just need to touch up some aesthetics and ensure that the project is transportable. This was a wonderful semester, thank you to the course staff!

Vikram’s Status Report for 12/10

This week, we mainly worked on the final presentation and preparing for the final demo. Once presentations were over, I spent my time repairing small things on the board, helping with some integration testing, and working on slides for the public demo.

We are on schedule given that the demo is on Monday. In the next week, I plan to work with the rest of the team on finishing up the final report and demo video.

Patrick’s Status Report for 12/10

This week I was able to sort out how to run the program on the RPi on start-up, allowing it to be used in headless mode.

We tried integrating Ryan’s part and my part today and ran into issues calling his python scripts from my program. The system() command frequently causes the entire Pi to crash. Ryan is attempting to work around this with another scripting tool, while I am trying to troubleshoot the system() command. We also found a small bug in the legality check that I will correct tonight. Otherwise, everything between the hardware and the firmware is working great.

Hoping we can fix everything up for the demo on Monday.

Patrick’s Status Report for 12/3

Over Thanksgiving break, I was able to rewrite the firmware with a new library. I ended up using the bcm2835 library after finding out that it still worked on the RPi 4, as it includes both GPIO and SPI functionality.

Vikram and I tested the board with the firmware. After working through some bugs, we are very confident in both the piece detection and legality checking aspects of the project. We also observed that the legality latency is very fast.

I also implemented a function to convert the last played legal move into standard algebraic notation (the most common format of notation). Ryan and I finalized the methods for sending this notation to the website.

After this week, I am back on schedule. I am confident that we will be able to finish integration next week.

Team Status Report for 12/3

This week, we worked on full integration of everything from the hardware through to the software and the website.

The most significant risks to the project at this point is that something in the board hardware becomes damaged. We purchased spare components, so barring a few pieces, we would be able to swap in a new component. Another risk is magnets damaging pieces. While this is extremely unlikely, the solution to this would be 3D printing a replacement. This could be done very quickly.

No real changes were made to the design and we have not rescoped the project at all, so our schedule remains the same.

Vikram’s Status Report for 12/3

This week, we all worked on full scale integration with the hardware and the Raspberry Pi. This involved making sure the board could detect every single piece and could accurately determine the legality of a move and when a game should end. We initially had success, but later had some issues with the ADC on Wednesday. On Saturday, I was able to solve the problem by changing the way the “chip select” line was toggled in our setup. At this point, the process of piece detection, move detection, and legality checking works to our expectations.

In terms of the board mechanical aspects, our remaining magnets arrived this week, so we were able to finish assembly on the last pieces and test the board with every single piece on the board. I was also able to set up the Pi to have the whole system powered off of the board’s battery pack instead of needing an outlet for the Pi.

Given all of this progress, we were able to test both accuracy and power consumption with the expected load. The board was able to detect all moves accurately, and the power consumption is in line with what I predicted based on the Pi’s theoretical power use.

With this progress, we used some of the slack time, but have largely finished the final integration portion of the project. Any remaining small details will be ironed out next week before the demo.

In the next week, I will re-glue some of the pieces to make them more secure. I will also add some tape or latex to the bottom of each piece to increase the friction between the pieces and the board. This will prevent any pieces from interacting due to magnetic forces between themselves.