Abstract
Generating smooth and continuous paths for robots with collision avoidance, which avoid sharp turns, is an important problem in the context of autonomous robot navigation. This paper presents novel smooth hypocycloidal paths (SHP) for robot motion. It is integrated with collision-free and decoupled multi-robot path planning. An SHP diffuses (i.e., moves points along segments) the points of sharp turns in the global path of the map into nodes, which are used to generate smooth hypocycloidal curves that maintain a safe clearance in relation to the obstacles. These nodes are also used as safe points of retreat to avoid collision with other robots. The novel contributions of this work are as follows: (1) The proposed work is the first use of hypocycloid geometry to produce smooth and continuous paths for robot motion. A mathematical analysis of SHP generation in various scenarios is discussed. (2) The proposed work is also the first to consider the case of smooth and collision-free path generation for a load carrying robot. (3) Traditionally, path smoothing and collision avoidance have been addressed as separate problems. This work proposes integrated and decoupled collision-free multi-robot path planning. ‵Node caching‵ is proposed to improve efficiency. A decoupled approach with local communication enables the paths of robots to be dynamically changed. (4) A novel ‵multi-robot map update‵ in case of dynamic obstacles in the map is proposed, such that robots update other robots about the positions of dynamic obstacles in the map. A timestamp feature ensures that all the robots have the most updated map. Comparison between SHP and other path smoothing techniques and experimental results in real environments confirm that SHP can generate smooth paths for robots and avoid collision with other robots through local communication.
1. Introduction
Mobile robots with autonomous navigation capabilities have been used in various operations, such as industry automation, floor cleaning and managing warehouses. In these kinds of operations, multiple mobile robots are generally deployed in situations where they need to autonomously move between various locations. A smooth and continuous path is desired for robot motion that avoids abrupt and sharp turns. This problem is further complicated in the case of multiple robots as two or more robots may have intersecting and common paths, which increases the chances of a robot colliding with another robot during its operation. Hence, the path taken by each robot needs to be carefully planned. This is explained in Fig.1, where two problems need to be addressed: (1) The path of the robots must be smooth and sufficiently far from obstacles. Robot R3 in Fig.1 is dangerously close to obstacles, while the path of R4 indicates sharp turns by the robot. (2) Robots must avoid colliding with other robots that may have the same path. In Fig.1, R1 and R2 are in a deadlock position, while there is a collision possibility in relation to R4 and R5.
There is a large plethora of research literature on path planning for autonomous robots. Back in 1960, Pollock and Wiebenson [1] first reviewed various algorithms to find a minimum cost path from any given graph. Another influential prior work by Peter Hart et al.[2], from 1968, incorporated heuristic information into graph searching to find minimum cost paths. In 1979, Thomas et al. proposed an algorithm[3] for collision-free paths in an environment with polyhedral obstacles. Since then, a number of path planning algorithms has been proposed; a detailed summary of these algorithms can be found in [4, 5] and [6]. Among these, the
In general, path planning is carried out in global and local planning. First, it is necessary to find the overall path from the start until the goal location that avoids the static obstacles in the map. This is undertaken during global planning. At this stage, it is neither necessary to consider the dynamic obstacles of the environment, nor worry about the fine control sequences that need to be sent to the robot to take the turns. Dijkstra‵s uniform-cost search algorithm[13] has widely been used for global planning. However, it is computationally expensive with a time complexity of

Two problems faced by multi-robot path planning: (1) the paths should be short, smooth and safe (i.e., far from obstacles); (2) robots must avoid colliding with each other
The next step is that of local planning, which focuses on generating smooth curves along the global path. Where sharp and angular turns on the paths are sometimes infeasible and difficult for robot control, this situation needs to be smoothed out, such that the robot can move continuously and avoid abrupt motion. Path smoothing using parametric curves was proposed as early as 1957 by L. Dublin in [17, 18]. Generally known as Dublin curves, they employ lines and circles, but suffer from the problem of discontinuities. Since then, path smoothing using various types of curves has been proposed. Those worth mentioning are proposals that make use of clothoids [19, 20], quintic
The discussion of the aforementioned algorithms refers to the state of the art regarding path planning for a single robot. We now briefly discuss the previous situation regarding multi-robot collision-free path planning. In a broad sense, multi-robot planning algorithms may be either coupled, in which the paths of all the robots are calculated concurrently, as in [34], or decoupled [35], in which the path of each robot is individually calculated, while the velocities are later tuned to avoid collision, as in [36]. Many prior works address smooth path generation and multi-robot collision-free path planning as separate problems. For example, the work by Yang et al. [37] proposes to use polygons around the crossing points of skeleton maps. However, their method produces a path with many sharp turns, which is undesirable for robot motion. We believe that smooth path generation and multi-robot collision avoidance are integrated problems and must be addressed together. In other words, robots must traverse smooth paths while they are avoiding collision with other robots.
This paper proposes SHP to produce smooth paths for robot motion using the geometry of hypocycloids [38, 39]. SHP fall into the later category of local planning to generate smooth paths. Smooth paths avoid sharp and angular turns, as well as keep the robot at a safer distance from the environmental obstacles. We define diffusion as moving a point along the segment(s). An SHP works by diffusing the intersecting points of skeleton maps[40], which are generated by thinning [41] or Voronoi diagrams [42] into nodes, thereby generating continuous hypocycloidal curves using the diffused nodes. Well-known path planning techniques, such as the
The novel contributions of the paper are:
The proposed SHP is the first use of hypocycloidal geometry to generate smooth continuous paths for robot motion. A mathematical derivation of SHP is presented in Section 3.
To the best of our knowledge, the proposed work is also the first to consider the case of a smooth path traversal that maintains a safe clearance distance from the obstacles involving a load carrying robot (where the load is both centred and uncentred). This is important because the collision-free smooth path traversed by a robot will be different, depending on whether it is carrying or not carrying a load. Section 4 explains the calculation of the clearance threshold distance in both cases in mathematical terms.
A decoupled collision-free multi-robot path planning integrated with SHP is proposed (Section 5). It is advantageous as the robot still traverses smooth paths, while also avoiding collision with other robots. Intelligent communication between robots is important in a decoupled multi-robot path planning scheme. This work proposes the novel and practical idea of ‵
An integrated dynamic obstacle avoidance involving SHP with a ‵map update‵ is proposed. The robot finds a new SHP path if a dynamic obstacle is encountered and shares the coordinates of the dynamic obstacle with other robots. Only the coordinates are transferred for efficiency. This is explained in Section 6.
Experiments (Section 9) in real environments with robots were performed to test the proposed techniques. We have also compared (Section 11) the performance of the proposed SHP with standard path planning techniques, such as the D*[7, 8], the PRM[9] and the recently proposed QPMI[31] algorithm based on a
2. Skeleton Map and Node Generation
We first briefly discuss skeleton maps and nodes or points of intersection in these maps, which need to be generated from a map constructed by a robot using exteroceptive sensors. A grid map is generated using sensors, such as laser range or RGBD sensors, which are attached to the robot. For noisy environments, mapping techniques proposed in [43, 44] can be used. Later, we apply mathematical morphological operations [45, 46] to produce dilation, followed by erosion to remove noise, which may appear in the map as small dots from the laser range sensor. To remove larger blobs, dilation can be carried out multiple (three to four) times followed by a single erode. A Voronoi map generated from the binary map has the path [42], which keeps the robot at a safe distance from obstacles, but also has sharp turns, as shown in Fig.3(c), in which the robot encounters sharp turns at
These nodes along the Voronoi or skeleton paths will be used to generate the SHP discussed in the next section.
3. Generating SHP
A hypocycloid is a geometrical curve that is produced by a fixed point
where η is the number of cusps and ξ is the ratio of the radius of the rolling circle in relation to the radius of the large circle, i.e.,

Node extraction from a skeleton map: (a) a map with obstacles and free space; (b) a corresponding skeleton map. Nearby nodes are clustered to form a single node.

Geometry of hypocycloid curves, as shown in red: (a) deltoid curve -

Smooth path generation with: (a) a deltoid or the lower half of an astroid curve; (b) astroid curves in the crossroad map; (c) a portion of a hypocycloid to generate a curve at the corner
In general, to obtain
As shown in Fig 4(a), a robot moving from location
We further improve the smoothness of the path by applying hypocycloidal geometry and generating curves
An explanation using the previous case shown in Fig.4(a) is provided. Let
We generate a hypocycloid (astroid) curve with points
For
Lines
After solving Eq. 4, we get the centre of the circle

Smooth path generation when clearance thresholds are not same: (a) & (b) a lower astroid with
Once the radius of the larger circle
In the case of Fig.4(b) as well, a smooth path can be obtained from the geometry of an astroid. The steps for curve generation are similar to those described above. As shown in Fig.4(b), any traversal with a turn across the point
For the corner section of the map, a section of an astroid or a deltoid can be used for smooth path generation. For example, in the case of Fig.4(c), which represents a corner section, only a section of an astroid across curve
We now consider the case in which the clearance thresholds for different obstacles are not equal, i.e.,
In all cases, it can geometrically be shown that the new obstacle clearance is defined by

SHP generation with different angles. The first segment of the curve in blue is taken to generate SHP, whereas other curve segments in black and red are ignored. The red curve segment shows the portion of the hypocycloid that fails to close on the start point because the angle does not perfectly divide into 360 degrees. (a)

Applying transition curves for smoothing joints between straight segments and curves: (a) a transition curve (blue) gradually decreasing curvature from infinity (online) to that of an SHP (red); (b) employing transition curves with SHP in an environment in which a smooth path is obtained, as shown in red
3.1. SHP for different angles
Skeleton maps can generate paths in which segments make different angles that are not necessarily 90 degrees. SHP can generate smooth paths for all angles. For any angle θ, the total number of cusps is given by
First, the angle between the two line segments (
The first segment of the SHP curve is generated using the parametric equation given by Eq.1, which sets the parameter η (number of cusps) to
3.2. SHP curvature and continuity
SHP curvature is generated using parametric equations described in Eq. 1 for a given clearance distance. If φ is the angle from the centre of the larger circle to that of the smaller circle, then curvature
Arc length (
Meanwhile, the tangential angle is as follows:
From Eq.(7), the curvature of a hypocycloid gradually decreases to a minimum value, then gradually increases again to meet a point on the straight segment, which makes SHP ideal for curve generation between two points on the segments of skeleton paths. Compare this to a clothoid [49], whose curvature is equal to its arc length which, in turn, is equal to the parameter θ. This property makes clothoids a good choice for global smoothing of curves [19, 20]. However, as θ increases, clothoids degenerate quickly and are difficult to fit between points on the skeleton paths. Moreover, unlike hypocycloids, clothoids are generally defined by Fresnel integrals[50], which are transcendental functions and, unlike algebraic functions, do not satisfy a polynomial equation. In the case of robots with an on-board computer, these are expensive to compute compared to hypocycloids, which can be computed fast. This could also be a critical factor in the real-time manoeuvre of a robot in avoiding obstacles while traversing a newly computed smooth path.
The continuity of the curves is often discussed geometrically. A
Many previously proposed path smoothing techniques [32, 31, 51, 52] attempt to smooth out the global path, for example, by interpolating global points (calculated by PRM or other techniques) from start to goal. This approach preserves the geometric continuities. However, most of these points also lie on straight passages, while the path unnecessarily ends up in a wavy form and comes close to one of the walls of the corridors. The global path smoothing techniques proposed in these works are quite interesting. However, most of these works assume the robot to be a point entity, while issues such as topological admissibility are completely ignored. Particularly in the case of narrow passages, they generate paths that are dangerously close to walls and undesired for robot motion. This is discussed in detail in Section 11.
In this paper, SHP are introduced as local path smoothers, not global ones. In other words, in all the aforementioned examples, only the turns in the skeleton path were smoothed out, whereas the already existing straight line segments of the skeleton map were untouched. This is desirable because, if we consider a straight corridor, a robot is expected to move on a straight path, keeping equal distance from the walls on both sides.
SHP preserve
Transition curves [53] connect a straight segment of the path at one end with the curve at the other end. Hence, the radius of curvature changes from zero on the straight segment to a finite value of the curve, at a uniform rate. It eliminates the kink generated by directly connecting the straight and the curved section. Transition curves have the following important properties desirable for robot motion: (a) they are tangential to the straight line of the path, i.e., the curvature at the start is zero; (b) they join the circular curve tangentially; and (c) their curvature increases at the same rate. Transition curves have rigorously been studied for G2 continuity in many works [54, 55, 56], and can also provide smooth G2 transition between two straight lines.
Fig. 7(a) shows a curved path in red, which meets the straight segment at point A. To generate the transition curve, point A is shifted back to A′, which is the starting point of the transition curve shown in blue. Although different types of curves can be used to generate transition curves, Euler‵s curves are the most common[53]. Taking into account the linear increase of the curvature from zero on the straight segment to the curvature of the hypocycloid, the rate of change of the angle at any point (P) on the transition curve of length
where
During the initial condition (on the straight segment) when
Fig.7(b) shows SHP results with transition curves from point P to Q. In Fig.7(b),

Determining clearance threshold δ in the case of a load carrying robot: (a) no load; (b) centred load; (c) uncentred load (robot turning right); (d) uncentred load (robot turning left)
4. Determining Clearance Distance (δ)
Many path planning techniques ignore the practical case of a mobile robot carrying load. However, this is important and we discuss both the cases to calculate the value of the threshold clearance distance δ when the robot is not carrying any load, as well as when the robot is carrying some load. Since the sensors mounted on the robot are prone to errors, the robot motion is uncertain, such that the clearance threshold is increased by an additional distance
where
where the effective width (
Simply put, the effective width is given by:
The difference of
In order to create SHP with a load carrying robot, first
5. Multi-robot Path Planning on SHP
A decentralized multi-robot path planning is proposed. Each robot
The entire scheme is decentralized and, once the start and goal configurations of robots have been set, each robot
Many algorithms, such as the
Once the shortest path (or safest path, depending upon the algorithm) has been computed and motion policy determined, a robot can start its motion. Other robots may or may not start motion simultaneously. Two robots with different start and goal configurations may have intersecting paths. In such a case, the nodes, which are formed during the generation of hypocycloidal curves following the diffusion step, are used by the robot as points where the robot can rest momentarily in the map to avoid collision with other robots on an intersecting path. When a robot
With this minimum amount of information, the two robots can calculate the path policies of each other, as well as the common intersecting path (
Once the robot with a lower priority has moved out of the intersecting path, the other robot will resume its motion. If the priorities are equal, or if there is no priority assigned, other schemes can be employed to prioritize a robot. For example, the ratio of the length of the path already traversed by the robot and the length of the path still to be traversed can be calculated, while the robot with a higher ratio can be prioritized, or vice versa. The centres of a deltoid or an astroid can also be used as retreat points for the robots provided that their area (
The area of the hypocycloid is given by:
It may happen that the lower priority robot has no nearby node to retreat to. This leads to a deadlock situation, in which both robots are stuck, with neither able to retreat. In this case, the robot with the higher priority retreats to the nearest non-colliding safe node to avoid the deadlock condition.
5.1. Node caching and policy exchange
Calculation of the nearest safe node is avoided by ‵caching‵ the nodes. Each robot
6. Dynamic Obstacles and Map Update
Path planning is generally undertaken by taking the static obstacles of the map into consideration. However, there can also be dynamic obstacles in the map, which must be avoided by the robot. Avoidance by a mobile robot and humans has been proposed in various works, such as [58, 59]. In this paper, however, dynamic obstacles refer to obstacles that are not the part of static obstacles, but are instead placed later or displaced in the environment, for example, a chair or a box. Unlike moving people and pet animals, whose positions keep on changing in the environment, there is a high probability of other robots encountering the same dynamic obstacle in the same position. A robot can detect a dynamic obstacle in the map and calculate its coordinates in the global map with the sensors mounted on it. We use the JSON format to save the dynamic obstacle‵s coordinates with a Unix timestamp as follows:
This JSON file is transferred to another robot, which parses the file using a JSON parser, and updates the coordinates of the obstacles in its map. This scheme is advantageous for two main reasons:
As other robots are only informed about the new obstacles‵ coordinates, they can update their maps instead of having to build the map by themselves. Only the bare minimum of information is communicated, as opposed to the entire map. The other robot can plan its path by taking into account the position of the new obstacles. This is efficient, not only in terms of the time saved to reach the destination, but also in terms of computation and battery power.
The timestamp ensures that the latest information about the obstacles is used to update the map, as timestamps can be compared easily.
Notice that the presented JSON file for updating the dynamic obstacle map only has geometric coordinates for the two dynamic obstacles, as we only use a laser range sensor. In the case of other sensors, such as visual sensors, other attributes of the dynamic obstacle, e.g., colour, could also be easily saved and communicated to other robots. Using timestamps requires that the clocks of the different robots are synchronized beforehand.

Robots used in the experiments: (a) Pioneer P3DX; (b) Kobuki TurtleBot; (c) motion model of two-wheel differential drive robots

Test environment with dimensions, grid map, SHP nodes and PRM paths: (a) environment (front view); (b) environment (side view); (c) dimensions of the map; (d) corresponding grid map; (e) SHP path with nodes; (f) the PRM result on the grid map
7. System Specifications
Two types of robots were used in the experiments: (1) a Pioneer P3DX [60] equipped with a UHG08LX laser range sensor [61] and (2) a Kobuki TurtleBot [62], which is equipped with a Microsoft Kinect sensor. Both are differential drive robots. The scanning area of the UHG08LX sensor is 270 degrees with 0.36 degrees/pitch. The detectable range varies from 0.02 to 8 m. The Kinect sensor consists of an RGB camera, a 3D depth sensor, a multi-array microphone and a motorized tilt. In this work, only the depth sensors are used to provide the input data for the TurtleBot. Its range is specified to be between 0.7 and 5 m. The field of view is 57 degrees horizontal and 43 degrees vertical, with a tilt range of ±27 degrees. Both sensors are known for their good performance and are well suited to indoor environments.
Each robot was equipped with a system running on a 64-bit Ubuntu Linux 14.04 operating system. Both robots were run on a Robot Operating System (ROS)[63], which has the capability to perform inter-node communication between the robots. The grid map of the environment was also created from depth data using the ROS. To parse the JSON files, we used the open source JSMN parser [64] due to its small code footprint and not having any dependencies.
8. Motion Model
Both the P3DX and the TurtleBot used in the experiments are two-wheeled differential drive robots. Hence, we model the motion for a two-wheeled differential drive robot without slippage on surfaces with good traction. The distance between the left and the right wheel is
and the radius of turn
The coordinates of the centre of rotation (C, in Fig.9(c)), are calculated as:
The new heading
from which the coordinates of the new position
If
and:
9. Results
This section presents the results of smooth path generation, collision avoidance, deadlock avoidance, smooth path traversal in the case of a load carrying robot, dynamic obstacle avoidance with map update, and SHP with different δ.
For the sake of conciseness and readability, we represent the type of robot, its priority, and start and goal nodes as: CturH::S⇝G, where S and G are the start and goal node locations, respectively. Subscript ‘
Fig. 10(a) shows the environment used for the experiments. Fig. 10(b) shows the side view of the structured indoor environment with a regular non-slippery surface. The dimensions of the map are shown in Fig.10(c). The robot was moved in the environment, while the grid map shown in Fig.10(d) was constructed beforehand. A skeleton map is constructed from the grid map and the nodes are diffused as explained in Section 3 to generate hypocycloidal paths with the nodes (marked a,b,c,…) are shown in Fig.10(e). The probabilistic roadmap of the environment is shown in Fig.10(f). Both robots possessed the map and node information beforehand.
9.1. Experiment 1. SHP traversal and comparison with D* path traversal
The P3DX is initialized with configuration
9.2. Experiment 2: Collision avoidance on SHP nodes
9.2.1. Case A
In Case A, the start and goal locations of each robot are different. The P3DX is initialized with configuration

Experiment 1. SHP vs. D* path traversal: (a) the D* path from start node ‵c‵ to goal node ‵s‵, with the intensity of the colour representing the proximity to the goal; (b) the dotted green line shows the traversed SHP path, while the dotted blue shows the traversed D* path. The D* path is very close to the obstacles, whereas the SHP path is not.

Experiment 2. (Case A) Collision avoidance on SHP nodes: (a) initial configuration of robots; (b) collision detection; (c) the low-priority TurtleBot retreats to cached safe node ‵l‵ (Fig.10(e)); (d,e) the P3DX continues towards its goal; (f,g) the TurtleBot moves towards its goal when the path is clear.

Experiment 2. (Case B) Collision avoidance on SHP nodes: (a) initial configuration of robots; (b) collision detection; (c) the high-priority TurtleBot retreats to cached safe node ‵m‵ (Fig.10(e)), as P3DX has no non-overlapping safe node to retreat to; (d,e) P3DX continues towards its goal; (f,g) the TurtleBot moves towards its goal when the path is clear.

Experiment 3. Avoiding Deadlock on SHP: (a) initial configuration of robots, with the P3DX starting early; (b) collision detection; (c) the high-priority P3DX retreats to cached safe node ‵l‵ (Fig.10(e)), as the low-priority TurtleBot has no non-overlapping safe node to retreat to; (d,e) the TurtleBot continues towards its goal; (f,g) the P3DX moves towards its goal when the path is clear.
9.2.2. Case B
In Case B, the start location of each robot is set as the goal location of the other robot, i.e.,
9.3. Experiment 3. Avoiding deadlock on SHP
A deadlock situation can occur when a robot with low priority has no place to retreat to in order to clear the path for a robot with high priority. The initial configurations were set as follows:
9.4. Experiment 4. Dynamic obstacle avoidance on SHP
Robot paths can easily be planned with static obstacles in the map. However, obstacles can also be dynamic, while path planning may have to be done in real time. To test dynamic obstacle avoidance, the P3DX was initialized with
The position of the obstacles in the map is shown in Fig.15(a). The dimensions of the two obstacles (

Experiment 4: Dynamic obstacle avoidance on SHP: (a) position of the two obstacles placed dynamically in the map; (b) initial path calculated by the PRM before dynamic obstacles were placed; (c) a new path calculated after sensing the dynamic obstacles

Experiment 4. Dynamic obstacle avoidance on SHP: (a) initial configuration; (b) the P3DX moves on the initially calculated short path; (c) the P3DX stops sensing the dynamic obstacles; (d) the P3DX calculates a new path and moves; (e,f,g) positions of the new obstacles are updated in the map; (h) the P3DX transfers the coordinates of the new obstacles to the TurtleBot; (i,j,k) the TurtleBot calculates the path with the updated map and moves.
The P3DX updates the map with the new obstacle locations; once it returns to its start node w, it updates the TurtleBot stationed at node

Experiment 4. New grid map with dynamic obstacles.
9.5. Experiment 5. SHP with different clearance thresholds (δ)
SHP generation with different thresholds (

Experiment 5. SHP with different clearance thresholds (δ): (a) test environment; (b) dimensions of the environment (obstacle points P and Q are not collinear; for configuration

Experiment 6. Obstacle avoidance on SHP with load carrying robots: (a) no load; (b) load length (centred) = 75 cm; (c) load length (centred) = 115 cm.

Experiment 6. Obstacle avoidance on SHP with load carrying robots: (a) the grid map of the test environment, shown in Fig.19; (b) map dimensions with different SHP curves for different values of δ.

SHP result comparison with QPMI [32], PRM and D*: (a) simulated environment; (b) skeleton map; (c) paths generated by QPMI, D*, PRM and SHP
9.6. Experiment 6. Obstacle avoidance on SHP with load carrying robots
The practical case of a robot carrying a load was also considered. A stick was fixed on the robot to simulate a load. Three experiments were performed with varying stick lengths, as follows: (a) 0 cm (i.e., no stick), (b) 75 cm (medium load) and (c) 115 cm (longest load). The clearance distance δ was set to 60 cm. Fig.19 shows the passage environment used for the experiment. Fig.20(a) shows the grid map of the environment. In the first experiment with no load (stick), the robot followed an SHP across the curve
10. Videos of the Results
The videos relating to all the experimental results presented in this paper can be downloaded from the Internet. The details of the videos are summarized in Table 3.
Load carrying robot on SHP with load width and actual clearance. For turn nodes, refer to Fig.20(b).
11. SHP Comparison with Other Path Planning and Smoothing Techniques
We compared SHP with collision-free QPMI [32], along with D* [7] path planning and the PRM [9]. A smooth and collision-free path is proposed by S. R. Chang and U. Y. Huh in [32], which uses interpolation [27]. They first use a PRM algorithm to obtain linear waypoints on which the QPMI[31] algorithm is applied. However, the smooth path obtained from the QPMI algorithm may have points that collide with the obstacles; hence, they require a further collision check. If collisions are detected, they create a collision-free smooth path by realising a perpendicular line between the colliding point and the linear piecewise path joining the two PRM waypoints. The details of the algorithm can be found in [32, 31].
In order to compare the proposed SHP with collision-free QPMI, we replicated the simulation environment (shown in Fig.21(a)) presented by S. R. Chang and U. Y. Huh[32], using the same toolkit [65] used in their work. The intermediate skeleton map to create SHP is shown in Fig.21(b) for comparison and explanation purposes. Similar to the work in [32], the start location was fixed at the coordinates (5,5) and the goal location (95,95). Fig.21(c) respectively shows the results of paths generated by the D*, the PRM and QPMI[32] in dotted green, red and black, while the SHP are shown in blue.
The path generated by the D* algorithm is too close to the obstacles. Even if we shift the path by a distance equal to the width of the robot and some buffer, the path will still be angular. In the case of the PRM path, there are points (
Execution time for SHP generation (for a 100 × 100 pixels map of Fig.21); implementation in C++ on a 1.80GHz Intel Core-i7-4500CPU
The QPMI algorithm requires an explicit and computationally expensive collision detection, as well as trajectory changing steps, which are not required in SHP. Moreover, SHP are very fast: the SHP generation for the map shown in Fig.21 was completed in 48 msec without using any parallel programming. The time required for various sub-modules is summarized in Table 3. A parallel implementation would further reduce the computation time.
The diffused nodes in SHP can also act as points where a robot must retreat to in order to avoid collision with other robots in the case of multi-robot collision-free path planning, which is not considered in QPMI, the D* or the PRM. Moreover, neither the D*, the PRM nor QPMI algorithms consider the practical case of obstacle avoidance with load carrying robots, which is addressed in SHP. The major advantage of the proposed scheme is that it eliminates the need for a centralized controller for multiple robots. However, it is expensive in terms of waiting time as the robot has to wait on the safe nodes upon retreat. The overall time required to complete the tasks using multiple robots may also be larger than the centralized methods. However, since the decision to retreat and detour is taken in real time by local communication, it eliminates the need to recalculate the path of all the robots in case of dynamically changing the goal location (or tasks) of multiple robots.
A limitation of the proposed SHP in their purest form is that, for robots with high velocities, further smoothing in the transition from the straight line segment to the SHP curve for
Video list of all the experiments in this paper
This study considered favourable surfaces with good wheel traction for the indoor wheeled robots used in the experiments. Moreover, ROS was used to control the wheeled robots. However, other types of surfaces need to be considered, particularly for outdoor robots. On slippery surfaces, wheel encoders will give false data, which can adversely affect a robot‵s localization in the map and ultimately the path planning. An estimation of the slip can help prevent errors in localization, as discussed in [66]. Path planning that considers wheel slip is discussed in [67]. For rough surfaces, the control system of the robot needs to be robust enough to cover the taxonomy of soil, rubble, grass and water. Path planning for rough surfaces is discussed in [68, 69]. A particularly interesting case, with regard to the presented work, is to consider wheel slip when a robot carries a load on slippery surfaces, as discussed in [70]. SHP evaluation on different types of surfaces is considered as a potential future project.
12. Conclusion
This paper has presented SHP for robot motion. SHP paths were generated at a safe distance from the environmental obstacles and avoided sharp turns, unlike the paths generated by the D* or PRM algorithm. A mathematical description of node diffusion with SHP generation was provided under different kinds of obstacles: in both cases, when the robot was carrying a load and when it was not. The paper introduced a novel motion policy in a parsable JSON format for robots, which could be exchanged with other robots for collision avoidance in a multi-robot scenario. In the proposed decoupled scheme to avoid multi-robot collision, robots communicate locally and decide to cross over or retreat to cached safe nodes to avoid collision. We showed how the nodes of the curved paths can be used as points for the robot to retreat to in order to avoid collision. We discussed cases of robot retreat with different priorities. In the case of dynamic obstacles, a decoupled approach was used to update other robots with the coordinates of the new and dynamic obstacles in the map. We tested the proposed techniques in real environments with multiple robots, as well as compared them with other path planning techniques. Experimental results show that the proposed SHP technique can generate smooth paths, which are desired for robot motion with collision avoidance involving multiple robots with different start and goal configurations. Robot motion on SHP in the case of moving entities, such as humans, is proposed as a potential future project. An extension of SHP for creating smooth 3D trajectories and an SHP evaluation on different types of surfaces are also under consideration.
Footnotes
13. Acknowledgements
This work is supported by the Ministry of Education, Culture, Sports, Science and Technology, Japan. We are thankful to the anonymous reviewers for giving us important suggestions to improve the manuscript.
