Abstract
Abstract A free-floating space manipulator has outstanding advantages and wide application prospects compared with other categories. This paper discusses the concepts and categories of space robots and introduces the current trajectory-planning algorithm for a space robot and its ground simulation system in the main countries of the world. This paper also constructs a system model for the space manipulator system and gives the kinematic equation of such a manipulator system. A dynamic equation of the manipulator's joints is also developed by using Lagrange equations. Continuous Cartesian trajectory planning is also studied in this paper based on differential kinematical equations and momentum conservation equations. Finally, this paper presents the subsection evolution algorithm in GA to realize the trajectory tracking of a free-floating space manipulator and a simulation about the free floating space manipulator and its corresponding analyses are given.
1. Introduction
Space has attracted special interest as a new application field of robotics. The space robot system, composed by a satellite and a manipulator attached to the spacecraft, is widely applied in complicated and dangerous space missions such as the capture and on-orbit services of a space target. In free-flying mode, by using the limited chemical fuel, the thruster jets of the spacecraft can compensate for the disturbance to the spacecraft caused by the movement of the manipulator. In order to conserve the precious fuel carried by the spacecraft, the thruster jets of the spacecraft should be turned off, thus the spacecraft is uncontrolled. Such a system is called an free-floating space manipulator(FFSM) system and the dynamic coupling effect between the manipulator and the spacecraft caused by the unfixed spacecraft attitude of the FFSM system is inevitable, so FFSM motions induce the disturbances to the spacecraft attitude [1].
A well-known space robot, the Shuttle Remote Manipulator System (SRMS or “Canadarm”) [2], was operated to assist the capture and berth of the satellite from the shuttle by the astronaut. NASA missions STS-61, STS-82 and STS-103 repaired the Hubble Space Telescope using astronauts with the help of SRMS. Engineering Test Satellite VII (ETS-VII) from NASDA, Japan demonstrated that the space manipulator could capture a cooperative satellite whose attitude is stabilized during the demonstration via teleoperation from the ground-base control station [3, 4]. The space robotic technologies mentioned above demonstrated the usefulness of a space robot for space service. The space manipulator is a complex flexible system, the forward and inverse kinematics equations of the manipulator involve a large number of transcendental functions such as cosine, sine, inverse tangent and square root. In conventional methods, transcendental functions are calculated by the Taylor series expansion or LUT (Look-up Table). However, the above two approaches are not attractive solutions to the real-time control of the manipulator and the accuracy of the end effector [5,6].
Many researchers have focused on kinematics, the motion-planning problems of the space manipulator systems. Papadopoulos and Tortopidis presented a path planning methodology in joint space for the planar FFSM. The method is based on mapping the non-holonomic constraint to a space where it can be satisfied trivially [7–9]. The reachable workspace of the FFSM with zero-disturbance spacecraft attitude is analysed and discussed in detail in [10].
The dynamic reaction forces and moments due to the manipulator motion will disturb the space base, especially when the space robot is in a free-floating situation. The longer the motion time of the space manipulator is, the greater the disturbance to the base will be. Panfeng Huang and Jie Yan presented an interval algorithm for tracking trajectory of a space manipulator for capturing an uncontrolled spinning satellite, and handled the difficulties as the feasible motion realization in joint space [11]. Time-optimal manipulator control strategy of a free-floating space robot is presented. The optimization procedure by Ma and Watanabe [12] was applied to solve the simplified optimization problem. A time-optimal control strategy of a free-floating space robot was discussed considering an arbitrary prescribed path for the manipulator hand and the dynamic constraints on reaction torque by Tomohisa Oki and Hiroki Nakanishi. The strategy was verified by numerical simulation with a free-floating space robot model equipped with a seven-DOF (degrees-of-freedom) manipulator and a system of three reaction wheels [13]. In [14], a manipulator path planning method for a space robot is discussed considering the limitations on the torque of reaction wheels and the manipulator path is determined by using an optimization technique.
This paper is organized as follow. Section 2 presents a model for the space manipulator system and gives the kinematic equation of such a manipulator system. A dynamic equation is also developed by using Lagrange equations. In Section 3, the procedure of the trajectory-planning algorithm in Cartesian space is explained. Also, the approach of GA developed by Panfeng Huang and Jie Yan et al. is demonstrated. In addition, the subsection evolution of GA for trajectory planning of FFSM is presented in detail. In Section 4, the simulation is shown compared to the desired trajectory. The final section summarizes the whole paper and gives some conclusions.
2. Kinematic Model, Dynamics Model And Motion Equation
A. Kinematic Model of Space Robot
In this paper, the authors assume a simple model of a space robot system, which is composed of a space base and a robotic manipulator arm mounted on the space base.
The space manipulator is installed on the space platform to fetch parts for astronauts, catch assemblies and so on. Fig. 1. depicts the structure and coordinates of the manipulator. This space manipulator is mainly composed of six modular rotary joints, one gripper and one vision camera, which is installed on the gripper. The central controller is placed on the space platform to perform kinematic control.

D-H coordinates of the space manipulator
In this section, we select a manipulator with six degrees-of-freedom as our studied object.
A six-DOF space manipulator mounted on a spacecraft is used to demonstrate the analytical results. The six joints are all revolute joints. The structure and coordinate system of the space manipulator are shown in Fig. 1. The D-H parameters of the space manipulator are listed in Tab. 1.
D-H Parameters of the Manipulator
The camera on the gripper gets the pose and position of the target and forms the homogeneous transform matrix
In order to plan the desired set points of the Cartesian coordinate trajectory for the gripper to catch the target,
Equation (2) contains a large set of trigonometric functions: sin θi =si and cos θi =ci.
B. Inverse Kinematic for 6-DOF Manipulator
The inverse kinematics solution procedure for a six-DOF manipulator is indicated as follows:
We obtain the equation from (4) as:
Then:
We could also obtain the expressions as follows:
C. Dynamics Model of Space Robot
Some important research achievements in space robot dynamics and control were collected by Xu and Kanade [17].
As shown in Fig. 3., the dynamics model assumed can be treated as a set of n + 1 rigid bodies connected with n joints that form a tree configuration, each joint numbered in a series of 1 to n. Two coordinate systems are defined. One is the inertial coordinate system Σi in the orbit, the other is the base coordinate system Σ0 attached on the base body with its origin at the centroid of the base. All vectors in this paper are expressed in terms of coordinate Σi. Three appropriate parameters such as Roll, Pitch and Yaw are described for the attitude of the base and end-effector. Ellery [18] defined the notations as follows:

Dynamics Model of Space Manipulator System.
Σi — — theith link frame
ΣE — — the manipulator end-effector frame
ΣI — — the inertial frame
ri — — the position of the mass centre of link i with respect to the inertial coordinates
rG — — the position of the mass centre of the entire system with respect to the inertial coordinates
pe — — the position of the end-effector with respect to the inertial coordinates
li — — the vector from joint i to joint i + 1
ai — — the vector from joint i to the mass centre of link i
bi — — the vector from the mass centre of link i to joint i + 1
mi — — the mass of each rigid link i
mT — — the total mass of the system
Ii — — the inertia matrix of link i with respect to the mass centre
ωi — — the angular velocity of the link i
Where i = 0,1,2⃛, n
D. Kinematic and Dynamic Equation of Space Robot
Wenfu Xu and Yu Liu et al. have collected some important research on kinematic equations [22]. ri and pe are defined as the position vectors pointing toward the centre of the
Then we can obtain:
The linear and the angular momentum conservation of the space manipulator are as follows:
Then we can obtain that:
Where
Then we can obtain the momentum conservation equations of space robotics:
Where
Then we obtain the motion equation of the space robot:
Where Jg is the generalized Jacobian matrix of the space robot.
Where
We define generalized coordinates
Then we can obtain the Lagrange dynamic Equation:
It has been found that free-floating systems are subject to unpredictable dynamic singularities in their manipulator workspaces owing to the attitude motion of the platform at which point they become unstable [19, 20] Indeed, dynamic singularities are characteristic of free-floating systems and are functions of the mass and inertia of the composite spacecraft/manipulator system. These singular joint configurations cannot be mapped into unique points in the workspace since the generalized Jacobian is a dynamic function rather than being purely kinematic and spacecraft attitude coordinates do not map uniquely to end-effector coordinates.
The bidirectional search mapped between the original state and the final desired configuration using the generalized Jacobian to avoid excessive joint torques is used for obstacle avoidance or for reorientation of attitude. A Moore-Penrose pseudo-inverse version of the generalized Jacobian
3. Subsection Evolution in Trajectory-Planning
A. Trajectory Planning in Cartesian Space
Trajectory planning in Cartesian space is always described as follows:
Set the continuous trajectory of the manipulator end-effector in Cartesian space as pe (t), ϕe (t). Plan the linear velocity of the manipulator end-effector by ve (t) = ṗe (t). Plan the angular velocity of the manipulator end-effector by Compute the velocity of the joint on the inverse kinematics equation by the angular and linear velocity of the manipulator end-effector Where Jg−1 is the inverse damping minimum variance of the generalized Jacobian matrix of the space robot. It can be presented as: Compute the angular velocity of the space manipulator base attitude by (7), then obtain the base attitude Φo by numerical integration.
Trajectory planning in Cartesian Space calculates the movement of six joint angles by an inverse generalized Jacobian matrix of the space robot and the expected trajectory of the manipulator end-effector. It has some disadvantages such as reliance on the inverse velocity kinematics equation and is influenced by the singular value of the Jacobian matrix.
B. Genetic Algorithms-Based Minimum Torque Path Planning for a Space Manipulator
In the space environment, the power supply for a space manipulator is limited because of the lower ratio of the solar array. Panfeng Huang and Jie Yan presented a minimum torque path-planning scheme for a space manipulator, which used a Genetic Algorithm (GA) to minimize the objective function. The planning procedure was performed in the joint space and with respect to all constraints, such as joint angle constraints, joint velocity constraints and torque constraints. GA was used to search for the optimal joint inter-knot parameters in order to realize the minimum-torque.
The basic optimal processes of GA are illustrated in Fig. 4. The algorithm procedure in [22] can optimize the trajectory using the genetic algorithm as follows:
Optimization procedure using genetic algorithm Choose the number of inter-knots m, then determine the path planning strategies for each path segment. Encode the parameters of every inter-knot using the chromosomes of GA. Define the fitness function according to the cost function and constraints. Define GA parameters, such as population size np, generation number ng, crossover probability pc and effective gene number ne. Let generation number ng = 1. Randomly generate a population of binary strings, Let l = 1. Decode each binary string bs1k into parameter
Compute the maximum joint angle, joint angular velocity, joint angular acceleration, qijmaxk and vijmaxk with respect to the path Qijk. Compute every joint torque using inverse dynamics according to the maximal position, velocity and acceleration of the joint, qijmaxk, vijmaxk. Let l = l + 1 and return to Step 5 until l = np. Summarize the absolute values of all torques from l = 1 to l = n according to fitness function. Collect the minimum fitness function value. Let k = k + 1, generate a new population popk using reproduction, crossover and mutation operators. Return to Step 4 until k = ng Obtain the minimum fitness function value, thus, the parameters in this situation as optimal values. Get the optimum trajectory Qij*.
Firstly, some inter-knots were selected to generate the trajectory segments. In each trajectory segment, a suitable polynomial is used to obtain the local trajectory. Thus, the whole trajectory is planned iteratively and its performance can be calculated according to the fitness function in which cost function and constraints are taken into account. The parameters of the inter-knots of each trajectory segment were optimized by the GAs. Meanwhile, the path is evolved into the optimum trajectory connecting initial and the final points in the joint space.
In [23], GA was used to solve the optimal trajectory planning described by the cost function with a dynamic model under initial and final conditions and constraints. The whole trajectory was divided into several trajectory segments. The path point connecting with two segments was called the knot point. The optimal algorithm was to search for the optimum parameters of each knot point, such as joint angle and joint angular velocity, then to realize minimum torque trajectory planning. The coefficients of the polynomials depended on the trajectory parameters, qij and vij if the travel time tf of every trajectory segment was fixed [24]. Therefore, these parameters will be evolved by the genetic algorithm.

Joint position trajectory, angular velocity, Joint angular acceleration and Joint torque versus time for 2-DOF manipulator
C. Trajectory Planning on subsection evolution using GA
In this section, the steps of the trajectory planning for FFSM is presented. Firstly, we set a continuous trajectory of end-effector and divide the whole trajectory into a variety of subsections. We call the path points as inter-knots which cut the trajectory into sections. Then we encode the parameters of every subsection and define GA parameters and also fitness function according to the kinetic energy. Then we obtain the movement, velocity and acceleration of the joints by calculating the population. The apprach could search for the optimum parameters of the subsection to realize minimum energy planning. The new algorithm procedure to optimize the trajectory using subsection evolution by a genetic algorithm is as follows:
Set the continuous trajectory of the manipulator end-effector pe(t), then set the n inflection points as the crucial segmentation points to divide the trajectory into n − 1 parts of the whole trajectory. Choose the number m − 1 to divide each subsection by inter-knots, then the number m, n of initial inter-knots can be obtained. Draw a circle with the centre at each initial inter-knot and with a radius equal to ri. Obtain the inter-knots by proportional spacing. Encode the parameters of every subsection using chromosomes of GA and generate the initial population. The initial inter-knots, which construct different subsections, are connected to form a continuous trajectory. Define fitness function according to kinetic energy. The whole kinetic energy of the space system is already expressed:
Where, Cmax is the total energy consumed by the system. Define GA parameters.
Mutation:
Every new inter-knot is generated by the circle with the centre at each initial inter-knot and with a radius equal to ri. Every new inter-knot creates a new trajectory after every generation. The mutation rate pm = 0.05.
Crossover:
As shown in Fig. 6., two trajectories exchange two inter-knots to create new trajectories for crossover. The crossover parameters Mc are determined by the crossover rate pc. We set pc = 0.4 in this paper.

Mutation operator
Reproduction:
We determine the roulette wheel method, which is the base of GA [22] and set the reproduction rate pr = 0.2.

Crossover operator
Calculate the error ζe of the end of the space manipulator to judge whether or not it's within the allowable error ζ. If ζe > ζ, Go to Step 4. If ζe ≤ ζ, the parameters in this situation are optimal values. Obtain the optimum trajectory.
4. Simulation
The detailed derivation of dynamic equations of space robots can be obtained from Section 2. The parameters of the space robot are shown in Table 2. For a real space robot system, the joint angle, angular velocity, acceleration and torque of the manipulator should have constraint values. We can define the constraint conditions of the model of a space robot as follows:
Parameters of Space Robot System
According to the simulation result, Fig.8. shows the trajectory of the manipulator end-effector. The plot shows that it starts from the initial position at t = 0 seconds and reaches the final position at t = 40 seconds. It also shows the linear velocity and acceleration of the manipulator end-effector.

Trajectory of end-effector
The goal of the simulation is to verify the performance of GA optimization.
As shown in Fig. 8, the planned path is smoother and more applicable for the control of the manipulator. The structure of the algorithm is more flexible for solve the general problems in these kinds of algorithms using inter-knots if introducing the other parameters such as the corner points by generating inter-knots. The error between the actual trajectory and the desired trajectory can be kept in an allowed range by introducing the error parameter into the algorithm. The number of inter-knots is chosen manually before by research. The approach in this paper generates the inter-knots in a particular way to reduce time by selecting the points.(In Fig.8, the unit of the Y axis is cm.)

The simulation of space manipulator
It is necessary to study how many inter-knots are optimal for optimization. Obviously, the more inter-knots, the more complicated problem, which certainly costs more time for computation. Thus, choosing the smallest number of inter-knots is optimal. However, optimal precision may increase when adding the number of inter-knots. More inter-knots will be verified in the future work.
5. Conclusion
In this paper, a new subsection evolution algorithm for trajectory planning is developed. The method is based on genetic algorithms, which can search most satisfactory parameters of subsections to generate the optimal motion path. The optimal path obtained is fit for high velocity and high precision dynamic control.
6. Acknowledgement
This work is supported by the Program for Changjiang Scholars and Innovative Research Team in University(No.IRT1109), the Program for Liaoning Science and Technology Research in University (No.LS2010008), the Program for Liaoning Innovative Research Team in University(No.LT2011018), Natural Science Foundation of Liaoning Province (201102008), the Program for Liaoning Key Lab of Intelligent Information Processing and Network Technology in University and by “Liaoning BaiQianWan Talents Program(2010921010, 2011921009)”.
