Team Status Report for 4/29/23

List all unit tests and overall system test carried out for experimentation of the system. List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.

  • Distance from Hole – Distance from hole was relatively accurate ~90% (small sample size though. Main issue was that we may have to restrict to only one ball at once for distance.
  • Club Acceleration – Acceleration seems to perform accurately ~90%. No changes were made to our system
  • Club Angle – Pretty accurate. May need to adjust for the IMUs calibration and the offset
  • Ball velocity – Surprisingly accurate. We were very pleased with the results here.
  • Ball spin – Still hard to test accuracy for this test. May have to do further analysis this week.
  • Durability – Basically dropped the ball 50 times. The chip remained intact the whole time.
  • Battery – lasts about 45 minutes to 1 hr. Which is within our ideal range.

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?

We are finished with most of the difficult parts of our project. No real blockers currently

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/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.

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.

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.

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.

Seaver’s Status Report for 4/1/2023

What did you personally accomplish this week on the project?

I fixed the IMU code so that the Bluetooth now transmits floats instead of just single bytes. In the mobile app that pairs with the IMU, I also modified the settings so that it displays transmitted data as floats instead of hexadecimal values.

Erik has been working on implementing a GraphQL endpoint to simplify making changes to the backend DB. In the meantime, I augmented the homepage, so that there is a new game button that goes to the new game page. I also added functionality so that the stats page updates every 0.5 seconds. It is a bit inefficient at the moment, so we may want to switch to using AJAX in a later implementation.

Is your progress on schedule or behind?

We are currently on schedule. We will be wrapping up the integration of the LiDAR to the web app tomorrow. On the web app side, I want to deploy the app using Heroku. Perhaps we can use Kubernetes? We will finalize it tomorrow.

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

Just need to work hard tomorrow to be ready for the demo.

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

We need to integrate the LiDAR, RFID, and pressure sensors into the web app. I will work with CJ on how the data will be processed before sending it to the web app. I also will work on looking for alternatives to host the web app itself, so that many devices can make POST requests to augment the database.

Seaver’s Status Report for 3/25/23

What did you personally accomplish this week on the project?

This week I finished the Backend APIs for the web app. Everything now should be stored in an SQLite Database. The users can input their names and submit them via a “new game” page. They are then redirected to a stats page which will display every user’s real-time stats. I also shared the repo with Erik and CJ so Erik and do more of the front-end design using react. Lastly, I also picked up the extra IMU and made additional orders for more sensors, so that we can have 3 independent sets of clubs and balls. This included the purchase of RFID tags and more IMUs.

Is your progress on schedule or behind?

We are slightly behind as of right now. I wanted to have Bluetooth fully integrated with the system, but we ran into a couple of issues. Some of the serialization protocols are not working as they should. We are only able to send one byte at a time.

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

I am going to work with CJ simultaneously to get the Bluetooth working for the IMU. We have two IMUs so it should be faster. Meanwhile Erik will polish up the frontend look of the website

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

We need to send the data from the IMU over Bluetooth, to the local computer. The local computer should then make a post request to the web app. Our main blocker and focus right now is working with Bluetooth. Everything else (all of the other sensors) can be wired directly into the local computer.

Team Status Report for 3/18/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 first potential risk was putting together the pseudo-golfball. Since the Alibaba order we originally planned no longer fits our budget requirements, we have to ensure that the 3d-printed ball screws and unscrews properly. If 3D printing is not a viable option, we have identified plastic shells that we can glue together to create the ball.

The second risk is getting the BT functionality appropriately integrated with the RPI. Currently the Bluetooth was successfully paired with an iPhone app meant for Bluetooth developers, however, the Bluetooth from the IMUs will need to be paired with a raspberry pi.  The raspberry pi utilizes the BlueZ open source python framework to manage Bluetooth devices. We have done some research on this and how to park it with our IMU but we will try to implement it in the upcoming week. The IMU remains the most complicated and important part of the success of our project.

 

Our final risk is the course itself. Early next week we hope to build the frame and actual putting green itself. He have located all of the necessary materials for this except for green felt to give the course a putting green style. The course is a necessary piece of the system so there are not contingency plans, however, the build is quite straightforward.

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?

Some of the current CAD designs we have for our screwable golf ball are the following:

https://www.thingiverse.com/thing:61205

https://www.thingiverse.com/thing:3678251

https://www.thingiverse.com/thing:1648177

We will try printing each of them and test how well they work while attaching the IMU and RFID chip next week.

Other than this, there have been no other outstanding changes.

Provide an updated schedule if changes have occurred.

No schedule updates at the moment.

 

 

 

Seaver Dahlgren’s Status Report 3/18/23

What did you personally accomplish this week on the project?

This week I started by identifying the new ball shape for our golf ball. Last week, we discovered that the original vendor for the ball only accepted minimum orders of 400 balls. This would be too much for our budget, so I had to scope out alternatives. I found a couple of CAD designs that we can use to 3d print the balls in TechSpark.  I am going to schedule the prints this weekend. I also added a couple of new elements to the Web App. When individuals record their names on the initial webpage, the names should be stored in an SQLite database. The webpage will redirect to a new URL with the current session ID. This is where the stats will be displayed. I am currently in the process of writing the APIs that will allow the RPI to update the Stats Page.

Is your progress on schedule or behind?

We are currently on schedule. I am hoping to finish the web app APIs this weekend, so I can begin integration with CJ on the sensors and the RPI.  We missed Erik this week, so I had to do a lot of work on my own for the Systems/software end of things.

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

I am going to keep pushing forward with the APIs this weekend and Monday so that we can begin integration coming into next week. I believe that with Erik back we will be ready to integrate the whole project.

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

With CJ working on the IMU Bluetooth. We should begin integrated the whole project by next week. I want to have a working version of the Web App. I also want to be able to print the golf ball as soon as I can, so we can run the IMU on that. Lastly, we need to begin testing the IMU on the clubs and figure out if we need to use any of our contingency-planned sensors later if they are not working out.