Erik Feldmann’s Status Report 02/25/2023

This week was productive for our team. We a few of our parts arrive, to prepare for extensive testing in the following weeks. The RFID sensor and individual chips both arrived.

This week I worked extensively on web framework research. I determined that for a genuine startup, our best bet for a framework is using react on the front end and Node.JS on the backend due to the extensive libraries available, and the overwhelming developer support. However another option is to use the python based Django framework, which can cover both front end and back end in a more familiar language. While python does have its performance shortcomings, Django may be the better bet due to the short amount of time we have to develop our project.

I believe our progress is still on schedule. Next week will be dedicated to integration and component testing. Assuming all goes to plan next week we should be in a very good place for our project, and may begin work on some of our bonus features, such as focussing on our green (i.e. what surface should we purchase for it, how elevated do we need it to be, keeping it to code for multiple individuals standing on it, etc.). Otherwise we will continue problem solving, either purchasing new components or rethinking possible solutions to individual problems.

Next week our main focus will be on individual component testing. How well does our RFID sensor work? How well do the individual RFID chips work (we have multiple)? How about our IMU? These are all extremely important tasks that we will be focusing on this week. If all of them work as expected, we will start integrating via software, translating data from each hardware component into software, and storing that data in our database. If not, we will consider potentially purchasing other components, or rethinking the scope of our project.

Team Status Report for 2/25/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?

We think that the most significant risk is the reliability of the IMU. There was only one real option that we could find for the IMU and it is designed for ML robotics. Our IMU has to meet a few requirements: 1. It has to be able to fit inside of the ball 2. It has to have Bluetooth integration 3. It needs to have a decent resolution for the orientation. Because of all of these requirements, we are highly restricted in the number of chips we can use.

As a worst-case scenario, we believe we can use multiple accelerometers to measure ball and club acceleration. It will not be nearly as accurate, though, when it comes to pitch and angle.

So far the IMU we have selected seems to fit most of these requirements. It is onboard a small MCU that has a built in BLE unit. The MCU does meet our size requirement and is small enough to fit inside the ball. An Arduino-like IDE also comes with the MCU which should make development easier and quicker as opposed to finding a library for a separate IMU chip itself.

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? Provide an updated schedule if changes have occurred.

We finalized our design for the whole system. Here is our current diagram:

We also decided to re-scope how the overall course will look:

We changed it so there is only one starting point for the ball. This is because we thought it would be too difficult to identify a ball and use lidar in all directions. This is an acceptable compromise though because, on a real mini-golf course, golfers start from the same point each time.

Enumerate how you have adjusted your team work assignments to fill in gaps related to either new design challenges or team shortfalls (e.g. a team member missing a deadline)

1.) We have added a section to our schedule to allow for build and design time for the hole itself. With the addition of various sensors that will need to live under the course (RFID sensor and pressure sensor) we realized that the hole itself will need to be raised. This is also due to the hole itself needing to have depth. Seaver and CJ will lead the designing and build phase of this where Erik will shift to testing more of the components individually.

2.) With the raised concerns over the IMU Erik and CJ rather than just CJ will be working on the IMU data processing software for both the putter and the ball. For now, CJ will be working on the ball while Erik will be working on the putter, however, since both IMUs use the same IDE and configuration there is likely to be overlap in development here.

Seaver Dahlgren’s Status Report for 2/25/23

What did you personally accomplish this week on the project?

This week I started by finalizing our initial designs for the webapp. I also researched possible Frameworks to use. It seems like my top choices are react.js and Django. I think react.js is more thorough, but Django might be easier since I am more familiar with Python. I also updated our slide deck for the design presentation and practiced with my teammates and a couple of extra people. I completed the presentation on Wednesday. At the end of the week, I also received the order for the RFID sensor, so I can begin running tests on that.

Is your progress on schedule or behind?

We are currently on schedule. We finalized our design for the critical parts of our project and were given good feedback from our peers and advisor. One component we still need to flesh out a bit is how we will test the accuracy of some of the ball metrics. Specifically, how will we know the “correct” spin and angle of the ball? Our current solution is to video tape the ball. This may be a bit painstaking since we will have to videotape a lot, so it might be worth brainstorming more solutions.

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

We will begin preliminary testing of the RFID sensor and the pressure sensor that we just received. I want to get an MVP of what the webapp will look like. Additionally, I think we should start designing some of the physical components for the course. We should order the ground material as well as the design for the hole. Lastly, we need to purchase the ball that we can prototype with.

 

CJ’s Status Report for 2/25/2023

This week was another good one in the world of best ball.

This week I was able to improve upon the LiDAR system and begin to compile and mess with some library’s to work with our other sensors. Our LiDAR is now able to differentiate between feet, balls, and putters. This will allow us to accurately detect the ball. I have also added a script to measure and display the distance from the LiDAR to the ball, this will need to be edited to tell the distance from the ball to the hole but that should be simple linear equations.

I was able to find raspberry pi library called mfrc522 which is a library to control our RFID sensor through GPIO connections and a SPI interface. I booted up an old raspberry pi and configured it to have SPI connections ready to go when the sensor does arrive and I began work on code to detect ball ids when a ball is placed on the RFID sensor.

Lastly, I began to work on the actual green. I have begun work on a design for the green to allow for confined walls for the LiDAR to make an outline of the course. The green will need to be slightly elevated in order for sensors to live under the course. To accomplish this, we will create a wooden base with cut outs to fit our sensors where they are needed. On top, the wooden base will be covered with green felt. The green will need to be at least 6cm off the ground to fit all our sensors and to fit a golf hole with the right depth.

Overall we are slightly behind schedule as our sensors did not arrive when we expected, however, we have a few that arrived yesterday and we will be able to begin testing them as a team on Monday.

Erik Feldmann’s Status Report for 02/18/2023

This week was fairly productive for both me and my team. Having a full week back from Atlanta, our team was able to collaborate and determine which materials were best to be purchased. We came to a decision on the RFID scanner, the RFID chip, and our IMU. I personally submitted the purchase order for the IMU. We should be able to get our hands on these parts this week. I also spent some time checking out the LIDAR unit we were bestowed. We determined detection of a golf ball is viable within a few meters, and plan to start writing code this week. We also met with Professor Kim with our modified idea, which he approves of.

I believe we are on schedule as of right now. We need to do a fair bit of testing this upcoming week, as well as start work on the web application.

I hope to have the IMU, RFID chip, and scanner in hands this week and get solid testing done on each. I would also like more research to be done on our Web App, and start writing some code.

Seaver’s Status Report for 2/18/23

What did you personally accomplish this week on the project?

We did research on several of the weight sensors that we will be using for the putter hole part of our project. In addition, I also researched a couple of the RFID scanners and RFID tags and identified a few that could be ideal for our project. After collecting all of this info, I selected the best one that we would purchase. I then placed orders on the chosen RFID tags, RFID sensor, pressure sensor, and IMU chip that we will use in our project.

Is your progress on schedule or behind?

We are currently on schedule. We identified that we can use CMUs LiDar sensors to identify an orange-sized ball. Thus, we now have a confirmed way for finding the location of the ball at all times. In addition, we also purchased the sensors we wanted for the bulk of the project. The most concerning is. the IMU because it will be inside of the “golf ball” and have to withstand strong hits. Therefore, we will need to measure how effective the IMU is in measuring orientation and spin,

If you are behind, what actions will be taken to catch up to the project schedule? What deliverables do you hope to complete in the next week?

We will need to start working on the current software implementation for the web app while we wait for the other sensors to arrive. In addition, we need to work on finding out how we are going to build the ball. The plastic ball can be bought, but we need to make sure we can the right size. Lastly, we should identify a mechanism to hold the LiDar sensor so that it can see the right height of the ball.

 

 

Team Status Report for 02/18/2023

This week we were able to make a lot of progress with Seaver and Erik returning home from their swim meet. We mainly finalized our design and ordered parts/sensors to begin testing with.

We had a breakthrough this week where we were able to verify that the LiDAR sensor that we got through the ECE inventory was able to successfully detect a golf ball. A few risks still with this component will be reliably detecting the golf ball and the distance to the hole while not becoming confusing by other objects such as the putter or golfers feet.

One change that we have decided to make it to line the putting green with a boundary wall. Mini-Golf Course with 9 Holes | A Fun and Challenging Event Rental

As shown here, the golf holes have barrier walls around them. This will allow us to do two things, first we will be able to embed the LiDAR sensor slightly lower as currently a golf ball passes just under the plane of vision for the sensor. Second, this will allow the LiDAR sensor to begin a calibration phase in which it measures and stores data about the hole with no other objects. This will yield more accurate object detection and distance measurement on the course.

Some of the final items to iron out are how we are building the hole itself, what components will it have, and what materials will we be using. We plan to finalize and begin building sometime mid next week as we want to verify each component of the system first before building the green itself.

Overall we are on track for our project and following the schedule. We should be able to build component prototypes for every subsystem in the entire project by the end of next week putting us well on track to have our plan verified before spring break.

CJ’s Status Report for 02/18/2023

This week was very productive. With Seaver and Erik back from their swim meet we were able to meet up and really iron out some of the details of our design. We went ahead and selected a pressure sensor for the hole, an RFID sensor and tag for the ball, a bluetooth enabled IMU for the ball, and the LiDAR sensor to detect the balls distance.

I primarily spent the week messing with the LiDAR sensor. First thing was finding a suitable library to control the sensor. After messing with the poorly documented one on the manufacturers website, I found another implementation that was much easier to understand and was written in Python which I personally enjoy better than C++. After some messing around I was able to have the LiDAR scan across an entire room and scan with a golf ball in it’s field of view. The next challenge was slowing down the motor, this sensor comes with a USB chip to control it, however, the chip sets the spin rate of the LiDAR sensor to a set rate. This rate does not allow for the angular resolution that we are looking for and need to properly detect a golf ball. To get around this, I used an Arduino to highjack the PWM MOTOR_SPEED control pin and was able to slow down the spin rate successfully.

From there, I began to write some code to try and detect the ball edges. Below is a photo of the LiDAR output. I was able to write a ball detection program that highlights the ball in red. For a standard golf ball, this worked up to 10 feet away which is within our requirements.    

Our project is on track and we are expecting the rest of our sensors next week. From there, we are going to test each individual component. Next week we hope to have developed a prototype of the hole and proper distance measurements. Once these have been completed we will move into designing and building the golf hole.

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

This week I primarily worked on the slides for our first presentation and pitch for our project. I read over our slides and added suggestions and ideas to them. The slides can be found attached. After our presentation this week, I also communicated a bit with Professor Kim about how we may need to restructure our approach for our project. Specifically, he identified that the IMU sensor might not accurately detect ball movements precisely enough to calculate distance and acceleration.

We are perhaps a bit behind our original schedule as we need to ensure that our ideas now correspond to the design and scope suggested by Professor Kim. However, since he is proposing that we scale back our project, I think that this may alleviate some of the time it will take to pivot to this new design.

As we ramp up this week, Erik and I will meet with CJ to identify which of the sensors he has ordered and which ones we still need to purchase. Then, we will also solidify our ideas about our new restructured design with Professor Kim, to confirm we are on the same page. Once this is given the green light, we can move to design some of the software that may be needed for our web app. Additionally, we can identify the physical parts we own/need for the golf ball, club, and course itself as these will be key to our demo.

Erik Feldmann’s Status Report for 02/11/2023

This week I was unfortunately not able to accomplish much work, due to being out of town for my conference championship swim meet from Tuesday 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. However on Sunday (February 5th) I worked on getting our teams project proposal slides completed, and practiced delivering my speech.

I believe our progress is a bit behind, since both Seaver and I were out of town for the week, leaving CJ with a lot of research to do on his own.  Professor Kim would like us to change the scope of our project, so we certainly have a lot of work to take on.

Next week I would like to know exactly what components we will be purchasing, as well as nailing down delivery dates and cost. Communication with my team will be critical, such as learning what components CJ has already checked out, so we don’t waist time doing the same thing twice. I also want to have an updated, heavily detailed implementation that Professor Kim approves of.