C 2 -Continuous Orientation Planning for Robot End-Effector with B-Spline Curve Based on Logarithmic Quaternion

,


Introduction
Trajectory planning of industrial robot end-effector in workspace is a fundamental and important task. Smooth and nonimpact trajectory planning is necessary for the working performance and the service life of industrial robots, otherwise unsmooth trajectory planning will bring added violent impacts and shocks to the robot degrading robot's work. e trajectory planning of industrial robots is divided into position planning and orientation planning, while the valid and reasonable orientation planning is one of the foundational cores to ensure perfect working completion for the robot mechanical arm. Orientation planning is related to rotation arrangement and is a broad and complicated project [1]. Lots of relevant researchers put great efforts into orientation planning and lots of methodologies were suggested [2][3][4][5][6].
e main expressions of orientation of a rigid body are Euler angle, rotation matrix, and quaternion [7]. Quaternion used to describe orientation has the following advantages: (1) avoid the phenomenon of locking universal joints when rotating; (2) higher calculation efficiency; (3) easy to provide smooth interpolation. Because of the remarkable characteristics, quaternion has been widely used in rotating applications. However, quaternion also has its disadvantages in describing orientation. Quaternion belongs to rotation space and is a four-dimensional vector. As a result, the algorithms of the three-dimensional vector in Cartesian space are not suitable for quaternion directly [8], and interpolating theories in the three-dimensional vector space cannot be directly applied to quaternion orientation interpolation. at is, high-order interpolation methods in Cartesian space cannot be directly used for multiorientation interpolation of quaternion. ough many scholars have been proposing kinds of quaternion orientation interpolations, the existing research for quaternion interpolation still needs to be developed further especially for smooth higher-order continuous interpolation between multiple orientations. e most widely used orientation interpolation of quaternion is Spherical Linear Interpolation (SLERP) raised by Shoemake. e reasoning process of SLERP is concise and uncomplicated, and the application of SLERP is simple and convenient. e formula of SLERP is as the following formula [9]: where Q 1 is the original orientation, Q 2 is the end orientation, and θ is the angle between the 4-dimesion vectors of Q 1 and Q 2 . e angle value of θ can be gotten by the dot product cos(θ) � Q 1 .Q 2 . A series of smooth quaternion orientations between Q 1 and Q 2 can be obtained when the variable t changes uniformly between 0 and 1. SLERP is very suitable for quaternion interpolation between only two orientations. However, when interpolations between more than two orientations proceed, SLERP can only guarantee C 0 continuity, and there would be sharp points at connecting points which connect several segments of interpolations. at means trajectory of orientation interpolation of quaternion is unsmooth at connecting points. As a result, the angular velocity and the angular acceleration would have discontinuous breakpoints which will bring violent impacts and shocks to industrial robots. erefore, SLERP is not suitable for multiorientation interpolation for industrial robots.
In order to acquire smooth quaternion interpolation between more than two orientations, Shoemake presented Spherical and Quadrangle (SQUAD) developed on the base of SLERP. Although the derivation and application of SQUAD seem more complicated, it is still a matured algorithm and is often used for smooth quaternion interpolation between more than two orientations. e formula of SQUAD is as the following formula [10]: , i � 0, 1, . . . , n − 1.
Formula (2) has two functions. e first function is the interpolation function, and the second is called auxiliary function. Q 0 , Q 1 ,. . ., Q n are series of key orientations given in the form of quaternion, h is the only variable, Q −1 i is the inverse quaternion of Q i , and S i and S i+1 are called auxiliary quaternions which can be gotten by the second function in formula 2. If we want to obtain the values of S 0 and S n in auxiliary function, the values of Q -1 and Q n+1 are needed. However, we only have the values of Q 0 , Q 1 ,. . ., Q n . So, we set the value of S 0 equal to that of Q 0 , and the value of S n equal to that of Q n . is setting has little influence on the resulting interpolation curve. After the SLERP formula is used three times, SQUAD is finished. Dam et al. proved that the formula SQUAD has C 1 continuity of quaternion interpolation [10] and showed by the figure that both the angular and the angular velocity in the interpolation examples by SQUAD were continuous. However, they did not mention whether SQUAD has the C 2continuity characteristic. e subsequent case example in Section 6 of this paper shows that there are broken points at connecting nodes in the angular acceleration figure obtained by SQUAD. at means SQUAD is not C 2 continuous at connecting points for multiorientation quaternion interpolation. Discontinuous angular acceleration will also bring violent impacts on industrial robots and may degrade its working performance and service life as well.
In order to improve high-order smoothness of multiorientation interpolation of quaternion, some scholars introduce quaternion spline curves into quaternion interpolation. Myoung-jun Kim et al. presented a kind of quaternion spline curve with higher-order derivability [11]. ey proposed the concept of cumulative basis function of quaternion, and the cumulative basis function of quaternion is taken as the exponent to perform quaternion interpolation. e operation of cumulative basis function becomes more complicated since its calculation is involved quaternion. Moreover, when quaternion B-spline curve is used for orientation interpolation, the control vertexes need be found reversely by the given key orientation quaternions. However, since the quaternion curve is generated in non-Euclidean space, the control vertexes obtained by reverse solution needs to solve nonlinear equations, so the numerical solution of the control vertexes of the quaternion B-spline curve can only be obtained approximately.
Yan Xing et al. presented a class of the generalized quaternion curve of B-spline [12]. ey constructed series of nonlinear core functions based on the research findings of Juhász and Róth. More paths of rotation can be attained by means of choosing different core functions. ey concluded the classical unit quaternion curves of B-spline in these rotating paths and considered the classical unit quaternion curves of B-spline as special cases. And the generalized B-spline quaternion curves can achieve higher order of continuity. Applications and calculations of the research findings seem a little more complex.
Although there are also other several ways to construct the high-order quaternion curve [13][14][15][16][17][18], it is still difficult to tell which one method is better than another, and there is still no perfect solution so far. Relevant researchers have been striving to study and explore in this direction. So, the purpose of this paper is to find a compact and effective method of smooth multiorientation interpolation of quaternion.

Quaternion Orientation Interpolation
Principle with Spline Curve Based on Logarithmic Quaternion

Preliminaries of Quaternion.
When a rigid body rotates purely, both the orientation of the rigid body changes and the position of the particle on the rigid body change. A rotation means a new orientation of the rigid body. Conversely, knowing the orientation of a rigid body means knowing what rotation the rigid body has made. at is to say, a rotation equals an orientation. e main expressions of orientation (i.e., rotation) are as follows: rotation matrix, Euler angle, and quaternion. e rotation matrix is composed of nine elements, which results in large data and inefficiency in calculation compared with other two methods. What is more, the rotation matrix is not convenient in smooth interpolation. e big trouble with the Euler angle is the phenomenon of Gimbal Lock. at is, there will be singular points under some conditions when the second Euler angle is the multiple of 90° [19]. When Gimbal Lock happens, movement will not follow the expected path. By comparison, quaternion has less computational complexity, has not the phenomenon of Gimbal Lock, and is convenient for smooth interpolation so that it is widely used in the representation of rotation (i.e., orientation). Although quaternion has many advantages, it also has its weaknesses. Quaternion is a four-dimensional vector and cannot be visually represented in Cartesian space. Moreover, the algorithms of three-dimensional vector operation and interpolation laws cannot be directly applied for quaternion. So, these problems bring some difficulties to quaternion orientation interpolation, especially for high-order continuous orientation interpolation. us, lots of research are involved in it.
Quaternion can be generally defined as Q � q 0 + q 1 i + q 2 j+ q 3 k, where, q 0 , q 1 , q 2 , and q 3 are all real numbers and i, j, and k are the imaginary axes of the complex number. Quaternion can also be represented as the vector form Q � [q 0 , (q 1 , q 2 , q 3 )] � [w, v], where w is called the real part of quaternion and v is called the imaginary part of quaternion.
e modulus of quaternion can be expressed as When the real part of a quaternion Q is zero, such quaternion is called pure quaternion. Pure quaternion can be expressed as Q � [0, (q 1 , q 2 , q 3 )] � [0, v]; when the imaginary part of the quaternion Q becomes the opposite values, such quaternion is named conjugate quaternion and is expressed in Q * , and Q * � [q 0 , -(q 1 , q 2 , q 3 )] � [w, -v]. e modulus of quaternion can also be expressed by ‖Q‖ � ���� QQ * √ ; when the multiplication of two quaternions Q 1 and Q 2 is equal to [1,0,0,0], Q 2 is defined as the inverse quaternion of Q 1 . Inverse quaternion of Q is expressed in Q −1 , and Q − 1 � Q * /‖Q‖ 2 . When the modulus of a quaternion is equal to 1 (‖Q‖� 1), such quaternion is called unit quaternion. Nonunit quaternion can be converted to unit quaternion by Q/‖Q‖. For a unit quaternion, its conjugate quaternion Q * is equal to its inverse quaternion Q −1 ; that is, Q * � Q − 1 . Because the modulus of any unit quaternion is equal to 1 (‖Q‖ � ������������� � q 2 0 + q 2 1 + q 2 2 + q 2 3 � 1), unit quaternion belongs to S 3 field. Quaternion used to describe rotation is usually unit quaternion.
Compared with the mathematical operations of real number, complex number, and vector, the mathematical operations of quaternion is more complicated. And the commutative law is not appropriate for quaternion operation. If there are two arbitrary quaternions H (H � [h 0 , u]) and Q (Q � [q 0 , v]), the multiplication operation is as the following equation: Notice that HQ is usually not equal to QH. In general, quaternion used for rotation is mostly unit quaternion. Furthermore, unit quaternion can be written as formula (3), which is more popular than original definition expression: where θ is the rotation angle and n�(a,b,c) is the vector of the rotation axis. In addition, n is the unit vector (‖n‖ � 1). Function (4) shows the rotation characteristic of quaternion; that is, a quaternion means a rotation or an orientation.

Deduction of Quaternion Interpolation Principle Based on
Logarithmic Quaternion. As we know, the common complex number F can be defined as F � A + Bi. e angle of a complex number can be expressed by φ � arctan(B/A). e complex, whose modulus equals 1 (‖F‖ � 1), is called the unit complex. e unit complex can be written in the exponential form as F � e ϕi . Quaternion is also a kind of the complex number, which is more complicated than the plane complex number. In the same way, unit quaternion can be expressed in exponential form similar to the common complex:

Mathematical Problems in Engineering
where the meanings of θ and n are the same as that in function (4). When we take logarithms on both sides of equation (5), we get ln(Q) � θn � θ * (a, b, c) � (x, y, z) � P. (6) As can be seen from equation (6), if we take a logarithm for a unit quaternion, the four-dimensional quaternion in S 3 space can be converted to three-dimensional points in R 3 space. At this time, high-order interpolation theories in Cartesian space become available, such as B-spline interpolation especially. Suppose there are start orientation and end orientation of robot end-effector, which are described as quaternion orientations Q s and Q e , respectively. If the logarithm is taken for Q s and Q e according to equation (5), we can accordingly get three-dimensional start point P s and end point P e in Cartesian space. en, we can use various interpolation methods in R 3 space to interpolate and get series of interpolated points marked as P i �(x i , y i , z i ) and i � 0, 1, 2, . . ., n. According to relevant interpolation equation, the interpolated points can be written as follows: e interpolated points are three-dimensional vectors in R 3 space and need to be converted to unit quaternions in S 3 space. To ensure the rotation axes of the quaternions are unit vectors, the rotation axis vectors should be united. us, the interpolation equation should be decomposed to the product of unitized forms as follows: Substitute P(t) in equation (8) into equation (6), and take exponents on both sides of the equation. We can get By comparing equation (9) with equation (5), the rotation angle and rotation axis vector of interpolated unit quaternion can be obtained as follows: where θ(t) and [a(t), b(t), c(t)], respectively, are the rotation angle and the rotation axis vector of interpolated unit Finally, the real part and complex part of interpolated unit quaternion can be deduced as follows: , is a vector of the interpolated point in R 3 . As shown in formula (11), the interpolated points in R 3 space can be mapped to the corresponding interpolated unit quaternions in S 3 space.
Make a summery here. e four-dimensional unit quaternions in S 3 space, when logarithms were taken for them, could be converted to three-dimensional points in R 3 space. en, three-dimensional spline curve interpolation, such high-order smooth curve interpolation as the B-spline curve, can be applied freely. When interpolation is completed in R 3 space, the three-dimensional interpolated points in R 3 space can be mapped to the interpolated unit quaternions in S 3 space according to formula (11). us, quaternion interpolations are realized.
It should be pointed out that the rotation angle θ in formula (10) is positive. When the rotation angle θ of the key orientation given in advance is negative, it can be dealt as follows. e rotation angle θ is taken as absolute value, and the rotation axis vector is taken as the opposite number before interpolation.
From equations (4) and (5), we can obtain the following equation: Equation (12) can be written as follows: In equation (13), [x(t), y(t), z(t)] are interpolated points of the spline curve in Cartesian space and can be expressed as r(t). When we take exponent for r(t) and get a new equation, the continuity of the new function is consistent with the one of r(t); that is, the continuity of the new function will not change. For example, if we choose the cubic B-spline curve to be the interpolation method, the interpolated points are C 2 continuous at knot points. When exponent is taken for the function of the cubic B-spline curve and new function is obtained, continuity of new function will not change and remain second-order C 2 continuity. Taking exponent is the process of mapping the spline curve in Cartesian space to quaternion space, so the corresponding quaternions also keep the corresponding continuity, and the order of continuity remains unchanged.

Preliminaries of B-Spline
Curve. e B-spline curve plays an important role in the freeform curve and surface modeling design and is a significant branch for smooth interpolation. e B-spline curve is developed on the basis of the Bezier curve. It retains the advantages of the Bezier curve and overcomes the defect that the Bezier curve has not the ability of local modification. Furthermore, it has advantages in dealing with complicated shapes. Because of its smooth interpolation and convenience, the B-spline curve has been one of the most popular methods of mathematical description of freeform curve and surface. e mathematical definition of the B-spline interpolation curve is as follows [20]: where d i are the control points and N i,k (u) are the basis functions. e label k is the power of basis function. e label i is the sequence label. Basis function of de Boor Cox is commonly used and is defined as follows: where u i are the nodes of the basis function. e Cubic uniform B-spline curve is most widely used in engineering among kinds of B-spline curves because its expression is not very complicated and it has the properties of high smoothness and C 2 continuity, which can meet the needs of most engineering. At the same time, the cubic uniform B-spline also has the advantages of low power, simple calculation, fast speed, and the ability of constructing various shapes. As a result, numerous engineers and designers are favored of the cubic uniform B-spline curve when modeling freeform curve and surface. e basis function of the cubic uniform B-spline curve can be described further in its effective regions of basis function nodes as follows [21]: By synthesizing formula (14) and (16), practical formula of the cubic uniform B-spline curve can be obtained as the following formula [21]. Unless the other is specified, the following B-spline curves all refer to cubic uniform B-spline curves: Mathematical Problems in Engineering where d i+j are the control points, N j,3 (u) are the basis functions, and u is the variable.
Formula (17) is really practical for usage of the cubic uniform B-spline curve. e formula is easy to understand and convenient to use. As can be seen from formula (17), every four control points hold a B-spline curve. For example, if there are five control points, the two B-spline curves can be obtained, and so on. B-spline curves are C 2 continuous at knots between every two curves [22]. It should be pointed out that no matter how many control points there are, the basis functions are the same four functions as far as the cubic uniform B-spline curve is concerned.
As described above, the B-spline curve can be obtained if control points are given. However, in many engineering problems, we are often not given the control points but the knots which the spline curve would pass through. Knots are the key points belonging to the B-spline curve while control points are not a part of the curve so that we need to find control points for the B-spline curve. e process of finding control points by the use of knots is called inverse solution.
For the cubic uniform B-spline curve, the formula of inverse solution of control points is expressed as follows [21]: where d i-1 , d i , and d i+1 are the control points and P i are the key points called as knots through which the B-spline curve must pass.
In function (18), the number of unknown control points is more than the number of equations, so there are numerous solutions for the equations. In order to obtain unique solutions of this function, we need to add two constraint equations.
ere are several common methods to add constraint equations. We need to search a better method suitable for the characteristic of quaternion interpolation.

e Unique Solution of Control Points with Zero Curvature at Endpoints.
For the purpose that the interpolation curves are prevented from changing violently, we could consider that the curvatures at the beginning knot and the terminal knot of the interpolation curve are all set zero. We need add two constrain equations when the curvatures at the beginning and the terminal knots of the B-spline curve are all set to zero and can obtain the unique set of solutions of control points.
When the first and second control points are coincident, the curvature at the beginning knot of the B-spline curve will be zero, and the equation as below should hold [21]: where d i−1 , d i , and d i+1 are the first, the second, and the third control points, respectively. Control points d i−1 and d i are coincident. P i is the beginning knot of the B-spline curve. ese relationships are clearly shown in Figure 1. From equation (19), we can deduce one of the constraint equations as follows: Similarly, when the last and the penultimate control points are coincident, the curvature at the terminal knot of the B-spline curve will be zero, and the equation as below should hold: where d n-1 , d n , and d n+1 are the last control point, the penultimate control point, and the third control from the bottom, respectively. Control points d n+1 and d n are coincident. P n is the terminal knot of the B-spline curve. From equation (21), we can also deduce the other constrain equation as follows; 1 6 d n−1 + 5 6 d n � P n .
By synthesizing equations (18), (20), and (22), we can finally obtain the following formula, which can be used to solve control points inversely by key knots of the B-spline curve under the condition that the curvatures at the beginning and the terminal knots of the B-spline curve are zero: 1 6 5 1 0 0 0 · · · 0 1 4 1 0 0 · · · 0 0 1 4 1 0 · · · 0 0 0 1 4 1 0 · · · ⋮ 0 0 · · · 0 1 4 1 In formula (23) Figure 1: Cubic B-spline curve with free endpoint conditions. and d n+1 . e key knots P 1 , P 2 ,. . .,P n are given beforehand and must be passed through by the B-spline interpolation curve. e control points are the unknown and need to be solved. We can see from function (23) that the quantity of the unknown control points is equal to the equation quantity of the matrix so that function (23) has a unique set of solutions of control points. en, we can interpolate between the key knots with cubic uniform B-spline curve after the values of control points are found.

Steps of Orientation Interpolation with B-Spline Curve Based on Logarithmic Quaternion
We sum up the steps of orientation interpolation with the B-spline curve based on logarithmic quaternion as follows: Step 1: depending on the tasks of industrial robots, several key orientations of end-effector are obtained. e key orientations are expressed by unit quaternions Q i , and rotation angles θ i and rotation axes n i can be gotten as well.
Step 2: according to functions (5) and (6), the fourdimensional unit quaternions Q i are expressed in the exponential forms of the complex number and are transformed to three-dimensional vectors P i in R 3 space when logarithms are taken for these quaternions. en, interpolation theory of the B-spline curve becomes available.
Step 3: the obtained points P i are considered as the key knots of B-spline interpolation curves, and we can find the control points d i of the B-spline curve with zero curvature at end knot points by resolving function (23).
Step 4: according to the obtained control points d i , we can use formula (17) to apply the B-spline curve to interpolate between every two key knots P i , and get series of interpolated points P(t) in R 3 .
Step 5: all the interpolated points P(t) of the B-spline curve in R 3 space are mapped to interpolated quaternions in S 3 space via formula (11). Quaternion interpolation ends.
e interpolation process can be demonstrated clearly by the following flowchart in Figure 2.

Case Study
In order to verify the correctness and rationality of the proposed methodology, the following study case is employed. e usage of the proposed methodology is further described in detail during the study case analysis.
Case 1: In order to accomplish a certain task for an industrial robot, the end-effector has to experience four necessary orientations. e first orientation is to rotate 60°around the Z axis in the fixed frame. e second orientation is to rotate 45°around the Y axis in the fixed frame. e third orientation is to rotate 90°around the X axis in the fixed frame. e last orientation is to rotate 90°around the axis whose vector is n� (2,3,5) in the fixed frame. Using the interpolation methodology proposed in this paper, complete quaternion orientation interpolation with guarantee of C 2 continuity. Case analysis: there are four key orientations given in the case as seen in Figure 3.
e multiorientation planning has three interpolation segments: the first segment between the 1st key orientation and the 2nd key orientation, the second segment between the 2nd key orientation and the 3rd key orientation, and the third segment between the 3rd key orientation and the 4th key orientation.
e orientation interpolation process is as below. It should be pointed out that the B-spline curves used in the case are the cubic uniform B-spline curve.
(1) According to the four necessary orientations of industrial robots, we can get four key quaternions Q i and then get the corresponding rotation angles θ i and axes n i , as seen in Table 1.
(2) According to formula (6), we can calculate the key knots P i of the cubic uniform B-spline curve in R 3 Cartesian space. Depending on these key knots P i obtained, we can find the resolutions of control points d i by the use of formula (23), which ensures that the curvatures at the beginning and the terminal points of the B-spline curve are zero to avoid the curve changing violently. e values of key knots P i and control points d i are filled in Table 2. (3) Using the control points d i obtained, interpolations can be carried out between ever two key knots with cubic B-spline curves. According to B-spline interpolation formula (17), the interpolation functions of cubic B-spline curves can be obtained as below.

Mathematical Problems in Engineering
When the variable u changes within the range [0,1], series of interpolated points of cubic B-spline curves can be obtained. Connecting these interpolated points, we can get three cubic B-spline curves which must pass through the key knots P 1 , P 2 , P 3 , and P 4 , as can be seen in Figure 4. It is obvious that curve r 1 (u), curve r 2 (u), and curve r 3 (u) are C 3 continuous, respectively, according the above functions. It can also be verified that the whole spline composed of these three B-spline curves is C 2 continuous at the key knots P 2 and P 3 . As seen in function (27), the second derivative of r 1 (u) with u � 1 is equal to the second derivative of r 2 (u) with u � 0. That is, the whole spline is C 2 continuous at the knots P 2 . Similarly, the second derivative of r 2 (u) with u � 1 is equal to the second derivative of r 3 (u) with u � 0 in function (28), and the whole spline is C 2 continuous at the knots P 3 . us, the whole B-spline r(u) is C 2 continuous:

Key orientations
Quaternions

Exponents of quaternion, e ni θi
Control points d i

Interpolated points P(t) in R 3 by B-spline curve
Mapping formulas from R 3 to S 3 Interpolated quaternions Q(t) Ends Logarithms being taken According to equation (5), the interpolated quaternion can be marked as the below equation to explain the continuity of interpolation quaternion clearly: In function (29), on the left side of the equation is the interpolated quaternions. On the right side of the equation is the exponential form of interpolated B-spine. Exponent is taken for r(u), and the new function obtained would have the same order continuity as r(u). Because r(u) in the case study described above is C 2 continuous, especially at the key knots P 2 and P 3 showed above, exp[r(u)] is surely also C 2 continuous at same knots points as checked by following equations: e right side of equation (29), exp[r(u)], is C 2 continuous. en, the left side of equation (29), Q(u), must be C 2 continuous because the continuity on the left and right sides of the equation is the same. So, the interpolated quaternions are C 2 continuous, which is demonstrated with detail in Section 6. (4) According to formula (11), these interpolated points of B-spline curves in R 3 Cartesian space can be mapped to the unit quaternions in S 3 space. us, we eventually complete the orientation interpolations of unit quaternion. Taking u � 0, 0.2, 0.5, 0.8, and 1 partly as examples, the relevant data of the quaternion interpolations are listed in Tables 3-5, respectively.
As can been seen in Table 3, when the variable u is equal to 0 and 1, respectively, the interpolated quaternion is [0.866, 0, 0, 0.5] and [0.924, 0, 0.383, 0] correspondingly, which are precisely the values of the quaternions corresponding to the first and second key orientations.
In Table 4, when the variable u is equal to 0 and 1, respectively, the interpolated quaternion is [0.924, 0, 0.383, 0] and [0.707, 0.707, 0, 0], which are precisely the values of the quaternions corresponding to the second and third key orientations.
Similarly, in Table 5, when the variable u is equal to 0 and 1, respectively, the interpolated quaternion is [0.707, 0.7071, 0, 0] and [0.707, 0.211, 0.422, 0.527] which are precisely the values of the quaternions corresponding to the third and fourth key orientations. e results are consistent with the expected values of interpolation theory proposed.
When we take evenly 50 times variable u within the range of [0,1], we can get 150 unit quaternions among the three segments of interpolation. In consideration of paper space, only partial interpolation data are listed in the above tables. By now, quaternion orientation interpolation ends.

Comparison and Discussion
In order to compare with the proposed quaternion interpolation methodology, the most commonly used quaternion interpolation methods SLERP and SQUAD described in the previous section are applied for the same case study above as well. e results of the research and analysis below reflect there are more or less deficiencies for these two methods to be used in multiorientation quaternion interpolation. e comparison and analysis mainly focus on these items: quaternion interpolation curve, rotation angle routing, angular velocity routing, angular acceleration routing, and rotating axis trajectory. e detailed comparison and analysis process are as follows.

Quaternion Interpolation Curves by Proposed Methodology, SQUAD and SLERP.
Unit quaternion belongs to S 3 space and can be turned by Hopf Mapping to the vector in S 2 space [23], which is on the surface of unit sphere in Cartesian space.
en, the interpolated unit quaternions of end-effector orientation can be plotted graphically for observation. By this way, we can intuitively draw the interpolation trajectory diagram for the interpolated four-dimensional unit quaternions on the unit sphere in three-dimensional space. Figure 5 shows the quaternion interpolation curves for the above study case obtained by the methods of proposed methodology, SQUAD and SLERP, respectively.
In Figure 5(a), we can see the whole quaternion interpolation curve by proposed methodology is continuous and smooth. ere is neither sharp point nor broken point even at the segment connecting points k 2 or k 3 , which means the proposed multiorientation quaternion interpolation is reasonable. e same is shown in Figure 5(b) by the SQUAD method. However, we cannot tell whether the proposed methodology or SQUDA is C 2 continuous only from the quaternion interpolation curves. Because both of their quaternion interpolation curves seem smooth enough in appearance, further analysis and discussion are needed in below section.
As for the method SLERP, the situation becomes a little simpler. We can clearly see that sharp points occur at the segment connecting points k 2 or k 3 in Figure 5(c) by SLERP.
is result fully shows that the quaternion interpolation of SLERP for multiple orientations is not smooth despite being continuous and will bring violent impacts and shocks to end-effector. So, we can immediately come to a conclusion that SLERP is not suitable for multiorientation quaternion interpolation.

Rotation Angle Routings by Proposed Methodology, SQUAD and SLERP.
We can get the values of rotation angle, angular velocity, and angular acceleration according to these three interpolation formulas above. Figure 6 shows rotation angle routing curves of the above study case obtained by the methods of proposed methodology, SQUAD and SLERP, respectively. e angle curve in Figure 6(c) has sharp points θ c1 and θ c2 , which implies the curve is continuous but not smooth enough and rotation angle arrangement is not reasonable. e defect led by unsmooth rotation angle planning of multiorientation interpolation of SLERP is more obvious in later analysis. e curves in Figures 6(a) and 6(b) are very similar in appearance. Both of them look smooth and continuous, which means we cannot judge from rotation angle routing curves which one is the better choice in proposed methodology and SQUAD. Analysis below is needed.

Angular Velocity Routings by Proposed
Methodology, SQUAD and SLERP. Angular velocity routing curves of these three methods for the case are shown in Figure 7. ere are very obvious broken angular velocity points ω c1 and ω c2 in Figure 7(c), which shows clearly that jump changes take place in angular velocity and will bring violent impacts and shocks harmful to industrial robots. Figure 7(c) demonstrates exactly once more that SLERP is not suitable for multiorientation quaternion interpolation. e angular velocity routing curves in Figure 7(a) and 7(b) are still similar. Because both of them are continuous and have no obvious sharp point, it is still difficult to determine which one is better in the proposed methodology and SQUAD by angular velocity.

Angular Acceleration Routings by Proposed
Methodology, SQUAD and SLERP. Angular acceleration routing curves of these three methods for the case are shown in Figure 8. e angular acceleration routing curve in Figure 8(a) obtained by proposed methodology is continuous while the curve in Figure 8(b) by SQUAD is broken by the points ε c1 and ε c2 . In other words, the quaternion interpolation SQUAD for multiple orientations is not C 2 continuous and the angular acceleration is discontinuous, which will also lead to violent shocks and impacts more or less and degrade the working   performance and service life of industrial robot as well. erefore, SQUAD is not perfect quaternion interpolation for multiple orientation. e angular acceleration routing curves in Figure 8(c) obtained by SLERP are discontinuous expectedly. e previous analysis has made it very clear that SLERP is not suitable for multiorientation quaternion interpolation.
Up to now, we can tell evidentially that the proposed methodology is superior to SLERP and SQUAD in multiorientation quaternion interpolation.

Rotation Axis Trajectories by Proposed Methodology, SQUAD and SLERP.
We can also observe which method is more advantageous from rotation axis trajectories as shown in Figure 9. e rotation axis trajectory curve is from the starting orientation to the ending orientation of end-effector during the whole orientation planning. e rotation axis trajectory by the proposed method in Figure 9(a) is smooth enough. Although the rotation axis trajectory curve by SQUAD in Figure 9(b) is continuous and smooth, we can still observe that the rotation       14 Mathematical Problems in Engineering axis trajectory curve by proposed methodology in Figure 9(a) is more fluid. Moreover, the rotation axis trajectory by SLERP in Figure 9(c) has apparent sharp points n 2 and n 3 at the connecting corners and is obviously not smooth. It can be concluded as well that SLERP is not suitable for multiorientation quaternion interpolation, and proposed methodology is more advantageous than SQUAD and SLERP in multiorientation quaternion interpolation.

Conclusions
High-order continuous orientation planning is beneficial to working performance and service life of robot end-effector. However, the most commonly used quaternion interpolation algorithms, SLERP and SQUAD, cannot guarantee C 2 continuity of multiorientation interpolation planning. When SLERP is applied for quaternion multiorientation interpolation, it will generate intermittent angular velocity and angular acceleration at the connecting point, which will bring additional impacts and vibrations to the robot and is very harmful to the working performance of robots. When SQUAD is employed for quaternion multiorientation interpolation, it will also produce discontinuous angular acceleration at the connection point, which will also lead to additional shocks and vibrations more or less and are not conducive to the robot's work either. erefore, SLERP and SQUAD are not suitable for quaternion multiorientation planning of robot end-effector. e proposed quaternion interpolation method with the cubic B-spline curve based on logarithmic quaternion is able to guarantee C 2 continuity. When the proposed method is applied to the multiorientation planning of robot end-effector, the planned angular velocity and angular acceleration are both continuous and smooth avoiding additional impacts and vibrations unfavourable for robot working. By the way, in the procedure of reversely finding control points of the cubic B-spline curve, the constraint function condition is that the curvatures at the beginning and the terminal knots of the B-spline curve are set to zero. It helps the quaternion interpolation become smoother and sleeker. Moreover, the formula expression of the proposed methodology is concise and its application is simple and convenient. e study case verified the C 2 continuity of quaternion interpolation and its rationality. erefore, it is suitable for quaternion multiorientation planning of robot end-effector. Furthermore, the proposed methodology can be extended to multiorientation quaternion interpolation with higher continuity than the second order.
Data Availability e study case data used to support the findings of this study are available within the article and can be obtained upon request to the corresponding author as well.

Conflicts of Interest
e authors declare that they have no conflicts of interest.