Weekly Status Report

Team Status Report for 3/16

The biggest risk we face as we approach the first integration of all subsystems is the reproducibility of the shots. As also mentioned during design presentation and during our meeting with professor this week, if there are not enough spin when the pingpong ball travels, it can essentially turn into a knuckle ball pitch, leading to unpredictable trajectory. While we don’t think this will be a huge issue as the travel time is short and there should be some spinning of the ball should already happen as it shoots out, we acknowledge that we don’t know for sure until we test it out. We aim to finish the first full integration soon so that we can adjust our design if it doesn’t pass our verification plans.

We don’t have any major design changes this week.

We don’t have any schedule changes this week as we had slack time integrated into our original Gantt chart.

Alex’s Report for 3/16

This week I worked more on the trajectory prediction, with the ping pong balls, I finished the filtering of unrealistic trajectories and am now considering working on getting the trajectory that traveled the most distance. I don’t think that this component will be strictly necessary since filtering out unrealistic trajectories already works quite well. I also need to think about how to test this component of the system as well.

I thought a lot about cup detection this week because it feels harder to do than ball detection. I am going to try mapping the 3d point cloud into a 3d “pixelated” space and then go layer by layer searching for circles. Alternatively, if that doesn’t work I could use a computer vision model to detect the cups based on the rgb vision rather than LIDAR vision, but I’m trying to get LIDAR vision to work properly.

I’m almost done with the first iteration of the launching subsystem, I only need to obtain a 2 liter soda bottle to use as a pressure chamber and hook that up to our current pressure system.

Next week I think I’m just going to focus on trying to get as much as I can done with the computer vision subsystem and I might ask one of my groupmates to look for/buy the pressure container (a 2 liter soda bottle).

This puts me around where I expect to be on the schedule.

Seung Yun’s Status Report for 3/16

This week, I worked on the ethics assignment and finishing up the aiming system prototype.

I’ve adjusted the mounting point for the vertical aiming system’s arm, which was further away from the previous version, making it more stable and easier to screw in. The servo motor house’s mounting point has also been re-printed and everything was assembled nicely.

As I was about to work on the electrical connections, I’ve realized that I don’t have the appropriate wires. For the servo motor, the three wires coming out of it are all lumped in a female dupont connector, and the stepper motor has bare cables coming out of it. I’ve ordered dupont cables and block connectors so I can make all the wired connections come together.

I am still on schedule according to the Gantt chart.

For next week, I will be making a final push so that the aiming systems all come together. While I wait for the new parts to come in, I will be working on enhancing the prototype so the vertical and radial aiming systems are connected, as well as the base for the robot. Once I have the parts, I will be writing control modules for each system so I can demo that in the following week.

 

Team Status Report 3/9/24

There is risk of users not finding the front end intuitive as the front end is not quite ready for testing yet. We still have the risk of the pi’s processing power being a bottleneck for our computer vision. The pressure chamber we plan on using is now a 2 liter soda bottle because it is easy to buy and work with as well as being environmentally friendly. We decided we can push back front end user testing by one week, as Mike is still implementing the front end. This push should overall be inconsequential as there is a lot of time left to test and make changes. Scheduling wise Alex feels like putting lead time for parts on the gantt chart would have been useful in retrospect, but that is also nearly impossible to plan for and would go over the 1 week limit that is allowed on the gantt chart. 

Part A was written by Mike:

One global impact is the digital divide.  The digital divide is the gap between different groups of people with access to modern technology and those who do not. In order to address this concern, our project needs to be accessible to people who may not have a lot of experience using technology. One way we can achieve this is by making our UI have guides that can help people less familiar with navigating the web. Another global concern could be certain cultures being feeling excluded using our project. In order to mitigate this, we are making the UI as simple as possible, making it culturally neutral and universally appealing. Overall, no matter where you are in the world, as long as you have a device that can access the internet we want pong pal to be a fun experience.

 

Part B was written by Seung Yun:

Water pong and its variants are a huge part of American social culture. Quoting from the book “The Book of Beer Pong”, the game “has transcended its obscurity of dorm rooms … it’s infiltrated bars, tailgates, corporate parties, and even wedding receptions … the very heart of the American spirit”.

PongPal lowers the barrier of entry to this game, allowing anyone around the world to partake in this cultural tradition. Moreover, it promotes inclusivity by allowing anyone to play the game with internet access.

 

Part C was written by Alex:

Our design for PongPal includes using a 2 liter soda bottle for the pressure compartment, this demonstrates our resolve to use sustainable materials wherever possible. We also reuse a raspberry pi 5 and an intel realsense L515 LIDAR from previous years showing that it is possible to make an impactful project while also remaining environmentally aware. Overall, PongPal is fairly orthogonal to environmental factors as it is essentially a substitute to a player in a game of pong. One could say that it is environmentally friendly since it only really requires electricity and compresses its own air (our initial designs used compressed air), but the human(s) that it replaces are ultimately also resource efficient.

Alex’s Report for 3/9

Over the last 2 weeks I have spent considerable time working on the ball detection part of the computer vision subsystem. As seen on the design report, we can now pretty reliably detect ping pong balls that are flying through the air. I have also finished the trajectory prediction with the ping pong balls, I still need to filter out unrealistic trajectories, but that shouldn’t be too bad and I am looking forward to testing that component soon.

I have also spent considerable time working on the design document.

Over spring break I was able to retrieve some of the parts for the launching system and I began assembling the launching subsystem with the parts that I had available. I am looking forward to receiving the remaining parts and then I want to finish building the first iteration of the launching mechanism.

This leaves me on track with the schedule.

Next week I plan on finishing construction of the launching mechanism and getting some progress on the computer vision subsystem (I will probably focus on trying to finish the computer vision subsystem).

Mike’s Status Report for 3/9/24

This week I spent 4 hours collaborating with my team mates in class. Also, I spent 4 hours working on the front end. I kept working on the UI in React, and got it to a place where I feel comfortable focusing on getting the communication between the raspberry pi and the frontend working. During break, I learned what Express.js is and how it works, and I got a basic endpoint to receive posts from the frontend, be it changes in the robot or the fire action. I spent some time learning how Duck DNS works and tried to get a link between the pi and frontend, but after lots of trial and error I couldn’t get the rpi to register the requests. Alex recommended to me and knows to use duck dns , so we are going to trouble it shoot it when we get back from break. As for the gantt chart, we are just getting to front end user testing, so I am a little behind, but I think I can get the front end to a testable point later this week. It’s not a huge issue as we are ahead in other places, and I am looking into DDNS even tough that isn’t until next week. Lastly, I spent a lot of time helping with the design report.

Seung Yun’s Status Report for 3/9

The past two weeks (but mostly week before this), I’ve continued on iterating on the vertical aiming system and the radial aiming system. I’ve also worked on writing the design review report that was due last week.

For the radial aiming system, I’ve laser cut a new plate that is compatible with the flange coupler, and attached them all together. There are few more details to flesh out such as finding the right screws (I’ve been using the spare ones in TechSpark so far) and not messing up the actual cutting so it’s round, but the prototype feels stable.

For the vertical aiming system, I’ve made some mistake in CADing it so the house for the servo motor didn’t come out well, but the arm in which the barrel will sit came out nicely. Similar to the radial aiming I still need to find the right screws to attach the arm to the servo motor in a correctly aligned manner.

I am still on schedule according to the Gantt chart.

For next week, I will start connecting the radial aiming systems’ electronics, and write some primitive control module on the Pi. For the vertical aiming, I will re-print the servo house, and finalize the physical structure. I will also slowly start thinking about how to integrate both systems.

P.S. I went to a museum during spring break and found something that could be an alternative vertical aiming system design.

Team Status Report 02/24

This week our team members have worked on implementing the individual subsystems. As such, more possible risks are being discovered – in the mechanical system, especially in the vertical aiming side, the amount of torque that we initially thought that was enough may not be enough when attached to larger physical parts. More research into the materials that are lightweight, or redesigning the arm to be shorter may slow down our progress. In the vision system, the Pi’s processing power could potentially become a bottleneck at which point we might need something like Jetson Nano or send all the visual data to the cloud. The frontend might need some overhaul if the users find the UI un-intuitive. We will find out if these risks will actually hinder our progress as we work on these subsystems.

We have no major design changes, except a minor tinkering here and there. The radial aiming system will now include a stepper motor driver in between the motor and the Pi, and the UI is going through minor changes (such as color and layouts) to fit everything nicely.

Most of us are still on schedule and have not made any major schedule changes. Alex is ahead on ball/cup detection, but behind on the pressure subsystem as the parts are taking longer than expected to arrive.

Alex’s Status Report for 2/24

Time Breakdown:

  1. Class time (4 hours)
  2. Ordering Parts (2 hours)
  3. Design Document (2 hours)
  4. LIDAR (4 hours)

This week I was in class for 4 hours watching presentations.

This week I ordered a good portion of the parts I need for the pressure subsystem. Additionally, I’ve looked into some alternative parts that we can buy and am considering buying them just to see if they can be used to improve our base design. These include buying a simpler solenoid valve for the firing mechanism and weighing some options on different PVC pipe radii/thicknesses that I can buy.

This week I also worked on writing up some of the back of the napkin math that was used for our design process to include in our design document. This mainly involves the pressures necessary to launch the ping pong ball with sufficient velocity.

Finally, this week I worked on the LIDAR system. First I verified that it can indeed track a ping pong ball at the distance we require (it can). Then I began working on the software to interface with the LIDAR, I was having some trouble on this front, but I will be finalizing the software for this subsystem over the coming week.

This leaves me behind schedule on ordering parts, but ahead of schedule on getting the LIDAR to work.

Next week I plan on working on ball detection with the LIDAR as well as beginning assembly of the pressure subsystem.

Seung Yun’s Status Report for 2/24

This week, I worked on practicing for Design Presentation (and actually delivering), and working on the construction of the radial aiming system. The stepper motor was delivered early this week, so I took some time to iterate on the prototype to think about the actual connections of the individual laser-cut components, and how to attach the base to the shaft of the motor.

The stepper motor house came out nicely – I am a little worried about the flatness of the motor, so I will probably end up adding a bottom plate for the motor house. The lazy susan plate poses a bigger mechanical challenge as it doesn’t fit very tightly to the shaft. To mitigate this, I’ve ordered a Flange Coupler, which will be fastened onto the shaft, and the next version of the plate will have holes cut into it so that it can attach with the flat part of the coupler.

While trying to test driving the motor, I’ve realized I need a stepper motor driver (DRV8825) on top of the motor to actually interface with it, and also to protect the hardware from current surge – I’ve ordered stepper motor driver this week so I can start trying to control it on the Pi.

My schedule is still on track as this week and next week is building the first version of the vertical and radial aiming system and finding out what problems I might encounter, as I have done this week.

Next week should be relatively busy with the Design Report, along with additional parts such as the ones I’ve ordered this week and the servo motor should be delivered. I aim to deliver vertical aiming system’s prototype and finalize the radial aiming system’s mechanical portions.