Prototyping

Preliminary Draft (4/1/23 - 4/7/23)

Concept

To start off, I created a simplistic design, consisting of a base, and an arm. The base would contain the motor, while the arm would contain the candy. A servo hole was created in the arm but was not used

The design was created in tinkercad and was printed in green PLA @ 20% infill

And yes, I did hand drill the holes since I forgot to cad them in

Materials

  • Power Supply
  • Base
  • Arm
  • 12V DC Motor with Encoder
  • Hriday

Issues

  • The obvious issue here is that the mechanism tips over, far from the maximum speed needed of the motor. This is because the base is not wide enough. This is easily addressable by making the base wider. Seems that all the FRC kids at this school can't get this right.

  • The motor-hole was very loose and can be made tighter

Base

Version 0 (4/8/2023-4/10/2023)

Concept

To address the issue of the mechanism tipping over, the base was significantly widened.

It was also at this point I realized that I needed a slip ring. The servo wires would need a mechanism to be able to rotate since they are on a rotating mechanism that goes past 360 degrees. To do this, I designed a slip ring mount that attaches to the base.

The design was created in tinkercad and was printed in grey PLA @ 20% infill

Materials

  • Power Supply
  • Base
  • Arm
  • 12V DC Motor with Encoder
  • Slip Ring
  • L298N H-Bridge
  • Servo
  • Hriday

In the video, a program runs the motor for 5s and stops it quickly using hard braking.

Issues

  • Although the mechanism does not tip over anymore, it still moves around. This is not ideal for something that will sit on a table (in most scenarios).

  • The slip ring mount is not the strongest, and can break eventually. This should be printed out of PETG, ABS, or PC in the future.

  • This time too, I did not put holes on the CAD (for the slip ring holder) This is because I was still deciding which slip ring to buy. The generic $10 slip rings can handle 300 rpm, but the ~$50 slip rings can handle 1000 rpm. This is an important factor since the device should be able to launch a candy with some speed.

Base
Slip Ring Mount

Version 0.1 (4/11/23-4/13/23)

Concept

Before CV is implemented to automatically launch candy at targets, the launching system should be perfected. To do this, the first thing needed is to design a servo horn that can knock the candy out. Relying on friction to hold the candy it is not ideal as it is unrealiable and does not give precision with the release angle. Through mutliple iterations, a design was reached.

Additionally, the encoders were implemented to increase the accuracy of the launch angle. Please read more about this in programming section

Iterations on servo mount

Materials

  • Eletrical Components
    • L298N Motor Driver
    • 12V DC Motor (Encoder)
    • Servo (Tower Pro SG90)
    • Slip Ring
    • Raspberry Pi 3B+
  • Physical Components
    • Arm (PLA)
    • Slip Ring Mount (PLA)
    • Candy Holder (PLA+)
    • Base (PLA)
  • Hriday

In the video, a program runs the motor for 5s and stops it quickly using hard braking.

Version 1 (4/14/23-4/16/23)

Concept

In this version, the skittles are accurately launched autonomously using computer vision to detect people.

The following changes were made to the previous version

  • Servo horn made to attach to standard SG-90 horn due to fitting difficulties
  • Suction cups added to base to prevent wobbling
  • Decreased width in the arm to increase responsivity of launch (less area to travel for a launch)
  • Switch from PLA to mostly PC/PETG to increase rigidity and strength
  • Program incorporates CV, integrates servo movement with the DC motor

Materials

  • Eletrical Components
    • L298N Motor Driver
    • 12V DC Motor (Encoder)
    • Servo (Tower Pro SG90)
    • Slip Ring
    • Raspberry Pi 3B+
  • Physical Components
    • Arm (PC)
    • Slip Ring Mount (PC)
    • Candy Holder (PLA+)
    • Base (PETG)
    • Suction Cups
  • Hriday

Version 1 Video

Issues

  • Although most launches were at an angle with acceptable accuracy, some were not. This is due to the following
    • Lack of read chip to take load of off Raspberry Pi for reading encoders
    • The motion of the servo was not taken into consideration for the physics
  • The camera is not always pointing exacly forward. This is because I did not print a mount for it to go to the slip ring holder and in the last minute had to tape it on. It is easily fixed in the next iteration.

Breadboard Diagram

Note: encoders not present

Version 2 (4/17-)

Main Goals

  • Reload system - I am currently deciding whether to try a system in which the skittles are stored inside the arm and one in which the arm passes through a reload station, which uses a rack and pinion to deliver candy into the container.
  • Faster servo - the slow SG-90 causes some inaccuracies in launching (possibly spring loading the SG-90)
  • Larger camera range - currently the camera can see 54 degrees. This is very low and it cannot make use of it's (nearly) 360 degrees of launching capabilities. This could either be done with a servo or a fisheye lens. Both of these cause distortions that would have to be accounted for in the program.

Possible Supplemental Goals

  • Save video - save video of the launches
  • Increase launchable radius - the skittle launcher, at a maximum, can only launch a skittle about a meter until it hits the ground. By angling it (variably) with a (servo) motor, a nearly 6.5 meter radius would be possible.