Next Article in Journal
Evaluation of Pilot Manipulation Comfort in Different Flight Scenarios under Different Ambient Temperatures
Previous Article in Journal
Effect Mechanism and Performance Evaluation of Flange Contact Thermal Resistance in an Aero-Engine
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Method for Inverse Kinematics Solutions of Space Modular Self-Reconfigurable Satellites with Self-Collision Avoidance

Department of Aerospace Science and Technology, Space Engineering University, Beijing 101416, China
*
Author to whom correspondence should be addressed.
Aerospace 2022, 9(3), 123; https://doi.org/10.3390/aerospace9030123
Submission received: 29 December 2021 / Revised: 23 February 2022 / Accepted: 24 February 2022 / Published: 28 February 2022
(This article belongs to the Section Astronautics & Space Science)

Abstract

:
Space modular self-reconfigurable satellites (SMSRSs) are a new type of satellite with reconfigurable structures and adjustable functions. The inverse kinematics of the hyper-redundant structure of SMSRSs are difficult to solve by traditional methods. In this paper, the inverse kinematics of SMSRS is transformed into an optimization problem and solved using the optimization method. Moreover, the avoidance of self-collision is implemented in the optimization process. Firstly, the kinematic model of SMSRS is established. Then, to find the more accurate inverse kinematics solutions, a novel Segmented Hybrid CMA-ES and PSO (SHCP) algorithm is proposed. The algorithm is used for three cases of inverse kinematic problems, and the optimization results prove the optimization method is effective to solve the inverse kinematic problem with self-collision avoidance. Compared to the results of PSO variants, meta-heuristic algorithms, and hybrid algorithms, the novel algorithm has higher accuracy, proving its better performance on the inverse kinematics problem of SMSRS.

1. Introduction

The structure of conventional spacecraft is usually permanently fixed to perform a single task and cannot be reconfigured for other tasks. At the same time, current spacecraft have difficulty responding quickly to unexpected events in space due to the limitations of long development cycles and launch windows [1]. To address this limitation, future spacecraft are expected to be multipurpose and be able to respond to unforeseen events. The research object of this paper, space modular self-reconfigurable satellites (SMSRSs), is proposed to meet this expectation. An SMSRS is a space system with morphological adaptability and functional reconfigurability. It carries multiple types of task subsystems, and these subsystems are arranged and reorganized at different space orientations to complete multiple types of space tasks. For example, when an SMSRS carries multiple space cameras, it could change the space orientations of these cameras through joint motions, achieve an expanded imaging area by stitching together the field of view of these cameras or achieve the reconnaissance of multiple targets.
An SMSRS is a chain structure composed of different functional modules and joints. In Figure 1, an SMSRS with five modules is shown. Each module has a standard interface and regular shape, and it is the integration of payloads or satellite subsystems. Modules of the SMSRS are scalable, and they are functionally independent and physically separated from each other. The standard interfaces are used to connect with modular joint modules for ground or in-orbit extension according to the type of space mission. The type and number of modules carried by the SMSRS are configured to mission requirements. The modular design of the SMSRS facilitates the reconfiguration in space and the folding and packaging before launch [2]. The modules of the SMSRS are connected by three rotating joints whose axes are orthogonal to each other to form degrees of freedom (DOFs) relative to rotation, rolling, and yaw directions so that the SMSRS can adaptively adjust its configuration. Unlike other types of reconfigurable satellites that adjust their configuration through robotic arms, external service robots, or autonomous flight, the SMSRS adjusts its configuration through joint motion.
The SMSRS switches the task capability by structural reconfiguration. During task switching, the SMSRS should be converted from the current configuration to target configuration by joint rotations, where a key aspect is to calculate the angle of rotation required of each joint. Mathematically, it involves converting the desired module poses of the SMSRS in Cartesian space to the joint angles in joint space, also known as the inverse kinematics problem. The solution of inverse kinematics is indispensable for the motion analysis and control of the SMSRS [3].
There are various methods to solve inverse kinematics of SMSRSs, such as the geometric method [4], algebraic method, iterative method [3], and optimization method [5]. Among them, the geometric and algebraic methods are collectively called analytical methods. The geometric method is to obtain the geometric relationship between the poses of the links and the joint angles by solving the trigonometric functions. However, the geometric method is only suitable for systems with few DOFs, so it is not generalized. The idea of the algebraic method is to convert the kinematic equations into high-order polynomials, and then solve for all the roots of these polynomials. However, the algebraic method usually does not yield a clear indication of the validity of these solutions. Users usually have to rely on intuition to select the correct solutions [4]. Despite its fast solving speed and high accuracy, the analytical method is only applicable to manipulators with simple structures. For complex, geometrically structured systems, the solution of their nonlinear trigonometric equations is too complex and does not always have analytical expressions, so the analytical solution cannot be guaranteed [6]. In this case, it is necessary to use the iterative method and optimization method.
The iterative method is mainly based on the Jacobian matrix [7] and is regardless of the number of DOFs. However, as the number of DOFs increases, iterative methods become increasingly expensive to compute [8] and also suffer from singularity problems [9].
For the inverse kinematic problems that are not suitable for the above-mentioned traditional methods, they can be solved by the optimization method, where the optimal joint of inverse kinematic problems is found by optimization algorithms. The optimization method is particularly suitable for the complex inverse kinematic problems because its calculation cost and time is not significantly increased due to the increase in DOFs, and it is based on the forward kinematics equation, so joint singularities can be avoided [7]. When adding additional constraints to the multi-solution inverse kinematics, the corresponding optimal solutions for different objectives can be obtained. Many researchers have attempted to solve inverse kinematics with a variety of meta-heuristic algorithms, including the Genetic algorithm (GA) [10,11], the Artificial Bee Colony algorithm (ABC) [12,13], the Particle Swarm Optimization algorithm (PSO) [14,15], the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) [16] and the Differential Evolution algorithm (DE) [17,18], et al.
In inverse kinematics of SMSRS, different from other self-reconfiguration systems (e.g., space manipulators), the SMSRS is concerned with the pose of multiple modules and not only the pose of the end-effector. In addition, due to the large size of the modules, it is necessary to consider the avoidance of self-collision of the SMSRS. Along with the redundant DOFs, the inverse kinematics of SMSRS is too difficult to be solved by traditional methods, so we used the optimization method to solve it. In addition, due to the specificity of the space task, the accuracy of the SMSRS solution is required to be higher. To solve the inverse kinematics of SMSRS with higher accuracy, we propose a new segmented hybrid CMA-ES and PSO (SHCP) algorithm in this paper and consider the self-collision avoidance of the SMSRS in the inverse kinematics problem.
The rest of the paper is organized as follows. In Section 2, the kinematic model of SMSRS is established. In Section 3, the objective function of inverse kinematics with self-collision avoidance of SMSRS is established, and detailed optimization steps are proposed. The SHCP algorithm is proposed in Section 4. In Section 5, the SHCP algorithm is used to optimize the inverse kinematic problem of SMSRS with different requirements on module poses, and the optimization results are compared with other PSO variants, meta-heuristic and hybrid algorithms. Section 6 discusses and summarizes the work.

2. Kinematics Modeling of SMSRS

Kinematics describes the relationship between the coordinates of the joint space and the task space. The forward kinematics map the joint space to the task space, while the inverse kinematics is the opposite mapping [12]. For an SMSRS, once a task is started, the task planning system determines its task configuration and communicates the reconfiguration requirements to the control system of the SMSRS. These requirements are usually given in the form of the absolute or relative pose of task modules. This process depends on the establishment of forward kinematics and the solution of inverse kinematics.

Forward Kinematiccs of SMSRS

An SMSRS consists of a series of rigid bodies and its modules and inter-module connection structures can be regarded as links, so it is a typical multi-link system. In forward kinematics, these links are connected by joints to form a motion chain. The pose of each link can be presented directly in the homogeneous transformation matrix by link parameters and joint variables. The number of joints Nj defines the DOFs of the SMSRS. The homogeneous transformation matrix of the ith link relative to the base coordinate system Σ b is:
T i 0 = n x i o x i a x i p x i n y i o y i a y i p y i n z i o z i a z i p z i 0 0 0 1   =   n i o i a i p i 0 1   =   R i p i 0 1
where, R i   represents the desired attitude matrix and   p i   presents the desired position vector of the ith link. The relative poses of non-adjacent links can be obtained by the successive multiplications of adjacent link homogeneous transformation matrices [7]. Equation (2) shows the pose of the ith link relative to Σ b .
T i 0 = T 1 0 θ 1 T 2 1 θ 2 T 3 2 θ 3   T i i 1 θ i   = k = 1 i T k k 1 θ k
where, θ i   1 , 2 , 3 , , N j represents the ith joint angle. The first step to obtaining the homogeneous transformation matrix is to establish the multi-link coordinate system according to certain rules, then select the parameters to represent coordinate system relationships. Among various methods for establishing multi-link coordinate systems, the Denavit-Hartenberg (D-H) [19] method has clear principles and can obtain the homogeneous transformation matrix by simple and fast iteration, which is used in this paper. According to its principles, each link needs to fix a coordinate system, and four parameters are selected between adjacent coordinate systems to indicate their relative relationship, which are linked length A, link twist α , link offset d, and joint angle θ . The four parameters present four-step motions from the (i − 1)th coordinate system to the ith coordinate system. In the forward kinematics of SMSRSs, any simple joint motion can be expressed by a homogeneous transformation matrix, and the complex motions can be expressed by multiplying these homogeneous transformation matrices, so the homogeneous transformation matrix of the four-step motions can be expressed in Equation (3).
T i i 1 = R o t x , α i 1 · T r a n A i 1 , 0 , 0 · R o t z , θ i · T r a n 0 , 0 , d i = 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 = 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
On the contrary, given T N j 0 by Equations (2) and (3), the joint variables q = θ 1 θ 2 θ 3 θ N j T   cannot be calculated directly forward; thus they are called inverse kinematics.

3. The Objective Function for Solving Inverse Kinematics of SMSRS

3.1. Pose Error of Single Module

We use the optimization method to solve optimal q = θ 1 θ 2 θ 3 θ N j T for the given module pose (the inverse kinematics of SMSRS). The optimization goal is to minimize the error between the desired poses and the estimated poses of modules, which is usually expressed mathematically by searching for the minimum value of the Euclidean distance between the desired poses and the estimated poses of modules [7]. For the ith module, we define its estimated homogeneous transformation matrix:
T i 0 ^ = n ^ x i o ^ x i a ^ x i p ^ x i n ^ y i o ^ y i a ^ y i p ^ y i n ^ z i o ^ z i a ^ z i p ^ z i 0 0 0 1   =   n ^ i o ^ i a ^ i p ^ i 0 1   =   R ^ i p ^ i 0 1
where, R ^ i   represents the estimated attitude matrix and   p ^ i presents the estimated position vector of the ith link. And T i 0 in Equation (1) presents the desired homogeneous transformation matrix.
Position error: The objective function to minimize the error between   p ^ i and p i can be defined as:
f i p = p i p ^ i p ^ i
Attitude error: The objective function to minimize the error between   R ^ i and R i can be defined as:
f i R = R i R ^ i R ^ i
Objective function: Defining the objective function of minimum pose error of ith module:
f p R T i 0 , T ^ i 0   =   ε · f i p +   1 ε   ·   f i R
The first term on the right side of Equation (7) represents the requirements for minimum position error and the second term represents the requirements for minimum attitude error. ε is the weight factor to measure their contribution and is defined as:
ε = α e δ + β
where, δ = f i R and α = 0.7 ,     β = 0.3 were selected experimentally. If the value of f i R is large ( ε ≈ 0.3), the weight factor gives priority to f i R . On the other hand, if the value of f i R   is small ( ε ≈ 1), the weight factor gives priority to f i p . When only the minimum position or attitude error in different tasks is required, the objective function may be only one term of Equation (7), that is:
f p R T i 0 , T ^ i 0   = f i p   o r   f i R

3.2. Pose Error of Multi-Modules

When establishing the multi-link coordinate system of the SMSRS, the Σ b is usually established at the center of mass of the attitude control module to facilitate the attitude control, and then the multi-link coordinate systems of the SMSRS is divided into a and b sides by Σ b . When there is a requirement for the minimum pose error of multiple SMSRS modules, we define them as task modules. Consider a space task that has m task modules, n modules on the a side of Σ b (the module where Σ b is located is grouped into the a side) and m-n modules on the b side of Σ b . Taking Σ b as the counting starting point, the a j th module is located at the 3 a j 1 th link coordinate system on the a side. The b j th module is located in the 3 b j 1 th link coordinate system on the b side. As shown in Figure 2, the n task modules on a side are numbered η 1 a ,   ,   η n a link, which are displayed in dark blue. The m-n task modules on the b side are numbered η 1 b ,   ,   η m n b , and they are shown in light blue. The task modules are not necessarily adjacent to each other. After the task planning, since SMSRSs are free-floating and have no fixed base, the desired pose of each module is given relative to the inertial system Σ I , which are T g I ,     g = η 1 a ,   ,     η n a ,     η 1 b ,   ,     η m n b .
To establish the objective function of minimum pose error of the m task modules, the relative homogeneous transformation matrices of every two adjacent task modules should be calculated in a certain order. There are two possible relationships between the two adjacent modules: on the same side and or both sides of Σ b .
(1)
When two adjacent modules are on the same side of Σ b : taking the η g 1 a ,     η g a link on a side as an example, their homogeneous transformation matrices relative to Σ I are:
T η g 1 a I = T 0 I T 1 0 a T 2 1 a T η g 1 a η g 1 a 1 a
T η g a I = T 0 I T 1 0 a T 2 1 a T η g a η g a 1 a
Then, the relative homogeneous transformation matrix between them can be calculated:
T η g a η g 1 a = T η g 1 a I 1 T η g a I = T η g 1 a + 1 η g 1 a T η g 1 a + 2 η g 1 a + 1 T η g a η g a 1
(2)
When the two adjacent links are located on different sides of Σ b , they are η 1 a ,     η 1 b link of SMSRS, and their homogeneous transformation matrices relative to Σ I are:
T η 1 a I = T 0 I T 0 1 a T 2 1 a T η 1 a η 1 a 1 a
T η 1 b I = T 0 I T 0 1 b T 2 1 b T η 1 b η 1 b 1 b
The relative homogeneous transformation matrix between them is:
T η 1 b η 1 a   = T η 1 a I 1 T η 1 b I   = T η 1 a 1 η 1 a a T 0 1 a T 1 0 b T η 1 b η 1 b 1 b
Accumulating the objective function of minimum pose error between each two adjacent task modules, the objective function of the m task modules are:
f p o s e = i = 1 n 1 f p R T η i a η i + 1 a , T ^ η i a η i + 1 a   + j = 1 m n 1 f p R T η j + 1 b η j b , T ^ η j + 1 b η j b   +   f c R T η 1 b η 1 a , T ^ η 1 b η 1 a

3.3. Self-Collision Avoidance

In an SMSRS, the modules have large volumes but are small in spacing, and their relative positions can also change in a wide range by joint motions, so they can easily collide with other modules. Therefore, it is necessary to avoid self-collision when solving the inverse kinematics of an SMSRS. In the optimization method, if there exists interference between any two modules under one solution, this solution needs to be excluded.
For an SMSRS, Ψ   is defined as the set of all modules. We select two different modules y , r Ψ   y r   and calculate the 2-norm of the difference between their position vectors d y r . When the two modules have not collided, d y r needs to satisfy:
d y r =   p y p r   > 2 R C
where RC is the body diagonal of the module. As shown in Figure 3, an SMSRS with three modules is taken as an example. Draw three spheres with the centers of the modules as the origins and the body diagonal lengths as the radii. According to the judgment criteria in Equation (17), it is obvious that module 2 collided with 3, and module 1 has no contact with modules 2 and 3. From Equation (1), we find that the position vectors of the ith link related to Σ b can be obtained by T i 0 , and the T i 0 takes the q = θ 1 θ 2 θ 3 θ N j T as the variable.
When using the optimization method to achieve self-collision avoidance, we define the objective function for self-collision avoidance of SMSRS:
f c a q   =   0 ,     y , r Ψ , d y r > 2 R C Δ ,       e l s e
where Δ is a large value. When the module collides, the value of f c a q is large, forcing the optimization algorithm to constantly find the solution which satisfies f c a q   = 0 .

3.4. Objective Function

The objective function of the inverse kinematic of SMSRS can be defined as:
f q   =   f p o s e q   +   f c a q
It is the combination of the objective function for minimum pose error and self-collision avoidance. In Equation (19), f p o s e q shown in Equation (16) represents the difference between the desired pose and the actual pose, and f p o s e q shown in Equation (18) is used to determine if there are collisions between modules in the SMSRS with joint angle as q . The essence of the inverse kinematic issue is to find the optimal joint angles q = θ 1 θ 2 θ 3 θ N j T   by optimization algorithms to achieve the minimum difference between the desired and actual pose of modules and guarantee that no collisions occur. When the optimization algorithm uses f q as the fitness function, it will continuously find a more suitable q to make f q smaller and smaller, thus achieving minimum pose error and self-collision avoidance.

3.5. How to Solve the Inverse Kinematic Problem

While using intelligent algorithms to solve inverse kinematics problems of SMSRSs, every individual contains a set of estimated joint variables q ^ i = θ ^ 1 θ ^ 2 θ ^ 3 θ ^ N j T w i t h   i 1 , 2 , 3 , . , N , and N is the total number of individuals, Nj is the DOFs of the SMSRS. Each set of joint variables can be brought into Equation (19) to obtain a fitness value of f q . The best solution q ^ best is obtained by minimizing the fitness value of f q in each iteration, until it meets the stop criteria. We proceed to solve the inverse kinematic of the SMSRS as follows:
(1)
Initialization. Every individual q ^ i is initialized randomly according to:
q ^ i = I b   +   u b I b r
r =   r a n d 1 , r a n d 1 , r a n d N j is a random vector with r 0 , 1 , and I b , u b are lower and upper bound of q ^ i , which are defined as:
I b = θ 1 m i n θ 2 m i n θ 3 m i n θ N j m i n T u b = θ 1 m a x θ 2 m a x θ 3 m a x θ N j m a x T
where θ i m i n , θ i m a x i 1 , 2 , 3 , , N j   are the minimum and maximum angle of ith joint.
(2)
Fitness calculation. For every q ^ j , we compute its forward kinematics using Equations (1)–(3) to obtain T ^ g I ,   g = η 1 a , , η n a ,     η 1 b , , η m n b , and then calculate the estimated relative homogeneous transformation matrices between two adjacent modules of m task modules by Equations (12) and (15). We use these estimated relative homogeneous matrices that contain estimated relative position and attitude to compute the fitness value in Equation (19).
The best solution q ^ best is found by solving an optimization problem:
m i n i m i z e : f q ^ s u b j e c t   t o : l b q ^ i u b
(3)
Stop criteria. The optimization algorithm stops when it achieves the maximum iterations, or the fitness value reaches a value of tolerance.

4. Segmented Hybrid PSO and CMA-ES Algorithm

According to the No Free Lunch (NFL) theorem [20], no optimizer is perfect and can always be the best optimizer to solve any problem [21]. Usually, an optimizer can obtain the exact optimal result of a certain kind of problem, but it may also converge to the local optimal solution or wrong solution when dealing with another kind of problem. This means that the structure and operation of the optimizer need to be adapted according to the specific problem. However, this does not mean that we always need to develop new methods to obtain higher-quality solutions for a new problem. The NFL theorem encourages us to further modify the existing optimizers to solve specific problems. In the inverse kinematic problems of SMSRSs, we envisaged to hybridize PSO with CMA-ES algorithms to obtain more accurate solutions.
The PSO algorithm has been broadly used to solve engineering optimization problems due to its simplicity, few parameters, and fast convergence speed, so we select it as one of the hybridized algorithms [22]. The concept of the PSO is based on the assumption that a particle is a potential solution to the optimization problem. The particle flies through the search space and adjusts its velocity and position following the experience of individual and surrounding particles until it finds the optimal position [23]. However, traditional PSO algorithms cannot focus on convergence speed, exploitation, and exploration performance simultaneously. Typically, the PSO algorithm has good global search performance and can quickly reduce the fitness value in the initial stage. However, it may be limited in local exploration performance and is prone to be premature. When the PSO algorithm falls into local optima, more iterations cannot reach a better solution.
Unlike PSO, the CMA-ES has good local exploration performance but poor global exploitation performance. CMA-ES is an outstanding representative of various variants of ES. CMA-ES handles the pairwise dependencies between sample points by the covariance matrix and generates new samples with a multivariate normal distribution [24]. Therefore, the CMA-ES algorithm is often used to improve the global search performance of other algorithms [21,25]. Selecting it as the other algorithm for hybridization, we propose a new Segmented Hybrid PSO and CMA-ES (SHPC) algorithm.

4.1. PSO Framework

In PSO, every potential solution of a D-dimensional problem is regarded as a particle. Each particle has several important parameters, which are current velocity, current position, and the current optimal position of particle swarm, and they are both D-dimensional vectors [26]. The position and velocity of the ith particle can be expressed as:
x i =   x i 1 , x i 2 , , x i D
v i =   v i 1 , v i 2 , , v i D
The PSO uses the velocity updating formula and the position updating formula to guide the kth update of each particle:
v i k + 1   =   w v i k   +   c 1 r 1 P b e s t k     x i k   +   c 2 r 2 G b e s t k     x i k
x i k + 1   =   x i k   +   v i k + 1
where w is inertia weight, P b e s t is the optimal position of the ith particle, G b e s t is the global optimal position of the population. c 1 , c 2 are learning factors in [0.5, 2]; r 1 and r 2 are random values in (0, 1). ω is an important parameter for tuning the performance of PSO, and its widely used forms include constant value, linear and nonlinear, etc. In this paper, the PSO with linear inertia weight (LIW-PSO) is chosen as the hybridized algorithm. In LIW-PSO, the linear inertia weight can balance global exploration and local exploitation better, a larger ω is used to achieve a good global exploration in the early stage, and at the end of the algorithm, a smaller ω is used to achieve good local exploitation [27].
The right side of Equation (25) has three parts. The first part is the inertia part, which shows the influence of the velocity of the last movement of the particle. The second is the individual cognition part, which determines the particle velocity towards the individual optimal position. The third is the social recognition part, which determines the particle velocity towards the global optimal position. These three parts guide the motion of particles together. In PSO, the updates of P b e s t and G b e s t are evaluated by the fitness function and performed once in each iteration.

4.2. CMA-ES Framework

The CMA-ES is usually used to solve complex nonlinear, discontinuous convex optimization problems [21]. The three essential operations of the CMAES algorithm are:
(1)
Sampling operation: firstly, the CMAES algorithm selects a solution in the solution space at random, which is used as a centroid to generate the population using a normal distribution. As shown in:
X i k + 1 m k   +   σ k N 0 , C k , i = 1 , 2 , , p o p s i z e
where X i is the ith individual in the population. popsize is the population size. m is the centroid of the population. σ is the step length. N is the multinomial normal distribution, and C is the covariance matrix of the population, which is the vital element of the CMA-ES algorithm. According to the above multivariate normal distribution, the population generated has an isodense surface that is a hyperellipsoid, and the eigenvector of C corresponds to the population distribution of the long axis of an ellipsoid. The initial C can be set to a D × D unit matrix.
(2)
Selection and reorganization operation: this operation selects a part of the optimal solution as a subpopulation in the generated population. The new m is as follows:
m k + 1   = i = 1 μ ρ i X i k + 1 ,
where µ is the subpopulation size. X i is the ith individual selected among the popsize individuals in the population. ρ is the weight, and the sum of ρ is 1. This rule indicates that the distribution center of the next-generation population will shift to the subpopulation.
(3)
Update operation: in this operation, C is updated to guide the population to search for global optimal solutions, including two operation modes: Rank−µ−update and Rank−1−update. The Rank−µ−update uses the deviation between the relative expectations of µ individuals, and the latter uses the deviation between the expectations of two adjacent generations [21].
C k + 1   =   1 c r 1 c r μ   ·   C k + c r 1 · P c t + 1   ·   P c k + 1 T + c r μ · i μ ω i · Y i k + 1   ·   Y i k + 1 T ,
The second part of the summation on the right side of Equation (29) is the Rank−1−update, the third part is the Rank−µ−update, and cr1 and c r μ are the learning rates of two update modes, c r 1 = 2 / D 2 ,   c r μ = m i n μ e f f / D 2 , 1 c r 1 , μ e f f is the variance-influencing choice set:
μ e f f = i = 1 μ ρ i 2 1 ,
And, Y i k + 1   =   X i k + 1     m k / σ k , c c is the learning rate of the evolutionary path P c . The step length σ is updated as follows:
σ k + 1   = σ k e x p c σ d σ P σ k + 1 E N 0 , I 1 ,
where E(·) is the expectation function. I is the unit matrix. c σ is the learning rate of the step, d σ is the step update of the damping coefficient. P σ is the evolutionary path of the step size, and its initial value is zero. After the update, it is:
P σ k + 1   =   1 c c   ·   P σ k   +   c c ·   2 c c   ·   μ e f f C ( k ) 1 2 ×   m k + 1 m k σ k ,
Most of the parameters in the CMA-ES are independent. When the initial parameters are set, similar to PSO, the CMA-ES iterates through the above operations and gradually searches for the global optimal solution.

4.3. SHPC Algorithm

To address the need for the high-precision inverse kinematic solution of SMSRS, the SHPC algorithm hybridizes the global exploitation performance of the PSO algorithm with the local exploration performance of CMA-ES, which can give full play to their superiorities to obtain more accurate solutions. The novelty is that the hybrid approach of CMA-ES and PSO is segmented rather than structured. Structural hybrids will increase the complexity and computing time of the algorithm. The basic idea of the segmented hybrid is to divide the whole optimization process into global and local search stages. On the global stage, the PSO algorithm is used for a fast approach to the optimal solution. In the local search stage, CMA-ES and PSO algorithms are alternately used to achieve better local exploitation. To define the boundary of the two stages, we propose a fitness gradient function:
f h k   =   f b e s t k     f b e s t k h / f b e s t k h ,
where f b e s t k is the best fitness value obtained in the kth iteration, and h is the step width, which is a constant value set as 30 in the global search stage, f h k represents the relative change of the fitness value after the h iterations. In each iteration, we compare the value of f h k with the expected fitness gradient ξ , which is set as:
ξ = 0.2 / l o g 10 k
In the beginning, to give the PSO algorithm an adaptation period to fully utilize its global search capability, the SHCP algorithm runs the operation of the PSO algorithm in the first 50 iterations. After 50 iterations, we compare the values of f h k with ξ in each iteration; when f h k   ξ , the PSO algorithm is considered to be still in the global search stage. Once f h k   < ξ , we judge that the PSO algorithm has changed from the global exploitation stage to the local exploration stage, where the CMA-ES and PSO algorithm is used to find optimal solutions one after another, the so-called segmented hybrid.
The first step in the local exploration stage is to use the best position G ^ b e s t k obtained by the PSO algorithm as the m(k + 1) at the start of the CMA-ES algorithm. During the runtime of the CMA-ES algorithm, the fitness gradient function f h k is used again to judge whether the CMA-ES searches for the optimal solution effectively. The difference is the expected fitness gradient value ξ is set as 0.01, and the step width h is set as 10 at the local search stage. When f h k   ξ , the current algorithm will still be used for optimization; when f h k   < ξ , instead of rejecting it to give the current algorithm more opportunities to show its talent, we propose a counter H with an initial value of 0. In each iteration with f h k   < ξ , H = H + 1; otherwise, H = 0. When the value of H exceeds 100, it indicates that after a period of iterations, the CMA-ES algorithm cannot find a better solution, so the algorithm switches to the PSO algorithm and takes the latest m obtained by the CMA-ES algorithm as the initial particles’ positions. There is also a counter K in the PSO algorithm, and its initial value is 0. In each iteration with   f h k   < ξ , K = K + 1; otherwise, K = 0. When the value of H exceeds 100, it indicates the PSO algorithm loses its effectiveness; then, the SHCP algorithm switches to the CMA-ES algorithm again. The two counters control the segmented operation of the PSO and CMA-ES algorithms according to the changes of the f h k . The pseudo-code of SHPC is as follows (Algorithm 1):
Algorithm 1. SHCP algorithm
Set k:= 0, H = 0, K = 101
Randomly initialize positions and velocities of all particles of PSO
WHILE (the termination conditions are not met)
  WHILE (k < 50 or f h k   ξ )
  Step1: Exploitation stage (Execute PSO algorithm)
   FOR (each particle i in the swarm)
    Calculate fitness: Calculate the fitness value of the current particle: f (xi).
    Update Pbest: Compare the fitness value of Pbest with f (xi).
    If f (xi) is better than the fitness value of Pbest, then set Pbest to the current position xi;
    Update Gbest: If f (xi) is better than the fitness value of Gbest, then Gbest is set to the position of the current particle xi;
    Update velocities: Calculate velocities vi using Equation (25). If vi > vmax then vi = vmax.If vi < vmin then vi = vmin;
    Update positions: Calculate positions xi using Equation (26);
   END FOR
  ELSE
  Step 2: Exploitation stage (Execute CMA-ES and PSO algorithm)
   WHILE (H < 100 & K > 100) (Execute CMA-ES algorithm)
   Initialize population of CMA-ES (set Gbest as the m at CMA-ES)
    FOR (each individual i)
     Update xi: Generating new individuals using the Gaussian distribution by Equation (27).
     Calculate fitness: Calculate the fitness value of the current individuals: f (xi).
     If f (xi) is better than the best fitness value, then set best fitness value as f (xi);
     Update m: Updating m by the best μ individual in Equation (28)
     Update C and σ: Covariance matrix C and Step σ are updated by Equations (29) and (31).
    END FOR
    If f h k   ξ
     H = 0.
    ELSE
     H = H + 1.
    END IF
   ELSE (Execute PSO algorithm)
   Initialize positions of all particles as best position obtained by CMA-ES and set K = 0, H = 0 in the first iteration. Execute PSO algorithm same as Step 1
    If f h k   ξ
     K = 0.
    ELSE
     K = K + 1.
    END IF
   END WHILE
  Set k:= k + 1;
END WHILE

5. Experimental Settings

5.1. Settings of SMSRS

In this paper, we choose an SMSRS with nine modules as the study object. The middle module is selected to establish the Σ b , so there are 4 modules on both the a and b side of Σ b . For some space systems, such as space dual-arm robots, the joint axis on both sides of Σ b are always designed to be symmetrical in direction, so the D-H parameters on both sides are equal. However, the three joints between the modules are orthogonal, which causes the asymmetrical D-H parameters on both sides of Σ b . To solve the violation, we proposed the virtual joint coordinate system Jv. Jv is a coordinate system established between the Σ b and the first joint coordinate system on the b side. Its insertion could successfully solve the problem of asymmetrical D-H parameters on both sides. Jv increases the DOF of the SMSRS by 1, but does not affect the mass and size of the SMSRS when its mass and size are set to 0. Then, the calculation of the pose matrix of the link on the b side only needs to multiply the homogeneous transformation matrix from the Jv to Σ b between the first joint coordinate system and Σ b . More details can be seen in reference [2]. Then, the DOF of the a side is 12, and, the DOF of the b side is 13 due to the existence of virtual joints. The D-H parameters of SMSRS are shown in Table 1.
The lower and upper limits of the joint angle are set as:
    I b =   90 90 90 90 T u b =   90 90 90 90 T  

5.2. Cases of Inverse Kinematic Problems

In this paper, we will use the SHPC algorithm to solve three cases of inverse kinematics problems of SMSRS, in which the minimum position and attitude error of two modules, the minimum position and attitude error of three modules, the minimum attitude error of four modules are searched respectively. Self-collision avoidance between modules is considered in all three cases; the nine module SMSRSs with task modules marked in red are shown in Figure 4.

5.2.1. Case 1: Minimum Position and Attitude Error of Two Modules

As shown in Figure 4a, we select the end modules of a side and b side as the task modules, that is m = 1, n = 1, η 1 a = 12 , η 1 b = 13 in Section 3.2. The pose matrix of η 2 a ,     η 1 b relative to Σ I is:
T η 1 a I = T 0 I T 1 0 a T 2 1 a T 12 11 a
T η 1 b I = T 0 I T 1 0 b T 2 1 b T 13 12 b
Calculating their relative pose matrix:
T η 1 b η 1 a = T η 1 a I 1 T η 1 b I = T 11 12 a T 10 11 a T 0 1 a T 1 0 b T 2 1 b T 13 12 b
At this time, the objective function is:
f 1 q   = f p R T η 1 b η 1 a , T ^ η 1 b η 1 a   +   f c a ( q )
The desired homogeneous transformation matrices of the two modules are set as:
T ^ η 1 a I = 0 . 791 0 . 320 0 . 522 0 . 447 0 . 314 0.519 0 . 794 1 . 150 0 . 52 0 . 792 0 . 310 0 . 644 0.000 0.000 0.000 1.000
T ^ η 1 b I = 0 . 754 0 . 133 0 . 642 1 . 060 0 . 173 0 . 984 0 . 000 0 . 828 0 . 633 0 . 112 0 . 766 0 . 685 0.000 0.000 0.000 1.000

5.2.2. Case 2: Minimum Position and Attitude Error of Three Modules

As shown in Figure 4b, we select the end module of a side, base module, and end module of b side as the task modules, that is m = 2, n = 1, η 1 a = 0 , η 2 a = 12 ,   η 1 b = 13 in Section 3.2. The pose matrix of η 2 a ,     η 1 b in Σ I is the same as Equations (36) and (37). The pose matrix of the base module in Σ I is T 0 I , which is given by sensors. The relative homogeneous transformation matrix T η 1 a η 2 a , T η 1 b η 1 a are calculated, respectively, as:
T η 1 a η 2 a = T 11 12 a T 10 11 a T 0 1 a
T η 1 b η 1 a = T 1 0 b T 2 1 b T 13 12 b
At this time, the objective function is:
f 2 q   =   f p R T η 1 b η 1 a , T ^ η 1 b η 1 a   +   f p R T η 1 a η 2 a , T ^ η 1 a η 2 a   +   f c a q
The desired homogeneous transformation matrices of the three modules are set as:
T ^ η 1 a I = 1.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 1.000
T ^ η 2 a I = 0.242 0.775 0.583 1.667 0.198 0.627 0.752 0.116 0.949 0.066 0.306 0.270 0.000 0.000 0.000 1.000
T ^ η 1 b I = 0 . 052 0 . 366 0 . 928 1.153 0.745 0 . 628 0.206 0.099 0 . 659 0 . 685 0.307 1.293 0.000 0.000 0.000 1.000

5.2.3. Case 3: Minimum Attitude Error of Four Modules

As shown in Figure 4c, we select the third and fifth modules of a side, second and fourth modules of b side as the task modules, that is m = 2, n = 2, η 1 a = 6 , η 2 a = 12, η 1 b = 7 , η 2 b = 13 in Section 3.2. The pose matrix of η 2 a ,   η 2 b in Σ I is the same as case 1. The pose matrix of η 1 a and η 1 b in Σ I is:
T η 1 a I = T 0 I T 1 0 a T 2 1 a T 6 5 a
T η 1 b I = T 0 I T 1 0 b T 2 1 b T 7 6 b
Calculating the relative matrix between them in turn:
T η 1 a η 2 a = T 11 12 a T 10 11 a T 6 7 a
T η 1 b η 1 a = T 5 6 a T 4 5 a T 0 1 a T 1 0 b T 2 1 b T 7 6 b
T η 2 b η 1 b = T 8 7 b T 9 8 b T 13 12 b
In case 3, the objective function is:
f 3 q   = f p R T η 1 b η 1 a , T ^ η 1 b η 1 a   +   f p R T η 1 a η 2 a , T ^ η 1 a η 2 a   +   f p R T η 2 b η 1 b , T ^ η 1 a η 2 a   +   f c a q
The desired homogeneous transformation matrices of the four modules are set as:
T ^ η 1 a I = 0.139 0.587 0.796 0.895 0.981 0.190 0.031 0.058 0.133 0.786 0.603 0.269 0.000 0.000 0.000 1.000
T ^ η 2 a I = 0.289 0.719 0.630 1.447 0.420 0.687 0.591 0.474 0.859 0.093 0.501 0.815 0.000 0.000 0.000 1.000
T ^ η 1 b I = 0.151 0.699 0.698 0.887 0.962 0.266 0.058 0.026 0.227 0.662 0.713 0.278 0.000 0.000 0.000 1.000
T ^ η 2 b I = 0.191 0.767 0.612 1.638 0.959 0.015 0.280 0.220 0.205 0.641 0.739 0.839 0.000 0.000 0.000 1.000

5.3. Settings of Compared Algorithms

To test the performance of the SHPC algorithm in solving inverse kinematic problems of SMSRSs, we selected several famous algorithms to compare it with. These algorithms include several PSO variants, several meta-heuristic algorithms, and several hybrid PSO algorithms. The PSO variants are standard PSO with constant inertia weight (SPSO), the standard PSO with linear inertia weight (LIW-PSO) [28], the standard PSO with nonlinear inertia weight (NLIW-PSO) [29], the PSO with constriction factor (CPSO) [30], the iterative PSO (IPSO) [31], and the PSO with the passive congregation (PSOPC) [32]. The selected meta-heuristic algorithms are DE [33], GWO [34], BA [35], BOA [36], and ABC [37] algorithms. The hybrid algorithms are HPSOBOA [36], PSOBOA [36], and PSOGWO [22]. The parameter settings of all selected algorithms are shown in Table 2, which are referenced in original literature or selected after extensive calculations.
The terminal condition is the maximum iteration and is set to 1000. All algorithms were implemented in MATLAB 2012a and run on the same machine with an Intel(R) Core(TM) i5-8300H CPU @ 2.30 GHz (Intel, Santa Clara, CA, USA) and 8 G memory.

6. Experiments and Comparison Results

6.1. Comparison Results in Solution Accuracy

The algorithms in Table 2 iteratively search for the minimum values of objective functions for the three cases. To perform a fair comparison of these algorithms, each algorithm runs 10 times in each case, and five statistical indicators: the average value, the best value, the worst value, median, and standard deviation are recorded for the 10 times optimizations. The results between SHPC and PSO variants, meta-heuristic algorithms, and hybrid algorithms are recorded in Table 3, Table 4 and Table 5.
From the comparison results between SHCP and other PSO variants in Table 3, it can be seen that the SHPC algorithm has outstanding performance in solving the inverse kinematics problems of all three cases. Although some statistical indicators of SHCP are not optimal, such as the best value in case 1 is not as good as that of SPSO, the difference between them is small, while all other statistical indicators of SPSO are worse than the SHCP algorithm. In general, all statistical indicators of SHCP algorithms exceed any PSO variant. In particular, the result of SHCP outperforms the LIW-PSO algorithm, which proves the introduction of CMA-ES into LIW-PSO can greatly improve the algorithm performance. It is worth noting that some statistical indicators in Table 3 exceed 10,000, such as the mean values of SPSO, NLIW-PSO, and CPSO in case 1, the mean values of CPSO and SPSO in case 2, which reflect that these algorithms cannot find suitable solutions to avoid self-collision. Fortunately, the SHPC algorithm can find solutions to avoid self-collision perfectly in every solution and achieves high solution accuracy in all three cases, which fully satisfies the requirements of space tasks. It can be concluded that the SHCP algorithm is a powerful and effective method for finding the high-precision solutions to the inverse kinematics problem of SMSRS.
From the comparison results between SHCP and other meta-heuristic algorithms in Table 4, we find that the SHCP algorithm shows great advantages in general. In case 1, all the statistical indicators outperform other meta-heuristic algorithms. In case 2, all the statistical indicators of SHCP algorithms outperform all meta-heuristic algorithms except the DE algorithm. Although the results are not better than the DE algorithm, they are very close. In case 3, all the statistical indicators of SHCP algorithms outperform all algorithms except for the worst value and standard deviation which are worse than the DE algorithm, but the results of the SHCP algorithm are still better than the result of the DE algorithm in general. There is no doubt that the DE algorithm is excellent. In particular, the result of the SHCP algorithm is better than that of the CMA-ES algorithm, which proves the hybrid with LIW-PSO can greatly improve the performance of the CMA-ES algorithm. All statistical indicators of BA algorithms exceed 10,000, which proves that it cannot find a solution to avoid self-collision.
From the results in Table 5, it can be seen that the SHPC algorithm has comprehensive advantages over other hybrid algorithms. All the statistical indicators of the SHCP algorithm exceed other hybrid algorithms, indicating the segmented hybrid mechanism of SHPC is an effective operation. In addition, the performance of the hybrid BOA algorithm is inferior to the non-hybrid algorithm in some cases, but the performance of the PSOGWO algorithm outperforms the GWO algorithm, indicating that the hybrid algorithm may or may not achieve better solution results, and needs to be adjusted to local conditions.

6.2. Result Comparisons on Convergence Curves

To analyze the algorithm performance from the convergence process, for each algorithm, the optimal convergence curves among 10 runs in the three cases are drawn in Figure 5. The fitness value is calculated logarithmically based on ten. We can find the curve of the SHCP in each case is basically near the bottom of the figure, which indicates the SHCP algorithm can always maintain its advantages throughout the iterations. The algorithms with almost horizontal fitness curves, such as the CPSO, PSOPC, IPSO, BOA, BA, and PSOBOA, show signs of prematureness. The curve of the SHCP algorithm maintains a downward trend overall throughout the iteration, which indicates that it can effectively avoid prematureness.

6.3. Self-Collision Avoidance

As shown in Figure 6a c, the configurations of the SMSRS of case 1-3 respectively under the final solutions obtained by the SHCP algorithm are drawn and used to judge whether there are collisions between the modules. It can be seen that there is no contact between all modules, which meets the requirements for no self-collision in all three cases. It demonstrates the correctness of the proposed self-collision avoidance strategy and the effectiveness of the optimization method in achieving self-collision avoidance of the SMSRS.

6.4. Feasibility Analysis of the Optimization Method

To analyze the feasibility of the optimization method to solve the inverse kinematics, configurations of SMSRS obtained by different algorithms for one case are drawn in one figure; these algorithms are selected due to they have higher accuracy solutions among all compared algorithms. The results can be seen in Figure 7a–c.
In Figure 7a, the solution results of CMA-ES, SHCP, GWOPSO, and LIW-PSO algorithms are drawn in case 1. Although the entire configurations of SMSRS obtained by these algorithms are different, the relative position and attitude of their two task modules are basically the same, which proves that they are all trying to find the pose of the task modules to meet the requirements for case 1. The difference in solution accuracy causes the two end modules to not completely overlap, but the basic principle is that the higher the accuracy of the algorithm, the more it can meet the mission requirements.
Case 2 has a request for the relative pose of the three task modules. From the configurations obtained by the CMA-ES, SHCP, LIW-PSO, and DE algorithms in Figure 7b, we find the poses of the three task modules are basically the same, and the difference in the solution accuracy cause their slight pose differences.
In Figure 7c, the solution results of the SHCP, CMA-ES, GWOPSO, and LIW-PSO algorithms are selected in case 3 for drawing. Case 3 requires solutions to meet the relative attitude requirements of the four task modules, although the positions of the four task modules are different, their relative attitudes are basically the same. All the optimization algorithms are trying to find the solutions to meet the set attitude requirements.
The analysis result in this section proves the correctness of the kinematics model established in this paper and the feasibility of using the optimization algorithm to solve the inverse kinematics problem of SMSRSs.

6.5. Effect Analysis of Segmented Hybrid

To analyze the mechanism of the segmented hybrid, we draw the fitness curves of the SHCP algorithm and the segments where they are located. We then compare the fitness curves of the SHCP algorithm with those of the CMA-ES and LIW-PSO algorithm, which are the original algorithms of the SHCP algorithm. As shown in Figure 8, the segments of the fitness curve of the SHCP algorithm marked by the arrow run the CMA-ES algorithm, and the other segments run the PSO algorithm.
(1)
Case 1: the first segment in Figure 8a is the global search stage of the SHCP algorithm. At this stage, the curves of SHCP and LIW-PSO algorithms keep decreasing, but CMA-ES has stagnated, verifying that the LIW-PSO algorithm does have advantages in global search. After the continuous decline, the curve of the LIW-PSO algorithm in the fourth segment has gradually stabilized. At this segment, the SHCP algorithm runs the CMA-ES algorithm and its fitness value still fluctuates and decreases, breaking the stagnant trend of the original algorithm.
(2)
Case 2: in the first segment, the three curves decrease rapidly. After the SHCP algorithm enters the CMA-ES segment, the fitness value decreases rapidly after a period of the adaptation period, then trends to stagnation like the CMA-ES algorithm, while the curve of the LIW-PSO algorithm continues to decline. Whereas the LIW-PSO algorithm also tends to converge, the SHCP algorithm breaks through the bottleneck in the fifth segment and decreases rapidly until it exceeds the LIW-PSO algorithm. Case 2 indicates that when the convergence speed in the global search stage is unsatisfactory, the SHCP algorithm switches to the CMA-ES algorithm immediately to accelerate the fitness curve decline. It also demonstrates that the SHCP algorithm is constantly activated in the switching between LIW-PSO and CMA-ES algorithms, thus increasing the vitality of the algorithm.
(3)
Case 3: in this case, the LIW-PSO algorithm has shown excellent performance from the beginning. Therefore, the SHCP algorithm is always in the LIW-PSO segment until it obtains high-precision solutions, rendering CMA-ES useless. This phenomenon reflects that the SHCP algorithm could make full use of the excellent performance of the LIW-PSO algorithm, where LIW-PSO is applicable. It is also proven that the segmentation strategy can adaptively adjust the boundary of the global exploration stage and local exploitation stage.
By analyzing three cases, it is found that the SHCP algorithm can automatically adjust its operation according to the characteristics of the problem, realizing the adaptability to different task requirements and achieving solutions with higher accuracy. Therefore, the SHCP algorithm is proven to be an effective algorithm to solve the inverse kinematics problem of SMSRSs.

7. Conclusions

In this paper, we investigate how to use the optimization method to solve the inverse kinematics of hyper-redundant SMSRSs and propose the SHCP algorithm, which makes use of the global search advantages of PSO optimization and the local search advantages of CMA-ES algorithms by adopting the segmented hybrid concept to improve the algorithm performance. The SHCP algorithm is applied to solve inverse kinematics problems of SMSRSs. Compared with some PSO variants, hybrid algorithms, and meta-heuristic algorithms, SHCP has great advantages in general and can find higher quality solutions for desired poses of task modules, which proves the SHCP algorithm is adaptable for the inverse kinematics of SMSRSs. By analyzing the trends of fitness curves, it is found that the segmented hybrid mechanism of the SHCP can adaptively adjust the operation of the algorithm according to changes in the fitness value to obtain high accuracy solutions for completely different cases, which proves it to be a successful mechanism.
In addition, the self-collision avoidance considered in the inverse kinematics problem can be achieved by the optimization method. The SHCP algorithm is also an effective algorithm for finding solutions to avoid self-collision.
In this paper, the inverse kinematics of SMSRSs are studied for the first time; the study results prove that the SHCP algorithm is a recommended algorithm for solving the inverse kinematics of SMSRSs. The research methods and innovative algorithms have significance for future research. Improving the running speed of the SHCP algorithm will promote its onboard real-time operation, and future work will focus on optimizing the structure and improving the speed of the SHCP algorithm.

Author Contributions

Conceptualization, J.A. and X.L.; data curation, J.A.; formal analysis, Z.Z. and J.A.; funding acquisition, X.L. and D.Y.; investigation, J.A., W.M., J.H. and G.H.; methodology, J.A.; project administration, X.L.; supervision, X.L. and J.H.; writing—original draft, J.A and G.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Defense Science and Technology Innovation Zone of China, grant number 00205501.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhang, Y.; Wang, W.; Sun, J.; Chang, H.; Huang, P. A Self-Reconfiguration Planning Strategy for Cellular Satellites. IEEE Access 2019, 7, 4516–4528. [Google Scholar] [CrossRef]
  2. An, J.; Li, X.; Zhang, Z.; Man, W.; Zhang, G. Joint Trajectory Planning of Space Modular Reconfigurable Satellites Based on Kinematic Model. Int. J. Aerosp. Eng. 2020, 2020, 8872788. [Google Scholar] [CrossRef]
  3. Liang, X.; Takeda, Y. An iterative method for the inverse kinematics of lower-mobility parallel mechanism with three RS or SR chains based on kinematically equivalent mechanism. Mech. Mach. Theory 2019, 141, 40–51. [Google Scholar] [CrossRef]
  4. Lee, C.S.G.; Ziegler, M. Geometric Approach in Solving Inverse Kinematics of PUMA Robots. IEEE Trans. Aerosp. Electron. Syst. 1984, 6, 695–706. [Google Scholar] [CrossRef]
  5. Nearchou, A.C. Solving the inverse kinematics problem of redundant robots operating in complex environments via a modified genetic algorithm. Mech. Mach. Theory 1998, 33, 273–292. [Google Scholar] [CrossRef]
  6. Chembuly, V.V.M.J.S.; Voruganti, H.K. An Optimization Based Inverse Kinematics of Redundant Robots Avoiding Obstacles and Singularities. In Proceedings of the Advances in Robotics, New Delhi, India, 28 June–2 July 2017. [Google Scholar]
  7. Lopez-Franco, C.; Hernandez-Barragan, J.; Alanis, A.Y.; Arana-Daniel, N. A soft computing approach for inverse kinematics of robot manipulators. Eng. Appl. Artif. Intel. 2018, 74, 104–120. [Google Scholar] [CrossRef]
  8. Jiokou Kouabon, A.G.; Melingui, A.; Mvogo Ahanda, J.J.B.; Lakhal, O.; Coelen, V.; Kom, M.; Merzouki, R. A Learning Framework to inverse kinematics of high DOF redundant manipulators. Mech. Mach. Theory 2020, 153, 103978. [Google Scholar] [CrossRef]
  9. Ananthanarayanan, H.; Ordóñez, R. Real-time Inverse Kinematics of (2n+1) DOF hyper-redundant manipulator arm via a combined numerical and analytical approach. Mech. Mach. Theory 2015, 91, 209–226. [Google Scholar] [CrossRef]
  10. Bjoerlykhaug, E. A Closed Loop Inverse Kinematics Solver Intended for Offline Calculation Optimized with GA. Robotics 2018, 7, 7. [Google Scholar] [CrossRef] [Green Version]
  11. Ahmed, E.-S.; Mostafa, A.E.; Amira, Y.H. A comparative study of soft computing methods to solve inverse kinematics problem. Ain Shams Eng. J. 2018, 9, 2535–2548. [Google Scholar]
  12. El-Sherbiny, A.; Elhosseini, M.A.; Haikal, A.Y. A new ABC variant for solving inverse kinematics problem in 5 DOF robot arm. Appl. Soft Comput. 2018, 73, 24–38. [Google Scholar] [CrossRef]
  13. Zhang, L.; Xiao, N. A novel artificial bee colony algorithm for inverse kinematics calculation of 7-DOF serial manipulators. Soft Comput 2017, 23, 3269–3277. [Google Scholar] [CrossRef]
  14. Dereli, S.; Kker, R. A meta-heuristic proposal for inverse kinematics solution of 7-DOF serial robotic manipulator: Quantum behaved particle swarm algorithm. Artif. Intell. Rev. 2020, 53, 949–964. [Google Scholar] [CrossRef]
  15. Sancaktar, I.; Tuna, B.; Ulutas, M. Inverse kinematics application on medical robot using adapted PSO method. Eng. Sci. Technol. Int. J. 2018, 21, 1006–1010. [Google Scholar] [CrossRef]
  16. Fan, B.; Liang, Z. Omnidirectional kick in RoboCup3D simulation. In Proceedings of the 2014 IEEE International Conference on Mechatronics and Automation, Tianjin, China, 3–6 August 2014. [Google Scholar]
  17. Nguyen, T.; Nguyen, H.; Dang, K.; Nguyen, P.; Pham, H.; Bui, A. Simulation and Experiment in Solving Inverse Kinematic for Human Upper Limb by Using Optimization Algorithm; Springer International Publishing: Cham, Switzerland, 2021; pp. 556–568. [Google Scholar]
  18. Zhang, Q.; Wang, D.; Gao, L. Research on the inverse kinematics of manipulator using an improved self-adaptive mutation differential evolution algorithm. Int. J. Adv. Robot. Syst. 2021, 18, 172988142110144. [Google Scholar] [CrossRef]
  19. Khaled Mohamed, H.E.; Elsharkawy, A. Dynamic analysis with optimum trajectory planning of multiple degree-of-freedom surgical micro-robot. Alex Eng. J 2018, 57, 4103–4112. [Google Scholar] [CrossRef]
  20. Wolpert, D.H.; Macready, W.G. No Free Lunch Theorems for Optimization. IEEE Trans. Evol. Comput. 1997, 1, 67–82. [Google Scholar] [CrossRef] [Green Version]
  21. Hu, J.; Chen, H.; Heidari, A.A.; Wang, M.; Zhang, X.; Chen, Y.; Pan, Z. Orthogonal learning covariance matrix for defects of grey wolf optimizer: Insights, balance, diversity, and feature selection. Knowl.-Based Syst. 2021, 213, 106684. [Google Scholar] [CrossRef]
  22. Şenel, F.A.; Gökçe, F.; Yüksel, A.S.; Yiğit, T. A novel hybrid PSO–GWO algorithm for optimization problems. Eng. Comput. 2019, 35, 1359–1373. [Google Scholar] [CrossRef]
  23. Niu, B.; Zhu, Y.; He, X.; Wu, H. MCPSO: A multi-swarm cooperative particle swarm optimizer. Appl. Math. Comput. 2007, 185, 1050–1062. [Google Scholar] [CrossRef] [Green Version]
  24. Xu, P.; Luo, W.; Lin, X.; Qiao, Y.; Zhu, T. Hybrid of PSO and CMA-ES for Global Optimization. In Proceedings of the 2019 IEEE Congress on Evolutionary Computation (CEC), Wellington, New Zealand, 10–13 June 2019. [Google Scholar]
  25. Xu, Y.; Ye, Q.; Hoorfar, A. Surface Reconstruction of Large Reflector Antennas Based on a Hybrid of CMA-ES and HIO Algorithms. In Proceedings of the 2019 IEEE International Symposium on Antennas and Propagation and USNC-URSI Radio Science Meeting, Atlanta, GA, USA, 7–12 July 2019. [Google Scholar]
  26. Chander, A.; Chatterjee, A.; Siarry, P. A new social and momentum component adaptive PSO algorithm for image segmentation. Expert Syst. Appl. 2011, 38, 4998–5004. [Google Scholar] [CrossRef]
  27. Shi, Y.; Eberhart, R. A modified particle swarm optimizer. In Proceedings of the 1998 IEEE International Conference on Evolutionary Computation Proceedings, Anchorage, AK, USA, 4–9 May 1998. [Google Scholar]
  28. Shi, Y.; Eberhart, R.C. Empirical study of particle swarm optimization. In Proceedings of the 1999 Congress on Evolutionary Computation-CEC99, Washington, DC, USA, 6–9 July 1999. [Google Scholar]
  29. Jiao, B.; Lian, Z.; Gu, X. A dynamic inertia weight particle swarm optimization algorithm. Chaos Soliton Fract. 2008, 37, 698–705. [Google Scholar] [CrossRef]
  30. Clerc, M. The swarm and the queen: Towards a deterministic and adaptive particle swarm optimization. In Proceedings of the 1999 Congress on Evolutionary Computation-CEC99, Washington, DC, USA, 6–9 July 1999. [Google Scholar]
  31. Lee, T.-Y.; Chen, C.-L. Unit commitment with probabilistic reserve: An IPSO approach. Energy Convers. Manag. 2007, 48, 486–493. [Google Scholar] [CrossRef]
  32. He, S.; Wu, Q.; Wen, J.; Saunders, J.; Paton, R. A particle swarm optimizer with passive congregation. Biosystems 2004, 78, 135–147. [Google Scholar] [CrossRef]
  33. Mao, B.; Xie, Z.; Wang, Y.; Handroos, H.; Wu, H.; Shi, S. A hybrid differential evolution and particle swarm optimization algorithm for numerical kinematics solution of remote maintenance manipulators. Fusion Eng. Des. 2017, 124, 587–590. [Google Scholar] [CrossRef]
  34. Seyyedabbasi, A.; Aliyev, R.; Kiani, F.; Gulle, M.U.; Basyildiz, H.; Shah, M.A. Hybrid algorithms based on combining reinforcement learning and metaheuristic methods to solve global optimization problems. Knowl.-Based Syst. 2021, 223, 107044. [Google Scholar] [CrossRef]
  35. Yang, Q.; Dong, N.; Zhang, J. An enhanced adaptive bat algorithm for microgrid energy scheduling. Energy 2021, 232, 121014. [Google Scholar] [CrossRef]
  36. Zhang, M.; Long, D.; Qin, T.; Yang, J. A Chaotic Hybrid Butterfly Optimization Algorithm with Particle Swarm Optimization for High-Dimensional Optimization Problems. Symmetry 2020, 12, 1800. [Google Scholar] [CrossRef]
  37. Yang, J.; Cui, J.; Zhang, Y.-D. Artificial bee colony algorithm with adaptive covariance matrix for hearing loss detection. Knowl.-Based Syst. 2021, 216, 106792. [Google Scholar] [CrossRef]
Figure 1. Model of SMSRS with five modules.
Figure 1. Model of SMSRS with five modules.
Aerospace 09 00123 g001
Figure 2. Schematic diagram of task module on both sides of the base coordinate system.
Figure 2. Schematic diagram of task module on both sides of the base coordinate system.
Aerospace 09 00123 g002
Figure 3. Schematic diagram of module collision and non-collision.
Figure 3. Schematic diagram of module collision and non-collision.
Aerospace 09 00123 g003
Figure 4. Nine module SMSRS and the task modules of three cases: (a) case 1, (b) case 2, and (c) case 3.
Figure 4. Nine module SMSRS and the task modules of three cases: (a) case 1, (b) case 2, and (c) case 3.
Aerospace 09 00123 g004
Figure 5. Convergence curves of algorithms. (a) Convergence curves of SHCP and PSO variants for Case 1; (b) Convergence curves of SHCP and meta-heuristic algorithms for Case 1; (c) Convergence curves of SHCP and PSO variants for Case 2; (d) Convergence curves of SHCP and meta-heuristic algorithms for Case 2; (e) Convergence curves of SHCP and PSO variants for Case 3; (f) Convergence curves of SHCP and meta-heuristic algorithms for Case 3.
Figure 5. Convergence curves of algorithms. (a) Convergence curves of SHCP and PSO variants for Case 1; (b) Convergence curves of SHCP and meta-heuristic algorithms for Case 1; (c) Convergence curves of SHCP and PSO variants for Case 2; (d) Convergence curves of SHCP and meta-heuristic algorithms for Case 2; (e) Convergence curves of SHCP and PSO variants for Case 3; (f) Convergence curves of SHCP and meta-heuristic algorithms for Case 3.
Aerospace 09 00123 g005aAerospace 09 00123 g005b
Figure 6. Configurations of the SMSRS under the solutions of the SHCP algorithm. (a) Case 1; (b) Case 2; (c) Case 3.
Figure 6. Configurations of the SMSRS under the solutions of the SHCP algorithm. (a) Case 1; (b) Case 2; (c) Case 3.
Aerospace 09 00123 g006
Figure 7. The configurations obtained by different algorithms of SMSRS for three cases. (a) Case 1; (b) Case 2; (c) Case 3.
Figure 7. The configurations obtained by different algorithms of SMSRS for three cases. (a) Case 1; (b) Case 2; (c) Case 3.
Aerospace 09 00123 g007aAerospace 09 00123 g007b
Figure 8. Segments and fitness curves of SHCP algorithm compared with original algorithms. (a) Case 1; (b) Case 2; (c) Case 3.
Figure 8. Segments and fitness curves of SHCP algorithm compared with original algorithms. (a) Case 1; (b) Case 2; (c) Case 3.
Aerospace 09 00123 g008
Table 1. D-H parameters of SMSRS.
Table 1. D-H parameters of SMSRS.
D-H Parameters of a SideD-H Parameters of b Side
Link θ i a d e g d i a m α i 1 a d e g A i 1 a ( m ) Link θ i b d e g d i b m α i 1 b deg A i 1 b ( m )
10000v-0900900
2900900.1981-v0−0.243900
3−900.243−9002−900900
4−900−9003900−900.198
5900900.1984−90−0.243−900
6−900.2439005−900900
7−900−9006900−900.198
8900900.1987−90−0.243−900
9−900.2439008−900900
10−900−9009900−900.198
11900900.19810−90−0.243−900
12−900.24390011−900900
-----12900−900.198
Table 2. Parameter settings of compared algorithms.
Table 2. Parameter settings of compared algorithms.
AlgorithmParameter Setting
SPSO c 1 = c 2 = 2 , w = 0.5
LIW-PSO [28] c 1 = c 2 = 2 ,   ω m a x = 0.9 ,   ω m i n = 0.4
NLIW-PSO [29] c 1 = c 2 = 2 , w = 0.3 , μ = 1.00002
CPSO [30] c 1 = c 2 = 2.05 , χ = 0.73
IPSO [31] c 1 = c 2 = 0.01 , λ = c 1 1 e c 1 k
PSOPC [32] c 1 = c 2 = 0.5 , c 3 = 0.4 ,   0.6
SHCP c 1 = c 2 = 2 , ω m a x = 0.9 , ω m i n = 0.4
DE [33] C R = 0.9
GWO [34] a   decreased   linearly   from   2   to   0
BA [35] f max = 2 , f min = 0 , A 0 1 , 2 , r 0 0 , 0.2 , α = 0.9 , γ = 0.9
ABC [37] limit = 100
BOA [36] a = 0.1 , c 0 = 0.01 , p = 0.6
PSOBOA [36] a = 0.1 , c 0 = 0.01 , p = 0.6 ,   c 1 = c 2 = 0.5
HPSOBOA [36] a f i r s t = 0.1 , a f i n a l = 0.3 , c 0 = 0.01 , p = 0.6 , x 0 = 0.315 , ρ = 0.295 ,   c 1 = c 2 = 0.5
PSOGWO [22] ω = 0 . 7298 ,   c 1 = c 2 = 1 . 49445 ,   a   decreased   linearly   from   2   to   0
Table 3. Comparisons of experimental results between SHPC and PSO variants.
Table 3. Comparisons of experimental results between SHPC and PSO variants.
FUN SHPCSPSOLIW-PSONLIW-PSOCPSOIPSOPSOPC
f 1 Mean8.29 10−35.00 × 1033.00 × 1031.74 × 10−16.00 × 1047.16 × 10−11.31
Best7.21 × 10−126.52 × 10−129.40 × 10−76.25 × 10−34.00 × 1045.06 × 10−11.31
Worst4.12 × 10−23.00 × 1043.00 × 1045.77 × 10−19.00 × 1041.15 1.31
Std1.66 × 10−21.08 × 1049.49 × 1031.82 × 10−11.41 × 1042.10 × 10−12.34 × 10−16
median5.20 × 10−61.88 × 10−33.24 × 10−49.11 × 10−26.00 × 1047.06 × 10−11.31
f 2 Mean3.92 × 10−28.00 × 1033.45 × 10−14.57 × 10−16.70 × 1042.00 × 1031.62
Best1.48 × 10−28.39 × 10−28.13 × 10−22.41 × 10−15.00 × 1046.40 × 10−11.62
Worst8.47 × 10−23.00 × 1049.02 × 10−16.69 × 10−19.00 × 1042.00 × 1041.62
Std1.90 × 10−21.32 × 1042.75 × 10−11.55 × 10−11.57 × 1046.32× 1030.00
median3.97 × 10−22.36 × 10−12.62 × 10−14.13 × 10−16.50 × 1041.42 1.62
f 3 Mean1.21 × 10−21.26 × 10−21.76 × 10−11.70 × 10−24.80 × 1041.45 2.22
Best9.97 × 10−169.35 × 10−161.10 × 10−151.02 × 10−82.00 × 1046.09 × 10−12.22
Worst6.99 × 10−21.25 × 10−11.08 6.24 × 10−27.00 × 1042.61 2.22
Std2.58 × 10−23.96 × 10−23.58 × 10−12.18 × 10−21.69 × 1045.73 × 10−10.00
Table 4. Comparisons of experimental results between SHPC and meta-heuristic algorithms.
Table 4. Comparisons of experimental results between SHPC and meta-heuristic algorithms.
FUN MY-PSODEGWOBAABCCMA-ESBOA
f 1 Mean8.29 × 10−34.38 × 10−21.31 9.50 × 1043.90 × 10−15.63 × 10−21.32 × 10−1
Best7.21 × 10−127.53 × 10−31.31 5.00 × 1042.30 × 10−11.62 × 10−24.37 × 10−2
Worst4.12 × 10−28.67 × 10−21.31 1.40 × 10+055.09 × 10−11.63 2.33 × 10−1
Std1.66 × 10−22.57 × 10−22.34 × 10−163.81 × 1048.44 × 10−24.60 × 10−26.20 × 10−2
median5.20 × 10−64.85 × 10−21.31 9.00 × 1044.00 × 10−13.89 × 10−21.32 × 10−1
f 2 Mean3.92 × 10−23.23 × 10−21.62 9.20 × 1049.93 × 10−15.82 × 10−26.16 × 10−1
Best1.48 × 10−21.45 × 10−21.62 9.00 × 1047.96 × 10−13.06 × 10−23.68 × 10−1
Worst8.47 × 10−27.69 × 10−21.62 1.10 × 1051.151.06 8.09 × 10−1
Std1.90 × 10−21.78 × 10−20.00 6.32× 1031.25 × 10−12.06 × 10−21.40 × 10−1
median3.97 × 10−22.88 × 10−21.62 9.00 × 1041.035.63 × 10−26.26 × 10−1
f 3 Mean1.21 × 10−23.00 × 10−22.22 9.50 × 1041.79 7.02 × 10−29.99 × 10−1
Best9.97 × 10−161.21 × 10−22.22 5.00 × 1041.57 4.27 × 10−23.56 × 10−1
Worst6.99 × 10−24.51 × 10−22.22 1.40 × 10+052.03 1.04 × 10−11.58
Std2.58 × 10−21.08 × 10−20.00 2.92 × 1041.75 × 10−12.06 × 10−24.05 × 10−1
median1.21 × 10−153.05 × 10−22.22 9.00 × 1041.78 6.63 × 10−29.50 × 10−1
Table 5. Comparisons of experimental results between SHPC and hybrid algorithms.
Table 5. Comparisons of experimental results between SHPC and hybrid algorithms.
FUN MY-PSOPSOBOAHPSOBOAPSOGWO
f 1 Mean8.29 × 10−37.49 × 10−14.88 × 10−12.00 × 103
Best7.21 × 10−125.17 × 10−14.64 × 10−11.19 × 10−4
Worst4.12 × 10−28.84 × 10−15.48 × 10−12.00 × 104
Std1.66 × 10−21.23 × 10−12.70 × 10−26.32 × 103
median5.20 × 10−67.91 × 10−14.74 × 10−15.11 × 10−3
f 2 Mean3.92 × 10−21.089.70 × 10−12.37 × 10−1
Best1.48 × 10−29.81 × 10−19.46 × 10−12.12 × 10−2
Worst8.47 × 10−21.34 9.93 × 10−11.39
Std1.90 × 10−21.03 × 10−11.26 × 10−24.23 × 10−1
median3.97 × 10−21.079.71 × 10−16.54 × 10−2
f 3 Mean1.21 × 10−21.55 1.851.74 × 10−1
Best9.97 × 10−161.12 1.723.05 × 10−4
Worst6.99 × 10−21.891.918.86 × 10−1
Std2.58 × 10−22.54 × 10−16.48 × 10−23.51 × 10−1
median1.21 × 10−151.591.876.73 × 10−3
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

An, J.; Li, X.; Zhang, Z.; Zhang, G.; Man, W.; Hu, G.; He, J.; Yu, D. A Novel Method for Inverse Kinematics Solutions of Space Modular Self-Reconfigurable Satellites with Self-Collision Avoidance. Aerospace 2022, 9, 123. https://doi.org/10.3390/aerospace9030123

AMA Style

An J, Li X, Zhang Z, Zhang G, Man W, Hu G, He J, Yu D. A Novel Method for Inverse Kinematics Solutions of Space Modular Self-Reconfigurable Satellites with Self-Collision Avoidance. Aerospace. 2022; 9(3):123. https://doi.org/10.3390/aerospace9030123

Chicago/Turabian Style

An, Jiping, Xinhong Li, Zhibin Zhang, Guohui Zhang, Wanxin Man, Gangxuan Hu, Junwei He, and Dingzhan Yu. 2022. "A Novel Method for Inverse Kinematics Solutions of Space Modular Self-Reconfigurable Satellites with Self-Collision Avoidance" Aerospace 9, no. 3: 123. https://doi.org/10.3390/aerospace9030123

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop