Team Status Report 4/26/2025

This week, our team made major strides toward finalizing our project for the upcoming demonstration. A primary focus was on system integration: we successfully combined all components into a single main file, allowing the entire pipeline to run smoothly on one machine instead of across multiple devices as in earlier demos. This simplification greatly improved the system’s reliability and made the final setup more efficient.

In parallel, significant effort was put into developing the final deliverables, including the poster, report, and video. All team members contributed to drafting and refining these materials to accurately represent our system’s functionality and performance. Coordination was key during this phase, ensuring that technical explanations, results, and visuals were cohesive across all mediums.

On the technical side, we made final improvements to core subsystems. Notably, Kevin worked extensively on ball categorization as accuracy was enhanced by refining the color thresholding techniques, addressing challenges like distinguishing between similarly colored balls under varying lighting conditions. Although we explored a no-button, motion-based image capture system to further streamline user interaction, testing revealed that it was too sensitive to background motion for robust deployment. As a result, we deprioritized this feature to maintain focus on the stability of our MVP.

Looking ahead, the team’s focus will be on final polishing: completing the poster, report, and video, stress-testing the system in the demo environment, and making any final adjustments needed for optimal performance. With all major systems integrated and operational, we are well-positioned for a strong final demonstration.

Luke Han Status Report 4/26/2025

This week, I focused mainly on finalizing our project for the upcoming final presentation. The team and I worked on integrating all of our code into a single main branch so that it can run on a single machine for the final presentation. I also have been working on the final poster, video and report.

For the final week, I plan to finish up the poster, report, and video, and will make sure our system is fully prepared for the final demo.

Luke Han Status Report 4/19/2025

This week, I focused on improving the camera system to support motion detection capabilities. I was able to disable the camera’s auto-blur and auto-focus features. These automatic settings had been interfering with consistent image quality during fast motion, but after testing different configurations, I was able to achieve a stable image feed that’s much better suited for detecting movement.

Additionally, after further discussion with my team, we’ve decided not to pursue the use of a Raspberry Pi to host a web server for tracking previously played games.

Finally, while I’ve begun experimenting with motion detection by analyzing frame-to-frame changes between game states, it’s still uncertain whether I’ll be able to fully implement this feature. However, since motion detection is a post-MVP goal, this does not affect our core deliverables. I’ve completed all of my current tasks and remain on track with our overall project timeline.

Luke Han Status Report 4/12/2025

This week, I focused on exploring improvements to the camera system to support motion detection capabilities. A major area of experimentation involved disabling the camera’s auto-blur and auto-focus features. These automatic settings were interfering with consistent image quality, especially during fast motion, so I’ve been testing different configurations to achieve a more stable image feed that’s better suited for detecting movement.

Alongside this, I’ve started preliminary work on motion detection by analyzing frame-to-frame changes between game states. My goal is to develop a reliable method for identifying when and where motion occurs on the table, so that the algorithm can run the physics simulations without user input.

I have also been discussing with my team on weather to pursue the use of a raspberry pi to host our own web server to keep track of previously played games.

I have been experimenting and have made minor progress on these tasks, however, I am on track with my progress.

 

Team Status Report 3/29/2025

This week, our team made significant progress in refining the camera and projector system, improving the physics simulation, and integrating the core components of our project in preparation for the interim demo.

Luke focused on optimizing the camera’s positioning and settings to improve image capture accuracy. He worked on integrating the camera with the CV algorithm to ensure reliable ball detection and reduce distortion. Additionally, he experimented with different mounting positions for both the camera and projector, addressing stability and visibility concerns. He also adjusted lighting conditions around the table to minimize shadows that interfered with ball detection.

Samuel completed the find_best_shot algorithm, transitioning from a brute-force approach to a more efficient simulated annealing method. This allows the system to find optimal shot angles, power, and spin within a set time constraint. However, due to the randomness of simulated annealing, the algorithm sometimes returns a local minimum rather than the best possible shot. To address this, he has begun rewriting the physics simulation in C++ to improve performance, reducing simulation time from 25ms to under 10ms. While this won’t be ready for the interim demo, he aims to have it completed for the final demo.

Kevin worked on ensuring accurate integration between ball/pocket coordinates and the physics simulation. He also focused on improving error handling for the CV system, particularly in mis-detected balls and pocket positions. Alongside Luke, he helped finalize the table setup, securing the projector mount and ensuring the camera is positioned correctly for accurate detection.

Our team’s next steps will be to finalize the system integration for the interim demo. Luke will continue to resolve the remaining camera system bugs and refining the UI to improve usability and game state visualization. Sammy will continue developing the C++ physics simulation. Kevin will continue to enhance the CV algorithm with ball detection and pocket detection.

Luke Han Status Report 3/29/2025

This week, I made significant progress on multiple aspects of the project. I continued testing the camera system extensively to ensure accurate and reliable image capture. In particular, I worked on refining the camera’s positioning and settings to improve its ability to capture the game state with minimal distortion. I also focused on integrating the camera system with the CV algorithm, making sure that the image processing pipeline correctly detects and interprets the positions of the balls on the table. To enhance the user experience, I worked on the UI, making it more intuitive for players to capture the game state with minimal effort.

Beyond software improvements, I spent time optimizing the physical setup of the camera and projector. I experimented with different mounting positions and configurations to ensure stability while maximizing visibility. Additionally, I worked on adjusting the lighting conditions around the table to reduce shadows, which were interfering with the CV algorithm’s ability to detect the balls accurately. This involved testing various light placements and intensities to find an optimal setup that enhances detection reliability.

I have been encountering a few bugs with the camera system, but expect to have them resolved before the interim demo. Overall, I am on track with my progress.

^ Image of camera debugging

^ image of table from system

Luke Han Status Report 3/22/25

This week, I focused on setting up the pool table mount. I encountered challenges with securely attaching the camera and projector while ensuring high-quality image capture and projection. Some of my initial mounting attempts made the system unstable, posing a risk of falling onto the table. Other iterations created visibility issues, as attaching the camera and projector to the underside of a wooden plank darkened the entire playing area, making it difficult for users to see and play.

I will continue refining the mount to balance stability, visibility, and functionality. My goal is to have the camera and projector system fully operational by the end of the upcoming week.

Team Status Report 3/15/25

This, week our team made tremendous progress in both the physical and software components of our project. We’ve continued developing our major subsystems — computer vision, physics simulation, and the position algorithm.  Luke has made notable advancements on the camera and projector system. And being no longer blocked by the pool table delivery, has assembled, and initial testing has been conducted on the calibration, image capture quality, and integration challenges. However, the frame for the system arrived at the end of the week. This prevented Luke form picking up the frame and completing the setup. He plans to retrieve the frames and complete the setup by Monday, enabling full system integration and further testing. Samuel has completed the physics simulation setup, including the implementation of the simulate_shot function, which accurately simulates pool shots based on angle, power, and spin. He also created the simulate_shot_with_animation function, which visualizes shots and helps fine-tune the parameters for realistic simulation. Samuel will focus on developing the greedy algorithm for shot selection next week, aiming for completion in the next 1-1.5 weeks, in time for MVP integration before the carnival. Kevin worked on testing and validating the position algorithm on the downscaled project table. He also added fail-safes to the homography algorithm, improving the accuracy of the rectangle dimensions and ball position calculations.

Overall, we are making steady progress with our software subsystems and addressing challenges with the physical setup. While Luke’s progress on the camera/projector setup has been slightly delayed due to shipping issues, there are no major changes to the overall schedule. The software side remains on track, with Samuel’s greedy algorithm and Kevin’s integration efforts being the next key focuses.

Next week, Luke will complete the system setup, Samuel will begin implementing the shot selection algorithm, and Kevin will continue refining the algorithms for accurate data processing and integration.

Luke Han Status Report 3/15/2025

This week I have made significant progress on the camera and projector system. We have now received and assembled the pool table, allowing us to initiate testing with the camera and projector. I have conducted preliminary tests to assess calibration accuracy, image capture quality, and potential integration challenges. However, the frame for the system arrived late on Friday, preventing me from setting up the complete system. Therefore I am still a bit behind schedule, but plan to retrieve the frames from the package service and complete the setup on Monday, which will enable full system integration and more comprehensive testing.

Luke Han Status Report 3/8/2025

Over the past two weeks, I have primarily worked on the camera and projector system as well as refined the design report. Before the break, I dedicated significant time to the design report, particularly working on the design requirements, design trade studies, and risk mitigation plans. Additionally, I contributed to the project budget, ensuring our resource allocation aligns with project constraints.

I conducted preliminary tests to the camera and projector to assess their capabilities. This included evaluating calibration accuracy, image capture quality, and potential integration challenges. However, our progress is currently hindered because our group has yet to receive the pool table, which was scheduled for delivery two weeks ago. As a result, I am not on track, and our timeline may be impacted until we can begin full system integration.