We consider parallel-link robots, an example is the robot of the picture.

We want to determine their kinematics (see other similar pictures of parallel-link robots here).

These robots are made by two platforms, one on the ground and one linked to the first by joints and a few (say 6) extensible legs attached to corresponding points on each of the two platforms. You can see here a simplified drowing of the system:

We assume that the jonts on the top platform are spherical (see left figure below) and, for simplicity, those on the bottom platform are revolute joints (see right figure below).

(Klikk on the figures to enlarge them.)


Our goal is to find all possible positions the top platform can achieve. This will correspond to the solution of a nonlinear system of (polynomial) equations. Provided we use a mathematical model of the system representing faithfully the situation, it is desirable to be able to compute all the solutions of the system of equations. Since this task might be too difficult, we will try to find as many as possible of these solutions by our numerical strategy.

If we are able to solve this problem, we might be able to modify the robot and eventually, by similar techniques, simulate its capabilities as well as uncover any possible instabilities of the mechanical system.

The model

We assume to have 6 legs corresponding to 6 points on the bottom platform and 6 points on the top platform.

We consider two orthogonal coordinate systems, the first denoted by G={e1,e2,e3}, on the ground (i.e. coplanar with the bottom platform), and the second with origin placed in the center of mass of the top platform, with two of the orthogonal axes coplanar with the top patform and denoted by B.

The presence of revolute joints linking the legs at the bottom platform, constraints the poins of the top platform to being positioned on 6 planes which in the first coordinate system can be identified by a signed distance of the plan from the origin and a normal vector: [n_i,d_i].

The equation of the i-th plane is



Here X is the coordinate vector of a point in G, n_i is the normal vector to the plane (of unit length) and d_i is the signed distance of the plane from the origin.

The top platform is a rigid body and B are the so called body coordinates. Suppose the six points on the top platform (where the legs of the robot are attached with spherical links) have coordinates x_i in B.

The frame B can be described by a rotation R (a 3x3 orthogonal matrix, R^TR=I) and a translation t (a vector in R^3) of the frame G. So each point on the top platform can be experssed as


and in particular we consider

X_i=Rx_i+s_it, i=1,..,6

and for s_i=1 these are the coordinates of the six points of the top platform in G. The same equations with s_i=0 correspond to the direction of x_i relative to G regardless of their position.

The problem is formulated as follows: find R and t such that

f_i(R,t)=n_i^T(Rx_i+s_it)+d_i=0, i=1,..,6,

where the planes (n_i, d_i) and the points (x_i, s_i) are known.

2010-08-30, Elena Celledoni