Professional Documents
Culture Documents
MECHANICS OF MACHINES
Abstract—In this paper we consider an algorithm for solving the direct position problem for spatial
mechanisms of a parallel structure with six linear drives. The direct problem is solved analytically or
iteratively–numerically depending on the structural scheme of the l-coordinate mechanism. The ana-
lytical solution is based on a mathematical model of a system of three equations of lines passing
through a single point. The problem of transitting from the point coordinates of the mechanism output
chain to its absolute coordinates is solved. An example of solving the problem is given.
An analytical solution of the position problem is known to be an effective tool for describing the oper-
ating zone of the output chain of the parallel-structure mechanisms, studying the trajectory of intermedi-
ate chains, and assessing the functional capabilities, as well as the presence of special positions [1–14].
One type of parallel structure mechanisms is l-coordinate mechanisms (Fig. 1) consisting of six con-
necting chains with one translational drive pair and two spherical nondrive pairs connected to base 1 and
output chain 2. An analytical algorithm for solving the direct position problem is known to exist only for
some l-coordinate structural schemes.
' , YBj' , Z Bj
Let the coordinates of the points B j ( X Bj ' ) ( j = 1, 2, 3) in the fixed coordinate system O'X'Y'Z'
associated with base 1 and the coordinates of the points Pi ( X Pi , YPi , Z Pi ) (i = 1, 2, 3) in the moving coordi-
2
z P3
P1 y
0
x
P2
l1 l6
l2
l5 1
l3 l4
B1
z'
B3
0' y'
x'
B2
Fig. 1. l-Coordinate mechanism corresponding to the analytical solution of the direct position problem.
392
THE DIRECT POSITION PROBLEM 393
nate system OXYZ associated with the mechanism output chain 2 be specified. The values of l-coordi-
nates l1, …, l6, are the lengths of segments on the output chain: lP1P2, lP2P3, lP1P3, and the lengths of segments
on the basis: lB1B2, lB2B3, lB1B3 are known. It is necessary to determine the position of the output chain 2 in
the fixed coordinate system O'X'Y'Z' .
Obviously, to determine the position of the output chain is equivalent to determine the coordinates of
the points Pi in a fixed coordinate system O'X'Y'Z' , where i = 1, 2, 3. First, we determine the position of
point B2 in the coordinate system of the mechanism output chain [14]. Let us compose a system of equa-
tions as follows:
( X P1 − X B 2 )2 + (YP1 − YB 2 )2 + (Z P1 − Z B 2 )2 = l32,
( X P 2 − X B 2 ) + (YP 2 − YB 2 ) + (Z P 2 − Z B 2 ) = l4 ,
2 2 2 2
(1)
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2.
P3 B2 P3 B2 P3 B2 5
Using the example of system (1), we will show an algorithm for solving the system of quadratic equa-
tions; the idea of the method was earlier proposed by Arzumanyan and Koliskor. For this purpose, we
expand the brackets in all three equations of the system and subtract the second and third equations from
the first equation. Then, we obtain the following relations:
X B 2( X P 2 − X P1) + YB 2(YP 2 − YP1) + Z B 2 (Z P 2 − Z P1) = t1, (2)
X B 2( X P 3 − X P1) + YB 2(YP 3 − YP1) + Z B 2 (Z P 3 − Z P1) = t2, (3)
where
l32 − l42 − K1 + K 2
t1 = ,
2
l32 − l52 − K1 + K 3
t2 = ,
2
K1 = X P21 + YP21 + Z P21,
K 2 = X P2 2 + YP22 + Z P2 2,
K 3 = X P2 3 + YP23 + Z P2 3.
We solve equations (2) and (3) with respect to variables YB 2 and X B 2 expressing them through the coor-
dinate Z B 2 . Then, we obtain
YB 2 = K 4 + K 5Z B 2, (4)
X B 2 = K 6 + K 7 Z B 2, (5)
where
t 2( X P 2 − X P1) − t1( X P 3 − X P1)
K4 = ,
(X P 2 − X P1)(YP 3 − YP1) − (YP 2 − YP1)( X P 3 − X P1)
(Z P 2 − Z P1)( X P 3 − X P1) − (Z P 3 − Z P1)( X P 2 − X P1)
K5 = ,
( X P 2 − X P1)(YP 3 − YP1) − (YP 2 − YP1)( X P 3 − X P1)
t 2 (YP 2 − YP1) − t1(YP 3 − YP1)
K6 = ,
( X P 3 − X P1)(YP 2 − YP1) − ( X P 2 − X P1)(YP 3 − YP1)
(Z P 2 − Z P1)(YP 3 − YP1) − (Z P 3 − Z P1)(YP 2 − YP1)
K7 = .
( X P 3 − X P1)(YP 2 − YP1) − ( X P 2 − X P1)(YP 3 − YP1)
Substituting (4) and (5) into the first equation of system (1), we obtain a quadratic equation for the
variable Z B 2 as follows:
a1Z B2 2 + a2 Z B 2 + a3 = 0, (6)
where
a1 = K 52 + K 72 + 1,
a2 = 2(− X P1K 7 + K 4 K 5 − YP1K 5 + K 6 K 7 − Z P1),
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 ,
B2 B1 B2 B1 B2 B1 B 2B1
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 .
B2 B3 B2 B3 B2 B3 B 2B3
Then, given the coordinates of the points Pi (i = 1, 2, 3) in the moving coordinate system, you can cal-
culate the lengths of the additional segments lP1B3, lP2B3, lP3B1. As (1), this will allow determining the coor-
dinates of the points Pi in the fixed coordinate system. Thus, the direct position problem is solved.
Next, we consider the solution of the direct position problem for the l-coordinate mechanism obtained
from the initial one [8] by transferring the output chain to the region outside the drive arrangement
(Fig. 2). As before, the problem is reduced to determining the position of the mechanism output chain 2
by specified values of the l-coordinates.
We consider the positions of points B j ( X Bj ,YBj , Z Bj ) ( j = 1, 2, 3) in the fixed coordinate system OXYZ
associated with base 1, as well as the coordinates of points Pi ( X Pi ' ,YPi' , Z Pi
' ) (i = 1, 2, 3) in the moving coor-
dinate system O'X'Y'Z' associated with the mechanism output chain 2 specified. Furthermore, the values
of l-coordinates l1, …, l6, the lengths of segments on the output chain lP1P2, lP2P3, lP1P3, the lengths of seg-
ments on the base lB1B2, lB2B3, lB1B3, as well as the values of rod lengths lP1C2, lP2C3, lP1C3, are known. It is
necessary to determine the position of the output chain 2 in a fixed coordinate system OXYZ , which is
equivalent to determining the coordinates of points Pi ( X Pi , YPi , Z Pi ) in a fixed coordinate system OXYZ
associated with base 1, where i = 1, 2, 3.
To solve the problem, we consider the triangle n B2C3B3. According to the cosine theorem, the lengths
of the l5, l6, lB2B3 segments corresponding to the sides of the given triangle are related by the following
expression:
C3
C1
C2
l1 l2
l6
l3 l5 1
l4 x
B1
0 y
z B3
B2
x' 2
P3
P1 y'
0'
z'
P2
Further, we find the length of the segment lP3B2 from the triangle n B2C3P3:
Next, we determine the position of the point B2( X B' 2,YB' 2, Z B' 2 ) in the moving coordinate system
O'X'Y'Z' . For this purpose, we compose a system of quadratic equations connecting the coordinates of the
desired point B2 with the coordinates of the points P1 , P2 , P3 :
( X ' − X ' )2 + (Y ' − Y ' )2 + (Z ' − Z ' )2 = l 2 ,
P1 B2 P1 B2 P1 B2 P1B 2
'
( X P 2 − X B' 2 ) + (YP' 2 − YB' 2 ) + (Z P' 2 − Z B' 2 ) = lP 2B 2,
2 2 2 2
( X P' 3 − X B' 2 ) + (YP' 3 − YB' 2 ) + (Z P' 3 − Z B' 2 ) = lP 3B 2,
2 2 2 2
in which values of the segment length lP1B 2 and lP 3B 2 correspond to the expressions (8) and (9). Let us
determine the segment length of lP 2B 2 = lP 2С 2 − l4 , in which the length lP 2С 2 is also specified.
Next, we determine the coordinates of the point C2( X C' 2,YC' 2, ZC' 2 ) in the moving coordinate system. For
this purpose, we first compose the equation of a straight line passing through two specified points
P2( X P' 2,YP' 2, Z P' 2 ) and B2( X B' 2,YB' 2, Z B' 2 ) as follows:
X − X P' 2 Y − YP' 2 Z − Z P' 2
= = . (10)
X B' 2 − X P' 2 YB' 2 − YP' 2 Z B' 2 − Z P' 2
Then, using the segments lengths lP 2С 2 and lP 2B 2 , we determine the coordinates of the point
C2( X C' 2,YC' 2, ZC' 2 ) lying on the line specified by Eq. (10). For this purpose, we compose the following equa-
tion:
X C' 2 − X P' 2 lP 2С 2 YC' 2 − YP' 2 lP 2С 2 ZC' 2 − Z P' 2 lP 2С 2
= , = , = ,
X B' 2 − X P' 2 lP 2 B 2 YB' 2 − YP' 2 lP 2 B 2 Z B' 2 − Z P' 2 lP 2 B 2
( X B' 1 − X P' 2 ) + (YB'1 − YP' 2 ) + (Z B' 1 − Z P' 2 ) = lP 2B1,
2 2 2 2
where lP1B1 = lP1С1 − l1 .
Next, we consider a tetrahedron B1B2P3B3 with the vertex at point B3 in the moving coordinate system
and compose a system of quadratic equations connecting the coordinates of the points B1 , B2 , P3 of the
tetrahedron base with the coordinates of its vertex at the point B3 . In this case, we obtain
( X ' − X ' )2 + (Y ' − Y ' )2 + (Z ' − Z ' )2 = l 2 ,
B3 B1 B3 B1 B3 B1 B1B3
'
( X B3 − X B' 2 ) + (YB' 3 − YB' 2 ) + (Z B' 3 − Z B' 2 ) = lB 2B3,
2 2 2 2
( X B' 3 − X P' 3 ) + (YB' 3 − YP' 3 ) + (Z B' 3 − Z P' 3 ) = lP 3B3.
2 2 2 2
The segment length lP 3B3 is determined from the following relation:
lP 3B3 = lP 3С 3 − l6.
In this case, the length lP 3С 3 is also specified.
Given the coordinates of points B1 , B2 , B3 in the moving coordinate system, we can determine the dis-
tance between any points B1, B2 , B3 , P1 , P2 , P3 in the moving coordinate system. In particular, we deter-
mine the lengths of the following segments:
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 ,
B3 P1 B3 P1 B3 P1 P1B3
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 ,
B3 P2 B3 P2 B3 P2 P 2B3
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 .
B3 P3 B3 P3 B3 P3 P 3B 3
The algorithm for solving a system of quadratic equations is similar to solving system (1). Thus, we can
assume that the output chain position specified by the coordinates of the points P1, P2, P3 is known.
It should be noted that the problem of determining the absolute coordinates, namely, the position of
the center of the moving coordinate system and the orientation angles α, β, γ of the coordinate axes is also
important.
To go from the Cartesian coordinates of points to absolute coordinates, we first determine the center
position of the moving coordinate system, which is associated with the solution of the following system of
equations:
( X P1 − X O ' )2 + (YP1 − YO ' )2 + (Z P1 − ZO ' )2 = lP21O ' ,
( X P 2 − X O ' ) + (YP 2 − YO ' ) + (Z P 2 − ZO ' ) = lP 2O ',
2 2 2 2
( X − X )2 + (Y − Y )2 + (Z − Z )2 = l 2 ,
P3 O' P3 O' P3 O' P 3O '
where X O ' , YO ' , ZO ' are the desired coordinates of the moving coordinate system origin O' in the fixed sys-
tem and lP1O ' , lP 2O ' , lP 3O ' are the known radius-vectors of the points P1, P2, P3 in the moving coordinate
system. The system of equations is solved similarly to system (1). Next, we transfer the center O' of the
moving coordinate system to be compatible with the center O of the fixed system, which will allow deter-
mining the orientation angles.
The 3 × 3-matrix describing the transition from the moving system to the base coordinate system [8]
has the following form:
cos(γ) cos(β) cos(γ) sin(β) sin(α) − sin(γ) cos(α) sin(γ) sin(α) + cos(γ) cos(α) sin(β)
M = sin(γ) cos(β) cos(γ) cos(α) + sin(γ) sin(β) sin(α) sin(γ) cos(α) sin(β) − cos(γ) sin(α) .
− sin(β) cos(β) sin(α) cos(β) cos(α)
This corresponds to the rotation of the moving system around the axis OX at an angle α, then around
a rotated axis OY at an angle β and around a double-rotated axis OZ at an angle γ. To determine these
angles, we write in matrix form the equations of transition between two coordinate systems for three points
of the output chain, the coordinates of which are known in both the moving and fixed systems:
X '
Pi X Pi
M ⋅ YPi' = YPi (hereinafter i = 1,2,3).
Z ' Z Pi
Pi
The multiplication of the matrices results in three trigonometric equations with three unknown angles.
In total, there will be nine equations that have the following form:
' cos(γ) cos(β) + YPi' (cos(γ) sin (β) sin(α) − sin (γ) cos(α))
X Pi
+ Z Pi
' (sin (γ) sin(α) + cos(γ) cos(α) sin (β)) = X Pi ,
' sin (γ) cos(β) + YPi' (cos(γ) cos (α) + sin(γ) sin (β) sin(α))
X Pi
+ Z Pi
' (sin (γ) cos(α) sin (β) − cos (γ) sin(α)) = YPi ,
− X Pi
' sin(β) + YPi' cos(β) sin(α) + Z Pi
' cos(β) cos(α) = Z Pi .
Next, we consider three equations relating the coordinates Z Pi and angles α, β, γ as follows:
− X P' 1 sin(β) + YP'1 cos(β) sin(α) + Z P' 1 cos(β) cos(α) = Z P1,
− X P' 2 sin(β) + YP' 2 cos(β) sin(α) + Z P' 2 cos(β) cos(α) = Z P 2,
− X P' 3 sin(β) + YP' 3 cos(β) sin(α) + Z P' 3 cos(β) cos(α) = Z P 3.
We introduce the following notation:
sin (β) = m1,
cos(β) sin (α) = m2,
cos(β) cos (α) = m3.
Then, we obtain
−X ' Y ' Z '
P1 P1 P1 m1 Z P1
−X ' Y ' Z ' m = Z ,
P 2 P 2 P 2 2 P 2
− X P' 3 YP' 3 Z P' 3 3 P 3
m Z
from whence we find that
−1
−X ' Y ' Z '
m1 P1 P1 P1 Z P1
m = −X ' Y ' Z ' Z .
2 P 2 P 2 P 2 P 2
m3 − X P' 3 YP' 3 Z P' 3 Z P 3
Considering the inverse matrix, we can write that
β = arcsin(m1),
α = arcsin(m2 / cos(β)).
To find the angle γ , we consider a system of three equations:
X P' 1 sin (γ) cos(β) + YP'1(cos(γ) cos (α) + sin(γ) sin (β) sin(α))
+ Z P' 1(sin (γ) cos(α) sin (β) − cos (γ) sin(α)) = YP1,
X P' 2 sin (γ) cos(β) + YP' 2(cos(γ) cos (α) + sin(γ) sin (β) sin(α))
+ Z P' 2(sin (γ) cos(α) sin (β) − cos (γ) sin(α)) = YP 2,
X P' 3 sin (γ) cos(β) + YP' 3(cos(γ) cos (α) + sin(γ) sin (β) sin(α))
+ Z P' 3(sin (γ) cos(α) sin (β) − cos (γ) sin(α)) = YP 3.
We denote that
sin (γ) cos(β) = s1,
cos(γ) cos (α) + sin(γ) sin (β) sin(α) = s2,
(sin (γ) cos(α) sin (β) − cos (γ) sin(α) = s3.
Then, we obtain that
−1
X' Y' Z'
s1 P1 P1 P1 YP1
s = X' Y ' Z' Y .
2 P 2 P 2 P 2 P 2
s3 X P' 3 YP' 3 Z P' 3 YP 3
JOURNAL OF MACHINERY MANUFACTURE AND RELIABILITY Vol. 48 No. 5 2019
THE DIRECT POSITION PROBLEM 399
FUNDING
This work was supported by the Russian Foundation for Basic Research, project no. 16-29-04273ofi_m.
CONFLICT OF INTEREST
Authors declare no conflict of interest.
REFERENCES
1. Stewart, D.A., Platform with six degrees of freedom, Proc. Inst. Mech. Eng., 1965, vol. 180, no. 15, p. 371.
2. Arzumanyan, K.S. and Koliskor, A.Sh., Synthesis of structures of l-coordinate systems for the study and diag-
nosis of industrial robots, in Ispytaniya, kontrol’ i diagnostirovanie gibkikh proizvodstvennykh sistem (Testing,
Monitoring and Diagnosing Flexible Manufacturing Systems), Moscow: Nauka, 1988, p. 70.
3. Gough, V.E., Contribution to discussion of papers on research in automobile stability, control and tire perfor-
mance, Proc. Auto Div. Inst. Mech. Eng., 1956–1957, p. 392.
4. Hunt, K., Structural kinematics of in-parallel-actuated robot arms, ASME J. Mech., Transmis., Autom. Des.,
1983, vol. 105, p. 705.
5. Merlet, J.P., Singular configurations of parallel manipulators and grassman geometry, Int. J. Robot. Res., 1989,
vol. 8, no. 5, p. 45.
6. Aleshin, A.K., Glazunov, V.A., Rashoyan, G.V., and Offer, Sh., Analysis of kinematic screws that determine the
topology of singular zones of parallel-structure robots, J. Mach. Manuf. Reliab., 2016, vol. 45, no. 4, p. 291.
7. Aleshin, A.K., Glazunov, V.A., Rashoyan, G.V., Offer, Sh., Skvortsov, S.A., and Lastochkin, A.B., Infinitesi-
mal displacement analysis of a parallel manipulator with circular guide via the differentiation of constraint equa-
tions, J. Mach. Manuf. Reliab., 2016, vol. 45, no. 5, p. 398.
8. Rashoyan, G.V., Shalyukhin, K.A., and Gaponenko, E.V., Development of structural schemes of parallel struc-
ture manipulators using screw calculus, IOP Conf. Ser.: Mater. Sci. Eng., 2018, vol. 327, no. 4.
9. Novye mekhanizmy v sovremennoi robototekhnike (New Mechanisms in Modern Robotics), Glazunov, V.A., Ed.,
Moscow: Tekhnosfera, 2018, p. 314.
10. Antonov A.V., Glazunov V.A., Aleshin A.K., Rashoyan G.V., and Laktionova, M.M., Kinematic analysis of a
parallel structure mechanism for work in extreme environments, J. Mach. Manuf. Reliab., 2018, vol. 47, no. 2,
p. 121.
11. Shalyukhin, K.A., Rashoyan, G.V., Aleshin, A.K, Skvortsov, S.A., Levin, S.V., and Antonov, A.V., Problems
of kinematic analysis and special positions of mechanisms of robots with parallel structure, J. Mach. Manuf. Re-
liab., 2018, vol. 47, no. 4, p. 310.
12. Ganiev, R.F., Glazunov, V.A., and Filippov, G.S., Urgent problems of machine science and ways of solving
them: wave and additive technologies, the machine tool industry, and robot surgery, J. Mach. Manuf. Reliab.,
2018, vol. 47, no. 5, p. 399.
13. Glazunov, V., Nosova, N., Kheylo, S., and Tsarkov, A., Design and analysis of the 6-dof decoupled parallel ki-
nematics mechanism, J. Mech. Mach. Sci., 2018, vol. 56, p. 125.
14. Glazunov, V.A. and Borisov, V.A., Development of parallel-structure mechanisms with four degrees of freedom
and four kinematic chains, J. Mach. Manuf. Reliab., 2017, vol. 46, no. 5, p. 417.
15. Siciliano, B. and Khatib, O., Springer Handbook of Robotics, Switzerland: Springer Int., 2016, p. 2227.
Translated by A. Ivanov