Mobile robot, search system, search method, and search program

The mobile robot system addresses inefficiencies in search range calculations by excluding unreachable areas, optimizing rescue operations in complex environments through precise search range determination.

WO2026126522A1PCT designated stage Publication Date: 2026-06-18MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-03-24
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing systems fail to efficiently exclude drivable areas that a lost mobile robot cannot reach from the search range, leading to unnecessary search areas and inefficiencies in rescue operations.

Method used

A mobile robot system that calculates an efficient rescue search range by excluding immobile areas using environmental information and mobility performance, setting an initial search range, and determining immovable regions to focus search efforts effectively.

🎯Benefits of technology

The system enables targeted and efficient search by excluding areas the rescue robot cannot access, reducing unnecessary search areas and enhancing rescue efficiency, particularly in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025011514_18062026_PF_FP_ABST
    Figure JP2025011514_18062026_PF_FP_ABST
Patent Text Reader

Abstract

This search system (500) comprises a plurality of mobile robots (100) communicating with each other. A search range calculation unit (150) acquires environmental information (81) indicating the environment in the range of travel of the plurality of mobile robots, and distress location information (82) indicating the location of an in-distress robot in which an abnormality has occurred. The search range calculation unit (150) sets, on the basis of the distress location information (82), an initial search range (83) in which the in-distress robot is searched for. The search range calculation unit (150) determines a range in which the in-distress robot cannot travel as an untravellable range (84) on the basis of the environment information (81) and the travel capability (86) of the in-distress robot. The search range calculation unit (150) calculates a rescue search range (85) obtained by excluding the untravellable range (84) from the initial search range (83).
Need to check novelty before this filing date? Find Prior Art

Description

Mobile robot, exploration system, exploration method, and exploration program 【0001】 The present disclosure relates to a mobile robot, an exploration system, an exploration method, and an exploration program. 【0002】 In a system that operates multiple mobile robots, losses may occur due to failures in self-position estimation in each mobile robot. In a system that operates multiple mobile robots, when a loss occurs, other normal robots are equipped with a function to head for the rescue of the lost robot. At that time, it is desirable to narrow down the range to search for the lost robot. 【0003】 Patent Document 1 discloses a technique for defining a search range from the area where a lost robot may physically exist, the area where the presence of the lost robot is highly likely, the estimated error range of the lost robot, and the drivable area extracted from the map shape. 【0004】 Japanese Patent Application Laid-Open No. 2024-015640 【0005】 In order for a mobile robot to reach a drivable area behind an obstacle such as furniture or a wall, it can reach by bypassing the obstacle. However, it is difficult to perform movement control such as bypassing for a robot that needs rescue like a lost robot. Therefore, it is impossible for such a lost robot to reach a drivable area behind an obstacle. From this, it is desirable to exclude the drivable area behind an obstacle as described above from the search range of the lost robot. In the technique of Patent Document 1, it is impossible to exclude the drivable area behind an obstacle as described above from the search range. Therefore, there is a problem that a useless area that does not need to be searched for the lost robot is included in the search range. 【0006】 An object of the present disclosure is to set an efficient search range without waste by excluding a drivable area that a robot that needs rescue cannot reach from the search range. 【0007】The mobile robot according to this disclosure includes a mobile robot that is part of a plurality of mobile robots communicating with each other, which acquires environmental information indicating the environment of the movement range of the plurality of mobile robots and distress location information indicating the location of a distress robot among the plurality of mobile robots that requires rescue, sets an initial search range for searching for the distress robot based on the distress location information, determines an immobile range in which the distress robot cannot move based on the environmental information and the movement performance of the distress robot, and calculates a rescue search range for searching for the distress robot by excluding the immobile range from the initial search range. 【0008】 The mobile robot described in this disclosure has the effect of being able to calculate an efficient rescue search area without waste by excluding areas that the rescue robot cannot reach from the initial search area. 【0009】 A diagram showing an example configuration of a mobile robot according to Embodiment 1. A flowchart showing an example of search processing by a search system according to Embodiment 1. A flowchart showing an example of search range calculation processing according to Embodiment 1. A schematic diagram showing an example of search range calculation processing according to Embodiment 1. A flowchart showing an example of rescue processing according to Embodiment 1. A schematic diagram showing an example of task selection processing according to Modification 2 of Embodiment 1. A schematic diagram showing an example of path generation processing according to Modification 3 of Embodiment 1. A schematic diagram showing an example of position estimation processing according to Modification 4 of Embodiment 1. A schematic diagram showing another example of position estimation processing according to Modification 5 of Embodiment 1. A schematic diagram showing rescue task assignment method 2 according to Modification 6 of Embodiment 1. A flowchart showing an example of task selection processing according to Modification 7 of Embodiment 1. A diagram showing an example configuration of a mobile robot 100 according to Modification 8 of Embodiment 1. A schematic diagram showing the setting of the initial search range 83 according to Embodiment 2. A schematic diagram showing the calculation of the rescue search range 85 according to Embodiment 3. 【0010】The following description of this embodiment will be illustrated with reference to the figures. In each figure, identical or corresponding parts are denoted by the same reference numerals. In the description of the embodiment, descriptions of identical or corresponding parts will be omitted or simplified as appropriate. The arrows in the figures mainly indicate the flow of data or processing. Also, the size relationships of the components in the following figures may differ from those in reality. In addition, in the description of the embodiment, directions or positions such as up, down, left, right, front, back, front, and back may be indicated. These notations are for the convenience of explanation and do not limit the arrangement, direction, and orientation of the devices, instruments, or parts. 【0011】 Embodiment 1. ***Description of Configuration*** Figure 1 shows an example configuration of the search system 500 and mobile robot 100 according to this embodiment. The search system 500 comprises a plurality of mobile robots 100. The search system 500 has a function to calculate the rescue search range 85 of a lost rescue robot among the plurality of mobile robots 100. The search system 500 also has a function to search for the rescue robot within the rescue search range 85. These functions may be referred to as search functions. In this embodiment, the search system 500 is described as an autonomous distributed system in which each of the plurality of mobile robots 100 has a search function. The search system 500 may also be a centralized system in which each of the plurality of mobile robots 100 is controlled by a single server. The case of a centralized system will be described in the modified examples below. 【0012】 The mobile robot 100 is an autonomous robot. The mobile robot 100 is equipped with a computer. The mobile robot 100 has a processor 910, as well as other hardware such as memory 921, auxiliary storage device 922, input interface 930, output interface 940, and communication device 950. The mobile robot 100 also has other hardware such as external sensor 960, internal sensor 970, and driving motor 980. The processor 910 is connected to the other hardware via signal lines and controls this other hardware. 【0013】The mobile robot 100 includes, as functional elements, an object detection unit 110, a task selection unit 120, a position estimation unit 130, a rescue need determination unit 140, a search range calculation unit 150, a path calculation unit 160, a driving control unit 170, and a storage unit 180. The storage unit 180 stores environmental information 81, rescue need location information 82, an initial search range 83, an immobile range 84, a rescue search range 85, and a mobility performance 86. 【0014】 The functions of the object detection unit 110, the task selection unit 120, the position estimation unit 130, the rescue need determination unit 140, the search range calculation unit 150, the path calculation unit 160, and the driving control unit 170 are implemented by software. The storage unit 180 is provided in the memory 921. The storage unit 180 may also be provided in the auxiliary storage device 922, or it may be distributed between the memory 921 and the auxiliary storage device 922. 【0015】 The processor 910 is a device that executes the search program. The search program is a program that implements the functions of the object detection unit 110, the task selection unit 120, the position estimation unit 130, the rescue need determination unit 140, the search range calculation unit 150, the path calculation unit 160, and the driving control unit 170. The processor 910 is an IC that performs arithmetic processing. Specific examples of the processor 910 are the CPU, DSP, and GPU. IC is an abbreviation for Integrated Circuit. CPU is an abbreviation for Central Processing Unit. DSP is an abbreviation for Digital Signal Processor. GPU is an abbreviation for Graphics Processing Unit. 【0016】Memory 921 is a storage device that temporarily stores data. Specific examples of memory 921 include SRAM or DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory. Auxiliary storage device 922 is a storage device that stores data. Specific examples of auxiliary storage device 922 include HDD. Alternatively, auxiliary storage device 922 may be a portable storage medium such as an SD® memory card, CF, NAND flash, flexible disk, optical disk, compact disk, Blu-ray® disc, or DVD. HDD is an abbreviation for Hard Disk Drive. SD® is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash (registered trademark). DVD is an abbreviation for Digital Versatile Disk. 【0017】 The input interface 930 is a port connected to an input device such as a mouse, keyboard, or touch panel. Specifically, the input interface 930 is a USB terminal. The input interface 930 may also be a port connected to a LAN. USB is an abbreviation for Universal Serial Bus. LAN is an abbreviation for Local Area Network. Furthermore, the input interface 930 may be connected to the external sensor 960 and the internal sensor 970. The input interface 930 may also function as a sensor interface that acquires sensor data obtained by the external sensor 960 and the internal sensor 970. 【0018】The output interface 940 is a port to which the cable of an output device, such as a display, is connected. Specifically, the output interface 940 is a USB terminal or an HDMI® terminal. Specifically, the display is an LCD. The output interface 940 is also called the display interface. HDMI® is an abbreviation for High Definition Multimedia Interface. LCD is an abbreviation for Liquid Crystal Display. 【0019】 The communication device 950 has a receiver and a transmitter. The communication device 950 is connected to a communication network such as a LAN, the Internet, a telephone line, or Wi-Fi (registered trademark). Specifically, the communication device 950 is a communication chip or NIC. The communication device 950 may also serve as a communication interface for wirelessly acquiring sensor data obtained by the external sensor 960 and the internal sensor 970. NIC is an abbreviation for Network Interface Card. 【0020】 The search program is executed in the mobile robot 100. The search program is loaded into the processor 910 and executed by the processor 910. Memory 921 stores not only the search program but also the OS. OS is an abbreviation for Operating System. The processor 910 executes the search program while executing the OS. The search program and OS may also be stored in auxiliary storage device 922. The search program and OS stored in auxiliary storage device 922 are loaded into memory 921 and executed by the processor 910. Note that part or all of the search program may be incorporated into the OS. 【0021】 The mobile robot 100 may be equipped with multiple processors that replace the processor 910. These multiple processors share the task of executing the search program. Each processor is a device that executes the search program, just like the processor 910. 【0022】The data, information, signal values, and variable values ​​used, processed, or output by the search program are stored in memory 921, auxiliary storage device 922, or registers or cache memory within the processor 910. 【0023】 The "parts" in the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 may be read as "circuit," "process," "procedure," "process," or "circuitry." The search program causes the computer to execute the following processes: object detection processing, task selection processing, position estimation processing, rescue need determination processing, search range calculation processing, path calculation processing, and driving control processing. The "process" in each of the above processes may be read as "program," "program product," "computer-readable storage medium storing the program," or "computer-readable recording medium recording the program." The search method is performed by the mobile robot 100 executing the search program. The search program may be provided stored on a computer-readable recording medium. The search program may also be provided as a program product. 【0024】 ***Explanation of Operation*** Next, the operation of the mobile robot 100 according to this embodiment will be explained. The operation procedure of the mobile robot 100 corresponds to the search method. The program that realizes the search process, which is the operation of the mobile robot 100, corresponds to the search program. 【0025】 Figure 2 is a flowchart showing an example of a search process by the search system 500 according to this embodiment. In the search system 500, at least two mobile robots 100 move autonomously while communicating with each other, and normally perform predetermined services. For example, the search system 500 performs a service such as automatically transporting items between multiple pre-registered locations. The search system 500 according to this embodiment will be described as an autonomous distributed system. 【0026】<Distress Determination Process: Step S101> In step S101, the distress determination unit 140 determines whether there is a distress robot in need of rescue among the multiple mobile robots 100. Specifically, the distress determination unit 140 determines whether there is a distress robot among the multiple mobile robots 100 whose position estimated by the position estimation unit 130 indicates an abnormality. The distress determination unit 140 determines whether its own mobile robot is a distress robot and notifies the other mobile robots of the determination result via the communication device 950. For example, if the distress determination unit 140 detects a loss due to a failure in self-position estimation due to a collision or the like, it determines that its own mobile robot is a distress robot. The distress determination unit 140 then notifies the other mobile robots of the determination result. 【0027】 Alternatively, the position estimation unit 130 may perform self-position estimation of the other mobile robot from sensor data notified by the other mobile robot. The rescue need determination unit 140 may detect the occurrence of loss in the other mobile robot from the result of self-position estimation of the other mobile robot and determine whether the other mobile robot is a rescue need robot or not. If the rescue need determination unit 140 determines that the other mobile robot is a rescue need robot, it notifies the other mobile robot of the determination result. Alternatively, the rescue need determination unit 140 receives the determination result of whether the other mobile robot is a rescue need robot or the self-position estimation result. Based on the received determination result or self-position estimation result, the rescue need determination unit 140 determines whether there is a rescue need robot among the multiple mobile robots 100. 【0028】 If it is determined that there is a rescue robot among the multiple mobile robots 100, the process proceeds to step S102. If it is determined that there is no rescue robot among the multiple mobile robots 100, the process is repeated in step S101. 【0029】<Search Range Calculation Process: Step S102> First, an overview of the search range calculation process will be explained. The search range calculation unit 150 acquires information about the mobile robot that has been determined to be a robot in need of rescue, prior to its determination as such. Using the information prior to its determination as a robot in need of rescue, the search range calculation unit 150 calculates a rescue search range 85 for searching for the robot in need of rescue. Specifically, it is as follows. 【0030】 The search range calculation unit 150 acquires environmental information 81 indicating the environment of the movement range of the multiple mobile robots 100, and rescue location information 82 indicating the location of the rescue robot among the multiple mobile robots 100 that requires rescue. Based on the rescue location information 82, the search range calculation unit 150 sets the range for searching for the rescue robot as the initial search range 83. The search range calculation unit 150 also determines the range in which the rescue robot cannot move as the immovable range 84, based on the environmental information 81 and the movement performance 86 of the rescue robot. At this time, the search range calculation unit 150 determines the immovable range 84 as the range within the initial search range 83 in which the rescue robot cannot move based on the movement performance 86 of the rescue robot, and the range in which it is determined that the rescue robot will not move based on predetermined conditions. The search range calculation unit 150 then calculates the range obtained by excluding the immovable range 84 from the initial search range 83 as the rescue search range 85 for searching for the rescue robot. Specifically, it is as follows. 【0031】 Figure 3 is a flowchart showing an example of the search range calculation process according to this embodiment. In step S121, the search range calculation unit 150 acquires environmental information 81 and rescue-requiring location information 82. 【0032】Figure 4 is a schematic diagram showing an example of the search range calculation process according to this embodiment. The environmental information 81 is an environmental map showing the environment of the movement range in which the multiple mobile robots 100 move. The movement range is, for example, the range of the environment such as a building or warehouse where the mobile robots perform work. The environmental map is a map of the environment such as a building or warehouse where the mobile robots perform work. The environmental information 81 also shows walls or obstacles, as well as the shapes of facilities such as slopes or stairs, that exist in the movement range in which the mobile robots 100 move. 【0033】 The rescue-needing location information 82 is information indicating the location of the rescue-needing robot 101. The rescue-needing location information 82 is calculated by the position estimation unit 130 of the self-mobile robot or another mobile robot when the rescue-needing determination unit 140 determines that the rescue-needing robot 101 is in need of rescue. Alternatively, the search range calculation unit 150 may acquire information before the robot is determined to be in need of rescue 101 and calculate the rescue-needing location information 82 based on the information before the robot was determined to be in need of rescue 101. 【0034】 In step S122, the search range calculation unit 150 sets the search range for the rescue robot 101 as the initial search range 83 based on the rescue location information 82. For example, as shown in the left diagram of Figure 4, the search range calculation unit 150 sets the initial search range 83 as a circular area centered on the location indicated by the rescue location information 82. The initial search range 83 is set as a circular area, rectangular area, elliptical area, sector area, or a combination of these shapes based on the rescue location information 82. Therefore, obstacles that hinder the movement of the rescue robot 101 or the movement performance 86 of the rescue robot 101 are not taken into consideration in the initial search range 83. 【0035】 In step S123, the search range calculation unit 150 determines the area in which the rescue robot 101 cannot move as the immobile area 84, based on the environmental information 81 and the mobility performance 86 of the rescue robot 101. Then, the search range calculation unit 150 calculates the rescue search range 85 by excluding the immobile area 84 from the initial search range 83. Specifically, it is as follows. 【0036】 The search range calculation unit 150 divides the environmental map in the initial search range 83 into multiple grids. Based on the mobility performance 86 of the rescue robot 101, the search range calculation unit 150 determines grids where the rescue robot 101 cannot move and grids where it is determined that the rescue robot 101 will not move under predetermined conditions as the immobile range 84. 【0037】 More specifically, it is as follows: The search range calculation unit 150 designates the center of each grid in a plurality of grids as a node. The search range calculation unit 150 then connects all nodes except those that the rescue robot 101 cannot move between with edges, based on the environmental map and the mobility performance 86 of the rescue robot 101. The search range calculation unit 150 also determines, as a condition, whether the distance of the shortest path via edges between a node indicated by the rescue location information 82 and other nodes is longer than the distance between those nodes. If the distance of the shortest path via edges between a node indicated by the rescue location information 82 and other nodes is longer than the distance between those nodes, the search range calculation unit 150 determines the grid including the other nodes as an immovable area 84. 【0038】 In the left diagram of Figure 4, the environment map within the initial search range 83 is divided into multiple grids. The center of each grid is set as a node. In the center diagram of Figure 4, the paths from the node indicated by the distress location information 82, i.e., the node of the distress robot, to other nodes within the initial search range 83 are shown by edges. In this case, if there is an obstacle such as a wall between the distress robot's node and the other node, the edge is not connected. Also, based on the movement performance 86 of the distress robot 101, edges are not connected to nodes that the distress robot 101 cannot move to. For example, if the distress robot 101 is a mobile body that moves on wheels and cannot travel on stairs, then, as shown in the center diagram of Figure 4, no edges are connected to nodes on the stairs. As shown in the center diagram of Figure 4, the paths that the distress robot 101 can move within the initial search range 83 are represented by edges. Here, the grids of nodes to which edges are not connected are determined as the immovable range 84. 【0039】 In this way, the search range calculation unit 150 divides the environment map into grids, with each grid center becoming a node. The search range calculation unit 150 then connects nodes with edges, except for those that are impossible to traverse due to the mobile robot's movement capabilities, such as stairs or walls, and creates a graph like the central diagram in Figure 4. The movement capabilities are an example of the movement capabilities 86 of the mobile robot 100 described above. Next, if the distance of the shortest path is longer than the distance between nodes using a graph search algorithm such as A*, the search range calculation unit 150 excludes that node from the search range nodes as an impassable area 84. Search range nodes are nodes in the rescue search range 85. The distance between nodes compared with the shortest path distance is, for example, the Manhattan distance. Alternatively, the Euclidean distance may also be used. When determining the condition by comparing the shortest path distance with the Euclidean distance between nodes, the number of search range nodes is reduced compared to determining the condition by comparing the shortest path distance with the Manhattan distance between nodes. In addition to comparing the distance of the shortest path with the distance between nodes, if the number of turns between nodes exceeds a predetermined threshold, that node may be excluded from the search range as an immovable area 84. 【0040】 In the right-hand diagram of Figure 4, the black circles represent search range nodes that should be explored within the initial search range 83. The "x" marks represent nodes that the rescue robot 101 cannot reach due to its mobility limitations. The triangle marks represent non-search range nodes where, based on predetermined conditions, the rescue robot 101 is determined not to move. 【0041】 <Task Selection Process (Rescue Robot Determination Process): Step S103> In step S103, the task selection unit 120 determines which rescue robot will go to rescue the rescue robot 101. The task selection unit 120 has the function of assigning tasks to each of the multiple mobile robots. For example, the task selection unit 120 assigns the search task to the mobile robot that is currently executing a task with a lower priority than the search task for the rescue robot 101 and is closest to the rescue search range 85. The mobile robot to which the search task has been assigned in this way is determined to be a rescue robot that will go to rescue the rescue robot 101. 【0042】 When it is determined that the self - moving robot is a rescue robot, the process proceeds to the rescue process. When it is determined that another moving robot is a rescue robot, the rescue robot notifies that it is another moving robot and ends the process. 【0043】 For example, the task selection unit 120 determines that the robot that has the running performance capable of exploring the rescue search range 85, is the closest to the rescue search range 85, and is performing a task with a lower priority than the exploration task is the rescue robot. Then, the task selection unit 120 notifies the result of the self - determination to other moving robots via the communication device 950. 【0044】 Through the processes from step S101 to step S103, the rescue search range 85 and the rescue robot are determined. 【0045】 FIG. 5 is a flowchart showing an example of the rescue process according to the present embodiment. The rescue process is a process in which the rescue robot searches for the rescue - required robot 101 in the rescue search range 85. 【0046】 In step S201, the path calculation unit 160 of the rescue robot calculates an appropriate movement path to the edge of the rescue search range 85. In step S202, the rescue robot starts comprehensive search movement from the edge of the rescue search range 85. The path calculation unit 160 of the rescue robot calculates a search movement path suitable for moving while using the object detection unit 110. 【0047】 In step S203, the object detection unit 110 of the rescue robot determines whether the rescue - required robot 101 or a landmark has been detected. A landmark is a characteristic mark detected by the object detection unit 110 of the rescue - required robot 101. The landmark is shared between the rescue - required robot 101 and the rescue robot. The method of calculating the position of the rescue - required robot 101 using the landmark will be described in a modification example later. If the rescue - required robot 101 or a landmark is detected, the process proceeds to step S204. The process of step S203 is repeated until the rescue - required robot 101 or a landmark is detected. 【0048】In step S204, the position estimation unit 130 of the rescue robot calculates the position of the rescue-required robot 101. In step S205, the task selection unit 120 of the rescue robot determines whether the rescue-required robot 101 can return. The task selection unit 120 of the rescue robot determines whether the rescue-required robot 101 can return by checking whether each functional unit of the rescue robot is normal. If it is determined that the rescue-required robot can return, the process proceeds to step S206. If it is determined that the rescue-required robot cannot return, the task selection unit 120 of the rescue robot notifies other mobile robots to that effect and ends the process. In step S206, the task selection unit 120 of the rescue robot returns to a normal task. The task selection unit 120 of the rescue robot assigns normal tasks to the rescue robot, that is, the self-mobile robot and the rescue-required robot 101, and ends the process. 【0049】 ***Other configurations*** <Modification Example 1> The search system according to the above-described embodiment has been described as an autonomous distributed system type in which each of the plurality of mobile robots has a search function. As a modification, the search system may be a centralized system type including a plurality of mobile robots and a management device that controls the autonomous driving of each of the plurality of mobile robots. When the search system is of the centralized system type, the search process described in FIG. 2 may be performed in the management device to determine the rescue search range and the rescue robot. Also, the rescue process described in FIG. 5 may be performed in the management device to control the rescue robot so that the rescue robot searches for the rescue-required robot. In addition, as long as a search function including a search range calculation function for calculating the rescue search range and a rescue function for searching for the rescue-required robot can be realized, the functions of each mobile robot and the management device may be shared in any way. 【0050】<Modification 2> In step S103 of Figure 2 described above, the task selection unit assigns the search task to a mobile robot that is currently executing a task with a lower priority than the search task for the rescue robot, and that is closest to the rescue search range. As a modification, the task selection unit may assign the search task for the rescue robot to a mobile robot that has the mobility to cover the rescue search range. 【0051】 Figure 6 is a schematic diagram showing an example of task selection processing according to modification 2 of this embodiment. Using Figure 6, a method of task assignment considering travel performance will be explained. For example, the environmental map divided into grids is assumed to have attribute information for each grid. As shown in the left diagram of Figure 6, the attribute information includes information such as the maximum elevation difference of stairs, the average elevation, the height of the steps, the paving condition of the floor surface, or the paving condition or maximum elevation difference of the slope. In the right diagram of Figure 6, nodes in the travel range of multiple mobile robots are shown. Solid edges are edges that can be moved by multiple mobile robots in common. Dotted edges indicate edges that can be moved by only quadruped robots. Quadruped robots are robots that can move up and down stairs. The task selection unit compares the attribute information with the travel performance of each mobile robot and connects edges when it is determined that travel is possible between nodes. The task selection unit considers a mobile robot as a candidate for rescue robot if it determines that all nodes in the search range are reachable from the current position using a graph search algorithm. 【0052】 According to variation 2, the task selection unit can select a mobile robot capable of covering the rescue search area as the rescue robot. 【0053】 <Modification 3> The task selection unit may have a function that allows it to generate a movement path that avoids the rescue search area for mobile robots that have not been assigned a search task to search for robots in need of rescue. 【0054】Figure 7 is a schematic diagram showing an example of task selection processing according to modification 3 of this embodiment. Using Figure 7, the path creation method of the path calculation unit for robots other than rescue robots will be explained. Assume that the task of the mobile robot is neither a search task for searching for a robot in need of rescue, nor a standby task. The path calculation unit of that mobile robot generates a movement path to the destination of the task being executed. At this time, the path calculation unit cuts all edges connected to the node of the robot in need of rescue. Then, the path calculation unit calculates the movement path to the destination node using a graph search algorithm. The left diagram of Figure 7 shows the process of creating a movement path when the process of cutting edges connected to the node of the robot in need of rescue is not performed. On the other hand, the right diagram of Figure 7 shows the process of creating a movement path when the process of cutting all edges connected to the node of the robot in need of rescue is performed. In the left diagram of Figure 7, there is a risk of interfering with the search for the robot in need of rescue by other mobile robots. 【0055】 According to variation 3, the search process by the rescue robot can be performed without interference from other mobile robots that are not rescue robots. 【0056】 <Modification 4> In steps S203 and S204 described above, the rescue robot estimates the position of the robot in need of rescue. Modification 4 describes an example of the position estimation process of the robot in need of rescue by the position estimation unit 130. 【0057】 Figure 8 is a schematic diagram showing an example of position estimation processing according to modification 4 of this embodiment. The position estimation unit of the rescue robot 102 receives the relative positions of at least two landmarks 50 detected by the rescue-need robot 101. The position estimation unit estimates the position of the rescue-need robot 101 based on environmental information, the relative positions of the at least two landmarks 50, and its own position. 【0058】Using Figure 8, we will explain the position estimation by detecting landmark 50. Before the rescue robot 102 directly detects the rescue robot 101, the relative position of the landmark detected by the object detection unit 110 of the rescue robot 101 can be utilized, enabling faster position estimation of the rescue robot 101. 【0059】 The rescue robot 101 detects the relative positions of at least two landmarks 50. The rescue robot 101 shares detection information, including information describing the characteristics of the landmarks 50, with the rescue robot 102. The rescue robot 102 determines that it has detected the same common landmark as the rescue robot 101 if the shared characteristics of the landmarks 50 and / or the distance between the landmarks 50 match. The position estimation unit then estimates the position of the rescue robot 101 from the relative positions of the landmarks and the position of the rescue robot 102. As shown in Figure 8, the position estimation unit estimates the position of the rescue robot 101 by solving a system of equations using the relative positions of the landmarks and the position of the rescue robot 102. 【0060】 In the modified version 4, the rescue robot 102 can estimate the location of the robot in need of rescue 101 even if it cannot directly detect it. Therefore, it becomes possible to estimate the location of the robot in need of rescue 101 more quickly. 【0061】 <Modification 5> In steps S203 and S204 described above, the rescue robot estimates the position of the robot in need of rescue. Modification 5 describes another example of the position estimation process of the robot in need of rescue by the position estimation unit of the rescue robot. 【0062】Figure 9 is a schematic diagram showing another example of the position estimation process according to modification 5 of this embodiment. As shown in Figure 1, the mobile robot 100 is equipped with a driving control unit 170 that controls autonomous driving. The driving control unit 170 of the rescue robot 101 performs a predetermined action when it is possible to perform a predetermined action on the mobile robot based on environmental information 81. The rescue robot 102, which has been assigned a search task, determines that the object that has performed the predetermined action is the rescue robot 101. The rescue robot 102 then estimates the current position of the rescue robot 101. 【0063】 Using Figure 9, we will explain the predetermined actions performed by the rescue robot 101. To detect the rescue robot 101 from among multiple obstacles and estimate its position and orientation, for example, machine learning techniques can be used. On the other hand, when operating multiple types of mobile robots, creating a machine learning model that achieves highly accurate estimation requires considerable effort. Therefore, in Modification 5, after the rescue robot begins searching within the rescue search range, the rescue robot 101 performs an easily understandable action. The rescue robot 101 uses external sensors to detect space around it where it can move, and performs easily understandable actions such as repeatedly moving back and forth within that space. As a result, the rescue robot 102 can track the rescue robot 101 using the object tracking function included in the object detection unit, and estimate its position and orientation. 【0064】 In Figure 9, the rescue robot 102 detects obstacles A, B, and C using external sensors. At this time, the rescue robot 101, which is obstacle B, performs a predetermined action based on environmental information, if it is possible for the mobile robot to perform that action. For example, the predetermined action is to travel back and forth within a predetermined width. The rescue robot 102 tracks obstacle B, and when it confirms that obstacle B is traveling back and forth within the predetermined width, it determines that obstacle B is the rescue robot 101. More specifically, it performs the processes (1) and (2) shown in the right-hand diagram of Figure 9. 【0065】According to Modification 5, even newly added robots can be accurately estimated in terms of their position and orientation without requiring additional training of the machine learning model. 【0066】 <Variation 6> Variation 6 describes a method for assigning rescue tasks to multiple mobile robots. 【0067】 <Method 1 for assigning rescue tasks to multiple mobile robots> When the number of robots is large relative to the area of ​​the mobile robots' operating range, assigning rescue tasks to multiple robots enables faster searching for the robot in need of rescue. The task selection unit obtains the upper limit of the number of rescue robots in advance and determines that the mobile robot is a rescue robot if it meets the following conditions. The conditions include, for example, that the number of rescue robots is less than the upper limit, that it has searchable driving performance, that its distance from the search range is within a threshold, and that it is performing a task with a lower priority than the rescue task of the robot in need of rescue. The task selection unit determines that the mobile robot is a rescue robot when it determines that it meets the above conditions. The task selection unit then notifies the other robots via the communication device that the mobile robot has been designated as a rescue robot. Note that if there is a rescue robot between the mobile robot and the rescue search range, the areas of the two rescue search ranges will be close together, which may interfere with the rescue. For this reason, it is preferable not to become a rescue robot. The maximum number of rescue robots is determined by a selection method such as being set by a human, automatically setting it based on the number (density) of robots relative to the area in which the mobile robots operate, or automatically setting it based on the area of ​​the rescue search range. 【0068】 According to rescue task assignment method 1 of variation 6, it becomes possible to provide faster robot rescue than if only one rescue robot were used. 【0069】<Method 2 for assigning rescue tasks to multiple mobile robots> Figure 10 is a schematic diagram showing Method 2 for assigning rescue tasks to multiple mobile robots according to Modification 6 of this embodiment. When rescue tasks are assigned to multiple robots, the rescue search ranges they approach may overlap. This could hinder rescue efforts, for example, by misidentifying a rescue robot within the rescue search range as a robot in need of rescue. 【0070】 Before assigning a rescue task to the mobile robot, the task selection unit calculates the movement path from the mobile robot's current position to the edge of the rescue search area. If that movement path passes through a certain range centered on the current position of another rescue robot, the task selection unit does not assign a rescue task to the mobile robot. This is because if the movement path passes through a certain range centered on the current position of another rescue robot, it can be determined that the mobile robot is heading towards a position within the same or nearby rescue search area as the other rescue robot. 【0071】 According to rescue task assignment method 2 of variation 6, the possibility of misidentifying a rescue robot as a robot in need of rescue can be reduced. Furthermore, the possibility of assigning rescue tasks to mobile robots with low contribution to rescue can be reduced. 【0072】 <Variation 7> Variation 7 describes a process for efficiently selecting a rescue robot using Variations 2 to 6 described above. 【0073】 Figure 11 is a flowchart showing an example of task selection processing according to modification 7 of this embodiment. In step S301, the rescue determination unit determines whether the mobile robot is a robot in need of rescue. If the mobile robot is a robot in need of rescue, the task selection unit sets a rescue task for the mobile robot and terminates the process. If the mobile robot is not a robot in need of rescue, the process proceeds to step S302. 【0074】 In step S302, the task selection unit determines whether the number of mobile robots identified as rescue robots is less than the upper limit. If the number of rescue robots is less than the upper limit, the process proceeds to step S303. If the number of rescue robots is equal to or greater than the upper limit, the process proceeds to step S307. 【0075】 In step S303, the task selection unit determines whether the task currently running has a lower priority than the rescue task. If the task currently running has a lower priority than the rescue task, the process proceeds to step S304. If the task currently running has a higher priority than the rescue task, the process proceeds to step S307. 【0076】 In step S304, the task selection unit determines whether the mobile robot has the mobility capability to cover the rescue search area. If it does have the mobility capability to cover the rescue search area, the process proceeds to step S305. If it does not have the mobility capability to cover the rescue search area, the process proceeds to step S306. 【0077】 In step S305, the task selection unit determines whether the self-mobile robot is the closest to the rescue search range among the mobile robots that satisfy each option (conditions from steps S301 to S304). If it is the closest to the rescue search range, the task selection unit sets a rescue task for the rescue robot for the self-mobile robot and terminates the process. If it is not the closest to the rescue search range, the process proceeds to step S307. 【0078】 In step S306, the task selection unit determines whether the rescue robot has detected a common landmark. If the rescue robot has detected a common landmark, the process proceeds to step S305. If the rescue robot has not detected a common landmark, the process proceeds to step S307. 【0079】 In step S307, the task selection unit determines whether the currently running task passes through the rescue search area. If the currently running task passes through the rescue search area, the task selection unit reviews the currently running task and terminates processing. That is, it reviews the task so that the mobile robot does not pass through the rescue search area. If the currently running task does not pass through the rescue search area, the task selection unit terminates processing without changing the currently running task. 【0080】 As shown in Modification 7, by performing the task selection process, it becomes possible to efficiently select rescue robots. 【0081】 <Modification 8> In this embodiment, the functions of the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 are implemented in software. As a modification, the functions of the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 may be implemented in hardware. Specifically, the mobile robot 100 is equipped with an electronic circuit 909 instead of a processor 910. 【0082】 Figure 12 shows an example of the configuration of a mobile robot 100 according to modification 8 of this embodiment. The electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the object detection unit 110, the task selection unit 120, the position estimation unit 130, the rescue need determination unit 140, the search range calculation unit 150, the path calculation unit 160, and the driving control unit 170. Specifically, the electronic circuit 909 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array. 【0083】 The functions of the object detection unit 110, the task selection unit 120, the position estimation unit 130, the rescue need determination unit 140, the search range calculation unit 150, the path calculation unit 160, and the driving control unit 170 may be implemented in a single electronic circuit or distributed across multiple electronic circuits. 【0084】 As another variation, some functions of the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 may be implemented by electronic circuits, while the remaining functions are implemented by software. Alternatively, some or all functions of the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 may be implemented by firmware. 【0085】 Each of the processor and electronic circuit is also called a processing circuit. In other words, the functions of the object detection unit 110, task selection unit 120, position estimation unit 130, rescue need determination unit 140, search range calculation unit 150, path calculation unit 160, and driving control unit 170 are realized by the processing circuit. 【0086】 ***Explanation of the Effects of This Embodiment*** As described above, the search system according to this embodiment can appropriately calculate an efficient and streamlined rescue search area by excluding areas that the rescue robot cannot reach from the initial search area. For example, when searching for a rescue robot in an intricate structure such as indoors, there is a high probability that the rescue robot is located in a place that is difficult for the rescue robot to detect, such as being stuck behind an obstacle. According to the search system according to this embodiment, the rescue search area can be narrowed down to one that takes obstacles into account, so the rescue robot can arrive at a suitable location for search more quickly. 【0087】 Embodiment 2. This embodiment mainly describes the differences from Embodiment 1 and the additions to Embodiment 1. In this embodiment, components having the same function as in Embodiment 1 are denoted by the same reference numerals, and their descriptions are omitted. 【0088】 In Embodiment 1, as shown in Figure 4, the initial search range 83 is set to a circle centered on the location information 82 of the person in need of rescue. This embodiment describes a method for setting the initial search range 83 in a way that allows for more efficient searching of the robot 101 in need of rescue. 【0089】 ***Description of Configuration*** The configuration of the search system 500 and mobile robot 100 according to this embodiment is the same as in Embodiment 1. In this embodiment, the process by which the search range calculation unit 150 sets the range for searching for the rescue robot 101 as the initial search range 83 based on the rescue location information 82 is different. 【0090】***Explanation of Operation*** The operation of the search system 500 and the mobile robot 100 is basically the same as that described in Figures 2, 3, and 5. In step S122, the process by which the search range calculation unit 150 sets the initial search range 83 is as follows. In this embodiment, the search range calculation unit 150 sets the initial search range 83 based on the planned movement direction of the rescue robot 101 such that the search range in the planned movement direction is larger than the search range in the opposite direction. Specifically, it is as follows. 【0091】 Figure 13 is a schematic diagram showing the setting of the initial search range 83 according to this embodiment. When the rescue robot 101, which has experienced a positional anomaly, deviates from its movement path, it is unlikely to deviate in the opposite direction to the planned movement direction, which is its original direction of movement. Therefore, in this embodiment, a range is set that has an angle and width that takes into account the driving performance, based on the planned movement direction in the movement path and the direction of movement of the rescue robot 101 before it was determined that its position was anomaly. 【0092】 In Figure 13, the search range calculation unit 150 sets the union of a circle based on the location information requiring rescue 82 and a sector based on the location information requiring rescue 82 and the planned movement direction as the initial search range 83. The search range calculation unit 150 creates a graph structure of nodes and edges within the range of that union and applies a graph search algorithm to further narrow the search range. In this way, by narrowing the initial search range 83 based on the location information requiring rescue 82, it becomes possible to set only the areas with a high probability of existence as the rescue search range 85. 【0093】 ***Explanation of the effects of this embodiment*** As described above, the mobile robot according to this embodiment reduces the search range in the direction opposite to the original direction of movement, where the probability of finding a rescue robot is low, and enables the rescue robot to be found more quickly. 【0094】 Embodiment 3. This embodiment mainly describes the differences from Embodiments 1 and 2, and the additions made to Embodiments 1 and 2. In this embodiment, components having the same function as those in Embodiments 1 and 2 are denoted by the same reference numerals, and their descriptions are omitted. 【0095】 ***Description of Configuration*** The configuration of the search system 500 and mobile robot 100 according to this embodiment is the same as in Embodiment 1. In this embodiment, when the search range calculation unit 150 calculates the rescue search range 85, a method will be described in which the planned movement path of the rescue robot 101 is added to the rescue search range 85. 【0096】 ***Explanation of Operation*** The operation of the search system 500 and the mobile robot 100 is basically the same as that described in Figures 2, 3, and 5. In step S123, the search range calculation unit 150 calculates the rescue search range 85 by excluding the immovable area 84 from the initial search range 83. At that time, the search range calculation unit 150 adds the planned movement path of the rescue robot 101 to the rescue search range 85. Specifically, it is as follows. 【0097】 Figure 14 is a schematic diagram showing the calculation of the rescue search range 85 according to this embodiment. In step S102, the search range calculation unit 150 superimposes the movement path to the destination that was set before the rescue robot 101 was determined to be in an abnormal position onto the rescue search range 85. The rescue robot 102 cannot determine whether the rescue robot 101 is continuing the last instructed task due to a failure of only the communication device, or whether it is stuck due to a complete failure, i.e., power loss or an incident or accident. Even in such cases where it is not possible to determine, the rescue robot 102 can still search for the rescue robot 101. 【0098】In Figure 14, the search range nodes within the initial search range 83 are the rescue search range 85 calculated in step S123. The search range calculation unit 150 superimposes the travel path to the destination that was set before the abnormality was determined onto the rescue search range 85 calculated in step S123. Then, as shown in Figure 14, the search range calculation unit 150 defines the search range to be rescued as the search range nodes within the initial search range 83 (rescue search range 85) and the area from the arrow onwards on the travel path in the direction of exiting the circle of the initial search range 83. Thus, the search range nodes within the initial search range 83 (rescue search range 85) and the nodes from the arrow onwards on the travel path in the direction of exiting the circle of the initial search range 83 become the search range nodes. The search range calculation unit 150 determines that the travel path before the arrow in the direction of entering the circle of the initial search range 83 has already been passed and does not include it in the search range. 【0099】 ***Explanation of the effects of this embodiment*** As described above, the mobile robot according to this embodiment allows the search method to be changed according to the mode of the anomaly. This makes it possible to minimize the impact on the operator and on robots other than the robot in which the anomaly occurred. 【0100】 In embodiments 1 to 3 described above, each part of the mobile robot was described as an independent functional block. However, the configuration of the mobile robot does not have to be as described in the embodiments above. The functional blocks of the mobile robot can be configured in any way as long as they can realize the functions described in the embodiments above. Furthermore, multiple parts of embodiments 1 to 3 may be combined and implemented. Alternatively, only one part of these embodiments may be implemented. In addition, these embodiments may be combined and implemented in any way, either as a whole or in part. That is to say, in embodiments 1 to 3, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. 【0101】The embodiments described above are essentially preferred examples and are not intended to limit the scope of the Disclosure, the scope of the Applications of the Disclosure, or the scope of Uses of the Disclosure. The embodiments described above can be modified in various ways as needed. For example, the procedures described using flowcharts or sequence diagrams may be modified as appropriate. 【0102】 The various aspects of this disclosure are summarized below as an appendix. 【0103】(Note 1) A mobile robot included in a plurality of mobile robots communicating with each other, comprising a search range calculation unit that acquires environmental information indicating the environment of the movement range of the plurality of mobile robots and rescue location information indicating the location of a rescue robot among the plurality of mobile robots that requires rescue, sets an initial search range for searching for the rescue robot based on the rescue location information, determines an area where the rescue robot cannot move as an immovable range based on the environmental information and the movement performance of the rescue robot, and calculates a rescue search range for searching for the rescue robot by excluding the immovable range from the initial search range. (Note 2) The mobile robot according to Note 1, wherein the search range calculation unit determines an area where the rescue robot cannot move based on the movement performance of the rescue robot and an area where it is determined that the rescue robot will not move based on predetermined conditions as the immovable range. (Note 3) The mobile robot according to Note 2, wherein the search range calculation unit acquires an environmental map of the movement range as environmental information and determines the immobile range based on the environmental map and the movement performance of the rescue robot. (Note 4) The mobile robot according to Note 3, wherein the search range calculation unit divides the environmental map of the initial search range into a plurality of grids and determines the immobile range as the grids to which the rescue robot cannot move and the grids to which the rescue robot is determined not to move based on the conditions. (Note 5) The mobile robot according to Note 4, wherein the search range calculation unit uses the center of each of the plurality of grids as a node, connects the nodes other than those to which the rescue robot cannot move based on the environmental map and the movement performance of the rescue robot with edges, and determines the grid including the other node as the immobile range if the distance of the shortest path between a node indicated by the rescue location information and other nodes is longer than the distance between those nodes.(Note 6) The mobile robot according to any one of Notes 1 to 5, wherein the search range calculation unit sets the initial search range to a circular area centered on the location indicated by the rescue location information. (Note 7) The mobile robot according to any one of Notes 1 to 5, wherein the search range calculation unit sets the initial search range to be larger in the planned movement direction than in the opposite direction, based on the planned movement direction of the rescue robot. (Note 8) The mobile robot according to any one of Notes 1 to 6, wherein the search range calculation unit adds the planned movement path of the rescue robot to the rescue search range. (Note 9) The mobile robot according to any one of Notes 1 to 8, wherein the mobile robot includes a task selection unit that assigns a task to each of the plurality of mobile robots, and the task selection unit assigns the search task to the mobile robot that is executing a task with a lower priority than the search task for the rescue robot and is closest to the rescue search range. (Note 10) The mobile robot is the mobile robot according to any one of Notes 1 to 8, comprising a task selection unit that assigns tasks to each of the plurality of mobile robots, wherein the task selection unit assigns a search task to search for the rescued robot to a mobile robot having mobility capabilities that cover the rescue search range. (Note 11) The mobile robot is the mobile robot according to Note 9 or Note 10, comprising a task selection unit that assigns tasks to each of the plurality of mobile robots, wherein the task selection unit assigns a task to select a movement path that avoids the rescue search range to a mobile robot that is not assigned a search task to search for the rescued robot. (Note 12) The mobile robot is the mobile robot according to any one of Notes 1 to 11, comprising a position estimation unit that receives the relative positions of at least two landmarks detected by the rescued robot and estimates the position of the rescued robot based on the environmental information, the relative positions of the at least two landmarks and its own position.(Note 13) The mobile robot is equipped with a driving control unit that controls autonomous driving, and the driving control unit performs a predetermined operation when a predetermined operation is possible in the mobile robot based on the environmental information, and when another mobile robot assigned a search task to search for the distressed robot detects an object performing the predetermined operation, it determines that the object is the distressed robot and estimates the current position of the distressed robot, as described in any one of Notes 1 to 12. (Note 14) A search system comprising a search range calculation unit that acquires environmental information indicating the environment of the movement range of the plurality of mobile robots and rescue location information indicating the location of a rescue robot among the plurality of mobile robots that requires rescue, sets an initial search range for searching for the rescue robot based on the rescue location information, determines an immobile range in which the rescue robot cannot move based on the environmental information and the movement performance of the rescue robot, and calculates a rescue search range for searching for the rescue robot by excluding the immobile range from the initial search range. (Note 15) The search system according to Note 14, wherein each of the plurality of mobile robots is equipped with a function to calculate the rescue search range. (Note 16) The search system according to Note 14, wherein the search system is a centralized system comprising the plurality of mobile robots and a management device that controls the autonomous movement of each of the plurality of mobile robots. (Note 17) A search method used in a search system comprising multiple mobile robots that communicate with each other, wherein environmental information indicating the environment of the movement range of the multiple mobile robots and rescue location information indicating the location of a rescue robot among the multiple mobile robots that requires rescue is acquired, the range in which the rescue robot will be searched for is set as the initial search range based on the rescue location information, the range in which the rescue robot cannot move is determined as the immobile range based on the environmental information and the movement performance of the rescue robot, and the range obtained by excluding the immobile range from the initial search range is calculated as the rescue search range for searching for the rescue robot.(Note 18) A search program used in a search system comprising multiple mobile robots communicating with each other, wherein the program causes a computer to perform a search range calculation process that acquires environmental information indicating the environment of the movement range of the multiple mobile robots and distress location information indicating the location of a distress robot among the multiple mobile robots that requires rescue, sets an initial search range for searching for the distress robot based on the distress location information, determines an area where the distress robot cannot move as an immobile range based on the environmental information and the movement performance of the distress robot, and calculates the range obtained by excluding the immobile range from the initial search range as a rescue search range for searching for the distress robot. 【0104】 50 Landmark, 81 Environmental information, 82 Rescue location information, 83 Initial search range, 84 Immovable area, 85 Rescue search range, 86 Mobility performance, 100 Mobile robot, 101 Rescue robot, 102 Rescue robot, 110 Object detection unit, 120 Task selection unit, 130 Position estimation unit, 140 Rescue determination unit, 150 Search range calculation unit, 160 Path calculation unit, 170 Driving control unit, 180 Memory unit, 500 Search system, 909 Electronic circuit, 910 Processor, 921 Memory, 922 Auxiliary storage device, 930 Input interface, 940 Output interface, 950 Communication device, 960 External sensor, 970 Internal sensor, 980 Driving motor.

Claims

1. A mobile robot included in a group of mobile robots communicating with each other, comprising a search range calculation unit that acquires environmental information indicating the environment of the movement range of the group of mobile robots and distress location information indicating the location of a distress robot among the group of mobile robots that requires rescue, sets an initial search range for searching for the distress robot based on the distress location information, determines an immobile range in which the distress robot cannot move based on the environmental information and the movement performance of the distress robot, and calculates a rescue search range for searching for the distress robot by excluding the immobile range from the initial search range.

2. The mobile robot according to claim 1, wherein the search range calculation unit determines, from the initial search range, the range in which the rescue robot cannot move based on the mobility performance of the rescue robot, and the range in which it is determined that the rescue robot will not move based on predetermined conditions, as the immobile range.

3. The mobile robot according to claim 2, wherein the search range calculation unit acquires an environmental map of the movement range as environmental information and determines the immobile range based on the environmental map and the movement performance of the rescue robot.

4. The mobile robot according to claim 3, wherein the search range calculation unit divides the environmental map of the initial search range into a plurality of grids, and determines the grids in which the rescue robot cannot move and the grids in which it is determined that the rescue robot will not move based on the conditions as the immobile range.

5. The mobile robot according to claim 4, wherein the search range calculation unit sets the center of each of the plurality of grids as a node, connects the nodes other than those to which the rescued robot cannot move with edges based on the environmental map and the mobility performance of the rescued robot, and determines the grid including the other node as the immobile range if the shortest path distance between the node indicated by the rescued location information and other nodes is longer than the distance between those nodes.

6. The mobile robot according to any one of claims 1 to 5, wherein the search range calculation unit sets a circular area centered on the location indicated by the rescue location information as the initial search range.

7. The mobile robot according to any one of claims 1 to 5, wherein the search range calculation unit sets the initial search range to be larger in the planned movement direction than in the search range in the opposite direction to the planned movement direction, based on the planned movement direction of the rescue robot.

8. The mobile robot according to any one of claims 1 to 6, wherein the search range calculation unit adds the planned movement path of the rescue robot to the rescue search range.

9. The mobile robot according to any one of claims 1 to 8, wherein the mobile robot comprises a task selection unit that assigns a task to each of the plurality of mobile robots, and the task selection unit assigns the search task to the mobile robot that is currently executing a task with a lower priority than the search task for the rescue robot and is closest to the rescue search range.

10. The mobile robot according to any one of claims 1 to 8, wherein the mobile robot comprises a task selection unit that assigns a task to each of the plurality of mobile robots, and the task selection unit assigns a search task to search for the rescued robot to a mobile robot having mobility capabilities that cover the rescue search range.

11. The mobile robot according to claim 9 or 10, wherein the mobile robot comprises a task selection unit that assigns tasks to each of the plurality of mobile robots, and the task selection unit assigns to a mobile robot that is not assigned a search task to search for the rescue robot a task to select a movement path that avoids the rescue search area.

12. The mobile robot according to any one of claims 1 to 11, further comprising a position estimation unit that receives the relative positions of at least two landmarks detected by the rescue-in-distress robot and estimates the position of the rescue-in-distress robot based on the environmental information, the relative positions of the at least two landmarks, and its own position.

13. The mobile robot according to any one of claims 1 to 12, wherein the mobile robot comprises a driving control unit that controls autonomous driving, the driving control unit executes a predetermined operation when a predetermined operation is possible on the mobile robot based on the environmental information, and another mobile robot assigned a search task to search for the distressed robot determines that the object is the distressed robot when it detects an object performing the predetermined operation, and estimates the current position of the distressed robot.

14. A search system comprising a plurality of mobile robots communicating with each other, the search system comprising a search range calculation unit that acquires environmental information indicating the environment of the movement range of the plurality of mobile robots and distress location information indicating the location of a distress robot among the plurality of mobile robots that requires rescue, sets an initial search range for searching for the distress robot based on the distress location information, determines an immobile range in which the distress robot cannot move based on the environmental information and the movement performance of the distress robot, and calculates a rescue search range for searching for the distress robot by excluding the immobile range from the initial search range.

15. The search system according to claim 14, wherein the search system is an autonomous distributed system in which each of the plurality of mobile robots is equipped with a function for calculating the rescue search range.

16. The search system according to claim 14, wherein the search system is a centralized system comprising the plurality of mobile robots and a management device that controls the autonomous driving of each of the plurality of mobile robots.

17. A search method used in a search system comprising multiple mobile robots communicating with each other, comprising: acquiring environmental information indicating the environment of the movement range of the multiple mobile robots and distress location information indicating the location of a distress robot among the multiple mobile robots that requires rescue; setting an initial search range for searching for the distress robot based on the distress location information; determining an immobile range in which the distress robot cannot move based on the environmental information and the movement performance of the distress robot; and calculating a rescue search range for searching for the distress robot by excluding the immobile range from the initial search range.

18. A search program used in a search system comprising multiple mobile robots communicating with each other, wherein the program causes a computer to perform a search range calculation process that acquires environmental information indicating the environment of the movement range of the multiple mobile robots and distress location information indicating the location of a distress robot among the multiple mobile robots that requires rescue, sets an initial search range for searching for the distress robot based on the distress location information, determines an immobile range in which the distress robot cannot move based on the environmental information and the movement performance of the distress robot, and calculates the range obtained by excluding the immobile range from the initial search range as the rescue search range for searching for the distress robot.