1 Introduction

In recent years, the use of urban mobile robots for various applications has increased significantly, leading to an increased demand for efficient routing algorithms in complex and dynamic environments [1,2,3]. The fast search random tree method (RRT) has emerged as a popular approach for path planning and navigation of mobile robots in urban settings with obstacles [4,5,6,7]. This method has shown promise in effectively finding feasible paths for mobile robots to navigate through cluttered environments while considering non-holonomic constraints and dynamic obstacles [8]. With the growing interest in autonomous vehicles and robotic systems for urban transportation and logistics, the development and implementation of RRT-based algorithms for mobile robot routing in obstacle environments have become a focal point of research and development efforts [9, 10]. This study aims to investigate the utilization of the RRT method for urban mobile robot routing and to propose enhancements to improve its efficiency, adaptability and reliability in real-world urban scenarios [11]. By addressing the challenges associated with urban mobile robot routing in obstacle environments [12], this research contributes to the advancement of autonomous navigation systems and paves the way for the practical deployment of mobile robots in urban settings [13]. The RRT method offers a promising solution for mobile robot routing in urban environments due to its ability to navigate around obstacles and dynamic constraints [14]. As urban settings become more crowded, the RRT method offers a probabilistically complete framework for rapidly exploring potential paths in complex urban environments [15]. By utilizing random sampling and incrementally growing a tree of feasible paths, the RRT method allows for efficient path planning in cluttered urban environments, improving the mobility and navigation of mobile robots in dynamic settings [16]. The rapid generation of feasible paths through random sampling enables the RRT method to quickly adapt to changes in the environment, making it suitable for urban mobile robot routing in dynamic obstacle environments [17]. This adaptability is crucial for ensuring safe and efficient navigation of mobile robots in urban environments.

In addition, the RRT method allows for real-time re-planning to avoid dynamic obstacles, making it well-suited for urban mobile robot routing in dynamic obstacle environments [18]. This capability to quickly adapt to changing conditions makes the RRT method highly versatile for navigating through crowded urban spaces [19]. Additionally, the probabilistic completeness of the RRT method ensures that it can efficiently find a feasible path for the mobile robot in complex urban environments [20]. This reliability is essential for the safe and effective navigation of mobile robots in urban environments, where unpredictable obstacles and dynamic constraints are common. By incorporating the RRT method into urban mobile robot routing [21], this research aims to improve the overall efficiency and safety of autonomous navigation in urban environments [22]. With its ability to quickly adapt to changing conditions and find feasible paths, the RRT method offers a promising solution for enhancing the mobility and navigation of mobile robots in crowded urban settings. This could lead to improved efficiency and safety in autonomous navigation. Furthermore, the RRT method's ability to efficiently explore the search space and find feasible paths makes it suitable for navigating through complex urban environments with dynamic obstacles [23, 24]. This adaptability is crucial for ensuring safe and efficient navigation of mobile robots in urban environments, particularly in the presence of dynamic obstacles and changing conditions. This adaptability is a key advantage of the RRT method for urban mobile robot routing [25]. Its ability to quickly adapt to changing conditions and find feasible paths makes it a valuable tool for enhancing autonomous navigation in crowded urban settings. One of the key advantages of the RRT method is its ability to handle dynamic obstacles and changing conditions in urban environments [26]. Its probabilistic completeness ensures efficient pathfinding, improving the overall efficiency and safety of autonomous navigation in urban environments. The adaptive nature of the RRT method allows for real-time adjustments to dynamic obstacles, increasing the reliability of mobile robot [27].

The Petri nets modeling method [28] is a powerful tool for performance analysis in industrial systems, addressing real working conditions and uncertainties. It provides long-term availability of sub-systems through virtual simulation. The method helps identify sub-systems affecting system availability, enabling maintenance planning to reduce production loss. This paper demonstrates the methodology using a complex repairable manufacturing system.

The article [29] discusses the use of routing protocols (RPL) for load balancing in IoT networks, a protocol designed for remote organizations with low power usage and large defenseless to parcel mishaps. It is based on distance vectors and works on IEEE 802.15.4. RPL can support various connection layers, including IoT, which collects data from actuators and sensors. The paper presents an inclusive survey of existing load balancing schemes, matrices, objective functions and different RPL-based routing protocols related to load imbalance. The paper highlights the impact of load balancing when combined with RPL, highlighting the potential benefits of IoT networks in various applications such as urban communities, home automation, smart health and modern transportation strategies.

This paper presents [30] a performance assessment of a paint manufacturing unit using the stochastic Petri nets modeling method. The method provides realistic availability results for complex industrial systems and can handle multiple failures simultaneously. The system's availability is found to be 80.27%, and the results are compared with a Markov model solution, providing better maintenance planning understanding [31].

If the routing methods are based on predicting the behavior of the robot, better results will be obtained in the routing problem. For this reason, the discussion of controller design (referring to the controllers used in the closed-loop system) is very important for the robot. In this paper, two fuzzy controllers [32] are used for control. Because the rules of the fuzzy controller are usually determined based on experience, if designed correctly, this controller can, in addition to guaranteeing the stability of the robot, create smoother movements compared to the results obtained using other controllers. The robot used in this research is the four-wheeled vehicle used in [33]. In [33], for the control of the robot, a PI controller is used in this research; according to the dynamics of the desired robot using fuzzy control systems, controllers for this robot are designed and the results of using the PI controller and control. The fuzzifiers are also compared with each other.

2 Dynamic car model

The designer grows the tree considering the goal and constantly checks the possibility of adding new branches. The growth of the tree is done for a certain period of time. For the growth of the tree, a path is given to the controller as reference path 1. The method of determining the reference speed will be discussed in detail in the next sections. By taking the inputs of the track and the reference speed, the controller determines and applies to the car the control parameters of the car, which are the steering wheel angle and gas or brake. Similar to [25], the design of the path is done every 0.1 s (10 Hz), and every 0.1 s the path and the corresponding reference speed are sent to the controller. Then the controller calculates the command u (model inputs) in the form of gas/brake and steering angle and sends it to the device every 0.04 s (25 Hz). The update rate of the environment is equal to the execution rate of the designer (every 0.1 s).

The basic solution is that the designer provides a reference input r, which includes the new position on the page x and y, in other words (x, y goal) and also specifies the desired speed when traveling from the starting position to the goal position. A closed-loop system that includes the controller and the desired process (vehicle model) to send.

The dynamics used in this research is generally nonlinear dynamics \(\left( {x = f \left( {x,u} \right)} \right)\) and is related to a four-wheeled vehicle [34] \(x\) is the state variable and u is the command signal. The environment around the robot is a dynamic and non-static environment. For this reason, the robot's motion is planned online; for this purpose, the reference input update rate for the system is considered to be 0.1 s.

The control command u, which creates gas and brake conditions for the device, is generated by the controller at a rate of 25 Hz and according to the reference inputs and provided to the process [34].

3 Guidance controller

The guidance controller is considered based on following the reference path. The tracking problem is widely used in the case of ground robots and recently in the case of flying vehicles. In fact, the performance of this additional controller is similar to the performance of x new points in standard RRT. In standard RRT, the inverse algorithm was used to generate these points, which are known as forward points, but in [24], instead of using this method, using a circle that is similar to Fig. 1 at each moment of the device's position. A point on the reference path (the connecting line between \({\text{x}}_{\text{near}}\) and \({\text{x}}_{\text{rand}}\)) is drawn as a temporary target.

Fig. 1
figure 1

a Dynamic equations related to driving control of a car, b calculation of the position of temporary targets on the reference path in the los method

This method is much more useful compared to the Voronoi algorithm because the temporary targets are placed exactly on the reference path and their calculation is easier. The function of this method is as follows:

Assume that the reference path is a line segment that is specified using the start and end points. (This sample path is generated by the routing program.)

so that

$$ p_{k} = \left[ {x_{k} , y_{k} } \right]^{T} $$
$$ p_{k - 1} = \left[ {x_{k - 1} , y_{k - 1} } \right]^{T} $$
(1)

They indicate the beginning of the route and the end of the route, respectively, and \({\alpha }_{k-1}\) indicates the angle of the route with respect to the x-axis and is calculated as follows.

$$ \alpha_{k - 1} = a{\text{tan}}\left[ {\frac{{y_{k} - y_{k - 1} }}{{x_{k} - x_{k - 1} }}} \right] $$
(2)

The temporary targets are obtained according to the intersection points of the reference path and the circle drawn from the position of the device according to the following relations.

$$ \begin{array}{*{20}c} {\left( {y_{{\text{los }}} - y} \right)^{2} + \left( {x_{{\text{los }}} - x} \right)^{2} = \left( {nL_{pp} } \right)^{2} } \\ {\frac{{y_{{\text{los }}} - y_{k - 1} }}{{x_{{\text{los }}} - x_{k - 1} }} = \frac{{y_{k} - y_{k - 1} }}{{x_{k} - x_{k - 1} }} = tan\left( {\alpha_{k - 1} } \right)} \\ {\left( {x_{k} - x\left( t \right)} \right)^{2} + \left( {y_{k} - y\left( t \right)} \right)^{2} \le R_{k}^{2} } \\ \end{array} $$
(3)

In these relationships,\({L}_{pp}\) is equal to the length of the device in question, \(n\) is a certain value greater than or equal to one, \({R}_{k}\) is also equal to the radius of the target range. Another condition that should be considered here is as follows.

$$n{L}_{pp}\ge {R}_{k}$$
(4)

In the \(CL\_RRT\) algorithm used in [34], a method similar to the \([LOS]\) method is used to design the forward points. In this method, the circle radii are designed using an empirical relationship for the used model in terms of speed (this design is explained below); for this reason, this method is superior to the los method, but from the point of view that the relationship obtained. In the article, it is only designed for a specific device, compared to the los relationship, which is a mathematical relationship and can be used for any device, it is considered a weakness.

Therefore, the equations related to moving the car are stated below:

$$ \left( {\begin{array}{*{20}c} {\dot{x}} \\ {\dot{y}} \\ {\dot{\theta }} \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {v{\text{cos}}\theta } \\ {v{\text{sin}}\theta } \\ {\left( {v/L} \right){\text{tan}}\delta } \\ \end{array} } \right) $$
(5)

In relation (5) and \(\delta \) are considered as the inputs of the equation.

So that \(x\) and \(y\) refer to the position of the center axis of the machine. \(\theta \) represents the angle of the machine axis in the positive direction of the trigonometric axis. The speed and \(\delta \) angle of the front wheels of the robot in the direction shown and \(L\) is the length of the robot axis. Figure 3 shows the position of the stated variables in forward movement.

In Fig. 2A, \({l}_{fw}\) is the distance between the center of the car's axis and the axis of the rear wheels, and \({L}_{fw}\) is the distance between the car's axis and the reference track.

Fig. 2
figure 2

A How to calculate the angles of the robot in the forward direction and B How to calculate the angle of the car using the angle of the axis and the line segment (arc) Lfw, when the reference path is parallel to the x-axis

The value of \({l}_{fw}\) is a specific and fixed value. \(\eta \) is the angle between the machine axis and the imaginary line drawn along the length Lfw from the machine axis to the reference track. It should be noted that this hypothetical line is used to calculate points on the reference path to perform the tracking problem, so that the robot not only has the coordinates of the beginning and end points of the path, but also the coordinates of the points on the path, or the so-called points on the path also see Fig. 2B.

The way to calculate the angle \(\delta \) according to the value of \(\eta \) and \({L}_{fw}\) and \({l}_{fw}\) is as follows.

$$ \delta = - {\text{tan}}^{ - 1} \left( {\frac{{L{\text{sin}}\eta }}{{\frac{{I_{fiv} }}{2} + 1_{fiv} {\text{cos}}\eta }}} \right) $$
(6)

This relationship can be proved according to Fig. 2B and trigonometric relationships. The relationship related to the calculation of \(\eta \) is also as follows.

$$ \eta = \theta + {\text{sin}}^{ - 1} \left( {\frac{{y + I_{fw} {\text{sin}}\theta }}{{L_{fiv} }}} \right) $$
(7)

If we consider the working point at the position \(\delta = \eta =\theta =0,v>0\) and the state variables as \(z=[y \theta \delta ]\)

$$ \dot{z} = Az $$
(8)

Then, using linearization, we will have system equations

$$ A = \left[ {\begin{array}{*{20}c} 0 & v & 0 \\ 0 & 0 & \frac{v}{L} \\ {\frac{ - L}{{\tau L_{fv} \left( {\frac{{L_{fw} }}{2} + 1_{fw} } \right)}}} & {\frac{{ - L\left( {L_{fw} + 1_{fv} } \right)}}{{\tau L_{fiv} \left( {\frac{{L_{fiv} }}{2} + 1_{fiv} } \right)}}} & {\frac{ - 1}{\tau }} \\ \end{array} } \right] $$
(9)

The characteristic equation of the above matrix is obtained as follows according to \(det(sI -A ) = 0\).

$$ s^{3} + \frac{1}{\tau }s^{2} + \frac{{v\left( {L_{fiv} + 1_{fw} } \right)}}{{\tau L_{fiv} \left( {\frac{{L_{fi} }}{2} + 1_{fw} } \right)}}s + \frac{{v^{2} }}{{\tau L_{fiv} \left( {\frac{{L_{fw} }}{2} + 1_{fw} } \right)}} = 0 $$
(10)

According to the Routh stability criteria, the following conditions must be met for the internal stability of this system

$$ \begin{gathered} \frac{1}{\tau } > 0 \hfill \\ \frac{{v\left( {L_{fiv} + l_{fiv} - v\tau } \right)}}{{\tau L_{fiv} \left( {\frac{{L_{fi} }}{2} + l_{fwv} } \right)}} > 0 \hfill \\ \frac{{v^{2} }}{{\tau L_{fiv} \left( {\frac{{L_{fw} }}{2} + I_{fv} } \right)}} > \hfill \\ \end{gathered} $$
(11)

According to Eqs. (10) and (11), considering that \( \tau > 0\) and \(l_{fw} > 0\) and \(L_{fw} > 0\) Eq. (12) can be reached.

$$ L_{fw} > v\tau - l_{fw} $$
(12)

According to the above relationships, the length of the line segment connecting the center of the car to the reference path is dependent on the value of the speed according to various experiments that have been done with different speeds in different conditions such as different paths [34]. In order to ensure the internal stability of the system at different speeds, the following relationship has been obtained experimentally [34].

$$ L_{{\text{fiv }}} \left( {v_{cmd} } \right) = \left\{ {\begin{array}{*{20}c} 3 & {{\text{ if }}v_{cmd} < 1.34{\text{ m}}/{\text{s}}} \\ {2.24 \times v_{cmd} } & {{\text{ if }}1.34{\text{ m}}/{\text{s}} < v_{cmd} < 5.36{\text{ m}}/{\text{s}}} \\ {12} & {\text{ otherwise }} \\ \end{array} } \right. $$
(13)

4 Speed controller

In order to track the speed of the \(PI\) controller, it is considered that the coefficients of this controller are designed according to the robust stability analysis and we have:

$$ u = k_{p} \left( {v_{cmd} - v} \right) + k_{i} \mathop \smallint \limits_{0}^{t} \left( {v_{cmd} - v} \right)d\tau $$
(14)

4.1 Vehicle speed model

In order to simplify the expression of the control command in order to create gas and brake conditions for the car and use the previous controllers, the function of converting the speed to the input of the device \((u)\) which is as follows has been used.

$$ \frac{V\left( s \right)}{{U\left( s \right)}} = \frac{{K_{n} \left( v \right)}}{{\tau_{v} s + 1}} $$
$$ K_{n} \left( v \right) = 0.1013v^{2} + 0.5788v + 49.1208 $$
(15)

Now we can consider the block diagram related to the control of the closed-loop system in the form of:

In [24] for the car model, the used speed controller is \(PI\) type. In this research, in addition to using this controller using fuzzy logic, a fuzzy controller has been designed to control the speed, which will be explained below, and the results of each will be compared with each other.

In Fig. 3, \(u\) the speed control signal, \({v}_{cmd}\) is the desired speed of the robot and \(v\) is the speed of the robot and the coefficients \({k}_{p}\) and \({k}_{I}\) are the proportional and integral components of the controller which are designed according to the topics of resistive control. According to Fig. 3, the input of this speed error controller and its output are considered as the input for the vehicle speed model.

Fig. 3
figure 3

Block diagram of control system with unit feedback. r is controller input and x is system output

4.2 Durable performance

When we say that \(P(s)\) is not an exact transformation function for the process under control, we can imagine that:

figure a

in other words

$$ W_{r} \left( s \right).S_{0} \left( s \right)_{\infty } < 1 $$
(16)

where \({S}_{0}(s)\) is the sensitivity function and \({W}_{r}(s)\) is a suitable weighting function. The necessary and sufficient condition for resistant performance is as follows:

$$ \left| {W_{r} \left( {j\omega } \right) \cdot S_{0} \left( {j\omega } \right)} \right| + \left| {W_{p} \left( {j\omega } \right) \cdot T_{0} \left( {j\omega } \right)} \right| < 1{ }\forall \omega $$
(17)

in other words

$$ \left| {W_{r} \left( s \right) \cdot S_{0} \left( s \right)} \right| + \left| {W_{p} \left( s \right) \cdot T_{0} \left( s \right)} \right|_{\infty } < 1 $$
(18)

which in relation (18) \({S}_{0}(s)\) is the sensitivity function and \({T}_{0}(s)\) is the complementary function of sensitivity, \({W}_{r}(s)\) and \({W}_{P}(s)\) are appropriate weighting functions. The proof of this relationship is stated in [24].

4.3 The design of \({{\varvec{k}}}_{{\varvec{P}}}\) and \({{\varvec{k}}}_{{\varvec{I}}}\) parameters

The parameter space method has been used to design the \(PI\) controller. The main idea in this method is to design the design specifications using the controller parameters in a desirable range. In this research, the design range means the available range \(\left({k}_{P}, {k}_{I}\right)\) for the parameters, the parameter space area that includes all the design specifications leads to the creation of a set of controllers that include the desired specifications. In this method, instead of having fixed control parameters we will have a specific range for setting parameters and conditions. The next step in this method is to select a point in this range to determine these values (\(\left({k}_{P}, {k}_{I}\right)\)).

At first, a stable region for the location of the poles of the closed-loop system according to the criteria considered in the system response such as time, amplitude, overshoot value, permanent error value and o00 in the mixed device should be defined as the stability region according to Fig. 4, then with paying attention to this area, stability of controller parameters are designed. According to Fig. 4, because the stability region is completely on the left side of the imaginary axis, therefore, in this range, the closed-loop system is completely stable.

Fig. 4
figure 4

Designing the stability region in the imaginary coordinate system

\(\partial_{1}\) specifies the lowest value for guarantee, \({\partial }_{2}\) stability specifies the lowest value for damping the system response and \({\partial }_{3}\) specifies the bandwidth range of the system.

The characteristic equation of the system according to Eqs. (10) and (11) is obtained as follows

$$ p\left( s \right) = \tau_{v} s^{2} + \left( {1 + k_{n} k_{p} } \right)s + k_{n} k_{i} $$
(19)

By replacing \(s=-\sigma 1+j\omega \) instead of \({\partial }_{1}\) and solving the equation \(p(s)=0\) and \(\omega \) in the range of \((0,\infty )\) in the complex coordinate system, the values of \({k}_{P}\) and \({k}_{I}\) will be obtained as follows.

$$ \partial_{{1{\text{c}}}} = \left\{ {\left( {k_{p} ,k_{i} } \right)\left| {{ }k_{p} = \frac{{2\sigma_{1} \tau_{v} - 1}}{{k_{n} }}} \right.,k_{i} > \frac{{\tau_{\nu } \sigma_{1}^{2} }}{{k_{n} }}} \right\} $$
(20)

Also, by putting \(s= -{\sigma }_{1}\), the range of the real part of the poles will be obtained as follows.

$$ \partial_{1r} = \left\{ {\left( {k_{p} ,k_{i} } \right)\left| {k_{p} k_{i} - \left( {1 + k_{n} k_{p} } \right)\sigma_{1} + \tau_{v} \sigma_{1}^{2} = 0} \right.} \right\} $$
(21)

Now, according to the two relations (19,20) and with the placement, we will have

$$ \begin{array}{*{20}c} {\left( {y_{los } - y} \right)^{2} + \left( {x_{los } - x} \right)^{2} = \left( {nL_{pp} } \right)^{2} } \\ {\frac{{y_{los } - y_{k - 1} }}{{x_{los } - x_{k - 1} }} = \frac{{y_{k} - y_{k - 1} }}{{x_{k} - x_{k - 1} }} = \tan \left( {\alpha_{k - 1} } \right)} \\ {\left( {x_{k} - x\left( t \right)} \right)^{2} + \left( {y_{k} - y\left( t \right)} \right)^{2} \le R_{k}^{2} } \\ \end{array} $$
(22)

Therefore, from the sharing of relationships (20) and (21) and (22) the area of stabilization of the process is obtained.

Now, if we consider a delay of \(T\) in seconds for the desired system as (23):

$$ \frac{V\left( s \right)}{{U\left( s \right)}} = \frac{{K_{n} \left( v \right)}}{{\tau_{\nu } s + 1}}e^{ - Ts} $$
(23)

It can be shown that for optimal phase gain \({m}_{\varphi }\) and time delay \(T\) we will have the following limitations

$$ \partial_{{m_{\phi } ,T}} = \left\{ {\left. {\left( {k_{p} ,k_{i} } \right)} \right|k_{p} = f\left( {m_{\phi } ,T,\omega } \right),k_{i} = g\left( {m_{\phi } ,T,\omega } \right),\omega \in \left( {0,\infty } \right)} \right\} $$
(24)

so that

$$ \begin{array}{*{20}c} {f\left( {m_{\phi } ,T,\omega } \right) = \frac{{\tau_{\nu } \omega {\text{sin}}\left( {m_{\phi } + T\omega } \right) - {\text{cos}}\left( {m_{\phi } + T\omega } \right)}}{{k_{n} }}} \\ {g\left( {m_{\phi } ,T,\omega } \right) = \frac{{\tau_{\nu } \omega^{2} {\text{sin}}\left( {m_{\phi } + T\omega } \right) + {\text{sin}}\left( {m_{\phi } + T\omega } \right)}}{{k_{n} }}} \\ \end{array} $$
(25)

Therefore, the range of parameters should apply in the following equation

$$ \left| {W_{S} S} \right| + \left| {W_{T} T} \right|_{\infty } < 1 $$
(26)

In the above equation, \(s\) and \(T\) are sensitivity functions and sensitivity complement, respectively, and \({w}_{S}\) and \({w}_{T}\) are frequency-dependent weighting functions. The method of selecting functions \({w}_{T}\) and \({w}_{S}\) which is given in [34] is as follows.

  1. 1.

    To have a suitable input tracking function for the high-frequency range for \({w}_{S}\), it is therefore required that \(\left|S(j\omega )\right|\)=1 for \(0\le \omega \le {\omega }_{S}\)

  2. 2.

    Dealing with sensor noise at frequencies\([{\omega }_{T} , \infty )\), so for \({\omega }_{T} \le \omega \) we must have \(\left|T (j\omega )\right|\)=1

  3. 3.

    Stability against multiplicative uncertainties is denoted by \({W}_{\Delta }(s)\Delta (s\)) so that \(\left|\Delta (s)\right|\) ≤1 so it is necessary that \(\left|{W}_{\Delta }(s)T(s)<\right|\) 1.

Since \(S(s) +T(s) =1\) weighting functions should be chosen in such a way that each function has the minimum value in its range. It should be noted that it is desirable to have a small sensitivity function at low frequencies and at above, the complementary function of the sensitivity has small values.

According to the tests performed in [34], it is determined that the maximum acceleration of the robot is \(3m/{s}^{2}\). In order for the minimum acceleration to be \(0.5m/{s}^{2}\) and the maximum acceleration not to be higher than \(3m/{s}^{2}\), \({\sigma }_{1}=0.224\) and \({\sigma }_{2}=1.34\) should be considered. Also, in order to have an overshoot value less than \(3\%\), \(\theta = 41.92\) should be selected, be made.

The minimum desired gain value for the phase is equal to \({m}_{\varphi } =60\). The robust performance is evaluated using the following weighting functions.

$$ \begin{array}{*{20}c} {W_{S} \left( s \right) = \frac{{s + h_{S} \omega_{S} }}{{h_{S} s + h_{S} \omega_{S} 1_{S} }}} \\ {W_{T} \left( s \right) = \frac{{h_{T} s + h_{T} \omega_{T} I_{T} }}{{s + h_{T} \omega_{T} }}} \\ \end{array} $$
(27)

So that \({l}_{s} =0.5\) and \({h}_{s} =2\) and \({\omega }_{s}=1\) for frequencies less than \(1 rad/s\), the tracking error value is less than \(5\%\), and for higher frequencies, this value will be twice the reference frequency at most. Also, \({l}_{T} = 0.1\), \({h}_{T} = 2\) and \({\omega }_{T} = 2\). Finally, in [24], the values of kp = 0.04 and \({k}_{I}=0.2\) are designed.

4.4 Speed controller using fuzzy systems

To create speed control, as mentioned, the speed model of the device is as follows.

$$\frac{V(s)}{U(s)}=\frac{{K}_{n}(v)}{{\tau }_{v}s+1}$$
(28)

where k is a constant value whose value is calculated at any moment using the following relationship and taking into account the speed value.

$${K}_{n}(v)=0.1013{v}^{2}+0.5788v+49.1208$$
(29)

Now, in order to design a stable fuzzy controller, we first examine the conditions a to c according to the process under observation:

A) Considering that the value of \({\tau }_{w}\) is equal to 12, therefore the eigenvalues of A have (here only one eigenvalue).

The left side of the page is mixed.

b) The function of converting the system to the state space form is as follows (30):

$$ \begin{gathered} \dot{v} = - \frac{1}{{\tau_{v} }}v + u \hfill \\ y = \frac{{K_{n} }}{{\tau_{v} }}v \hfill \\ \end{gathered} $$
(30)

In this regard, \(\tau \) is a constant and positive value and the value of \({K}_{n}\) depends on the value of the speed, which according to the speed range (we do not have speeds with a value smaller than zero), this value is also always a positive value.

Considering that the process under observation is a single-input–single-output process. Therefore, this transformation function expressed for the speed model is a controllable and visible function.

c) According to the value of \({K}_{n}\) and the speed range, the transformation function of the vehicle speed model is strictly positive.

Here, an attempt is made to design a controller using fuzzy logic for the system in such a way that 4 time parameters improve rise, overshoot, settling time and persistent error, and the controller should be such that the output of the system can follow the desired input for any desired initial condition. Meanwhile, the output of the fuzzy controller is considered as the input of the system.

As can be seen, the error value is equal to the difference between the desired input and the actual input

$$ e\left( t \right) = y_{d} \left( t \right) - y\left( t \right) $$
(31)

For the design of the fuzzy controller, the speed e and the derivative of the speed changes de/dt obtained from the linearization of the equations are considered as the input of the equations for the fuzzy system. The output signals are calculated through the fuzzy membership functions that are dependent on these variables. The membership functions considered for the inputs and outputs of the fuzzy system are considered triangular.

In this section, for the input variables of error (e) and error changes (\(\Delta \) e) and the output variable on the stickers (and Negative Small NS) (and Zero Z (and Positive Small PS) (and Positive Large) PL language Negative L e NL) is used Is.

The membership functions for the error and the derivative of the error, which are the inputs of the fuzzy system, are considered as (Fig. 5).

Fig. 5
figure 5

Input membership functions, error and error changes

Both the theoretical approach and the trial-and-error method have been utilized in the introduction of laws. On the other hand, the stability of the controller is taken into account throughout its design. This controller is stable with respect to many error ranges, including the presence of measurement noise, based on how membership functions are constructed. Table 1 displays the information basis for we take the procedure in question to be symmetrical.

Table 1 Fuzzy system decision rules table

We also consider the centers of the membership functions for the output of the fuzzy system as follows:

$$ {\text{NS}} = - 2,{\text{NL}} = - 2.5 $$
$$ {\text{Z}} = 0 $$
$$ {\text{PL}} = 2.5,{\text{PS}} = 2 $$

We make the centers of the output membership functions dependent on the error value between the desired input and the initial value because we want the fuzzy system to function correctly for every initial condition and every input value. In order to achieve the necessary performance under various conditions, the fuzzy controller must be able to modify its membership functions in accordance with the beginning conditions and the intended output value of the centers. The desired value and the error value arising from the beginning conditions can be multiplied by the centers of the output membership functions after this modification.

4.5 Speed design

In calculating the speed, we must calculate the value of the Vcoast speed (the second part of the movement that is done at a constant speed). This speed depends on the initial speed. We also show the duration of time when the device moves at this speed with tmin—if the relationship (32) holds, then the value of Vcoast = Vmax is considered.

$$ \frac{{v_{{{\text{max}}}}^{2} - v_{0}^{2} }}{{2A_{{\text{accel }}} }} + v_{{{\text{max}}}} t_{{{\text{min}}}} + f\left( {v_{{{\text{max}}}} } \right) < D $$
(32)

Otherwise, the value of coast speed is obtained by solving the following equation

$$ \frac{{v_{{\text{coast }}}^{2} - v_{0}^{2} }}{{2A_{{\text{accel }}} }} + v_{{\text{coast }}} t_{{{\text{min}}}} + f\left( {v_{{\text{coast }}} } \right) = D $$
(33)

It should be noted that the first and second terms in the above relations are, respectively, the distance traveled in the movement with constant acceleration (the first part of the movement) and the movement with constant speed (the second part of the movement) and the function \(f (v)\) represents the distance traveled in. The duration of the robot's braking time is defined by the following relationship and according to the friction forces in the environment as follows.

$$ \begin{aligned} f\left( v \right) & = \frac{{v^{2} }}{{2A_{{\text{decel }}} }} + \alpha_{2} v^{2} + \alpha_{1} v + \alpha_{0} \\ \alpha_{2} & = - 0.0252,\alpha_{1} = 1.2344,\alpha_{0} = - 0.5347 \\ \end{aligned} $$
(34)

The parameters of the simulated car are presented in Table 2.

Table 2 Parameters of the robot to be simulated

5 An example of the implementation of car dynamics

In this part, an example of the block diagram simulation of the control system diagram with unit feedback is shown considering the vehicle dynamics with specific initial conditions for PI and fuzzy controllers. It should be noted that in all the figures, the car is considered as Fig. 6, in this figure, the front wheels have the ability to change the angle relative to the axis of the car.

Fig. 6
figure 6

The figure used in the simulations as a car, the front wheels have the ability to change the angle relative to the vehicle axis

The values of the initial speed, initial angle and initial position for the robot are according to Table 3.

Table 3 Parameters of the robot to be simulated

6 Multi-agent movement strategy

As previously said, each agent in the suggested approach first determines if it can meet its path with agents of higher priority before doing so with agents of lower priority. Whether dealing with agents of higher priority or agents of lower priority, the decision-making procedure about their movement is the same. Because of this, two additional variables, m and n, have been incorporated into the architecture of the program flowchart. These variables stand for the factors that have a higher priority (lower number) and a lower priority (higher number), respectively.

6.1 Investigating the possibility of interaction between factors

Similar to the circle with a wider radius in the LOS approach, a parameter called step-safety 1 is used to check the risk of collision between agents. The step implies the distance between the two places of the robot according to the sample time is equal to 0.04 s. In this case, the radius is measured in steps, but it might be greater than the robots' sensors' field of vision because every agent always has access to the path that was intended for them. This characteristic is actually similar to a driver's level of awareness, where they can make an appropriate judgment based on their state and other driving cars before they are too close to each other. Hence, the greater this value, the earlier collisions can be identified and agents may be instructed to halt moving, and collisions can be avoided by having the agents change course. Stated differently, we assume a big circle centered at the robot's present position and containing the safety step radius surrounding each agent. Additionally, we take into account a smaller circle with a radius of \((-r\) safety step) that is centered at the robot's current location as shown in the picture, as well as the potential. We investigate where these circles intersect. Robots will check their paths with other robots whether their safety step radius circles do not meet; if not, they will attempt to adjust their paths or even stop, depending on how fast and far they are from the collision location. In order to avoid a collision between them, the lower priority factor should either halt the higher priority factor or the lower priority factor.

A collision ought to occur between the safety step and the -r safety step. In this instance, the agent with lesser priority has two flags activated: the security flag and the angle flag. When these flags are activated in the subsequent iteration, the reduction factor and the standard deviation of the angle for the new node in Gaussian sampling are increased for this factor, in accordance with Gaussian sampling of the mean and standard deviation of the distance. This way, in the event that the path needs to be changed in the subsequent iteration, the branches will be connected to the main node to increase the likelihood of locating a safe alternative path.

As mentioned, in Gaussian sampling, the samples are determined according to the current position and direction from the following relationship:

$$ \begin{gathered} \left[ {\begin{array}{*{20}c} {s_{x} } \\ {s_{y} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {x_{0} } \\ {y_{0} } \\ \end{array} } \right] + r\left[ {\begin{array}{*{20}c} {{\text{cos}}\left( \theta \right)} \\ {{\text{sin}}\left( \theta \right)} \\ \end{array} } \right] \hfill \\ \left\{ {\begin{array}{*{20}c} {r = \sigma_{r} \left| {n_{r} } \right| + r_{0} } \\ {\theta = \sigma_{\theta } n_{\theta } + \theta_{0} } \\ \end{array} } \right. \hfill \\ \end{gathered} $$
(35)

where ( \({x}_{0},{y}_{0}\)) is the current position, \({\theta }_{0}\) is the current angle, \({n}_{\text{r}},{n}_{\theta }\) are random variables with standard Gaussian distribution,\({\sigma }_{\text{r}}\), \({\sigma }_{\theta }\) is the standard deviation of the angle and length, respectively, and finally \({r}_{0}\) is the offset value that is determined during the program. In simpler terms, r and \(\theta \) are two random variables with means \({\theta }_{0},{\text{r}}_{0}\) and standard deviation\({\sigma }_{\text{r}},{\sigma }_{\theta }\), where r determines the distance of the sampled point from the root (current position) and \(\theta \) determines the angle.

Collision should occur in less than -r safety step. In this case, in addition to the security and angle flags being activated for the agent with lower priority, these two flags are also activated for the agent with higher priority (with different values for each). Also, the current desired route is considered unacceptable for the agent with lower priority, and the agent with lower priority is forced to make an emergency stop. Now, according to the speed and location of the agent with lower priority, we need to obtain the location of this agent in the future node while the emergency stop order 3 has been given to it.

We call this new position the emergency stop position. Now we check the distance of the agent with higher priority in two situations with the emergency stop position of the agent with lower priority.

Suppose the robot continues its path without changing its speed, in a next time step we predict the position of the robot with a higher priority and calculate its distance to the emergency stop position of the lower order agent—if the distance was more than 2 m (according to the dimensions of the robots and their safe distance from each other) there is no collision, so the higher order agent can continue on its way. If the distance is less than 2 m, we must check whether the collision can be prevented by emergency stop of the higher order agent (predicting the position of the agent in the future node similar to the emergency stop of the agent with lower priority) or not, if this is possible, that is, with an emergency stop. This factor means that the distance between the two factors is more than 2 m. The factor with higher priority must also make an emergency stop, otherwise (emergency stop of both factors) a collision is possible and the user must be notified of the collision before the collision.

In Figs. 7 and 8 the flowchart of multi-agent coordination program is shown.

Fig. 7
figure 7

Flowchart of coordination strategy program

Fig. 8
figure 8

The path traveled by the robot using the PI controller (Fig. 8), taking into account the initial conditions according to Table 3

To calculate the new position of the robot \(\left( {x_{2} ,y_{2} } \right.)\) according to the current position and angle \(\left( {x_{1} ,y_{1} } \right)\) and considering \(\Delta L\) as a chord of a right triangle, we act as follows:

$$ \begin{aligned} x_{2} & = x_{1} + \Delta L*\cos \left( \theta \right) \\ y_{2} & = y_{1} + \Delta L*\sin \left( \theta \right) \\ t_{2} & = t_{1} + T \\ \end{aligned} $$
(36)

7 Simulation

The calculated routes are shown along with the curve of speed changes and distance from the reference route.

A- The results of simulating the control system with single feedback using the controller PI:

As shown in Table 4, in all the car states, it follows the reference path well and reaches the end point. It should be noted that the condition of the repetition of the loop of the dynamic motion of the vehicle of the vehicle is that its distance from the lower point of the reference path is less than a determined value (equal to 1.5 m in the above figures). By comparing the shapes at low speed and high speed, it is observed that although the speed of motion on the reference path of Fig. 9 is more likely to be and the car must take a longer curve to place the path, but this issue is still a problem for the controller. Not built and the car correctly moves to the end point of the reference route.

Table 4 Comparison of the results from the use of PI and Fuzz Controller
Fig. 9
figure 9

Speed of the robot along the path considering the initial conditions according to Table 3

The other point is that, as can be seen, the car speed curve is slightly different from the curved curve (10), which is due to the approximation in calculating the length of the route (D), because the precise length of the vehicle of the vehicle. At first, it is not clear, and therefore, the quantity of path D is approximately calculated.

The other point is that in the above shapes the exact location of the vehicle along the route is as calculated in the dynamic path calculation program. As shown in the shapes, many points are calculated along the route to accurately position the vehicle, resulting in minor change between consecutive points.

8 Preparing a program to overcome the known dynamic barriers for real hardware tests

If the environment around the robot also has differential constraints (dynamic constraints) in addition to algebraic constraints (the restrictions created by barriers), it is necessary to facilitate the simulation of initial and specific assumptions on dynamic limitations (which can be other robots, individuals and so on around the robot).

  • The assumptions on the dynamic limitations in this study are as follows:

  • Moving barriers have linear motion and their motion and speed are identified, and the barriers to the movement move and the robot is able to measure and detect the speed and direction of these barriers.

  • Moving barriers have specific dimensions, and the robot follows its way in the open space without obstacles.

The time it takes to go to each node and the speed at each node must be recorded in the tree in order for the robot to be able to overcome the dynamic barriers (as well as those from other robots) and be a part of the design. It is actively expected that there is a program that generates the factor's dynamic pathway and connects the matching nodes in the same manner. Furthermore, the software yields a path that connects several nodes, with the distance between each pair of measures in the path equal to a pre-established value (Fig. 10, 11).

Fig. 10
figure 10

Robot distance from the reference route along the way with the initial conditions (Fig. 10) in accordance with Table 3

Fig. 11
figure 11

Of the route design in an environment with moving barriers

In the form of (11), the robot tries to take a safe and secure path to its move, considering the position of moving barriers.

8.1 Path design with 4 agents (particles)

With four components, the considered environment is identical to the prior environment. Factors 1 through 4 have initial positions of (0,0), (0,4), (0,8) and (0,12), in that order. The factors are ranked in priority order based on their numbers, with factor 1 having the highest importance and factor 4 having the lowest priority. Figure 12 shows an example of the route design outcomes.

Fig. 12
figure 12

Designed and traveled routes for 4 factors

The findings collected indicate that even in such a densely populated area, the agents' route was successfully designed without any collisions. Figure 12 makes it evident that the agents have frequently altered their intended course to stay clear of other agents.

The way the agents pass each other on the trip is shown in Fig. 13. It is believed that the factors have clashed in some circumstances, such as the first section, where the figures have shrunk. For this reason, an attempt has been made to display this part independently in Fig. 14.

Fig. 13
figure 13

Breakdown of designed and traveled paths for 4 factors

Fig. 14
figure 14

The initial distance of the robots. As can be seen, the robots (particles) do not collide with each other

It is assumed that the agents leave the environment after reaching the destination. The proper functioning of the factors and the lack of collision between them is well known in the above figures.

8.2 Implementation of CL-RRT considering car dynamics

There are two sections to the robot movement program flowchart. In this sense, the path’s design for the robot's travel along it is connected to the first section. This path design checks both the robot's path's optimality and its ability to prevent collisions with obstructions. The RRT algorithm selects the first two locations, which are the start and finish of the robot’s path, under the specified parameters. Taking into account the robot's dynamics, this ensures that the robot follows a straight course after receiving these two points. Or, based on his dynamics, he decides not to move in a straight path between these two sites, but instead may choose a curved path or any path other than a straight path to reach this temporary goal according to his dynamics. Thus, by giving the robot these two points, we should, in accordance with the CL-RRT algorithm, verify that the robot's dynamic path avoids obstacles, allowing us to choose the optimal dynamic path for the robot's movement. It is important to keep in mind that while designing the dynamic path, the robot must save its output and regulate its speed, input values and other requirements for actual movement at predetermined intervals. This is because the robot moves in two halves. Movement is both practical and simulative, and there is no longer any path simulation in practical movement (Fig. 15).

Fig. 15
figure 15

Block diagram of the algorithm of designing and following the path by the robot using the CL_RR algorithm

In order for the robot to travel in the intended path and follow the intended path for its movement as closely as possible, it just needs the values recorded in the simulation of dynamic movements for real movement. Naturally, it is also important to keep in mind that the robot will be able to follow the intended path more successfully the more intermediate points it takes into account.

It is important to note that since the objective of this project is for the robot to move online, both simulation and real pathfinding are carried out concurrently.

The flowchart related to the movement and design of the robot path is as follows.

9 Route design with 4 factors

The same environment with four elements is taken into consideration in this part. Factors 1 through 4 start at (0, 10, 10, 20), 10, 10, 10, 30 and 10, in that order. The factors are ranked in priority order based on their numbers, with factor 1 being the highest importance and factor 4 being the lowest.) The suggested flowchart in (16) is accompanied by an example of how the route design results according to it.

The findings collected indicate that even in this highly dense environment, the agents’ path planning was completed successfully and without any collisions. Agents have frequently altered their intended direction (thin lines) to avoid colliding with other agents, as the figure makes evident (Fig. 16).

Fig. 16
figure 16

Designed and traveled routes for 4 factors

For the findings displayed in the total (in Tables 5, 6), the agents' path length and time spent traveling through the initial environment are given. Ten meters is the starting distance between the agents at the start of the journey.

Table 5 Length of the route and the time during the route for the obtained results
Table 6 Minimum distance between agents along the path in the obtained results

It can be seen that the paths obtained were without collision and despite the high density of agents and their proximity to each other, the design of the route was well established for the agents.

10 Proposed method for multi-agent system routing along with queuing problem

As previously said, the virtual control approach is highly helpful in forming a regular shape. However, as was also mentioned, this method has a significant flaw in the topic of follower agent routing. The virtual control mechanism and the routing program are combined in the suggested approach. Assume that the objective of three agents moving in an environment that corresponds to an isosceles triangle is to coordinate their movements so that the guiding agent, an isosceles right triangle, is formed. It attempts to use routing to get to the target location and is depicted in green at the top of the triangle. Although the goals of the lower priority factors are the same as those of the other heads, their positions have changed simultaneously with the movement of this factor with the highest priority and in accordance with the movement of that desired geometric shape (in this case, an isosceles triangle with a leg length of D meters). Every moment, lower priority factors are computed based on the intended configuration.

At first, assume that according to Fig. 17, the angle of factor #1 is zero with respect to the axes. Therefore, according to the angle and length of the leg of the triangle (D), the position of factors number 2 and 3 can be determined using the following relationships.

$$ \begin{array}{*{20}c} {\left\{ {\begin{array}{*{20}c} {x_{2} = x_{1} - D \cdot \cos \left( {\alpha /2} \right)} \\ {y_{2} = y_{1} + D \cdot \sin \left( {\alpha /2} \right)} \\ \end{array} } \right.} \\ {\left\{ {\begin{array}{*{20}c} {x_{3} = x_{1} - D \cdot \cos \left( {\alpha /2} \right)} \\ {y_{3} = y_{1} - D \cdot \sin \left( {\alpha /2} \right)} \\ \end{array} } \right.} \\ \end{array} $$
(37)
Fig. 17
figure 17

Here are three robots in a regular forming position following a straight line

Now let us assume that factor number 1 is the change of angles with the size of 1 in the positive trigonometric direction according to Fig. 19.

In order to maintain the desired shape during the movement, it is sufficient not to include the angle of factor number 1 in specifying the position of other factors as follows in the previous relationships (Fig. 18).

$$ \begin{array}{*{20}c} {\left\{ {\begin{array}{*{20}c} {x_{2} = x_{1} - D \cdot \cos \left( {\alpha /2 + \theta_{1} } \right)} \\ {y_{2} = y_{1} + D \cdot \sin \left( {\alpha /2 + \theta_{1} } \right)} \\ \end{array} } \right.} \\ {\left\{ {\begin{array}{*{20}c} {x_{3} = x_{1} - D \cdot \cos \left( {\alpha /2 + \theta_{1} } \right)} \\ {y_{3} = y_{1} - D \cdot \sin \left( {\alpha /2 + \theta_{1} } \right)} \\ \end{array} } \right.} \\ \end{array} $$
(38)
Fig. 18
figure 18

Initial position of the robots

Thus, the objectives of the lower order elements are ascertained in accordance with the geometric shape in issue during the movement by applying the aforementioned relations. On the other hand, the RRT routing algorithm uses Gaussian sampling to create new samples every instant based on the intended situation and the existing condition. The following is the suggested procedure for integrating the RRT algorithm with virtual control for the i-th agent (follower agent):

  1. (1)

    Using the virtual control method, calculate the position of agent i (New_pos for agent i) by virtual structure and consider this position as the target position of agent i.

  2. (2)

    If the direct path between the current position of the i-th agent and the position of this agent on the desired shape (the target of this agent) is without encountering obstacles, instead of using Gaussian sampling, this same position should be selected as a random sample. In other words, in this case as well the random sample is the same as the target position. Otherwise, generate a safe route to the target position using Gaussian sampling and routing.

  3. (3)

    After generating a new sample in step 2, use the CL_RRT routing program to reach the target position (step 1) and generate the route.

This type of queuing architecture also allows for the control of the robots that follow at varying speeds. Because Fig. 19 serves as the basis for the optimal speed design, the follower robots’ speed increases as their distance from the guide robot increases. Conversely, the follower robots' speed decreases as the guide agent’s distance from the follower robots decreases.

Fig. 19
figure 19

Flowchart of the suggested approach to address the routing problem and the agent movement problem concurrently. As can be seen, the only modification made to address the queuing problem is the sample strategy for the i-th agent, which is the next agent in line. (The RRT routing algorithm creates it.)

The simulation example is positioned in Figs. 20 and 21 in accordance with the previously provided explanations. Its objective is to ensure that, in addition to the fact that the arrow's guiding agent has arrived at its intended place, the second agent. Furthermore, thirdly, they should use internet design to create their own movement path, making sure that each one matches the end of an arrow and avoids any barriers in the surroundings.

Fig. 20
figure 20

Simulation of a multi-agent system along with the problem of queuing in an obstacle environment

Fig. 21
figure 21

Simulation of a multi-agent system along with the problem of queuing in an obstacle environment

It is evident that as the second and third agents approach impediments in their path, they individually adjust their route by utilizing the RRT algorithm and attempt to go past them. Once more, they choose their course by applying the RRT algorithm to ensure that their movement conforms to the intended geometric shape. Additionally, it is evident that the changes in the first factor's movements are consistent with the movements of the second and third factors.

11 Conclusion

In this paper, after reviewing the existing methods for designing the path from a new method based on two prioritization-based coordination methods and the LOS method for designing multifactor pathways by the closed tree loop method, we first examine and develop an algorithm (CL-RRT) online for the purpose discussed, and changes in how new points in the environment were sampled to improve the performance of agents in the design of multifactor routes. It was designed to control the robot along the path using two PI and fuzzy controllers, and the results were compared with each other, with the fuzzy controller being more flexible during movement.

The following can be concluded from reviewing and comparing existing methods:

Existing methods for designing multiple factors can be divided into centralized and decentralized methods. The main disadvantage of centralized methods is that they increase the volume of computing by increasing the number of factors that make them suitable for use in large systems. On the other hand, calculations in decentralized design are divided between agents, and due to the absence of a central designer in the event of a failure of each of the factors, the rest of the single-way design methods can be divided into continuous and continuous methods. Discrete downturn with great and difficult issues in applying the dynamic feasibility, both in terms of dynamic and dynamic obstacles, is the means of not increasing the accuracy of the environment and consequently the dimensions of the problem, especially in complex and crowded environments.

The following results were compared to compare the selected methods to design the path:

The potential field method for simple environments works in a relatively rapid time, but it is difficult to get rid of the local minimum and find the route to the target. Another problem with this method is that it should be considered along the way, and as the robot approaches the barriers, the dimensions of the barriers become larger due to the proximity of the robot. It becomes very heavy.

The offline route design method for a variety of environments is well able to find the answer and always reaches a single answer for an environment, but the amount of time needed to execute the algorithm is even for simple environments and increases as the complexity of the environment increases. Also, given that the purpose of this thesis was to move multiple robots in the environment at any moment, depending on the cost function, the rating for each cell should be recovered in the direction, which is a lot of time and memory. It consumes, which is almost impossible in practice.

As a result, random search algorithms and RRT algorithms were used to move the robots online in the environment to allow the optimal direction to move in less time and with less memory volume. Subsequently, given that the tree’s expansion in this algorithm was based on the line between the starting point and the temporary goal, and according to the robot's dynamics, it could not be accurately moved on the right line and its move to achieve the goal set in the length of the route was curved, so the CL-RRT algorithm family, which was the expansion of the tree based on the device's dynamics, was used to reach zero on the problem of the robots' possible impact.

It should be noted, however, that the coordination method for the movement of the robots as a team that combines the two methods of prioritization and LOS, as well as the robot team's lineup method during movement, is due to the simultaneous routing and maintenance of the whole team. The first movement was used in this article.

The design algorithm of the multifactor route design for a variety of environments, including the large number of barriers and environments with a high number of agents, with consideration of the dynamics of the agents, is well able to design the path and find the appropriate paths without collision for the agents.

The car follows the reference path and reaches its end point, with a distance of less than a specified value. The controller correctly reaches its reference point despite traveling a longer curve. The car velocity curve has an informative curve (16), due to approximation in calculating the route length (D). The precise location of the vehicle along the route is calculated in the dynamic plan calculation program, resulting in minor position changes between consecutive points.