11.2 - Design Process
Iteration Documentation
The first step in creating this prototype was creating an end-effector design from which a water bottle can be flicked off of without additional mechanisms. We began by laser cutting pieces of wood with a slot whose width roughly equaled the diameter of the water bottle’s cap. The idea was that the bottle would slide off of it as it is moved and rotated in space. Our first designs are shown in Figure 11.2.1 below. When we attempted to flick water bottles off these end-effectors, they just got stuck and would not slide off easily. We then updated the design to create V-shaped slots to prevent the bottle from catching, and those worked out well. The V-shaped designs are shown in Figure 11.2.2 below.
Once we had an end-effector we could use to flip a bottle, the next step was identifying the exact position, angle, and velocity profiles necessary to flip a water bottle. To obtain this, we recorded a video of a successful bottle flip using our end-effector and went through the video frame-by-frame to determine the shape of the path and the angle of the end-effector at each position. By dividing the distance traveled in each frame by the time of each frame, we can approximate the speed at each frame as well to obtain a velocity profile. Figure 3 below depicts the process of tracing the position profile in particular. (We used a program called Processing to extract the path and create the animation in Figures 11.2.3 & 11.2.7.)
After obtaining the desired profiles, we copied an image of the position profiles of the cap and end-effector tip into MotionGen and experimented with linkage configurations until we found a path that was close to the desired profile. Two of these iterations are depicted below in Figures 11.2.4 and 11.2.5.
We used MotionGen’s length measuring tool measure the lengths of each link in the system as a starting point for continuing to iterate in Python. These starting dimensions can be seen in Figure 6 below.
We then conducted a preliminary kinematic analysis of this configuration which revealed that, although this setup can get close to the desired path, there is still room for improvement. Figure 11.2.7 below shows the linkage animation overlaid onto the original video, and it is clear there are discrepancies between the angle and velocity of the end-effector in the video and in the linkage animation.
To further refine the link length and angle selections we set up a for-loop in Python to analyze hundreds of possible link length configurations. Because the crank velocity (ω2) and ground angle (θ1) will be trivial to adjust, we were primarily concerned with getting a wider range of angles. Preliminary kinematic analysis revealed our current design can match the position profile decently well but fails to rotate the end-effector with as wide a range of angles as was derived from the video of the successful flip. Because there are six parameters we can adjust to change the output profile, finding the optimal combination of them would be a daunting task. The approach we took was to write a script in Python that takes the original linkage and adds a random number between -1 and 1 to each parameter. It then calculates the range of angles link 3 moves through. It continuously makes random guesses, keeping track of the one with the highest angular range, until we are satisfied with the result. This process is depicted in Figure 11.2.8 below.
The end result of 2000 guess produced the following set of parameters:
L1 = 7.508 inches
L2 = 4.204 inches
L3 = 7.556 inches
L4 = 4.385 inches
AP = 11.655 inches
∠BAP = 6.971°
However, as shown in Figure 11.2.9 below, the position profiles this linkage produces are much larger than the desired profiles.
This can be rectified by simply scaling the size of each linkage down until the position profiles reasonably line up. After applying a scale factor of 0.6 to each link length and AP, we arrived at the result depicted in the Kinematic Analysis section of this report. We were satisfied with this result.
Physical Prototype
Our physical prototype is a simple fourbar linkage with the bottle flipping end-effector glued into a slot in link 3. Figures 11.2.10-11.2.12 below depict it from various angles and include a video of it flipping a bottle.
Draft Bill of Materials
Item | Quantity | Description | Cost Estimate (USD) |
|---|---|---|---|
DC Motor | 1 | DC motor (e.g., ~12V, ~100–200 RPM) | ~15 |
Motor Mount / Coupler | 1 | Simple bracket/coupler to attach motor shaft to the linkage crank. | ~5 |
Baltic Birch Plywood | 1 | 16"×28", ¼" thick sheet | 10.49 |
Bearings / Bushings | 4 | Small pin bearings or bushings for pivot joints. | ~10 |
Fasteners | 12+ | M3–M4 screws, nuts, washers, etc. | Free (available at TIW) |
Power Supply / Battery | 1 | DC supply or battery pack for the motor. | ~10 |
Arduino | 1 | Microcontroller for controlling velocity | ~20 |
Motor Controller | 1 | Interface between Arduino board and motor | ~5 |
Previous Page: 11.1 - Initial Proposal