INTRODUCTION
Although the analysis methods of kinematics have been carried out step by step far from the 17th century, such as the geometrical method, vector analysis, principle of work and energy, etc., are the wellknown and popular kinematics analysis methods^{[1,2]}. They are forward analysis problems. Nevertheless, in some real backward problems, the outputs usually are given/desired and the inputs are to be found/unknown. The studies of mechanisms and robots, are branches of kinematics, have considered this problem^{[36]}. However, the traditional courses of kinematics do not consider design problems. They are all the problems of analysis.
In the process of solving kinematics design problems, some troublesome simultaneous equations would be generated, especially the simultaneous nonlinear equations. Up to the present, we have already many different methods can manage the simultaneous nonlinear equations, such as NewtonRaphson method^{[7]}. But the solutions can not be guaranteed by these typical numerical techniques. This paper attempt to use Homotopy continuation method^{[8,9,14]} to solve the simultaneous nonlinear equations because of the convergence speed of continuation method is faster and we also can guarantee the solutions by this method. Furthermore, the 4x4 homogeneous transformation matrices are applied to systematically derive the kinematic displacement, velocity and acceleration equations^{[13]}.
With the computer improved and the numerical continuation technique developed, the solutions of design variables in kinematics design problems are not difficult. We can use current highspeed processor to determine the solutions quickly. Also, we almost can realtime control the necessary inputs to meet the specified outputs whatever displacement, velocity or the acceleration. An example is given in this paper to explain the overall procedure of solving kinematics design problems.
The kinematics design problems: The objects of kinematics studies are to obtain the “equations of motion” or “kinematic equations”, i.e. the displacement, velocity and acceleration relationships between input variables and output variables. These equations can be derived by serial combination of 4x4 homogeneous transformation matrices. As we known, the nominal position and orientation of the kth frame (XYZ)_{k} with respect to the base frame (XYZ)_{0} can be written as
Where A_{i} is the basic rotational or translational matrix ^{i1}A_{i}
and they have four standard 4x4 homogeneous forms
Where Rot, Tran, C and S mean the rotation, translation, cos and sin, respectively. For the general k linkages, the displacement equation is
Where ^{k}r is the displacement or position vector of analyzed point
with respect to frame (XYZ)_{k}. After the displacement relationship
of kinematic equations being determined from equation (3),
we then differentiate it two times to get velocity and acceleration relationships,
respectively.
Whatever how complicated these three kinematic equations are. All the kinematic equations have two types: forward/analysis and backward/design and can be represented by the following general functional forms
The givens and unknowns in forward/analysis and backward/design questions are
usually reverse. Generally, in the analysis problems, the givens are all the
input variables, including fixed and changeable variables and the unknowns are
the output variables. However, we have two kinds of design problems in equations
(4). One is to find input fixed variables but outputs and input changeable
variables are given, e.g. the synthesis of mechanism. Another is to find input
changeable variables but outputs and input fixed variables are known, for example,
the inverse of robot manipulator. Sometimes, the design problems could not be
completely classified according to these two types. Since we perhaps have the
geometrical constraints in the equations of motion. Therefore, some of the input
fixed or changeable variables also maybe are the unknowns. Anyway, the outputs
must be given in general socalled design problems. Now, we rewrite equations
(4) by the four types (Table 1).
Table 1: 
The types and functional representation of analysis and design 

To solve equations (4) regardless of they are what type in
Table 1, we always have two kinds, i.e., linear and nonlinear.
We can use Gauss elimination to easily solve the simultaneous linear equations.
However, for high order, hyper or nonlinear equations, we must by the help
of special simplification artifice or numerical techniques.
When dealing with the numerical problem, such as the NewtonRaphson method, there are two troublesome questions. One is the good initial guesses are not easy to detect and another is we worry whether the method we use will converge into useful solutions. Continuation method can eliminate these shortcomings.
Given a set of equations in n variables x_{1}, x_{2}, … , x_{n}. We modify the equations by omitting some of the terms and adding new ones until we have a new system of equations, the solutions to which may be easily guessed/given/known. We then deform the coefficients of the new system into the coefficients of the original system by a series of small increments and we follow the solution through the deformation, using methods such as NewtonRaphson. This is called Homotopy continuation original system.
If we wish to find the solution vector for a system of simultaneous equations written in the form:
We choose a new simple start system:
That must be known or controllable and easy to solve. Then, we define the Homotopy continuation function as:
Where t is an arbitrary parameter and varies from 0 to 1, i.e., t ∈ [0, 1]. Therefore, we have the following two boundary conditions
This is called Homotopy continuation method. It is also called Bootstrap method or ParameterPerturbation method, but these names did not become popular.
In the following section, we will present the different approaches and show the overall procedure of solving kinematics design problems.
Example: At the instant shown in Fig. 1, the tractor
is traveling forward with a displacement, velocity and acceleration of a m/s,
m/s
and ä m/s^{2}. The pilot is rotating about the Z axis, exactly
Z_{1} axis in Fig. 2, with an angle θ rad, an
angular velocity rad/s
and an angular acceleration rad/s^{2}.
At this same instant, the arm ABC is rotating with φ rad,
rad/s and
rad/s^{2} those measured relative to the tractor frame (XYZ)_{1}.
l1 and l2 are the structure dimensions of the tractor. The arm ABC is a robot
manipulator. Although it is not this paper’s study, the coordinates of
its ending point P w.r.t. (XYZ)_{2} still can be represented as vector
^{2}r = [^{2}Px, ^{2}Py, ^{2}Pz, 1]^{T}.
In this paper, we will synthesize l1, l2 and invert outputs ^{0}r, ^{2}r
to determine inputs .
Before we proceed these two kinematics design problems, we have to derive the equations of motion. Firstly, we redraw the real façade Fig. 1 as the dimensional profile Fig. 2. Therefore, the coordinate transformation relationships are:
Then, we differentiate above equation by time to yield
Similarly,
Case 1: The synthesis of structure dimensions l1 and l2

Fig. 1: 
The real façade of the tractor and its corresponding
assignments 

Fig. 2: 
The dimensional profile of the tractor and its coordinate
system 
Observing equation (9), we have four sets of variables (l1,
l2), (a, θ, φ), ^{0}r and ^{2}r as well as three equations.
To determine (l1, l2), we need to assign our desired outputs ^{0}r =
[3, 1, 2, 1]^{T}, ^{2}r = [2, 0, 1, 1]^{T} and partial
input variables (a, θ, φ) = (0, 30^{0}, 30^{0}). However,
we just have two independent equations in equation (9), i.e.,
first and second row equations. Since the variables in third row equation are
not unknown. It is very easy to contradict for the solution in this equation
if we give ^{0}Pz, ^{2}Px, ^{2}Pz and φ angle together.
So we must free one variable to satisfy this equation. According to our previous
section explanation “the outputs must be given in general socalled design
problems”, hence we decide free φ angle to be unknown. This equation
therefore becomes mixed type of design in Table 1 and has
following form:
We must firstly apply trigonometric formulas to solve this equation exactly, then this case will be real synthesis problem, i.e. outputs and input changeable variables are given just input fixed variables are to be found, as follows
We substitute ^{0}r = [3, 1, 2, 1]^{T}, ^{2}r = [2,
0, 1, 1]^{T} and (a, θ, φ) = (0, 30^{0}, 90^{0})
into equation (9). This equation is a set of simultaneous
linear equations and the synthesis answer is very easy to be obtained
We substitute ^{0}r = [3, 1, 2, 1]^{T}, ^{2}r = [2,
0, 1, 1]^{T} and (a, θ, φ) = (0, 30^{0}, 36.87^{0})
into equation (9). Similarly,
Case 2: The inverse of outputs ^{0}r, ^{2}r and inputs
In the same way, from equation (9), we have four sets of
variables (l1, l2), (a, θ, φ), ^{0}r and ^{2}r as
well as three equations. To determine (a, θ, φ), we need to assign
our desired outputs ^{0}r = [5.4, 1.2, 1.5, 1]^{T}, ^{2}r
= [4.8, 0, 1.5, 1]^{T} where (l1, l2) = (0.6, 1.2)^{[13]}. Substituting
these givens into equation (9) to yield
Clearly, this equation is a set of simultaneous nonlinear equations. Its solutions would be found by Homotopy continuation method. If we let
And the start equations are
Where
Now, we define the Homotopy equations as

Fig. 3: 
Specified motion of the ending point P of the tractor measured
by (XYZ)_{2} 

Fig. 4: 
The numerical results of Homotopy continuation method in case
2 
Appendix: 


Solve above simultaneous equations by changing t from 0 to 1, see appendix for programming and Fig. 4 for the numerical results of Homotopy continuation method. The program takes us just only about 1.44 second to run this example in merely AMDK6/2500 CPU. We obtain the convergence answers from above simultaneous equations
Consider Fig. 3, if we pay attention to a circular motion with a constant tangential speed v_{p} = 0.2 m s^{1} and acceleration a_{p} = 0.1 m s^{2} focuses on the circular center O_{2}, these are all measured by coordinate (XYZ)_{2}. From this figure, we compute the following component information
Assuming that our desired velocity and acceleration outputs at ending point P of the tractor measured by base frame (XYZ)_{0}, respectively are
Substituting these data into equation (10), we obtain the
following simultaneous linear equations and the answers
In like manner, from equation (11), we have
Finally, the necessary accelerations therefore are
Kinematics is a branch of physics. Many words were devoted to the studies of kinematics far from the 17th century. The geometrical method, vector analysis, principle of work and energy and so on, were the wellknown and popular kinematics analysis methods. However, these studies seem to interest in the forward analysis kinematics problems. Traditionally, the backward design kinematics problems were not yet completely discussed except for the fields of mechanisms and robots.
Typically, it is usually a big trouble and disadvantage for us to do the algebraic
operation, for example, solving the nonlinear equations. Fortunately, by the
aid of computer science, the nonlinear equations will be solved no more difficulty.
We have many different numerical methods can help us to treat these equations.
Homotopy continuation is one of the famous methods. Its convergence speed is
faster, also the algorithm is clear and easy. This paper applies this method
to solve the simultaneous nonlinear equations.
Moreover, in analyzing the kinematics problems, we usually need the “kinematic equations” and some mathematical operations such as calculus, inner or cross product, etc. So we have to more carefully consider the required mathematical operations. With the method of vector analysis, we must firstly determine the angular velocity and angular acceleration to find the linear velocity and acceleration. It is not convenient for us to analyze the kinematics problems. This paper presents systematic 4x4 homogeneous transformation matrices to overcome this imperfection. By means of matrices operation, we can easier to obtain the kinematic equations than traditional vector analysis method. These interesting methods will provide other analysis and design approaches. It is hoped that the work presented here will contribute towards progress in the kinematics analysis and design techniques and other scientific fields for scientists and engineers.