1. Introduction
With the large-scale exploitation of outer space and the increasing frequency of spacecraft and satellite launches, future space systems are expected to have low cost, rapid response, and multiple uses [
1]. However, the traditional development mode cannot meet the needs of future space systems [
2]. For example, traditional space systems are almost specially designed for missions, requiring subsystem-by-subsystem development and numerous iterations, which are slow, repetitive, and expensive [
3]. In addition, the structures of these traditional spacecraft systems are essentially permanently fixed and designed to perform a single mission that cannot be reconfigured for other missions. Long development cycles and launch-window limitations also make it difficult for them to respond quickly to emergencies [
3].
To overcome these limitations of existing space systems, many new concept satellites have been proposed, and the most representative ones are CubeSats [
4,
5]. The primary goal of CubeSats is to provide a small, lightweight, low-cost platform for academic and technology demonstration. A CubeSat is a
cube. It provides a standard for the design of picosatellites to reduce cost and development time, increase accessibility to space, and sustain frequent launches [
6]. The spacecraft bus was designed to be versatile enough to accommodate different payloads that meet the mass, volume, and power constraints. Presently, the CubeSat Projects become attractive for wide fields [
7,
8], such as exoplanet detection [
9,
10], space weather [
11], weather forecasting [
12], and river-flow estimation [
13].
However, the utilization of a standard, low-cost satellite bus will reduce the reliability and decrease the lifetime of Cubesats [
14,
15]. A statistical study performed in 2013 on the first 100 launched CubeSats [
16] shows that the mission failures of CubeSats are on a high level [
17]. In addition, the structure of CubeSat is fixed, and it carries limited payloads so that they can only perform a single space task.
Taking the design concept of CubeSat as the baseline, we proposed a new type of satellite with a reconfigurable structure and adjustable function, named Space Modular Self-Reconfigurable Satellite (SMSRS). SMSRS has the following features:
(1) Modular: SMSRS has a chain structure composed of functional modules and joints. Common satellite subsystems are integrated into unit modules and are called subsystem modules. The unit subsystem modules are installed with standard interfaces for payloads and joints. According to shapes and work positions, the payloads are designed as external structures carrying standard docking interfaces to the subsystem modules, or as unit payload modules. The modular design of SMSRS facilitates the structural folding and packaging before launch and the reconfiguration in space [
18].
(2) Scalability: Payload and subsystem modules are functionally independent and physically separated from each other. The volumes and masses of module units are divided into several series from small to large, which can be selected according to the demand of payloads. All modules have standard interfaces, which 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 SMSRS are configured to mission requirements. The model of the SMSRS with five modules is shown in
Figure 1.
(3) Structural Reconfigurability: There are three mutually orthogonal joints between modules of SMSRS. The three joints form degrees of freedom (DOFs) between modules in relative rotation, roll, and yaw and enable the SMSRS to self-reconfigure adaptively to mission command.
(4) Risk resistance. The scalability and modularity together determine the risk resistance of SMSRS. Since modules are functionally independent, the failure of a local satellite module makes the satellite not completely fail, and the multiple payloads it carries can still be reprogrammed functionally. In addition, multiple joints between modules allow the modules to maintain some relative motion capability in the event of a single joint failure.
(5) Functional Adjustability: The types of payloads carried by SMSRS include optical cameras, SAR, communication payloads, etc. While carrying different payloads, SMSRS arranges and reorganizes these payloads in different space orientations by structural reconfiguration and therefore achieves the ability to accomplish multiple types of space missions. There are typical application scenarios for SMSRS:
When SMSRS carries multiple optical cameras, it could change the spatial orientations of these cameras through joint motions. With this, these cameras could achieve an expanded imaging area by stitching together their field of view as shown in
Figure 2a, or achieve the reconnaissance of multiple targets as shown in
Figure 2b.
When SMSRS carries multiple communication payloads and adjusts them towards different orientations, it can achieve multi-area communication to the earth, as shown in
Figure 2c.
The application scenarios of SMSRS are by no means limited to these, and there are larger expansions. Moreover, in recent years, a large number of small satellite launches have led to space traffic congestion and burdened space traffic management. At the same time, a large amount of space debris is generated, which seriously threatens the safety of satellites in orbit. The multi-functional feature of SMSRS, which allows a single satellite to perform multiple functions adaptively, can reduce the number of satellite launches. It reduces the pressure of space traffic management and the generation of space debris.
The target orbit of SMSRS is Low Earth Orbit (LEO). The advantage of standing high and seeing far in High Earth Orbit (HEO) can be compensated by the feature of SMSRS multi-payload synergy, e.g., the large field of view of HEO satellites can be achieved by using fields of view stitching of SMSRS. In addition, LEO launches can launch heavier mass satellites at a lower cost, providing margin for SMSRS in-orbit scalability.
When running on LEO, the satellite tracking is characterized by low transmission delay, low coverage, low link loss, and low power consumption. The low transmission delay and low loss are beneficial to the command transmission of the reconfiguration for SMSRS, and in solving the low coverage problem, as shown in
Figure 2c, adjusting the orientation of the tracking system can be used to expand the tracking range.
As shown in
Figure 3, SMSRS are folded and packed on the ground before launch. After getting into orbit, the folded configuration is gradually unfolded and changed from the initial configuration to the work configuration for performing the designed mission. When the SMSRS receives a new mission command, its mission planning system will plan the new mission configuration and send the joint control system command for reconfiguring to the new work configuration. Modules of SMSRS have solar cells attached to each surface to ensure battery recharging in different configurations.
The function switching of SMSRS depends largely on the motion of the joints. However, from
Figure 1, it can be seen that the modules of SMSRS are large in size but small in spacing between each other, and the motion of the joints allows the relative positions of these modules to change over a wide range so that collisions between modules can easily occur. When a collision occurs, it is likely to cause structural damage and instability of the system [
19]. To avoid self-collisions between modules in whole reconfiguration progress is crucial for the on-orbit safety of the system [
20]. In this paper, we will study how to achieve self-collision avoidance in the reconfiguration of SMSRS.
The remaining paper is organized as follows.
Section 2 sorts out the related work on self-collision avoidance of self-configuring systems. In
Section 3, the collision detection model of SMSRS is established.
Section 4 elaborates on the self-collision strategy of SMSRS. In
Section 5, the parameters of SMSRS and two self-collision avoidance tasks are set.
Section 6 verifies the self-collision avoidance path planning method.
Section 7 summarizes the work of this paper.
2. Related Work
The researches on avoiding self-collision are mainly for redundant robotic arms, and the contents mainly involve two aspects: self-collision detection and self-collision avoidance strategies. Collision detection focuses on establishing an approximate geometric model of the collision-prone structures of the research object to calculate the relative position between them [
21] and to judge whether they will collide or have collided. There are two common methods to establish the collision detection model. The first method uses a large number of polygons [
22,
23] to model the geometrical shapes of collision-prone structures to fit them as closely as possible. This method is generally suitable for systems that have an irregular shape and higher requirements for collision detection accuracy, or are used to perform sophisticated tasks, but it requires higher computational costs. For systems with regular shapes or have low requirements for collision detection accuracy, using the sphere-based model to establish its approximate structural envelope is another method [
20,
21]. These approximate envelopes can be selected according to the shape of the system, including spheres [
21,
24], swept-spheres [
25], cylinders [
20], capsules [
26], patch-based bounding volumes [
27], etc. Although the second method could not accurately describe the shape of the collision-prone structures, it is computationally economical.
In the present research, self-collision avoidance strategies are usually divided into the online reactive approach [
27,
28] and offline path planning. Of the two, the online reactive approach does not predetermine the angle motion path but detects collisions in real time during joint movements. Online reactive approaches usually use the distance functions as “repulsive potential” functions and then converts them into joint velocities based on Jacobian Inverse Kinematics (IK) [
26] and joint torques for torque control schemes [
29], or regards them as a constraint in an optimization-based IK solver to adjusts the joint motion path in real time [
28,
30], etc. To obtain smooth joint motion trajectories, some researchers have proposed a unified framework to detect collisions by using a series of sensors capable of estimating joint torques and accelerations in real time. However, the use of expensive hardware such as sensors always increases the cost [
21]. Although the online reactive approach has a shorter computation time, it is mostly applied to ground-based humanoid robots and is only applicable to systems with fewer DOFs because of its instability.
Offline path planning can be divided into two categories: path planning of end-effector in workspace [
31,
32] and path planning of joints in joint space [
33,
34]. As there is no end-effector of SMSRS, we do not discuss the path planning of the end-effector, but focus on the path planning of the joints in joint space. In contrast to the online method, offline path planning predetermines the motion path of joints and there would not be self-collision when joints move along the predetermined path. Compared with the online reactive approach, offline path planning is more stable and efficient, and the planned paths are guaranteed to be optimal, which are more suitable for space systems with higher requirements for stability. Moreover, for SMSRS, offline path planning will not make its joints detour in space, which is also of great significance for energy conservation. Therefore, offline path planning is the more suitable choice for the self-collision avoidance strategy of SMSRS.
Currently, offline path planning for collision avoidance of self-configuration systems such as space robotic arms is mostly focused on avoiding collision with fixed obstacles or target vehicles in the environment [
20,
35]. The methods to avoid collision with obstacles in the environment include using a random search algorithm to find a collision-free joint path in the Configuration Space (C-Space) of the robotic arm, and commonly used algorithms include the A* algorithm [
36] and the Rapid Exploration Random Tree (RRT) algorithm [
37,
38,
39], and using optimization techniques [
40], etc. In addition, the current offline path planning only needs to find collision-free joint paths to achieve the desired pose of the end effector, regardless of the pose of other intermediate structures [
20]. The researches on self-avoidance are also mainly focused on systems with fewer DOFs. Therefore, current research cannot meet the requirements of self-collision path planning of SMSRS, mainly because it has the following newly derived difficulties:
- (1)
SMSRS has a super-redundant structure, and its ultra-high DOFs make collisions between each module possible and easy;
- (2)
The pose of each module of SMSRS is changed in real time during reconfiguration, for one module, all other modules are its dynamic obstacles—this also imposes a burden on collision detection; and
- (3)
Different from the robots that only achieve the pose of the end effector without collision, SMSRS requires all modules to achieve desired poses without collision after path planning.
In this paper, considering the above difficulties and the actual space mission requirements, we proposed a new self-collision avoidance method for SMSRS, which consists of a collision detection model and a self-collision avoidance strategy. The collision detection model is established based on the Forward Kinematics (FK) and spherical nonholonomic envelope, which has no hardware cost and low computational cost. Among the offline and online strategies, considering the high stability requirements of the SMSRS and reducing additional hardware as much as possible, the offline path planning is selected to realize self-collision avoidance of SMSRS, and a self-collision avoidance path planning strategy based on pre-defined path and spliced C-space is proposed.
The main contributions of this study are as follows: (1) a collision detection model is developed using multiple discrete spherical, which can approximate envelop SMSRS using a few spheres and execute collision detection for SSMSRS at a low computational cost; (2) a method is proposed for splicing multiple C-spaces into a binary map based on a pre-defined path, which transforms the path planning in dynamic C-space into the planning of time sequence of joints on the pre-defined path; and (3) a new collision-free path search algorithm based on the map with dangerous potential fields is proposed to find the safest path without self-collision for SMSRS.
4. Self-Collision Avoidance Strategy
Collision avoidance is a fundamental problem in offline path planning, and a two-step framework is widely used in collision-free path planning for robotic arms with few DOFs and mobile robots, i.e., building the C-space and then searching for collision-free paths in the C-space. For the offline collision-free problem of SMSRS in time-varying configurations, we propose the spliced C-space based on pre-defined joint paths and the path planning algorithms based on digital maps with the dangerous potential field, which together consist of the self-collision avoidance strategy of SMSRS. It is implemented in several steps as follows to achieve the self-collision avoidance strategy of SMSRS:
- (1)
Locate the collision module and record collision start-stop joint angles;
- (2)
Determine the planned joints;
- (3)
Build linear path-based multiple C-spaces;
- (4)
Pre-defined the paths of the planned joints;
- (5)
Splice the multiple C-spaces based on the pre-defined paths into the binary map, and check the validity of the binary map;
- (6)
Transform the binary map into a map with the dangerous potential field;
- (7)
Search collision-free path in the map with the dangerous potential field; and
- (8)
Check paths.
The logical relationships of these steps are shown in
Figure 7, where steps (1) to (2) are for initialization, (3) to (5) are for C-space construction, and (6) to (8) are for path planning algorithms based on digital maps with the dangerous potential field. The idea and execution process of each step will be described below.
4.1. Locate the Collision Module
The initial configuration and final configuration with corresponding joint angles are given by the mission planning system. The results of the path planning of SMSRS, on a self-collision-free basis, need to satisfy the pose requirements of each link, not only the desired poses of the end link while ignoring the poses of the other links. Therefore, the goal of the path planning of SMSRS is to find feasible paths for all joints so that the SMSRS can move from the initial configuration to the final configuration without collision. We set all joints of SMSRS to move in linear paths from initial angles to final angles, and locate the collision modules under their linear paths. If there are no additional optimization objectives, the linear path is the most economical path, which avoids the energy waste caused by joints moving in complex paths and could facilitate the subsequent joint trajectory optimization.
Under the linear paths of joints, the collision detection model in
Section 3.2 is used to determine whether there is a collision between modules in real time, and once a module collision is detected, the two modules are marked as collision modules, and the collision start angles of joints
are recorded. The final configuration of the SMSRS is collision-free, indicating the collision state will not last until the end, allowing the SMSRS to continue moving and recording the collision stop angles of joints
.
4.2. Determine the Planned Joints
Once the collision module and the and are clarified, there are two options for the selection of the joints to be planned: planning the path of all joints or planning the path of only some selected joints. In this paper, the paths of two joints are selected to plan to avoid the self-collision, which is based on the following considerations: (1) the path planning with few joints can reduce the planning complexity and computational cost, while a large number of stable and efficient path search algorithms for planes can be utilized, which also improves the visibility; (2) SMSRS has wide ranges of joint angles, and by reasonably configuring the two planned joints, the configurations of SMSRS can be substantially adjusted so that new collision-free paths can be found in the collections of these configurations; and (3) each joint needs to return to the desired angle after path planning, and when multiple joint angles are planned at the same time, it is difficult to ensure that.
The principle of configuring the planned joints is the maximum success rate and maximum stability. The so-called maximum success rate means that the selected joint can find the collision-free path as successfully as possible after planning. Maximum stability means that the planned joint will not significantly change the configuration of the collision-free module, resulting in unnecessary collisions. Combining these two principles, we develop the following selection rules for the planned joints:
For ith joint, when its , we call it motion joint, otherwise no motion joint—when there are more than two motion joints between two collision modules, the two adjacent motion joints closest to the end of SMSRS are selected as the planned joints;
When the selected joints cannot successfully avoid the self-collision after planning, another two adjacent motion joints between collision modules are selected from the end to the middle of SMSRS;
When the number of motion joints between collision modules is less than two, a no motion joint closest to the end collision module and a motion joint are selected as planned joints;
Under (3), if it is still not able to find self-collision-free paths, the motion joint and no motion joint are configured from the end to the middle of SMSRS; and
After selection, we denote the planned joints as , , their start collision angles as , , and end collision angles as , .
4.3. Splice Multiple C-Spaces Based on a Pre-Defined Path
4.3.1. Multiple C-Spaces
The concept of C-space originates from collision detection and avoidance of robotics [
12,
13], which uses the pose parameters of rigid objects in the workspace as its coordinate parameters, and the kinematic relations map the poses of target objects and obstacles from the workspace to the C-space.
C-space is often used for path planning of rigid objects in stationary obstacles. Therefore, C-space can be further divided into two subspaces: obstacle space and free space. The obstacle space refers to the space occupied by obstacles in the C-space, while the free space refers to the space not occupied by obstacles in C-space. Unlike the physical workspace, the dimensions of the C-space are defined as the DOFs of all control variables in the motion system [
45]. A schematic of a two-dimensional C-space is shown in
Figure 8. When the boundaries of the obstacle space and the free space in the C-space are determined, collision-free path planning is to search for a path in the C-space that connects the start point and end point and does not pass through the obstacles.
For SMSRS, a configuration
can be defined by the
-dimensional joint vector
q, with
q denoting the current state of each joint. At this point,
can be designated as a point in the
-dimensional C-space of SMSRS, and the boundary of this convex C-space is defined by the upper bound
and the lower bound
of joint angles.
However, in
Section 4.2 we illustrate selecting only two joints for path planning, so there is not necessary to build an
-dimensional C-space of SMSRS, but only a two-dimensional C-space with the angles of planned joints as coordinate parameters. At a certain moment
t, SMSRS has a configuration
. If a collision occurs in SMSRS under
, the point
belongs to the obstacle space of the C-space, and if no collision occurs, the point belongs to the free space. Then, the first task is to map the obstacles in the workspace space to C-space. In SMSRS, all non-planned joints will be used to build the obstacle space.
However, unlike the C-space with fixed obstacles, the C-space of SMSRS is with dynamic obstacles as modules are in motion with time, so it is impossible to use computational methods to calculate its obstacle space, this paper uses the random sampling method to determine the obstacle space of the C-space of SMSRS.
At a moment, we could fix the angles of non-planned joints and build the C-space of the planned joints by the random sampling method. While the angles of non-planned joints also need to move with time, we propose the concept of spliced C-space. We select multiple time points in the collision process of SMSRS uniformly, build the C-space at each time point, and splice them together into a spliced C-space. The operation procedures are:
(1) Moderate angle allowance is added into and to ensure the states of SMSRS before and after planning are self-collision-free. Assuming that the total time of the collision process is T and joint moves from the to linearly, the collision process is equated into N time sequences. The start moment of each time sequence is , and the joint angles of SMSRS at is . The determination principle of N is: to keep it in a reasonable interval.
(2) At , randomly sample () with a sampling number ϑ, and the sample intervals are for are , , respectively, put all the sampled points into the matrix in order.
(3) At , the angles of the planned joints at the corresponding positions in are replaced by each set of in to form a new joint angle sequence. The new joint angle sequence is saved to the matrix .
(4) At
, each
in
is brought into the FK of SMSRS to calculate the module poses, and the self-collision detection model in
Section 3.2 is used to judge whether there is a collision occurring in SMSRS under
, if there is a collision occurring, the point (
) are counted into the obstacle space, otherwise, it is counted into the free space. Until each
in
are judged, the work to build C-space at
is finished.
Figure 9 shows a schematic diagram of C-space built by random sampling with ϑ = 40,000, from which we can see that as long as the sampling points are sufficient, the boundary of the obstacle space is clear.
(5) Follow steps 2 to 4 to build the C-space at each moment until obtaining the N-multiplicity two-dimensional C-space.
4.3.2. Pre-Defined Path
To find self-collision-free joint paths from the N-multiplicity C-spaces, the primary is to splice the N-multiplicity C-spaces according to certain principles. In this paper, we propose a method for splicing N-multiplicity C-spaces based on a predefined path of planned joints. The idea is to predefine a joint path and splice
N-multiplicity C-spaces into a binary map along the predefined path. In the binary map, searching for a collision-free path is essentially the planning of the time sequence of the pre-defined path. Thus, the path planning of joints in
N-multiplicity C-spaces is transformed into the planning of its time sequence on a pre-defined path in spliced C-space. Firstly, we propose a method to pre-define the path of the planned joint from
to
, which is shown in
Figure 10.
Figure 10a shows the pre-defined path for two planned joints that are both motion joints. Firstly, the angles of planned joints from
to (
) are divided into
n equal intervals,
. The
point is the start point of the path, representing the start collision angle of the planned joint
.
is the end of the path, representing the end collision angle of the planned joint
. The default pre-defined path is linear:
, and it forms a triangle with
is the apex of the obtuse angle, and it has the following three kinds of moving rules:
(1) Equilateral path: along with the line, move from the to both sides of , move from to both sides of .
(2) Non-equilateral path: move from to ; or move from to
(3) Non-equilateral path: move from to ; or move from to .
Figure 10b shows the pre-defined path method when one of the planned joints is no motion joint. Firstly, the angles of motion joints are divided into
n equal intervals from
to
, and
,
. The
point is the start point of the path, representing the start collision angle of the planned joint
.
is the end of the path, representing the end collision angle of the planned joint
The side length of both X and Y directions of a grid are equal. The default pre-defined path is linear:
, and it forms an equilateral triangle with
has two kinds of moving rules:
(1) Equilateral path: move along . .
(2) Non-equilateral path: move from to both sides of and move from to . .
We restrict
can only be located on the grid points in
Figure 10, it generates a new pre-defined path for each step forward on the grid. In
Figure 10a, if there is no collision-free path in the spliced C-space generated by the current pre-defined path, a new path needs to be pre-defined according to rules (1)~(3) successively, and the pre-defined path needs to be guaranteed the obtuse angle is greater than 100 degrees; In
Figure 10b, if all pre-defined paths in rule (1) are proved to be invalid, a new path shall be pre-defined according to rule (2), and the value of the two acute angles of the path should be less than 80 degrees. As shown in
Figure 7, if all the compliant pre-defined paths of the currently planned joints are proved invalid, the progress needs to return to the step of determining planned joints.
4.3.3. Splice Multiple C-Space
Finding the time sequence for the planned joints on the pre-defined path with no collisions is our inspiration for splicing N-multiplicity C-spaces. Equate the pre-defined path into S segments. To ensure the length of the path segment is equal to the C-space grid, S = max. Create an dimensional matrix , calculate the point of joint angles , of the start point of each segment on the predefined path. For jth point, judge whether it is in free space or obstacle space of the ith multiplicity C-space, and, if it is in the free space, = 0; otherwise = 1. After finishing the judgments, the N-multiplicity C-spaces based on the pre-defined paths are spliced into matrix , which can be regarded as a two-dimensional digital map composed of the numbers 1 and 0 and is named as the binary map.
The N rows of the binary map present the N-multiplicity C-spaces and the S columns present the S segments of whole movement time along the pre-defined path. If we could find an all-0 path from the top-left to the bottom-right in the binary map, it means that the planned joints could cross the N-multiplicity C-spaces along the pre-defined path collision-freely under a specific time sequence. A binary map is valid if there exists an all-0 path from the top-left to the bottom-right; otherwise, the map is invalid, and a pre-defined path needs to be reselected. We propose an all-0 path search algorithm based on the total path length to determine whether the binary map is valid.
In
Figure 11, the binary map is plotted into a map with grids. Every grid has two values, the top value represents its binary value, and the bottom value represents the binary sum of all the grids on the optimal path pushed to the current grid from the start point, denoted by
.
We specify the path to a grid can only be extended from its upper grid and left grid, e.g., the path to grid G can only be extended from grid F or H, and 1 for , 0 for . Therefore, the path from grid F is the more optimal path for grid G. Based on this method, the steps of the all-0 path search algorithm based on the total path length are:
(1) In a binary map, set the top-left grid as the start point and the bottom-right grid as the end point, if one of their binary values is not 0 or none is 0, the binary map is invalid and the pre-defined path should be adjusted to redraw the binary map.
(2) The path to a grid can only be extended from its upper grid and left grid. Based on this principle, we first calculate the of grids in the first row and first column from the start point down and right, respectively. Then, in left to right and top to bottom order, we continue to calculate of each grid until reaches the end point.
(3) Judge whether
of the end point is 0, if
= 0, as shown in
Figure 11a, it proves that there exists an all-0 path from the start point to the endpoint. If
, as shown in
Figure 11b, it proves that there exists no all-0 path from the start point to the end point, the map is invalid.
4.4. Path Planning Algorithms
4.4.1. Dangerous Potential Fields
As shown in
Figure 12a, a valid binary map may have several collision-free paths from the start point to the end point, to select the optimal path from them, a collision-free path planning algorithm based on a Map with Dangerous Potential Fields (MDPF) is proposed.
The dangerous potential field of the map is used to evaluate the possibility of potential collisions of its grids. As shown in
Figure 12b, a grid is centered on the eight surrounding grids, and the values
in the surrounding grids represent their effect weights to the dangerous potential field of the center grid. The dangerous potential field strength of the center grid is
, where
is the binary value of its eight surrounding grids, and for the four oblique grids,
= 0.1, for the other grids,
0.2. Calculating the dangerous potential field strength of all grids in the binary map, we convert the binary map into a digital map with the dangerous potential field, as shown in
Figure 12c. We expect to find an optimal path in the map with the dangerous potential field by the MDPF algorithm. The optimal path has the smallest total value of the dangerous potential field of all grids on the path, that is, the safest path with the lowest collision possibility.
4.4.2. MDPF Algorithm
Same as the all-0 path search algorithm in
Section 4.3.3, the MDPF algorithm sets the path start point at the top-left grid and the end point at the bottom-right grid, and
of all grids are calculated in the same order. The difference is that the value at the top of the grid represents the value of
, and the bottom value
represents the sum of the
of all grids on the optimal path from the start point to it. In addition, the all-0 path search algorithm uses
to determine whether a binary map is valid, but the MDPF algorithm aims to find the safest path in the map with the dangerous potential field.
Since
of all grids are calculated in the forward direction, the optimal path of one grid from the start point can be retracted based on the
value of other grids. For example, in
Figure 13, the path to grid
G can only extend from grid
C or grid
D. Then we compare the
of grid
C and grid
D, it can be found that
= 0.6 for A→C and
= 1.1 for A→D, therefore, the path to grid
G is extended from grid
C. According to the principle that the sub-path of the optimal path must also be optimal, the sub-path of the current path back one step is also the optimal path. Therefore, the mechanism for the MDPF algorithm is to find the optimal path by backtracking
from the end point to the start end in the map with the dangerous potential field.
From the end point, we compare the values of its upper grid and left grid, and mark the grid with smaller as the target grid, then compare the values of the upper grid and left grid of the target grid, Following this step, the target grid can be backtracked to the start grid and all the target grids form the optimal path. The MDPF algorithm achieves the planning of the optimal path without traversing every path.
In the MDPF algorithm, for the current grid, if the value of its upper grid is the same as its left grid, different optimal paths will be obtained when setting different backtracking directions, including priority to the left; priority to the upper; priority to the upper left; and priority to the previous direction, etc.
4.4.3. Check Path
The information contained in the optimal path obtained by the MDPF algorithm is the time sequence for the planned joints to cross the N-multiplicity C-spaces on the pre-defined path, and it can be translated into joint paths. Then, it should be stitched with the linear joint paths of the planned joints together to form the complete joint paths of SMSRS from the initial configuration to the final configuration. Check whether SMSRS has self-collision under the complete joint paths, if there is no collision, it proves that the path is successfully planned, and if there still exits collision, start the next joint path planning program from locating the collision module. Until the complete joint paths are verified collision-free, the path planning ends.