Keywords

1 Introduction

At the present time, the physical swarm is widely used in various fields of human activity, such as industry, defense, ecology [1], as well as to perform tasks of locating objects on the ground, reconnaissance, counter-terrorism, mine clearance operations, etc.

The study of a physical swarm and modeling of its behavior is a field of active scientific research, popular for more than two decades. After the work of Reynolds [2], devoted to the study of the behavior of a flock of birds in flight, extensive studies were carried out to model and analyze the behavior of the swarm, as well as to develop algorithms for controlling and coordinating the swarm [3].

Of greatest interest are the tasks of swarm coordination, requiring that the milestone be reached by all units of the physical swarm at the same time or with a minimum time spread. Such a need arises, for example when it is necessary to surround the target and not miss it. In real conditions, each unit of a physical swarm moves along its own unique trajectory, determined by the relief and micro-relief of the terrain, weather conditions, etc.

Therefore, the achievement of a milestone by each unit of a physical swarm occurs with random time, which in turn, is determined by robot design and properties of terrain.

Known methods for modeling the behavior of the swarm [4, 5], as well as algorithms for coordinating the swarm on the ground [6, 7] have a significant drawback, which at the stage of designing a physical swarm, not allow to evaluate the temporal and probabilistic characteristics of its functioning in real conditions, therefore, they do not allow to solve the problem of reaching the milestone with all units of the physical swarm with a minimum time spread. Therefore, the investigation, carried out below are relevant, and important for the practice of swarm design.

2 Dynamics of Swarm Unit Longitudinal Movement

Structure of swarm unit, as a transport vehicle, is shown on the Fig. 1.

Fig. 1.
figure 1

Kinematics of swarm unit.

Unit is considered as the absolutely rigid trunk, based on viscose/elastic supports, placed at isosceles triangle vertices A, B, C. Swarm unit moves on the rugged terrain and every wheel is in its individual road conditions. Wheels B and C are active [8]. The combined moment of these wheels provides the longitudinal movement of the unit, and the differential moment provides maneuvering on a terrain. Wheel A is strongly passive. It provides third fulcrum only, and is installed on the support, which in turn, rotates at hinge. Axis of rotation is perpendicular to the ABC-plane. The trunk has no longitudinal not transverse mobility degree relatively to supports, in such a way centers of wheels may move the straights line perpendicular ABC-plane only. Lengths of supports counterbalance the weight of trunk Mg, where M is the trunk mass; g is the gravity acceleration. Wheels touch the terrain at points A′, B′, C′. In points of touch forces tangential component provides both resistance RA, RB, RC, and driving forces FB, FC.

To describe the influence of terrain relief on the time of getting by swarm unit milestone one should work out the differential equation, describing robot longitudinal movement. Differential equation, which describes angle velocity of B and C electric engines shafts are as follows:

$$ \left\{ \begin{aligned} T\dot{\omega }_{B} + \omega_{B} + K_{\mu } \mu_{B} + K_{\nu } \nu_{B} = K_{U} U_{B} ; \hfill \\ T\dot{\omega }_{C} + \omega_{C} + K_{\mu } \mu_{C} + K_{\nu } \nu_{C} = K_{U} U_{C} , \hfill \\ \end{aligned} \right. $$
(1)

where \( \omega_{B} ,\;\omega_{C} \) are rotation speeds of B and C motor shafts; T is the time constant of motors; \( \mu_{B} ,\;\mu_{C} \) are payload moments on B and C motor shafts; \( \nu_{B} ,\;\nu_{C} \) are moments of dry friction in the bears of engine; \( U_{B} ,\;U_{C} \) are control actions applied to B and C motors; \( K_{\mu } \), \( K_{\nu } \), \( K_{U} \) are proportionality factors.

If necessary, motors are equipped with reduction gears with transmitting coefficient i (when motor have no reducer, then i = 1). So moments and rotation speeds at reduction gear output shafts are as follows:

$$ \left\{ {\begin{array}{*{20}l} {\frac{{{}^{r}\mu {}_{B,C}}}{i} = \mu_{B,C} ;} \hfill \\ {{}^{r}\omega_{B,C} i = \omega_{B,C} ,} \hfill \\ \end{array} } \right. $$
(2)

where \( {}^{r}\omega_{B} \) \( {}^{r}\omega_{C} \) are rotation speeds on reducer output shafts B and C, respectively; \( {}^{r}\mu {}_{B} \), \( {}^{r}\mu {}_{C} \) are payload moments on reducers B and C output shafts.

Reducers are loaded on the drive wheels, so wheel drive circumferential speeds, which coincide with the speeds \( V_{B} ,\;V_{c} \) of supports B and C, are as follows:

$$ V_{B,C} = {}^{r}\omega_{B,C} q, $$
(3)

where q is the wheel radius.

Longitudinal speed and azimuth rotation speed of swarm unit are as follows:

$$ \left\{ \begin{aligned} V = \frac{{V_{B} + V_{c} }}{2}; \hfill \\ \dot{\psi } = \frac{{V_{B} - V_{c} }}{{2L_{y} }}, \hfill \\ \end{aligned} \right. $$
(4)

where \( 2L_{y} \) is width between supports B and C; \( \dot{\psi } = \frac{d\psi }{dt} \).

Swarm unit moves forward and rotates around z axis under the action of driving and resistance forces. Center of rotation is situated on the straight line, passing through points B and C.

Differential equation system, which describes dynamic of longitudinal movement and azimuth angle rotation of unit, is as follows:

$$ \left\{ {\begin{array}{*{20}l} {M\dot{V} + \eta_{V} V = \left( {F_{B} - R_{B} } \right)\cos \alpha_{B} + \left( {F_{C} - R_{C} } \right)\cos \alpha_{C} - R_{A} \cos \alpha_{A} ;} \hfill \\ {J\ddot{\psi } + \eta_{{\dot{\psi }}} \dot{\psi } = \left[ {\left( {F_{B} - R_{B} } \right)\cos \alpha_{B} - \left( {F_{C} - R_{C} } \right)\cos \alpha_{C} } \right]L_{y} - R_{A} L_{x} \cos \alpha_{A} \sin \phi ,} \hfill \\ \end{array} } \right. $$
(5)

where M is the unit mass; J is the moment of inertia of swarm unit relative to center of rotation; \( \eta_{V} \) and \( \eta_{\psi } \) are coefficients, describing dissipative forces, affected on the unit (f.e. viscous friction); \( F_{B} ,\;F_{C} \) are driving forces; \( R_{A} ,\;R_{B} ,\;R_{C} \) are resistance forces; \( \alpha_{A} ,\;\alpha_{B} ,\;\alpha_{C} \) are angles between horizontal plane and tangential force in points \( A^{\prime},\;B^{\prime},\;C^{\prime}\; \) respectively; φ is angle of the passive wheel A rotation.

Joint solution of Eqs. (3)–(5) gives following system, describing longitudinal movement and azimuth angle maneuvering of three wheels swarm unit:

$$ \delta_{V} \left( \kappa \right) \cdot D_{VV} \left( \kappa \right) + \delta_{{\dot{\psi }}} \left( \kappa \right) \cdot D_{{V\dot{\psi }}} \left( \kappa \right) = \delta_{FV} \left( \kappa \right); $$
(6)
$$ \delta_{V} \left( \kappa \right) \cdot D_{{\dot{\psi }V}} \left( \kappa \right) + \delta_{{\dot{\psi }}} \left( \kappa \right) \cdot D_{{\dot{\psi }\dot{\psi }}} \left( \kappa \right) = \delta_{{F\dot{\psi }}} \left( \kappa \right), $$

where \( \kappa \) is the Laplace variable; \( \delta_{V} \left( \kappa \right) \) - is increment of longitudinal speed; \( \delta_{{\dot{\psi }}} \left( \kappa \right) \) - is increment of azimuth rotation speed; \( \delta_{FV} \) is deviation of driving force, that provides longitudinal speed; \( \delta_{F\psi } \) is deviation of azimuth rotation force, that provides azimuth rotation speed.

$$ D_{VV} \left( \kappa \right) = D_{{\dot{\psi }V}} \left( \kappa \right) = \kappa \left( {M + \frac{{2Ti^{2} }}{{K_{\mu } q^{2} }}} \right) + \left( {\eta_{V} + \frac{{2i^{2} }}{{K_{\mu } q^{2} }}} \right); $$
$$ D_{{V\dot{\psi }}} \left( \kappa \right) = - D_{{\dot{\psi }\dot{\psi }}} \left( \kappa \right) = \kappa \left( {\frac{{J_{z} }}{{L_{y} }} + \frac{{2TL_{y} i^{2} }}{{K_{\mu } q^{2} }}} \right) + \left( {\frac{{\eta_{\psi } }}{{L_{y} }} + \frac{{2L_{y} i^{2} }}{{K_{\mu } q^{2} }}} \right). $$

Solving the system (6) gives

$$ \delta_{V} \left( \kappa \right) = \frac{{k_{U} \delta_{UB} }}{{T_{SU} \kappa + 1}} + \frac{{k_{U} \delta_{UC} }}{{T_{SU} \kappa + 1}} - \frac{{k_{\alpha A} \delta_{\alpha A} }}{{T_{SU} \kappa + 1}} - \frac{{k_{\alpha BC} \delta_{\alpha B} }}{{T_{SU} \kappa + 1}} - \frac{{k_{\alpha BC} \delta_{\alpha C} }}{{T_{SU} \kappa + 1}}, $$
(7)

where \( k_{U} ,\;k_{\alpha A} ,\;k_{\alpha BC} \) are coefficients of proportionality; \( T_{SU} \) is the speedup time constant of swarm unit; \( \delta_{\alpha A} ,\delta_{\alpha B} ,\delta_{\alpha C} \) is deviations of angles \( \alpha_{A} ,\;\alpha_{B} ,\;\alpha_{C} \) between horizontal plane and tangential forces.

It is necessary to admit, that (7) is valid, when wheels does not lose mechanical contact with a road and transverse slip of the wheels on the surface is absent. Expressions (7) shows, that dynamics of longitudinal movement of 3-wheel swarm unit depends on characteristics of motors, gear ratio, design of chassis etc. Current swarm unit speed depends on deviations \( \delta_{UB} ,\;\delta_{UC} \) of control actions \( U_{B} ,\;U_{C} \), applied to B and C motors, and deviations \( \delta_{\alpha A} ,\delta_{\alpha B} ,\delta_{\alpha C} \). So, deviations of angles cause the deviation of swarm unit velocity from pre-determined level, and slowing down reaching the milestone by the unit. If such parameter of road, as profile correlation function, is known, time density of milestone achievement may be obtained.

3 Reaching the Milestone by the Swarm Unit

Let the swarm unit move to the milestone located at a distance S from it. When unit runs on the perfect flat surface, without hollows and/or hedges, the milestone may be reached at the time T, value of which is determined by the maximum speed developed by unit. At the same time, as it follows from (7), every obstacle on the movement trace increases this time. For a simulation of passing the distance by vehicle approach, based on Petri-Markov net (PMN) [9,10,11,12] conception may be proposed. Structure of PMN is shown on the Fig. 2. To obtain such structure the distance S from starting point till the milestone is divided onto elementary pieces s. After passing every piece swarm unit immediately starts to pass next piece. Petri-Markov net is described with the following set:

$$ \begin{array}{*{20}c} {\Pi = \left\{ {\left\{ {a_{1} ,a_{1} ,a_{2} , \ldots ,a_{j} , \ldots } \right\},\left\{ {z_{1} ,z_{2} , \ldots ,z_{j} , \ldots } \right\},} \right.} \\ {\left. {\left\{ {I\left( {z_{1} } \right) = \emptyset ,I\left( {z_{j} } \right) = a_{i - 1} ,i = \, 0, \ldots j, \ldots } \right\},\left\{ {O\left( {z_{j} } \right) = a_{j} ,i = 0, \ldots j, \ldots } \right\}} \right\},} \\ \end{array} $$
(8)

where aj are places; zj are transitions; I(…) are transition input functions O(…) are transition output functions; \( \emptyset \) is the zero set.

Fig. 2.
figure 2

PMN modeling the process of achieving the milestone.

Transition z1 is the starting one, and simulates beginning swarm unit movement. Transition zj simulates achievement the end of stage s. When j → ∞ it simulates the end of the distance S. Places simulate generation of time intervals when swarm unit passes the stages.

Every stage may be passed by swarm unit with current velocity \( V(t) \). Time, during of which unit passes the stage, is occasional and equal to

$$ t_{s} = \frac{s}{V\left( t \right)} = T_{s} + \Delta \left( t \right),\quad \quad T_{s} = \frac{s}{{V + \delta_{V} }} = \bar{T}_{s} + \delta_{Ts} $$
(9)

where V is mean swarm unit velocity, caused by control actions \( U_{B} ,\;U_{C} \), applied to B and C motors according to Eq. (7); \( \delta_{V} \) is a deviation of velocity from mean value, caused by roughness of terrain under wheels A, B, C; \( \bar{T}_{s} \) is the mean time of passing the stage by swarm unit; \( \delta_{s} \) is a deviation of time from mean value.

When deviation \( \delta_{V} \) is occasional value, then deviation \( \delta_{Ts} \) is occasional value too. It would be considered, that \( \delta_{Ts} \) has zero mean value. So density of time of passing the stage is as follows:

$$ f_{s} \left( t \right) = \delta \left( {t - T_{s} } \right)*f_{\Delta } \left( t \right),f_{s} \left( t \right) = \delta \left( {t - \bar{T}_{s} } \right)*\bar{f}_{s} \left( t \right) $$
(10)

where \( \delta \left( {t - \bar{T}_{s} } \right) \) is the Dirac δ-function; \( \bar{f}_{s} \left( t \right) \) is the time deviation density from mean value.

Accordingly to [13]

$$ f_{S} \left( t \right) = \mathop {lim}\limits_{\substack{ J \to \infty , \\ s \to 0 } } L^{ - 1} \left[ {\prod\limits_{j = 1}^{J} {L\left[ {\delta \left( {t - \bar{T}_{s} } \right)*\bar{f}_{s} \left( t \right)} \right]} } \right] = \delta \left( {t - \bar{T}_{S} } \right)*\mathop {lim}\limits_{\substack{ J \to \infty , \\ s \to 0 } } L^{ - 1} \left[ {\prod\limits_{j = 1}^{J} {L\left[ {\bar{f}_{s} \left( t \right)} \right]} } \right] $$
(11)

where \( L\left[ \ldots \right] \) and \( L^{ - 1} \left[ \ldots \right] \) are direct and inverse Laplace transforms; \( \bar{T}_{S} \) is the mean time spent by swarm unit for passing the whole distance S with pre-determined velocity V;

$$ \bar{T}_{S} = \frac{S}{V} . $$
(12)

It is necessary to admit, that

$$ \bar{f}_{S} \left( t \right) = \mathop {lim}\limits_{\substack{ J \to \infty , \\ s \to 0 } } L^{ - 1} \left[ {\prod\limits_{j = 1}^{J} {L\left[ {\bar{f}_{s} \left( t \right)} \right]} } \right] $$
(13)

is the convolution, describing sum of great number of small random values, which equally contribute to resulting random value. Accordingly to central limit theorem [14, 15] \( \bar{f}_{S} \left( t \right) \) is normally distributed. Also swarm unit cannot reach the milestone earlier than at the time Ï„ when driving the whole distance with maximal velocity \( V_{\hbox{max} } \);

$$ \tau = \frac{S}{{V_{\hbox{max} } }} $$
(14)

Taking into account the above circumstances, finally the time density of reaching the milestone by swarm unit takes the following form:

$$ f_{S} \left( t \right) = \left\{ {\begin{array}{*{20}l} {\frac{{exp\left[ { - \frac{{\left( {t - T_{S} } \right)^{2} }}{{2D_{\Delta } }}} \right] \cdot \eta \left( {t - \tau } \right)}}{{\int\limits_{\tau }^{\infty } {exp\left[ { - \frac{{\left( {t - T_{S} } \right)^{2} }}{{2D_{\Delta } }}} \right]dt} }},\;when\;t \ge \tau ;} \hfill \\ {0\;otherwise} \hfill \\ \end{array} } \right. $$
(15)

where \( T_{S} \) is expectation of unclipped normal distribution; \( D_{S} \) is dispersion of density \( \bar{f}_{S} \left( t \right) \); \( \eta \left( {t - \tau } \right) \) is Heaviside function.

4 Reaching the Milestone by a Swarm

Let there is a swarm of mobile robots moving towards the milestone. The process of functioning of the swarm when reaching milestone can be described by the PMN [14,15,16], shown on the Fig. 3:

$$ \begin{array}{*{20}c} {\varPi = \{ \{ a_{1} , \ldots ,a_{k} , \ldots ,a_{K} \} ,\{ z_{b} ,z_{e} \} ,} \\ {\{ O\left( {z_{b} } \right) = \left\{ {a_{1} , \ldots ,a_{k} , \ldots ,a_{K} } \right\},O\left( {z_{e} } \right) = \emptyset \} ,} \\ {\{ I\left( {z_{b} } \right) = \emptyset ;I\left( {z_{e} } \right) = \left\{ {a_{1} , \ldots ,a_{k} , \ldots ,a_{K} } \right\}\} \} .} \\ \end{array} $$
(16)

On the Fig. 3, transition \( z_{b} \) simulates the start of swarm movement; transition \( z_{e} \) simulates the reaching the milestone by the swarm units and the swarm as a whole; places a1,…, ak,…, aK simulate process of movement units toward the milestone.

Fig. 3.
figure 3

PMN, that simulates the swarm functioning.

There is the competition between units for not to be last when passing the distance [17]. Time density of event of gathering the whole swarm at the milestone is as follows:

$$ f_{g} \left( t \right) = \frac{{d\prod\limits_{k = 1}^{K} {F_{k} \left( t \right)} }}{dt} = \sum\limits_{k = 1}^{K} {f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {F_{i} \left( t \right)} } , $$
(17)

where \( f_{k} \left( t \right) \) is the time density of reaching the milestone by k-th swarm unit, described with formula (15); \( F_{k} \left( t \right) = \int\limits_{0}^{t} {f_{k} \left( \theta \right)d\theta } \); \( \theta \) is auxiliary variable.

When \( f_{k} \left( t \right) \) is described with formula (15), then

$$ F_{S} \left( t \right) = \left\{ {\begin{array}{*{20}l} {\frac{{\int\limits_{\tau }^{t} {exp\left[ { - \frac{{\left( {\theta - T_{S} } \right)^{2} }}{{2D_{\Delta } }}} \right]d\theta } }}{{\int\limits_{\tau }^{\infty } {exp\left[ { - \frac{{\left( {t - T_{S} } \right)^{2} }}{{2D_{\Delta } }}} \right]dt} }}when\;t \ge \tau ;} \hfill \\ {0\;otherwise.} \hfill \\ \end{array} } \right. $$
(18)

Probability and pure time density, that namely k-th unit of swarm finishes the distance the last is as follows [13]:

$$ \tilde{p}_{k} = \int\limits_{0}^{\infty } {f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {F_{i} \left( t \right)} dt} ; $$
(19)
$$ \tilde{f}_{k} \left( t \right) = \frac{{f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {F_{i} \left( t \right)} dt}}{{\tilde{p}_{k} }}. $$
(20)

Probability and pure time density, that namely k-th unit of swarm finishes the distance the first is as follows [13]:

$$ \hat{p}_{k} = \int\limits_{0}^{\infty } {f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {\left[ {1 - F_{i} \left( t \right)} \right]} dt} ; $$
(21)
$$ \hat{f}_{k} \left( t \right) = \frac{{f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {\left[ {1 - F_{i} \left( t \right)} \right]} dt}}{{\hat{p}_{k} }}. $$
(22)

Let us introduce K-digit binary number \( N\left( K \right) = \left\langle {n_{1} ,\; \ldots ,\;n_{k} ,\; \ldots ,\;n_{K} } \right\rangle \) and select from \( N^{K} \) those numbers, which contain l zeros and K − l ones. Quantity of such combinations is

$$ C\left( {K,l} \right) = \frac{K!}{{\left( {K - l} \right)! \cdot l!}}. $$
(23)

Let us introduce function

$$ \Phi _{k} \left[ {t,c\left( {K,l} \right)} \right] = \left\{ {\begin{array}{*{20}l} {F_{k} \left( t \right),\;when\;n_{k} \left[ {c\left( {K,l} \right)} \right] = 0;} \hfill \\ {1 - F_{k} \left( t \right),\;when\;n_{k} \left[ {c\left( {K,l} \right)} \right] = 0,} \hfill \\ \end{array} } \right. $$
(24)

where \( c\left( {K,l} \right) \) is number of combination of binary number, which contain l zeros and K − l ones; \( n_{k} \left[ {c\left( {K,l} \right)} \right] \) is k-th binary digit in \( c\left( {K,l} \right) \)-th combination.

Then time density of the event, that l drom K swarm units get the milestone is as follow

$$ \tilde{f}_{K,l} \left( t \right) = \sum\limits_{{c\left( {K,l} \right) = 1}}^{{C\left( {K,l} \right)}} {\sum\limits_{{k \in c\left( {K,l} \right)}}^{{}} {f_{k} \left( t \right)\prod\limits_{\begin{subarray}{l} i = 1, \\ i \ne k \end{subarray} }^{K} {\Phi _{i} \left[ {t,c\left( {K,L} \right)} \right]} } } , $$
(25)

where \( k \in c\left( {K,l} \right) \) means, that summation should be executed only on all k’s, which are in combination of \( \left\langle {n_{1} ,\; \ldots ,\;n_{k} ,\; \ldots ,\;n_{K} } \right\rangle \), containing l zeros.

5 Computer Experiment

The direct computer experiment was performed to verify the proposed method. It was performed for swarm unit, which moves over rough terrain with random velocity \( V + \delta_{V} \), where V = 5 m/s, \( \delta_{V} \) is a random value, which is uniformly distributed at the domain \( - 0{,}5 \le \delta_{V} \le 0{,}5\;{\text{m/s}} \). Distance 1 km is divided onto 100 stages of length 10 m. Histogram of reaching the milestone by swarm unit, obtained with use the Monte-Carlo method, is shown on the Fig. 4. Error evaluation of time expectation (200 s) is equal to 1,3%, error of standard deviation evaluation (0,9 s) is equal to 3,4%.

Fig. 4.
figure 4

Histograms of reaching the milestone by swarm unit

Histogram of reaching the milestone by swarm, consisting of 5 units, is shown on the Fig. 5. This histogram illustrates (17). As it follows from named formula, moda of histogram is shifted in comparison with histogram, sown on the Fig. 4. This fact one should took into account when planning operations, executed by swarm.

Fig. 5.
figure 5

Histograms of reaching the milestone by swarm as a whole

The result of computer experiment, shown on the Fig. 4 and the Fig. 5, confirms the validity of the hypothesis of the time density of a milestone achievement by the swarm unit.

6 Conclusion

So, the article notes that an important task of swarm operation planning is evaluation of milestone achieving time, both swarm unit, and swarm as a whole. In the case of physical swarm, moving through a rough terrain, it may be done by means of analytical simulation of vehicle longitudinal movement. Proposed approach permits to link design and physical parameters of unit with characteristics of terrain as a road and with time density of reaching the milestone both one unit and l units of K. The fidelity of the proposed method is confirmed by a direct computer experiment.

The research was carried out within the grant (19-38-90058\19 (Ц61019ГPФa)) of Russian foundation of fundamental investigations (RFFI).