1 Introduction

Space manipulators have drawn significant interest in the research community since their inception in the mid-1990s [1], as promising solutions for in-orbit servicing, satellite maintenance, space debris removal, etc. In the post-capture phase of a space manipulator servicing a target whose dynamic parameters are unknown in advance, an uncertain combined system is obtained. To obtain accurate dynamic equations of the system and apply model-based precise control methods, the system unknown dynamic parameters need to be identified.

The parameter identification methods of space manipulators in the literature can be roughly divided into three categories: vision-based [2,3,4], force-based [5, 6], and momentum-based [7,8,9]. The vision-based and force-based methods required the space manipulator to be equipped with dedicated sensors, which made the parameter identification methods be more susceptible to signal noises [9]. The momentum-based methods established the identification model based on the conservation principle of the system momentum, and needed the system excitation motions to identify the parameters. A notable work in [7] derived the identification model based on the conservation of the system linear and angular momentum, however, which required the initial linear and angular momentum of the system to be zero. The derivative form and incremental form of the momentum-based identification model, which eliminated the nonzero but constant system momentum from the identification model, were used in [8] and [9], and a Lyapunov function-based parameters adaption law and a recursive least-squares (RLS) algorithm were proposed to identify the parameters, respectively. A recent work based on the conservation of the system momentum to identify the parameters of a space manipulator was proposed in [10], where the excitation trajectories were parameterized by truncated Fourier series and the coefficient parameters were determined by minimizing the condition number of the regressor matrix. In [11], an optimization problem was formulated and solved with the particle swarm optimization algorithm to identify the inertial parameters of the system. The space manipulator was treated as a single-body system by locking all the joints and a two-body system by unlocking only one joint sequentially, which made that only simple dynamic equations were used for identification; as a result, the excitation trajectories for the parameters identification were also easily realized. The main drawback of using the momentum-based parameters identification methods is that the system excitation motions must satisfy the persistently exciting (PE) condition to guarantee that the parameters identified results can converge to the true values [12]. However, the PE condition imposes requirement on the system motion at every moment, thus having requirement on the future motions of the system, which makes the PE condition harsh and difficult to be verified online. Moreover, for in-orbit systems making their motions satisfy the PE condition may cause extra fuel consumption and affect the motion requirements by other tasks; for instance, the base attitude of the space manipulator should be stationary for communications during generating excitation motions for the parameters identification.

Fig. 1
figure 1

A post-capture diagram of the space manipulator with an unknown target

The system excitation motions being abundant is helpful for the parameters identification; on the other hand, other motion requirements of the system should also be satisfied, such as that null base attitude disturbances are caused by arm movements and joints move within the physical limits. The reaction null space (RNS) concept was first proposed in [25], which obtained the arm motions that caused null base disturbances in a space manipulator. The RNS-based methods have been widely applied to the reactionless control of space manipulators [26,27,28], however, which needed the accurate kinematic/dynamic models of the system. In the situation that the space manipulator captures an unknown target, the uncertainty of the dynamic parameters makes it more difficult to design a reactionless controller. In [9], an adaptive reactionless motion algorithm was studied for the post-capture motions of a space manipulator with unknown dynamic parameters. However, the algorithm only regulated the base angular velocity, in which case, the base attitude could deviate from the desired orientation. An adaptive reactionless control method that can regulate the base attitude errors to zero was proposed in [29, 30], respectively. However, the parameters identification algorithm in [29] required the system excitation motions to satisfy the PE condition and the unknown parameters were not identified in [30]. Another flawed aspect of the above-mentioned adaptive reactionless control methods was that the motion limits of the system were not taken into account, which probably led to the obtained system trajectories inapplicable.

This paper proposes a concurrent learning algorithm for parameters identification of the space manipulator, which guarantees that the parameters identification errors can globally converge to zero at an exponential rate without the need for satisfying the PE condition. A parameters scaling technique is included in the concurrent learning algorithm, which makes the parameters have the same magnitude; therefore, all the parameters can be identified at the same time. An adaptive reactionless controller is also proposed for the space manipulator, which ensures that the base attitude remains stationary as well as the joint motions satisfy the given limits during the system generating excitation motions for the parameters identification.

The rest of the paper is organized as follows: Section 2 gives some preliminary knowledge. Sections 3 and 4 present the concurrent learning algorithm and adaptive reactionless controller, respectively. The effectiveness of the proposed method is demonstrated through numerical simulations in Sect. 5. Some concluding remarks are made in Sect. 6.

2 Preliminary

The space manipulator together with the unknown target is shown in Fig. 1. Assuming that there are no relative motions between the end-effector and target after the capture, the original last link and target compose a single body (treated as the new last link). In the new system, the inertia parameters of the last link, including the mass, position of the center of mass (CoM), and moment/product of inertia, are unknown. Considering there are no external forces and torque exerted on the system, the linear and angular momentum of the system are constant; therefore, the momentum-based identification model can be established and used as the foundation of the proposed concurrent learning algorithm in Sect. 3. The dynamic equations of the space manipulator are also recalled, which are used to design the adaptive reactionless controller in Sect. 4.

2.1 Identification model

The linear and angular momentum of the system can be calculated as follows:

$$\begin{aligned} \begin{bmatrix} \varvec{P}\\\varvec{L} \end{bmatrix}=\begin{bmatrix} \sum \limits _{i=0}^n m_i\dot{{\varvec{r}}}_i\\ \sum \limits _{i=0}^n \left( {\varvec{I}}_i{\varvec{\omega }}_i+{\varvec{r}}_i\times m_i\dot{{\varvec{r}}}_i\right) \end{bmatrix} \end{aligned}$$
(1)

where \(\varvec{P}\in {\mathbb {R}}^3\) and \(\varvec{L}\in {\mathbb {R}}^3\) denote the linear and angular momentum of the system expressed in the inertial frame, respectively. n is the number of the arm degrees-of-freedom (DoFs). \(m_i\in {\mathbb {R}}\) is the mass of the link i, \(\varvec{I}_i\in {\mathbb {R}}^{3\times 3}\) is the inertia tensor of the link i expressed in a coordinate frame that is parallel with the inertial frame and located at the CoM of the link i. \(\varvec{\omega }_i\in {\mathbb {R}}^{3}\) is the angular velocity of the link i and \({\varvec{r}}_i\in {\mathbb {R}}^3/\dot{{\varvec{r}}}_i\in {\mathbb {R}}^3\) are the position/linear velocity of the link i CoM expressed in the inertial frame, respectively.

Without loss of generality, assuming that the system linear momentum is zero, Eq. (1) can be expressed as a set of linear equations of inertia parameters of the last link [9, 31]:

$$\begin{aligned} \varvec{y}({\mathcal {X}}_b, \dot{\varvec{x}}_b, {\varvec{\theta }},\dot{{\varvec{\theta }}},t) = {\varvec{\varPhi }}({\mathcal {X}}_b, \dot{\varvec{x}}_b, {\varvec{\theta }},\dot{{\varvec{\theta }}},t) \varvec{h} \end{aligned}$$
(2)

where \(\varvec{y}\) is the output vector, \({\varvec{\varPhi }}\) is the regressor matrix, \(\;\varvec{h} = \left[ 1/m_n, \;{}^{n}{}{a_{nx}}, {}^{n}{}{a_{ny}},\right. \)\(\left. {}^{n}{}{a_{nz}}, {}^{n}{}{I_{n,xx}},{}^{n}{}{I_{n,xy}},\right. \)\(\left. {}^{n}{}{I_{n,xz}}, {}^{n}{}{I_{n,yy}}, {}^{n}{}{I_{n,yz}}, {}^{n}{}{I_{n,zz}}\right] ^T\) is the vector of the inertia parameters of the last link, \(\varvec{a}_n=\left[ a_{nx}, a_{ny}, a_{nz}\right] ^T\) represents the position vector from the joint n to the CoM of the link n, left-superscript ‘n’ represents the inertia parameters expressed in the body frame, \({\mathcal {X}}_b\in SE(3)\) denotes the base CoM position and the base attitude, and \(\dot{\varvec{x}}_b\in {\mathbb {R}}^{6}\) represents the linear velocity of the base CoM and the base angular velocity expressed in the inertial frame, respectively. \({\varvec{\theta }}\in {\mathbb {R}}^n\) and \(\dot{\varvec{\theta }}\in {\mathbb {R}}^n\) are the sets of the joint angles and angular velocities, respectively.

Equation (2) includes the system angular momentum \(\varvec{L}\), which is nonzero and unknown if the target was tumbling before the capture. In order to eliminate the unknown \(\varvec{L}\) from the identification model, considering that \(\varvec{L}\) is constant and its derivative is zero, Eq. (2) is differentiated, which obtains a more general identification model that allows the system angular momentum to be nonzero:

$$\begin{aligned} \varvec{z}({\mathcal {X}}_b, \dot{\varvec{x}}_b, \ddot{\varvec{x}}_b, {\varvec{\theta }},\dot{{\varvec{\theta }}}, \ddot{{\varvec{\theta }}},t) = \varvec{\varPsi }({\mathcal {X}}_b, \dot{\varvec{x}}_b,\ddot{\varvec{x}}_b, {\varvec{\theta }},\dot{{\varvec{\theta }}},\ddot{{\varvec{\theta }}},t) \varvec{h} \end{aligned}$$
(3)

where \(\varvec{z}\) and \({\varvec{\varPsi }}\) stand for the time derivatives of \(\varvec{y}\) and \({\varvec{\varPhi }}\), respectively.

2.2 Dynamic equations

Choosing the base attitude and base CoM position as well as the joints displacements as generalized coordinates, the dynamic equations of the space manipulator can be expressed as follows [32]:

$$\begin{aligned}&\begin{bmatrix}\varvec{f}_b\\{\varvec{\tau }}\end{bmatrix}+\begin{bmatrix} \varvec{J}_{b_v}^T\\\varvec{J}_{b_\omega }^T\\\varvec{J}_m^T\end{bmatrix}\varvec{f}_e=\begin{bmatrix} M \varvec{E}_3&\varvec{H}_{v\omega }&\varvec{J}_{T\omega } \\ \varvec{H}_{v\omega }^T&\varvec{H}_\omega&\varvec{H}_{\omega \theta } \\ \varvec{J}_{Tw}^T&\varvec{H}_{\omega \theta }^T&\varvec{H}_m\end{bmatrix} \begin{bmatrix}\dot{\varvec{v}}_b\\\dot{{\varvec{\omega }}}_b\\\ddot{\varvec{\theta }}\end{bmatrix}\nonumber \\&\quad \quad +\,\begin{bmatrix}\varvec{c}_{b_v}\\\varvec{c}_{b_\omega }\\\varvec{c}_m\end{bmatrix} \end{aligned}$$
(4)

where

$$\begin{aligned}&\varvec{H}_{b}=\begin{bmatrix} M \varvec{E}_3&\varvec{H}_{v\omega } \\ \varvec{H}_{v\omega }^T&\varvec{H}_\omega \end{bmatrix}\in {\mathbb {R}}^{{6}\times {6}},\, \\&\varvec{H}_{bm}=\begin{bmatrix} \varvec{J}_{T\omega } \\ \varvec{H}_{\omega \theta }\end{bmatrix}\in {\mathbb {R}}^{6\times {n}},\,\varvec{H}_m\in {\mathbb {R}}^{n\times {n}} \end{aligned}$$

are the base inertia matrix, base-arm coupled inertia matrix, and arm inertia matrix, respectively. \(\varvec{c}_{b}=\left[ \varvec{c}_{b_v}^T,\varvec{c}_{b_\omega }^T\right] ^T\in {\mathbb {R}}^{6}\) and \(\varvec{c}_{m}\in {\mathbb {R}}^{n}\) are the velocity-dependent, nonlinear terms for the base and arm, respectively. The matrices \(\varvec{J}_{b}=\left[ \varvec{J}_{b_v},\varvec{J}_{b_\omega }\right] \in {\mathbb {R}}^{6\times 6}\) and \(\varvec{J}_{m}\in {\mathbb {R}}^{6\times {n}}\) are the Jacobian matrices for the base and arm, respectively. The vectors \(\varvec{f}_{b}\in {\mathbb {R}}^{6}\) and \(\varvec{f}_{e}\in {\mathbb {R}}^{6}\) are the forces and moments exerted at the base CoM and end-effector, respectively. The vector \({\varvec{\tau }} \in {\mathbb {R}}^{n}\) is the torque applied on the joints of the arm. M is the total mass of the system, and \(\varvec{E}_3\) is the identity matrix. Notations for the sub-matrices that are not shown here can be found in [32].

For a free-floating space manipulator, the forces and moments exerted at the base CoM and end-effector are zero (\(\varvec{f}_b=\varvec{f}_e=\varvec{0}_{6\times {1}}\)). Therefore, the dynamic equations can be expressed as follows:

$$\begin{aligned} \begin{bmatrix}\varvec{0}_{6\times {1}}\\ {\varvec{\tau }}\end{bmatrix}=\begin{bmatrix} M \varvec{E}_3&\varvec{H}_{v\omega }&\varvec{J}_{T\omega } \\ \varvec{H}_{v\omega }^T&\varvec{H}_\omega&\varvec{H}_{\omega \theta } \\ \varvec{J}_{Tw}^T&\varvec{H}_{\omega \theta }^T&\varvec{H}_m\end{bmatrix} \begin{bmatrix}\dot{\varvec{v}}_b\\\dot{{\varvec{\omega }}}_b\\ \ddot{\varvec{\theta }}\end{bmatrix}+\begin{bmatrix}\varvec{c}_{b_v}\\ \varvec{c}_{b_\omega }\\\varvec{c}_m\end{bmatrix} \end{aligned}$$
(5)

3 Parameters identification

Given the identification model of the space manipulator Eq. (3), denoting the real parameters and real outputs of the plant are \(\varvec{h}^*\) and \({\varvec{\nu }}\), respectively, \(\varvec{h}^*\) and \({\varvec{\nu }}\) satisfy the following relationship:

$$\begin{aligned} {\varvec{\nu }}(t) = {\varvec{\varPsi }}(t)\varvec{h}^* \end{aligned}$$
(6)

Note that the regressor matrix \({\varvec{\varPsi }}({\mathcal {X}}_b, \dot{\varvec{x}}_b,\ddot{\varvec{x}}_b, {\varvec{\theta }},\)\(\dot{{\varvec{\theta }}},\ddot{{\varvec{\theta }}},t)\) in Eq. (3) is also denoted as \({\varvec{\varPsi }}(t)\) in Eq. (6), and the rest of the paper for the sake of simplicity. Likewise, the output vector \(\varvec{z}({\mathcal {X}}_b, \dot{\varvec{x}}_b, \ddot{\varvec{x}}_b, {\varvec{\theta }},\dot{{\varvec{\theta }}}, \ddot{{\varvec{\theta }}},t)\) is also denoted as \(\varvec{z}(t)\). Defining the output error \(\varvec{e}(t)={\varvec{\nu }}(t)-\varvec{z}(t)\), it is clear that \(\varvec{e}(t)\rightarrow \varvec{0}\) as \(t\rightarrow \infty \) if \(\varvec{h}(t)\rightarrow \varvec{h}^*\) as \(t\rightarrow \infty \). A well-known choice for \(\dot{\varvec{h}}(t)\) in adaptive control laws that makes \(\varvec{e}(t)\rightarrow \varvec{0}\) is the one that updates \(\varvec{h}(t)\) in the direction of maximum reduction of the instantaneous quadratic cost \(V(t)=\varvec{e}(t)^T\varvec{e}(t)\) [12]:

$$\begin{aligned} \dot{\varvec{h}}(t)=-{\varvec{\varGamma }}{{\varvec{\varPsi }}(t)}^T\varvec{e}(t) \end{aligned}$$
(7)

where \({\varvec{\varGamma }}> 0\) represents a positive definite learning rate matrix.

3.1 Concurrent learning algorithm

The drawback of using the parameters learning law Eq. (7) is that \(\varvec{h}\rightarrow \varvec{h}^*\) if and only if the system excitation motions satisfy the PE condition [12]. The concurrent learning that simultaneously uses the instantaneous and past motion data points can relax the PE condition in the parameters identification problem [13]. In this paper, the concurrent learning law is designed as follows, which is used to identify the unknown inertia parameters of the space manipulator:

$$\begin{aligned} \dot{\varvec{h}}(t)=-{\varvec{\varGamma }}{\varvec{\varPsi }}(t)^T\varvec{e}(t)-{\varvec{\varGamma }}\sum _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T\varvec{e}_k\right) \end{aligned}$$
(8)

where ‘p’ and \(k\in \left\{ 1,2,\ldots ,p\right\} \) denote the total number and index of the used past data points, respectively. \(\varvec{\varPsi }_k\) is the regressor matrix evaluated at the corresponding past time point. \(\varvec{e}_k\) is obtained as follows:

$$\begin{aligned} \varvec{e}_k = {\varvec{\varPsi }}_k\varvec{h}(t)-{\varvec{\nu }}_k \end{aligned}$$
(9)

where \({\varvec{\nu }}_k\) is the recorded output vector at the corresponding past time point.

Defining the parameters identification errors \(\widetilde{\varvec{h}}=\varvec{h}-\varvec{h}^*\), using the above concurrent learning law the changing rate of the \(\widetilde{\varvec{h}}\) can be calculated as follows (notice that \(\varvec{h}^*\) is constant):

$$\begin{aligned} \begin{aligned} \dot{\widetilde{\varvec{h}}}(t)&= \dot{\varvec{h}}(t)=-\varvec{\varGamma }{\varvec{\varPsi }}\left( \varvec{t}\right) ^T\varvec{e}(t)-{\varvec{\varGamma }}\sum _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T\varvec{e}_k\right) \\&=-{\varvec{\varGamma }}{\varvec{\varPsi }}(t)^T{\varvec{\varPsi }}(t)\widetilde{\varvec{h}}(t)-{\varvec{\varGamma }}\sum _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T{\varvec{\varPsi }}_k\widetilde{\varvec{h}}(t)\right) \\&= -{\varvec{\varGamma }}\left( {\varvec{\varPsi }}(t)^T\varvec{\varPsi }(t)+\sum _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T{\varvec{\varPsi }}_k\right) \right) \widetilde{\varvec{h}}(t) \end{aligned} \end{aligned}$$
(10)

Equation (10) presents a linear time-varying equation in \(\widetilde{\varvec{h}}\). We can see that by appropriately selecting the used past data points, the \(\widetilde{\varvec{h}}(t)\) can converge to \(\varvec{0}\). A condition for \({\varvec{\varPsi }}(t)\) and \({\varvec{\varPsi }}_k\) is proposed as follows:

Condition 1 Define \({\varvec{\varTheta }}\! = \!{\varvec{\varPsi }}(t)^T\varvec{\varPsi }(t)+\sum \nolimits _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T{\varvec{\varPsi }}_k\right) \). Selecting past data points makes the matrix \({\varvec{\varTheta }}\) positive definite.

Given the Condition 1, the parameters identification errors \(\widetilde{\varvec{h}}(t)\) obey the following theorem:

Theorem 1

By satisfying Condition 1, the parameters identification errors \(\widetilde{\varvec{h}}(t)\) can globally converge to zero at an exponential rate using the concurrent learning law proposed in Eq. (8).

Proof

Define a Lyapunov function of \(\widetilde{\varvec{h}}(t)\):

$$\begin{aligned} V(\widetilde{\varvec{h}}(t))=\frac{1}{2}\widetilde{\varvec{h}}(t)^T\widetilde{\varvec{h}}(t) \end{aligned}$$
(11)

The derivative of the Lyapunov function is calculated as follows:

$$\begin{aligned} {\dot{V}}(\widetilde{\varvec{h}}(t))= & {} \widetilde{\varvec{h}}(t)^T\dot{\widetilde{\varvec{h}}}(t)\nonumber \\ {}= & {} -\widetilde{\varvec{h}}(t)^T{\varvec{\varGamma }}\left( {\varvec{\varPsi }}(t)^T\varvec{\varPsi }(t)+\sum _{k=1}^{p}\left( {\varvec{\varPsi }}_k^T{\varvec{\varPsi }}_k\right) \right) \widetilde{\varvec{h}}(t)\nonumber \\ {}= & {} -\widetilde{\varvec{h}}(t)^T{\varvec{\varGamma }}{\varvec{\varTheta }}\widetilde{\varvec{h}}(t) \end{aligned}$$
(12)

Since \({\varvec{\varGamma }}\) and \({\varvec{\varTheta }}\) are positive definite, there exists a \(\lambda _M>0\) making \({\dot{V}}(\widetilde{\varvec{h}}(t))\le -\lambda _M\widetilde{\varvec{h}}(t)^T\widetilde{\varvec{h}}(t)=-\lambda _M\Vert \widetilde{\varvec{h}}(t)\Vert ^2\). Therefore, using theorem 4.6 from [33] the exponential stability of the zero solution \(\widetilde{\varvec{h}}=0\) of the parameters error dynamics Eq. (10) is established. Furthermore, the values of the Lyapunov function are radially unbounded; therefore, the result is globally guaranteed. \(\square \)

3.2 Discussion

In the proposed concurrent learning algorithm, the recorded past motion data points are concurrently used with the instantaneous motion data to identify the parameters, and the parameters identification errors globally, exponentially converge to zero by satisfying the proposed Condition 1 instead of the PE condition. The Condition 1, which applies only to a subset of all past data, is always reachable after the system moves to generate excitation motions over a finite time interval. Moreover, the Condition 1 is to determine the positive definiteness of a matrix, which can be easily online monitored. On the other hand, the PE condition (refer to the Definition 3.2 in [34]) applies also to how \({\varvec{\varPsi }}(t)\) should behave in the future, which is harsh to be satisfied and online monitored.

Selecting the used past motion data points is crucial for making the parameters identification errors rapidly converge to zero, and therefore a scheme to select the used past data points is presented in the following text. Another notable aspect is that the unknown parameters possibly have vastly different magnitudes, and therefore, it may require significantly different time intervals to identify the different parameters. A parameters scaling technique, which turns the real parameters into auxiliary parameters that have the same magnitude, is proposed. As a result, all the parameters can be identified at the same time.

3.2.1 Selecting past motion data points

In order to perform the proposed concurrent learning algorithm, as shown in Eq. (8), the past system motion information, which includes the regressor matrix \({\varvec{\varPhi }}_k\) and system real output \({\varvec{\nu }}_k\), should be recorded for use. It is worth noting that the accelerations and velocities of the base and joints, the base CoM position, the base attitude, and the joint angles need to be measured to calculate the regressor matrix \({\varvec{\varPhi }}_k\) and system real output \({\varvec{\nu }}_k\), since the identification model Eq. (3) is used. When performing the proposed concurrent learning algorithm, the selected past data points and the instantaneous data need to make the matrix \({\varvec{\varTheta }} \) positive definite. Note that \({\varvec{\varTheta }}\) is the summation of the following terms \({\varvec{\varPsi }}(t)^T{\varvec{\varPsi }}(t)\) and \({\varvec{\varPsi }}_k^T{\varvec{\varPsi }}_k\), and each term is already nonnegative, the larger distance between two terms makes it more possible that \({\varvec{\varTheta }}\) is positive definite. Therefore, a past data point that satisfies the following relationship is selected to identify the parameters:

$$\begin{aligned} \frac{\Vert {\varvec{\varPsi }}_k-{\varvec{\varPsi }}(t)\Vert _2}{\Vert {\varvec{\varPsi }}(t)\Vert _2} > \xi _1 \end{aligned}$$
(13)

where \(\Vert \cdot \Vert _2\) denotes \(\ell ^2-\)norm of a matrix, \(\xi _1\) is a constant positive scalar.

Note that the number of the used past data points is not limited in the Condition 1. However, in the proof of the Theorem 1 it shows that the convergence rate of the parameters identification errors is determined by the eigenvalues of the matrix \({\varvec{\varTheta }}\). The more past data points are used, the larger positive eigenvalues are possessed by \({\varvec{\varTheta }}\), which will accelerate the convergence of the parameters identification errors. Therefore, an index is defined as follows:

$$\begin{aligned} \xi _2= & {} \Vert {\varvec{\varPsi }}(t)\varvec{h}(t)-{\varvec{\nu }}(t)\Vert _2=\Vert {\varvec{\varPsi }}(t)\widetilde{\varvec{h}}(t)\Vert _2\nonumber \\\le & {} \Vert {\varvec{\varPsi }}(t)\Vert _2\Vert \widetilde{\varvec{h}}(t)\Vert _2 \end{aligned}$$
(14)

when \(\xi _2\) is large (shows that the parameters identification errors are large), a large number of the past data points can be used in the concurrent learning law Eq. (8).

3.2.2 Parameters scaling

The unknown parameters in the identification model Eq. (3) may have vastly different magnitudes. Here, we present an alternative identification model, which is identical to the original identification model Eq. (3) but deals with the parameters with the same magnitude:

$$\begin{aligned} \frac{\varvec{z}(t)}{{\Vert \varvec{z}(t)\Vert _2}} = \left( \frac{1}{{\Vert \varvec{z}(t)\Vert _2}}{\varvec{\varPsi }}(t)\right) \varvec{D}(t)\varvec{D}(t)^{-1}\varvec{h}(t) \end{aligned}$$
(15)

where \(\varvec{D}(t)=\text {diag}\left( d_1(t), d_2(t),\ldots ,d_{np}(t)\right) \) is a diagonal matrix, \(np=10\) is the number of the unknown inertia parameters of the space manipulator,

$$\begin{aligned} d_j(t) = \left\{ \begin{array}{c} \frac{1}{{\Vert \varvec{c}_j(t) \Vert _2}}, \quad \text {if}\, \Vert \varvec{c}_j(t) \Vert _2 \ne 0 \\ \,\,\,\,\,\, 1, \,\,\,\,\,\,\,\,\,\,\quad \text {if}\, \Vert \varvec{c}_j(t) \Vert _2 = 0 \end{array}\right. \end{aligned}$$
(16)

where \(\varvec{c}_j(t)\) is the jth column of the matrix \(\frac{1}{{\Vert \varvec{z}(t)\Vert _2}}{\varvec{\varPsi }}(t)\).

Denoting \(\overline{\varvec{z}}(t)=\frac{\varvec{z}(t)}{{\Vert \varvec{z}(t)\Vert _2}}, \overline{{\varvec{\varPsi }}}(t)= \left( \frac{1}{{\Vert \varvec{z}(t)\Vert _2}}{\varvec{\varPsi }}(t)\right) \)\(\varvec{D}(t), \overline{\varvec{h}}(t)=\varvec{D}(t)^{-1}\varvec{h}(t)\), the alternative identification model can be expressed as:

$$\begin{aligned} \overline{\varvec{z}}(t)=\overline{{\varvec{\varPsi }}}(t)\,\overline{\varvec{h}}(t)=\sum _{j=1}^{np}\overline{{\varvec{\varPsi }}}_j(t) {\overline{h}}_j(t) \end{aligned}$$
(17)

where \(\overline{\varvec{z}}(t),\overline{{\varvec{\varPsi }}}(t),\overline{\varvec{h}}(t)\) are termed as the auxiliary output vector, auxiliary regressor matrix, and auxiliary parameters, respectively.

Since \(\overline{\varvec{z}}(t)\) and each column of the matrix \(\overline{{\varvec{\varPsi }}}(t)\), i.e., \(\overline{{\varvec{\varPsi }}}_j(t)\), are both normalized vectors, each scaled auxiliary parameter \({\overline{h}}_j(t)\) has the same magnitude and affect \(\overline{\varvec{z}}(t)\) equally. Using Eq. (17) as the identification model, it is expected that all the parameters \(\overline{\varvec{h}}(t)\) can be identified at the same time.

Applying the proposed concurrent learning law to the alternative identification model, the convergence rate of the auxiliary parameters, \(\dot{\overline{\varvec{h}}}(t)\), can be obtained. Successively, the convergence rate of the original physical parameters, \(\dot{{\varvec{h}}}(t)\), can be calculated as follows:

$$\begin{aligned} \dot{{\varvec{h}}}(t) = \varvec{D}(t)\dot{\overline{\varvec{h}}}(t) \end{aligned}$$
(18)

4 Controller design

It is crucial to keep the base attitude at a desired orientation for communications with the ground and solar panels collecting energy, etc., when the system is driven to generate the excitation motions. In this section, an adaptive reactionless controller is designed for the space manipulator, which prevents base attitude disturbances from the arm motions. Furthermore, considering there are limits on joint motions, the controller that keeps the joints away from the limits is designed as well. Two kinds of the control commands, which prevent the base attitude disturbances from the arm motions and keep the joints away from the limits, respectively, are synthesized based on the Task-priority method.

4.1 Reactionless control law

Based on the passivity theorem [35], a reference velocity and a reference acceleration trajectories for base attitude are designed as follows:

$$\begin{aligned} {\varvec{\eta }}&= {\varvec{\omega }}_b^d + \varvec{K}_{o1}{\varvec{\delta }}_{{\varvec{\epsilon }}_b} \end{aligned}$$
(19)
$$\begin{aligned} \dot{{\varvec{\eta }} }&=\dot{\varvec{\omega }}_b^d+\varvec{K}_{o1}\dot{{\varvec{\delta }}}_{{\varvec{\epsilon }}_b}+\varvec{K}_{o2}\left( {\varvec{\omega }}_b^d+\varvec{K}_{o1}{\varvec{\delta }}_{{\varvec{\epsilon }}_b}-{\varvec{\omega }}_b\right) \end{aligned}$$
(20)

where the superscript ‘d’ represents the desired values, the unit quaternion \(\varvec{q}_b = \{\eta _b, {\varvec{\epsilon }}_b\}\in {\mathbb {R}}^4\) is employed to represent the base attitude. (\(\eta _b\) is the scalar part, and \({\varvec{\epsilon }}_b\) is the vector part of the quaternion.) \({\varvec{\delta }}_{{\varvec{\epsilon }}_b}=\eta _b{\varvec{\epsilon }}_b^d-\eta _b^d{\varvec{\epsilon }}_b-{\varvec{\epsilon }}_b^d\times {\varvec{\epsilon }}_b\) represents the orientation error of the base. \(\varvec{K}_{o1},\varvec{K}_{o2}\) are positive definite gain matrices.

Define the tracking error of the reference velocity \(\varvec{s} = {\varvec{\eta }}-{\varvec{\omega }}_b\), given \(\varvec{s}=\varvec{0}\) the asymptotic stability of the null base attitude tracking error can be demonstrated by using the Lyapunov argument [36]. In order to keep the base attitude stationary, the desired base attitude variables in the reference trajectories are set as \({\varvec{\omega }}_b^d= \varvec{0}\,\)rad/s and that \(\varvec{q}_b^d\) equals the initial base attitude, and an adaptive reactionless control law is designed as follows to guarantee \(\varvec{s}=\varvec{0}\).

Given the complete dynamic equations of system Eq. (5), the following sub-dynamics about how joint motions affect base motions can be decomposed from Eq. (5):

(21)

When only concerning the base attitude disturbances caused by joint motions, we divide Eq. (21) into two subequations:

$$\begin{aligned} \varvec{0}_{3\times {1}}= & {} M \varvec{E}_3\dot{\varvec{v}}_b+\varvec{H}_{v\omega }\dot{{\varvec{\omega }}}_b+\varvec{J}_{T\omega }\ddot{{\varvec{\theta }}}+\varvec{c}_{b_v} \end{aligned}$$
(22a)
$$\begin{aligned} \varvec{0}_{3\times {1}}= & {} \varvec{H}_{v\omega }^T\dot{\varvec{v}}_b+\varvec{H}_\omega \dot{{\varvec{\omega }}}_b + \varvec{H}_{\omega \theta }\ddot{{\varvec{\theta }}}+\varvec{c}_{b_\omega } \end{aligned}$$
(22b)

Then, we solve the base CoM linear acceleration \(\dot{\varvec{v}}_b\) from Eq. (22a) and substitute the result into Eq. (22b), which leads to the following system sub-dynamics about how the base attitude is affected by joint motions:

$$\begin{aligned} \varvec{0}_{3\times {1}} = \varvec{H}_{b,o}\dot{{\varvec{\omega }}}_b+\varvec{H}_{bm,o}\ddot{{\varvec{\theta }}}+ \varvec{c}_{b,o} \end{aligned}$$
(23)

where,

$$\begin{aligned}&\varvec{H}_{b,o} = \varvec{H}_\omega -\varvec{H}_{v\omega }^TM^{-1}\varvec{H}_{v\omega }\nonumber \\&\varvec{H}_{bm,o}=\varvec{H}_{\omega \theta }-\varvec{H}_{v\omega }^TM^{-1}\varvec{J}_{T\omega }\nonumber \\&\varvec{c}_{b,o}=\varvec{c}_{b_\omega }-\varvec{H}_{v\omega }^TM^{-1}\varvec{c}_{b_v} \end{aligned}$$
(24)

In order to obtain an adaptive reactionless control law that makes \(\varvec{s}=\varvec{0}\), a Lyapunov function candidate is selected as:

$$\begin{aligned} V(\varvec{s})=\frac{1}{2}\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}+ {\varvec{\varLambda }}_2\right) \varvec{s} \end{aligned}$$
(25)

Note that ‘\(\,\,\widehat{}\)  ’ represents an estimation of a variable. \(\varvec{H}_{b,o}\) is the inertia matrix of the base attitude motion in Eq. (23), which is usually positive definite. \(\widehat{\varvec{H}}_{b,o}\) is possibly negative definite since it uses the identified parameters. Therefore, we perform Eigen-Decomposition on \(\widehat{\varvec{H}}_{b,o}\) and design a \({\varvec{\varLambda }}_2\) as follows:

$$\begin{aligned} {\varvec{\varLambda }}_2 =\sum _{i=1}^{k} \left( \xi _3-\zeta _i\right) {\varvec{\mu }}_i{\varvec{\mu }}_i^T \end{aligned}$$
(26)

where \(\zeta _i,{\varvec{\mu }}_i,i=1,2,\ldots ,k\) are the minus eigenvalues and the corresponding eigenvectors of \(\widehat{\varvec{H}}_{b,o}\), respectively. \(\xi _3\) is a positive constant scalar. Adding \(\widehat{\varvec{H}}_{b,o}\) with \({\varvec{\varLambda }}_2\) omits all the minus Eigenvalues from \(\widehat{\varvec{H}}_{b,o}\), which guarantees \(\widehat{\varvec{H}}_{b,o}+{\varvec{\varLambda }}_2\) is positive definite. Therefore, the Lyapunov function candidate shown in Eq. (25) is positive definite.

From Eq. (23), we have \(\varvec{0}_{3\times {1}} = \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\omega }}}_b+\widehat{\varvec{H}}_{bm,o}\ddot{{\varvec{\theta }}}+ \widehat{\varvec{c}}_{b,o}\). Differentiating \(V\left( \varvec{s}\right) \) yields

$$\begin{aligned} \begin{aligned} {\dot{V}}(\varvec{s})&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}+ {\varvec{\varLambda }}_2\right) \dot{\varvec{s}}+\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}-\widehat{\varvec{H}}_{b,o}\dot{{\varvec{\omega }}}_b+ {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}+\widehat{\varvec{H}}_{bm,o}\ddot{{\varvec{\theta }}}+\widehat{\varvec{c}}_{b,o}+ {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) \\&\quad +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s} \end{aligned} \end{aligned}$$
(27)

Let us define the adaptive reactionless control law as:

(28)

where the notation ‘+’ represents the pseudoinverse of a matrix.

Using the adaptive reactionless control law Eq. (28), the derivative of \(V(\varvec{s})\) in Eq. (27) is further expressed as:

$$\begin{aligned} \begin{aligned} {\dot{V}}(\varvec{s})&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}+\widehat{\varvec{H}}_{bm,o}\ddot{{\varvec{\theta }}}_{c,bAttitude}+\widehat{\varvec{c}}_{b,o}\right. \\&\quad \left. +\, {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&= \varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}-\left( \widehat{\varvec{H}}_{b,o}\dot{\varvec{\eta }}+\widehat{\varvec{c}}_{b,o}+{\varvec{\varLambda }}_1\varvec{s}+{\varvec{\varLambda }}_2\dot{\varvec{s}}\right) \right. \\&\quad \left. +\,\widehat{\varvec{c}}_{b,o}+ {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=-\varvec{s}^T{\varvec{\varLambda }}_1\varvec{s}+\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=-\varvec{s}^T\left( {\varvec{\varLambda }}_1-\frac{1}{2}\dot{\widehat{\varvec{H}}}_{b,o}\right) \varvec{s} \end{aligned} \end{aligned}$$
(29)

Once making \({\varvec{\varLambda }}_1>\frac{1}{2}\dot{\widehat{\varvec{H}}}_{b,o}\), for example, letting \({\varvec{\varLambda }}_1=\frac{1}{2}\dot{\widehat{\varvec{H}}}_{b,o}+\xi _4\varvec{E}_3\), \(\xi _4\) is a positive constant scalar, the derivative of the Lyapunov function \(V(\varvec{s})\) is negative definite. Therefore, the global, asymptotic stability of the zero solution \(\varvec{s}=\varvec{0}\) is established. Consequently, the base attitude errors can asymptotically converge to zero [36].

4.2 Task-priority based controller

The space manipulator is redundant due to that the number of the arm DoFs is larger than the number of the base attitude task variables (i.e., \(n>3\)) [37]. Here, the redundant arm DoFs are used to keep the joint motions away from the limits, which is realized by designing a PD controller to make the joints follow bounded desired trajectories. The reactionless control commands obtained in Sect. 4.1 and the PD control commands are synthesized based on the Task-priority method.

Supposing that the joints follow bounded sine curves, i.e., \(\theta _{i}^d=\theta _{i,max}\text {sin}(\frac{2\pi }{T_i}t)\),

\(i=1,2,\ldots ,n\), the PD controller that drives a joint to follow its desired trajectory is designed as follows:

$$\begin{aligned}&\ddot{\theta }_{ic,bound}=\ddot{\theta }_i^d + k_{\theta _i 1}\left( {\dot{\theta }}_i^d -{\dot{\theta }}_i\right) + k_{\theta _i 2}\left( {\theta }_i^d -{\theta }_i\right) ,\quad \nonumber \\&\quad i=1,2,\ldots ,n \end{aligned}$$
(30)

where \(k_{\theta _i 1}, k_{\theta _i 2}\) are the constant positive control gains.

Using the PD controller, the joint angle error dynamics is:

$$\begin{aligned} \left( \ddot{\theta }_i^d-\ddot{\theta }_i\right) + k_{\theta _i 1}\left( {\dot{\theta }}_i^d -{\dot{\theta }}_i\right) + k_{\theta _i 2}\left( {\theta }_i^d -{\theta }_i\right) =0\nonumber \\ \end{aligned}$$
(31)

which represents a Mass–Spring–Damper system about the joint angle tracking error \(\theta _i^d-\theta _i\). The damping ratio of the system is calculated as \(\frac{k_{\theta _i 1}}{2\sqrt{k_{\theta _i 2}}}\). Choosing the control gains \(k_{\theta _i 1}, k_{\theta _i 2}\) to satisfy the relationship \(0<\frac{k_{\theta _i 1}}{2\sqrt{k_{\theta _i 2}}}<1\), one can get a underdamped system [38]. Therefore, the joint angle tracking errors can asymptotically converge to 0 using the controller Eq. (30).

Given the reactionless control command and joint tracking control command, as shown in Eq. (28) and Eq. (30), the two control commands are added together using the Task-priority based method [39]:

$$\begin{aligned} \ddot{{\varvec{\theta }}}_{c} = \ddot{{\varvec{\theta }}}_{c,bAttitude} + \widehat{\varvec{H}}_{bm,o}^\#\ddot{{\varvec{\theta }}}_{c,bound} \end{aligned}$$
(32)

where \(\ddot{{\varvec{\theta }}}_{c,bound}=\left[ \ddot{\theta }_{1c,bound},\cdots ,\ddot{\theta }_{nc,bound}\right] ^T\),

$$\begin{aligned} \widehat{\varvec{H}}_{bm,o}^\# = \varvec{E}_n - {\widehat{\varvec{H}}}_{bm,o}^+{\widehat{\varvec{H}}}_{bm,o} \end{aligned}$$
(33)

is the null space of the matrix \(\widehat{\varvec{H}}_{bm,o}\).

In the complete control command Eq. (32), the task of causing null base attitude disturbances is assigned with a higher priority than the task of the joint motions being limited. We substitute the Task-priority-based control law Eq. (32) into the derivative of the Lyapunov function Eq. (27) in the Sect. 4.1

$$\begin{aligned} \begin{aligned} {\dot{V}}(\varvec{s})&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}+\widehat{\varvec{H}}_{bm,o}\ddot{{\varvec{\theta }}}_{c}+\widehat{\varvec{c}}_{b,o}+ {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) \\&\quad +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=\varvec{s}^T\left( \widehat{\varvec{H}}_{b,o}\dot{{\varvec{\eta }}}+\widehat{\varvec{H}}_{bm,o}\ddot{{\varvec{\theta }}}_{c,bAttitude}\right. \\&\quad \left. +\,\,\widehat{\varvec{c}}_{b,o}+ {\varvec{\varLambda }}_2\dot{\varvec{s}}\right) +\frac{1}{2}\varvec{s}^T\dot{\widehat{\varvec{H}}}_{b,o}\varvec{s}\\&=-\varvec{s}^T\left( {\varvec{\varLambda }}_1-\frac{1}{2}\dot{\widehat{\varvec{H}}}_{b,o}\right) \varvec{s} \end{aligned} \end{aligned}$$
(34)

It can be seen that the control of the joint motions being limited does not affect the control of causing null base attitude disturbances, and the Task-priority-based control law guarantees that the base attitude remains stationary. However, since the tasks with lower priorities use the remaining DoFs [39], there are not enough DoFs left for the task of the joint motions being limited. Therefore, the joint motions will be limited but may exceed the given ranges at times.

In the work, the Task-priority-based control law Eq. (32) is applied to the space manipulator that has unknown inertia parameters. At the same time, the motion data points are stored and used for the parameters identification with the proposed concurrent learning algorithm.

Table 1 System parameters of the simulation model

5 Simulations

The concurrent learning algorithm and adaptive reactionless controller are applied to the system of a space manipulator holding an unknown target, whose parameters are shown in Table 1, to show the effectiveness of the proposed method. First, assuming that initial estimated values of the unknown parameters are 80% of the true values, the identified results of the unknown parameters and auxiliary parameters are presented, which shows the effectiveness of the proposed concurrent learning algorithm and parameters scaling technique. The base attitude and joint angles are presented to demonstrate that the base attitude remains stationary and joint angles are successfully limited by using the proposed adaptive reactionless control method. Then, the initial estimated values of the unknown parameters are assumed as 10% of the true values, and the identified results of the unknown parameters verify the global convergence property of the proposed concurrent learning algorithm. Finally, the identified results using the concurrent learning algorithm are compared with those obtained by only using instantaneous motion data in the learning law; therefore, the advantages of the concurrent learning algorithm are demonstrated.

Fig. 2
figure 2

Identified results of the mass

Setting the initial estimated values of the unknown parameters are 80% of the true values, the parameters used in the concurrent learning algorithm and control method are given the following values:

Fig. 3
figure 3

Identified results of the CoM position

$$\begin{aligned}&\varvec{\varGamma } = \varvec{E}_{10},\,\xi _1 =0.01,\, \xi _3=10^{-5},\,\xi _4=0.1 \end{aligned}$$
(35)
$$\begin{aligned}&p=20 \left( \text {if}\, \xi _2>0.001\right) \, \text {or}\, p=1 \left( \text {if}\, \xi _2\le 0.001 \right) \nonumber \\ \end{aligned}$$
(36)
$$\begin{aligned}&\varvec{K}_{o1}= 5\varvec{E}_3,\varvec{K}_{o2}= 10\varvec{E}_3,\, k_{\theta _i1}=5, k_{\theta _i2}=10,\,\nonumber \\&\qquad \qquad i=1,2\ldots ,6 \end{aligned}$$
(37)

Figures 2, 3, and 4 present the identified results of the mass, CoM position, and inertia tensor parameters of the last combined link, respectively, which show that the identified results of all the inertia parameters converge to the true values after about 100 s.

Fig. 4
figure 4

Identified results of the inertia tensor parameters

Figure 5 illustrates the identified results of the auxiliary parameters that are scaled to have the same magnitude. Although the magnitudes of the real inertia parameters are significantly different, such as that the magnitude of the reciprocal of the mass is 0.033 versus the magnitude of the inertia moments is around 15, all the auxiliary parameters, as shown in Fig. 5, have magnitudes that are between 0 and 1, which demonstrates the effectiveness of the proposed parameters scaling law.

Fig. 5
figure 5

Identified results of the scaled auxiliary parameters

The proposed Condition 1 requires the matrix \({\varvec{\varTheta }}\) to be positive definite. The minimum eigenvalue of the matrix \({\varvec{\varTheta }}\) is presented in Fig. 6, which shows that the minimum eigenvalues are always larger than 0, indicating that the Condition 1 is always satisfied during identifying the parameters. As a result, the identified results of all the inertia parameters, as shown in Figs. 2, 3, 4, have converged to the true values using the proposed concurrent learning algorithm.

Fig. 6
figure 6

Minimum eigenvalue of the matrix \({\varvec{\varTheta }}\)

Using the proposed adaptive reactionless control method, the base attitude disturbances caused by arm motions are presented in Fig. 7. It can be seen that base attitude suffers from the pretty small disturbances that are less than \(0.0002^\circ \) most of the time.

Fig. 7
figure 7

Trajectories of the base attitude

The joint angles trajectories are presented in Fig. 8. Note that the joints are required to follow sine curves \(\left( \theta _{i,max} = \frac{\pi }{4},T_i = \frac{100}{i}, i=1,2,\ldots ,6\right) \) in the controller design, the joint angles do not strictly follow the desired trajectories, due to the lack of DoFs to perform joint angles tracking task that is assigned with a lower priority in the controller design. However, the joint motions are successfully restricted to oscillate in the limited ranges. As a comparison, the joint angles trajectories under the controller that considers null base attitude disturbance without joint motion limits are illustrated in Fig. 9. Some joints experience large displacements, such as that the displacement of the sixth joint reaches almost 20 rad, which may go against the physical limits.

Fig. 8
figure 8

Joint angles trajectories with limits

Fig. 9
figure 9

Joint angles trajectories without limits

Fig. 10
figure 10

Identified results of the inertia parameters without joints following sine curves

Fig. 11
figure 11

Identified results of the inertia parameters

Fig. 12
figure 12

Identified results of the inertia parameters only using the instantaneous motion data

The sine curves that satisfy the PE condition have been selected as the desired trajectories of the joints for restricting joint motions to limited ranges. In order to omit the case that joints following the sine curves make the excitation motions satisfy the PE condition, the identified results of the inertia parameters without requiring the joint motion limits, i.e., joints not following the sine curves, are presented in Fig. 10, which shows that the parameter identification errors can converge to zero by only satisfying the condition 1 using the proposed concurrent learning algorithm.

In order to verify the global convergence property of the concurrent learning algorithm, the initial estimated values of the inertia parameters are set as 10% of the true values. Figure 11 presents the corresponding identified results, which shows all the identified results converge to the true values, and therefore, the global convergence property is verified.

The identified results of the inertia parameters, where only instantaneous motion data are used in the learning law, are presented in Fig. 12. It can be seen that until 200 s only some identified results, such as those of the mass, converge to the true values of the parameters; however, the others, such as those of the inertia tensor parameters, have not converged. Compared with the previous identified results using the proposed concurrent learning law, it demonstrates the fast convergence rate, which in fact is proved to be exponential rate, of the proposed concurrent learning algorithm.

6 Conclusions

A concurrent learning algorithm for parameters identification and an adaptive reactionless control method of space manipulators are presented in this paper. The past motion data points of the system are properly selected and used together with the instantaneous motion data in the proposed concurrent learning algorithm, which makes the parameters identification errors globally converge to zero at an exponential rate and without the need for satisfying the PE condition. A parameters scaling technique is included in the concurrent learning algorithm, which turns the real unknown inertia parameters into the auxiliary parameters that have the same magnitude; therefore, the parameters can be identified at the same time. The adaptive reactionless control method realizes that null base attitude disturbances are caused by arm motions and the joint motions satisfy the physical limits, where the two kinds of the control commands are synthesized by using the Task-priority-based method. Simulation results show that (1) the parameters identified results can globally converge to the true values, and the convergence rate using the proposed concurrent learning algorithm is faster than that only using the instantaneous motion data as in conventional adaptive control methods, (2) the scaled auxiliary parameters indeed have the same magnitude, and (3) the base attitude disturbances are \(<\,0.0002^\circ \) most of the time and the joint motions are successfully restricted in the limited ranges.