Home About Final

Week 11: Machine Week

Assignment

During Machine Week, we eventually built the Decision Maker 9000.

The premise for this was based on the fact that the CBA section was incapable of coming to agreement on what to make. So in the end, rather than try to figure out some kind of system for choosing an idea, we decided to make a machine that would eliminate all decision-making.

After several pointless meetings, we came up with the following high-level idea:

A machine that will flip a coin and then cross out items on the list you give it depending on the outcome of the coin flip until only one item is left. In essence, this means it is biased, but Jessica did some great work on figuring out how this could be avoided.

Major Components:

  1. A coin-flipping machine that flips the coin and then reads in the state of the flip.
  2. A robot that recognizes a list of items and then crosses them out depending on the outcome of the coin flip.
  3. Betting and streaming (my dream): We can stream the decision-making robot, and people can submit their most pressing and important decisions they need a decision made on by a random robot. People can also try to guess the outcome of the coin-flipping robot.

Working as a team

We then divided into working groups:

I joined the MechE team. We had some pretty gifted engineers on that team, so I tried to find a role that was helpful and feasible given that we were working on a very tight deadline. The main goal was to get the machine assembled so that the software and EE teams could get cracking on making the concept actually work.

In order to get the basic machine built, we put 5/6 FDM printers to work since no one was using them after hours. Kyle and Jonny focused on getting the XYZ built. We decided to go with a simple cartesian design with one dedicated motor for X and another for Y. For the Z-axis, we used the micro servo to control the height of the pen. This was a kind gesture to our software and EE teams to avoid complexities.

Our Z-axis was modeled after the hackclub blot GitHub Repository. Kyle built the XY while Jonny focused on the Z. We modeled, cut, 3D printed, and then assembled the drawing machine, which was ready for bringup on Saturday morning.

I led the design of the Coin-Flipping system.

For the coin-tossing component of the machine, we knew that we wanted to work with a solenoid to yeet (drive) a coin upwards, flipping it multiple times for true randomness. We needed something for the coin to sit in and reliably fall back into a flippable position. Supported by Shun-Ying, we worked on a suitable design: a cone that could be fitted to the machine and also house the solenoid conveniently in one piece.

It was surprisingly subtle; initially, we thought that a smaller solenoid would drive the coin better, but eventually realized we were simply not using enough power. Fortunately, Sophie came up with a nice idea to drive a large solenoid and give it more travel so that the coin would flip more satisfyingly.

I also hovered around other parts of the project, like the EE team, testing motors, servos, and solenoids to confirm functionality. Using Jake’s h-bridge test program, the team explored motion and established a coordinate system to control the motors effectively. A major challenge involved resolving synchronization issues, resolved by switching to goto_and_await for smoother motor movements.

Integration with software was straightforward, thanks to the software team’s support. The system was tested successfully but required calibration. Issues like poorly crimped cables and USB-C orientation caused setbacks, including a motor failure, but were resolved with TA support. The final hurdle involved server overload due to threading issues, later fixed by the software team.

The algorithm moved a pen, flipped a coin, and made decisions based on computer vision. Bias in decision-making was mitigated with a new algorithm that distributed coin flips evenly. Configurations allowed flexibility, enabling simulations with or without physical hardware. Computer vision identified coin colors and used predefined algorithms for striking lines, eliminating the need for visual feedback during operation.

Our Infomercial

Once the machine was working, I worked with Kat to write a script for an infomercial style video for the DecisionMaker9000. Lowkey, all the good jokes come from me. Here’s an excerpt:

"Are you tired of making decisions? What to make? Who to date? Which religion to follow? Which child to keep after the divorce?Have you too been fighting with your colleagues, your spouse or even yourself about choices?Does living under a dictatorship seem an increasingly attractive option to avoid making choices for yourself?WE HAVE A BETTER WAY!Introducing the DECISIONMAKER 9000!!The DECISIONMAKER 9000 flips a coin using an "unbiased" decision making algorithm developed by researchers at MIT that goes through your list of decisions, removing each option until only 1 remains.

Overall the machine was a success. It did what we set out for it to do and it has potential far reaching applications in the world of decisions, memes, and general machine entertainment.