Open access peer-reviewed chapter - ONLINE FIRST

# Kinematics for Spacecraft-Type Robotic Manipulators

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

Submitted: November 3rd 2018Reviewed: March 5th 2019Published: May 23rd 2019

DOI: 10.5772/intechopen.85636

Downloaded: 62

## 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.

## 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 θiis the joint variable, and the other three quantities are fixed link parameters. These parameters are illustrated in Figure 1 as the twist angle αi1,the distances ai1, and di. For prismatic joints, the joint variable is di, while the angle θiis zero. In this case, αi1,and ai1are 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:

• aiis the distance measured along x-axis from zito zi+1

• αiis the angle rotation measured about xifrom zito zi+1

• diis the distance measured along zifrom xi1to xi

• θiis a joint angle measured about zifrom xi1to xi. 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×4matrix in the form:

pi11=cosθisinθi0pi1xsinθicosθi0pyi1001pzi10001poi1=R     i11poi101pi1E1

The result is p    ii1=Rpi    ii1+poi1and 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.     i11

The 3×3R     i11block matrix is related to the rotation between frames i1and iby the joint angle θi. The 3×1vector poi1is related to the end-effector position with respect o the frame i1. 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 di(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 ai. Once we have the new z-axis parallel to the next one, the distance aiis 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 aicrosses the z-axis offset of the joint, it defines a distance dias shown in Figure 2. Finally, we rotate the z-axis by the joint variable θiand a new frame is generated, taking into account the offset di.

On the base of the space robot attachment, the Ox0y0z0frame or 0is defined. Note that the frame is i1, and for i= 1, this frame is 0. In the literature of robot manipulators, 0frame 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, a0is zero. For ground robots, it is common to define Ox0y0z0as 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 Ox0y0z0frame 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 xi1,yi,zi1, obtained be a rotation αi1about xi1, be defined as R;

• Consider frame formed by xi1,yi1,zi1translated by ai1as Q;

• Consider the frame obtained by a rotation θiand parallel to frame ias P;

• Consider frame iobtained by a translation di.

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

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

Pi1=TTTTP    iiPPQQR   Ri1=Tii1P    iT     ii1=10000cαi1sαi100sαi1cαi100001100ai1010000100001cθisθi00sθicθi000010000110000100001di0001T    ii1=100ai10cαi1sαi100sαi1cαi100001cθisθi00sθicθi00001di0001=cθisθi0ai1sθicαi1cθicαi1sαi1sαi1disθisαi1cθisαi1cαi1cαi1di0001E2

where T    ii1=TTTTiPPQQR    Ri1and the subscript to superscript means transform from the previous to the next coordinate frame.

These abbreviations will be used throughout this chapter.

si=i=sinθiE3
ci=i=cosθiE4
c12=cθ1+θ2=c1c2s1s2=cθ1cθ2sθ1sθ2E5
s12=sθ1+θ2=c1s2+s1c2=cθ1sθ2sθ1cθ2E6
c123=ci3θiands123=si3θifori=1,2,3E7

In Eq. (2), the first matrix,

10000cαi1sαi100sαi1cαi100001,E8

is given by a rotation of αi1about xi1. Note that no translation appears in the matrix. That matrix makes the zi1parallel to the next, zi-axis. The next matrix,

100ai1010000100001,E9

refers to the translation ai1. This translation is along the xi1-axis, defining the distance ai1. As zi1is parallel to zi, the distance ai1is a mutual perpendicular to both the previous and the next z-axis. The rotation matrix,

cθisθi00sθicθi0000100001,E10

results of rotation about ziby the joint angle θi. This rotation generates a frame parallel to iat a distance di(offset) from the joint i. The 4th matrix,

10000100001di0001,E11

translates the frame by dicompleting the transform from frame ito i1. 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 ibut in coordinates of i1.

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 Cxlylzl. 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  and denoted by Cxpypzp.

Figure 3 illustrates these new frames. The Cxlylzlis fixed in the orbit. So, it follows with the orbit synchronized with the orbital velocity and with zlpointing 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 Cxlylzlframe. Both the Cxlylzland the Cxpypzpframes 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 Cxpypzpframe is fixed in the spacecraft, the attitude is given by the angles between Cxlylzland Cxpypzp. Other conventions may be used for the definition of these frames. The reference systems XYZ, Cxlylzl,and Cxpypzpare included in the formulation to allow for describing the rotational and translational kinematics in frame Cxpypzpor in the frame Cxlylzl. In general, the equations of dynamics are written in the body fixed frame, Cxpypzp. 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 . If the coupling between the orbit and attitude motion is negligible (in general, it is), we can write the rotational kinematics in the Cxpypzpor Cxlylzlframes, 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 Cxlylzlframe). 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, xpypzp. Figure 4.(a) Satellite on-orbit configuration with Cxpypzp misaligned from Cxlylzl and (b) the Euler sequence of rotations φ⟶θ⟶ψ.

Let us consider that the spacecraft fixed frame is misaligned from the Cxlylzlby 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 Cxlylzland Cxpypzpare misaligned. Figure 4b illustrates the sequence of rotations from Cxlylzlto Cxpypzp.

The sequence of three rotations is φθψ. The arrows indicate the direction of the sequence as: first, a rotation about zlby the angle ψgenerating an auxiliary frame Cxpypzp. Then, a second rotation is done about ylby the angle θgenerating the auxiliary frame Cx"py"pz"p. Finally, the third rotation is done about x"to coincide with Cxpypzp. 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 Cxlylzland Cxpypzpframes. 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 Cxlylzlto Cxpypzpframes as we are going to show next.

First rotation, about zl

xpypzp=00001xlylzlE12

Second rotation, about ypyp

xpypzp=00100xpypzpE13

Third rotation, about x"pxp

xpypzp=10000x"py"pz"pE14

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

xpypzp=100000010000001xlylzlE15

So, the structure is really like φθψ.

The final matrix allows writing the equations in the spacecraft fixed frame Cxpypzpin coordinates of Cxlylzlas:

xpypzp=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θxlylzl=RlpE16

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

xlylzl=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θTxpypzp=RpplE17

The relationships from nto 0can be written as:

Tn0=TTTT     nn1322110E18

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:

Til=TPlT0pT     ii1E19

where

T=plR3×103×101×31=cθcψsφsθcψcφsψcφsθcψ+sφsψrcxcθsψsφsθsψ+cφcψsφcθrcysφcθcφcθrcz0001pl;

T0p=100001010—this transform relates OxOyOzOwith Cxpypzp(see Figure 3)

T     ii1is given by Eq. (2)

i=1,2,,n

The vector rc=rcxrcyrczTrepresents the translation from the center of mass (CM) to the robot base or the OxOyOzOframe. 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.

Example 1. Consider the robot manipulator shown in Figure 3 where the space robot is stabilized with Cxlylzland Cypzpframes. Find the kinematics relationship written in the OxOyOzOframe. 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:

T10=cθ1sθ101sθ1cθ10000100001E20
T21=cθ2sθ20l1sθ2cθ20000100001E21
T32=cθ3sθ30l2sθ3cθ30000100001E22

so

T30=T10TT32=cθ1sθ101sθ1cθ1000010000121cθ2sθ20l1sθ2cθ20000100001cθ3sθ30l2sθ3cθ30000100001E23

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

T30=c3c12s3s12c3s12s3c120l1c1+l2c12c3s12+s3c12c3c12s3s120l1s1+l2s1200100001=c123s1230l1c1+l2c12s123c1230l1s1+l2s1200100001E24

where

c123=cosi=13θi=c3c12s3s12E25
s123=sini=13θi=c3s12+s3c12E26
i=1,2,3

Note that we considered the spacecraft stable in attitude with the Cxpypzpaligned to the Cxlylzlframe. 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 Cxlylzland xpypzpframes. For orbital robots these frames are used to describe the kinematics differential equations related to orbit and attitude motions.

Example 2. Consider Figure 5 which illustrates a revolute-prismatic-revolute (RPR) manipulator. In this case, we have a rotation θ1, a translational variable d2, and another rotation θ2as 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 d2, 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 d2. The sequence of rotations is shown in Eqs. (18)(20).

T10=cθ1sθ10sθ1cθ1000a1E27
T21=1000cα1sα10cα1cα1E28
T32=cθ3sθ30sθ3cθ30001E29

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

cθ1sθ100sθ1cθ10000100001E30
10000cα1sα100sα1cα100001E31
10000100001d20000α1=90oE32
cθ3sθ300sθ3cθ300001l20001E33

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=90o)yields:

10000cα1sα100sα1cα10000110000100001d20000=100000100100000110000100001d20000=1000001d201000001E34

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

T30=T10T21T32=[cθ1sθ200sθ2cθ10000100001][1000001d201000001][cθ3sθ300sθ3cθ30000100001]=[cθ1cθ3cθ1sθ3sθ3sθ1(l2+d2)sθ1cθ3sθ1sθ3cθ1cθ1(l2+d2)sθ3cθ3000001]E35

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

T03=T23T12T01[cθ3sθ300sθ3cθ30000100001][1000001d201000001][cθ1sθ100sθ1cθ10000100001]=[cθ1cθ3sθ1cθ3sθ30cθ1sθ3sθ1sθ3cθ30sθ1cθ10(l2+d2)0001]E36

## 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 Cxpypzprepresented 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 Cxlylzlframe 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  preventing collisions with objects, another robot, or astronaut inside the workspace. There are two useful definitions related to workspace. One is the dextrous workspace  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 .

### 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=c123s1230l1c1+l2c12s123c1230l1s1+l2s1200100001NOE37

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

T=0x0y00100001NOE38

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 li,i=1,2are unknown. The specified orientation given by φand the components of the vector xyzT, in the planar case, x and y are known and represent the tool position with respect to {0}. By equating a11element of both matrices we have:

=c123=cosi=13θiE39
=s123=cosi=13θiE40
x=l1c1+l2c12E41
y=l1s1+l2s12E42

where

c12=c1c2s1s2
s12=c1s2+s1c2

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

x2+y2=l12+l22+2l1l2c2E43

Solving Eq. (43) by c2, we compute c2as:

c2=x2+y2l12+l222l1l2E44

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 s2as:

s2=±1c22E45

The joint angle can then be computed by:

θ2=Atan2s2c2E46

Atan2s2c2computes tan1s2c2, but uses the signs of both s2and c2to 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 θ1by manipulating Eqs. (41) and (42). To solve the problem, we should define:

k1=l1+l2c2E47
k2=s2E48

and use the trigonometric identities

c12=c1c2s1s2E49
s12=c1s2+s1c2E50

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

x=k1c1k2s1E51
x=k1s1+k2c1E52

Next, we make a change of variable by writing k1and k2in the form:

r=+k12+k22E53

and

γ=Atan2k1k2E54

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

xr=cγcθ1sγcsθ1=cγ+θ1E55
yr=1+θ1=sγ+θ1E56

from which

γ+θ1=Atan2yrxr=Atan2yxE57

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

θ1=Atan2yxAtan2k1k2E58

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

i=13θi=Atan2=φ=θ1+θ2+θ3E59

Once have θ1and θ2, we obtain θ3from 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.
x2+y2=l12+l222l1l2cos180θ2=l12+l22+2l1l2c2E60
c2=x2+y2l12+l222l1l2E61

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

s2=1x2+y2l12+l222l1l22E62

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

θ2=Atan2±1x2+y2l12+222l1l22,x2+y2l12+l222l1l2E63

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

Now Let us compute a solution for θ1

β=Atan2yxE64

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

=x2+y2+l12l222l1l2E65

Geometry yields then

θ1=β±ψE66

where β=Atan2yx.

ψis obtained by using the law of cosines as 22=x2+y2+l122x2+y2l1cosψ

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

Now, we can compute θ3from:

i=13θ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 θ1and θ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

T60=a11a12a13pxa21a22a23pya31a32a33pz0000E68

We know that this final matrix represents the following successive transforms

T60=TTTTT5443322110T65E69

Where, for the revolute manipulator

T10=c1s100s1c10000100001E70

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

c1s100s1c10000100001a11a12a13pxa21a22a23pya31a32a33pz0000=TTTT54433221T65E71

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 T21and repeat the process to identify more solutions to obtain:

c2s20l1c2s2c20l1s200100001c1s100s1c10000100001a11a12a13pxa21a22a23pya31a32a33pz0000=TTT544332T65E72

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:

c1s100s1c10000100001a11a12a13pxa21a22a23pya31a32a33pz0000=cθ3sθ300001l2+d2sθ3cθ3000001=a11cθ1+a21sθ1a12cθ1+a22csa13sθ1pxcθ1+pysθ1a21cθ1a11sθ1a22cθ1a12cθ1a23cθ1a13sθ1pycθ1pxsθ1a31a32a33pz0001=T31E73

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

θ1=Atan2pxpyE74
d2=pxsθ1pycθ1l2E75

Comparing elements from both sides yields

pz=0E76

Premultiplying the result of left side again by the inverse of T21, we obtain:

1000001001d300001c1s100s1c10000100001a11a12a13pxa21a22a23pya31a32a33pz0000=cθ3sθ300sθ3cθ300sθ3cθ31l20001E77

The left side yields

a11cθ1+a21sθ1a121+a221a13cθ1+a231pxcθ1+py1a31a32a33pza11sθ1a21cθ1a12sθ1a221a13sθ1a231pxsθ1py1d20001E78

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

a31=sθ3anda32=cθ3E79

then, we obtain from tanθ3=a31a32θ3=Atan2a31a32

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 .

## 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.

## 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.

chapter PDF

## More

© 2019 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## How to cite and reference

### Cite this chapter Copy to clipboard

Ijar Milagre da Fonseca, Maurício Nacib Pontuschka and Glaydson Luiz Bertoze Lima (May 23rd 2019). Kinematics for Spacecraft-Type Robotic Manipulators [Online First], IntechOpen, DOI: 10.5772/intechopen.85636. Available from:

### chapter statistics

62total chapter downloads

### More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

View all books