Team Status Report 5/8/21

This week our team had our presentation. As of last week, our overall system metrics hold besides few bugs in CV so Brandon has been doing some final tweaking for the CV. We are also working on the poster and final Video. For the video, we will individually talk about our subsystem and combine them with the overall system which we are going to discuss together. Looking forward to the demo!

Brandon’s Status Report 5/8

As the semester is coming to a close, we are working on the poster and the final video. In order to demo, I have a couple of minor bugs I need to work out in the CV; afterwards, we will be ready to finish up our filming. I have also been recording my part in the video, which explains the computer vision part of the stack. There’s not much else to add, other than that we are working on wrapping the semester up!

Team Status Report 5/1

This week we met as a group. We worked on our presentation slides. The integration of servo and dealer software is complete and we tested them very thoroughly. We also integrate CV with dealer software. However, there were a little bit of issues with CV algorithm, more specifically tuning the parameters so that it can detect chips accurately, which could be resolved once we determine the lighting and environment and keep it consistent. We plan to meet again tomorrow and set everything up again at Pat’s house because he has a proper poker table. We are on track to finish everything and present our project for demo. We look forward to it.

Zongpeng Status Report 5/1/21

This week pat and I met and tested servo integrated with GST. Servo is pretty robust. We made some small changes to the angles that we are rotating to the player. We tested the robustness of servo by constantly feeding it an output from game state tracker, and input that output which contains player angle to the arduino through serial communication. We did that like 20 times and each time servo rotates to the correct position and the speed is under a second, both of which exceeded our original metrics. Now, servo subsystem and integration of servo and GST is done. Next step we will set it up at a real poker table for the demo.

Brandon Hung’s Status Report

This week was quite busy for me, but I still tried to make as much time as possible to work on a new approach to the CV. My first attempt of CV was tuning a color segmentation algorithm. However, this simple was not working because variations in lighting are devastating to color segmentation algorithms. If we continued using the same approach, I do not think it would be possible to meet the requirements. After thinking about the problem, I’ve come up with a preliminary solution idea I’ve spent most of the day implementing. The idea is to use the white checkers on the chips as a marker. I plan on aggregating the white markings to group them together. This is done by searching the surrounding image area for more chips. Then, draw a rectangle around the grouped markings to get a bounding box. This allows me to use the least squares approximation to fit a line between the bases of the rectangles; once that is done, I will be able to rotate the image so the stacks are roughly horizontally matched. From that point, I can rotate the rectangles to get the true height of the stacks. This algorithm is a lot more involved than the previous one, so I am working on getting it right. I have several bugs with aggregation, which I hope to solve before tomorrow.

Team Status Report 4/24

This week Pat and Steve worked on the poker logic. Brandon is experimenting with different approaches for Computer vision. Currently  there are 3 main phase of integration: the game state tracker Poker logic, stack/potsize logic, and finally rotate servo. Pat and Steve finished the GST poker logic. There are more details about this in their individual posts. For the stack/pot size logic, we plan do give GST a fake input to see if stack/pot size updating works first. Once Brandon refines the CV algorithm, we will use the output directly from CV. For the servo rotation, we already set up the serial communication. So next step we just need to figure out the exact angle of each player and send that to the arudino to rotate the servo. The hardest part of the poker logic is handled. Next up is refinement and make sure everything runs smoothly.

Zongpeng’s Status Reports 4/10

Pat and I worked this week to integrate the GST and servo. We were able to control the servo from the GST. We used pyserial in GST to send angle information. For Arudino we just opened the port to constantly receive information sent from GST. However, the poker logics hasn’t been fully implemented yet, so we are hardcoding the rotation right now. We plan to show integration of servo and GST during our demo Wednesday. I also printed out the 3d components and assemble them together. One problem is the standoff we ordered are not long enough so I will go to home depot tomorrow to see if there are longer ones. Otherwise might need to order from Amazon. Everything is looking good. Next step is probably figure out the actual poker game logic and tried to integrate the camera with the GST, and if we have more time, we can add additional feature Gary mentioned, which is feedback from the camera to pi and pi to servo to make sure we pointing to the stack accurately.

Team Status Report 4/10

This week, we’ve been busy getting our demo ready. So far, our setup for the Raspberry Pi is underway and the servo control from the Pi has been integrated with the Game State Tracker. We’ve decided to make several changes, including cutting out the difference between the Dealer and Player UIs (showing both on the same screen) and placing the chips closer than before to the camera (for better chip reading accuracy). By the end of tonight, the CV part should be polished enough to integrate and we can test over the next 3 days.

 

Here is an updated Gantt Chart:

Going forward, we will have a lot less time due to a bit of an oversight in planning. Nonetheless, our goals have not changed.

Zongpeng’s Status Reports 4/03

I went to tech spark and we should get back the 3d printed components on Monday. I also worked on the serial communication between Raspberry Pi and Arduino. Once Pat is done with GST, we will start integrating the servo and GST subsystem.

Brandon’s Status Report: 4/3

I’ve been working on the CV this week. It’s proven a bit more difficult than I’d imagined because of lighting; color doesn’t stay consistent throughout different lighting schemes. So far, I have been looking into pre-processing operations to manage this issue better and looking at different algorithms for alternative ways to detect chips.

 

Here is an example of poor lighting causing the stacks to be slightly off. While it is still possible to see the stack, the colors behind it cause a bit of confusion. The color is better in brighter conditions, leading me to wonder if we should solve this by providing better lighting or by providing a better algorithm. I will continue to work on a fix, but I may have to switch schemes later and rely on another method.