2) Kinematic Analysis and Design Process

Motion Profile Analysis

To find the ideal motion profile to flip an egg in a pan, we wanted to use real data collected from flipping eggs. For experimentation, we used a circular piece of cork of similar size and weight to an actual cracked egg. To test our proposition that the flipping motion could be completed with pure rotation, we fixed the end of our pan to a lawn chair using tightened rope, creating a makeshift hinge about which the pan can rotate. Then, we taped a phone running an accelerometer app to the bottom of the pan, which we set to record the angular velocity of the phone and pan while we flipped the cork. Our experiment setup can be seen in the pictures below, and linked here is a video of a couple of trials used in analysis.

The app allowed us to download the data in the form of a CSV, which we then used to plot graphs of angular velocity vs time and linear velocity vs time. This set of data was recorded for a set of 6 successful flips. We then superimposed each of the 6 flips to study the allowable ranges of velocities and timings that resulted in successful flips. Those graphs are shown below.

From the superimposed graph, we observe that the successful flips require a peak downwards angular velocity of around -1 rad/s, a peak upwards angular velocity of 1 rad/s, and an abrupt stop returning to 0 angular velocity at the end of motion. Furthermore, most flips were completed in less than half a second, as any slower would prevent reaching large enough peak upward and downward angular velocities, resulting in failure. From this information, we were able to plot our ideal position and velocity profiles, shown below.

We first created the ideal angular velocity profile, and from that took the integral to find the ideal position profile. We chose to show the angular velocity profile as our prototyping will all be done in a small form factor, so the linear velocities needed can be calculated for different iterations during prototyping and for our final product based on the respective radii of each pan. The graphic below superimposes the two motion profiles and includes a graphic that labels the motion of the pan at critical points along the curve.

Linkage Design

After determining the approximate position and angular velocity profiles needed to successfully flip an egg through experimental analysis, we modeled our six-bar on MotionGen, adjusting the link lengths such that the motion profile more closely matched our experimental data. The goal of the simulated design was to aid in the construction of a linkage that would mimic the motion needed to flip an egg. Our first design can be found in Figure 1 below.

In the development of our first design, the angular velocity profile of the rightmost link was first priority. Although the desirable motion of the pan linkage may have been achieved, the scale of our linkage was not reasonable for the purposes of our project. Ideally, the egg-flipping linkage should be portable and the total length should not exceed three times the length of the pan. With this in mind, the design of the MotionGen linkage went through three more iterations. The final linkage can be found in Figure 2 below.

Figure 2. Final MotionGen linkage design.

Below is the angular velocity vs. time plot generated by MotionGen for the pan. This will be the most relevant for comparison to our experimental data plot.

Figure 3. Angular velocity vs. time plot for the rightmost link (the pan).


As mentioned previously, the motion of flipping an egg involves three distinctive actions; the dip, the launch, and the catch. 


The dip is represented by the first region of negative angular velocity. In this region, the pan is rotating to a declined position so that the egg may slide (this facilitates the rotation of the egg while in flight).     





The launch is represented by the positive peak of this graph. At this moment, the egg achieves the upward velocity needed to take flight and complete a full rotation. The rotation is achieved through angular acceleration, a slightly positive angle of the pan link (rotated above the x-axis) as the egg is launched and the geometry of the pan as the egg slides off. Unlike our ideal position and velocity profiles above, our pan goes above the horizontal, and in MotionGen continues cycling beyond a single rotation.



Finally, the catch is represented by the second, smaller peak in the graph. The pan must return to a somewhat flat position with almost zero angular velocity for a clean catch. In this way, the possibility of error on a consecutive flip is minimized. It should be noted that this second peak is apparent in our raw experimental data and plots, but is less apparent in our superimposed angular velocity profile. In reality, the pan abruptly stops (zero angular velocity) at horizontal when the egg is caught. However, this abrupt movement showcased in the superimposed plot is not feasible when an input motor set to a constant angular velocity is present.





Kinematic Analysis

The objective of our kinematic analysis was to find the velocity of the end of the pan, which extends off of link 6. This six-bar linkage variation position and velocity analysis is not easily derivable, but we are able to split the linkage into a four-bar linkage and a two-bar linkage, as shown below. The four bar is also labeled below for ease of understanding while following our code.



The objective of this four-bar analysis is to find the position and angular velocity of joint G, as denoted above. We then use joint G as the input for the two-bar linkage. We began by simply defining all lengths and angles corresponding to the diagram. We defined theta2 for two rotations of the Grashof link for clarity on the graphs, theta5 as the 135 degree angle in the ternary link and thetaR as the angle of our grounded link for the rotated reference frame.







Using the equations for position analysis of a four-bar, we solve for the position of G with respect to theta2 in the rotated reference frame. The derivations for variables K1, K4, K5, D, E, and F, were found from the textbook.







After finding theta 3, we can calculate the x and y coordinates of G in the rotated reference frame. We then used a rotation matrix to adjust the rotated reference frame to a global x and y shown above.





This is the graph of the position joint G, which matches the graph found in MotionGen.



We then calculated the angular velocity of G (omega5) with respect to the input link. The plotted omega 5 is shown on the left. This value is not used again in our analysis as we calculated the angular velocity of our pan end using numerical methods.






We can now analyze the remaining two-bar using joint G as the input to the system. The objective is to find the position profile of the pan end with respect to theta2 and then use numerical differentiation methods to find the velocity profile as well.



The first step was once again to define the given lengths. To analyze the two bar, a virtual triangle was created, where i is the third side length. We evaluated the changing length i with respect to theta2 using the changing positions of joint G.







Because joint G is a moving object, we needed to plot the position of the pan with respect to I, which is grounded and a fixed reference frame. That meant we needed to calculate the angle beta, which required a bit of geometry. The angles required are defined and drawn above. We calculate gamma using the law of cosines and link lengths of our virtual triangle. Next, we found phi using the inverse tangent of the changing Ix and Iy lengths, and solved for delta using the supplementary angle theorem. Theta was also found through the law of cosines. Beta was then found from gamma, theta and delta, with an incorporation of the alternate interior angles theorem and complementary angles theorem.

To solve for the velocity profile, we used numerical methods to take the derivative of our position profile.





We established a step size from the step sizes in our time data points, and made vectors to store the values for the derivative of position in x and y. Then we used the forward difference method to find the corresponding value of the derivatives for the left edge (first value) and the backward difference method for the right edge (final value). All other values were calculated using the central difference method. Once the velocity in the x and y direction were found, we found the magnitude of those vectors using the root mean square.












We plotted the Y velocity of the pan end, and it matched with our MotionGen graphs, including a valley for downwards motion, a peak for upwards motion, and a secondary peak for the catch.











Mechanical Advantage Analysis

Mechanical Advantage can be calculated as the output force over the input force or the input velocity over the output velocity. Because an egg is so light, we are not too worried about the force analysis of our linkage. We instead calculated MA using input velocity divided by output velocity, where linear input velocity is the length of our input link * omega2, and linear output velocity is the root mean squared magnitude of linear velocity calculated for the pan. This gives us a mechanical advantage as a function of theta, where we can measure our minimum and maximum mechanical advantages to be  0.29 and 25.7 respectively. These values occur at points where the velocity of our pan is both at maximum and minimum speed.