1. Introduction
Mobile robots and multi-robot systems have gained remarkable traction over the past few decades, emerging as pivotal elements in the field of robotics. These advanced systems are revolutionising various industries with their sophisticated capabilities and collaborative potential. Mobile robots, equipped with the ability to autonomously navigate diverse environments, have experienced significant advancements, making them invaluable in various applications. They are now extensively utilised in logistics, healthcare, agriculture, search and rescue operations, and many other fields.
Integrating multi-robot systems offers even more significant benefits by enhancing efficiency and reducing the risk of a single point of failure [
1]. Utilising multiple robots to perform tasks collaboratively allows for faster completion and the execution of complex operations that would be challenging for a single robot to handle [
2]. This collaborative approach leverages the unique capabilities of different types of robots, enabling them to work together harmoniously to achieve common goals. The synergy of multiple robots working in tandem improves task efficiency and enhances the system’s robustness and resilience, ensuring that operations can continue seamlessly even if one robot encounters a malfunction. As the demand for autonomous and intelligent systems continues to grow, developing and deploying mobile robots and multi-robot systems will play an increasingly vital role in transforming industries and addressing complex challenges. By harnessing the power of advanced robotics and fostering effective collaboration among robots, we can achieve unprecedented levels of efficiency, safety, and innovation across many applications.
However, to fully use the potential of multi-robot systems, developing efficient and effective path planning algorithms is imperative. Path planning is a critical component that determines each robot’s routes to reach its destination while avoiding obstacles and optimising travel time and energy consumption. Effective path planning algorithms ensure that robots can navigate their environments safely and efficiently, even in the presence of dynamic obstacles and complex terrains. Designing robust path planning algorithms involves addressing several challenges. The algorithm must be capable of computing optimal paths in real time, adapting to changes in the environment, and coordinating the movements of multiple robots to prevent collisions and ensure smooth operation. Not only that, but several factors should also be considered in order to design an effective multi-robot path planning system, such as computational complexity, path length, and execution time, to name a few [
3]. Advanced algorithms like Particle Swarm Optimisation (PSO) and its variants have shown promise in solving these complex path planning problems by leveraging collective intelligence and optimisation techniques. In order to achieve an efficient and effective multi-robot system, it is crucial to integrate sophisticated path planning algorithms that can dynamically adjust to the operational context. By enhancing the ability of robots to plan and adapt their paths, we can significantly improve their performance, reliability, and overall effectiveness in various applications.
This paper proposes an enhanced PSO algorithm with a new path planning scheme and Bezier curve trajectory smoothing algorithm. The aim of the integration of the Bezier curve trajectory smoothing algorithm into the PSO algorithm is to generate smoother paths, improve navigation efficiency, and optimise the overall performance of multi-robot systems in complex environments.
3. Proposed Enhanced Particle Swarm Optimisation (EPSO)
In this paper, we present an EPSO algorithm designed to address several of the limitations identified in the original PSO algorithm. While effective in many applications, the original PSO exhibits certain weaknesses, such as sensitivity to parameter settings, premature convergence, and challenges in adapting to dynamic environments. To overcome these issues, our proposed enhancement introduces modifications to improve the algorithm’s robustness and efficiency. The EPSO proposed in this paper builds on our previous work with Modified PSO in [
41]; in this paper, we enhance the PSO algorithm by incorporating a cubic Bezier curve trajectory smoothing algorithm to generate a smoother path.
The primary goal of implementing the MPSO algorithm in multi-robot path planning utilising a new path planning scheme is to generate optimal or near-optimal paths for each robot, ensuring they reach their destinations without collision. This task becomes particularly complex in environments where multiple robots must navigate simultaneously, as they need to avoid not only obstacles but also each other. The MPSO algorithm aims to enhance efficiency by minimising both path length and execution time. However, earlier research revealed certain limitations in the algorithm, particularly concerning path smoothness and computational efficiency. Abrupt directional changes and a lack of smooth transitions between waypoints could often lead to increased energy consumption and decreased overall performance. These shortcomings highlighted the need for further improvements to make the algorithm more effective.
The motivation for proposing the EPSO in this paper stems from the necessity to address the deficiencies observed in the MPSO algorithm. The objective is to refine the algorithm to better suit real-world applications where multiple criteria, such as trajectory smoothness, computational efficiency, and energy consumption, are paramount. In practical robotics, smooth and continuous paths are essential for stable and predictable motion. Jagged or abrupt path changes can impose unnecessary strain on a robot’s mechanical systems, increasing wear and tear while consuming more energy. Over time, this can negatively affect the robot’s overall performance and longevity, particularly in dynamic environments where quick and efficient adaptation is critical.
To overcome these issues, the EPSO introduces a significant improvement: the incorporation of cubic Bezier curve trajectories. This enhancement plays a crucial role in boosting the algorithm’s performance, as cubic Bezier curves enable the generation of smooth, gradual paths between waypoints. Unlike straight-line paths, which often result in abrupt directional shifts, Bezier curves allow for smooth transitions through each waypoint, creating a continuous trajectory. The benefits of this smoothness are twofold: it reduces mechanical strain on the robot and decreases energy consumption by eliminating the need for frequent stops and adjustments. Sudden direction changes force a robot to stop, recalibrate, and adjust its heading, an inefficient process that is costly in terms of energy usage. Additionally, cubic Bezier curves provide a higher level of flexibility by allowing control points to shape the path as needed. These control points enable the algorithm to easily guide the robot around obstacles while maintaining a smooth trajectory. This adaptability is especially advantageous in dynamic environments where robots must react in real time, as it allows for swift path adjustments without compromising the smoothness of movement. By integrating these curves, the EPSO ensures that robots maintain efficient motion, minimising unnecessary deviations from the optimal path while still preserving the smooth trajectory needed for reliable operations.
3.1. Problem Formulation for Multi-Robot Path Planning and Assumptions
In the context of multi-robot path planning, the problem is formulated to determine the optimal path for each robot to travel from its starting position to its destination. This involves achieving the shortest possible path length and execution time while navigating the environment to avoid both static and dynamic obstacles. The original PSO algorithm’s limitations, such as its sensitivity to parameter settings, premature convergence, inability to adapt to dynamic changes, and challenges in balancing exploration and exploitation, highlight the need for improvements. Addressing these issues can significantly enhance the algorithm’s performance, making it more effective for complex and dynamic path planning scenarios.
To formulate the multi-robot path planning problem, the following assumptions are considered:
- i.
The starting position, current position, and destination point for all robots are known in a 2D simulated environment.
- ii.
The robots have prior knowledge of the environment, including the position of static obstacles.
- iii.
A central planner computes the path for all robots before the operation begins.
- iv.
All robots are homogeneous, specifically assumed to be differential drive robots, and each robot is identical to the others.
3.2. Parameters Calculation of EPSO
Based on the study presented in [
9], achieving an optimal balance between exploration and exploitation is essential for improving the performance of optimisation algorithms. In the context of PSO, this balance is critical for the algorithm’s efficiency and effectiveness in searching for the optimum path. One key method for managing this balance is by incorporating an inertia weight factor, denoted as
, into the velocity equation in the original PSO algorithm, resulting in a new velocity equation as shown in Equation (3).
This inertia weight affects how the particles adjust their velocity. A higher
value encourages exploration by allowing particles to continue moving in their current direction, which helps in exploring new areas of the search space. Conversely, a lower
value promotes exploitation by reducing the particle’s velocity and focusing more on refining its current position relative to the best known solution. Dynamic adjustment of the
value can significantly impact the PSO algorithm’s performance. By varying
dynamically throughout the optimisation process, the algorithm can modify its searching capability by shifting its behaviour from exploration to exploitation as needed. According to the studies presented in [
9,
42], the optimal range for
is between 0.95 and a minimum value of 0.4. In this paper, a technique of linearly decreasing
is employed, transitioning from a maximum value of 0.95 at the beginning of the algorithm to a minimum value of 0.4 by the end. This approach is intended to effectively balance the exploration and exploitation process. The specific values for
at different stages can be calculated using Equation (4), where
and
are 0.95 and 0.4, respectively,
is the total number of iterations, and
is the current iteration.
In addition to
, the acceleration coefficients
c1 and
c2 in the velocity equation in Equation (3) also play a critical role in shaping the performance of the PSO algorithm. These coefficients are integral to guiding the particles’ movements and influence their ability to explore and exploit the search space effectively. Specifically,
c1, the cognitive coefficient, determines the extent to which a particle is attracted to its own personal best position. A higher
c1 value enhances this attraction, encouraging the particle to focus on refining its local search area based on past experiences. On the other hand,
c2, the social coefficient, influences the particle’s attraction to the global best position discovered by the swarm. Increasing
c2 strengthens this attraction, leading the particle to align more closely with the swarm’s overall best solution. While many researchers rely on trial-and-error methods to fine-tune these coefficients, studies in [
9] provide valuable insights into their optimal values. The study indicates that an excessively high
c2 relative to
c1 can cause particles to converge too quickly to local optima, thus missing out on potentially better global solutions. Conversely, a relatively higher
c1 value compared to the
c2 value can result in particles excessively exploring the search space without converging, leading to inefficient search behaviour and suboptimal results. To address these issues and enhance the performance of the PSO algorithm, we implement a solution suggested by the authors of [
9] which dynamically adjusts the coefficients throughout the execution. Specifically, they proposed gradually decreasing the cognitive coefficient
c1 while increasing the social coefficient
c2 as the iteration progress demonstrates the best result. This approach allows the algorithm to initially focus on exploring various areas of the search space and then progressively shift towards exploiting the best known solution as the optimisation process advances. This dynamic adjustment of
c1 and
c2 can be implemented using Equations (5) and (6), where
and
are set to 0.5 while
and
are set to 2.
3.3. Fitness Functions
A well-crafted fitness function helps find the most efficient path and addresses critical factors such as minimising energy consumption, reducing execution time, and decreasing overall path length. To achieve these goals, two primary objective functions are proposed.
The first objective function focuses on generating the shortest possible path between the robot’s initial and goal positions, aiming to minimise the total distance travelled. This approach enhances operational efficiency by optimising the path length, thereby reducing the time and energy required for the robot to reach its destination. The second objective function is dedicated to ensuring that the robot avoids collisions with static obstacles within the environment. This function maintains safety and prevents potential accidents or damage by carefully planning the robot’s trajectory to navigate around static obstacles. Together, these objective functions are integrated into the path planning framework, providing a comprehensive approach that balances the need for efficient path length with the safety imperative. This ensures that the robot operates effectively and safely within its environment, adhering to both operational constraints and safety requirements.
The optimum path of the robots is generated by finding the optimal waypoints in each iteration, and the determination of successive waypoints for the robots relies on the particles’ capability to effectively search for and converge on a global optimum position. This global optimum is defined as the position within the local search space that minimises the distance to the target position. Achieving this involves employing the first fitness function (
F1) as described in Equation (7), where
n represents the number of robots,
and
represent the coordinate point of the successive waypoint for
ith robot, and
and
represent the coordinate point of the destination for each of the robots. This function identifies the waypoint with the shortest distance to the robot’s destination, thereby ensuring that the path planning process generates successive waypoints that bring the robots closer to their target positions.
In the context of collision avoidance, the distance between particles and obstacles must be maintained at a safe margin when determining waypoints for the robots for effective collision avoidance. During each iteration of the algorithm, particles work to converge on a global optimum position within the local search space while ensuring they do not overlap with any obstacles. If a particle is found to overlap with an obstacle, it is reinitialised to a new position until it no longer intersects with any obstacles. To further ensure that particles do not come too close to obstacles, the second fitness function (
F2), as outlined in Equation (8), can be utilised, where the
and
represent the coordinate point of the static obstacles. Based on Equation (8), we can observe that the fitness function for collision avoidance is defined as a Euclidean distance measure between the particles and static obstacles. In this function, a particle’s fitness value increases as it approaches an obstacle. Consequently, positions where particles are near obstacles are not deemed optimal, as they result in higher fitness values that indicate poor performance in terms of collision avoidance. This approach ensures that particles are positioned further away from obstacles, thereby improving the overall safety and effectiveness of the path planning process. It should also be noted that any particles whose path are blocked by obstacles are deemed infeasible, as shown in
Figure 1. Consequently, the particle whose path is blocked will be assigned a very high fitness value that prevents it from being chosen as the successive waypoint.
The overall fitness function is formulated by combining the two individual fitness functions, as represented in Equation (9). In this Equation,
and
represent the weight factors assigned to each fitness function. These weights are fine-tuned through simulation experiments using a trial-and-error approach to achieve the desired outcome. A higher
value signifies a greater emphasis on the shortest path, while a higher
place more importance on collision avoidance. The goal is to optimise the path by minimising the total fitness value, as indicated by the combined fitness function, thus ensuring a balance between the two fitness functions for the best possible result.
3.4. Proposed Path Planning Scheme
In the majority of path planning problems that utilise PSO algorithm, the process typically begins with the initialisation of the particle swarm around the robot’s starting location. During each iteration, the particles’ velocity and position are updated. The algorithm determines a waypoint for the robot based on the global best position found by the particle swarm in each iteration. This iterative process continues until all particles converge on the robot’s target position. For example, if a robot’s trajectory requires ten waypoints from its starting point to its destination, the PSO algorithm is run through ten iterations in a single execution. The process is then concluded after completing these ten iterations. In this paper, unlike the traditional methods, which determine one waypoint per iteration of the PSO algorithm, we propose a different approach to determining the waypoints. Instead of calculating all waypoints in a single execution, our scheme involves running the PSO algorithm for multiple executions—one execution is run for one waypoint. For instance, if a robot’s path consists of five waypoints, the PSO algorithm will be executed for five executions, each time determining one waypoint. Additionally, the proposed path planning scheme departs from the conventional approach by initialising the particle swarm not at the robot’s starting location but within a predefined search space. This adjustment aims to improve the algorithm’s efficiency and effectiveness.
An example of waypoint generation using both basic PSO and EPSO for the initial waypoint of a robot is illustrated in
Figure 2. This figure shows particles in various colours representing their positions across different iterations. In the basic PSO algorithm, a new waypoint is produced in each iteration. In contrast, the EPSO approach generates a single waypoint by completing a full execution of the PSO algorithm, rather than producing waypoints iteratively.
Figure 2 illustrates the operational principles of both the basic PSO algorithm and the EPSO algorithm in generating waypoints. With EPSO, we ensure that each waypoint generated by the algorithm is optimal or near-optimal.
Figure 3 presents a comprehensive depiction of the paths generated by each algorithm. The comparison clearly shows that the path produced by the EPSO algorithm significantly outperforms the path generated by the basic PSO algorithm. The path derived from EPSO is notably smoother and exhibits fewer abrupt changes in direction, highlighting the superior performance and efficiency of the EPSO algorithm in path planning.
3.5. Dynamic Obstacle Avoidance
The proposed algorithm in this paper introduces a significant advancement over traditional PSO path planning methodologies. In conventional approaches, path planning is conducted incrementally as the robot progresses towards its goal, determining each path segment step by step. In contrast, the proposed algorithm employs a combination of global and local path planning strategies. The complete paths for all robots are computed in advance using the proposed EPSO algorithm as a global path planner before their navigation within a pre-existing simulated environment. This allows the algorithm to establish a comprehensive route for each robot before it begins its journey. By precomputing the full trajectory, the algorithm ensures that the robots follow optimised paths from their starting positions to their destinations, taking into account the overall layout of the environment. During the actual navigation phase, the algorithm integrates a sensor-based obstacle avoidance mechanism to manage dynamic obstacles effectively. This local path planning component, known as the obstacle avoidance algorithm, is crucial for maintaining safe navigation. The algorithm relies on real-time sensor data to detect and avoid collisions with dynamic obstacles within the robot’s sensing range. For this purpose, we assumed that each robot is equipped with multiple sensors, such as ultrasonic sensors, which provide comprehensive environmental data. Assuming the implementation of three HC-SR04 ultrasonic sensors, each capable of sensing distances from 2 cm to 400 cm, the robot is equipped to detect obstacles and measure distances across a broad range. However, to ensure higher accuracy and consistency in readings, we focus on a practical detection range. Thus, we assume that the sensors will be most effective within a distance of up to 250 cm. By limiting the effective detection range to 250 cm, we can reduce potential inaccuracies caused by environmental factors, signal attenuation, or reflections that might occur at the outer limits of the sensor’s capacity. This refined approach ensures that the robot relies on the most precise data for decision-making and navigation, optimising the performance of the ultrasonic sensors in real-world scenarios. As depicted, each robot is outfitted with three sensors, collectively offering a 180-degree field of view, with each individual sensor covering a 60-degree segment of the robot’s surroundings with a 250 cm distance, as illustrated in
Figure 4 below.
When a sensor detects a dynamic obstacle, it is assigned a logic value of 1, indicating the presence of the obstacle. This detection triggers an immediate response from the robot, prompting it to adjust its path to avoid the obstacle and to steer away from the direction of the obstructed sensor. This dynamic adjustment helps in navigating around obstacles in real time, ensuring that the robot does not collide with detected obstacles. In addition to avoiding static obstacles, robots are programmed to treat each other as dynamic obstacles. This feature allows robots to detect and avoid collisions with fellow robots, enhancing multi-robot operations’ overall safety and efficiency. In the case where the sensors detect no obstacles, the robot continues to move towards the waypoint that offers the shortest distance from its current position. This strategy ensures that the robot remains on an optimised path while avoiding unnecessary detours or delays. Integrating these advanced features into the proposed algorithm results in a more robust and adaptive path planning system, capable of effectively managing static and dynamic obstacles in complex environments.
Our proposed system, which equips the robot with three sensors, provides three potential solutions when the robot encounters obstacles. Each sensor offers one possible direction for the robot to move based on its detection capabilities. When two out of the three sensors detect obstacles, the robot is left with only one viable option: to move in the direction of the sensor that does not detect any obstacles. This setup ensures that the robot can avoid obstacles and continue navigating its environment under most circumstances. However, a significant limitation arises when all three sensors detect obstacles simultaneously, leaving the robot without a clear path to follow. In such a case, the robot can become stuck, unable to move in any direction. This issue becomes particularly problematic in more complex environments, where obstacles are densely packed, or when the number of robots operating within the same environment increases. In scenarios with closely arranged obstacles or multiple robots interacting, the likelihood of all sensors detecting obstacles at once becomes higher, causing the robot to be immobilised.
To address this issue and enhance the system’s performance in a highly complex environment, we propose two potential solutions to solve this problem. The first solution involves increasing the number of sensors on the robot while simultaneously decreasing the sensing range of each individual sensor. Currently, our system uses three sensors, each covering a 60-degree field of view, which limits the number of possible paths when obstacles are detected. By increasing the number of sensors and reducing the coverage angle for each sensor, the robot can detect obstacles with greater precision. This approach would provide more possible solutions and give the robot more flexibility in determining the best path to take. For example, instead of using three sensors with 60-degree coverage, we could use six sensors with 30-degree coverage each, as illustrated in
Figure 5. This increased number of sensors would enable the robot to have more nuanced detection capabilities, allowing for more fine-tuned navigation decisions and reducing the likelihood of becoming stuck.
However, while this solution offers the robot greater precision in obstacle detection, it still fails to prevent the robot from becoming stuck when all front-facing sensors detect obstacles. In such cases, the second solution becomes a more viable option. The second solution involves providing the robot with 360-degree obstacle detection by extending sensor coverage in all directions, rather than just in front of the robot as shown in
Figure 4 and
Figure 5. This can be achieved by adding additional sensors around the robot’s perimeter or by using more advanced sensing technologies, such as LiDAR. A full 360-degree sensing range would allow the robot to detect obstacles from all sides, giving it more options when navigating complex environments. If the robot detects an obstacle in front, it could choose to rotate or move backward, rather than being confined to moving in the direction its front-facing sensors suggest.
Figure 6 illustrates this concept, showing how sensors positioned around the entire robot would enable it to manoeuvre in any direction, avoiding situations where it would otherwise become stuck.
While the implementation of either of these solutions would significantly improve the robot’s ability to navigate more complex environments, for the purposes of simplicity in our simulation, we have chosen to use only three sensors. This basic configuration allows us to explore the fundamental capabilities of the system while providing a clear understanding of how the robot responds to obstacles in its immediate path. However, in real-world applications or more advanced simulations, both solutions, using more sensors with reduced coverage or implementing full 360-degree coverage, can be adopted to optimise the robot’s performance. Increasing the number of sensors or expanding the coverage range would enable the robot to handle more challenging navigation scenarios, minimising the risk of becoming stuck and enhancing its overall efficiency. These improvements would make the robot more adaptable to real-world applications, particularly in environments with tightly packed obstacles or where multiple robots need to operate simultaneously without collisions. Moreover, enhancing the robot’s sensing capabilities would lead to more efficient movement, reducing the time spent avoiding obstacles and lowering energy consumption.
3.6. Trajectory Smoothness with Bezier Curve
As written in the assumption, differential drive robots are characterised by their two independently driven wheels positioned on either side of the robot’s chassis, which offer a unique and versatile configuration that is assumed to be used in this context. This setup provides a high degree of manoeuvrability, allowing the robot to perform a variety of movements, including travelling in a straight line, making sharp turns, and executing smooth rotations in place. The independence of the wheels enables the robot to pivot on the spot by rotating the wheels in opposite directions and to turn by varying the relative speed of each wheel. This capability is particularly advantageous in environments where precise navigation is required.
However, the need for the robot to stop to change direction introduces a potential challenge. This discontinuity in the robot’s movement can lead to issues such as slippage or veering off the desired path. When the robot stops, the abrupt halt and subsequent change in wheel motion can cause the wheels to lose traction, especially on slippery or uneven surfaces. This can result in the robot drifting slightly from its intended course, making precise navigation more difficult. Moreover, the frequent stopping and starting required for directional changes increases energy consumption and increases wear and tear on the drive system, potentially reducing the lifespan of the robot’s mechanical components. Therefore, while the differential drive configuration offers significant advantages in terms of manoeuvrability and control, careful consideration of these factors is also necessary to ensure reliable and accurate navigation.
In this paper, we propose an approach to integrate our proposed PSO path planning algorithm with the Bezier curve trajectory smoothing algorithm to generate a smooth and continuous path for robotic navigation, thereby eliminating the need for the robots to make frequent stops and starts during their journey. While the PSO algorithm is a robust optimisation algorithm that excels in determining collision-free, optimal, and feasible paths for robots, the path generated by PSO can sometimes be jagged or contain sharp turns, which are not ideal for smooth and efficient robotic navigation. To address this problem, the Bezier curve trajectory smoothing algorithm is used to smooth out any sharp turns or abrupt changes in direction, resulting in a continuous and much smoother trajectory.
Figure 7 presents an illustration of how a cubic Bezier curve is used to generate a trajectory using a start point, S (x
s,y
s), a destination point, D (x
d,y
d), and two control points, C
1(x
c1,y
c1) and C
2(x
c2,y
c2).
A cubic Bezier curve has a third-degree polynomial with four control points (S, D, C
1, C
2). These control points dictate the curve’s shape, ensuring a smooth and continuous path from the starting point to the destination point. The control points C
1 and C
2 are critical in shaping the curve. Simply put, the control points C
1 and C
2 act like magnets, pulling the path towards them and creating the characteristic smooth, slowing trajectory of Bezier curves. Mathematically, the smooth Bezier curve is generated by considering the control points and using Bernstein polynomials. According to [
40], the cubic Bezier curve can be expressed in Equation (10), and the Bernstein polynomials equation can be expressed in Equation (11), where
represents the cubic Bezier curve with a Bernstein polynomial,
represents the
ith control point used in generating the curve, and
represents the binomial coefficient value of the Bernstein polynomial, which can be expressed in Equation (12).
A more accurate representation of the Bezier curve can be generated by decreasing each successive increment of t from 0 to 1. For instance, if t is incremented in steps of 0.001, the Bezier curve will consist of 100 points, providing high precision. The step size of t plays a crucial role in determining how many control points along the Bezier curve are evaluated. In this case, t is incremented by 0.001 at each step. Since t ranges from 0 to 1, this small increment results in 1/0.001 = 1000 possible values for t. The curve is essentially formed by calculating the positions of points for each of these values of t. A smaller step size leads to a more precise curve because the finer the increment, the more detailed and smoother the resulting curve becomes. By sampling at more control points, gaps between them are minimised, creating a more accurate and continuous trajectory. The choice of 0.001 as the step size is deliberate, ensuring that the Bezier curve is finely sampled, producing a high-resolution and precise path that adheres closely to the control points. This level of precision is critical in applications such as robotics, where smooth, continuous paths are essential for performance and efficiency. To illustrate, if t were incremented by 0.1 instead of 0.001, the curve would consist of only 10 points, significantly reducing its smoothness. The larger gaps between points would result in a jagged trajectory, failing to capture the subtle changes in the curve’s shape. A step size of 0.1 would be inadequate for scenarios that demand smooth transitions, like robot path planning, where finer precision is necessary to achieve efficient and reliable movement. Thus, choosing a small step size like 0.001 ensures a smooth, highly accurate curve essential for applications that require precise and fluid motion.
The Bernstein polynomial, tailored explicitly for the cubic Bezier curve, is computed using Equation (11), and once the polynomial is calculated, the cubic Bezier curve can be decomposed into its x and y components, which are described by Equations (13) and (14), respectively, where
and
are the (x,y) coordinates of the starting point (S), destination point (D), and two control points (C
1, C
2)
In this paper, the waypoints of the robot’s pathway established by our proposed PSO algorithm are extracted to serve as the foundational points for the Bezier curve smooth trajectory. Initially, the Bernstein basis function is calculated for each robot, forming the Bezier curve’s mathematical foundation. Next, the coordinates of the Bezier curve control points are computed by summing the element-wise product of the robot’s waypoints and the Bernstein basis function, ensuring that the influence of each waypoint is appropriately factored into the final smooth path. Finally, the Bezier curve points are plotted for each robot, illustrating the smooth trajectory from the starting point to the destination point. During the simulation, the robot will travel from its initial position to the destination, following the smooth path generated by the Bezier curve algorithm.
3.7. Flowchart of EPSO Path Planning Algorithm
In this paper, we refer to the combination of our proposed PSO path planning algorithm and the Bezier curve trajectory smoothing algorithm as EPSO. The flowchart of the EPSO algorithm is illustrated in
Figure 8.
5. Discussion
The results obtained from the simulations comparing the basic PSO algorithm with the EPSO algorithm reveal substantial differences in their performance for multi-robot path planning tasks. The EPSO algorithm demonstrates a significant enhancement in generating smoother and more efficient paths, as evidenced by the minimal or zero turn points recorded for most robots when using EPSO in both Scenario 1 and Scenario 2. This contrasts sharply with the basic PSO algorithm, which consistently results in a higher number of turns. Such frequent directional changes necessitate more stops and reorientations, leading to increased energy consumption and extended travel time. This underscores the advantage of the EPSO algorithm in creating more efficient paths, owing to its incorporation of the Bezier curve trajectory smoothing method. In both scenarios, the EPSO algorithm not only generates smoother paths but also consistently produces shorter paths compared to the basic PSO algorithm. This improvement in path length and smoothness is significant. The basic PSO algorithm, in contrast, exhibits a higher standard deviation in path length and execution time, indicating less consistency and reliability in path planning.
Although the EPSO algorithm does entail slightly longer execution times due to the additional computations required for trajectory smoothing, this trade-off is well justified by the substantial improvements observed in path quality and overall travel efficiency. The smoother trajectories produced by EPSO lead to a reduction in the number of turns and a decrease in overall travel distance.
From these results, it can be concluded that the EPSO algorithm surpasses the basic PSO algorithm in terms of path smoothness, efficiency, and overall effectiveness in multi-robot path planning. The integration of Bezier curve trajectory smoothing substantially enhances the quality of the generated paths, positioning EPSO as a highly effective approach for optimising multi-robot navigation. Despite the minor increase in execution time, the benefits of reduced path length, fewer turns, and improved travel efficiency make EPSO a superior choice for complex multi-robot path planning scenarios.