Team Weekly Status Report 03/25/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?

Right now the most significant risk that could jeopardize the success of the project is still the IMU. Fortunately for our team we have been able to calibrate the IMU and read out accurate measurements of acceleration and velocity. However our major roadblock at the moment is making the built in bluetooth functional. Using the packages the manufacturer of the IMU recommends, we have only been able to send one byte of data at a time, as a message (string) that is over a byte long simply gets truncated and only the first 8 bits of data are received. We believe that there is a solution, as forums online have talked about using an older driver for the IMU can fix this issue. We have also considered the idea of doing the computation on the IMU, as it has a fairly powerful microchip on it. But in case all of these options fail, we are fully prepared to move on to a new IMU (with external bluetooth chip) on Wednesday, and increase the size of the ball to house it if needed.

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?

As of now, no changes have been made. We have solidified the design of our “golf ball”, by 3D printing it as a screwable design. The prints are very smooth and roll very well, with plenty of space to house our current IMU and battery design.  (I would post a picture but I sadly left the 3D printed balls at school) We have also decided that our frontend will be developed in react, which should pair nicely with our Django backend.

Provide an updated schedule if changes have occurred.

We plan to have accurate ball distance (LIDAR measurement) and hit and make detection (IMU and pressure sensor) of a single ball integrated by our project demo. This puts us slightly behind pace as to where we were a few weeks ago. However this still gives us plenty of time to fully complete the 3 player mode with accurate measurements about each putt.

CJ’s Status Report for 3/25/2023

This week was quite productive.

After our ethics lecture we sat down to figure out the remaining details of the project. All our materials have been gathered and we ordered the last of our components. These included some felt for our putting green, a few more IMUs, and the RFID tags.

Personally, I spent some time working with the LiDAR sensor to create a better ball detection program. So far so good, however, the testing has limitations in the space I was in. Last week I started building the course but we are meeting at my house on Sunday as team to finish the frame of the course and bring it to campus Monday. Once we have that complete, we will be able to begin integration.

The remainder of my week was spent on bluetooth debugging. Turns out, bluetooth is quite difficult. The built in package that was supplied to us from the manufacturers of the MCU with BLE and the IMU was deprecated and was unable to compile, after some head scratching and some stack overflowing, I decided to just start from scratch. I created my own implementation and was able to successfully pair with both my phone and a computer.

Small change in our implementation is due to some of the things I discovered with the bluetooth, it does not send data very fast, so, we are now planning to do a lot of the IMU preprocessing on the MCU to generate a quick and easy JSON output that can be fed into either a laptop or a raspberry pi. This JSON will take the data from the IMU and convert it into velocity to send to the laptop or pi.

We also were able to mount an IMU on the putter and hope to do detailed tests this upcoming week.

Overall, we are on schedule, but we sure have some testing to do. I think these coming weeks will be fun, challenging, and long, however, I am ready to attack this project with a sight at the finish line.

Erik Feldmann Status Report 03/25/2023

This week my primary focus was establishing a front end for our webApp. While I was gone at NCAA’s the prior week, CJ and Seaver made great progress integrating our hardware and webApp together, with Seaver focussing on the backend of the webApp, and CJ focussing on the hardware. This left me with the opportunity to start work on the frontend, as that is the one aspect of our project we had not touched yet. I am working on the front end in React JS, something I am unfamiliar with. I am learning a new language, so its taking me longer than I would like to create an established product. However, I have full confidence I will become proficient in React (and JavaScript) by the end of the semester.

I believe we are well on schedule considering the integration we have accomplished so far. The one place we are lacking on is our physical green that we need to build, and we plan to address that tomorrow (03/26), and get started building.

Next week I plan to push a working front end to production, leaving us with a nice webApp that looks like a bit more than HTML. Also as a team we plan to have the green at least partially assembled, with the skeleton frame of the wood put together. We placed an order last week for our “grass”, and we are 3D printing balls and a hole. All in all, our project is coming together quite well.

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.

Erik Feldmann Status Report 03/18/2023

This week I was unfortunately not able to accomplish much work, due to being out of town for the swim NCAA championship swim meet from Monday until Saturday. Every day I was at the pool for over 12 hours, so I had very little to no downtime to do any work for any of my classes.

I believe our progress is on schedule, as Seaver and CJ are handling the work very well.

Next week I will be working with CJ and Seaver on further integration and working by myself on the WebApp.

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.

CJ’s Status Report for 3/18/2023

This week we have hit the ground running. I gathered some materials to build the frame for our golf course and I am planning to start building this on Sunday. We have a bunch of wood to build a frame and to set up the course.

Personally, I spent most of my time working with the IMU. Configuring the blue tooth turned out to be harder than expected but after a bit of trial and error, I was able to successfully transmit some Bluetooth data from the IMU to my phone via a bluetooth app. (Not one that we created, just a developer bluetooth setup).

I was also able to write some code to utilize the IMU. With some tape I fixed it to a putter and was able to track the swing path as I brought the club back and then forward. I am hoping that by Monday I can have a program to say whether the user accelerated, decelerated, or stayed constant through the ball with their putt.

I would say overall that our progress is on track but we definitely missed Erik this week. This upcoming week will be a big one with the build of the course plus the integration of the bluetooth into the webapp. Another goal for this upcoming week is to have a working version 1.0 of the ball, we have identified a 3D model that we are printing to allow us to have a hollow shell that we will fill with sensors. For now making this ball mimic a real golf ball will be a nice to have in the future, but, with our schedule we may end up with a ball that does not roll perfectly.

As stated above, our biggest risk area is going to be the ball, we unfortunately had a long period of correspondence with a supplier of rubber ball shells that did not work out. The 3D printed model provides a bit of uncertainty with durabliity but I am confident we can test and find out how to maximize that balls performance.

CJ’s Status Report for 3/11/2023

A bit late on this one with some travel to finish up my spring break.

This week I worked on validating our sensors. I used an arduino as the MCU for all of this testing. Beginning with the RFID sensor, I was able to create a simple program to read a MIFARE compatible RFID tag and then map the UID values to a given “golf ball”. Using two of the provided RFID cards when one is tapped the program registers and reads back “Golf Ball 1 Detected!” and likewise with the other golf ball

An issue I did run into was with our tags that are used for the ball itself. This are not MIFARE compatible so they didn not register any data when scanned by the RFID sensor. However, I was able to track down another set of tags that are stickers that can be placed in or outside of the ball to provide the same function.

This week I also wrote part of the design documents. Particularly, the implementation and the design trade studies.

Overall our team is on track, I wish we had finished more this week before break, however, we are aiming to have a prototype of each of our subsystems by the end of next week and I believe we can achieve this. The biggest part of the upcoming week will be validating the IMU. I have begun to use the Arduino IDE to communicate with the IMU chip and all seems well. Our goal is to have a simulation by Wednesday that can show the orientation of the IMU as someone moves it around.

Seaver Dahlgren’s Status Report for 03/11/2023

What did you personally accomplish this week on the project?

This week I created a new GitHub Repository for our web app. I created the beginnings of the framework using a Django Python framework. I also added HTML pages to represent a couple of our pages that are required for the app. I created one opening web page that enables the user to say exactly how many players will be playing on the course. The user will also have a text box where they can identify both the name of the person playing and which set of clubs and which ball each person will be using. The second page I created represents the stats page. There will be a stats page for each individual playing. The stats page will have each of the corresponding golf stats for individual players. Additionally, I drew up designs for our actual putting green. We will be using a wood frame and plywood to support the course. Additionally, we will also have a green felt grass for the ball to roll on.

Lastly, I also wrote up a large portion of the design doc. After I presented last week, it was easy to translate into the document.

Is your progress on schedule or behind?

We are currently on schedule. The team has been able to test the RFID sensor and we were able to get our initial designs approved. We submitted our final design proposal, so that is on track. With the web app currently in development we are on pace to have a working prototype before we begin integrating with the hardware side. We only need to test a couple of other sensors before we can do this. We also put in a large order for screwable balls this week, so we can actually begin rolling the balls. We also registered for additional space so we can store our actual putting green. I think we will get this extra space in the coming week. We have also received our IMU so we will begin testing that this week.

What steps will be taken to catch up to the project schedule? What deliverables do you hope to complete in the next week?

I want to test the IMU this week. I also want to test the pressure sensors. Personally, I will be focusing on finishing up an MVP model for the Web App this week. I want the user to be able to input all of their names. Additionally, I want it to be ready to display all of the stats. Lastly, it is also essential that I figure out how to integrate the web app framework with the SQLite database. I want to be able to easily store and display data so that it is most easy to understand. I am considering adding graphs to the golf stats part of the web APP.