Open access peer-reviewed chapter

Kinematics for Spacecraft-Type Robotic Manipulators

Written By

Ijar Milagre da Fonseca, Maurício Nacib Pontuschka and Glaydson Luiz Bertoze Lima

Reviewed: 05 March 2019 Published: 23 May 2019

DOI: 10.5772/intechopen.85636

From the Edited Volume

Kinematics - Analysis and Applications

Edited by Joseph Mizrahi

Chapter metrics overview

960 Chapter Downloads

View Full Metrics

Abstract

The scope of this chapter is the study of the forward and inverse kinematics for a space robot. The main focus is to compute the position and orientation of manipulators’ end-effectors relative to their platform. Such platform plays the role of workstations referred in the literature approaching ground manipulators. In this study, the method is to write the manipulator kinematics’ equations as functions of the joint variables by following the Denavit-Hartenberg convention. The homogeneous transform technique is used to study the kinematics. The set of coordinate frames defined in this chapter follows the convention for frames that appears in the literature for ground robot manipulators. The kinematics related to the spacecraft attitude is added in the formulation because the manipulator studied in this chapter is type spacecraft. The objective is to provide an overview and clear understanding of the kinematics’ equations for spacecraft-type manipulators. To be consistent with orbital dynamics area, the inertial, orbital, and body-fixed coordinate frames are included in this kinematics study. The forward and inverse kinematics formulations are derived. The MATLAB®/Simulink tools are presented for the computer simulations of the forward and inverse kinematics.

Keywords

  • space robot manipulators
  • forward kinematics
  • inverse kinematics
  • attitude
  • orbit

1. Introduction

Kinematics is mainly concerned with the geometry of motion. The subject of kinematics is to some extent mathematical and does not consider any forces associated with the motion. A comprehensive study of kinematics is a prerequisite to the successful formulation of the equations of motion and the dynamic analysis. Consistent with the geometry of motion, kinematics involves the definition of systems of reference, methods of establishing relationships between frames, and algebraic manipulations of matrices and vectors. Kinematics is primarily concerned with describing the orientation of a body with respect to a known reference or coordinate frame. When dealing with robotic manipulators, we have to include also translational kinematics. In this chapter, the calculation goes beyond the algebraic manipulations of rotation matrices connecting frames. This includes the derivation of the equations for the rotational and the translational kinematics that characterize robot manipulators’ kinematics. Space robotic manipulators are designed to implement orbital operations. There is a considerable difference regarding Earth-based manipulators, as they increase the type and number of reference systems for proper problem formulation [1, 2, 3, 4]. The main differences with regard to Earth-based robotic manipulators are the inclusion of an Earth-centered inertial coordinate frame (ECI), besides the local vertical, local horizontal (LVLH) reference frame, and the spacecraft fixed reference frame. These frames are used to describe the kinematics’ differential equations related to orbit and attitude motions. The other reference frames are typical of those defined for ground manipulators. For space manipulators, we need to consider the relationships between all these reference systems.

Advertisement

2. Forward kinematics of manipulators and D-H convention—homogeneous transforms

Forward kinematics is the problem of computing the position and orientation of the robot tool with respect to a fixed reference frame defined on the base of the space robot. Such manipulators can be seen as a set of links connected in a chain of joints. The joints are points of connection between a pair of links. The joints of a manipulator may be revolute (rotatory), prismatic (sliding), or a combination of both. According to that link to joint configuration, any robot manipulator kinematics can be described in terms of four quantities associated with each link. Two of these quantities describe the link itself. The other two describe the link’s connection to the neighboring link. For revolute joints, the angle θ i is the joint variable, and the other three quantities are fixed link parameters. These parameters are illustrated in Figure 1 as the twist angle α i 1 , the distances a i 1 , and d i . For prismatic joints, the joint variable is d i , while the angle θ i is zero. In this case, α i 1 , and a i 1 are fixed link parameters (see Figure 1). The description of manipulators by these quantities is referred as the Denavit-Hartenberg convention, denoted here as D-H [5, 6]. The understanding of those four quantities requires the frame convention shown in Figure 2. The frames are denoted by the symbol {}, for example {i-1} denotes a frame whose origin is in joint i-1. A summary of the link parameters considering frames convention shown in Figure 2 can be written as:

  • a i is the distance measured along x-axis from z i to z i + 1

  • α i is the angle rotation measured about x i from z i to z i + 1

  • d i is the distance measured along z i from x i 1 to x i

  • θ i is a joint angle measured about z i from x i 1 to x i .

Figure 1.

D-H convention showing the notation, joint variable, and parameters.

Figure 2.

Frames, links, and D-H quantities.

The D-H convention describes the manipulator rotational plus translational kinematics by using homogeneous transform. This transform is a 4 × 4 matrix in the form:

p i 1 1 = cos θ i sin θ i 0 p i 1 x sin θ i cos θ i 0 p y i 1 0 0 1 p z i 1 0 0 0 1 p o i 1 = R      i 1 1 p o i 1 0 1 p i 1 E1

The result is p     i i 1 = R p i     i i 1 + p o i 1 and 1 = 1. The subscript o is just to say that the position of the end-effector is given with respect to the origin of the frame R .      i 1 1

The 3 × 3 R      i 1 1 block matrix is related to the rotation between frames i 1 and i by the joint angle θ i . The 3 × 1 vector p o i 1 is related to the end-effector position with respect o the frame i 1 . The advantage of this approach is the use of matrix notation including the position in addition to the orientation.

Such matrix notation facilitates the mathematical formulation in a compact and comprehensive format. Also, the D-H formulation is appropriate to implement problems in the MATLAB® computational environment.

Let us discuss now the manipulation of the frames as defined in Figure 2 and their parameters. The D-H convention considers that all the joint angle rotations take place along z-axis. The rule is the same for the joint variables d i (prismatic joints). In the case of prismatic joints, the joint angle is zero. This convention regarding joint variables along z-axis means that when z-axis is not parallel to the next one, a twist angle rotation α must be done so as to generate a new z-axis parallel to the next one. Angle α can be positive or negative. Another convention applies to the distance a i . Once we have the new z-axis parallel to the next one, the distance a i is determined by drawing a mutual perpendicular line between both z-axes. Such line will determine the distance between the joints and is also the place of a new x-axis. A y-axis completes the right-handed frame (Figure 2). If the line containing a i crosses the z-axis offset of the joint, it defines a distance d i as shown in Figure 2. Finally, we rotate the z-axis by the joint variable θ i and a new frame is generated, taking into account the offset d i .

On the base of the space robot attachment, the O x 0 y 0 z 0 frame or 0 is defined. Note that the frame is i 1 , and for i = 1, this frame is 0 . In the literature of robot manipulators, 0 frame does not move with respect to the space robot platform. Accordingly, the joint associated to {0} is also named joint 0 from which the link 0 connects to the joint 1. It is common to define joint 0 coincident with joint 1. In this case, a 0 is zero. For ground robots, it is common to define O x 0 y 0 z 0 as an inertial frame. However, such definition is not consistent with the concept of inertial frames, mainly when we have space robot orbiting the Earth. For a space robotic manipulator, the O x 0 y 0 z 0 frame is defined with its origin somewhere on the platform and locates the placement of joint zero. Figures 2 and 3 illustrate the frames, joint axes, joint variables, and the other fixed quantities according to the D-H convention.

Figure 3.

Space robot on-orbit configuration and frames.

To include the translation in the same matrix notation, we use the homogeneous transform as shown in Eq. (1).

Before going to the other frames definition for the spacecraft, let us implement the matrix algebra, considering Figure 2. To clarify the procedure to obtain the general expression for the rotational-translational kinematics, let us redefine some frames in Figure 2.

  • Let the frame formed by x i 1 , y i , z i 1 , obtained be a rotation α i 1 about x i 1 , be defined as R ;

  • Consider frame formed by x i 1 , y i 1 , z i 1 translated by a i 1 as Q ;

  • Consider the frame obtained by a rotation θ i and parallel to frame i as P ;

  • Consider frame i obtained by a translation d i .

Consider now Figure 2 that shows the various frames in addition to the D-H parameters.

To write the kinematics’ equations in the frame i 1 , we need to compute the rotation matrices using the homogeneous transform as below

P i 1 = T T T T P     i i P P Q Q R    R i 1 = T i i 1 P     i T      i i 1 = 1 0 0 0 0 c α i 1 s α i 1 0 0 s α i 1 c α i 1 0 0 0 0 1 1 0 0 a i 1 0 1 0 0 0 0 1 0 0 0 0 1 c θ i s θ i 0 0 s θ i c θ i 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 d i 0 0 0 1 T     i i 1 = 1 0 0 a i 1 0 c α i 1 s α i 1 0 0 s α i 1 c α i 1 0 0 0 0 1 c θ i s θ i 0 0 s θ i c θ i 0 0 0 0 1 d i 0 0 0 1 = c θ i s θ i 0 a i 1 s θ i c α i 1 c θ i c α i 1 s α i 1 s α i 1 d i s θ i s α i 1 c θ i s α i 1 c α i 1 c α i 1 d i 0 0 0 1 E2

where T     i i 1 = T T T T i P P Q Q R     R i 1 and the subscript to superscript means transform from the previous to the next coordinate frame.

These abbreviations will be used throughout this chapter.

s i = i = sin θ i E3
c i = i = cos θ i E4
c 12 = c θ 1 + θ 2 = c 1 c 2 s 1 s 2 = c θ 1 c θ 2 s θ 1 s θ 2 E5
s 12 = s θ 1 + θ 2 = c 1 s 2 + s 1 c 2 = c θ 1 s θ 2 s θ 1 c θ 2 E6
c 123 = c i 3 θ i and s 123 = s i 3 θ i for i = 1 , 2 , 3 E7

In Eq. (2), the first matrix,

1 0 0 0 0 c α i 1 s α i 1 0 0 s α i 1 c α i 1 0 0 0 0 1 , E8

is given by a rotation of α i 1 about x i 1 . Note that no translation appears in the matrix. That matrix makes the z i 1 parallel to the next, z i -axis. The next matrix,

1 0 0 a i 1 0 1 0 0 0 0 1 0 0 0 0 1 , E9

refers to the translation a i 1 . This translation is along the x i 1 -axis, defining the distance a i 1 . As z i 1 is parallel to z i , the distance a i 1 is a mutual perpendicular to both the previous and the next z-axis. The rotation matrix,

c θ i s θ i 0 0 s θ i c θ i 0 0 0 0 1 0 0 0 0 1 , E10

results of rotation about z i by the joint angle θ i . This rotation generates a frame parallel to i at a distance d i (offset) from the joint i. The 4th matrix,

1 0 0 0 0 1 0 0 0 0 1 d i 0 0 0 1 , E11

translates the frame by d i completing the transform from frame i to i 1 . Sometimes, it is more convenient to write the kinematic differential equations in the frame i . In this case, we have to transpose the rotation matrices so as to have the equations written in frame i but in coordinates of i 1 .

For space robots, we must compute the kinematics not only of the manipulator but also for the whole spacecraft (rotational and translational kinematics) [3, 4]. To do this, it is necessary to define three more frames:

  • the Earth-centered inertial (ECI) frame XYZ , defined at the center of the Earth (the symbol means Earth)

  • the local vertical, local horizontal frame (LVLH) denoted as C x l y l z l . C is the center of mass of the space robot. The subscript l is a short for LVLH;

  • and a spacecraft fixed system of reference, defined in the center of mass of the space robots [7] and denoted by C x p y p z p .

Figure 3 illustrates these new frames. The C x l y l z l is fixed in the orbit. So, it follows with the orbit synchronized with the orbital velocity and with z l pointing toward the local vertical (Nadir direction). In the literature, this frame is also named RPY (roll, pitch, and yaw). Roll is the rotation angle about the orbital velocity direction (x-direction), pitch is the rotation angle about the negative orbit normal (y-axis), and yaw is the rotation angle about the local vertical (z-axis). The roll, pitch, and yaw angles yield the space robot attitude with respect to the C x l y l z l frame. Both the C x l y l z l and the C x p y p z p frames coincide with each other in a nominal attitude specification, that is, the space robot is pointing toward the local vertical, and the spacecraft attitude is zero. As the C x p y p z p frame is fixed in the spacecraft, the attitude is given by the angles between C x l y l z l and C x p y p z p . Other conventions may be used for the definition of these frames. The reference systems XYZ , C x l y l z l , and C x p y p z p are included in the formulation to allow for describing the rotational and translational kinematics in frame C x p y p z p or in the frame Cx l y l z l . In general, the equations of dynamics are written in the body fixed frame, C x p y p z p . We can write the kinematics and/or the kinematics’ differential equations in any of those three frames by using transformation matrices. The {ECI} allows writing the translational kinematic expressions in terms of the orbit parameters [7]. If the coupling between the orbit and attitude motion is negligible (in general, it is), we can write the rotational kinematics in the C x p y p z p or C x l y l z l frames, including the orbital velocity only. The practice is to use the Euler angles to describe the angular orientation between both frames (the attitude of the spacecraft with respect the C x l y l z l frame). According to the Euler Theorem, we can do this through three sequences of rotations from one frame to another frame. Figure 3 shows both frames in a nominal configuration in which the attitude angles are zero and both frames are coincident. As the spacecraft moves, the fixed frames also move. Figure 4 illustrates the rotation between those frames. So, we can derive the kinematic expressions by using the spacecraft fixed frame, x p y p z p .

Figure 4.

(a) Satellite on-orbit configuration with C x p y p z p misaligned from C x l y l z l and (b) the Euler sequence of rotations φ θ ψ .

Let us consider that the spacecraft fixed frame is misaligned from the C x l y l z l by the angles as shown in Figure 4. Figure 4a illustrates the space robot in-orbit configuration with attitude different from zero. Note that in this figure, both C x l y l z l and C x p y p z p are misaligned. Figure 4b illustrates the sequence of rotations from C x l y l z l to C x p y p z p .

The sequence of three rotations is φ θ ψ [7]. The arrows indicate the direction of the sequence as: first, a rotation about z l by the angle ψ generating an auxiliary frame Cx p y p z p . Then, a second rotation is done about y l by the angle θ generating the auxiliary frame Cx " p y " p z " p . Finally, the third rotation is done about x " to coincide with C x p y p z p . There are 12 sets of Euler angle sequences of rotations to describe the rotational kinematics. However, the sequence of rotations φ θ ψ is one the most used transformations for satellites’ rotational kinematics description. This transform provides the relationship between both C x l y l z l and C x p y p z p frames. The notation of the sequence used here is the same as φ θ ψ . However, the first notation emphasizes the resulting structure of matrix multiplication when implementing the transformation from C x l y l z l to C x p y p z p frames as we are going to show next.

First rotation, about z l

x p y p z p = 0 0 0 0 1 x l y l z l E12

Second rotation, about y p y p

x p y p z p = 0 0 1 0 0 x p y p z p E13

Third rotation, about x " p x p

x p y p z p = 1 0 0 0 0 x " p y " p z " p E14

By substituting Eq. (13) into Eq. (14) and substituting Eq. (12) into the result, we have:

x p y p z p = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 x l y l z l E15

So, the structure is really like φ θ ψ .

The final matrix allows writing the equations in the spacecraft fixed frame C x p y p z p in coordinates of C x l y l z l as:

x p y p z p = cθcψ cθsψ sφsθcψ cφsψ sφsθsψ + cφcψ sφcθ cφsθcψ + sφsψ cφsθsψ sφcψ cφcθ x l y l z l = R l p E16

By transposing this matrix, we can write the kinematics’ equation in the LVLH frame:

x l y l z l = cθcψ cθsψ sφsθcψ cφsψ sφsθsψ + cφcψ sφcθ cφsθcψ + sφsψ cφsθsψ sφcψ cφcθ T x p y p z p = R p p l E17

The relationships from n to 0 can be written as:

T n 0 = T T T T      n n 1 3 2 2 1 1 0 E18

To write the kinematics of the spacecraft-like robot manipulator in the LVLH system of reference, we have to concatenate all the matrices. By using Eqs. (17) and (18) and Eq. (2), we can establish the relationships between i the coordinate frames as:

T i l = T P l T 0 p T      i i 1 E19

where

T = p l R 3 × 1 0 3 × 1 0 1 × 3 1 = cθcψ sφsθcψ cφsψ cφsθcψ + sφsψ r cx cθsψ sφsθsψ + cφcψ sφcθ r cy sφcθ cφcθ r cz 0 0 0 1 p l ;

T 0 p = 1 0 0 0 0 1 0 1 0 —this transform relates O x O y O z O with C x p y p z p (see Figure 3)

T      i i 1 is given by Eq. (2)

i = 1 , 2 , , n

The vector r c = r cx r cy r cz T represents the translation from the center of mass (CM) to the robot base or the O x O y O z O frame. This is a constant vector in this formulation. However, when the robot manipulator is in orbit operation, the links move, changing the location of the system CM, in other words, the CM location becomes a variable of the problem. By the time the space shuttle was in operation, this type of problem appeared. When it grasped significant massive target, the system CM motion affected the efficiency of the robot arm to put the target where it was planned. Another problem experienced by the space shuttle manipulator was the interaction between the attitude control system and the robot arm structural flexibility. The attitude control was in action to keep the shuttle stabilized while the manipulator was commanded to grasp a target. The structural flexibility of the long arms was excited by the attitude actuators and entered in elastic vibration mode causing problems to accomplish a safety grasping of the target. But this is another story and may be subject of research on another occasion.

Consider the robot manipulator shown in Figure 3 where the space robot is stabilized with C x l y l z l and C y p z p frames. Find the kinematics relationship written in the O x O y O z O frame. First, we built the D-H as shown in Table 1 for the problem.

Table 1.

D-H parameters for Example 1.

By inspection in Figure 3, we can see that all the z-axes are parallel and the joints are revolute. So, the parameters α and d are zeros. Following the D-H table:

T 1 0 = c θ 1 s θ 1 0 1 s θ 1 c θ 1 0 0 0 0 1 0 0 0 0 1 E20
T 2 1 = c θ 2 s θ 2 0 l 1 s θ 2 c θ 2 0 0 0 0 1 0 0 0 0 1 E21
T 3 2 = c θ 3 s θ 3 0 l 2 s θ 3 c θ 3 0 0 0 0 1 0 0 0 0 1 E22

so

T 3 0 = T 1 0 T T 3 2 = c θ 1 s θ 1 0 1 s θ 1 c θ 1 0 0 0 0 1 0 0 0 0 1 2 1 c θ 2 s θ 2 0 l 1 s θ 2 c θ 2 0 0 0 0 1 0 0 0 0 1 c θ 3 s θ 3 0 l 2 s θ 3 c θ 3 0 0 0 0 1 0 0 0 0 1 E23

Compacting the result through the definition of c = cos, s = sin, and i = θ i , i = 1 , 2 , 3 we have

T 3 0 = c 3 c 12 s 3 s 12 c 3 s 12 s 3 c 12 0 l 1 c 1 + l 2 c 12 c 3 s 12 + s 3 c 12 c 3 c 12 s 3 s 12 0 l 1 s 1 + l 2 s 12 0 0 1 0 0 0 0 1 = c 123 s 123 0 l 1 c 1 + l 2 c 12 s 123 c 123 0 l 1 s 1 + l 2 s 12 0 0 1 0 0 0 0 1 E24

where

c 123 = cos i = 1 3 θ i = c 3 c 12 s 3 s 12 E25
s 123 = sin i = 1 3 θ i = c 3 s 12 + s 3 c 12 E26
i = 1 , 2 , 3

Note that we considered the spacecraft stable in attitude with the C x p y p z p aligned to the C x l y l z l frame. But be aware that if the manipulator moves in attitude, the kinematics’ differential equations of the spacecraft shall account for the manipulator links of kinematics’ differential equations. In particular, if the manipulator is to grasp an on-orbit target, the attitude of the manipulator-like spacecraft must be synchronized to that of the target so that the relative attitude of both spacecraft and target is zero. As the dynamic analysis is out of the scope of this chapter, we will assume that the robot arm kinematics’ equations differ from ground robots only by C x l y l z l and x p y p z p frames. For orbital robots these frames are used to describe the kinematics differential equations related to orbit and attitude motions.

Consider Figure 5 which illustrates a revolute-prismatic-revolute (RPR) manipulator. In this case, we have a rotation θ 1 , a translational variable d 2 , and another rotation θ 2 as illustrated in Table 2. The convention is that those degrees-of-freedom occur along z-axis.

Figure 5.

(a) RPR manipulator showing the joints, (b) D-H parameters, and (c) frames.

Table 2.

The D-H parameters and joint variables.

For this case, we have one rotation of θ 1 , translation of d 2 , and a rotation of θ 3 .

Following the D-H convention above, we should make a few comments. First, we have a rotation on z-axis. Then, we use the twist angle rotation to make a new z-axis for the joint variable d 2 . The sequence of rotations is shown in Eqs. (18)(20).

T 1 0 = c θ 1 s θ 1 0 s θ 1 c θ 1 0 0 0 a 1 E27
T 2 1 = 1 0 0 0 c α 1 s α 1 0 c α 1 c α 1 E28
T 3 2 = c θ 3 s θ 3 0 s θ 3 c θ 3 0 0 0 1 E29

To account for the translation d 2 , we can use the homogeneous transformation as:

c θ 1 s θ 1 0 0 s θ 1 c θ 1 0 0 0 0 1 0 0 0 0 1 E30
1 0 0 0 0 c α 1 s α 1 0 0 s α 1 c α 1 0 0 0 0 1 E31
1 0 0 0 0 1 0 0 0 0 1 d 2 0 0 0 0 α 1 = 90 o E32
c θ 3 s θ 3 0 0 s θ 3 c θ 3 0 0 0 0 1 l 2 0 0 0 1 E33

Note that this notation of homogeneous matrix allows including the two translations of this problem. Also, note that the offset translation is along z. The transform matrix ( α 2 = 90 o ) yields:

1 0 0 0 0 c α 1 s α 1 0 0 s α 1 c α 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 d 2 0 0 0 0 = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 d 2 0 0 0 0 = 1 0 0 0 0 0 1 d 2 0 1 0 0 0 0 0 1 E34

This result is a transformation, T 2 1 , that is, the transform from frame {2} to frame {1}. Combining all the transformations, we can write from frame {3} to frame {0} as:

T = 3 0 T 1 0 T 2 1 T = 3 2 c θ 1 s θ 2 0 0 s θ 2 c θ 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 d 2 0 1 0 0 0 0 0 1 c θ 3 s θ 3 0 0 s θ 3 c θ 3 0 0 0 0 1 0 0 0 0 1 = c θ 1 c θ 3 c θ 1 s θ 3 s θ 3 s θ 1 l 2 + d 2 s θ 1 c θ 3 s θ 1 s θ 3 c θ 1 c θ 1 l 2 + d 2 s θ 3 c θ 3 0 0 0 0 0 1 E35

We can also find the transpose of this transformation to have the transformation:

T 0 3 = T T T 0 1 1 2 2 3 c θ 3 s θ 3 0 0 s θ 3 c θ 3 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 d 2 0 1 0 0 0 0 0 1 c θ 1 s θ 1 0 0 s θ 1 c θ 1 0 0 0 0 1 0 0 0 0 1 = c θ 1 c θ 3 s θ 1 c θ 3 s θ 3 0 c θ 1 s θ 3 s θ 1 s θ 3 c θ 3 0 s θ 1 c θ 1 0 l 2 + d 2 0 0 0 1 E36
Advertisement

3. Inverse kinematics

Inverse kinematics consists of finding the joint variables given the robot manipulator end-effector position and orientation with respect to the user workstation. The workstation means a known location and reference system. It could be the platform of the robotic system. In this chapter, the platform reference system is the frame C x p y p z p represented by {P}. In general, such frame is defined in the center of mass of the space robotic system. We know the location of that system of reference. Also, we know the location of the C x l y l z l frame because we know the space robot orbit. In the previous section, we considered the relationship between frames to write the equations in the {0}. In the inverse problem, we want to find joint variables given the specified position and orientation of the tool relative to {0} or {p}. We assume that the robot attitude and orbit control subsystem keeps the space robot stabilized while it works. This is to simplify the formulation. This assumption is reasonable since this is exactly what must be done when the space robot is in operation. We have already presented and discussed the several frames defined to study the robot kinematics. We will refer to just one more, the frame defined on the tool, {T}.

There are some aspects of inverse kinematics that make it more complex than forward kinematics [5, 6]. We will briefly report them, but we will not go into too many details. In this chapter, our focus is on the solution methods for inverse kinematics problem.

One of the main aspects of the inverse kinematics is solvability because we have to face the problem of existence of solutions and of multiple solutions. Also, this problem brings to light the concept of manipulator workspace which is the volume of space that the end-effector of the manipulator can reach. For space robot, this problem is critical because if the object to be manipulated is beyond space robot workspace, the space mission may not accomplish goals like grasping a target, docking to another spacecraft, put a piece of structure in right location during assembling space structures, and so on. For a solution to exist, the point specified to be reached by the end-effector must be inside the manipulator workspace. Another problem related to the workspace of robots is to plan a trajectory [9] preventing collisions with objects, another robot, or astronaut inside the workspace. There are two useful definitions related to workspace. One is the dextrous workspace [5] and the other is the reachable workspace. The first refers to the space volume that the end-effector reaches with all orientation. The second is that volume of space that the robot can reach in at least one orientation. If the position and orientation specified for the robot task is inside the workspace, then at least one solution exists. Workspace also depends on the tool-frame transformation, since it is frequently the tool-tip that is discussed when we discuss reachable points in space. Details about the solvability problem for inverse kinematics may be seen in [5].

3.1 The inverse kinematics solution methods

In solving inverse problems, the first thing we must consider is that there are no general algorithms [5, 8, 9] that may be employed to solve manipulator kinematics. We state that a manipulator is solvable when the joint variables can be determined by an algorithm for a given position and orientation of the tool frame, {T}.

The solutions may be classified as close solution and numerical solutions. Numerical solutions are in general slower than close solutions and would require another chapter for discussion. We will concentrate in the close solutions methods. These methods can be subdivided into algebraic and geometric solutions. This classification is somehow hazy since each solution method uses both algebraic and geometric kinematic formulations. In presenting and discussing the methods, we point out that according to the concept of solution we stated here, the revolute and prismatic manipulators having six degrees of freedom (DOF) in series chain are solvable.

3.2 Algebraic solution

Consider the robot manipulator mounted on the spacecraft platform and the on-orbit configurations in the nominal attitude as shown in Figure 3. Let us apply the algebraic solution. Note that the frame defined in the last link is the frame for n = 3. So, the transform from frame {0} to frame {N} is given by Eq. (24) repeated here for didactic reasons.

T = c 123 s 123 0 l 1 c 1 + l 2 c 12 s 123 c 123 0 l 1 s 1 + l 2 s 12 0 0 1 0 0 0 0 1 N O E37

Now consider that for inverse kinematics, the specified position of the end-effector is given:

T = 0 x 0 y 0 0 1 0 0 0 0 1 N O E38

Note that this specified orientation and position are the angle φ and the Cartesian position (x, y, 0) of the tool. As Eq. (37) must be equal to Eq. (38), the problem can be solved by comparing the elements of the matrices. The joint angles and the parameters l i , i = 1 , 2 are unknown. The specified orientation given by φ and the components of the vector x y z T , in the planar case, x and y are known and represent the tool position with respect to {0}. By equating a 11 element of both matrices we have:

= c 123 = cos i = 1 3 θ i E39
= s 123 = cos i = 1 3 θ i E40
x = l 1 c 1 + l 2 c 12 E41
y = l 1 s 1 + l 2 s 12 E42

where

c 12 = c 1 c 2 s 1 s 2
s 12 = c 1 s 2 + s 1 c 2

The algebraic solution requires the solution of Eq. (39) to Eq. (42). We can compute the square of Eqs. (41) and (42) to obtain:

x 2 + y 2 = l 1 2 + l 2 2 + 2 l 1 l 2 c 2 E43

Solving Eq. (43) by c 2 , we compute c 2 as:

c 2 = x 2 + y 2 l 1 2 + l 2 2 2 l 1 l 2 E44

Important information can be extracted from Eq. (44). We know that the cosine function must be between −1 and + 1. By checking such constraint, we obtain information whether or not the solution exists. In case a solution does not exist, the meaning is that the point is not inside the robot manipulator workspace.

Let us assume that the orientation and position specified in inside the workspace. In this case, we can compute s 2 as:

s 2 = ± 1 c 2 2 E45

The joint angle can then be computed by:

θ 2 = Atan 2 s 2 c 2 E46

Atan 2 s 2 c 2 computes tan 1 s 2 c 2 , but uses the signs of both s 2 and c 2 to identify the quadrant in which the resulting angle lies.

Note that there are signs to be considered in Eq. (45). The signs are related to multiple solutions.

Once we have obtained θ 2 , we can obtain θ 1 by manipulating Eqs. (41) and (42). To solve the problem, we should define:

k 1 = l 1 + l 2 c 2 E47
k 2 = s 2 E48

and use the trigonometric identities

c 12 = c 1 c 2 s 1 s 2 E49
s 12 = c 1 s 2 + s 1 c 2 E50

to rewrite Eqs. (41) and (42) as:

x = k 1 c 1 k 2 s 1 E51
x = k 1 s 1 + k 2 c 1 E52

Next, we make a change of variable by writing k 1 and k 2 in the form:

r = + k 1 2 + k 2 2 E53

and

γ = Atan 2 k 1 k 2 E54

Using these new variables, we can write Eqs. (51) and (52) as:

x r = cγc θ 1 sγcs θ 1 = c γ + θ 1 E55
y r = 1 + θ 1 = s γ + θ 1 E56

from which

γ + θ 1 = Atan 2 y r x r = Atan 2 y x E57

Then, using the definition of γ, we obtain the expression for θ 1 as:

θ 1 = Atan 2 y x Atan 2 k 1 k 2 E58

As we have θ 1 and θ 2 , we can find θ 3 by using Eqs. (39) and (40)

i = 1 3 θ i = Atan 2 = φ = θ 1 + θ 2 + θ 3 E59

Once have θ 1 and θ 2 , we obtain θ 3 from Eq. (59).

Transcendental equations commonly arise when applying the algebraic approach. The greater the number of degrees of freedom of the robotic manipulator, the more laborious is the solution of the problem.

3.3 Geometric solution

By using this approach, we simply work the geometry of the arm. For the same problem, we may have the position of the joint associated to the frame {N} with respect to the origin of frame {O} by using geometry. Frame {N} refers to the frame attached to the last link of the manipulator. Consider Figure 6 showing the triangle formed by the geometrical configuration of the sides of the links and the line from the origin of the frame {O} to the origin of frame {N}. Applying the law of cosines, we can write:

Figure 6.

Space robot manipulator—geometric solutions for the inverse kinematics.

x 2 + y 2 = l 1 2 + l 2 2 2 l 1 l 2 cos 180 θ 2 = l 1 2 + l 2 2 + 2 l 1 l 2 c 2 E60
c 2 = x 2 + y 2 l 1 2 + l 2 2 2 l 1 l 2 E61

Again, this solution must be between 1 and − 1 in order to have a valid solution. Assuming that the solution exists, then:

s 2 = 1 x 2 + y 2 l 1 2 + l 2 2 2 l 1 l 2 2 E62

Finally, we can write another solution for θ 2 in terms of the tangent since we have both sin and cosine of the angle θ 2

θ 2 = Atan 2 ± 1 x 2 + y 2 l 1 2 + 2 2 2 l 1 l 2 2 , x 2 + y 2 l 1 2 + l 2 2 2 l 1 l 2 E63

Finally, we can write other solution for θ 2 in terms of the tangent since we have both sin of and cosine of the angle θ 2

Now Let us compute a solution for θ 1

β = Atan 2 y x E64

For ψ , we use the law of cosines to obtain:

= x 2 + y 2 + l 1 2 l 2 2 2 l 1 l 2 E65

Geometry yields then

θ 1 = β ± ψ E66

where β = Atan 2 y x .

ψ is obtained by using the law of cosines as 2 2 = x 2 + y 2 + l 1 2 2 x 2 + y 2 l 1 cosψ

By solving this equation by cosψ , we obtain Eq. (65). Finally, we use Eqs. (64) and (65), to obtain θ 1 as in Eq. (66).

Now, we can compute θ 3 from:

i = 1 3 θ i = θ 1 + θ 2 + θ 3 = φ E67

Solving Eq. (67) for θ 3 , we complete the solution. Note that φ is the specified orientation and we had already computed θ 1 and θ 2 . Thus, the problem is solved.

3.4 Algebraic solution method involving working matrix algebra

Let us consider a six-DOF revolute manipulator. The transformation from frames {O} to the {N} (N = 6) is

T 6 0 = a 11 a 12 a 13 p x a 21 a 22 a 23 p y a 31 a 32 a 33 p z 0 0 0 0 E68

We know that this final matrix represents the following successive transforms

T 6 0 = T T T T T 5 4 4 3 3 2 2 1 1 0 T 6 5 E69

Where, for the revolute manipulator

T 1 0 = c 1 s 1 0 0 s 1 c 1 0 0 0 0 1 0 0 0 0 1 E70

By premultiplying the left side of Eq. (68) by the inverse of Eq. (70), we obtain:

c 1 s 1 0 0 s 1 c 1 0 0 0 0 1 0 0 0 0 1 a 11 a 12 a 13 p x a 21 a 22 a 23 p y a 31 a 32 a 33 p z 0 0 0 0 = T T T T 5 4 4 3 3 2 2 1 T 6 5 E71

By equating both sides of Eq. (71), we start identifying solutions by comparing the elements of matrices from both sides. Then, we continue by multiplying both sides, by the inverse of the T 2 1 and repeat the process to identify more solutions to obtain:

c 2 s 2 0 l 1 c 2 s 2 c 2 0 l 1 s 2 0 0 1 0 0 0 0 1 c 1 s 1 0 0 s 1 c 1 0 0 0 0 1 0 0 0 0 1 a 11 a 12 a 13 p x a 21 a 22 a 23 p y a 31 a 32 a 33 p z 0 0 0 0 = T T T 5 4 4 3 3 2 T 6 5 E72

By implementing this process, we can solve the inverse kinematics for the six-DOF revolute joints with all the z-axis parallels.

Consider Table 2 and the associated transformation matrix Eq. (36) for the RPR manipulator of Figure 5. Let us solve the inverse kinematics using the above method of matrix algebra. Al the matrix manipulations were computed by using the MATLAB® symbolic manipulator. The specified orientation and position is given by Eq. (68), by premultiplying the right side of this equation by inverse of Eq. (30), we obtain:

c 1 s 1 0 0 s 1 c 1 0 0 0 0 1 0 0 0 0 1 a 11 a 12 a 13 p x a 21 a 22 a 23 p y a 31 a 32 a 33 p z 0 0 0 0 = c θ 3 s θ 3 0 0 0 0 1 l 2 + d 2 s θ 3 c θ 3 0 0 0 0 0 1 = a 11 c θ 1 + a 21 s θ 1 a 12 c θ 1 + a 22 cs a 13 s θ 1 p x c θ 1 + p y s θ 1 a 21 c θ 1 a 11 s θ 1 a 22 c θ 1 a 12 c θ 1 a 23 c θ 1 a 13 s θ 1 p y c θ 1 p x s θ 1 a 31 a 32 a 33 p z 0 0 0 1 = T 3 1 E73

Comparing the resulting matrices, on the left and right, for the elements (1,4) and (2,4), respectively, we obtain:

θ 1 = Atan 2 p x p y E74
d 2 = p x s θ 1 p y c θ 1 l 2 E75

Comparing elements from both sides yields

p z = 0 E76

Premultiplying the result of left side again by the inverse of T 2 1 , we obtain:

1 0 0 0 0 0 1 0 0 1 d 3 0 0 0 0 1 c 1 s 1 0 0 s 1 c 1 0 0 0 0 1 0 0 0 0 1 a 11 a 12 a 13 p x a 21 a 22 a 23 p y a 31 a 32 a 33 p z 0 0 0 0 = c θ 3 s θ 3 0 0 s θ 3 c θ 3 0 0 s θ 3 c θ 3 1 l 2 0 0 0 1 E77

The left side yields

a 11 c θ 1 + a 21 s θ 1 a 12 1 + a 22 1 a 13 c θ 1 + a 23 1 p x c θ 1 + p y 1 a 31 a 32 a 33 p z a 11 s θ 1 a 21 c θ 1 a 12 s θ 1 a 22 1 a 13 s θ 1 a 23 1 p x s θ 1 p y 1 d 2 0 0 0 1 E78

By comparing the matrix elements (2,1) and (2,2) for both sides, we can compute θ 3 as:

a 31 = s θ 3 and a 32 = c θ 3 E79

then, we obtain from tan θ 3 = a 31 a 32 θ 3 = Atan 2 a 31 a 32

Of course, this example is simple. When we have a six-DOF manipulator, the algebraic manipulation to solve the inverse kinematics is hard, and the solution may require using transformation of variables. The MATLAB® software package has applications that easier the hard algebraic manipulation such as the symbolic manipulator and some specific functions for forward and inverse kinematics computation. MATLAB® functions include kinematics, trajectory generation, dynamics, and control. The toolbox also includes Simulink® models to describe the evolution of arm or mobile robot state over time for the sake of control. Regarding this chapter, functions like manipulating and converting between data types such as vectors, rotation matrices, homogeneous transformations, and twists are very important. Some important functions related to this chapter are:

  • angvec2r that converts angle and vector orientation to a 3x3 rotation matrix;

  • angvec2tr that converts angle and vector orientation to a 4x4 homogeneous transform;

  • syms command that allows the definition of symbolic variables for rotation and homogeneous algebra. The symbolic manipulation allows include several commands to simplify results of matrix algebraic manipulation.

  • eul2tr (phi, theta, psi, options) converts the Euler angles to a (4x4) homogeneous transformation matrix.

  • rpy2tr (roll, pitch, yaw, options) command refers to the LVLH frame referred in this chapter and converts the roll-pitch-yaw angles to homogeneous transform.

There are several other commands/functions that are very useful for applications approached in this chapter and the reader is advised to see [10].

Advertisement

4. Conclusion

In this chapter, we have approached the forward and inverse kinematics for space robot manipulators via the D-H convention. In all cases presented here, the spacecraft nominal attitude was considered stabilized. Otherwise, it would be necessary to consider kinematics in terms of absolute position described in the LVLH or in the spacecraft fixed frame with variable attitude angles. Some examples are solved, and a related reference is provided. Al the algebraic matrix manipulations presented here were obtained by using the MATLAB® Symbolic tool box. Also, the chapter presented other features of the MATLAB® and Simulink® software related to the subject of the chapter. Despite its importance, differential kinematics is out of scope of this chapter and maybe the subject of future work.

Advertisement

Acknowledgments

Thanks to the Technological Institute of Aeronautics ITA/CTE and PG-EEC, National Institute for Space Research INPE/DMC, the Brazilian Space Agency (AEB), the Pontifical Catholic University of Sao Paulo PUC-SP, and FAPESP/PIPE—Project 00882-4/2017.

References

  1. 1. Fonseca I, Mint PM. The state-of-the-art in space robotics. Journal of Physics: Conference Series. 2015;641:7. DOI: 10.1088/1742-6596/641/1/012025
  2. 2. Fonseca I, Pontuschka M, Saotome O, Bainum P, Lima G. The impact of the non-inertial base motion in the operations of robotic manipulators. In: 65th International Astronautical Congress. 2014
  3. 3. Fonseca I, Goes L, Seito N, Duarte M, Mint OE. Attitude dynamics and control of a spacecraft like a robotic manipulator when implementing on-orbit servicing. Acta Astronautica. 2017;137:490-497. DOI: 10.1016/j.actaastro.2016.12.020
  4. 4. Skaar SB, Ruoff CF. Teleoperation and Robotics in Space, Progress in Astronautics and Aeronautics. Vol. 61. Washington DC: American Institute of Aeronautics and Astronautics, Inc; 1994. pp. 257-258
  5. 5. Craig J. Introduction to Robotics Mechanics and Control. 3rd ed. New York: Pearson; 2005. pp. 62-123. DOI: 10.13140/2.1.4486.1446
  6. 6. Spong MW, Hutchinson S, Vidyasagar M. Robot Dynamics and Control. 2nd ed. ISBN: 978-0-471-64990-8. New York: John Wiley & Sons, Inc; 2004. pp. 57-89
  7. 7. Wie B. Space Vehicle Dynamics and Control. 2nd ed. Reston, VA: American Institute of Aeronautics and Astronautics, Inc; 2012. pp. 397-381. DOI: 10.2514/4.860119
  8. 8. Zohar I, Ailon A, Mint RR. Mobile robot characterized by dynamic and kinematic equations and actuator dynamics: Trajectory tracking and related application. Robotics and Autonomous Systems. 2011;59:343-353. DOI: 10.1016/j.robot.2010.12.001
  9. 9. Song W, Hu GM. A fast inverse kinematics algorithm for joint animation. Procedia Engineering. 2011;24:350-354. DOI: 10.1016/j.proeng.2011.11.2655
  10. 10. Corke P. Robotics, Vision & Control: Fundamental Algorithms in MATLAB. 2nd ed. Springer. 2011

Written By

Ijar Milagre da Fonseca, Maurício Nacib Pontuschka and Glaydson Luiz Bertoze Lima

Reviewed: 05 March 2019 Published: 23 May 2019