Browsed by
Month: March 2019

3/30 – Weekly Update

3/30 – Weekly Update

Harry

This week I focused on strengthening the frame and upgrading some of the hardware for the eventual demo. I cut our 2nd order of PVC and designed a stronger frame that should be much more stable. This second frame design reinforces our primary frame design at the base and wraps around the pool table. I’m preparing to cement our initial frame. In addition, I added mounting screws for a stable projector mount. I also put in a order for higher resolution camera and a camera mount (turns out 1080p is not the same through different cameras, for our test photos we were getting 12 MP, our original camera was reporting 7 MP, so we upgraded to a camera with 15 MP – Megapixel is relevant to image quality but not video quality).

Christina

This week, I tested my CV code with different camera types. Previously, I had been using my phone’s camera, which has a very high resolution and quality. With the previous camera, the CV algorithms were having a hard time with the low resolution, since the edges are not as clear, which made detecting the edges of the pool table difficult. An example result is below.

Harry has the same higher resolution camera that we are planning on purchasing, so I got to test and tune with that. This was much more better for detecting the pool table edges, and the results are shown below. Next week, I plan on tuning the ball detection so that we can have the camera CV part working in real time.

Sam

Last week, we started integration with Christina’s CV and Sam’s software. It was mostly a hacky mess, so this week, I took the time to refactor our code and make a new ‘main’ module to act as the main entrypoint. Currently blocked from making progress by a team member. ๐Ÿ˜’ It’s partly my fault, too… We win together, lose together, but it’s always better when we’re together. ๐Ÿค—

TEAM

We picked up more parts from Home Depot! We had an enjoyable car ride there — I believe bonding moments are important for team chemistry and morale. Overall, we’re confident we can deliver a working MVP by the demo day. โœŒ๏ธย We’re meeting tomorrow (Sunday) to fix some bugs we found after integration. We are optimistic about our project. Waka waka. ๐Ÿ˜‰

3/23 – Weekly Update

3/23 – Weekly Update

Christina

Over break and the course of the week, I finished up the core code for the CV component. It is still buggy and needs some additional work for integration, but we can now detect the pool table edges and all the balls and cue sticks to an accurate degree. The perceived vs. actual location difference of the balls was within .3 inches, which is very close to our requirement of within .5 cm. This week, I worked on integrating the CV component with our Software Backend for a full project. A few issues that arose included outputting the coordinates in a scaled manner that the rest of the backend could use. In addition, I focused on testing the accuracy of the individual CV component. The CV component with our sample test cases proved fine, but when integrated with our test hardware proved less accurate. I narrowed this down to the megapixel resolution of our camera. I am exploring options of a lower camera height or a higher resolution camera as a means of gaining more accuracy for the rest of our software!

Harry

I worked on integrating the frame, projector, and camera with the rest of our software. I re-built our frame into a “n” shaped piece, and ordered more parts. We focused on minimizing wobble in our switch to this configuration. In addition, we explored using velcro strips versus zip ties as means of attaching our electronics. In addition, I am exploring different mounting options to get the most physical stability and consistency in the ability to reproduce our test cases. I’m looking at buying more parts to finalize a frame design before we can cement our pieces together to further increase stability.

Sam

I worked on integrating the Software Backend with our CV component. This involved translating the classes that Christina wrote (e.g. coordinates for the pool balls and points on the cue stick) into classes that my code could use. A few issues that popped up were the dependencies and including our modules. I focused on adapting my physics and pool modules into a global main runner. In addition, I adopted my interface to match with the CV outputs. I also looked at extracting and refining the ghost ball tracking as our first feature. I am looking at trimming my other components into further features for our demo. In the end, we got a somewhat working product at the end of our Friday meeting. ๐Ÿ™Œ

TEAM

This week, we focused on integrating the parts of our project together. We mounted the projector and the camera onto our PVC frame and ran our end to end simulations. We spent a decent amount of time working together in lab. In conclusion, we had to resolve several Python module dependencies and other integration-related software bugs. We are a bit behind schedule due to these issues with software integration. However, we aim to work hard and sprint next week to deliver for our demo! Choo-choo, no stopping us now!!! ๐Ÿš‚๐Ÿ’จย So say Geronimo!

3/9 – Weekly Update

3/9 – Weekly Update

Christina

This past week, I collected more photograph data for my computer vision portion so that I can improve the algorithms over spring break. We split up our design doc work into parts, and I put my seldom-used writing skills to use for my sections. On Wednesday, I borrowed a car to make a trip to Home Depot with Harry to pick up our parts. 10′ pipes are really tall! We cut the pipes down into more manageable parts and got help sanding from the kind people in the Makerspace. We were able to prototype the frame build, though we will need to eventually adjust the height for the camera and projector. Next, I plan on improving the CV accuracy for our demo table so that we can start integrating everythingย ๐Ÿ‘

Harry

Last week, I spent a significant portion of our time contributing to our design doc. I was personally responsible for the overarching block diagram, my part of the design trade studies, and the project management section. I aided my teammates in editing and contributing for other parts of the doc. For my specific part of the project, we made a trip to Home Depot and collected the PVC pipes and associated parts. I cut and assembled a rough frame in the lab. I held up the camera to the estimated frame height and have plans to make the frame taller. I hope to have the frame ready for a full integration when we get back from break!

Sam

This was a short week for me – I left Pittsburgh on Wednesday to start an early Spring Break. Relating to Capstone, I spent a bit of time cleaning up and refactoring the code I’ve done so far before resuming development. Most of the time this week was spent working on the design documentation with my team. Back home, I’m sharpening my pool skills at a local pool hall — can’t beat the price at $7/2 hours. ๐Ÿ˜œ

TEAM

The design documentation took up a lot of our time, collectively. We had a few (very long) meetings: one to divide up work, another to sync-up, and finally one to merge all our work together and finally submit. Overall, we are satisfied with the design document we submitted despite some ambiguity. We think it will serve as a very solid draft for the final report we submit at the end of the semester. I think we went through a lot this week, but we got through it together.ย Team above all. ๐Ÿ˜‰

3/2 – Weekly Update

3/2 – Weekly Update

Christina

This past week, I worked on the design presentation and report outline with the rest of the team. Our 40″ pool table arrived on Monday, so we finally had access to the table that we will use on demo day. We were able to take photos and accurately measure a random layout of objects of our demo table. I modified the computer vision object detection for this new pool table and ball setup. The object detection is measuring all of the balls needed for 9-ball pool, and I will work on improving the accuracy of the ball center detections. One major complication was the green pool ball against the green felt of the table, and I hope to continue testing this distinction especially as our lighting conditions change. In the next week, I hope to compare the physical measurements we took with a ruler to the CV’s perceived object locations. I will try to fine-tune the detection parameters to minimize the difference between the actual and perceived pool ball locations.

Harry

Last week, I was the presenter for our design presentation, so I spent a lot of time preparing, finalizing, and rehearsing the presentation. I started working on the design of our frame and how we will use the PVC parts to build our sturdy frame. I researched most of the hardware parts we will need for our camera and frame setup, and we have placed the orders for them. When the camera came in, I helped Christina integrate the CV program with the video camera input. Along with the others, I worked on the design slides and documentation for the report. In the next week, the parts will arrive at Home Depot, so I can start prototyping and building the frame setup.

Sam

This past Sunday, I accompanied the team at one of our most productive meetings. It was a very windy day but we found save haven in one of the giant auditoriums at Tepper. Harry proceeded to kill the presentation the next day — sighs, podiums, and all. Later in the week, our 40″ pool table arrived and I played around with it. After shooting a few balls and trying different types of shots, I realized that if we end up using the 40″ pool table for our final demo, the physics is much simpler. For starters, there is no ‘english’ (spin) really possible on the ball, which makes things simpler. Additionally, the ball has to be hit at a minimum speed, or the balls will ‘break’ like golf balls on a green, due to the manufacturing errors in the table (not a flat surface). All-in-all, learned a lot this week and hopefully can move forward. Next week, I will wrap up my code for the MVP, refactor, and possibly work on integration with CV.

TEAM

As a team, we polished up our design presentation. We met together the day beforehand to finalize all the details and clarify any remaining topics. Once we received the design presentation feedback, we had a candid discussion on what went well and the different ways we could improve our system design. We followed the presentation directions well and were very prepared for any potential questions on our design. However, there were places we should have added in more detail and explained our reasoning for our decisions.

After receiving presentation feedback, we met on Thursday to start drafting our design report. We began with a brainstorming session to enumerate the components and workflow of our system.

We then started outlining our report, adhering to the final project report template. We have already collaborated and discussed the major points for our paper, and we are on track to finish our report Monday.