Abstract
The dual quaternion is the simplest and most effective mathematical tool to describe the translational and rotational motion of a general rigid body. Its computation and updating require screw vector. The relative pose information need to be updated when measuring the pose of the rigid body. In the traditional algorithm, it generally focuses on attitude updating, but less research on position updating. The rotation vector algorithm is used to represent the quaternion to update the attitude of the rigid body, but it cannot update the position. Because any general rigid body motion can be realized by rotation about a certain axis and translation along this axis, this article proposes an algorithm to update the position and attitude of the rigid body’s relative motion based on the screw vector. The rotation vector and screw vector are introduced in the rigid body motion and update the quaternion and dual quaternion, respectively; then, the relative pose information of the leader–follower rigid body based on the screw vector algorithm is deduced. The single-sample, two-sample, and three-sample algorithms are compared and simulated, and the simulation results show that this method not only overcomes the deficiencies associated with the separate updating of position and attitude using a traditional algorithm but also has higher precision than the traditional algorithm.
Introduction
Chasles’ theorem shows that any general rigid body motion can be achieved by rotation about a certain axis and translation along that axis, which is also called screw motion. 1 The simplest and most effective mathematical tool to describe the screw motion is the dual quaternion which is developed on the basis of dual number. Dual number was invented by Clifford 2 and further developed by Kotelnikov 3 and Study. 4 Kotelnikov and Study proposed the “principle of transference”; in accordance with this principle, all the vector or quaternion formulas and equations of the theory of finite rotations and the kinematics of the rotational motion of a rigid body can be replaced by bivector or biquaternion formulas and equations of the theory of finite displacements and the kinematics of the motion of a free rigid body. For example, in the study of Chelnokov, 5 the integration of kinematic equations of a rigid body’s screw motion was proposed. The dual quaternions have important applications in many fields. In robotics field,6–12 Daniilidis 6 applied a dual quaternion in the robotic hand–eye calibration, and Antonio and Renata 7 presented a dual quaternion methodology to kinematically synthesize constrained robotic systems. In the study of Zhou et al., 10 a new forward kinematic algorithm based on dual quaternion for a 6-degree-of-freedom (DOF) general Stewart platform is proposed. In the study of Yang et al., 11 a dual quaternion solution to the forward kinematics of a class of 6-DOF parallel robots with full or reductant actuation is presented. In Chelnokov’s study, 12 a biquaternion solution of the kinematic control problem for the motion of a rigid body was addressed. In aerospace field,13–18 Wang et al. 13 established the relative coupled dynamic model based on the dual quaternion, where the coupling effect between translational and rotational motion was indicated. Wu et al. 14 addressed the synchronized control problem of relative position and attitude for spacecraft with input constraint. In the work of Gui and Vukovich, 17 an adaptive controller was developed by combining the proportional–derivative (PD) controller with an adaptive algorithm, which provided estimations of unknown parameters and disturbances. In addition, in the application of human motion, Ji et al. 19 presented an algorithm for human motion capture of the real-time motion trajectory of human arms based on the dual quaternion with motion tracker, and Kavan et al. 20 presented a new skinning algorithm based on a linear combination of dual quaternions. In strapdown inertial navigation field, in 1992, Branets and Shmyglevsky 21 devised a Picard-type recursive integration algorithm based on dual quaternion to solve the differential kinematic equations. Panov 22 devoted to mathematical foundations of the theory of inertial attitude control. Chelnokov23–26 presented the equations and algorithms of inertial navigation based on quaternion and biquaternion. Wu et al.27,28 applied the dual quaternion to sins and updated the attitude and velocity of the carrier using the dual quaternion updating algorithm; the algorithm is an extension of the traditional rotation vector method. Wang et al. 29 proved the superiority of the attitude and gravitational velocity algorithm based on the dual quaternion compared to that based on the rotation vector in accuracy. However, the dual quaternion had fewer applications in updating the relative position and attitude of the rigid body.
Using the rotation vector to derive the differential equation of rigid body rotation, the angular increment method can cause a non-commutativity error. To reduce this error, the equivalent rotation vector algorithm is commonly used to correct the attitude to improve the attitude angle resolution, 30 which is based on the idea of rotation vector theory. When more angular increment sub-samples are included in an update cycle, the attitude calculation is more accurate. The equivalent rotation vector method can be divided into two steps: rotation vector calculation and quaternion update. In the traditional algorithm, the quaternion and rotation vector algorithm are generally used in the rigid body attitude estimation.31–33 However, the method can update only the attitude of the rigid body but not the position of the rigid body. The dual quaternion is the simplest and most effective mathematical tool to describe the general rigid body motion, and its updation and calculation require the screw vector method. When there is a continuous finite rotation of a rigid body around the axis, the angular displacement of the rigid body is related to the order of rotation; then, there is a non-commutativity of rotation, which is consistent with the non-commutative multiplication of the dual quaternion. The dual quaternion can well describe the line movement of a rigid body, so the screw vector algorithm can be applied to update the relative position and attitude of the rigid body. The screw vector algorithm is introduced in rigid body motion. When the algorithm is used to update the dual quaternion, the relative position and relative attitude updating algorithms based on the screw vector are deduced.
In this article, the rotation vector based on the quaternion and the screw vector based on the dual quaternion are combined. First, the rotation vector method is used to update the attitude quaternion of the leader rigid body relative to the inertial coordinate system. Then, the screw vector algorithm is used to update the dual quaternion of the follower rigid body relative to the inertial coordinate system. Finally, the relative position and relative attitude updating algorithms of the leader–follower rigid body are established based on the dual quaternion.
Mathematical preliminaries
Dual number
The concept of dual number was first proposed by Clifford 2 as follows
where the two parts of a dual scalar are termed as the “primal” and the “dual,” the latter being multiplied by the dual unit
Screw vector
The axis of rotation in the screw motion is called the screw axis. As shown in Figure 1, the rigid body moves from position

Screw transformation of a rigid body.
The motion of a rigid body is similar to the motion of a bolt and a nut, so it is called the screw motion. It can be described by a screw vector, which is defined as
where
By formula
So it is satisfied
Dual quaternion
According to the principle of transference,3,4 a dual quaternion can be described as dual numbers, as defined by
In equation (5), both the real part
The quaternion can be represented by a rotation vector; similarly, the dual quaternion can be expressed by a screw vector as follows
When the scalar numbers of dual quaternion
The relationship between translation and rotation in Figure 1 is as follows
where
Relative position and relative attitude update of the leader–follower rigid body
Model establishment
Because the function of the model is to describe the relative position and attitude, it is necessary to select a coordinate system as the reference. Therefore, the primary task of modeling is to determine the reference coordinate system of the model. It is necessary to obtain the position increment and the angle increment of the rigid body when calculating the position and attitude of the follower rigid body relative to the leader rigid body, while the relative position increment is the centroid of the follower rigid body relative to the centroid of the leader rigid body; and the description of angle increment of the rigid body is the simplest relative to the inertial coordinate system. Therefore, as shown in Figure 2, we choose the inertial coordinate system I whose origin coincides with the leader rigid body as the reference coordinate system to model.

Transformation between coordinate systems.
It is assumed that the angular velocity vector of the leader rigid body relative to the inertial system I is represented in the leader rigid body’s coordinate system as
At the initial time, the dual quaternion of the position and attitude of the follower rigid body relative to the inertial system is as follows
Considering that the coordinate system of leader rigid body has no translation relative to the inertial system, only the relative attitude, the dual quaternion of position and attitude of the follower rigid body relative to the leader rigid body is
In order to obtain the dual quaternion
where
And the kinematics equation of leader rigid body relative to the inertial system I is as follows
Attitude update of the leader rigid body
Because the centroid of the leader rigid body coincides with the origin of the inertial coordinate system I, as shown in Figure 2, the leader rigid body coordinate system has no translation relative to the inertial coordinate system (only the rotation). The leader rigid body has only attitude updating and no position updating. The attitude quaternion of the leader rigid body in the update period is
where
The rotation vector
where
If a constant is used to fit the angular velocity, a single-sample algorithm for the rotation vector is obtained, and the corresponding rotation vector is
If a straight line is used to fit the angular velocity, a two-sample algorithm for the rotation vector is obtained, and the corresponding rotation vector is 22
where
If a parabola is used to fit the angular velocity, the angular velocity is sampled three times in one update period. Then, a three-sample algorithm for the rotation vector is obtained, and the corresponding rotation vector is 22
where
The solution procedure is as follows: first, substitute
Position and attitude update of the followerrigid body
Because the follower rigid body coordinate system relative to the leader rigid body coordinate system has both translation and rotation, as shown in Figure 2, the follower rigid body has both an updated position and an updated attitude relative to the leader rigid body. Therefore, using the analogy principle, similar to the rotation vector method, the position and attitude dual quaternion is updated using the screw vector algorithm.
The dual quaternion update formula is
where
where
The calculation shows that the screw vector algorithm is consistent with the rotation vector algorithm, so the formula for the single-sample screw vector algorithm is
The formula for the two-sample screw vector algorithm is
The formula for the dual angular increment is
where
where
The algorithm for the three-sample screw vector is
The dual angle increment is
From formula (27), it can be seen that the updating of the leader rigid body needs to calculate the dual angular velocity
From formula (28), we can see that the calculation of
Formula (29) takes the derivative of the time, and the following formula is acquired
If formula (30) is substituted into formula (25), the following expression is acquired
Using formulas (22)–(31), the screw vector
Relative position and relative attitude updating algorithm of the leader–follower rigid body
When
where
The position vector
In this article, the relative position and attitude model of the leader–follower rigid body based on the dual quaternion and the position and attitude update using the screw vector algorithm are established. Then, the relative position and attitude information of the follower rigid body relative to the leader rigid body is obtained by calculation.
Simulation results
In this article, taking the moving rigid body in three-dimensional space as an example, according to the formulas (22)–(31), the screw vector for single-sample, two-sample, and three-sample can be obtained, then the updated dual quaternion
Figures 3 and 4 show the relative attitude and position error curves when the single-sample screw vector algorithm is used. Figures 3 and 4 show that the position error of the single-sample screw vector algorithm is 10−2 m, the attitude error of

Single-sample attitude error of screw vector algorithm.

Single-sample position error of screw vector algorithm.

Two-sample attitude error of screw vector algorithm.

Two-sample position error of screw vector algorithm.

Three-sample attitude error of screw vector algorithm.

Three-sample position error of screw vector algorithm.
It can be seen from Figures 7 and 8 that although the three-sample screw vector algorithm satisfies the accuracy requirements, the position and attitude error curves are divergent. Taking the position error modulus curve as an example, the simulation time is increased to 1.0 × 105 s. The simulation figure is as follows.
As can be seen from Figure 9, the position error diverges very slowly. After 1.0 × 105 s, the error does not exceed 5 × 10−3 m, so the error is completely acceptable. It can meet the requirements of pose estimation accuracy.

Curves of three-sample position error norm.
To further confirm the validity of the algorithm and its derivation, MATLAB (MathWorks Inc.) was employed to simulate and calculate the relative attitude calculated by the quaternion attitude model, and the three-sample rotation vector algorithm in the study of Pittelkau 32 was adopted in the simulation to compare with the algorithm in this article. We assume that the same initial value of the attitude quaternion is used, and the following results were achieved.
Figure 10 shows the relative attitude error curves that were obtained using the three-sample rotation vector algorithm. The figure shows that the attitude error of

Three-sample attitude error of rotation vector algorithm.
It can be seen from the above simulation that the accuracy of three-sample screw vector algorithm is not only higher in the pose accuracy than those of the other sub-samples but also has higher accuracy than the rotation vector algorithm in the attitude accuracy. The single-sample screw vector algorithm does not consider the non-commutativity error of the rigid body, so the divergence speed is faster. Therefore, it is hardly used in practical engineering applications, even though its computation cost is very small. The accuracy of the two-sample screw vector algorithm is obviously improved and can be applied to some engineering practices, but the divergence speed is faster and it is not suitable for long-term operation. Compared to the two-sample screw vector algorithm, the three-sample screw vector algorithm can better deal with the influence of rigid body non-commutativity error on position and attitude, so it is more accurate than other sub-sample screw vector algorithm. Compared to the single-sample and two-sample screw algorithms, although the position and attitude errors of the three-sample screw vector algorithm increased, the divergence is very slow. Even after a long period of operation, it can meet the requirements of pose estimation accuracy. However, compared to the rotation vector algorithm, the screw vector algorithm can consider the updating of position and attitude uniformly, and the attitude accuracy is higher than that of the rotation vector algorithm, but the computation amount is also correspondingly larger, which will affect the fastness and real-time performance of the algorithm. In practical engineering applications, the appropriate sub-sample and algorithms should be selected according to the accuracy, fastness, and real-time performance of the algorithm.
Conclusion
In this article, the screw vector algorithm, which is applied in the strapdown inertial navigation system in the traditional algorithm, is used to update the relative position and attitude of the moving rigid body. The rotation vector and screw vector are introduced in the rigid body motion to update the quaternion and dual quaternion, respectively; then, the relative position and attitude information of the leader–follower rigid body based on the screw vector algorithm is deduced. First, the rotation vector method is used to update the attitude quaternion of the leader rigid body relative to the inertial coordinate system. Then, the screw vector algorithm is used to update the dual quaternion of the follower rigid body relative to the inertial coordinate system. Finally, the relative position and attitude updating algorithm of the leader–follower rigid body is established based on the dual quaternion. The simulation results show that the three-sample algorithm not only overcomes the deficiencies associated with the separate updating of position and attitude but also improves the non-commutativity error compared to the single-sample and two-sample algorithms. At the same time, it has higher accuracy than the rotation vector algorithm in the attitude accuracy. In the next study, we need further research on the real-time and validity performance of the algorithm.
Footnotes
Handling Editor: Crinela Pislaru
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the Supporting Fund for Teachers’ Research of Jining Medical University (no. JY2017 KJ052).
