1 Introduction

In recent years, the problems of trajectory tracking control of robot manipulator have drawn a great attention[1, 2]. With the development of space industry, the space manipulator is playing an increasingly important role, such as constructing, on-orbit servicing and the maintenance of the International Space Station. For these applications, it is necessary to study the manipulator. Since the dynamic equations of the space manipulator are tightly coupled, highly nonlinear and uncertain, using the conventional (PID) control is difficult to achieve the desired tracking performance. Many control algorithms have been proposed to deal with the robotic control problems[36]. However, most studies on trajectory tracking of free-floating space manipulators have assumed that the kinematics are exactly known. A passivity based adaptive Jacobian controller was proposed for free-floating space manipulators whose kinematics and dynamics will change or are difficult to derive exactly[7]. Simulation results showed good performance of the proposed controller. In order to overcome the problem of the nonlinear model, the dynamics of the space manipulator can be derived using the dynamically equivalent model approach[8].A stable adaptive fuzzy-based tracking control algorithm was developed for robot systems with parameter uncertainties and external disturbances[9]. The developed fuzzy adaptive robust controller can make the closed-loop robot system stable and the trajectory tracking performance guaranteed.

However, all the above researches were only for ground robots or free-floating manipulators. The whole process that from ground alignment to space applications was not taken into consideration. From ground alignment to space applications the dynamic model of the manipulator will change which may result in the change of its movement properties. Therefore, it is necessary to design a model-free controller to make the robot system track the desired trajectory in different gravity environments.

Considering the problems above, a control algorithm is developed by combining the fuzzy approach with the PID control method. The conventional PID controller, due to its simplicity in structure and ease of design, has been widely used in industrial applications. But the weakness of the controller is that it largely depends on the parameters of the controlled object. The fuzzy controller is very suitable for a controlled object with nonlinearity and even with unknown structure[10]. If a problem is not well understood and cannot be precisely described mathematically, but has good direction on how to control it, a fuzzy logic controller often works well. However, the determination of the rules and definitions are not obvious for complex systems and it depends on people’s experience too much. Therefore, the fuzzy PID control algorithm is developed by combining the strengths of the two algorithms. It has been a common practice to combine the fuzzy controller with the simple conventional controller PID[11]. So far, many fuzzy PID control theories have been introduced[12]. In [13], a new fuzzy PID was designed to control some known nonlinear systems. The fuzzy controller tuned with particle swarm optimization (PSO) also was researched[14] and a new fuzzy auto-tuning position speed PID control strategy was proposed[15], which can not only ensure a higher position accuracy but also keep the robot operating smoothly. In order to realize automatic regulating of PID parameters a fuzzy inference method was developed[16] and the applications of the controller in some systems ware studied with Matlab.

On this basis, this paper uses a fuzzy PID controller to complete the task of controlling the space manipulator to track a given trajectory for both ground alignment and space applications. The fuzzy rules are designed according to the condition of the space manipulator control system. Simulation results have shown that it can get a satisfactory control effect.

There are two contributions of this paper. First, a novel idea has been proposed to deal with the problem of the space manipulator aligned on the ground and applied in the space and the second is that the designed fuzzy PID controller can ensure that the space manipulator can get a good control effect for both cases.

The rest of this paper is organized as follows. Section 2 establishes the kinematics and dynamics model for the two conditions. Section 3 designs the fuzzy PID controller to control the space manipulator under two conditions. Section 4 shows the simulation results and compares the results with the conventional PID controller. Finally, conclusions are drown in Section 5.

2 System description

The space manipulator in this paper assumes the followings:

  1. 1)

    The system is considered as a rigid system.

  2. 2)

    In the space the micro-gravity is ignored, and the system is in a free-floating condition. And no external forces or torques apply on the system.

  3. 3)

    The system consists of a base and several links. The pose of the base is not controlled actively, and every joint between the links can rotate freely within a range under active control. The space manipulator system is shown in Fig. 1, where MC is the mass center of the system.

Fig. 1
figure 1

The model of n-DOF free-floating space manipulator

2.1 Ground state manipulator modeling

When the space manipulator system is in the ground alignment stage the base can be fixed, for there exists gravity. To facilitate discussion, in this paper a planar 2-link manipulator is chosen, as shown in Fig. 2.

Fig. 2
figure 2

The 2-link manipulator on the ground

In Fig. 2, B i is the i-th link; C i is the centroid of the link; m i is the link mass; l i is the link length. a i is a scalar from the i-th joint to the centroid of the next link; b i is a scalar from the i-th centroid of the link to the joint of the next link; q i is the joint position.

By geometric analysis and using the homogeneous coordinate transformation, we get the position of the end-effector[17].

$${p_e} = \left[ {\matrix{{ - {l_1}{s_1} - {l_2}{s_{12}}} \hfill \cr {{l_1}{c_1} + {l_2}{c_{12}}} \hfill \cr 0 \hfill \cr } } \right]$$
(1)

where s 1 = sin q 1, s 12 = sin(q 1 + q 2), c 1 = cos q 1, c 12 = cos(q 1 + q 2).

When (1) is differentiated, the end speed of the robot manipulator is available.

$$J(q)\dot q = \dot x$$
(2)

where J(q) ∈ R 2×2 is the Jacobian matrix related to the robot manipulator motion, and q = [q 1 q 2]T is the joint angle vector and xR 2 is the end position.

For the planar 2-link robot manipulator, the dynamic of the space manipulator is derived using the Lagrange formulation.

$$M(q)\ddot q + B(q,\dot q)\dot q + G(q) = \tau$$
(3)

where M(q) ∈ R 2×2 is the inertia matrix; \(B(q,\dot q) \in {R^{2 \times 2}}\) is the vector of the Coriolis and centrifugal forces; G(q) ∈ R 2 is the gravity vector; τR 2 is the joint torque.

2.2 Free floating state manipulator modeling

According to the properties that have been assumed previously, the free floating space manipulator is shown in Fig. 3. The freedom of the selected planar manipulator will be added to five for the space manipulator will rotate around its centroid and translate along the axis. When the main body of manipulator moves, a dynamic force or torque will apply on the base and the attitude and position of the base will change.

Fig. 3
figure 3

The 2-link free-floating manipulator in space

In the figure, B 0 is the base of the space manipulator; C 0 is the centroid of the base; m 0 is the mass of the base; other symbols have been defined in Fig. 1.

The kinematic and dynamic equations can be established in the similar method of the ground case. The position of the end-effector is

$${p_e} = \left[ {\matrix{{{x_{c0}} - {b_0}{s_0} - {l_1}{s_{01}} - {l_2}{s_{012}}} \hfill \cr {{y_{c0}} - {b_0}{c_0} - {l_1}{c_{01}} - {l_2}{c_{012}}} \hfill \cr 0 \hfill \cr } } \right]$$
(4)

where s 0, s 01, s 012, c 0, c 01, c 012 have the same definitions as (1). When (4) is differentiated, the end \(\dot q\) velocity of the robot manipulator can be available.

$${J^*}(q)\dot q = \dot x$$
(5)

where J*(q) = [J b (q), J m (q)] ∈ R 2×5 is the generalized Jacobian matrix, J b (q) = ∂x/q b R 2–3 is the base Jacobian matrix, J m (q) = ∂x/q m R 2×2 is the robot manipulator Jacobian matrix and \(q = [q_b^T,\quad q_m^T] = {[{x_0},\quad {y_0},\quad {q_0},\quad {q_1}\quad {q_2}]^T} \in {R^5}\) are the center of mass, the base attitude angle and each joint angle, respectively.

According to the Lagrange formulation the dynamic equation is established as

$$M(q)\ddot q + B(q,\dot q)\dot q = {[\matrix{{0_{3 \times 1,}^{\rm{T}}} \hfill & {\tau _{2 \times 1}^{\rm{T}}} \hfill \cr } ]^{\rm{T}}}$$
(6)

where M(q) ∈ R 5×5 is the inertia matrix; \(B(q,\dot q) \in {R^{5 \times 5}}\) is the vector of the Coriolis and centrifugal forces. To ensure that the system is stable, M(q) ∈ R 5×5 should be symmetric and positive-definite. The matrix \(M(q) - 2B(q,\dot q)\) can be skew-symmetric[18].

3 Controller design

A fuzzy logic controller is normally built with four distinct components, namely fuzzification, inference engine, rule base and defuzzification[19]. A fuzzification unit is used to transform the input of the controller into a form which can be expressed by the rule base and also can be compared with the other rules. The defuzzification step is used to transform the conclusion derived from the inference into the input of the controlled objects. These two processes require heuristic rules and membership functions to encode the desired system. The basic configuration of a fuzzy system is a collection of the IF-THEN rules, where the j-th rule, is in the following form:

R (j): IF x 1 is \(F_1^j\) and x n is \(F_n^j\), THEN y j is C j, where \(x = {[{x_1}\quad {x_2}]^{\rm{T}}}\) is the input vector and yR is the output variable. By using the singleton fuzzification, product inference engine and center average defuzzification, the output value of the fuzzy system is given as

$$y(x) = {{\sum\limits_{j = 1}^m {{y^j}(\mathop \Pi \limits_{i = 1}^n {\mu _{F_i^j}}({x_i}))} } \over {\sum\limits_{j = 1}^m {(\mathop \Pi \limits_{i = 1}^n {\mu _{F_i^j}}({x_i}))} }}$$
(7)

where y j represents a crisp value at which the output membership function \({\mu _{F_i^j}}\) reaches its maximum value, i.e., \(\mu_{{F_{i}^{j}}}(y^j) = 1\).

The fuzzy PID controller is based on the conventional PID controller, using the fuzzy set to impress the control rules’ conditions and operation. The output of the PID controller is the main output of the Fuzzy PID controller, and the output of the fuzzy controller is to make some corresponding adjustments on the base of the output of the PID controller. The control structure is shown in Fig. 4.

Fig. 4
figure 4

Fuzzy PID control structure

In this paper the input r in Fig. 4 denotes the desired joint position q d obtained by inverse kinematics and y is the actual joint position of the system obtained by dynamic analysis. The input variables of the fuzzy controller are the error (e) between the desired joint position and the actual joint position and its change rate (ec), while the output fuzzy variables are the adjustment parameters to the PID, namely Δk p , Δki and Δk d , respectively. k e and k ec are blurring factors and k 1, k 2 and k 3 are solution fuzzy factors. Assume that \(k_p^0,\,k_i^0\), and \(k_d^0\) are the initial design values of the PID controller which are set by conventional method. The fuzzy PID parameters can be calculated as

$$\left\{ {\matrix{{{k_p} = k_p^0 + \Delta {k_p}{k_1}} \hfill \cr {{k_i} = k_i^0 + \Delta {k_i}{k_2}} \hfill \cr {{k_d} = k_d^0 + \Delta {k_d}{k_3}.} \hfill \cr } } \right.$$
(8)

Compared with the conventional PID control method, this method does not depend on precise mathematics model and can adjust PID parameters on line in time. At the same time, it can achieve a better control effect.

The object in Fig. 4 denotes the dynamic models of the manipulator that have been derived from (3) and (6), and the fuzzy controller will be designed in the section below.

The membership functions of input and output linguistic variables as shown in Figs. 5 and 6 are decomposed into seven fuzzy partitions expressed as NB, NM, NS, ZO, PS, PM, PB. The structure of the selected fuzzy controller is shown in Fig. 7.

Fig. 5
figure 5

The membership functions of input variables

Fig. 6
figure 6

The membership functions of output variables

Fig. 7
figure 7

Fuzzy controller structure

The fuzzy rules are extracted in such a way that the system must be stable and these rules contain the input-output relationships that define the control strategy. For the fuzzy implication, the intersection minimum operation has been used, the gravity method defuzzification process has been selected. On the basis of the experience of [16], and taking account of the actual control system of this paper, the fuzzy rule tables are designed as in Tables 13. When we get the fuzzy rule we can take full use of the Matlab fuzzy control toolbox to input the corresponding rules.

Table 1 Fuzzy rule base of k d
Table 2 Fuzzy rule base of k i
Table 3 Fuzzy rule base of k p

4 Simulation research

The fuzzy PID controller is now examined for its ability to control the space manipulator to track a given trajectory for both ground alignment and space applications. Simulations are carried out on a two-link space manipulator as shown in Figs. 2 and 3. The time taken is 10 s. The time step for the computer simulation is 0.01 s. The majority of the simulations are about the angle tracking[9, 2026]. It cannot see how the end-effector moves. In this paper, the end-effector is required to track a desired trajectory according to inverse kinematics. The desired trajectory of the end-effector is a circle that can be seen from (9). The trajectory tracking control framework is shown in Fig. 8, from which we can see that the desired joint position and the control torque are obtained by inverse kinematics and dynamic analysis of the manipulator. The parameters of the space manipulator used for simulation are shown in Table 4.

$$\left\{ {\matrix{{{x_d} = 0.28\cos \left({{{\pi t} \over 5}} \right) + 0.85} \hfill \cr {{y_d} = 0.28\sin \left({{{\pi t} \over 5}} \right).} \hfill \cr } } \right.$$
(9)
Fig. 8
figure 8

Trajectory tracking control framework

Table 4 Two-link manipulator parameters

The simulation results of the proposed method that are compared with the corresponding conventional PID controller that contains a gravity compensation term which is equal to the gravity vector computed from formulas (3) and (6), and the control torques are computed as \(\tau = {k_p}e + {k_i}\int e + {k_d}\dot e + G(q)\).

The controller parameters of PID are chosen as \(k_p^0 = 250,\,k_i^0 = 1,\,k_d^0 = 50\); the blurring factors are k e = 10, k ec = 1; the solution fuzzy factor are k 1 = 0.1, k 2 = 20, k 3 = 1. When the space manipulator is controlled by the same PID controller for both ground alignment and space application the simulation results can be seen in Figs. 9 and 10.

Fig. 9
figure 9

PID control trajectory tracking on the ground

Fig. 10
figure 10

PID control trajectory tracking in space

It is obvious from Figs. 9 and 10 that the results obtained from Fig. 9 show better effect when compared with those from Fig. 10. It can be seen that the controller cannot drive the joints to reach the desired positions and there exists a steady-state tracking error. This is understandable since the gravity will change from ground alignment to space applications. When the space manipulator enters into the space the gravity compensation term in the controller has an influence on the space manipulator so that the manipulator cannot track the desired trajectory well.

As stated in the previous section, the fuzzy PID controller has its advantage. Here, a fuzzy PID controller is adopted whose parameters have been stated in the previous section. When the space manipulator is in space, the PID parameters will be tuned by the fuzzy controller which is shown in Fig. 11. Figs. 12 and 13 show the trajectory tracking results with the fuzzy PID control for the two conditions.

Fig. 11
figure 11

PID parameters tuned by fuzzy controller

Fig. 12
figure 12

Fuzzy PID control trajectory tracking on the ground

Fig. 13
figure 13

Fuzzy PID control trajectory tracking in space

Figs. 12 and 13 show the simulation results of the proposed fuzzy PID controller. It is observed that the control system can get a good tracking performance and the tracking errors converge to small values because of the on-line learning of the fuzzy logic system. The simulation results thus demonstrate the proposed fuzzy PID control can effectively control the system with model changes. Simulation results also show that the torque on the ground is bigger than that in the space. This is because the torque is relevant to the gravity. To validate the correctness of the conclusion, in this paper, g is changed to observe the simulation results. Figs. 14 and 15 show the trajectory tracking results when g is 4.9 m/s2 and 1.0m/s2, respectively.

Fig. 14
figure 14

Fuzzy PID control trajectory tracking when g = 4.9 m/s2

Fig. 15
figure 15

Fuzzy PID control trajectory tracking when g = 1.0 m/s2

As expected, smaller torques are obtained for a smaller gravitational acceleration g, as shown in Figs. 14 and 15. This demonstrates that the gravity does have influences on the torques. Controlled with the fuzzy PID, the system can get good control performance with a varied g. Simulation results demonstrate that the proposed adaptive fuzzy PID controller can effectively control the space manipulator system with model and parameters changing.

5 Conclusions

To solve the model change problem when the space manipulator is aligned on the ground and applied in the space, this paper has established the dynamic models of the two cases. A fuzzy PID control scheme for space manipulator trajectory tracking control has been designed. Compared with the conventional PID control, simulation results show that the fuzzy PID controller derived in this paper demonstrates a better performance than the conventional PID controller. The proposed control algorithm is appropriate for practical control design robotic manipulator with model change and has important values for theoretical research and engineering application.