2.2.2. Depiction of Joint Configurations Corresponding to Each Waypoint

The inverse kinematics of redundant space robotics are complex, since one point in the task space corresponds to infinite points in the joint space. An approach based on the geometric construction of the robot, especially the robot called Spherical Revolute Spherical (SRS) [32,35–37], is well developed. Each component of the joint configuration is formulated as a function of the arm angle. By assigning a value to the arm angle, a finite number of joint configurations are obtained. Figure 2 presents the process for constructing the arm angle. The following legend is useful to understand the different subfigures. Figure 2a outlines the 7-DOF rotational robot SRS based on the D-H approach, together with the three main points *S*, *E*, and *W*. The shoulder point *S* denotes the intersection point of *Zi*-axis (*i* = 0, 1, 2), the elbow point *E* denotes the origin *O*<sup>3</sup> of Σ3, and the wrist point *W* denotes the intersection point of *Zi*-axis (*i* = 4, 5, 6). Figure 2b outlines the reference plane constructed by *Z*0-axis and *ω*, the arm plane *SEW*, and the arm angle *ψ* from the reference plane to the arm plane. Figure 2c coincides with Figure 2b, where *ω* denotes the vector from *S* to *W*. *k* and *e* denotes the vectors perpendicular to *ω* in the reference plane and the arm plane, respectively. Figure 2d outlines a case *ψ* = 0, meaning that the reference plane coincides with the arm plane. The following procedure is carried out for the derivation of the joint configuration **q** = [*q*1, ..., *q*7] *T*.


**Figure 2.** Process for constructing the arm angle *ψ*. (**a**) the 7-DOF robot SRS; (**b**) the arm angle *ψ* between the reference plane and the arm plane in SRS; (**c**) the arm angle *ψ* between the reference plane and the arm plane with vectors *k* and *e*, and (**d**) the case when the arm angle *ψ* is set to 0.

**Remark 2.** *A detailed explanation about the approach of computing* **q** *is expressed in [32]. According to the aforementioned procedure, eight groups of* **q** *are derived with an assignment of the arm angle ψ. ψ is set to zero considering the following aspects. First, the calculation accuracy of* **q** *corresponding to each waypoint declines as the absolute value of ψ increases. The result of* **q** *is derived with the highest accuracy in the case ψ* = 0*. Second, the assignment of ψ* = 0 *contributes to less computational cost [32]. Besides, the angular velocity of each joint is constrained to be zero at each waypoint, and is not affected by values of ψ.*

**Remark 3.** *Inspired by the work of [32], the joint configuration* **q** = [*q*1, ..., *q*7] *<sup>T</sup> denotes that the number of joints is seven, which is also the manipulator DOF meaning that the DOF of each joint is one. This category of robots has simple geometrical structure and contributes to convenient operation when performing tasks and less computational cost when verifying a developed approach. Study and application of this category of robots can also be found in [11–13,17,32].*

2.2.3. Formulation of Joint Trajectories among Waypoints

During the maneuver of the space robot when the end effector successively visits the waypoints, the joint trajectories are depicted with the piecewise-sine functions expressed in Equation (9). It can be seen that the sine function has the superiority of considering the physical limits on joint angles, and making the joint movements more practical.

$$q\_j^i(t) = A \cdot \sin\left[a\_{3j}^i (t - T\_{j-1})^3 + a\_{2j}^i (t - T\_{j-1})^2 + a\_{1j}^i (t - T\_{j-1}) + a\_{0j}^i\right] \tag{9}$$

In Equation (9), *<sup>i</sup>* = 1, ..., *<sup>n</sup>*, *<sup>j</sup>* = 1, ..., *<sup>N</sup>* − 1, and *<sup>T</sup>*<sup>0</sup> = 0. *<sup>q</sup><sup>i</sup> j* (·) denotes an angular trajectory of the *i*th joint, corresponding with a *j*th subpath along which the end effector moves from the *j*th waypoint to the (*j* + 1)th waypoint. *A* denotes the physical limit on each joint angle, which is defined as 180deg. *ai mj*(*<sup>m</sup>* = 0, 1, 2, 3) denotes the coefficients of the argument, where all *<sup>a</sup><sup>i</sup>* <sup>3</sup>*<sup>j</sup>* share the same absolute value. Based on Equation (9), joint angular velocities are given by:

$$\begin{aligned} a\_{\hat{l}}^i(t) &= A \cdot \cos \left[ a\_{3\hat{j}}^i (t - T\_{\hat{j}-1})^3 + a\_{2\hat{j}}^i (t - T\_{\hat{j}-1})^2 + a\_{1\hat{j}}^i (t - T\_{\hat{j}-1}) + a\_{0\hat{j}}^i \right] \\ &\left[ 3a\_{3\hat{j}}^i (t - T\_{\hat{j}-1})^2 + 2a\_{2\hat{j}}^i (t - T\_{\hat{j}-1}) + a\_{1\hat{j}}^i \right] \end{aligned} \tag{10}$$

Corresponding with the *j*th subpath of the end effector, the angle of the *i*th joint is denoted as *qi <sup>j</sup>*<sup>0</sup> at initial time *t i js* (*t i js* <sup>=</sup> *Tj*−1), and denoted as *<sup>q</sup><sup>i</sup> j f* at final time *t i j f* , shown in Equations (11) and (12). To ensure the continuity of the joint movements during the whole travel, the space robot has the same joint configuration at the final time of *j*th subpath and at the initial time of (*j* + 1)th subpath, shown in Equation (13).

$$q^i\_{\rangle}(t^i\_{\rangle \ast}) = q^i\_{\rangle 0} \tag{11}$$

$$q^i\_j(t^i\_{jf}) = q^i\_{jf} \tag{12}$$

$$q\_{j\bar{f}}^i = q\_{(j+1)0}^i \tag{13}$$

In Equation (13), *q<sup>i</sup> <sup>N</sup>*<sup>0</sup> = *<sup>q</sup><sup>i</sup>* (*N*−1)*f* . Moreover, joint angular velocities are limited to be zero at each waypoint, given by:

$$
\dot{q}^i\_{j0} = \dot{q}^i\_{jf} = 0 \tag{14}
$$

Substituting Equations (11)–(14) into Equations (9)–(10), the values of *a<sup>i</sup>* 0*j* , *a<sup>i</sup>* 1*j* , *a<sup>i</sup>* <sup>2</sup>*<sup>j</sup>* and *t i j f* are derived as follows:

$$a\_{0j}^i = \arcsin\left(\frac{q\_{j0}^i}{A}\right) \tag{15}$$

$$a\_{1j}^i = 0\tag{16}$$

$$a\_{2j}^i = -\frac{3}{2} a\_{3j}^i \left( t\_{jf}^i - T\_{j-1} \right) \tag{17}$$

$$t\_{\hat{j}f}^i = \left\{ \frac{2\left[a\_{0j}^i - \arcsin\left(\frac{q\_{j\cdot}^i}{A}\right)\right]}{a\_{3j}^i} \right\}^{\frac{1}{3}} + T\_{j-1} \tag{18}$$

If the optimal value of *a<sup>i</sup>* 3*j* (*i* = 1, ..., *n*; *j* = 1, ..., *N* − 1) is derived, the joint trajectories corresponding with the *j*th subpath of the end effector and time period *Tj* are obtained. It should be noted that the case, *a<sup>i</sup>* <sup>3</sup>*<sup>j</sup>* = 0, is meaningless and not considered.

#### **3. Improved Genetic Algorithm**

#### *3.1. Basic GA*

The basic GA [38,39], inspired by natural selection, is a heuristic optimization algorithm with global search abilities. A certain number of individuals, usually called initial solutions, are randomly generated and contribute to the globality of the search space. During evolution, each individual, corresponding to a chromosome, is evolved toward the best position in the whole search space. Furthermore, chromosomes are updated according to fundamental genetic operators, including reproduction, crossover, and mutation. The reproduction generator contributes to the replication of chromosomes with better fitness values from parents to offspring. Crossover and mutation generators

contribute to generating new chromosomes. On the basis of a crossover generator, the paired chromosomes exchange part of their genes with each other. On the basis of the mutation generator, one or several genes of a chromosome are updated. The flowchart of basic GA is shown in Figure 3.

**Figure 3.** Flowchart of basic GA.
