I am designing an animatronic head, which has five degrees of freedom: pitch, roll and yaw for the head part, and pitch and yaw for the neck part. However, the yaw movements for the head and neck are defined to be identical – if the neck rotates 7°, then the head also rotates 7° – so there are actually just four parameters determining the position of the system:

Figure 1

If I do this the "obvious" way, with gimbal arrangements at the two centers of rotation, that poses some practical problems for me in how to construct and drive the thing. It occurs to me that it might be possible to instead build a linkage out of rods connected by ball joints (or similar), such that I can get the same motion by driving the ends of four of the rods along (preferably) linear tracks:

Figure 2

This diagram is only a rough suggestion of the sort of thing I mean (I am thinking of examples like this and this). The idea is that the three pink nodes are attached to the head, the three green nodes are attached to the neck, and the four yellow nodes are independently driven to control the geometry of the whole system. There would also be some number of floating nodes (not shown).

Intuitively, it seems like, with rods of the right length connected in the right topology, it should be possible to make every vector $<A,B,C,D>$ correspond to exactly one value of $<\theta_1,\theta_2,\theta_3,\theta_4>$ over a finite range. As long as there are no problems with singularities or things like that, it would "just" be a question of translating the rotation angles into ABCD values to get any desired motion.

Given the design of the linkage, the problem of converting between the input parameters and the Euler angles is well documented, and I can use a constraint-based solver like SolveSpace to resolve the dimensions. What I don't know is how to design the linkage in the first place.

My problem is that as a non-engineer, I don't know the terms to frame my question. For instance:

  • is there a general term for this kind of system (rods connected by notional ball joints)?
  • there are some obvious (and perhaps less-obvious) constraints on the topology – is there a name for this subject?
  • 1
    $\begingroup$ In the delta format 3D printer world, the term 'kinematics' if occasionally used, especially when working on the firmware to control the movement. Is this useful to your quest? $\endgroup$
    – fred_dot_u
    Apr 11 at 23:32
  • $\begingroup$ maybe search for "robot head articulated mechanism" or similar? Also there will likely not be a 1-to-1 correspondence between the linkages and the degrees of freedom, but rather, a combination of linkage motions will be required to produce motion purely in any DOF... but that is pretty standard. The problem is referred to as kinematics as fred_dot_u says, or perhaps even more specifically "inverse kinematics" (e.g. in computer animation). $\endgroup$
    – Pete W
    Apr 12 at 0:25

The easiest way to do this (either the direct or the inverse) is with the use of the homogeneous transformations.

Basically, it is an augmented transformation matrix in 3 dimensions which can also accommodate translation (and scaling - this won;t be of much use to you). The main form is:

$$T = \begin{bmatrix} \color{blue}{ R_{11}} & \color{blue}{R_{12}} & \color{blue}{R_{13}} & \color{green}{ x} \\ \color{blue}{ R_{21}} & \color{blue}{R_{22}} & \color{blue}{R_{23}} & \color{green}{ y} \\ \color{blue}{ R_{31}} & \color{blue}{R_{32}} & \color{blue}{R_{33}} & \color{green}{ x} \\ \color{red}{ 0} & \color{red}{ 0} & \color{red}{ 0} & 1 \end{bmatrix} $$


  • $\color{blue}{ Blue}$: The rotational components
  • $\color{green}{ green}$ the translational components
  • $\color{red}{ Red}$ the scaling components (mainly for computer graphics)

They are widely used in computer graphics, but they are very helpful in robotic kinematics.

The good thing is that you can chain together this transformations, and you get the result with a easy to program method.

There is a nice example I found by doing a quick search on the subject on this link.


I believe the general class of problem you may be looking is "inverse kinematics"


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.