Seaver’s Status Report for 4/29/23

What did you personally accomplish this week on the project?

This week I had to design a script that would enable us to connect to the BT for the IMU. I had to iterate on many libraries. It turns out that Bluetooth is not very well supported with many modules. I found a library called SimpleBLE that works with C++, Python, and Rust (I think). It allowed me to scan for nearby BLE devices. It did not, however, let me connect to the chip. I ended up having to clone the repo and modify some of the libraries then install from the source. Eventually, I got it working and I am able to connect multiple chips to my MACOS and extract regular data iteratively.

This week we finished the slides for our final presentation. I also updated the website to use AJAX instead of refreshing the whole page in order to give live updates.  We also ran tests on the IMU in the ball. We measured the ball’s rolling distance and tracked the speed with the IMU. Then we cross-referenced the results and found that they appeared to be 90% accurate. I also updated the IMU code to transmit the velocity as well as the orientation of the ball.

Is your progress on schedule or behind?

We are currently on schedule. We need to start making the poster and demo video. I will need to finish testing the IMU data that is going to be sent to the web app.

What steps will be taken to catch up to the project schedule?

na

What deliverables do you hope to complete in the next week?

For our final steps, we need to add a graphic interface to the web app that showcases the data and helps the user visualize. Then we also need to run a couple more integration tests for the IMUs and run the whole course altogether. Lastly, we need to finish the poster and the video demo and write-up which we will be working on exclusively next week.

Erik Feldmann Status Report for 04/22/2023

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week I spent most of my time improving the look of the webApp. Using HTML combined with CSS I was able to greatly improve our website design, allowing for a much more modern look. I had to spend a great deal of time learning CSS, as I had never used it for a project before. I added a background image for every page, as well as stylizing the basic fonts seen throughout the website, trying to personalize the site and give off modern golf flare.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I believe our progress is right on schedule. The bulk of the project is complete, we just need to finish printing new balls, laying down the felt, and installing the RFID scanner underneath the course. Since all of our integrations are basically finished, I believe the final steps of the project should be easily completed in the last few weeks we have before our presentation.

What deliverables do you hope to complete in the next week?

I plan to integrate a graphic display for each hit in the webApp, instead of a pure numbers format. I also plan to help install the official golf ball cup and “grass” on our course, to complete it.

Team Status Report for 4/22/23

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

The main risk was not being able to connect to Bluetooth, since the majority of our stats were BT Communicated. However, we fixed that this week so now we just need to figure out how to coordinate stat-taking with the system. Right now we are just fine-tuning the coordination of each of the sensors with the system.

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

Currently, our design remains the same and on track, we just had to adjust the colors of the balls, so that the LiDAR can track properly.

Provide an updated schedule if changes have occurred.

Our schedule remains the same as the previous weeks.

Seaver’s Status report for 4/22/23

What did you personally accomplish this week on the project?

This week I had to design a script that would enable us to connect to the BT for the IMU. I had to iterate on many libraries. It turns out that Bluetooth is not very well supported with many modules. I found a library called SimpleBLE that works with C++, Python, and Rust (I think). It allowed me to scan for nearby BLE devices. It did not, however, let me connect to the chip. I ended up having to clone the repo and modify some of the libraries then install from the source. Eventually, I got it working and I am able to connect multiple chips to my MACOS and extract regular data iteratively.

Is your progress on schedule or behind?

We are currently on schedule. We are going to be placing the chips on the putters and in the balls, to test that accurately. We are adding some stylization to the website as well. We want it to look better and have nicer graphics so that a user can better understand what the data means and how they can improve their game. We have also been able to test the IMU’s with their individual batteries and they work well. Additional balls are currently being printed. We have also been working on our presentation for our final extensively.

What steps will be taken to catch up to the project schedule?

na

What deliverables do you hope to complete in the next week?

Next week, we are planning on streamlining the data from 6 IMUs to the web app using POST requests. To do this we also want to have the IMUs set up on the clubs and in the balls, modularly. We also would like to ensure that the course is set up better. We would like to install the golf ball cups and the felt green this week as well. Hopefully, we can also raise the course so that the course supports more weight.

CJ’s Status Report fro 4/22/2023

Best ball is rollingggg. This week we began to reach the end game and also work toward finalizing the project.

I personally spent some time integrating our lipo batteries with our IMUs. At first I was skeptical but I was able to unplug the unit and maintain a bluetooth connection which was great. Once we have our IMU’s code finalized, we are planning to do a full length test of the battery life. From our calculations, it seems like this should last over an hour.

Secondly, I submitted some updated balls to be 3D printed. We need these balls to not be black because we found out that the black material actually absorbs that LiDAR? Not certain, however, when we use the black 3D printed balls they no longer appear on the LiDAR.

Lastly, I worked to refine the LiDAR to be better at detecting the balls location particularly around the edge. Currently, the LiDAR needs to spend a cycle or two measuring and then saving the edges of the frame. This allows for the LiDAR to tell the difference between the ball and the edges. What I modified was how this is done, some of the more parallel edges are hard to get enough samples from, so, for those areas only, I added 10 more cycles of the LiDAR and that seems to do the trick.

Overall, we are on schedule, however, I would have liked to have more done for our final presentation. Looks like some modifications will be made over next week and we will be finished and best balling come next week. Excited (and mildly stressed) for the next week!

Erik Feldmann Status Report 04/08/2023

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week was spent heavily on getting our project ready for our interim demo the previous Monday. I was focussing on moving the website from being local on Seaver’s laptop to available on the internet with a real web address. This was fairly time consuming, as it took some time to find a platform that would allow for free web hosting, while also being manageable to use. We decided to use pythonanywhere.com since it allowed for easy migration with our Django backend. The rest of my time was spent helping CJ work out the kinks of the lidar ball detection.

As for the rest of the week, I spent more time working on React to develop a front end for our WebApp, and I also spent time developing a logo for the team to be displayed on our site.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I believe our schedule is on track at this point. We need to buckle down this week and fully integrate our IMU, but once that gets accomplished I believe the rest of this project will be smooth sailing.

What deliverables do you hope to complete in the next week?

I hope to have a live front end available to be seen by the end of next week. I also hope to have the bluetooth of the IMU be fully integrated into the webapp as well.

Now that you are entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have you run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

We have set goals for LIDAR accuracy, and to test them we can roll a golf ball, read the measurement of distance from hole on the WebApp, and then verify that measurement using a tape measurer, checking if we are within 3cm of the measured distance. Another (trickier) test to handle is that of the IMU. We have ideas to either record video of us striking a ball with a putter, or simply timing a certain roll distance to then extrapolate our many measurements we are taking, and then comparing those to our expected results, checking to see if we are within our margin of error.

Team Status Report for 4/8/2023

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

Currently the most significant risk that could jeopardize this project is our distance tracking method via LIDAR. Fortunately our IMU bluetooth situation has been worked out, as we can send packets greater than 1 byte now from our IMU via bluetooth. However we have stumbled upon a new issue in regards to our distance detection when multiple players on playing the game at once. Due to the where the LIDAR is placed, if one ball is near the very back of the course, it could potentially block 90-100% of the LIDAR’s range of view, leaving it unable to detect any putts occurring besides the ball that is right in front of it. Therefore we have a serious challenge on our hands as to how we are going to be able to get multiplayer to work for our system. We may need to rescope the project, or we could try using acceleration data to measure distance from blocked balls.

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

Currently there are no changes to our block diagram. Our current block diagram is accurate to how we will present things in our interim demo.

Provide an updated schedule if changes have occurred.

We are probably about one week behind our allotted schedule due to delays in deliveries of various essential orders that we have placed, relating to IMU and webApp integration.

CJ’s Status Report For 4/8/2023

This week went very well as well. For our demo we wanted to have was a full demonstration of the putter setting up their ball, taking their putts, and tracking the distance with the webapp. We then wanted to demonstrate the sensor system to tell when a putt is made. Finally, we wanted to have a demo of tracking spin rate and putter speed with the IMU.

After a laborious Sunday, we were able to achieve most of these goals. It started out for me by walking the entire course down Forbes with a few of my friends after realizing the 10 foot by 5 foot course wasn’t going to fit in the back of my car. Going to call that walk my workout for the week, grabbed some food and it was off to the lab. We set up the course and configured the LiDAR. Leveling the course was harder than expected as the LiDAR needed the entire course to be very level in order to properly find the outline. Once that was done, I finished implementing an algorithm to calibrate based on the course outline and search for “ball-sized outliers”.

Now that we had this performing, we set up a small LED system to represent the RFID and the pressure sensor being triggered before trying to configure them with the webapp. Seaver spent some serious hours getting the webapp to work and deployed.

Finally, we threw some post requests into our codebase for the LiDAR and Arduino based sensors to communicate with the webapp. Our downfall pre-demo was the operating the IMU. Unfortunately, we did not receive our batteries in time so that made it impossible to communicate with the IMU while it was in the ball. We were pretty burnt out by this point anyway, so we set up a small sub-demo of the IMU where it was still wired up.

Overall, we are set for the coming month and have some work ahead of us. Next big tasks are working with the IMU once we receive the batteries and putting the felt on the green to slow the roll of the balls. Regardless our schedule is on track, but we will need to make a push this week with testing.

The next tests for me to perform are verifying the distance measurement of the LiDAR and the accuracy of the IMU.

Our LiDAR test is quite straight forward, we plan to place the ball in  25 different spots that vary both distance and angle to the hole, measure the distance with a tape measure, then measure the distance with the LiDAR. From there we can continue to calibrate or verify that it is within our specification of 3 centimeters from the true distance.

The IMU test is a bit trickier, for this we will roll the ball along a path of length 3 feet and time it. This will give us the average speed over that distance. We can then extrapolate the spin rate as this will be based on the speed and circumference of the ball. Comparing this to the measurement of the IMU will tell us if we are within 5 revolutions per minute as per our specification.

Seaver’s Status Report for 4/8/2023

What did you personally accomplish this week on the project?

This week we had our interim demo. I worked on setting up endpoints for the demo. I modified the current web app implementation so that users can assign names to a specific type of ball that way a user is easier defined and it can be queried from the database. I also added endpoints to modify the distance the ball is away from the hole for each person. I worked with CJ to have this updated in real time during the demo. I also set up the IMU so that we could get a graphical representation of how it looks when you pitch the club in different directions.

Is your progress on schedule or behind?

We are currently on schedule. I am going to continue working on the BT for the IMU this weekend so that we can begin full testing for each of our components.

What steps will be taken to catch up to the project schedule?

na

What deliverables do you hope to complete in the next week?

Haver the IMU BT set up by next week and have preliminary testing of “ball hits” as well as balls made. I would also like to put the IMU inside of the balls and see the accuracy there.

Now that you are entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

I am planning to run all of the “Distance-to-Hole,” “pair ball”, “stroke accuracy” and “holes made” tests. I will be performing these tests as per our design doc. this week. These are less modular. I will use the whole system, including the sensors, to perform these tests. So far I have only written some unit tests for the Web App. I want to run a couple more integration tests and reliability tests. I have run into a problem a couple times where the server fails to create a new game for some reason.

CJ’s Status Report For 4/1/2023

This week was another productive week.

This week i personally spent my time working on the course itself and the LiDAR. I spent many hours building our wooden course. After building it, I recruited a few fellas to carry it down to campus with me.

I also worked on the LiDAR and was able to consistently track a ball. I ran into an issue where balls that were behind each other were unable to be tracked. We may consider re-scoping our project to only allow for one ball to be on the course at a time so that the LiDAR can accurately track the ball. However, the LiDAR implementation was vastly improved to track not only the ball but the hole and the distance to the hole. The LiDAR now also makes  POST request to the webapp to send the distance to the hole.

I think we are on schedule and plan to have an amazing Sunday to prepare for our demo where we want to have IMU data with the putter and ball as well as the hole, LiDAR, and RFID all working well with the webapp.