Position Equations of a 3RPR Planar Manipulator Sureyya Sahin sahin508@gmail.com Abstract We study parametric equations, which describe the position of an in-parallel planar manipula- tor. We discuss isometries in the Gauss plane, then we write the loop-closure equations in terms of the rotations as the parameters. 1 Introduction A 3RPR parallel manipulator, which is a closed- loop linkage, consists of a moving platform–a ternary link–and three simple kinematic chains, each composed of revolute, prismatic, and rev- olute joints, attached to vertices of the moving platform. The position equations are essential in mathematical modeling of the 3RPR parallel manipulators. In the literature, the position equations are generally obtained by means of parametrizations in the Euclidean plane. For example, Shigley and Uicker [3] used loop-closure equations in obtaining the equations describing the position of closed-loop linkages in terms of trigonomet- ric functions. As another example, Wampler [5] studied parametric equations of closed-loop linkages in the Gauss plane. In this study, we obtain the position equations of the 3RPR paral- lel manipulator in the Gauss plane with a similar approach to that of Wampler [5], which he ap- plied to a closed-loop mechanism in his study. However, we will concentrate more on geome- try instead of mechanical motions; thus, we em- phasize isometries and transformations, and use loop-closure equations directly. The organization of this short paper is as fol- lows: we discuss the geometric foundations for obtaining the position equations for the 3RPR in-parallel manipulator in Section 2; specifically, we discuss the complex numbers, isometries and transformations in the Gauss plane. In Section 3, we derive the loop–closure equations of the ma- nipulator. 2 Complex Numbers In this section, we study properties of complex numbers. Additionally, we discuss isometries in the Gauss plane. 2.1 Complex Numbers and the Gauss Plane We define complex numbers, which represent points in the Cartesian plane, as a set C = { x + i y : x, y ∈ R , i 2 = − 1 } . Denoting the x -axis of the Cartesian plane as the real axis and y -axis as the imaginary axis, we obtain a differ- ent interpretation of the Cartesian plane, and we name it as the Gauss plane [1]. We affiliate a point Z in the Gauss plane by a complex number z and name x +i y as the rectan- gular form of z . Thus, the set of complex num- bers C , with identity elements for complex ad- dition and multiplication being 0 and 1 , forms a field. As an alternative to the rectangular form, for a given point, we define r as the length of the line segment from the origin to the point (am- plitude), and θ as the angle formed by the real axis and the line segment (argument). Thus, a 1 arXiv:1508.01733v1 [cs.RO] 7 Aug 2015 point Z in the Gauss plane can be expressed as z = r cis( θ ) , where cis is defined in Definition 1. Definition 1. We let the set of points on a unit circle and its associated argument be denoted as S and θ , respectively. Then, we define cis : S → C such that cis( θ ) = cos ( θ ) + i sin ( θ ) . In addition to using C for representing points in the Gauss plane, we can also express vectors by means of C . Hence, a directed line from the origin at 0 to the point x + i y represents a vec- tor. The orthonormal vectors coincident with the coordinate axis would be 1 and i , respectively. Thus, any vector can be written as a linear com- bination of 1 and i as z = x 1 + y i . We drop 1 from this expression [1]; furthermore, since i has only imaginary component, we use i in vec- tor expressions instead of i . Therefore, we ex- press a vector z by using the standard represen- tations of the complex numbers, so z = z in C . The conjugate of a complex number z = x + i y ∈ C , which is written as z = x − i y , can be viewed as an operation on C . So, we provide Proposition 1 [2] on the conjugate of addition and multiplication of complex numbers. Proposition 1. Let z 1 , z 2 , . . . , z n ∈ C . Then, z 1 + z 2 + · · · + z n = z 1 + z 2 + · · · + z n (1) and furthermore, z 1 z 2 · · · z n = z 1 z 2 · · · z n (2) Proof. We prove the equation 1 first. The case of n = 1 is trivially satisfied. Then, we pick n = 2 to obtain z 1 + z 2 = x 1 + i y 1 + x 2 + i y 2 = x 1 + x 2 − i ( y 1 + y 2 ) = x 1 − i y 1 + x 2 − i y 2 = z 1 + z 2 . Thus, the equation holds for n = 2 . Now, we suppose that the equation is true for n − 1 . There- fore, z 1 + z 2 + · · · + z n − 1 = z 1 + z 2 + · · · + z n − 1 . Hence, we can write z 1 + z 2 + · · · + z n = z 1 + z 2 + · · · + z n − 1 + z n = z 1 + z 2 + · · · + z n − 1 + z n by using a similar argument to the case of n = 2 , and by substituting the expression for n − 1 . Therefore, we conclude the equation 1 holds in C . We prove the equation 2 similarly. Letting n = 1 , we observe that the equation becomes trivially z 1 = z 1 . Next, we let n = 2 . Thus, we write: z 1 z 2 = ( x 1 + i y 1 )( x 2 + i y 2 ) = ( x 1 x 2 − y 1 y 2 ) − i ( x 1 y 2 + y 1 x 2 ) = ( x 1 − i y 1 )( x 2 − i y 2 ) = z 1 z 2 Now, we suppose that the equation 2 holds for n − 1 . Thus, z 1 z 2 · · · z n − 1 = z 1 z 2 · · · z n − 1 . Therefore, for n , we write: z 1 z 2 · · · z n = z 1 z 2 · · · z n − 1 z n = z 1 z 2 · · · z n − 1 z n Thus, we conclude that the equation 2 holds. 2.2 Isometries in the Gauss Plane The isometries with which we are interested are reflections, translations, and rotations. The propositions in this section, except for 5, are available–without proofs–in [1]. We introduce reflections in the Gauss plane by means of the complex conjugates. Since the reflection is a mirror about a line, we write: Proposition 2. A reflection z ′ of z ∈ C in the x -axis has the equation: z ′ = z (3) Proof. Because the reflection is in the x -axis, we have the real and imaginary components of z in the mirror as x ′ = x and y ′ = − y . Thus, z ′ = x − i y = z . A translation shifts the objects in the Gauss plane by a vector a ∈ C . For a given translation a = h + i k arising from the origin, we can find the location of z ′ initially at z . Consequently, we write: 2 Proposition 3. A translation of an object from z to z ′ by means of a is: z ′ = z + a (4) Proof. We suppose a is the translation which acts on z . Then, the point associated with z would shift to z ′ . Using the vectors related to z ′ and z , we find that z ′ is the diagonal of the par- allelogram whose sides are a and z . Therefore, we conclude that z ′ = z + a . We introduce the rotations by means of the unit circle centered in the origin of the Gauss plane. Consider a unit vector arising from the origin to a point on the unit circle, and has the angle θ as its argument. If we rotate this vector by an angle φ , then we obtain the new position of the vector as cis( θ + φ ) using the Definition 1. Hence, the function cis is used to express ro- tations in the Gauss plane. Thus, we introduce Proposition 4 for expressing rotations. Proposition 4. A rotation of an object z about a point A by an angle θ , which results in the vector z ′ , has the following representation: z ′ − a = cis( θ )( z − a ) (5) Proof. We let z ′ be the new vector as a result of the rotation, and z the original vector. Addi- tionally, we let a be the vector associated with the point A . Then, we write r ′ = z ′ − a and r = z − a . Thus, using the rotation function cis , we obtain r ′ = cis( θ ) r . Therefore, substitut- ing back for the difference vectors r and r ′ , we obtain z ′ − a = cis( θ )( z − a ) . We observe that the angular quantities are ad- ditive; that is, the angles θ i associated with suc- cessive rotations can be added to obtain the re- sulting angle as θ = θ 1 + · · · + θ n . We would like to obtain a similar relation to obtain a resulting rotation for given successive rotations. Thus, we provide the following proposition: Proposition 5. The function cis : R → S is a homomorphism between R with the addition and the S with multiplication operations. Proof. We claim that: cis( θ 1 + θ 2 + · · · + θ n ) = cis( θ 1 ) · cis( θ 2 ) · · · cis( θ n ) We pick θ 1 , θ 2 ∈ R . Then, we write cis( θ 1 + θ 2 ) = cos( θ 1 + θ 2 ) + i sin( θ 1 + θ 2 ) = cos( θ 1 )(cos( θ 2 ) + i sin( θ 2 )) +i 2 sin( θ 1 )(sin( θ 2 ) − i cos( θ 2 )) = cis( θ 1 ) · cis( θ 2 ) Now, we suppose that cis( θ 1 + θ 2 + · · · + θ n − 1 ) = cis( θ 1 ) · cis( θ 2 ) · · · cis( θ n − 1 ) So, we can write cis( θ 1 + · · · + θ n ) = cis( θ 1 + · · · + θ n − 1 ) · cis( θ n ) = cis( θ 1 ) · · · · · cis( θ n − 1 ) · cis( θ n ) Therefore, we conclude that cis is a homomor- phism between R with addition, and C with mul- tiplication. We can use cis and cis as a pair to express the unit circle S . Consequently, we write: Proposition 6. We let θ ∈ R . The unit circle S can be represented as cis( θ )cis( θ ) = 1 . Proof. Pick θ ∈ R . Then, cis( θ ) · cis( θ ) = (cos( θ ) + i sin( θ )) · (cos( θ ) − i sin( θ )) = cos 2 ( θ ) + sin 2 ( θ ) = 1 . Therefore, cis( θ ) · cis( θ ) = 1 represents the unit circle. The pair (cis , cis) ∈ S 2 ⊂ C 2 is used in the parametrization of position equations. Specifi- cally, we would like to obtain relations between the unit circle S , complex numbers C 2 and the Cartesian coordinates in R 2 . Thus, we define ( x, y ) : C 2 → R 2 with x (cis , cis) = (cis+cis) / 2 , y (cis , cis) = ( − i(cis − cis)) / 2 . Similarly, we de- fine α : R 2 → S as α = atan2( y, x ) . Hence, we draw the Fig. 1 to obtain the function θ : C 2 → S . Consequently, θ = α ◦ ( x, y ) , and therefore θ = atan2 ( − i(cis − cis) , (cis + cis) ) (6) 3 C 2 R 2 S ( x, y ) α θ Figure 1: Commutative diagram between S and product sets C , R 2 . 3 Position Equations The equations describing the posture of the in- parallel planar manipulator, which has three de- grees of freedom, can be obtained by means of loop-closure equations. As an initial step, we would like to obtain the number of loops, which determines the quantity of the loop-closure equations, for this manipula- tor. A general formula for calculating the num- ber of loops is given by Waldron and Kinzel [4] as L = j + 1 − n , with j being the total number of joints, and n being the total number of links. We apply this formula to the 3RPR manipulator in Fig. 2; we observe that j = 9 , n = 8 . Thus, we calculate L = 9 + 1 − 8 = 2 loops; there- fore, we can write two independent loop-closure equations for this manipulator. For the 3RPR manipulator shown in Fig. 2, we let s a = | AO a | , s b = | BO b | , and s c = | CO c | be the lengths of each connectors. We denote the unknown joint variables by θ a , θ b , θ c , and α . The first loop that we will consider is through the joints at A , O a , O b , and B . We let d ab be the vector arising from the origin at A to the point B , o a and o b be the vectors originating from A , which are associated with the points O a and O b . We would like to obtain the loop-closure equa- tion in terms of cis , cis , and the prismatic joint variable s . Thus, we pick a line AA ′ , which con- nects the point A at the origin of the coordinate frame to the point A ′ at center of the chamber of the prismatic joint as in Fig. 2, collinear with the real axis of the coordinate frame. Then, we perform a rotation AA ′ by an angle θ a , followed by a translation by an amount of A ′ O a along the A O a B O b C O c Re Im θ a θ b θ c α β Figure 2: The 3RPR in-parallel planar manipu- lator. The moving platform is in gray color. rotated line. This motion sequence results in the position at O a , the associated vector of which can be expressed as ( | AA ′ | + | A ′ O a | )cis( θ a ) ; hence, | AO a | cis( θ a ) . Therefore, we can write o a = s a cis( θ a ) . Next, we consider the rotation which transforms the side of the moving plat- form by an angle α . Using the Proposition 4, we write o b − o a = cis( α )( o ′ b − o a ) , where o ′ b is the vector associated with O b before the rota- tion. But o ab = o ′ b − o a ; thus, o b = o a +cis( α ) l ab , where l ab = | o ab | = | O a O b | . As a next step, we draw a line parallel to the real axis and passing through O b ; thus, from the transversal passing through B and O b , we find the angle associated with the joint at O b as θ b + π . Then, denoting endpoint of the piston of the prismatic joint as B ′ in the Figure 2, we calculate the position of the point B ′ , which is a result of rotation about O b , as b ′ − o b = cis( θ b + π ) | O b B ′ | . Further- more, we write the translation from B ′ to B as b = b ′ +cis( θ b + π ) | B ′ B | . Eliminating b ′ and sub- stituting s b = | O b B ′ | + | B ′ B | , we obtain b = o b + cis( θ b + π ) s b . Then, using the Proposition 5, we write b = o b + cis( θ b )cis( π ) s b = o b − cis( θ b ) s b . As a final step for closing the loop, we trans- late b by d ba to obtain a = b + d ba ; additionally, 4 noting d ba = − d ab , and a = 0 for A being the origin of the fixed frame, we write 0 = b − d ab . Back substituting b into this equation, we write o b − cis( θ b ) s b − d ab = 0 . Then, eliminating o b , we write o a + cis( α ) l ab − cis( θ b ) s b − d ab = 0 . Finally, we eliminate o a to obtain: s a cis a + l ab cis α − s b cis b − d ab = 0 (7) where we abbreviate cis( θ a ) , cis( α ) , cis( θ b ) with cis a , cis α , and cis b respectively. Thus, Eq. 7 is the first loop-closure equation. For the second loop-closure equation, we use the expression for o a as found in the deriva- tion of the Eq. 7. Denoting l ac = | O a O c | , we use the Proposition 4 to obtain o c = o a + cis( α + β ) l ac . Then, by the Proposition 5, o c = o a + cis( α )cis( β ) l ac . As a next step, we draw lines parallel to the real axis of the coordinate system passing through points O c and C . From a transversal through CO c , we find the rota- tional angle associated with the joint at O c as θ c − π . We denote the end point of the pis- ton as C ′ as in Fig. 2; thus, we obtain c ′ = o c + cis( θ c − π ) | O c C ′ | . Using the Proposition 5, we write c ′ = o c + cis( θ c )cis( − π ) | O c C ′ | ; there- fore, c ′ = o c − cis( θ c ) | O c C ′ | . Additionally, the translation of c ′ to c can be represented as c = c ′ +cis( θ c − π ) | C ′ C | = c ′ − cis( θ c ) | C ′ C | . Noting s c = | O c C ′ | + | C ′ C | , we eliminate c ′ to obtain c = o c − cis( θ c ) s c . To calculate a , we translate c by an amount d ca = − d ac so that a = c − d ac . Using a = 0 and substituting for c , we write o c − cis( θ c ) s c − d ac = 0 . Then, we eliminate o c to obtain o a + cis( α )cis( β ) l ac − cis( θ c ) s c − d ac = 0 . We substitute o a to write Eq. 8 as the second loop-closure equation. s a cis a + l ac cis β cis α − s c cis c − d ac = 0 (8) We use cis c for cis( θ c ) and cis β for cis( β ) for convenience. We seek parametrization based on cis and cis representations of the unit circle in C 2 . Using the equations 1 and 2, we take the conjugates of the equations 7 and 8. Thus, we obtain the conjugates given by the equations 9 and 10. s a cis a + l ab cis α − s b cis b − d ab = 0 (9) s a cis a + l ac cis β cis α − s c cis c − d ac = 0 (10) 4 Conclusion This short paper is about obtaining the equa- tions describing the position of a 3RPR in- parallel planar manipulator in the Gauss plane. We utilize isometries in writing loop-closure equations. The resulting equations with their complex conjugates constitute four polynomial equations. We note that parametric position equations of other in-parallel planar manipulators can be ob- tained with a similar way to the method in this paper. We believe the position equations can be used in analysis and control of in-parallel planar manipulators. References [1] Clayton W. Dodge. Euclidean Geometry and Transformations . Dover, Mineola, NY, 2004. [2] Dan Pedoe. Geometry: A Comprehensive Course . Dover, New York, 1988. [3] Joseph E. Shigley and John J. Uicker. The- ory of Machines and Mechanisms . McGraw- Hill, New York, second edition, 1995. [4] Kenneth J. Waldron and Gary L. Kinzel. Kinematics, Dynamics, and Design of Ma- chinery . John Wiley and Sons, Hoboken, NJ, second edition, 2004. [5] Charles W. Wampler. Solving the kinemat- ics of planar mechanisms. ASME Journal of Mechanical Design , 121(3):387–391, 1999. 5