Team Status Report for (2/27/2021)

This week, we had finalized our project proposal presentation as well as all the components that went into it. The planning aspect has helped us greatly so that we can see how we are progressing and how quickly we must progress to meet our deadlines. Also the project block diagram has made sure that all team members are on the same page on how integration will work and clarifies what exactly we are working on.

Drew and Joseph have set up their environments to begin work with openCV and Michael has set up his environment to work with the FPGA. All members have begun writing some code to either test out the modules and libraries they are using or to sketch out their code and plans.

We have ordered all the basic components which are needed for the computer vision aspect of the project and a github repository has been created so that we can collaborate on this aspect of the project easily.

All team members have gotten their environments setup and will begin implementation in the coming weeks as scheduled in our Gantt chart. Hence, everyone is on schedule and have met their goals for this week.

Michael Status Report for 2/27/2021

This week, after finishing the project proposal slides with my teammates, I have begun working on the system verilog implementation of the chess game logic. I have begun sketching out a high-level block diagram for how I want to represent pieces in my system and how I want to implement something such a packet to send via UART. I have a very rough SV module currently that roughly implements the board state as a 64-word register. This will act as my starter code for the rest of the deliverables.

I have also begun to set up my environment. I have installed Quartus Prime lite on my computer and have begun reading the documentation for the UART IP block which comes with Quartus. My main challenge for next week is implementing a basic module which sends and receives basic packets from my computer. I will also formally request an FPGA from the ECE department. After reviewing the list of available FPGAs I will likely request a DE-10 Standard Dev kit and a UART to USB cable as this is the FPGA that I am most familiar with.

I am currently on schedule with the Gantt chart and scheduling plans we had agreed on in our project proposal.

Jee Woong’s Status Report for 02/27/2021

This week, we had a proposal presentation. Since I was the first presenter of the team, I prepared my presentation with my teammates and discussed some of the important aspects of our project. After I finished my presentation, I ordered a chessboard, webcam, and webcam stand for each one of us. The chessboard and webcam stand arrived on time, so I could check if the chessboard was the right chessboard we could detect through the webcam.

Furthermore, I set up a git repository so that all of our team can work. Most importantly, I read documents about OpenCV and how our program should read the chessboard through a webcam. After reading the documents, I tried reading images through my own webcam, and this testing worked out well. I have also found a useful function we can use for recognizing the 8×8 board. The image below is an example of detecting the chessboard, and I am also planning to try it by myself.

Calibration Pattern

I am looking forward to testing with my own images first and use the webcam to frame images and do similar testing. For next week, I hope I could write I report that I successfully tested board detection through the webcam.

Joseph’s Status Report for 02/27/2021

This week I have set up the environment for OpenCV. This was my first time using OpenCv, so I had to look at some documentations to set it up. After setting up, I have tried grayscaling some images and also have set up my git environment. I have learned how to use paths in Python to get the code working for everybody instead of my local environment.  I have also tested out some images to test out simple grayscaling. As I am currently in Korea, I have also decided to just buy the same Logitech camera I am going to use when I get back to Pittsburgh. This will be particularly useful for next week when I will get the board and the camera to detect the corners of the chess board.

As for the schedule, I am on schedule with the initially planned schedule.

Next week, as I have mentioned, I have just bought a camera on my own and is hoping it will arrive in time for me to start working on detecting the corners of chessboard. If it does not arrive in time, I am hoping at least the chess board will arrive so I can simply use my webcam to detect the corners. If that even does not work, I will just rely on some images from the web.

Team Status Report for 02/20/2021

Thanks to the advice from the professor and the TA, we could finalize our team project’s direction. We were considering using a customized LED board, but we realized that all the work to solder LED on a Chessboard is not worth it. Rather, we chose to use a monitor screen to show the moves of an AI and a user. This way, we believe that our overall project will be more concise and value more on the part of the project that is more crucial. Furthermore, using a monitor will make debugging much easier than using a customized LED board. A monitor will clearly show an update of the board which we can easily track down the progress as the board gets updated. After we have finalized the route of our project, we listed down and divided the tasks that are required for the project. As we broke down the components, we could grasp a rough timeline of how we should progress our Capstone project. Besides, we all contributed to making a proposal presentation which is coming up next week. We are looking forward to our proposal presentation.

Michael’s Status Report for 2/20/2021

This week was focused on setting up and finalizing our project proposal. This week I have worked on the slides which are set to be completed by tomorrow 2/20/2021. We decided to keep most of the game logic and legal move calculation/generation within the FPGA because it is most easily parallelizable on the FPGA and my knowledge in the field enables us to take advantage of this.

I have also begun researching various variables to decide what FPGA would be needed to make the system. The UART module should be an IP block, so I have been looking at what system (Xillinx vs Altera) provides a more robust UART IP block. Currently I am leaning towards an Xillinx system, but that would entail also learning the Vivado toolchain, although I have done some High-level synthesis within Vivado in the past.

Next week I hope to finalize this and request an FPGA from the ECE department and begin working on setting up the UART communication. I would also like to start some Verilog hacking to begin the initial game logic (not pipelined).

Joseph’s Status Report for 02/20/2021

This week I researched on the computer vision algorithms that our team is going to use. I have looked into the background subtraction algorithm, which seemed especially useful comparing the different states the board will go through in each turn. I have also looked into the hardware for the camera to see what camera our team is going to use for the computer vision component. It seems like Logitech 270 will do the job, with 30 fps and a reasonable price to accomplish our goal. I have also set up the website as well as prepared my portion of slides that we have divided.

As for the schedule, I am on schedule with the initially planned schedule.

Next week, I am going to start experimenting with OpenCV libraries available so we can grayscale the image and explore algorithms in OpenCV to prepare for the image processing.

Jee Woong’s Status Report for 02/20/2021

As our team is in the planning and researching process of our team project, I looked at some of the documents that are relevant to the duty that I am given. My first main role is to use computer vision algorithms to detect the 8×8 Chessboard. Although I have taken many computer science courses, I don’t have any background in computer vision. So, I got familiar with the basic concepts and modules that are frequently used in computer vision.

For the planning process, based on my team’s list of duties, I have finalized our team’s Gantt Chart. We had several meetings to come up with all the possible works we need to do, and I believe we have done a good job in communicating the ideas that we need in our project. As I am the first presenter of the Proposal Presentation, I have contributed to creating slides and practiced for the upcoming presentation.

This week, I am planning to write my own code and play with some of the computer vision modules that might be useful. And, I would like to start working on the Chessboard detection and write an update on my next weekly report.