1. Introduction
Robots are increasingly present in our daily lives, with their many uses ranging from simple vacuuming devices to complex manufacturing robotic arms. This growth is sustained by the continuous development of faster and better software and hardware, as well as strong theoretical advances in the areas of kinematics, dynamics, computer vision, sensing, etc. The space industry, owing to obvious reasons having to do with the unfriendliness of the space environment to humans, relies heavily on the use of robotics systems. In fact, interplanetary robotic exploration is at the core of NASA’s Jet Propulsion Laboratory, and a wide variety of companies and governmental agencies are currently developing space-rated robotic manipulation systems for on-orbit satellite servicing [
1,
2].
The field of robotics is a well-established one. Lately, in the field of fixed-base robotics, progress in the area of kinematics and dynamics has mainly focused on ease of use, and speed and performance improvements [
3,
4]. The combination between the study of robots and their use in space, i.e., space robotics, must find common ground between the techniques used in both. For example, quaternions are the representation of choice when it comes to attitude parameterization for spacecraft control and estimation, while
and the Spatial Vector Algebra [
5] are the dominant tools of choice in the fixed-base robotic community. Therefore, with the recent advent of dual quaternions, it is only natural to explore the use of a pose (i.e., position and attitude) representation tool for spacecraft control and estimation in order to study robotic systems mounted on a spacecraft.
Dual quaternion algebra is an extension of the well-known quaternion algebra. The former is used to study rigid body pose while the latter is used extensively to study just the attitude of a rigid body. Dual quaternions have recently seen a proliferation in their use for spacecraft control [
6,
7,
8,
9]. Several factors have contributed to the recent interest in dual quaternions in spacecraft control. First, the similarities between quaternion and dual quaternion-based spacecraft controllers and estimators [
10] make dual quaternions an appealing tool for the practitioner who is familiar with the (standard) quaternion algebra. Next, dual quaternions naturally encode position information, thus avoiding the artificial separation of rotational and translational motion during control, which becomes essential during proximity operations or robotic servicing missions. More recently, dual quaternions have been used extensively for the dynamic modeling of ground-based robotic manipulators, providing an even stronger argument towards their use for dynamic modeling of spacecraft-mounted robotic manipulators [
11].
While dual quaternions have been used for serial robot kinematic design [
12,
13,
14], and for kinematic manipulation of points, vectors, lines, screws and planes [
15], few references incorporate velocity information into their study of kinematics. Leclercq et al. [
16] studied robot kinematics in the context of human motion using dual quaternions, yielding one of the most complete references to study kinematic chains with dual quaternions. More recently, Quiroz-Omaña and Adorno [
17] have made use of dual quaternions in the context of robotic manipulation on a non-holonomic base. The methodologies exhibited in [
16,
17], however, do not take advantage of the well-known and convenient dual quaternion expression for kinematics, which could avoid manually taking time derivatives of pose expressions. A possible reason for this is the lack of a systematic manner to represent the combined linear and angular velocities of joints in dual algebra, and instead relying on the explicit derivative of pose-like expressions.
Works in the fields of dynamics and spacecraft control have settled on an understanding of the construction of dual velocities [
18,
19], which can be extended to provide generic expressions for the dual velocities of rigid bodies, or even of the different types of joints that may appear in a serial kinematic chain. In fact, Özgür and Mezouar [
20] make use of said representation of dual velocity, commonly given by an expression of the form
, to perform kinematic control on a robotic arm, yielding a clever representation of the Jacobian matrix that uses dual quaternion screws. Their approach, however, has a fixed base and requires the use of base-frame coordinates—as opposed to body-frame coordinates, which are commonly used in the study of spacecraft motion—to describe the Plücker lines associated to the different joints of the system.
Given the significant interest that dual quaternions have garnered in the last decade in the realm of space applications, it is pertinent to contribute to the literature a straightforward treatment of kinematics with an emphasis on space-based robotic operations. In this paper, we aim to extend the study of robot kinematics using dual quaternions, mainly by lifting the condition that the robotic base must be fixed, allowing it instead to move freely in the three-dimensional space. Additionally, we consider the possibility of incorporating different types of joints, and provide the formulas for the dual velocity of each different type of joint. Along the way, we provide some important well-known results, such as the derivation of the famous quaternion kinematic law, and the aforementioned dual quaternion equivalent, as well as a collection of results that capture convex constraints using dual quaternions. While the latter expressions have been used in the field of Entry, Descent, and Landing (EDL), their incorporation in robotic manipulation for in-orbit servicing missions is also extremely beneficial in order to ensure safety and robustness.
This paper is structured as follows:
Section 2 provides the mathematical tools necessary to use quaternion and dual quaternion algebras.
Section 3 provides an overview of the most common kinematic tools in the robotics fields in dual quaternion form.
Section 4 provides the development of the kinematic equations of motion using dual quaternions, and in
Section 5 we provide a brief summary of some important constraint expressions for robotic manipulation cast using dual quaternions. Such constraints arise naturally in many in-orbit servicing missions. Addressing these constraints in a numerically efficient manner (e.g., casting them as convex constraints) leads to safe and elegant solutions of the in-orbit servicing problem.
2. Mathematical Preliminaries
In this section we give an introduction to quaternion and dual quaternion algebras, which provide convenient mathematical frameworks for attitude and pose representations respectively. Next, we provide the theoretical foundations required to study the kinematics of rigid bodies, and in particular how they pertain to serial manipulators.
2.1. Quaternions
The group of quaternions, as defined by Hamilton in 1843, extends the well-known imaginary unit j, which satisfies . This non-abelian group is defined by . The algebra constructed from over the field of real numbers is the quaternion algebra defined as . This defines an associative, non-commutative, division algebra.
In practice, quaternions are often referred to by their scalar and vectors parts as
, where
and
. The properties of the quaternion algebra are summarized in
Table 1. Filipe and Tsiotras [
7] also conveniently define a multiplication between real 4-by-4 matrices and quaternions, denoted by the ∗ operator, which resembles the well-known matrix-vector multiplication by simply representing the quaternion coefficients as a vector in
. In other words, given
and a matrix
defined as
where
and
, then
Since any rotation can be described by three parameters, the unit norm constraint is imposed on quaternions for attitude representation. Unit quaternions are closed under multiplication, but not under addition. A quaternion describing the orientation of frame with respect to frame , denoted by , satisfies , where . This quaternion can be constructed as , where and are the unit Euler axis, and Euler angle of the rotation respectively. It is worth emphasizing that , and that and represent the same rotation. Furthermore, given quaternions and , the quaternion describing the rotation from to is given by . For completeness purposes, we define .
Three-dimensional vectors can also be interpreted as special cases of quaternions. Specifically, given
, the coordinates of a vector expressed in frame
, its quaternion representation is given by
, where
is the set of
vector quaternions defined as
(see Reference [
19] for further information). The change of the reference frame for a vector quaternion is achieved by the adjoint operation, and is given by
. Additionally, given
, we can define the operation
as
For quaternions
and
, the left and right quaternion multiplication operators
will be defined as
where
2.2. Dual Quaternions
We define the dual quaternion group as
The dual quaternion algebra arises as the algebra of the dual quaternion group over the field of real numbers, and is denoted as . When dealing with the modeling of mechanical systems, it is convenient to present this algebra as , where is the dual unit. We call the real part, and the dual part of the dual quaternion .
Filipe and Tsiotras [
7,
8,
19,
21] have laid out much of the groundwork in terms of the notation and basic properties of dual quaternions for spacecraft problems. The main properties of the dual quaternion algebra are listed in
Table 2. Filipe and Tsiotras [
7] also conveniently define a multiplication between matrices and dual quaternions, denoted by the ⋆ operator, that resembles the well-known real matrix-vector multiplication by simply representing the dual quaternion coefficients as a vector in
. In other words, given
and a matrix
defined as
where
, then
Analogous to the set of vector quaternions
, we can define the set of vector dual quaternions as
. For vector dual quaternions we will define the skew-symmetric operator
,
For dual quaternions
and
, the left and right dual quaternion multiplication operators
are defined as
where
Since rigid body motion has six degrees of freedom, a dual quaternion needs two constraints to parameterize it. The dual quaternion describing the relative pose of frame relative to frame is given by , where is the position quaternion describing the location of the origin of frame relative to that of frame , expressed in -frame coordinates. It can be easily observed that and , where , providing the two necessary constraints. Thus, a dual quaternion representing a pose transformation is a unit dual quaternion, since it satisfies , where . Additionally, we also define .
Similar to the standard quaternion relationships, the frame transformations laid out in
Table 3 can be easily verified.
In Reference [
19] it was proven that for a dual unit quaternion
,
and
represent the same frame transformation, property inherited from the space of quaternions. Therefore, as is done in practice for quaternions, dual quaternions can be subjected to properization, which is the action of redefining a dual quaternion so that the scalar part of the quaternion is always positive. Formally, we can define the properization of a dual quaternion
as
where
is the scalar part of
. Just like in the case of quaternions, dual quaternions also inherit the so-called
unwinding phenomenon, first described in [
22], which is most important in control applications.
A useful equation is the generalization of the velocity of a rigid body in dual form, which contains both the linear and angular velocity components. The dual velocity of the
-frame with respect to the
-frame, expressed in
-frame coordinates, is defined as
where
and
,
and
are respectively the angular and linear velocity of the
-frame with respect to the
-frame expressed in
-frame coordinates, and
, where
is the position vector from the origin of the
-frame to the origin of the
-frame expressed in
-frame coordinates. In particular, from Equation (
14) we observe that the dual velocity of a rigid body assigned to frame
with respect to an inertial frame
, expressed in
-frame coordinates is given as
. However, if we wanted to express this same dual velocity in inertial frame coordinates, as per Equation (
14) we would get
. We will formally introduce frame transformations next.
2.3. Frame Transformations Using Dual Quaternions
As is common in the study of kinematics, frame transformations are vital for the determination of velocities and accelerations with respect to different frames. A dual velocity, or dual acceleration, can be described by a dual vector quaternion
expressed in
-frame coordinates as
, where
. As noted for Equation (
14), frame transformations are given by the adjoint operation as
By the definition of the cross product of two quaternion quantities given in
Table 1, we get that
Analogously, the transformation of a dual vector
can be easily derived using the procedure described above to be:
As is standard notation, we can define the group adjoint operation for
unit dual quaternions as
Therefore, using this notation, the frame transformations derived above can be cast as
The power of dual quaternions goes beyond the ability to represent pose and transform dual velocities and accelerations. In fact, dual quaternions can natively—without constructs that fall outside the algebra—encode the most typical geometric objects such as points, lines and planes. The reader is referred to the literature to find such parameterizations and the correct dual quaternion transformation [
15,
16].
2.4. Derivation of Fundamental Kinematic Laws
In this section we will derive both the quaternion and dual quaternion kinematic laws. We will make the time dependence explicit only when necessary for clarity.
The three-dimensional attitude kinematics evolve as
where
and
is the angular velocity of frame
with respect to frame
expressed in
-frame coordinates. On the other hand, the dual quaternion kinematics can be expressed as [
7]
Lemma 1. The attitude of a rigid body evolves as , as stated in Equation (20). Proof. Denote the infinitesimal rotation about axis
by
. The quaternion that represents this rotation is constructed as
. Therefore,
. Then, for a small rotation angle,
. Substituting into the previous expression for
, we obtain
Manipulating the expression and dividing by
, we obtain
and invoking the limit as
yields
where we have defined the angular velocity as
, i.e., the rate of rotation about the instantaneous Euler axis. ☐
Lemma 2. The pose of a rigid body evolves as , as stated in Equation (21). Proof. Taking the derivative of
we get
where we used the fact that
. Using the definition of the cross product, we know that
. Evaluating this cross product into the above expression yields
proving the desired result. ☐
Remark 1. The spatial kinematic equation can be immediately derived as a direct consequence of the adjoint transformation equation , which implies .
Remark 2. The spatial kinematic equation can be immediately derived as a direct consequence of the adjoint transformation equation , which implies .
5. Convex Constraints Using Dual Quaternions
When performing robotic operations, the incorporation of constraints is important where the safety of users, or a payload, is concerned. The dual quaternion framework is amenable to the incorporation of several convex constraints, which are of particular interest due to the availability of specialized codes to solve convex problems efficiently. The following presentation of convex constraints could be used in combination with a control approach such as the one proposed in [
11], which is based on the differential dynamic programming algorithm.
In [
27], the authors use dual quaternions as a pose parametrization representation to model convex state constraints for a powered landing scenario. In this section, we repurpose these same constraints for a space robotic servicing mission. The dual quaternion-based constraints will be provided without proof of convexity, since this is done in [
27]. However, some properties of quaternions and some definitions are in order for a proper description of the results.
Lemma 4. Given the quaternion and quaternions and , the following equalities hold: Proof. Using the definition of the quaternion dot product given in
Table 1, the expression on the left becomes
The second equality can be proven in the same manner. ☐
For the following facts, let us define
and
Lemma 5. Consider the dual quaternion . Then,
Proof. By definition, . By the unit norm constraint of the unit quaternions and applying Lemma 4 on the second summand, , from which the result follows. ☐
Lemma 6. Consider the dual quaternion . Then, .
Proof. Using the definition of , we have . The result follows from the unit constraint of a unit quaternion. ☐
Lemma 7. Consider the dual quaternion . Then, .
Proof. Using the definition of , we have . The result follows from application of Lemma 4. ☐
Lemma 8. Consider . Then, .
Proof. From Lemma 5, it follows that . ☐
Corollary 1. Given the bound , it follows that , which is a closed and bounded set.
It is worth emphasizing that in Lemmas 5 and 8 the bijective mapping between the circle product and the real-line is implied. In other words, since the circle product between two dual quaternions for some , it will be commonly interpreted as for simplicity of exposition.
We are now ready to introduce three types of constraints in terms of dual quaternions:
Line-of-sight constraints.
Approach slope angle constraints, of which upper-and-lower bound constraints is a re-interpretation of the geometry.
Body attitude constraint with respect to an inertial direction.
For this, we will use notation consistent with [
27]. Additionally, we require two auxiliary frames. We will define
as fixed on a gripper, and
as fixed on the target (say, an asteroid, or an object of interest) to be captured.
Proposition 1. Consider the domain . The line of sight constraint depicted in Figure 5 can be encoded asand it requires that the angle between and remains less than θ. Using dual quaternions, this constraint can be equivalently expressed aswhereand it is convex over . Proposition 2. Consider the domain . The approach slope constraint depicted in Figure 6, and the upper-and-lower bounded approach constraint depicted in Figure 7, can be encoded asand it requires that the angle between and remains less than ϕ. Using dual quaternions, this constraint can be equivalently expressed aswhereand it is convex over . Proposition 3. Consider the domain . The attitude constraint depicted in Figure 8 can be encoded asand it requires that the angle between the inertially fixed vector and the body fixed vector remains less than ψ. Using dual quaternions, this constraint can be equivalently expressed aswhereand it is convex over . 6. Conclusions
In this paper we have explored the use of dual quaternions for robot modeling. In particular, the main contribution of this paper is a generalizable framework to capture the kinematics of spacecraft-mounted robotic manipulators using a dual quaternion approach. We took a bare-bones approach that built up to a convenient description of the end-effector’s dual velocity, making use of a more intuitive forward kinematics methodology than the existing methods in the literature. Previous works on robot kinematics using dual quaternions provided either strict geometry-dependent approaches or were only applicable to fixed-base robots. The work presented herein is highly relevant in combination with the latest literature in dynamic modeling of robot manipulators using dual quaternions. Additionally, in our study of kinematics, we developed a convenient and simple-to-implement representation of the body-frame Jacobian matrix. The proposed form of the Jacobian exploits a convenient matrix representation of the adjoint dual quaternion transformation so that, in combination with the newly proposed form of the screw matrix, it avoids the artificial separation of the contribution by the generalized speeds of a given joint. Finally, we have provided a summary, and re-interpretation, of several existing results on the topic of dual quaternions, emphasizing their applicability on spacecraft-mounted robots. These included results on the exponential and logarithmic maps, an exposition on the use of the DH parameters, and finally the casting of the dual quaternion representation of constraints (originally developed for EDL purposes) interpreted in the context of a gripper-target system on-board a spacecraft.
Future work in this area will aim at implementing kinematic control laws for end-effector pose control when the based is not fixed to an inertial reference frame. This should be possible by following the steps in Özgür and Mezouar [
20], and through the use of the Generalized Jacobian Matrix [
28].