Power in Numbers: Primitive Algorithm for Swarm Robot Navigation in Unknown Environments

Yusuke Tsunoda, Shoken Otsuka, Kazuki Ito, Runze Xiao,
Keisuke Naniwa, Yuichiro Sueoka, Koichi Osuka
Abstract

Recently, the navigation of mobile robots in unknown environments has become a particularly significant research topic. Previous studies have primarily employed real-time environmental mapping using cameras and LiDAR, along with self-localization and path generation based on those maps. Additionally, there is research on Sim-to-Real transfer, where robots acquire behaviors through pre-trained reinforcement learning and apply these learned actions in real-world navigation. However, strictly the observe action and modelling of unknown environments that change unpredictably over time with accuracy and precision is an extremely complex endeavor. This study proposes a simple navigation algorithm for traversing unknown environments by utilizes the number of swarm robots. The proposed algorithm assumes that the robot has only the simple function of sensing the direction of the goal and the relative positions of the surrounding robots. The robots can navigate an unknown environment by simply continuing towards the goal while bypassing surrounding robots. The method does not need to sense the environment, determine whether they or other robots are stuck, or do the complicated inter-robot communication. We mathematically validate the proposed navigation algorithm, present numerical simulations based on the potential field method, and conduct experimental demonstrations using developed robots based on the sound fields for navigation.

Index Terms:
Swarm robotics, navigation, unknown environment, potential field, self-organization
publicationid:pubid:

IIntroduction

The navigation of robots in unknown environments has garnered significant global interest. An unknown environment refers to a dynamic and unpredictable setting, such as a disaster site or the lunar surface, where the environment through means governed by physical laws but are difficult to anticipate[1]. In such environments, when robots are employed as substitutes for humans in search and rescue operations or transport tasks, a sophisticated navigation capability is essential to enable the unit to reach the operational area from the initial position. This capability would generally equip the robot with the ability to sense difficult-to-traverse areas, generate a path to avoid them, and move along that path. Various approaches have been explored in prior research on robot navigation in unknown environments to achieve this functionality. For example, in simultaneous localization and mapping (SLAM), robots are equipped with external sensors, such as cameras or LiDAR, allowing them to observe and model the surrounding environment. Consequently, robots generate a path to the goal, avoiding obstacles along the way[2,3,4,5]. Another approach, inspired by insect behavior, is the bug algorithm, where the robot alternates between moving straight towards the goal and following the wall of an obstacle to generate a path[6,7]. In this method, the robot generates a path by alternating between moving straight towards the goal and following the wall of obstacles. Research efforts that have investigated the application of multi-robot systems for navigation in unknown environments, including studies that apply the SLAM method to swarm robot systems[8,9,10]and research on spatial exploration by small drone swarms based on the bug algorithm[11],have demonstrated that such systems exhibit high efficiency and superior fault tolerance. Another prominent area of research is Sim-to-Real transfer, where robots acquire behaviors in a physical simulation environment using reinforcement learning, and the learned model is applied to actual mobile robots for real-world testing[12,13,14].

However, these methods are based on the assumption that the environmental data obtained from external sensors is reliable, but this information is not always accurate in unknown environments. This is because external sensors, such as cameras and LiDAR, can capture the shape of the terrain but cannot detect the physical properties (texture information) of the terrain. For example, what appears to be dry ground may, in fact, be soft or muddy terrain, or there may be hidden depressions beneath fallen leaves. In an unknown environment, the true state of the environment cannot be confirmed unless the robot physically interacts with the terrain by traversing it. It is difficult to predict environmental changes accurately in an unknown environment, as it would contradict the principles of causality. Moreover, it is difficult to accurately model the dynamic interaction between the robot and the environment in a physical simulation environment. Therefore, conventional methods that aim to equip a single robot with sophisticated sensory and computational capabilities are insufficient for solving the navigation problem in unknown environments, necessitating a dramatic shift in the approach followed to address the issue.

Therefore, we consider the eventuality that the robots will get stuck in unknown environments as inevitable, and aim to solve this problem with a primitive algorithm-based swarm robot system that utilizes several robots. This study presents a primitive algorithm for a swarm robot system that significantly simplifies the navigation of unknown environments by leveraging the advantages of deploying multiple robots. As illustrated in Fig.1,we address a navigation problem in a 2D plane where at least one robot from the swarm must reach a specified goal, despite the presence of randomly distributed impassable zones. We assume the existence of at least one path to the goal that can feasibly be traversed by the robot. Note that the robots have no prior awareness the positions and shapes of the impassable zones (depicted in the blue in Fig.1). These zones include obstacles, such as walls, terrain undulations, mud, pits, puddles, or steps. Each robot is assumed to only know the direction of its destination and is equipped with simple local sensing and control capabilities, specifically to enable the unit to move towards the goal while bypassing surrounding robots. As shown in Fig.2,robots initially deployed into the unknown environment may become stuck at the boundaries of the impassable zones. Robots deployed subsequently bypass these stuck robots while continuing towards the goal. By following the boundary paths created by the stuck robots, some robots eventually navigate through the unknown environment and reach the goal. We refer to this proposed method as BYCOMS (BYpassing COmpanions Method for Swarm robots navigation). The key feature of this approach is that it considers the fact that robots get stuck in an unknown environment as an inevitable eventuality, and it is only viable in a multi-robot swarm system. Moreover, each robot programmed based on the proposed method has the significant advantage of not requiring any environmental sensing, detection capabilities to evaluate whether it is stuck or a peer robot is stuck, or even inter-robot complicated communication. Conventional studies of swarm robot systems have shown that task efficiency improves with an increase in the number of robots. However, this also introduces challenges such as higher communication loads, synchronization issues, and increased coordination complexity[11,15,16]. In contrast, the proposed algorithm avoids these complications by not requiring complex adjustments when scaling up the number of robots. Instead, it directly enhances the task accomplishment rate, enabling robots to navigate more complex and unknown environments effectively. In related work of this study, prior research on the bug algorithm has mathematically proven the feasibility of a robot reaching its goal by following the edge of an obstacle[6,7,17];however, this approach assumes that the robot can sense the side of the obstacle and move along it to detect the perimeter. This differs from the capabilities defined for the robots in this study. Furthermore, in this study, areas that robots should avoid, such as walls or obstacles, are more broadly defined as impassable zones where the robot becomes stuck and immobile, thereby addressing a more generalized navigation problem. Additionally, there is research that utilizes robots that are sacrificed by falling into pits or off ledges to achieve the cooperative traversal of a swarm with simple control[18]. However, no mathematical proof has been provided regarding the feasibility of the navigation system ability in enabling the robot to reach its goal.

First, we formulate the swarm robot navigation problem and mathematically demonstrate the goal reachability of swarm robots using the BYCOMS method. Subsequently, we simulate the proposed method by representing the robots’ avoidance behavior as movement along a virtual potential field created by surrounding robots[19,20]. Thereafter, we examine two aspects through simulation: changes in the avoidance radius of robots and the probability of reaching the goal and robustness to noise in local sensing. Finally, we employ sound waves as the physical quantity to create the potential field and develop robots that navigate according to the sound field using speakers and microphones[21,22,23]. Through the experiments, we demonstrate the practical feasibility of our proposed method. The structure of this paper is organized as follows. SectionIIdiscusses the problem setting of swarm robot navigation in unknown environments and introduces the proposed algorithm. SectionIIImathematically proves the goal reachability of robots based on the proposed method. SectionIVdescribes the implementation of the proposed algorithm based on the modification of a virtual potential field. In SectionV,we evaluate the performance of swarm robot navigation through numerical simulations. SectionVIpresents the robot implementation using sound fields and examines the feasibility of swarm robot navigation. Finally, SectionVIIprovides a summary of the study and discusses the scope for future research.

Refer to caption
Figure 1:Diagram of problem definition for unknown environment navigation. The robot moves from the start point to the goal on a 2D plane where several areas through which the robot cannot move (impassable zones) randomly. However, we assume the existence of at least one path from the start point to the goal. Note that the robot has no prior awareness of the impassable zones.
Refer to caption
Figure 2:Schematic diagram of the proposed algorithm, BYCOMS (BYpassing COmpanions Method for Swarm robots navigation). The robots move toward the goal one at a time. The first robot gets stuck at the boundary of the impassable zone, and the following robots bypass the stuck robot and head toward the goal.

IIProposal of BYCOMS

First, we outline the problem setting of swarm robot navigation in unknown environments addressed in this study and provide an overview of the proposed navigation method.

II-AProblem definition and control objective

Refer to caption
Figure 3: Schematic diagram of the mathematical formulation of the guidance problem. In a 2D plane, the start point is denoted asS𝑆Sitalic_S,the goal asG𝐺Gitalic_G,and the impassable zone for roboti𝑖iitalic_ias a closed regionRi(i=1,,n)subscript𝑅𝑖𝑖1𝑛R_{i}~{}(i=1,\cdots,n)italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_i = 1, ⋯, italic_n ).The position of roboti(i=1,,N)𝑖𝑖1𝑁i~{}(i=1,\cdots,N)italic_i ( italic_i = 1, ⋯, italic_N )is represented byrisubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT,and when roboti𝑖iitalic_igets stuck, it generates a circular closed region with radiusϵitalic-ϵ\epsilonitalic_ϵ,denoted asOisubscript𝑂𝑖O_{i}italic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.The path that a robot can take from the start to the goal is represented byQ𝑄Qitalic_Q,while the pathPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTis the route for roboti𝑖iitalic_ithat avoids passing through the regionsOi1,Oi2,subscript𝑂𝑖1subscript𝑂𝑖2O_{i-1},O_{i-2},\cdotsitalic_O start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT italic_i - 2 end_POSTSUBSCRIPT, ⋯,generated by the previous robots.
Refer to caption
(a) Relationship between the passable pathQ𝑄Qitalic_Qfrom the start point to the goal, the minimum distancel𝑙litalic_lfrom the stuck robot, and the robot’s circumferential radiusϵitalic-ϵ\epsilonitalic_ϵ.By settingϵitalic-ϵ\epsilonitalic_ϵsuch thatϵ<litalic-ϵ𝑙\epsilon<litalic_ϵ < italic_l,the pathQ𝑄Qitalic_Qis maintained.
Refer to caption
(b) When roboti𝑖iitalic_igets stuck, a non-zero length boundary lineC𝐶Citalic_Cis newly included inO𝑂Oitalic_O.
Refer to caption
(c) If the robots continue to get stuck, the boundaries ofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTwill all be encompassed withinO1,O2,subscript𝑂1subscript𝑂2O_{1},O_{2},\cdotsitalic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯by a finite number of robots.
Figure 4:Overview charts in BYCOMS reachability considerations

Figure3illustrates the outline of the navigation problem considered in this study. As shown in Fig.3,we consider the navigation ofn𝑛n\in\mathbb{N}italic_n ∈ blackboard_Nrobots in a two-dimensional planeW2𝑊superscript2W\in\mathbb{R}^{\mathrm{2}}italic_W ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPTwithin an unknown environment. The planeW𝑊Witalic_Wcontains a finite number of static closed zonesR1,R2,,Rn(n)subscript𝑅1subscript𝑅2subscript𝑅𝑛𝑛R_{1},R_{2},\cdots,R_{n}(n\in\mathbb{N})italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_n ∈ blackboard_N )with finite perimeters, within which the robots cannot move (hereafter referred to as impassable zones). InW𝑊Witalic_W,there exist two points outside the impassable zones: a start pointS=[xs,ys]T𝑆superscriptsubscript𝑥𝑠subscript𝑦𝑠TS=[x_{s},y_{s}]^{\mathrm{T}}italic_S = [ italic_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, italic_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPTand a goalG=[xg,yg]T𝐺superscriptsubscript𝑥𝑔subscript𝑦𝑔TG=[x_{g},y_{g}]^{\mathrm{T}}italic_G = [ italic_x start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT, italic_y start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT. At the beginning of navigation, it is assumed that at least one pathQ𝑄Qitalic_Qfrom the start to the goal does not pass through the closed zonesR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

Here, the control objective is for at least one of theN𝑁Nitalic_Nrobots starting fromS𝑆Sitalic_Sto reach the goalG𝐺Gitalic_Gwithin a finite time. We set the position of a roboti(i=1,2,,N)𝑖𝑖12𝑁i~{}(i=1,2,\cdots,N)italic_i ( italic_i = 1, 2, ⋯, italic_N )at timet𝑡titalic_tasri(t)=[xi(t),yi(t)]Tsubscript𝑟𝑖𝑡superscriptsubscript𝑥𝑖𝑡subscript𝑦𝑖𝑡Tr_{i}(t)=[x_{i}(t),y_{i}(t)]^{\mathrm{T}}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) = [ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ), italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT,and then the control objective is formulated as follows:

i:limt𝒓i(t)𝑮=0.:𝑖subscript𝑡normsubscript𝒓𝑖𝑡𝑮0\displaystyle\exists i~{}:\lim_{t\to\infty}\|\bm{r}_{i}(t)-\bm{G}\|=0.∃ italic_i: roman_lim start_POSTSUBSCRIPT italic_t → ∞ end_POSTSUBSCRIPT ∥ bold_italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) - bold_italic_G ∥ = 0. (1)

II-BRobot algorithm

Subsequently, we describe the proposed algorithm. Each robot is sequentially placed one at a time at the start location with a sufficiently large time interval, and then begins the navigation. The robots have the following two functions:

1. Generate a path from the current location to the goal in real-time, avoiding a circular zone with radiusϵitalic-ϵ\epsilonitalic_ϵ(circumferential radius) centered at the positions of all other robots.

2. Move along the path generated in the above function. Here, the circular zones with the radiusϵitalic-ϵ\epsilonitalic_ϵgenerated by each robot are represented as virtual potential fields. Specifically, each robot generates a path to the goal that avoids the virtual potential fields created by surrounding robots and moves along this path. The specific implementation of the algorithm based on virtual potential fields is explained in SectionIV-C.

Thereafter, we explain the overall algorithm for the system. When the robot’s position is withinR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT,the robot gets stuck and creates a circular closed region of radiusϵitalic-ϵ\epsilonitalic_ϵ. As shown in Fig.3,thei𝑖iitalic_i-th robot,risubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT,obtains the coordinates of other robots and the goal, and generates a pathPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTto the goal that avoids circular closed zonesO1,O2,,Oi1subscript𝑂1subscript𝑂2subscript𝑂𝑖1O_{1},O_{2},\cdots,O_{i-1}italic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_O start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPTcentered on the coordinates of other robots, with the circumferential radiusϵitalic-ϵ\epsilonitalic_ϵ. Because the robots cannot observe the terrain, they initially gets stuck on the path to the goal. As this process continues with multiple robots, the impassable zones are filled by stuck robots, allowing subsequent robots to bypass the earlier robots. Consequently, the robots can eventually avoid the impassable zones and reach the goal.

IIIProof of goal reachability

We mathematically prove the reachability of the robot’s goal when the proposed method is applied. Based on the above assumptions, we prove the following propositions:

[Proposition]

At least one of theN𝑁Nitalic_Nrobots in a swarm based on BYCOMS can reach the goal within a finite time in any unknown environment.

[Proof]

From the assumptions above, we can consider that only one robot is moving at any particular time. The first roboti=1𝑖1i=1italic_i = 1generates and moves along a pathP1subscript𝑃1P_{1}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTas there are no other robots in the environment. For the roboti𝑖iitalic_ithat can identify a pathPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT,the robot could potentially generate one of two kinds of paths: whenPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTdoes not intersect withR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTand when it does. First, ifPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTdoes not intersect withR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT,roboti𝑖iitalic_ican reach the goal. IfPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTintersects withR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT,the roboti𝑖iitalic_igets stuck and stops on the boundary ofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTat the point where the pathPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTfrom the start point is shortest. Becauserisubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTis on the boundary ofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT,settingϵitalic-ϵ\epsilonitalic_ϵsuch thatϵ<litalic-ϵ𝑙\epsilon<litalic_ϵ < italic_l,wherel𝑙litalic_lis the minimum distance betweenR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTandQ𝑄Qitalic_Q,ensures thatQ𝑄Qitalic_Qdoes not pass throughO1,O2,,Oisubscript𝑂1subscript𝑂2subscript𝑂𝑖O_{1},O_{2},\cdots,O_{i}italic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT(Fig.4). Therefore, roboti𝑖iitalic_ican always generate a pathPisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTunder this condition becauseQ𝑄Qitalic_Qexists as a path.

When roboti𝑖iitalic_igets stuck, a non-zero length boundaryC𝐶Citalic_CofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTis added toO1,O2,,Oisubscript𝑂1subscript𝑂2subscript𝑂𝑖O_{1},O_{2},\cdots,O_{i}italic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT(Fig.4) If the robots sequentially deployed from the start point continue to get stuck, the total boundary length ofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTis finite; thus a finite number of robots cover the entire boundary ofR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPTwithinO1,O2,subscript𝑂1subscript𝑂2O_{1},O_{2},\cdotsitalic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯. We refer to this state as the comprehensive state (Fig.4). When the system is in the comprehensive state, if a path to the goal exists that does not pass throughO1,O2,subscript𝑂1subscript𝑂2O_{1},O_{2},\cdotsitalic_O start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_O start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯,this path does not intersect withR1,R2,,Rnsubscript𝑅1subscript𝑅2subscript𝑅𝑛R_{1},R_{2},\cdots,R_{n}italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT,allowing the robot to reach the goal without getting stuck. Because at leastQ𝑄Qitalic_Qexists as a path in this state, the robot can reach the goal. From the proof above, we can conclude that under the given conditions, the proposed navigation method ensures that one robot can reach the goal in any terrain.

IVSimulation of BYCOMS

In this section, we implement the proposed algorithm based on the modification of potential fields and verify the feasibility of navigating unknown environments through simulations. Additionally, we investigate the impact of the robot’s circumferential radius parameter on traversal performances, as well as the robustness against sensor noises.

IV-ASimulation environment

An example of the navigation environment is shown in Fig.5. The simulations are conducted using Python 3. The entire environment is a square on a 2D plane with sides of length 60 units. The environment is divided into a60×60606060\times 6060 × 60grid, with each cell set to either a passable or impassable state for the robots. In Fig.5,the light blue cells represent areas where robots cannot move, circles represent robots, the cross mark is the start point, and the star represents the goal. Robots are treated as points, and robot-to-robot contact is not considered. Each robot moves while generating a potential field. The purple lines represent the contours of the potential fields created by the robots. If the robot enters a light blue cell, it is considered stuck and immobilized.

The start point and goal are positioned diagonally at coordinates[15.5,15.5]Tsuperscript15.515.5T[15.5,15.5]^{\mathrm{T}}[ 15.5, 15.5 ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPTand[44.5,44.5]Tsuperscript44.544.5T[44.5,44.5]^{\mathrm{T}}[ 44.5, 44.5 ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT,respectively. After a robot gets stuck, a new robot is placed at the starting position, facing the goal. The simulation ends when the robot’s center coordinates are within the robot’s radius from the goal, indicating the robot has reached the goal, or after10000s10000s10000\textrm{s}10000 s. The simulation calculation period is set to0.1s0.1s0.1\textrm{s}0.1 s,and the value of the grid width is1111.

Refer to caption
Figure 5: Simulation enviroment for unknown environment navigation. The simulation is conducted on a 60x60 grid in a two-dimensional plane. The start point is marked by an cross, the goal by a star, and the robots are represented as circles. The purple lines indicate potential contours, and the blue areas represent the robots’ impassable zones.

IV-BGeneration of unknown environments

To generate the terrain, we use Perlin noise, which is commonly used for creating natural and random terrain representations[24]. Perlin noise generates a two-dimensional scalar functionf(x,y)𝑓𝑥𝑦f(x,y)italic_f ( italic_x, italic_y )defined on thexy𝑥𝑦xyitalic_x italic_yplane. Using a uniformly distributed random real numbera𝑎aitalic_ain the range of11-1- 1to1111,each grid is classified as either a traversable or non-traversable area based on the value off𝑓fitalic_fat the center of the grid. Specifically, if the value off𝑓fitalic_fat the center of a grid is greater thana𝑎aitalic_a,the grid is designated as a non-traversable area. Conversely, if the value off𝑓fitalic_fis less than or equal toa𝑎aitalic_a,the grid is designated as a traversable area. However, a10×10101010\times 1010 × 10square zone centered around the start point and goal positions is always designated as a traversable area to ensure the presence of a viable path. To verify the existence of a path from the start point to the goal that only passes through traversable areas, we use the A* algorithm[25]. Only terrains where such a path exists are utilized for the simulation.

IV-CImplementation of BYCOMS based on virtual potential fields

We implement the proposed algorithm inspired by the bug algorithm[6]. The robots employ global sensing to determine the direction to the goal and local sensing to evaluate the strength and gradient of the potential field at their current location. Each robot generates a physical quantity with wave-like properties, such as light, sound, or radio waves, with its center as the source. This allows the robot to form a potential field and sense the potential fields created by other robots, guiding its movement. The strength of the potential field decays according to ther2superscript𝑟2r^{2}italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPTlaw with respect to the distancer𝑟ritalic_rfrom the potential source. Specifically, we define the potential field strength for the robot positioned at[xr,yr]Tsuperscriptsubscript𝑥𝑟subscript𝑦𝑟T[x_{r},y_{r}]^{\mathrm{T}}[ italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, italic_y start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPTas follows:

g(x,y)=c(xxr)2+(yyr)2,𝑔𝑥𝑦𝑐superscript𝑥subscript𝑥𝑟2superscript𝑦subscript𝑦𝑟2g(x,y)=\frac{c}{(x-x_{r})^{2}+(y-y_{r})^{2}},italic_g ( italic_x, italic_y ) = divide start_ARG italic_c end_ARG start_ARG ( italic_x - italic_x start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_y - italic_y start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG, (2)

wherec𝑐citalic_cis a constant parameter. In the numerical simulations described in SectionIV,the constant parameterc𝑐citalic_cis set to a value of1111. Moreover, each robot has a certain thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPTfor the intensity of the potential. It evaluates the distance from surrounding robots by comparing the potential intensityg𝑔gitalic_git senses on the spot with this threshold value. Specifically, the thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPTadjusts the circumference radiusϵitalic-ϵ\epsilonitalic_ϵthat each robot uses to bypass other robots.

Refer to caption
Figure 6: Robot algorithm based on the potential fields. The robots transition between two behavior modes: Mode 1 and Mode 2. In Mode 1, the robot moves straight toward the goal. In Mode 2, the robot moves in the tangential direction relative to the gradient of the potential field generated by a stuck robot, choosing the direction closer to the goal out of the two possible options.

Fig.6shows an overview of the robot’s operation. The robot dynamically switches between two movement modes: mode 1 and mode 2. In mode 1, the robot moves directly in the direction of the goal, while in mode 2, it moves along the contour lines of the surrounding potential field. In mode 2, the robot adjusts its movement to align with the fixed thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPTof the measured potential strength, moving perpendicular to the potential gradient. By setting this threshold below a certain value, the robot maintains a distance from other robots that at least equals the robot’s radius, thereby avoiding collisions. This distance is referred to as the circumferential radius. To simplify the simulation implementation, we assume that in mode 2, the robot moves directly perpendicular to the gradient. Additionally, there are two possible perpendicular directions to the gradient: clockwise and counterclockwise. In this study, the robot is always configured to choose the direction with the smaller angle relative to the goal direction. Hence, the robot’s behavior consists of three types of movements: moving straight, turning clockwise, and turning counterclockwise. When the angle difference between the goal direction and the robot’s current direction is less than or equal toπ/36rad𝜋36rad\pi/36\text{rad}italic_π / 36 rad,the robot moves straight at a speed of1/s1/s1\text{/s}1 /s. Otherwise, the robot turns in the direction that reduces the angle with a turning speed ofπ/6rad/s𝜋6rad/s\pi/6\text{rad/s}italic_π / 6 rad/s.

The condition for switching from mode 1 to mode 2 is when the strength of the potential field at the current position of the moving robotg𝑔gitalic_greaches the thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT,and the angle differenceθfgsubscript𝜃𝑓𝑔\theta_{fg}italic_θ start_POSTSUBSCRIPT italic_f italic_g end_POSTSUBSCRIPTbetween the goal direction and potential field gradient direction satisfiesθfgπ/2radsubscript𝜃𝑓𝑔𝜋2rad\theta_{fg}\leq\pi/2\textrm{rad}italic_θ start_POSTSUBSCRIPT italic_f italic_g end_POSTSUBSCRIPT ≤ italic_π / 2 rad. This condition indicates that the mobile robot avoids the stuck robot when it has gauged that the distance to the stuck robotd𝑑ditalic_dis less than or equal to the circumferential radiusϵitalic-ϵ\epsilonitalic_ϵ,and it is in the direction of the goal. On the other hand, the condition for switching from mode 2 to mode 1 is when the angle differenceθrgsubscript𝜃𝑟𝑔\theta_{rg}italic_θ start_POSTSUBSCRIPT italic_r italic_g end_POSTSUBSCRIPTbetween the robot’s direction and goal direction satisfiesθrg<π/2radsubscript𝜃𝑟𝑔𝜋2rad\theta_{rg}<\pi/2\textrm{rad}italic_θ start_POSTSUBSCRIPT italic_r italic_g end_POSTSUBSCRIPT < italic_π / 2 radand the angle differenceθfgsubscript𝜃𝑓𝑔\theta_{fg}italic_θ start_POSTSUBSCRIPT italic_f italic_g end_POSTSUBSCRIPTbetween the potential field gradient direction and goal direction satisfiesθfg>π/2radsubscript𝜃𝑓𝑔𝜋2rad\theta_{fg}>\pi/2\textrm{rad}italic_θ start_POSTSUBSCRIPT italic_f italic_g end_POSTSUBSCRIPT > italic_π / 2 rad. This is to ensure that the moving robot avoids the potential field and heads towards the goal.

Refer to caption
(a)Snapshots of successful navigation of an unknown environment
Refer to caption
(b)Snapshots of unsuccessful navigation of an unknown environment
Figure 7:Results of unknown environment navigation based on the proposed method

IV-DVerification

An example of the results is shown in Fig.7. In this simulation, the threshold for the robot’s potential strength isgth=1subscript𝑔𝑡1g_{th}=1italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT = 1and the minimum path width is3333. From Fig.7,it is evident that multiple robots getting stuck creates impassable zones represented by the potential field, allowing subsequent robots to reach the goal. This demonstrates that there are conditions under which the robots can successfully navigate unknown environments using potential fields. The movie of this simulation can be viewed in Movie1.mp4 in the Supplemental Materials. However, as shown in Fig.7,there are also instances where the robots fail to reach the goal. The threshold for the robot’s potential strength isgth=1subscript𝑔𝑡1g_{th}=1italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPT = 1and the minimum path width is2222. Therefore, the robots may not be capable of handling all terrains under the given conditions. Multiple cases where navigation failed occurred when the narrow paths were blocked by the potential field created by the robot swarm itself. Specifically, the successful arrival of the robot at the goal is significantly influenced by the circumferential radius. Therefore, in SectionV-A,we examine how the circumferential radius and terrain affect the probability of successful navigation. These simulation videos can be viewed in the Supplemental Materials (Movie1.mp4 and Movie2.mp4).

VSimulation analysis

In this section, we investigate the effects of the minimum path width of the movable area from the start point to the goal and the radius of the circumference of the potential field generated by the robot on the guidance achievement rate. We also perform simulation validation of the robustness of the guidance to noise in the estimated gradient direction of the potential field.

V-AEffect of circumferential radius and minimum path width on navigation performance

As described in SectionIV-C,the robot’s circumferential radiusϵitalic-ϵ\epsilonitalic_ϵis adjusted by a constant thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPTof potential strength. By setting the potential field strength thresholdgthsubscript𝑔𝑡g_{th}italic_g start_POSTSUBSCRIPT italic_t italic_h end_POSTSUBSCRIPTto1111,1/1.521superscript1.521/1.5^{2}1 / 1.5 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/221superscript221/2^{2}1 / 2 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/2.521superscript2.521/2.5^{2}1 / 2.5 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/321superscript321/3^{2}1 / 3 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/3.521superscript3.521/3.5^{2}1 / 3.5 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/421superscript421/4^{2}1 / 4 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,1/4.521superscript4.521/4.5^{2}1 / 4.5 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,and1/521superscript521/5^{2}1 / 5 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,the circumferential radiusϵitalic-ϵ\epsilonitalic_ϵwas varied to be 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, and 5 times the grid width for simulations. Additionally, for each terrain with minimum path widths of 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, and 5 times the grid width, 100 different terrains were generated. The percentage of terrains where the robots successfully reached the goal was determined for each circumferential radius.

The simulation results are shown in Fig.8. The horizontal axis represents the multiplier of the circumferential radius relative to the grid width, and the vertical axis represents the multiplier of the minimum path width relative to the grid width. Each cell indicates the success rate. Fig.8shows that the probability of reaching the goal is larger when the minimum path width (value on the vertical axis) is larger than the robot’s radius of circumference (value on the horizontal axis), while the probability is smaller when the minimum path width is smaller than the robot’s radius of circumference. Specifically, we determine that the probability of reaching the goal tends to depend on the relationship between the value of the minimum path width and the value of the radius of circumference of the robot. This follows from the fact that when the radius of the circumference of the robot is larger than the minimum path width, the potential field generated by the stuck robot blocks the path to the goal. As described in SectionIII,the robot can be guaranteed to reach the goal by setting the robot’s radius of circumferenceϵitalic-ϵ\epsilonitalic_ϵto a value smaller than the minimum path widthl𝑙litalic_lof the path to the goal in order to achieve successful navigation. Thus, we have demonstrated the efficacy of the implementation of BYCOMS with potential fields.

Refer to caption
Figure 8:Simulation results on the effect of the circumferential radius and minimum path width on the probability of arrival

V-BRobustness to local sensing noise

We examined the behavior of the proposed system when noise was added to the measurements of the potential field’s strength and gradient direction. In order to introduce noise in the potential field’s strength, a uniformly random value in the range of0.80.80.80.8to1.21.21.21.2was multiplied by the measured value to obtain the new measurement. To introduce noise in the gradient direction of the potential field, a uniformly random value in the range ofπ/6𝜋6-\pi/6- italic_π / 6toπ/6rad𝜋6rad\pi/6\textrm{rad}italic_π / 6 radwas added to the gradient direction to obtain the new direction. The terrain used was the same as that described in SectionV-A. The reachability probabilities considering the sensing noise are shown in Fig.9. In particular, we can observe that the probability of reaching the goal depends on the relationship between the radius of circumference of the robot and the minimum path width of the goal path, as well as the result without considering noise (Fig.8). Compared to the results shown in Fig.8,the probability of reaching the goal does not change significantly under most conditions. The increase in the probability of reaching the goal with noise can be attributed to the randomness of the noise having a positive effect on the probability of reaching the goal by chance. Thus, the simulation results demonstrate the robustness of BYCOMS against sensing noise.

Refer to caption
Figure 9:Simulation results with noise in the observed values for the effect of the circumference radius and minimum path width on the probability of arrival

VIExperimental verification of BYCOMS based on acoustic fields

In this section, we conduct navigation experiments with a swarm of robots to verify whether BYCOMS has the ability to traverse unknown environments in the real world. We developed robots that express the potential field through the intensity of sound, generate acoustic fields, and sense and move along the gradients of these fields.

VI-ADevelopment of acoustic field based robot

Fig.10shows an overview of the developed robot. The robot consists of an upper microphone array for sound field gradient sensing and a lower crawler unit for movement. The dimensions of the robot are as follows:213mm213mm213\textrm{mm}213 mmin length,215mm215mm215\textrm{mm}215 mmin width, and117.5mm117.5mm117.5\textrm{mm}117.5 mmin height. The microphone array is unitized in an acrylic plate case with a diameter of256mm256mm256\textrm{mm}256 mm,centered around the middle of the robot. The weight of the robot is1.78kg1.78kg1.78\textrm{kg}1.78 kg. The robot is controlled by an ESP32-WROOM-32E (Espressif Systems) microcontroller. In addition, it is equipped with motors and a crawler unit (Devastator Tank, DFROBOT) for movement, a motor driver (ROB-14450, SparkFun), and a mobile battery (DE-C17L-5000, Elecom). To generate the sound field, the robot has a speaker (S0266, DAYTON AUDIO) connected to a sound signal amplifier module (BOB-11044, SparkFun) positioned at the center on the top of the robot. For gradient measurement, it is equipped with six condenser microphones (BOB-12758, SparkFun) placed at equal intervals on a circle with a radius of100mm100mm100\textrm{mm}100 mm. The structural components of the robot are made of3mm3mm3\textrm{mm}3 mmlaser-cut acrylic sheets and 3D printed PLA parts. Additionally, the robot has five infrared reflective markers on the top, which allow an optical motion capture system (Optitrack) to log the robot’s position and orientation.

Refer to caption
(a)Diagonal view
Refer to caption
(b)Control system
Figure 10:Overview of the developed robot

VI-BMeasuring the gradient direction of the sound field

In the proposed method using acoustic fields, robots measure the gradient direction of the acoustic field at their current location. In this experiment, we adopt a method of measuring the gradient direction by placing multiple microphones on a circumference and using the differences in their measured values. Consider a case where 6 microphonesM1,M2,,M6subscript𝑀1subscript𝑀2subscript𝑀6M_{1},M_{2},\cdots,M_{6}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_M start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPTare evenly spaced on a circle of radiusr𝑟ritalic_rthat shares its center with the robot. We employxy𝑥𝑦xyitalic_x italic_ycoordinates where the center of the robot is considered the origin, andM1subscript𝑀1M_{1}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTis at(r,0)𝑟0(r,0)( italic_r, 0 ). Let the measured sound intensities at each microphone beV1,V2,,V6subscript𝑉1subscript𝑉2subscript𝑉6V_{1},V_{2},\cdots,V_{6}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, ⋯, italic_V start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT. The sound intensity at the center of the robot is estimated as the average of all microphone measurements, expressed by the following equation:

Vave=n=16Vn6.subscript𝑉𝑎𝑣𝑒superscriptsubscript𝑛16subscript𝑉𝑛6V_{ave}=\sum_{n=1}^{6}\frac{V_{n}}{6}.italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT divide start_ARG italic_V start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG start_ARG 6 end_ARG. (3)

Moreover, let𝒎𝒏subscript𝒎𝒏\bm{m_{n}}bold_italic_m start_POSTSUBSCRIPT bold_italic_n end_POSTSUBSCRIPTbe the position vector of then𝑛nitalic_n-th microphone relative to the center of the robot. The estimated gradient of the acoustic field obtained by the robot is expressed by the following equation:

𝒈𝒓𝒂𝒅=n=16(VnVave)𝒎𝒏.𝒈𝒓𝒂𝒅superscriptsubscript𝑛16subscript𝑉𝑛subscript𝑉𝑎𝑣𝑒subscript𝒎𝒏\bm{grad}=\sum_{n=1}^{6}(V_{n}-V_{ave})\bm{m_{n}}.bold_italic_g bold_italic_r bold_italic_a bold_italic_d = ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT ( italic_V start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPT ) bold_italic_m start_POSTSUBSCRIPT bold_italic_n end_POSTSUBSCRIPT. (4)

The robot normalizes this𝒈𝒓𝒂𝒅𝒈𝒓𝒂𝒅\bm{grad}bold_italic_g bold_italic_r bold_italic_a bold_italic_dand uses only the direction of the acoustic field gradient as the estimate.

VI-CRobot algorithm

The overview of the robot control method is shown in Fig.11. As described in SectionIV,the robot is implemented with mode 1, which moves directly to the goal, and mode 2, which moves along the sound field. In mode 1, the robot uses the angle differenceθ1(π<θ1π)subscript𝜃1𝜋subscript𝜃1𝜋\theta_{1}(-\pi<\theta_{1}\leq\pi)italic_θ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( - italic_π < italic_θ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≤ italic_π )between the direction of the goal and its own direction, and the control input isu=Kpθ1𝑢subscript𝐾𝑝subscript𝜃1u=K_{p}\theta_{1}italic_u = italic_K start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The robot was controlled by applying a voltage ofvm+usubscript𝑣𝑚𝑢v_{m}+uitalic_v start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT + italic_uto the left motor andvmusubscript𝑣𝑚𝑢v_{m}-uitalic_v start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT - italic_uto the right motor, withvmsubscript𝑣𝑚v_{m}italic_v start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPTas the reference value of the voltage applied to the motors. In mode 2, the robot measures the gradient direction of the sound field and sets the target direction as the direction rotated byπ/2𝜋2\pi/2italic_π / 2from the gradient. It calculates the angle differenceθ2(π<θ2π)subscript𝜃2𝜋subscript𝜃2𝜋\theta_{2}(-\pi<\theta_{2}\leq\pi)italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( - italic_π < italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ italic_π )between this target direction and its own direction. Additionally, the target value of the magnitude of the microphone measurements is set asVtargetsubscript𝑉𝑡𝑎𝑟𝑔𝑒𝑡V_{target}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r italic_g italic_e italic_t end_POSTSUBSCRIPT,and the difference betweenVtargetsubscript𝑉𝑡𝑎𝑟𝑔𝑒𝑡V_{target}italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r italic_g italic_e italic_t end_POSTSUBSCRIPTand average of all microphone measurementsVavesubscript𝑉𝑎𝑣𝑒V_{ave}italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPTis calculated asVe=VaveVtargetsubscript𝑉𝑒subscript𝑉𝑎𝑣𝑒subscript𝑉𝑡𝑎𝑟𝑔𝑒𝑡V_{e}=V_{ave}-V_{target}italic_V start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPT - italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r italic_g italic_e italic_t end_POSTSUBSCRIPT. Using these values, the control input isu=Kp(θ2+αVe)𝑢subscript𝐾𝑝subscript𝜃2𝛼subscript𝑉𝑒u=K_{p}(\theta_{2}+\ Alpha V_{e})italic_u = italic_K start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_α italic_V start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ).α𝛼\ Alphaitalic_αis the weighting coefficient forθ2subscript𝜃2\theta_{2}italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTandVesubscript𝑉𝑒V_{e}italic_V start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT. As in mode 1, the robot was controlled by applying a voltage ofvm+usubscript𝑣𝑚𝑢v_{m}+uitalic_v start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT + italic_uto the left motor andvmusubscript𝑣𝑚𝑢v_{m}-uitalic_v start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT - italic_uto the right motor. The switching conditions between the two modes are as follows. The condition for switching from mode 1 to mode 2 isVave>Vtargetsubscript𝑉𝑎𝑣𝑒subscript𝑉𝑡𝑎𝑟𝑔𝑒𝑡V_{ave}>V_{target}italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPT > italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r italic_g italic_e italic_t end_POSTSUBSCRIPTand the angle between the direction of the goal and𝒈𝒓𝒂𝒅𝒈𝒓𝒂𝒅\bm{grad}bold_italic_g bold_italic_r bold_italic_a bold_italic_dis less thanπ/2𝜋2\pi/2italic_π / 2. The condition for switching from mode 2 to mode 1 is the angle between the direction of the robot and the goal is less thanπ/2𝜋2\pi/2italic_π / 2while that between𝒈𝒓𝒂𝒅𝒈𝒓𝒂𝒅\bm{grad}bold_italic_g bold_italic_r bold_italic_a bold_italic_dand the goal direction is greater thanπ/2𝜋2\pi/2italic_π / 2,or whenVavesubscript𝑉𝑎𝑣𝑒V_{ave}italic_V start_POSTSUBSCRIPT italic_a italic_v italic_e end_POSTSUBSCRIPTsignificantly decreases below the lower threshold valueVminsubscript𝑉𝑚𝑖𝑛V_{min}italic_V start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT. The latter is set to account for situations where𝒈𝒓𝒂𝒅𝒈𝒓𝒂𝒅\bm{grad}bold_italic_g bold_italic_r bold_italic_a bold_italic_dcannot be measured because the robot has moved too far from the sound source in mode 2. The parameters for this experiment areKp=100subscript𝐾𝑝100K_{p}=100italic_K start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = 100,α=0.0001𝛼0.0001\ Alpha =0.0001italic_α = 0.0001,Vtarget=22000subscript𝑉𝑡𝑎𝑟𝑔𝑒𝑡22000V_{target}=22000italic_V start_POSTSUBSCRIPT italic_t italic_a italic_r italic_g italic_e italic_t end_POSTSUBSCRIPT = 22000,andVmin=15000subscript𝑉𝑚𝑖𝑛15000V_{min}=15000italic_V start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT = 15000.

In our proposed navigation method, each robot must emit sound while also listening for sound signals from other robots. Theoretically, if all the robots emit the same frequency, the robot’s own sound would be heard equally by all its microphones, thus not affecting the calculation of its gradient direction. However, in practical scenarios, measurement errors might cause the robot’s own sound to interfere with gradient measurement. Additionally, vibrations transmitted through the robot’s structural components could introduce significant noise. Therefore, we vary the sound frequency for each robot in our experiments. Each robot can isolate the sounds emitted by others using fast fourier transform (FFT)[26]. The robot extracts the sound of other robots’ frequencies from the measured sound and uses the sum of their amplitude spectra as the microphone measurements. This processed data is then used to calculate the gradient as described in SectionVI-B.

Refer to caption
Figure 11:Robot control methods in experiments
Refer to caption
Figure 12:Experimental enviroment
Refer to caption
Figure 13:Schematic diagram of the system employed in the experiments

VI-DExperimental environment

We validated the effectiveness of the proposed method in real-world environments through experimental verification with three developed robots. The experimental environment is shown in Fig.12. An acrylic board with reflective markers was placed at the goal. To emulate an unknown environment for the robots, aluminum frames were set up as obstacles on the way to the goal. The later robot starts moving from the starting point after the earlier robot gets stuck on an obstacle. Additionally, each of the three robots emitted sine wave sounds from their speakers at frequencies of224Hz224Hz224\mathrm{Hz}224 roman_H roman_z,320Hz320Hz320\mathrm{Hz}320 roman_H roman_z,and512Hz512Hz512\mathrm{Hz}512 roman_H roman_z,respectively.

The overview of the system controlling the robot swarm is shown in Fig.13. First, the position and orientation of the robots and the position of the goal are measured using the motion capture system and sent to the main PC. On the PC, all the data are processed as topics using Robot Operating System (ROS)[27]. Based on the sensor data obtained by the motion capture system, the direction of the goal from each robot’s perspective is calculated and sent to each robot via WiFi. The robots then move based on the transmitted goal direction data, and the locally sensed sound field gradient. Additionally, the measured sound field gradient data is sent to the main PC, where the data is stored.

VI-EExperimental results

Refer to caption
(a)Snapshots of the behavior of two robots in the navigation
Refer to caption
(b)Snapshots of the measurement data of two robots
Figure 14:Experimental results with two robots
Refer to caption
(a)Snapshots of the behavior of three robots in the navigation
Refer to caption
(b)Snapshots of the measurement data of three robots
Figure 15:Experimental results with three robots

In this study, we conducted two experiments in which the goal was obstructed by two types of obstacles of different lengths. The experimental results are shown in Fig.14and Fig.15. In Fig.14,where a short obstacle was installed, it can be observed that the first robot got stuck on the aluminum frame, while the second robot avoided both the sound field of the first robot and the obstacle, thus reaching the goal. In Fig.15,with a long obstacle installed, the second robot similarly bypassed the first robot, but it also got stuck owing to the presence of an obstacle in its path. However, the third robot, guided by the combined sound fields of the first and second robots, successfully avoided the obstacle and reached the goal.

Fig.14and Fig.15show the positions of the robots and the goal, measured gradient directions, and microphone measurements. Blue dots represent Robot 1, red dots represent Robot 2, green dots represent Robot 3, stars indicate the goal, arrow directions show the measured gradient directions, and arrow lengths represent the average microphone measurements. However, in Fig.15,after Robot 1 got stuck, its position coordinates were mistakenly identified as those of Robot 3. This was owing to the rigid body definition based on the detachment of multiple markers on the robot. From Fig.14and Fig.15,it can be observed that when robots are close to each other, they can measure the direction of each others sound fields. However, when the robots are slightly apart, they do not measure as well. This is probably because the difference in microphone measurements becomes small, and the influence of noise, such as echoes and motor vibrations becomes significant. Consequently, it can be considered that in this experiment, the P control based on the average microphone measurement has a greater influence on the robot movement than the gradient direction. Therefore, the robots based on the sound field were shown to have the capability to traverse unknown environments even in real-world experiments. These experiments videos can be viewed in the Supplemental Materials (Movie3.mp4 and Movie4.mp4).

VIIConclusion

This study proposed a minimal navigation algorithm for a swarm robot system to traverse unknown environments. We mathematically demonstrated that the entire swarm could traverse unknown environments by enabling each robot to generate and follow a path to the goal while bypassing other robots in real-time. We implemented the proposed unknown environment navigation method based on the modification of potential fields in simulations. The simulation analysis results showed that a smaller turning radius increases the success rate, and it is robust to local sensing noise. In addition, we developed a swarm of robots that generate and sense a sound field using speakers and microphone arrays, estimate the sound field gradient, and perform avoidance maneuvers relative to surrounding robots. The results of the swarm robot navigation experiments demonstrated that the proposed method is feasible in real-world scenarios. A noteworthy aspect of this study is that it demonstrated the potential for the entire system to adaptively traverse unknown environments by leveraging the principle of strength in numbers, even if each robot does not possess high sensing capabilities, computational power, or environmental traversal performance. This proposed method may serve as a standard for swarm robot navigation in various environments. However, it is also true that swarm robot navigation in the real world is not straightforward. This study assumes an infinite number of robots, which is unrealistic owing to development costs and time constraints. Additionally, it assumes the constant existence of a viable path from the starting point to the goal, which may not always be the case. These issues are closely related to how much we enhance the performance of individual robots. By improving the software and hardware functions of each robot, we can reduce the number of robots sacrificed;thus, reducing the necessary number of robots. Future research will clarify the relationship between the number of robots needed to achieve system-wide navigation and the functions provided to each robot, based on the proposed method. Moreover, we plan to develop methods to achieve more efficient goal attainment by temporally varying the information shared among robots in BYCOMS and introducing individual differences among the robots.

Acknowledgments

This research was supported in part by grants-in-aid for JSPS KAKENHI Grant Number JP22K14277, JP24H01439, and JST Moonshot Research and Development Program JPMJMS2032 (Innovation in Construction of Infrastructure with Cooperative AI and Multi Robots Adapting to Various Environments).

References

  • [1] K. Nagatani, M. Abe, K. Osuka, P. jo Chun, T. Okatani, M. Nishio, S. Chikushi, T. Matsubara, Y. Ikemoto, and H. Asama, “Innovative technologies for infrastructure construction and maintenance through collaborative robots based on an open design approach,”Advanced Robotics,vol. 35, pp. 715–722, 2021. [Online]. Available: https:// tandfonline /doi/abs/10.1080/01691864.2021.1929471
  • [2] S. Thrun and Y. Liu, “Multi-robot slam with sparse extended information filers,” inRobotics Research. The Eleventh International Symposium: With 303 Figures.Springer, 2005, pp. 254–266.
  • [3] J. Ng and T. Bräunl, “Performance comparison of bug navigation algorithms,”Journal of Intelligent and Robotic Systems,vol. 50, pp. 73–84, 2007.
  • [4] F. B. Malavazi, R. Guyonneau, J.-B. Fasquel, S. Lagrange, and F. Mercier, “Lidar-only based navigation algorithm for an autonomous agricultural robot,”Computers and electronics in agriculture,vol. 154, pp. 71–79, 2018.
  • [5] H. Durrant-Whyte and T. Bailey, “Simultaneous localization and mapping: part i,”IEEE Robotics & Automation Magazine,vol. 13, no. 2, pp. 99–110, 2006.
  • [6] V. J. Lumelsky and A. A. Stepanov, “Path-planning strategies for a point mobile automaton moving amidst unknown obstacles of arbitrary shape,” Algorithmica,vol. 2, no. 1, pp. 403–430, 1987.
  • [7] S. Sarid, A. Shapiro, and Y. Gabriely, “Mrbug: A competitive multi-robot path finding algorithm,” inProceedings 2007 IEEE International Conference on Robotics and Automation,2007, pp. 877–882.
  • [8] N. Atanasov, J. Le Ny, K. Daniilidis, and G. J. Pappas, “Decentralized active information acquisition: Theory and application to multi-robot slam,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).IEEE, 2015, pp. 4775–4782.
  • [9] M. Kegeleirs, G. Grisetti, and M. Birattari, “Swarm slam: Challenges and perspectives,”Frontiers in Robotics and AI,vol. 8, 2021. [Online]. Available: https:// frontiersin.org/journals/robotics-and-ai/articles/10.3389/frobt.2021.618268
  • [10] ——, “Swarm slam: Challenges and perspectives,”Frontiers in Robotics and AI,vol. 8, p. 618268, 2021.
  • [11] K. McGuire, C. De Wagter, K. Tuyls, H. Kappen, and G. C. de Croon, “Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment,”Science Robotics,vol. 4, no. 35, p. eaaw9710, 2019.
  • [12] J. Lee, J. Hwangbo, L. Wellhausen, V. Koltun, and M. Hutter, “Learning quadrupedal locomotion over challenging terrain,”Science robotics, vol. 5, no. 47, p. eabc5986, 2020.
  • [13] T. Miki, J. Lee, J. Hwangbo, L. Wellhausen, V. Koltun, and M. Hutter, “Learning robust perceptive locomotion for quadrupedal robots in the wild,” Science Robotics,vol. 7, no. 62, p. eabk2822, 2022. [Online]. Available:https:// science.org/doi/abs/10.1126/scirobotics.abk2822
  • [14] J. Zheng, T. Zhang, C. Wang, M. Xiong, and G. Xie, “Learning for attitude holding of a robotic fish: An end-to-end approach with sim-to-real transfer,”IEEE Transactions on Robotics,vol. 38, no. 2, pp. 1287–1303, 2021.
  • [15] R. Groß and M. Dorigo, “Group transport of an object to a target that only some group members may sense,” inParallel Problem Solving from Nature - PPSN VIII,X. Yao, E. K. Burke, J. A. Lozano, J. Smith, J. J. Merelo-Guervós, J. A. Bullinaria, J. E. Rowe, P. Tiňo, A. Kabán, and H.-P. Schwefel, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 852–861.
  • [16] R. Michael, C. Alejandro, and N. Radhika, “Programmable self-assembly in a thousand-robot swarm,”Science,vol. 345, no. 6198, pp. 795–799, 08 2014. [Online]. Available: https://cir.nii.ac.jp/crid/1362262944632390912
  • [17] J. J. Kandathil, R. Mathew, and S. S. Hiremath, “Development and analysis of a novel obstacle avoidance strategy for a multi-robot system inspired by the bug-1 algorithm,”SIMULATION,vol. 96, no. 10, pp. 807–824, 2020. [Online]. Available:https://doi.org/10.1177/0037549720930082
  • [18] K. Sugawara, Y. Doi, and M. Shishido, “Casualty-based cooperation in swarm robots,”Artificial Life and Robotics,vol. 23, no. 4, pp. 645–650, 2018.
  • [19] R. Fujisawa, H. Imamura, T. Hashimoto, and F. Matsuno, “Communication using pheromone field for multiple robots,” in2008 IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE, 2008, pp. 1391–1396.
  • [20] K. Sugawara, T. Kazama, and T. Watanabe, “Foraging behavior of interacting robots with virtual pheromone,” in2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566),vol. 3, 2004, pp. 3074–3079 vol.3.
  • [21] Y. SUEOKA, D. D. Khanh, Y. TSUNODA, Y. SUGIMOTO, and K. OSUKA, “Analysis and experiment of robot navigation by sound field using interaction with obstacles,”Transactions of the JSME,vol. 87, no. 896, p. tsunoda2019experimental, 2021 (in japanese).
  • [22] Y. Tsunoda, Y. Sueoka, and K. Osuka, “Experimental analysis of acoustic field control-based robot navigation,”Journal of Robotics and Mechatronics,vol. 31, no. 1, pp. 110–117, 2019.
  • [23] Y. Tsunoda, L. T. Nghia, Y. Sueoka, and K. Osuka, “Experimental analysis of shepherding-type robot navigation utilizing sound-obstacle-interaction,” Journal of Robotics and Mechatronics,vol. 35, no. 4, pp. 957–968, 2023.
  • [24] T. J. Rose and A. G. Bakaoukas, “Algorithms and approaches for procedural terrain generation-a brief review of current techniques,” in2016 8th International Conference on Games and Virtual Worlds for Serious Applications (VS-GAMES).IEEE, 2016, pp. 1–2.
  • [25] C. W. Warren, “Fast path planning using modified a* method,” in[1993] Proceedings IEEE International Conference on Robotics and Automation.IEEE, 1993, pp. 662–667.
  • [26] H. J. Nussbaumer and H. J. Nussbaumer,The fast Fourier transform.Springer, 1982.
  • [27] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A. Y. Nget al.,“Ros: an open-source robot operating system,” in ICRA workshop on open source software,vol. 3, no. 3.2. Kobe, Japan, 2009, p. 5.