First, the degrees of the freedom of the system was calculated using Kutzbach’s equation ( modified Gruebler’s Equation) that states:
(Norton, 2012)
Bringing back the 2-plane views of the Peek-a-Bear and only considering one of the shoulders, the following figures have the labels of the links and joints:
Figure: x-z plane with link/joint labels
Figure: y-z plane with link/joint labels
One can count that with only one shoulder accounted for (symmetry stipulates that if you solve for one shoulder, you also solve for the other), there are 6 links and 7 type 1 (1DoF) joints. Feeding back into the Kutzbach’s equation, one gets:
This makes sense intuitively since the hand and head positions seem to be entirely dependent on the crank angle.
Then, we can conduct position analysis of the hands and the head.
First step is to solve for the spine/head position with respect to the crank. Luckily, with rotation of the basis axes (shown in figure) , the acceleration, velocity and position of the shoulders can be solved easily.
Figure: position of the head
Figure: velocity of the head
Figure: acceleration of the head
This information about the "spine" can then be used to solve for the shoulders. The y-z plane figure shows the links and joints in that plane. Since link 5 doesn't change in length, the solution to the angle of the shoulder link (link 5) and the x,y position of the shoulders can be found as:
Theta = asin(dy/L_5)
G_x = L_5*cos(theta)
G_y = L_5*sin(theta)
From that information, the only step is to point a vector to the hand from the shoulder and account for rotation. The final position plot is as follows:
It can easily be observed that at around 300 degree position of the crank, the hands and head retracts to a similar position with the head size offset. This validates the functionality of the Peek-a-Bear