NameNetIDSection
Stefan Sokolowskistefans2ECE 120
Griffin Rzoncagrzonca2ECE 120
Alexander Jinamjin2ECE 120
Lara Moreno Zepedalaravm2ECE 110

Statement of Purpose


The purpose of this project is to create a robot that can balance an object in 1 Dimension. To accomplish this, we will have a marble on a rail, and the rail will be loaded with sensors and controlled by a motor. The motor will be able to detect the position of the marble, and, if it is unbalanced, will adjust accordingly. The goal here is not so much to solve an age-old issue, but rather to develop programming skills and gain experience creating a network of electronic components that work in synergy, as well as to create a neat party trick in the process.

Background Research

For our background research, we did some digging online to find similar projects. A lot of people have made 3D plate based ball balancing machines that use three servos to control a plate in 3 dimensions to balance a ball in the middle. For the purposes of this project and to increase feasibility, we have simplified the design to be over 2 axes instead of 3. A 2D see-saw type balancing robot is a great way to learn PID loops and the technology used in everything from drones to submarines to check positions and adjust control surfaces. PID is one of the most common ways that electronics interact with the real, physical world and it is integral if you ever want to create products that move.

Block Diagram / Flow Chart


System Overview

Our system is pretty self explanatory. We will run a PID loop using a servo as our movement device and a sensor (we still haven’t chosen a specific sensor, probably an ultrasonic sensor). Essentially, we will just use the sensor to then feed position data into the raspberry pi or arduino, which will then make a calculation on how far the motor must move. This movement command will be sent to the motor which will adjust the platform, moving the ball and then the location will be taken again and passed back into the loop.

Parts

Possible Challenges

Coding the motor to operate correctly and not over or under compensate may be difficult, and will require a lot of physics equations, testing, and reprogramming to get it to behave as intended. Also, creating a system to accurately detect the marble’s location may prove challenging as there are numerous different ways to detect an object’s position.



Post Project Reflection

After finishing the project, we ran into a big problem which was the complete lack of a good sensor. Our sensor had such low quality data, we could not implement a PID loop with the quality of readings we had. As a result, our final product did not do what it was supposed to, but it got very close to it. I am extremely confident that with a better sensor and some better code, we could have easily achieved this projects purpose. Below I will link out final video and report so that anyone interested in the issues we encountered can read into what went wrong and how you can avoid such issues with your PID feedback systems.

Report:

https://docs.google.com/document/d/1hYBoncdY1mJsNC_U4Y7ZC18Cz-_fzYxkUXxKPMEhiic/edit#

Video:

https://drive.google.com/file/d/1rSeMtFDAbV9aSAm28ltfmpKtxkoZ-tCl/view

References

 "Babot: Virtual Fist-Bump". Fantastic Object, 2021, https://www.fantasticobject.com/products/babot.

"Balancing A Ball On A Beam—Wolfram Language Documentation". Reference.Wolfram.Com, 2021, https://reference.wolfram.com/language/MicrocontrollerKit/workflow/BallAndBeamControl.

Gao, Zhen et al. "Design and Implementation A Ball Balancing System for Control Theory Course". Aeuso.Org, 2015, https://www.aeuso.org/includes/files/articles/Vol5_Iss17_2363-2374_Design_and_Implementation_a_Ball_Ba.pdf.




Attachments:

ECE120HLDiagram.png (image/png)

Comments:

Fun project idea! I think you guys should definitely get an idea of what parts would work for this project ASAP because it seems like it could vary a lot based on if you are going to control the bar using a camera or ultrasonic sensor. You do seem to have a lot of detailed projects to draw inspiration from so I am excited to see how your version pans out.


I'll approve your groups proposal!

Posted by dbycul2 at Feb 23, 2021 21:29

Cool project! I agree with what Dawid said about finalizing your decision of how you want to want to track the marble. I think that choosing the scale down to 2D is a great way to make the project more doable while still being a great learning experience. Looking forward to seeing what you all come up with!

Posted by mstoens2 at Feb 23, 2021 21:56