# Task-Oriented Motion Planning of a Space Manipulator under Multiple Constraints
## 1 Introduction  
As a new type of aerospace equipment, the space manipulator works mostly in a narrow, complex and lack-of-supply working environment. The cost of energy supply and maintenance is high, so its movement process is subject to a variety of constraints from itself and the outside world. On the other hand, limited by the performance of the on-board computer and the reliability requirements of the on-orbit control system, the space manipulator usually only carries several basic path planning algorithms. Multi-constraint task planning of a space manipulator refers to finding the behavior sequence and motion path of the manipulator from the initial state to the target state with the given initial conditions (including the initial state of the manipulator), constraint set (including environmental constraints, running time, energy consumption, intermediate point, etc.) and target set (including the target position and the attitude of the manipulator). Aiming at the complex on-orbit task requirements, the on-orbit task execution autonomy of a space manipulator is becoming more and more important [1]. In the process of task execution, many factors, such as joint motion range, external environment interference, running speed and time, need to be considered. If this is done by only relying on human selection, it is difficult to obtain ideal planning path and results. A motion planning strategy considering multi-constraint conditions for different tasks is an inevitable choice to optimize the results of the manipulator motion planning and improve the autonomy of task planning. For a manipulator used on a space station, its application environment is known. Therefore, the global motion planning method is more suitable for this kind of manipulator. The global path planning method consists in planning a motion path for the robot from the starting point to the end point according to the known global environment information. The accuracy of planning the path depends on the accuracy of obtaining environmental information. This method can usually find the optimal solution, but accurate global environment information has to be available in advance. The methods based on environmental modeling mainly include the free space method, the configuration space method and the grid method. The free space method uses predefined basic shapes such as generalized cone [2] and convex polygon [3] to construct the free space, represents the free space as a connected graph, and then carries out path planning by searching the connected graph. This method is flexible. Even if the starting point and target point change, there is no need to reconstruct the connected graph, but the complexity of the algorithm is directly proportional to the number of obstacles and it cannot guarantee that the shortest path can be obtained in any case. Therefore, this method is only suitable for situations where the path accuracy and the robot speed are not high. In order to simplify the problem, the configuration space method usually reduces the robot to one point and expands the obstacles around it proportionally, so that the robot can move freely in the obstacle space without colliding with the obstacles and their boundaries. At present, there are well-developed visual graph methods [4] and optimization algorithms (such as the Dijkstra method [5], the A* search algorithm [6], etc.). The grid method [7] decomposes the working environment of the robot into a series of grid cells with binary information and assumes that the position and size of obstacles in the workspace are known and will not change during the movement of the robot. The two-dimensional workspace of the robot is planned with a grid of the same size, and the grid size depends on the size of the robot itself. The grid method records environmental information in the units of the grid. The size of the grid has an important impact on the size of environmental information storage and the length of the planning time.