Team Status Report for 3/9/24

As we finalized our design through working on the design doc, the biggest risk of our project is the speed of the car affecting our ability to track it. As of now, we have not done too much on track testing to see if our tracking latency is too slow for a close up camera locations, but our contingency plan is to simply place the cameras further away from the track as needed, to reduce the amount of rotation the camera has to make to track the car.

We made a big switch to change our project to this car tracking one. So in terms of design, we weren’t changing much, just brainstorming for the first time. Through working on the design doc, we were able to come up with challenges we may face, especially in our own parts (hardware, tracking, feed selection). Although we are very late in our idea decision, we are glad we switched as it will be a busy but better experience for all of us.

Our most recently updated schedule is the same as the one submitted on the design document.

Part A was written by Jae Song

On the global scale, our Cameraman product will offer a better approach in live streaming car racing. On the safety side of capturing footage, auto-tracking cameras will hopefully be implemented globally so that no lives are under danger. Car racing is a global sport so our product will definitely have an impact. Not only is global safety being addressed, but we hope that our auto-generation of stream will capture races in a more timely and accurate manner, to enhance the experience of the global audience.

Part B was written by Thomas Li

The multi-camera live-streaming system we design seeks to meet the cultural needs of today’s car sports enthusiasts, specifically F1 racing culture. Primarily, we do this by  providing the viewing experience already established among fans as optimal through algorithmic feed selection. There is already a culture established by race casters, real cameramen, racers, and viewers that we will analyze to determine this optimal viewing experience.

Part C was written by Bhavya Jain

Given our system of cameras closely mirrors that which already exists (with the addition of automated movement, and software for automated feed construction) there seem to be no glaring environmental factors that we feel we must consider. The movement of the cameras will consume some power that was previously a physical force and overall running of the system will consume some power. Motor racing is a very demanding sport in terms of material and power requirements, but our system does not add any significant pressure to these requirements.

Jae’s Status Report for 3/9/24

Most of last week was spent on working on the design document. First, since we switched topics a week before the design doc was due, I came up with new use-case requirements and met up with our TA to finalize them. She also helped me draft some good design requirements that I hadn’t thought of before. While working on the design doc, we were able to make good progress in finalizing our design for the project. I worked on abstract, use-case requirements, architecture, design trade studies (hardware), system implementation (hardware), summary, team member responsibilities, and reach goals.

After design document was submitted, I spent some of the spring break on Arduino code. Specifically, the communication between the object tracking module of OpenCV and the motor control through Arduino. I found a way to use serial monitor of Arduino to serially send and receive data from the PC. I am able to control the movement of the motors with a simple python code. Although the interface seems to be working, I have not tested it yet with Bhav’s object tracking module so that is my next task in hand.

On schedule, my progress is slightly off. I was supposed to work on camera distance and location determination, but instead I worked on the code which is next week’s task. So I’m not too behind on schedule.

Next week, I hope to have the code finished, determine camera stand locations, and start assembling the camera stands.

Jae’s Status Report for 2/24/24

This week, our team was able to switch/finalize our idea from pool refereeing to car tracking and generation of stream. Because of this, I was able to put in orders for the things we needed the most at this time, which were the racetrack, arduino, and motors. We also need cameras soon, but for now we are planning on using the camera I bought to test pool double hits. I personally did research on the hardware side, so why arduino uno, why servo motors over stepper motors, and the interfaces between hardwares. I have not started thinking about how to mount the camera stands, but I plan on using some sort of stationary object and attaching a motor onto it, and then attaching the camera onto the rotor. Our group met/talked almost daily to get each part of the design report somewhat thought out, so I personally focused on the system implementation and design studies on the hardware side, as well as testing/verification/validation. We are planning on meeting tomorrow to join these thoughts together and have something to present the TA and faculty. We were unable to make a new schedule yet, so we will do that tomorrow as well.

We are without schedule at the moment, but we know we are quite behind. We hope that finalizing the idea will give us the boost needed to actually start working on the project. We will also be utilizing spring break and some of the slack time to catch up. Personally, to catch up, I will get working on some sort of arduino code to control the motors at fine gradients when the motor/arduino arrive. After that, I will start designing the camera stands.

Next week, I hope to have some form of code ready that allows the arduino to control the camera motor movements given some input from car detection/tracking module. Also I hope to start designing the camera stand, or at least have an idea of what it would look like and how I would build it. Lastly, we will work on the design report all of next week.

Jae’s Status Report for 2/17/24

After receiving feedback from the previous week’s proposal, our team took a step backwards to redefine our idea this week. Earlier this week, I communicated with our faculty and TA to clarify their feedback. After validating their feedback and deciding to change ideas, I took charge of fleshing out our backup idea (use-case/challenges/solution/testing) of a camera system that does auto-tracking and auto-generation of stream of a toy car race. I also helped clean up our list of possible fouls to detect for our main idea.

After presenting everything to the staff on Wednesday and part of Thursday, we decided on pursuing the detection of double-hit fouls and push fouls in pool. Then the biggest challenge was determining what the required camera resolution would be to capture a double hit. So I spent some time in the University Center game room performing double-hits and recording them as iphone video(~30fps) or slowmo(~180fps) to see what the images would look like frame by frame. Attached is the frame by frame images (~180fps) of a double-hit.

 

Since there were only 1-2 frames between the two hits, and that the iphone slowmo feature is not quite 200fps, we wanted to see what 260fps footage would look like, so I purchased a 260fps camera. It came today so I will be trying it out tomorrow.

Our schedule has been delayed since our proposal week, so I hope to get back on track by testing out the 260fps camera and: 1. if camera footage is good, team can move forward to rely more on camera footage 2. if camera footage is not quite good, team can look more into using other aspects of the hit to determine if it was a foul or not. I will also be ordering the pool table and cameras this coming week.

Next week, I hope to order the parts needed to start obtaining footage of double hits. I also hope to have a plan to use frame by frame images to detect double hits using collisions as well as distanced traveled by the balls.

Team Status Report for 2/10/24

We believe the most significant risk that could jeopardize the success of this project is defining exactly what our system will achieve. What we proposed at first was a refereeing system that will detect and identify most commonly violated fouls in pool. However, after feedback from the professor, we see that depending on the kinds of foul that we are going for, the project will either be too simple and redundant, or very complex and perhaps inaccurate. These risk is being managed by always having an open mind to our project, and be able to adapt to faculties’ advice and continuously defining our idea more and more. Some contingency plans for our idea are narrowing down our fouls to be detected to just one complex foul such as “double hits”. Another plan we have on the back of our minds is a car racing camera system for a toy racetrack, where a system of multiple cameras will track a car through a track and provide a live stream of the camera feed.

No huge changes were made to the existing design. One thing we did consider is removing the cue stick attachments (sensors) and allowing CV to detect stick to ball collisions. This is because it would be hard for sensors to detect these kinds of collisions after looking into it deeper. This change would mean that our computer vision component will be more heavily relied upon and we need more hands on that. Since Jae was to be working on the cue stick hardware, now Jae should be helping Bhavya with any help needed on the CV part or UI part.

Our schedule has been pushed back a bit (mostly for hardware side) since we are still refining our idea and did not want to put in orders beforehand. We hope to put in orders by next week (instead of this past week) to get our schedule back on track.

No photos to report.

Jae’s Status Report for 2/10/24

This week, I was able to prepare and present our proposal for the professor, TA, and classmates. Although the presentation went smoothly, our group received feedback on the challenges facing our project that we did not fully discuss about. So I would like to say we are a little behind on schedule…already.

What I was supposed to do this week was finalize research on what hardware we will be using and start to place in orders for the pool table, sticks, balls, as well as arduinos and sensors. I looked into this earlier in the week, but due to our discussion with the professor after presentations on Wednesday, our group realized we need to discuss more about the project before diving into ordering components and such. Therefore, most of my work later in the week was purely brainstorming the challenges of our refereeing system and how it can be defined even better from the proposal. Our group is meeting tomorrow to refine our idea before meeting with our professor next week.

To get back on track in our schedule, we plan to somewhat wrap up defining the core of our idea next week and get the orders in asap. Additionally, the deliverables we hope to have by next week is a refined project idea along with the challenges, as well as a list of materials and equipments to order.