Author: jrager

Final Video

Final Video

for Youtube link: click here  

Justin’s Status Report for 4-29-23

Justin’s Status Report for 4-29-23

This last week I finished resoldering everything to make the final cool cue system. I also made adjustments to the Arduino code to better update the direction of the pool cue. Now it should be more accurate and also more accurately detect when a shot 

Team Status Report for April 29th

Team Status Report for April 29th

Our biggest problem has been lighting for the CV. As always, it detects the balls’ shadows as part of the ball, meaning that with poor or uneven lighting, it can merge two balls together or even fail to detect a ball since the shape is too large. This would not be much of a problem in our actual use case, as many pool tables already have bright overhead lighting, but without fixing it, we will have trouble demo-ing our project. Over this last week we experimented with some desk lamps to improve our lighting. We had four lamps, one near each corner of the pool table. While they are not prefect, as they can’t outshine the sun, they worked well at reducing the amount of shadows after dusk. These lamps also have the additional cost of taking up power, as we now also use a power strip to plug in both the lamps and the laptop. Our unit tests were mostly experimental tests on each aspect of our system. For the CV system, we would take pictures of the balls on the table, and made sure that all the balls in the image were detected, and they were correctly labeled. With the shot calculation, as there is no way to always find the “best shot” to check against, it was a little harder. For this, we map the table as a grid and placed imaginary balls on the grid, then checked the shots it calculated. This testing included checking all edge cases, such as when multiple balls are near each other or the easiest shot to make is blocked by the 8-ball. For the pool cue, unit testing involved making many measurements and checking for their correctness, like if the sensor is turned 90 degrees, the output shows it. For our system testing, we would place the balls in various locations on the pool table and make sure the results were what we expected, and that nothing broke during integration. Our system test results were how we discovered that we need to make sure the lighting was good, or else the CV would fail to properly detect the balls.

Team Status Report for April 22nd

Team Status Report for April 22nd

This week, Justin worked on resoldering the components using softer wire. He also made some updates so that the pool cue will also send the direction it is facing when a shot is made. Devank made some changes to the frame to allow the webcam 

Justin’s Status Report for 4-22-23

Justin’s Status Report for 4-22-23

Over the past week I made some updates to the soldering. I realized that the wires I used were too stiff, so any pressure on them would cause the solder to snap off instead of bending the wires. So I spent time desoldering them and 

Team Status Report for April 8th, 2023

Team Status Report for April 8th, 2023

This week, Justin worked on soldering the components so they are more stable when attached to the pool cue. He also worked on integration by making it so his data can be printed to a txt file, which can then be read by our other subsystems. Jimmy and Devank spent the week fixing bugs in their integration, like the CV system detecting the projection on the table as actual pool balls. Devank also made some edits to his shot calculation to make it more accurate, such as having it target the center of each pocket instead of the back, which meant some shots couldn’t be made as the walls were in the way. Currently our largest risk is with the lighting of the pool table. If there are significant shadows, it causes the CV system to fail to properly detect the balls, which breaks the whole system. Our solution to this is to add LED strips to the frame, which will prevent outside light sources from interfering with our CV detection. As stated above, we needed a stable, constant lighting system on the frame to make sure the CV functioned properly. This cost us $25. We have not updated our schedule.

Justin’s Status Report for 4-8-23

Justin’s Status Report for 4-8-23

This week I spent most of my time on assembling the components to be put on the pool cue. This meant I had to take apart my microcontrollers and reassemble them by soldering the wires back together. I also spent time on integration, writing a 

Justin’s Status Report for 4-1-23

Justin’s Status Report for 4-1-23

This week I finished work on the Radio transceivers. I also started working on attaching the microcontrollers to the cue stick, as well as making them more stable. Before this week, I simply wrapped the wires together, which means they could slip apart. Now I 

Justin’s Status Report for 3-25-23

Justin’s Status Report for 3-25-23

This week I did not make much progress. Thanks to the ideas of my teammates I have a plan for when to implement switches between sending and receiving data on the Arduinos. Currently, I am slightly behind on my progress as we plan to start integration on Monday (the 27th). However, I plan on working a lot tomorrow to implement the final pieces before integration. In the next week, I hope to complete my work on the Arduinos by implementing a way to send data in both directions. I also plan to work with my teammates on integrating our work. This involves working out a method to send the data from the Arduino attached to the pool table to the laptop. I also plan to start working on how to attach the Arduino to the pool cue stick, so it will stay secure throughout a whole game.

 

Justin’s Status Report for 3-18-23

Justin’s Status Report for 3-18-23

This week I spent most of my time working on the Ethics assignment. I also had less time to work than usual because I was away for Spring break. I was able to get started working on the Radio transceivers, and have set them up