Control device, program, control method, and search system

JPWO2025215709A5Pending Publication Date: 2026-06-30

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2026-03-26
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Conventional persistent coverage control techniques incur high calculation costs due to the need to repeatedly search previously visited positions.

Method used

A control device that adjusts gain values for each coordinate in a search space, decreasing exploration in already searched areas and increasing it in unsearched or obstacle-containing areas, using a movement control unit and gain control unit to optimize path selection based on gain values.

Benefits of technology

Reduces calculation costs by prioritizing unsearched areas and ensuring thorough coverage of the search space while minimizing redundant exploration.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A control device (10A) controls an agent device (20A) that moves in a space to be searched, and is characterized in that: the control device comprises a movement control unit (11) that performs control to move the agent device (20A) on the basis of a gain set for each coordinate of the space to be searched, and a gain control unit (12) that performs control to change the value of the gain, which is for the coordinate searched through the movement of the agent device (20A) in the space to be searched, to a first direction being a direction in which the search by the agent device (20A) is not performed; and the gain control unit (12) performs control to change the value of the gain changed to the first direction to a second direction opposite to the first direction on the basis of a condition.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, program, control method, and search system

[0001] The present disclosure relates to a control device, a program, a control method, and a search system for controlling an agent device that moves in a space to be searched.

[0002] Coverage control is a method for efficiently and thoroughly searching a search target space by storing previously searched positions in the search target space. Non-Patent Document 1 discloses a persistent coverage control technique that allows the same position to be searched multiple times by forgetting information about previously searched positions over time.

[0003] Peter F. Hokayem, Dusan Stipanovic, Mark W. Spong “On Persistent Coverage Control” IEEE Conference Publication, IEEE Xplore, 2007

[0004] However, the conventional techniques described above have a problem in that the calculation cost for persistent coverage control is high.

[0005] The present disclosure has been made in view of the above, and aims to provide a control device that can reduce the calculation cost for persistent coverage control.

[0006] In order to solve the above-mentioned problems and achieve the object, the control device according to the present disclosure is a control device that controls an agent device that moves in a space to be searched, and includes a movement control unit that controls the movement of the agent device based on a gain set for each coordinate in the space to be searched, and a gain control unit that controls to change the gain value of the coordinate searched by the movement of the agent device in the space to be searched to a first direction that is a direction in which searching by the agent device will not be performed, and is characterized in that the gain control unit controls to change the gain value that has been changed to the first direction to a second direction opposite to the first direction based on a condition.

[0007] The control device according to the present disclosure has the effect of making it possible to reduce the calculation cost for persistent coverage control.

[0008] FIG. 4 is a diagram showing an example of the functional configuration of a control device according to a first embodiment. FIG. 5 is a flowchart for explaining the operation of the control device shown in FIG. 1. FIG. 6 is a first diagram for explaining an example of the operation of the control device shown in FIG. 1. FIG. 7 is a second diagram for explaining an example of the operation of the control device shown in FIG. 1. FIG. 8 is a diagram for explaining an example of the operation of the control device shown in FIG. 1. FIG. 9 is a diagram showing an example of the field of view of an agent device. FIG. 10 is a diagram showing an example of the functional configuration of a control device according to a second embodiment. FIG. 11 is an explanatory diagram of the field of view in a search target space including an obstacle. FIG. 12 is an explanatory diagram of a search based on importance information. FIG. 13 is an explanatory diagram of control for adjusting the gain executed by the gain control unit shown in FIG. 26 is a diagram showing an example of the functional configuration of a control device according to an eighth embodiment. FIG. 27 is a diagram showing a dedicated hardware for realizing the functions of the control devices according to the first to eighth embodiments. FIG. 28 is a diagram showing the configuration of a control circuit for realizing the functions of the control devices according to the first to eighth embodiments.

[0009] A control device, a program, a control method, and a search system according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0010] First Embodiment Fig. 1 is a diagram showing an example of the functional configuration of a control device 10A according to a first embodiment. The control device 10A has a function of controlling an agent device 20A. In this embodiment, the control device 10A is provided in the agent device 20A, but the control device 10A may be provided outside the agent device 20A.

[0011] The control device 10A has a coverage control function that controls the agent device 20A that moves in the search target space to efficiently search the search target space without omissions. The control device 10A also has a persistent coverage control function that allows the same position to be searched multiple times in the search target space by forgetting information that has been searched once over time.

[0012] The agent device 20A searches for a search target while moving through a search target space. The search target may be, for example, a living being such as a human, or may be an object. The agent device 20A may be, for example, an unmanned aircraft used for surveillance. Alternatively, the agent device 20A may be a manned aircraft. The agent device 20A is used for maze exploration, surveillance, disaster relief, military purposes, etc. The search target space may include ground, air, water, underground, the interior of a building, etc. The search target space is not limited to real space, but may also be virtual space. The agent device 20A has a function for moving through the search target space. Depending on the type of search target space, the agent device 20A may have a flight function, a running function, a swimming function, or an excavation function. The search target space may be a two-dimensional space or a three-dimensional space. The search target space may be a Euclidean space or a space containing obstacles. In the first embodiment, a case where the search target space is a two-dimensional Euclidean space will be described.

[0013] The control device 10A has a movement control unit 11 that controls the movement of the agent device 20A, a gain control unit 12 that controls the gain set at each coordinate in the space to be searched, and a memory unit 13 that stores an exploration degree map, which is a map showing the gain at each coordinate in the space to be searched.

[0014] The movement control unit 11 controls the movement of the agent device 20A based on the gain set for each coordinate in the search target space. Here, "set for each coordinate" means that the gain is set across the entire search target space, and here, the gain is set for each grid area generated by dividing the search target space. The movement control unit 11 calculates an evaluation value for each of a plurality of candidate movement routes for the agent device 20A based on the gains of the coordinates searched for when the agent device 20A moves, selects a movement route from among the plurality of candidates based on the calculated evaluation value, and controls the movement of the agent device 20A along the selected movement route. Details of the method for selecting a movement route, such as the method for calculating the evaluation value, will be described later.

[0015] The gain control unit 12 controls the gain value set for each coordinate in the search target space. Here, the gain indicates the degree of exploration, which is the degree to which the position in the search target space indicated by the coordinates associated with the gain needs to be explored by the agent device 20A. The movement control unit 11 controls the agent device 20A to perform more exploration as the gain increases, and controls the agent device 20A to perform less exploration as the gain decreases. Therefore, the direction in which the gain is decreased can be said to be the direction in which the agent device 20A does not perform exploration, and is referred to here as the first direction. The direction opposite to the first direction is referred to as the second direction. Decreasing the gain value corresponds to lowering the exploration degree, and corresponds to changing the gain value in the first direction. Increasing the gain value corresponds to increasing the exploration degree, and corresponds to changing the gain value in the second direction. Note that the gain may be interpreted as the degree to which exploration is performed rather than the degree to which exploration is necessary, and the smaller the gain value, the more exploration the agent device 20A performs.

[0016] The gain control unit 12 sets a predetermined value as the initial gain value for all coordinates. For example, the initial value is set to "100." The initial value is the search degree for coordinates that have not been searched at all. After setting the initial value, the gain control unit 12 decreases the gain value for coordinates searched by the movement of the agent device 20A. For example, the gain control unit 12 sets the gain value for coordinates searched by the movement of the agent device 20A to "0." The gain control unit 12 can also control to increase the decreased gain value based on conditions. The gain control unit 12 can increase the gain value by adding α to the gain value. For example, the gain control unit 12 can gradually increase the gain value over time. For example, the gain control unit 12 may increase the gain by "1" every second, or by "2" every three steps. The time required to forget the search information varies depending on the value of α, which is the gain increase amount, the time interval for increasing the gain, and the initial gain value. For example, if the initial value is "100" and the gain value of the coordinates searched by the movement of the agent device 20A is changed to "0", and then the gain is increased by "1" for each step, the information that the search took 100 steps will be forgotten. Note that the control to increase the gain may be performed based on various conditions other than the passage of time. For example, when the search target is found, the gain control unit 12 may perform control to increase the gain value.

[0017] The storage unit 13 stores various types of information used by the control device 10A. The storage unit 13 can store, for example, an exploration degree map. The exploration degree map is a map that indicates the gain for each coordinate in the search target space. Here, a gain is set for each coordinate indicating the position of a grid area generated by dividing the search target space. In this case, the agent device 20A moves to a grid area connected to the grid area in which the agent device 20A is located. Here, "connected" grid areas means that the agent device 20A can move between grid areas. In the first embodiment, since the search target space is a Euclidean space, all adjacent grid areas are connected. Note that the format of the exploration degree map to store information is not important as long as it is possible to associate coordinates indicating positions in the search target space with gains.

[0018] FIG. 2 is a flowchart illustrating the operation of the control device 10A shown in FIG. 1. The gain control unit 12 sets initial values ​​for all grid areas (step S101). FIG. 3 is a first diagram illustrating an example of the operation of the control device 10A shown in FIG. 1. FIG. 3 shows a time series of states of the exploration degree map. State #1 in FIG. 3 illustrates the state of the exploration degree map immediately after step S101 in FIG. 2 is executed. Here, the gain control unit 12 sets 100 as the initial value for all grid areas. Note that, for the purpose of explanation, the exploration degree map in FIG. 3 is labeled C1 to C17 and R1 to R15 to indicate the position in the exploration degree map. For example, in the diagram of state #1 in FIG. 3, the top left grid area is referred to as the grid area C1R1.

[0019] Returning to the explanation of FIG. 2 . After setting the initial value, the gain control unit 12 sets the gain value within the field of view of the agent device 20A to 0 (step S102). State #2 in FIG. 3 shows an example of the state of the exploration degree map immediately after executing step S102 in FIG. 2 . Here, it is assumed that the agent device 20A is located in the grid area of ​​C4R4, and the field of view is a 5×5 square area centered on the position of the agent device 20A. The field of view refers to the area that the agent device 20A can search. The agent device 20A can obtain detection results indicating whether or not a search target exists from a detection device such as a TOF (Time of Flight) sensor, a camera, or a 3D (Dimensions) scanner. The field of view of the agent device 20A is determined depending on the performance and installation location of the detection device. The agent device 20A is not necessarily equipped with a detection device.

[0020] Returning to the explanation of FIG. 2, the gain control unit 12 sets the gain of the coordinates within the field of view to "0" and then adds α to the gain (step S103). At this time, the gain control unit 12 may add α to the gains whose values ​​are smaller than the initial value, and set the maximum value of the gain as the initial value. State #3 in FIG. 3 shows an example of the state of the search degree map immediately after executing step S103 in FIG. 2. Here, α=1, and "1" is added to the gain within the field of view to become "1." Since the gains of the coordinates outside the field of view are all 100, they remain at 100.

[0021] Returning to the description of FIG. 2 , the movement control unit 11 determines the movement direction based on the exploration degree map (step S104). Specifically, the movement control unit 11 calculates an evaluation value for each of multiple movement path candidates based on the gain of the coordinates searched when the agent device 20A moves, and selects a movement path based on the calculated evaluation value. The movement control unit 11 may calculate an evaluation value for a movement path that takes multiple steps into consideration. However, for simplicity, the movement direction is determined by calculating the evaluation value for moving one square. When calculating an evaluation value for a movement path that takes multiple steps into consideration, the evaluation value can be, for example, the total gain of all areas that newly come within the field of view after multiple steps of movement. It is assumed here that the agent device 20A can move to grid areas above, below, left, and right of the grid area in which it is currently located. FIG. 4 is a second diagram for explaining an example of the operation of the control device 10A shown in FIG. 1 . State #4 in Figure 4 has the same gain value as state #3 in Figure 3, and for the purpose of explaining the process of determining the movement direction in step S104 in Figure 2, it shows the area in the post-movement field of view that is the area that newly enters the field of view when agent device 20A located at C4R4 moves one square up, down, left, or right. In the example of state #4, the areas in the post-movement field of view are four: an area corresponding to an upward movement that includes the grid areas of C2R1, C3R1, C4R1, C5R1, and C6R1; an area corresponding to a rightward movement that includes the grid areas of C7R2, C7R3, C7R4, C7R5, and C7R6; an area corresponding to a downward movement that includes the grid areas of C2R7, C3R7, C4R7, C5R7, and C6R7; and an area corresponding to a leftward movement that includes the grid areas of C1R2, C1R3, C1R4, C1R5, and C1R6. Based on the exploration degree map, the movement control unit 11 calculates the sum of the gains of the coordinates indicating the position of the area within the post-movement field of view as the evaluation value corresponding to each movement direction. In state #4, the gains of the coordinates outside the field of view are all 100, so the evaluation values ​​corresponding to the four movement directions are all 500. In FIG. 4, among the multiple areas within the post-movement field of view, the area with the largest evaluation value is hatched with a diagonal line pattern. In state #4, the evaluation values ​​corresponding to the four areas within the post-movement field of view are all the same, 500, so all four are set to the maximum value.The movement control unit 11 determines the movement direction based on the magnitude of the evaluation value. The movement control unit 11 determines the movement direction with the largest evaluation value as the movement direction of the agent device 20A. If there are multiple maximum values, the movement control unit 11 can determine the movement direction from among the multiple movement directions corresponding to the largest values. The method of determining the movement direction from among the multiple movement directions with the same evaluation value may be, for example, random selection, or may be determined so as to prioritize one of the movement directions based on the movement history. For example, the movement control unit 11 may prioritize selecting the same direction as the previous movement direction. Here, the movement control unit 11 determines the upward direction as the movement direction.

[0022] Returning to the explanation of Fig. 2, the movement control unit 11 controls the movement of the agent device 20A in the determined movement direction, and the movement of the agent device 20A is carried out (step S105). After the agent device 20A has moved, the gain control unit 12 repeats the process from step S102. The process shown in Fig. 2 is repeated until a search end determination executed in parallel with the process shown in Fig. 2 determines that the search should be ended. Although the search end determination is not shown, the search ends when a search end condition is met. For example, the search end condition can be when a predetermined time has elapsed or when the search target has been found.

[0023] State #5 in FIG. 4 shows the state of the exploration level map when moving upward from state #4. The gain within the field of view is set to "0," and then α=1 is added, resulting in a gain value of "1." Furthermore, the gains of C2R6, C3R6, C4R6, C5R6, and C6R6, which are outside the field of view, are set to "2" by adding α=1. In state #5, further upward movement is not possible, so the area within the field of view after the movement is divided into three areas corresponding to leftward movement, rightward movement, and downward movement. The evaluation values ​​corresponding to leftward movement and rightward movement are 500, respectively, and the evaluation value corresponding to downward movement is 10. Therefore, the movement directions corresponding to the maximum evaluation values ​​are leftward and rightward. The movement control unit 11 can determine the movement direction from, for example, leftward and rightward. Here, the movement control unit 11 determines the movement direction to be leftward.

[0024] State #6 in Figure 4 shows the state of the exploration degree map when moving leftward from state #5. Within the field of view, the gain is set to 0, and then α = 1 is added, making the gain value "1". Outside the field of view, α = 1 is added to gains with values ​​less than 100. In state #6, the possible directions of movement are downward or rightward. The evaluation value corresponding to the downward direction is 112, and the evaluation value corresponding to the rightward direction is 10, so the direction corresponding to the maximum value is downward.

[0025] FIG. 5 is a third diagram illustrating an example of the operation of the control device 10A shown in FIG. 1. State #7 in FIG. 5 shows the state of the search degree map when the movement direction is determined to be downward in state #6. Within the field of view, the gain is set to 0, and then α=1 is added, resulting in a gain value of "1." Outside the field of view, α=1 is added to gains with values ​​less than 100. In state #7, the possible directions of movement are upward, downward, and rightward. The evaluation value corresponding to the upward direction is 10, the evaluation value corresponding to the rightward direction is 16, and the evaluation value corresponding to the downward direction is 500, so the direction corresponding to the maximum value is downward.

[0026] State #8 shows the state of the exploration degree map when moving downward five times from state #7. The processing is the same as when moving from state #6 to state #7, so details are omitted here, but the downward direction is determined as the movement direction five times in a row based on the gain value. Within the field of view, the gain is set to 0, and then α=1 is added to make the gain value "1". Outside the field of view, α=1 is added to gains with values ​​less than 100. In state #8, the possible movement directions are upward, downward, and rightward. The evaluation value corresponding to the upward direction is 10, and the evaluation values ​​corresponding to the downward and rightward directions are both 500, so the movement control unit 11 determines the movement direction from either downward or rightward.

[0027] State #9 shows the state of the exploration degree map when moving downward four times from state #8. Within the field of view, the gain is set to 0, and then α=1 is added, making the gain value "1". Outside the field of view, α=1 is added to gains with values ​​less than 100. In state #9, the possible directions of movement are upward and rightward. The evaluation value corresponding to the upward direction is 10, and the evaluation value corresponding to the rightward direction is 500, so the movement control unit 11 determines the rightward direction as the movement direction.

[0028] FIG. 6 is a fourth diagram illustrating an example of the operation of the control device 10A shown in FIG. 1 . State #10 shows the state of the exploration degree map when moving four times to the right from state #9. Within the field of view, the gain is set to 0, and then α=1 is added, resulting in a gain value of "1." Outside the field of view, α=1 is added to gains with values ​​less than 100. In state #10, the possible directions of movement are upward, leftward, and rightward. The evaluation value corresponding to the upward direction is 500, the evaluation value corresponding to the leftward direction is 10, and the evaluation value corresponding to the rightward direction is 500, so the movement control unit 11 determines the rightward or upward direction as the movement direction.

[0029] State #11-1 shows the state of the exploration degree map when moving upward from state # 10. In state #11-1, the possible directions of movement are upward, left, downward, and right, and the evaluation value is greatest in the upward and right directions, so the movement direction is determined to be upward or right.

[0030] State #11-2 shows the state of the exploration degree map when moving right from state #10. In state #11-2, the possible directions of movement are upward, left, and right, and the evaluation value is greatest in the upward and right directions, so the movement direction is determined to be upward or right.

[0031] In this way, the movement control unit 11 calculates an evaluation value for each of a plurality of candidate movement directions based on the gain of the coordinates that will be searched when the agent device 20A moves, and selects a movement direction based on the calculated evaluation value. Here, the gain of each coordinate decreases as the agent device 20A moves and increases over time. Therefore, positions in the search target space that have not been searched before are searched preferentially, and even positions that have been searched increase in search priority as time passes. This method makes it possible to eventually search the entire search target space. The gain of coordinates that have just been searched is set to 0, and the agent device 20A moves in a direction with a large gain, so there is a low possibility that the movement route will be a continuous round trip. Even if the agent device 20A takes an inefficient movement route, the movement will return to the initial branch, making it possible to thoroughly search the search target space.

[0032] Here, the evaluation value is the sum of the gains of the coordinates that are newly searched for when the agent device 20A moves to a candidate movement direction, but the evaluation value is not limited to this example. It may be calculated based on the gains of the coordinates that are newly searched for when the agent device 20A moves to a candidate movement direction. Also, for simplicity, the evaluation value is calculated for a candidate movement direction here, but a more efficient search can be achieved by calculating an evaluation value for each of multiple candidate movement routes that include multiple steps.

[0033] In the first embodiment, the field of view of the agent device 20A is a 5×5 square area centered on the position of the agent device 20A, but is not limited to this example. FIG. 7 is a diagram showing an example of the field of view of the agent device 20A. The field of view varies depending on the performance of the detection device used by the agent device 20A for search and the installation location of the detection device. For example, the field of view may be one square in front of the agent device 20A. When the agent device 20A faces in a direction parallel to the sides of the grid area, the one square in front is a grid area adjacent to the grid area in which the agent device 20A is located. When the agent device 20A faces in a direction not parallel to any side of the grid area, the one square in front is a diagonal grid area that touches the grid area in which the agent device 20A is located at a point. Furthermore, the field of view may be, for example, two squares in front, or two squares in front and one square to the left and right.

[0034] As described above, according to the first embodiment, it is possible to provide a control device 10A that controls an agent device 20A that moves within a search target space. The control device 10A includes a movement control unit 11 that controls the movement of the agent device 20A based on a gain set for each coordinate in the search target space, and a gain control unit 12 that controls changing the gain values ​​of coordinates searched by the movement of the agent device 20A in the search target space, specifically, of coordinates within the field of view, in a first direction in which the agent device 20A does not perform a search. In this embodiment, the first direction is a direction that decreases the gain value. The gain control unit 12 controls changing the gain value, changed in the first direction, to a second direction opposite to the first direction based on a condition. In this embodiment, the second direction is a direction that increases the gain value. In this embodiment, the conditions include a condition based on the passage of time and a condition that a search target is discovered. The above configuration makes it possible to reduce the computational cost of persistent coverage control.

[0035] The movement control unit 11 calculates an evaluation value for each of a plurality of movement route candidates based on the gains of the coordinates that will be searched when the agent device 20A moves, selects a movement route from the plurality of candidates based on the calculated evaluation value, and controls the movement of the agent device 20A along the selected movement route. Here, the evaluation value can be, for example, the sum of the gains of the coordinates that will be searched when the agent device 20A moves. By using the sum of the gains as the evaluation value, it is possible to more reliably reduce the calculation cost for determining a movement route.

[0036] In this embodiment, a gain is set for each coordinate indicating the position of a grid area generated by dividing the search target space.

[0037] Furthermore, according to the first embodiment, it is possible to provide a method for controlling the movement of the agent device 20A in a space to be searched. This control method includes the steps of controlling the movement of the agent device 20A based on a gain set for each coordinate in the space to be searched, controlling the value of the gain for the coordinate searched by the movement of the agent device 20A in the space to be searched to a first direction that is a direction in which searching by the agent device 20A is not performed, and controlling the value of the gain changed to the first direction to a second direction opposite to the first direction, based on a condition.

[0038] Second Embodiment Fig. 8 is a diagram showing an example of the functional configuration of a control device 10B according to a second embodiment. In the second embodiment, a control device 10B that controls an agent device 20B that moves through a search target space that includes obstacles will be described. The control device 10B has a movement control unit 11B, a gain control unit 12B, a storage unit 13B, and an obstacle information acquisition unit 14. Below, the differences from the first embodiment will be mainly described, and detailed descriptions of the same parts as in the first embodiment will be omitted.

[0039] FIG. 9 is an explanatory diagram of the field of view in a search target space that includes an obstacle. The obstacle not only hinders the movement of the agent device 20B but also limits the field of view of the agent device 20B. For example, if the agent device 20B is located at the position shown in FIG. 9 and the field of view of the agent device 20B is three squares forward, if there are no obstacles, the field of view should extend forward from the grid area where the agent device 20B is located (in the example of FIG. 9, the agent device 20B is facing right, so the field of view should extend three squares to the right). However, because an obstacle exists between the grid area two squares to the right of the agent device 20B and the grid area three squares to the right of the agent device 20B, the grid area three squares to the right of the agent device 20B is not included in the field of view. In this way, when there is a possibility that the search target space includes an obstacle, the field of view is determined depending on the performance and installation location of the detection device that detects the search target, and the presence or absence of obstacles.

[0040] The obstacle information acquisition unit 14 acquires obstacle information indicating the location of an obstacle in the search target space and stores the acquired obstacle information in the storage unit 13B. The location of the obstacle may be known in advance, or the presence or absence of the obstacle may be confirmed during the search. Whether the location of the obstacle is known in advance depends on the search conditions. If the location of the obstacle is known in advance, the obstacle information acquisition unit 14 may accept obstacle information data input by a user of the control device 10B using an input device, acquire obstacle information received from outside the control device 10B via a communication channel, or acquire obstacle information read from a storage medium. If the location of the obstacle is not known in advance, the obstacle information acquisition unit 14 may be a detection device that detects the obstacle. The detection device may be, for example, a time-of-flight sensor, a camera, a 3D scanner, or the like. The detection device that detects the obstacle may be the same as the detection device that detects the search target.

[0041] The storage unit 13B stores a search level map including gains set for each coordinate in the search target space and obstacle information. Note that, although the obstacle information is included in the search level map here, this is not a limitation. For example, the obstacle information may be managed as an obstacle map separate from the search level map.

[0042] The movement control unit 11B controls the movement of the agent device 20B based on the obstacle information, so that the agent device 20B moves in a direction where there is no obstacle.

[0043] The gain control unit 12B performs control to increase the gain of coordinates where the presence or absence of an obstacle has not been confirmed. This increases the possibility that the agent device 20B will move to coordinates where the presence or absence of an obstacle has not been confirmed, thereby shortening the time it takes to confirm the presence or absence of an obstacle throughout the entire search target space. For example, the gain control unit 12B may set a new gain at positions between coordinates where a gain has already been set and coordinates where the presence or absence of an obstacle has not been confirmed.

[0044] FIG. 10 is an explanatory diagram of the first function of the gain control unit 12B shown in FIG. 8 . The circle in FIG. 10 indicates the position of the agent device 20B. The arrow indicates the direction of the agent device 20B. The thick line indicates a wall, which is an obstacle. The example in FIG. 10 shows a case where the agent device 20B is positioned in the grid area C4R3 facing right, and then rotates to face downward. At this time, the agent device 20B has the function of checking for the presence or absence of obstacles only ahead, and has not checked for the presence or absence of obstacles between the grid areas C4R2 and C4R3. In this case, the gain control unit 12B can set a new gain between the grid areas C4R2 and C4R3. In the example in FIG. 10 , the new gain value is 50. The newly set gain value is merely an example, and it is sufficient if it increases the likelihood of being searched compared to the surrounding areas. Although a new gain is set between coordinates where a gain has already been set, the gain control method is not limited to the above example as long as it is possible to increase the possibility of checking the presence or absence of an obstacle by moving around a position where the presence or absence of an obstacle has not been checked. The gain control unit 12B may add an additional gain for an obstacle to the gain already set around a position where the presence or absence of an obstacle has not been checked.

[0045] Furthermore, the gain control unit 12B may perform control to set the gain based on the gain of the surrounding area. Specifically, when there is a position to be searched in the surrounding area, even if the target coordinates themselves have already been searched, the gain control unit 12B may perform control to increase the gain of the target coordinates. The gain control unit 12B performs control to increase the gain of coordinates with high gain, for example, coordinates that can be moved to unsearched coordinates.

[0046] FIG. 11 is an explanatory diagram of the second function of the gain control unit 12B shown in FIG. 8 . For example, the grid areas C1R1, C2R1, C3R1, and C4R1 are unsearched, and moving to these grid areas requires passing through the grid area C5R1. However, if the grid area C5R1 has been searched, the gain decreases, reducing the possibility that the agent device 20B will move to C5R1. As a result, the grid areas C1R1, C2R1, C3R1, and C4R1 may remain unsearched. For this reason, the gain control unit 12B can perform control to increase the gain of the coordinates indicating the position of the grid area C5R1, which can be moved to an unsearched area. In this case, the value set by the gain control unit 12B as the gain for the grid area C5R1 can be determined based on the gain values ​​of the surrounding areas. Furthermore, if the grid area C6R3 has been searched and the grid areas C5R4 and C6R4 are unsearched, the gain control unit 12B controls the gain of the grid area C6R3 to increase the likelihood that the grid areas C5R4 and C6R4 will be searched. Furthermore, because the grid area C5R10 can be moved to two unsearched grid areas, C4R10 and C6R10, the gain control unit 12B may increase the gain of the grid area C5R10 more significantly than for grid areas that can be moved to a single unsearched grid area. While FIG. 11 illustrates coordinates indicating the position of an unsearched area as an example of high-gain coordinates, high-gain coordinates are not limited to unsearched areas that have never been searched, but may also include coordinates indicating the position of areas that have been searched once but have not been searched again for a long time and therefore have a high gain. In this case, the unsearched grid areas may be grid areas whose gain is equal to or greater than a threshold value.

[0047] As described above, according to the second embodiment, it is possible to provide a control device 10B that can cause an agent device 20B to search a search target space that includes obstacles. In addition to the functions of the control device 10A, the control device 10B has a gain control unit 12B that performs control to change, in a second direction, the gain of coordinates where the presence or absence of an obstacle has not been confirmed. Alternatively, the gain control unit 12B of the control device 10B may perform control to set a new gain at positions between coordinates where a gain has been set and coordinates where the presence or absence of an obstacle has not been confirmed.

[0048] Furthermore, according to the second embodiment, the gain control unit 12B has a function of setting the gain based on the surrounding gain. Specifically, the gain control unit 12B controls to change the gain of coordinates that can be moved to unsearched coordinates in a second direction, that is, to increase it. If the gain of searched coordinates is controlled to be lowered, if there is an unsearched coordinate that cannot be moved to without passing through the searched coordinate, there is a high possibility that the unsearched coordinate will remain unsearched. In contrast, by adjusting the gain based on the surrounding gain as described above, it is possible to avoid the situation where the coordinate remains unsearched as described above. Note that instead of unsearched coordinates, coordinates whose gain is equal to or greater than a threshold value may be used. This makes it easier to search for coordinates whose gain is equal to or greater than the threshold value, i.e., unsearched coordinates and coordinates that have been searched for a long time.

[0049] Third Embodiment Fig. 12 is a diagram showing an example of the functional configuration of a control device 10C according to a third embodiment. In the third embodiment, a control device 10C that controls the movement of an agent device 20C based on importance information that indicates a position to be searched with priority in a space to be searched will be described. Below, differences from the first embodiment will be mainly described, and detailed descriptions of similar parts to the first embodiment will be omitted. Components that are assigned the same reference numerals as those in the first embodiment have the same functions as those in the first embodiment.

[0050] The control device 10C includes a movement control unit 11, a gain control unit 12C, a storage unit 13C, and an importance information acquisition unit 15.

[0051] The importance information acquisition unit 15 acquires importance information indicating positions to be searched with priority in the search target space and stores the acquired importance information in the storage unit 13C. The importance information is, for example, an importance map. The importance information acquisition unit 15 may acquire pre-generated importance information from outside the control device 10C, or may generate the importance information internally by calculation. When acquiring importance information from outside the control device 10C, the importance information acquisition unit 15 may, for example, accept importance information data input by a user of the control device 10C using an input device, acquire importance information received from outside the control device 10C via a communication path, or acquire importance information read from a storage medium. Note that, here, the importance information is represented by a map of the same size as the search level map and is an importance map indicating the distribution of importance in the search target space. However, the importance information may also be coordinate information indicating points to be searched with priority in the search target space.

[0052] The gain control unit 12C performs control to adjust the gain based on the importance information. The gain control unit 12C performs control to increase the gain of coordinates indicating positions with high importance. FIG. 13 is an explanatory diagram of search based on importance information. By increasing the gain of areas with high importance, the control device 10C can cause the agent device 20C to search areas with high importance preferentially. FIG. 14 is an explanatory diagram of control to adjust the gain performed by the gain control unit 12C shown in FIG. 12. The gain control unit 12C multiplies the importance map with the search level map to update the search level map in the memory unit 13C. In the importance map in FIG. 14, white indicates higher importance. The search level map shows unsearched positions in white and positions immediately after search in black, with higher brightness indicating higher gain. In the search level map, there are many unsearched areas and high-importance areas are also unsearched during one step, so when the search level map during one step is multiplied by the importance map, the gain of high-importance areas is higher. Furthermore, the search level map at 500 steps has more searched regions than at 1 step, and regions of high importance have also been searched, resulting in a lower gain. When the search level map at 500 steps and the importance map are multiplied, the gain of the regions of high importance is lower because they have already been searched.

[0053] As described above, the control device 10C according to the third embodiment includes, in addition to the functions of the control device 10A, an importance information acquisition unit 15 that acquires importance information indicating a position to be searched with priority in the search target space, and a gain control unit 12C that performs control to adjust the gain based on the importance information. As a result, when an area where a search target is thought to exist is identified, it becomes possible to search that area with priority.

[0054] Fourth Embodiment. Fig. 15 is a diagram showing an example of the functional configuration of a control device 10D according to a fourth embodiment. In the fourth embodiment, a control device 10D that controls an agent device 20D in a search system 1 in which the same search target space is searched by a plurality of agent devices 20-1, 20-2, and 20D will be described. Note that when there is no particular need to distinguish between the plurality of agent devices 20-1, 20-2, and 20D, they may be simply referred to as agent devices 20. Below, differences from the first embodiment will be mainly described, and detailed descriptions of similar parts to the first embodiment will be omitted. Components that are assigned the same reference numerals as those in the first embodiment have the same functions as those in the first embodiment.

[0055] The search system 1 searches a search target space using multiple agent devices 20. At least some of the multiple agent devices 20 included in the search system 1 cooperate with each other to perform the search. Specifically, the multiple agent devices 20 exchange cooperation information, which is information for cooperatively conducting the search, and their own location information with each other. The cooperation information may be, for example, an exploration level map or a travel route. When a travel route is used as the cooperation information, the transmitted and received travel route may be a determined travel route or a candidate travel route. Multiple candidate travel routes may be included. In the example of FIG. 15 , the agent device 20D is controlled based on the cooperation information and location information acquired from the other agent devices 20-1 and 20-2.

[0056] The control device 10D includes a movement control unit 11D, a gain control unit 12D, a storage unit 13, and a collision avoidance unit 16.

[0057] The gain control unit 12D acquires position information and cooperation information from the other agent devices 20-1 and 20-2, and updates the exploration degree map stored in the storage unit 13 based on the acquired cooperation information. Specifically, the gain control unit 12D performs control to reduce the gain of coordinates that have already been searched for by the other agent devices 20 based on the cooperation information. The gain control unit 12D also provides the acquired position information to the movement control unit 11D and the collision avoidance unit 16 via the storage unit 13.

[0058] The collision avoidance unit 16 avoids collisions between the agent devices 20 based on the position information and cooperation information of the other agent devices 20. For example, the cooperation information here is assumed to be a plurality of candidate movement routes for the agent devices 20. The collision avoidance unit 16 selects a combination of movement routes that will prevent a plurality of agent devices 20 from being located at the same coordinates at the same time, based on the candidate movement route for the agent device 20D and the candidate movement routes for the other agent devices 20-1 and 20-2. In this case, the collision avoidance unit 16 may select a movement route that does not overlap with a single grid area in which the agent device 20 is located, or may set a plurality of grid areas within the field of view as lock ranges in addition to the grid area in which the agent device 20 is located, and select a movement route that does not overlap with the lock ranges at the same time.

[0059] FIG. 16 is a diagram showing a first example of a lock range. FIG. 16 shows an example of a lock range when the field of view of the agent device 20 is one square from the grid area where the agent device 20 is located. FIG. 17 is a diagram showing a second example of a lock range. FIG. 17 shows an example of a lock range when the field of view of the agent device 20 is two squares. FIG. 18 is a diagram showing a third example of a lock range. FIG. 18 shows an example of a lock range when the field of view of the agent device 20 includes two squares as well as the squares on the left and right. In FIGS. 16 to 18, when grid areas are connected by a solid line, this means that the agent device 20 can move between the two connected grid areas, that is, there are no obstacles between the grid areas. The collision avoidance unit 16 may set the entire area within the field of view of the agent device 20 as the lock range, or may set a portion of the area within the field of view as the lock range. For example, the collision avoidance unit 16 may take into account the orientation of the agent device 20 and set only the area within the field of view ahead of the agent device 20 as the lock range. Furthermore, if the agent device 20 is capable of moving forward and backward, the lock range may include grid areas before and after the grid area in which the agent device 20 is located. Grid areas into which the agent device 20 can move without changing direction may be included in the lock range, and grid areas into which the agent device 20 cannot move without changing direction may be excluded from the lock range even if they are within the field of view. Each of Figures 16 to 18 shows an example in which the area within the field of view in front of the agent device 20 is set as the lock range, taking into account the orientation of the agent device 20.

[0060] The movement control unit 11D acquires an exploration degree map, position information, and cooperation information from the storage unit 13. The movement control unit 11D can generate one or more candidate movement routes based on the acquired exploration degree map. The exploration degree map acquired from the storage unit 13 is updated by the gain control unit 12D based on the cooperation information, so by using this exploration degree map, it is possible to generate a movement route that takes into account exploration by other agent devices 20. Furthermore, the movement control unit 11D passes the acquired position information, cooperation information, and generated movement route to the collision avoidance unit 16, and controls the movement of the agent device 20D based on the movement route for the agent device 20D selected by the collision avoidance unit 16. Furthermore, the movement control unit 11D passes the movement route for the agent devices 20-1 and 20-2 selected by the collision avoidance unit 16 to the gain control unit 12D via the storage unit 13 as an agreed route.

[0061] The gain control unit 12D can transmit to the other agent devices 20-1, 20-2 the agreed-upon path generated by the movement control unit 11D and the collision avoidance unit 16. By having the other agent devices 20-1, 20-2 move along the agreed-upon path, collisions can be avoided even when multiple agent devices 20 search the same search target space.

[0062] When a search target space is searched by a plurality of agent devices 20, if one of the plurality of agent devices 20 loses its own position and becomes unsure where it is located, the agent devices 20 other than the agent device 20 that has lost its own position add the agent device 20 that has lost its own position to the search targets detected by the detection device. Therefore, if one of the agent devices 20-1, 20-2 other than the agent device 20D loses its own position, for example, if the agent device 20-2 has lost its own position, the movement control unit 11D adds the agent device 20-2 to the search targets. For example, if an agent device 20 moves in an unusual manner due to slipping, it may lose its own position. When the agent devices 20 recognize the existence of an agent device 20 that has lost its position in some way, the agent devices 20 other than the agent device 20 that has lost its position add the agent device 20 that has lost its position to the search targets. When the other agent devices 20 move near the agent device 20 that has lost its position, for example, by communicating and visually recognizing each other, the agent device 20 that has lost its position can recognize its own position from the relative positions of the other agent devices 20.

[0063] As explained above, according to the fourth embodiment, it becomes possible for a plurality of agent devices 20 to operate cooperatively. In addition to the functions of the control device 10A, the control device 10D has the function of transmitting and receiving an exploration degree map, which is a map that indicates the gain of each coordinate in the search target space stored in the storage unit 13. The gain control unit 12D acquires the exploration degree maps or cooperation information that indicates the movement routes of the other agent devices 20-1, 20-2, and updates the exploration degree map based on the cooperation information. This makes it possible to reduce the gain of coordinates that have been searched by other agent devices 20, and coordinates that have not been searched by any of the agent devices 20 are preferentially searched.

[0064] Furthermore, in the control device 10D, a gain control unit 12D acquires position information and cooperation information of the other agent devices 20-1 and 20-2. The control device 10D includes a collision avoidance unit 16 that avoids collisions between the agent devices 20 based on the position information and cooperation information. Specifically, the collision avoidance unit 16 controls the agent devices 20 so that they are not located in the same grid area at the same time.

[0065] Furthermore, when another agent device 20 loses its own location, the movement control unit 11D can add the other agent device 20 that has lost its own location to the search targets. This makes it possible to support the agent device 20 that has lost its own location in re-recognizing its own location. For example, when an agent device 20 that has lost its own location detects an abnormality, it notifies the other agent devices 20 of the abnormality. This allows the other agent devices 20 to know that there is an agent device 20 that has lost its own location. Furthermore, the other agent devices 20 may determine whether or not they have lost their own location from the behavior of the agent device 20.

[0066] According to the fourth embodiment, it is possible to provide a search system 1 which is provided with a plurality of agent devices 20 which move in a space to be searched, and each of the plurality of agent devices 20 has a movement control unit 11D which controls the movement of the agent device 20 based on a gain set for each coordinate in the space to be searched, and a gain control unit 12D which controls to change the gain value of the coordinate searched by the movement of the agent device 20 in the space to be searched to a first direction which is a direction in which searching by the agent device 20 will not be performed, and the gain control unit 12D controls to change the gain value which has been changed to the first direction to a second direction opposite to the first direction based on a condition, and at least some of the plurality of agent devices 20 transmit and receive maps which indicate the gain for each coordinate in the space to be searched or cooperation information which indicates a movement route to and from other agent devices 20.

[0067] Fifth Embodiment. Fig. 19 is a diagram showing an example of the functional configuration of a control device 10E according to a fifth embodiment. In the fifth embodiment, a control device 10E that controls an agent device 20E in a search system 2 in which the same search target space is searched by a plurality of agent devices 20-1, 20-2, and 20E will be described. Note that when there is no need to particularly distinguish between the plurality of agent devices 20-1, 20-2, and 20E, they may be simply referred to as agent devices 20. Below, differences from the fourth embodiment will be mainly described, and detailed description of similar parts to the fourth embodiment will be omitted. Components that are assigned the same reference numerals as those in the fourth embodiment have the same functions as those in the fourth embodiment.

[0068] The search system 2 divides the search target space and sets a coverage area for each agent device 20, and each agent device 20 moves within its coverage area based on its profit. The coverage area is also updated during the search. Here, it is assumed that the control device 10E provided in the agent device 20E has a function of assigning coverage areas. Once the control device 10E assigns coverage areas to each agent device 20, it can transmit coverage area information indicating the coverage area to each agent device 20. Each agent device 20 searches within its coverage area based on the coverage area information, thereby avoiding collisions between the agent devices 20. The control device 10E is equipped with a collision avoidance unit 16, and by combining the function of the collision avoidance unit 16 with the allocation of coverage areas, collisions between the agent devices 20 can be more reliably avoided. However, the control device 10E may be configured without the collision avoidance unit 16.

[0069] The control device 10E has a movement control unit 11E, a gain control unit 12E, a storage unit 13, and a collision avoidance unit 16. Here, it is assumed that the search target space of the search system 2 includes obstacles, and the obstacles form a path along which the agent device 20 travels. FIGS. 20 and 21 show an example of a map showing the search target space of the search system 2 according to the fifth embodiment. FIG. 20 is a diagram showing an example of dividing the search target space based on Euclidean distance, which is a comparative example of the fifth embodiment. FIG. 21 is a diagram showing an example of dividing the search target space performed by the movement control unit 11E according to the fifth embodiment.

[0070] The comparative example in Figure 20 shows an example in which Voronoi division is performed in Euclidean space based on the current positions of three agent devices 20. In this case, there is a possibility that coordinates will be included that an agent device 20 cannot move to within its coverage area. Specifically, the agent device 20 whose coverage area includes the grid area C7R6 in Figure 20 is the agent device 20 currently located in the grid area C3R2, but the agent device 20 currently located in the grid area C3R2 cannot move to the grid area C7R6 without passing through the coverage areas of the other agent devices 20.

[0071] In response to this, the movement control unit 11E determines the coverage area of ​​each agent device 20 based on the position information of multiple agent devices 20 included in the search target space and the distance along the paths that the agent devices 20 can travel in the search target space so that the paths within the coverage area allow movement from the position of the target agent device 20 without passing through the coverage areas of other agent devices 20. Therefore, as shown in FIG. 21 , the grid area C7R6 is assigned to the coverage area of ​​the agent device 20 currently located at C2R10, and each agent device 20 can move to grid areas within its own coverage area without passing through the coverage areas of other agent devices 20. The movement control unit 11E can assign coverage areas, for example, by using Voronoi cell division based on the current position of the agent device 20 to be assigned. In this case, the movement control unit 11E can assign each grid area to a nearby agent device 20 based on the distance along the paths that the agent device 20 can travel, rather than Euclidean distance. When the agent device 20 moves to each grid area, it takes longer to move after rotating than to move without rotating. Therefore, the area of ​​responsibility may be determined taking into consideration whether or not there is rotation, or may not take into consideration whether or not there is rotation.

[0072] Furthermore, the movement control unit 11E reallocates and updates the responsible area when an area update condition is satisfied. The area update condition may include, for example, at least one of the following: a change in the position of the agent device 20; detection of an obstacle in the search target section; and discovery of the search target.

[0073] Every time the movement control unit 11E determines a coverage area, the movement control unit 11E passes coverage area information indicating the determined coverage area to the gain control unit 12E via the storage unit 13.

[0074] In addition to the functions of the gain control unit 12, the gain control unit 12E can notify the other agent devices 20-1 and 20-2 of coverage area information and update the exploration degree map in the storage unit 13 based on the coverage area information, thereby setting the coverage area of ​​the agent device 20E, which is the controlled object. At this time, the gain control unit 12E can set the coverage area by changing the gain of coordinates belonging to the coverage areas of the other agent devices 20-1 and 20-2, for example, by setting a negative value. Alternatively, the gain control unit 12E can set the coverage area by cutting a path at the boundary between the coverage area of ​​the agent device 20E and the coverage areas of the other agent devices 20-1 and 20-2 in the exploration degree map. In other words, the gain control unit 12E can set the coverage area of ​​the agent device 20E by treating the boundary between the coverage area of ​​the agent device 20E and the coverage areas of the other agent devices 20-1 and 20-2 as if an obstacle exists.

[0075] Fig. 22 is a flowchart for explaining the operation of the control device 10E shown in Fig. 19 to set a coverage area. The movement control unit 11E of the control device 10E determines the coverage area of ​​each agent device 20 (step S201). When the movement control unit 11E passes coverage area information indicating the coverage area of ​​each agent device 20 to the gain control unit 12E via the storage unit 13, the gain control unit 12E sets the coverage area of ​​the agent device 20E based on the coverage area information and transmits the coverage area information to the other agent devices 20-1 and 20-2 (step S202).

[0076] Each agent device 20 searches its assigned area (step S203). The movement control unit 11E determines whether the area update condition is met while performing the search (step S204). If the area update condition is not met (step S204: No), the movement control unit 11E returns to step S203 and continues the search. If the area update condition is met (step S204: Yes), the movement control unit 11E reassigns the assigned area and updates the assigned area (step S205). After processing step S205, the process returns to step S202. This allows the control device 10E to perform a search while updating the assigned area each time the area update condition is met.

[0077] Here, an additional function of the movement control unit 11E when determining its coverage area will be described. FIG. 23 is an explanatory diagram of the additional function of the movement control unit 11E shown in FIG. 19. When determining its coverage area, the movement control unit 11E can create gaps between adjacent coverage areas by expanding the positions of other agent devices 20 and determining the coverage area using Voronoi cell division. A gap is an area that is not assigned to any agent device 20. For example, assume that the agent device 20E is located in the grid area C3R2, the agent device 20-1 is located in the grid area C2R10, and the agent device 20-2 is located in the grid area C1R12. In the situation shown in FIG. 23, when determining the coverage area of ​​the agent device 20E, the position of the agent device 20E is located in the grid area C3R2, the position of the agent device 20-1 is expanded to a 3×3 square area centered on the grid area C2R10, and the position of the agent device 20-2 is expanded to a 3×3 square area centered on C1R12. In other words, the position of agent device 20-1 is a square area that includes the grid areas of C1R9, C2R9, C3R9, C1R10, C2R10, C3R10, C1R11, C2R11, and C3R11. Furthermore, because the 3 x 3 square area centered at C1R12 includes an area outside the search target space, the position of agent device 20-2 is actually a rectangular area that includes the grid areas of C1R11, C2R11, C1R12, C2R12, C1R13, and C2R13. When determining the area covered by agent device 20E, movement control unit 11E performs Voronoi cell division at all of the expanded positions and at position C3R2, intentionally leaving gaps at the boundaries. Since gaps are not assigned to any agent device 20, they are not searchable at a certain point in time. However, in this embodiment, the assigned area is repeatedly updated, so that as the agent device 20 moves, the area that was included in the gap will also be included in one of the assigned areas and become a searchable area.

[0078] Fig. 24 is an explanatory diagram of the additional function of the gain control unit 12E shown in Fig. 19. When the movement control unit 11E determines the area of ​​responsibility, depending on the positions of the other agent devices 20, there is a possibility of a deadlock occurring, in which there is no area available for movement. In the example shown in Fig. 24, there is a large difference in the area of ​​responsibility of each agent device 20. The agent device 20 located in the grid area C7R9 has a small area to move, and if this continues, there is a high possibility of a deadlock occurring. Furthermore, if the area difference between the areas of responsibility becomes large, the efficiency of the search will also decrease when viewed overall.

[0079] The gain control unit 12E has a function to adjust the coverage area according to the difference in area of ​​each coverage area after the movement. This makes it possible to prevent an extremely wide or narrow coverage area from being assigned. For example, the gain control unit 12E can change the value of the gain according to whether or not the agent device 20E is within its field of view, and can also perform control to lower the gain if the area of ​​the coverage area of ​​the agent device 20E after the movement or the area of ​​the coverage area of ​​another adjacent agent device 20 after the movement is small. This allows actions that increase the area of ​​the coverage area after the movement to be performed with priority.

[0080] As described above, according to the fifth embodiment, in an environment in which a search target space includes obstacles and the obstacles form paths along which the agent devices 20 travel, it is possible to appropriately determine a search coverage area for each of the multiple agent devices 20. Specifically, in the control device 10E, the movement control unit 11E divides the search target space based on the position information of the multiple agent devices 20 included in the search target space and the distance along the paths along which the agent devices 20 can travel in the search target space, and determines the coverage area for each agent device 20, and controls the movement of the agent devices 20 based on the gain within the determined coverage area. In this case, the movement control unit 11E determines the coverage area for each agent device 20 so that a path within the coverage area allows movement from the position of the target agent device 20 without passing through the coverage areas of other agent devices 20. The movement control unit 11E can determine the coverage area by, for example, Voronoi cell division. As a method other than Voronoi cell division, for example, a method of dividing the area based on Euclidean distance and then adjusting the coverage area based on the connection relationship between grid areas can be considered.

[0081] Furthermore, the gain control unit 12E can set the area of ​​responsibility of another agent device 20 by changing the gain of coordinates that belong to that agent device's area of ​​responsibility, or by cutting the route at the boundary between its own area of ​​responsibility and the area of ​​responsibility of another agent device 20 in an exploration degree map that shows the gain of each coordinate in the space to be searched. This makes it possible to execute a search limited to the area of ​​responsibility, even for parts outside the area of ​​responsibility of the currently targeted agent device 20, while maintaining the exploration degree map.

[0082] The movement control unit 11E performs control to update the assigned area when predetermined area update conditions are met. The area update conditions can include at least one of the following: a change in the position of the agent device 20, detection of an obstacle in the search target space, and discovery of a search target.

[0083] Furthermore, the movement control unit 11E can provide a gap between adjacent coverage areas by expanding the positions of other agent devices 20 and determining coverage areas by Voronoi cell division, thereby making it possible to more reliably avoid collisions between agent devices 20.

[0084] Furthermore, the gain control unit 12E can adjust the gain value based on the area of ​​the assigned region after the movement, which makes it possible to avoid a movement that would result in a large difference in the area of ​​the assigned region after the movement, thereby reducing the probability of a deadlock occurring.

[0085] Sixth Embodiment. Fig. 25 is a diagram showing an example of the functional configuration of a control device 10F according to a sixth embodiment. In the sixth embodiment, a control device 10F that controls an agent device 20F in a search system 3 in which the same search target space is searched by a plurality of agent devices 20-1, 20-2, and 20F will be described. Note that when there is no particular need to distinguish between the plurality of agent devices 20-1, 20-2, and 20F, they may be simply referred to as agent devices 20. Below, differences from the fourth and fifth embodiments will be mainly described, and detailed descriptions of similar portions to the fourth and fifth embodiments will be omitted. Components that are assigned the same reference numerals as those in the fifth embodiment have the same functions as those in the fifth embodiment.

[0086] The control device 10F has a movement control unit 11F, a gain control unit 12E, a memory unit 13B, and an obstacle information acquisition unit 14. The obstacle information acquisition unit 14 is similar to the obstacle information acquisition unit 14 of the second embodiment, and therefore a detailed description thereof will be omitted here. The search target space of the search system 3 includes obstacles, and at least some of the positions of the obstacles are unknown in advance. The search degree map stored in the memory unit 13B includes obstacle information in addition to the gain of each coordinate.

[0087] The movement control unit 11F has a function of dividing the coverage area even when there is an area where the presence or absence of an obstacle is unknown. The movement control unit 11F determines the coverage area in a position where the presence or absence of an obstacle has not been confirmed, assuming that an obstacle exists. Since the path through which the agent device 20F can move in the search target space changes depending on the presence or absence of an obstacle, once the presence or absence of an obstacle is confirmed, the movement control unit 11F updates the coverage area based on the distance along the path after confirmation.

[0088] As described above, the movement control unit 11F of the control device 10F according to the sixth embodiment determines a coverage area under the assumption that an obstacle exists in a position where the presence or absence of an obstacle has not been confirmed, and when the presence or absence of an obstacle is confirmed, updates the coverage area based on the distance along the path after the confirmation. This makes it possible to assign search coverage areas to multiple agent devices 20 even if there is an area where the presence or absence of an obstacle has not been confirmed.

[0089] Seventh Embodiment. FIG. 26 is a diagram showing an example of the functional configuration of a control device 10G according to a seventh embodiment. In the seventh embodiment, a control device 10G that controls an agent device 20G in a search system 4 in which the same search target space is searched by a plurality of agent devices 20-1, 20-2, and 20G will be described. Note that when there is no need to particularly distinguish between the plurality of agent devices 20-1, 20-2, and 20G, they may be simply referred to as agent devices 20. Below, differences from the fourth to sixth embodiments will be mainly described, and detailed descriptions of similar portions to the fourth to sixth embodiments will be omitted. Components that are assigned the same reference numerals as those in the fifth embodiment have the same functions as those in the fifth embodiment.

[0090] The control device 10G has a movement control unit 11G, a gain control unit 12E, and a storage unit 13. The space to be searched by the search system 4 includes obstacles. The obstacles form a path along which the agent device 20 travels.

[0091] The movement control unit 11G determines the coverage area of ​​each agent device 20, which is generated by dividing the search target space based on predetermined rules, so that a passage within the coverage area allows movement from the position of the target agent device 20 without passing through the coverage areas of other agent devices 20, and controls the movement of the agent devices 20 based on the gain within the determined coverage area. In the seventh embodiment, once the coverage area is determined, it is not generally updated thereafter. For example, the movement control unit 11G can divide the search target space into coverage areas by acquiring the endpoints of paths that the agent device 20 can travel in the search target space, acquiring the points along the paths that are farthest from the acquired endpoints, in order, and performing Voronoi cell division between the acquired points.

[0092] FIG. 27 is a diagram showing an example of a coverage area assigned by the movement control unit 11G shown in FIG. 26. Here, an example is shown in which coverage areas are assigned to three agent devices 20. The arrows in FIG. 27 indicate the movement route of each agent device 20. When the coverage area is fixed, each agent device 20 searches within the fixed coverage area, and therefore the collision avoidance unit 16 can be omitted. The method of setting a fixed coverage area is effective when the structure of the search target space, i.e., the position of obstacles, is known in advance. For example, while there are areas where the positions of obstacles are unknown, a search can be performed while updating the coverage area using the method shown in embodiment 6, and after the positions of obstacles have been confirmed throughout the entire search target space, the method can be switched to the method of fixing the coverage area of ​​this embodiment.

[0093] Furthermore, the movement control unit 11G controls the movement of the agent device 20G so that the way it moves around the passages in its assigned area is synchronized with the way the other agent devices 20 move. By taking into account the formation of each agent device 20 in the space to be searched, the agent devices 20 move in synchronization, allowing the agent devices 20 to perform a search without getting too close to each other. For example, the movement control unit 11G can control movement in synchronization with the other agent devices 20 by regarding position as a phase.

[0094] Fig. 28 is an explanatory diagram of the function of the movement control unit 11G shown in Fig. 26. Within the divided coverage area as shown in Fig. 27, the direction in which each agent device 20 turns is synchronized. Some angle is defined, and the multiple agent devices 20 move while agreeing on the defined angle.

[0095] As explained above, according to the seventh embodiment, it is possible to assign fixed coverage areas to multiple agent devices 20 based on predetermined rules. The movement control unit 11G determines the coverage area of ​​each agent device 20, which is generated by dividing the search target space based on predetermined rules, so that a path within the coverage area allows movement from the position of the target agent device 20 without passing through the coverage areas of other agent devices 20, and controls the movement of the agent device 20G based on the gain within the determined coverage area. This makes it possible to reliably avoid collisions even if the collision avoidance unit 16 is omitted.

[0096] Furthermore, the movement control unit 11G moves the agent device 20G so that the way it moves around the passages in the assigned area is synchronized with the way the other agent devices 20 move around. This makes it possible to move the agent devices 20 without getting too close to each other.

[0097] Eighth Embodiment Fig. 29 is a diagram showing an example of the functional configuration of a control device 10H according to an eighth embodiment. The control device 10H has a function of controlling an agent device 20H that includes a gripping unit 17, a detection device 18, and a movement mechanism 19. The control device 10H includes a movement control unit 11H, a gain control unit 12, and a storage unit 13. The following mainly describes the parts that are different from the first embodiment, and omits a description of the parts that are the same as those in the first embodiment.

[0098] When a search target is discovered, the movement control unit 11H controls the agent device 20H to move toward the discovered search target. The movement control unit 11H can move the agent device 20H, for example, by giving a command to the movement mechanism 19. The detection device 18 has a function of detecting the search target and obstacles. Here, the detection device 18 is provided in the agent device 20H, but the detection device 18 may be provided outside the agent device 20H. When the detection device 18 detects a search target or an obstacle, the agent device 20H notifies the control unit 10H of the function of detecting the search target using the detection device 18. The agent device 20H also has a gripping unit 17 that grips and throws the discovered search target.

[0099] For example, this control device 10H is suitable for an agent device 20H playing a specific game involving ball search. An example of the game will be described. In the game, the search target space is a maze set in real space. The walls of the maze correspond to obstacles. The maze has a point-symmetrical structure about the center and is divided into two team territories. Each team uses their own territory as the search target space, searches for the ball in their own territory while solving the maze, and if they find the ball, sweeps it into the opponent's territory. Each team starts with two balls, starting from a designated position. Points are awarded when certain conditions are met. If there are no balls in their own territory when all agent devices 20 return to the starting point, victory is confirmed regardless of the point situation. Note that a team cannot return to the game after returning to the starting point. Points are awarded, for example, to the team with the fewest balls in their territory during periodic situation checks. For example, one point is awarded when the situation is checked every minute after the start of the game, and two points are awarded when the situation is checked at the five-minute time limit. The team with the most points after five minutes wins, and if the points are tied, the referee has the discretion. There is no limit to the number of agent devices 20, but the total weight must be 2.0 kg or less. Only one agent device 20 may be operated by a person from the operation area.

[0100] As described above, according to the eighth embodiment, when the movement control unit 11H discovers a search target, it moves the agent device 20H toward the discovered search target, and the agent device 20H is provided with a gripping unit 17 that grasps and throws the discovered search target.

[0101] Here, the hardware configuration of the control devices 10A to 10H according to the first to eighth embodiments will be described. The functions of the control devices 10A to 10H are realized by processing circuits. These processing circuits may be realized by dedicated hardware or may be control circuits using a CPU (Central Processing Unit).

[0102] When the above processing circuits are realized by dedicated hardware, they are realized by a processing circuit 90 shown in Fig. 30. Fig. 30 is a diagram showing dedicated hardware for realizing the functions of the control devices 10A to 10H according to the first to eighth embodiments. The processing circuit 90 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.

[0103] When the processing circuit is realized by a control circuit using a CPU, the control circuit is, for example, a control circuit 91 having a configuration shown in FIG. 31 . FIG. 31 is a diagram showing the configuration of the control circuit 91 for realizing the functions of the control devices 10A to 10H according to the first to eighth embodiments. As shown in FIG. 31 , the control circuit 91 includes a processor 92 and a memory 93. The processor 92 is a CPU, and is also called an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), etc. The memory 93 is, for example, a non-volatile or volatile semiconductor memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a digital versatile disk (DVD).

[0104] When the above processing circuit is realized by the control circuit 91, it is realized by the processor 92 reading and executing a program corresponding to the processing of each component, which is stored in the memory 93. The memory 93 is also used as a temporary memory for each process executed by the processor 92. The program executed by the control circuit 91 may be provided in a state stored in a storage medium, or may be provided via a communication path such as the Internet.

[0105] As described above, it is also possible to provide a program for controlling the agent devices 20A to 20H moving in a space to be searched. This program can include, for example, the steps of controlling the movement of the agent devices 20A to 20H based on a gain set for each coordinate in the space to be searched, controlling the value of the gain for the coordinates searched for by the movement of the agent devices 20A to 20H in the space to be searched to a first direction in which the agent devices 20A to 20H will not search, and controlling the value of the gain changed to the first direction to a second direction opposite to the first direction based on a condition.

[0106] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.

[0107] For example, in the above-described eighth embodiment, the agent device 20H is equipped with the detection device 18 and the movement mechanism 19. However, when implemented in a virtual space, for example, the detection device 18 and the movement mechanism 19 may not be included. In this case, the gripping unit 17 controls the grasping and throwing of the search target in the virtual space. Furthermore, in the first to seventh embodiments, the configurations of the detection device 18 and the movement mechanism 19 of the agent devices 20A to 20G are not described. However, when searching a search target space in real space, the agent devices 20A to 20G may be equipped with the detection device 18 and the movement mechanism 19. The movement control units 11, 11B, 11D to 11H can control the movement of the agent devices 20A to 20G by issuing commands to the movement mechanism 19. Furthermore, the detection device 18 may be provided external to the agent devices 20A to 20G. In this case, the agent devices 20A to 20G acquire detection results from the detection device 18 provided external to the agent devices 20A to 20G.

[0108] In the above embodiments, each agent device 20 performs a continuous search, but this is not necessarily required. For example, the gain control unit 12 does not have to perform control to increase the gain over time as described in embodiment 1. When multiple agent devices 20 perform a cooperative search, the multiple agent devices 20 may cooperate to control the search so that no unsearched portion remains.

[0109] In addition, in the above embodiments, for coordinates with a gain less than "100," the gain is increased over time, and the exploration degree map eventually forgets the searched information. However, it is also possible to distinguish the gain of coordinates that have never been searched. For example, the initial value of the gain may be "100," and the gain of searched coordinates may be increased to "99" over time. Furthermore, even when the control of increasing the gain over time as described above is not performed, it is possible to distinguish coordinates that have never been searched. In the search, the gain of unsearched areas may be set to be high, and control may be exercised to move toward coordinates with high gains. In this case, a movement route that moves to coordinates with high gains may be preferentially selected. Furthermore, while movement is generally based on the gain around the position of the agent device 20, if there are unsearched locations, movement may be planned based on the shortest route to the unsearched location.

[0110] Furthermore, when allocating areas of responsibility as in the fifth and sixth embodiments, the area of ​​responsibility of each agent device 20 may be changed when the range of an unsearched portion is changed. For example, the mode may be changed so that one agent device is responsible for searching an unsearched portion, and another agent device 20 is responsible for searching an already-searched portion. When a search is performed while checking for the presence or absence of obstacles, the search tends to take a long time because the presence or absence of obstacles is unknown. In contrast, route planning for already-searched portions is easier than for unsearched portions, and they can be searched efficiently. Therefore, it is possible to improve search efficiency by dividing the responsibility between unsearched portions that have never been searched and searched portions that have been searched in the past. Note that the above is just an example, and it is sufficient to separate the agent devices 20 that search unsearched portions from the agent devices 20 that search already-searched portions. For example, the number of agent devices 20 searching unsearched portions is not limited to one, and multiple agent devices 20 may be used.

[0111] 1 to 4 Search system, 10A to 10H Control device, 11, 11B, 11D to 11H Movement control unit, 12, 12B to 12E Gain control unit, 13, 13B, 13C Memory unit, 14 Obstacle information acquisition unit, 15 Importance information acquisition unit, 16 Collision avoidance unit, 17 Grasping unit, 18 Detection device, 19 Movement mechanism, 20A to 20H, 20-1, 20-2 Agent device, 90 Processing circuit, 91 Control circuit, 92 Processor, 93 Memory.

Claims

1. A control device for controlling an agent device that moves through a search target space, A movement control unit that controls the movement of the agent device based on the gain set for each coordinate in the search target space, The system includes a gain control unit that controls the change of the gain value of the coordinates searched by the movement of the agent device in the search target space to a first direction, which is a direction in which the agent device does not perform a search. The gain control unit performs control to change the gain value, which has been changed in the first direction, to a second direction opposite to the first direction, based on a condition. A control device characterized by the following features.

2. The movement control unit calculates an evaluation value for each of the multiple candidate movement paths based on the gain of the coordinates explored when the agent device moves, selects a movement path from the multiple candidates based on the calculated evaluation value, and controls the agent device to move along the selected movement path. The control device according to feature 1.

3. The search target space includes obstacles, The gain control unit performs control to change the gain of the coordinates for which the presence or absence of the obstacle has not been confirmed to the second direction. The control device according to claim 1 or 2.

4. The search target space includes obstacles, The gain control unit sets a new gain at a position where it has not checked for the presence or absence of the obstacle between coordinates for which the gain has been set. The control device according to claim 1 or 2.

5. The gain control unit sets the gain based on the ambient gain. The control device according to claim 1 or 2.

6. The gain control unit performs control to change the gain of coordinates that can be moved to unexplored coordinates in the second direction. The control device according to claim 5.

7. The system includes an importance information acquisition unit that acquires importance information indicating locations to be prioritized for search within the search target space. The gain control unit performs control to adjust the gain based on the importance information. The control device according to claim 1 or 2.

8. The system includes a storage unit that stores a map showing the gain of each coordinate in the search target space, The gain control unit acquires coordination information indicating the map or movement path of other agent devices and updates the map based on the coordination information. The control device according to feature 1.

9. The gain control unit acquires the location information of other agent devices and the cooperation information, The system includes a collision avoidance unit that avoids collisions between agent devices based on the aforementioned position information and the aforementioned coordination information. The control device according to claim 8.

10. The search target space includes obstacles, The aforementioned obstacles form a passage through which the agent device travels. The movement control unit divides the search target space based on the positional information of the multiple agent devices included in the search target space and the distance along the path in the search target space to determine the area to be handled by each agent device, and controls the movement of the agent devices based on the gain within the determined area to be handled. The control device according to feature 1.

11. The movement control unit determines the area of ​​responsibility for each agent device such that the pathways within that area allow movement from the position of the agent device without passing through the areas of responsibility of other agent devices. The control device according to claim 10.

12. The movement control unit determines the assigned area by Voronoi cell division. The control device according to claim 10 or 11, characterized by the features described herein.

13. The gain control unit sets its assigned area by changing the gain of the coordinates belonging to the assigned area of ​​other agent devices, or by cutting the path at the boundary between its own assigned area and the assigned area of ​​other agent devices in a map showing the gain of each coordinate in the search target space. The control device according to claim 10 or 11, characterized by the features described herein.

14. The movement control unit updates the assigned area when the predetermined area update conditions are met. The control device according to claim 10 or 11, characterized by the features described herein.

15. The region update conditions include at least one of the following: the position of the agent device changes; an obstacle is detected in the search target space; and the search target is discovered. The control device according to feature 14.

16. The movement control unit extends the positions of other agent devices and determines the assigned area by Voronoi cell division, thereby creating a gap between adjacent assigned areas. The control device according to claim 10 or 11, characterized by the features described herein.

17. The gain control unit adjusts the gain value based on the area of ​​the assigned region after movement. The control device according to claim 10 or 11, characterized by the features described herein.

18. The movement control unit determines the assigned area assuming the presence of the obstacle at a location where the presence or absence of the obstacle has not been confirmed, and updates the assigned area based on the distance along the passage after the confirmation once the presence or absence of the obstacle has been confirmed. The control device according to claim 10 or 11, characterized by the features described herein.

19. The search target space includes obstacles, The aforementioned obstacles form a passage through which the agent device travels. The movement control unit determines the area of ​​responsibility for each agent device generated by dividing the search target space based on predetermined rules, such that the pathways within the area of ​​responsibility allow movement from the position of the agent device without passing through the areas of responsibility of other agent devices, and controls the movement of the agent device based on the gain within the determined area of ​​responsibility. The control device according to feature 1.

20. The movement control unit moves the agent device so that its movement along the passage within its assigned area is synchronized with the movement of the other agent devices. The control device according to feature 19.

21. The movement control unit adds the other agent device that has lost its position to the search target if it loses its own position. The control device according to feature 1.

22. When the movement control unit finds a target to be searched for, it moves the agent device toward the found target to be searched for. The agent device includes a gripping unit that grasps and throws the discovered target object. The control device according to feature 1.

23. The gain is set for each coordinate indicating the position of the grid region generated by dividing the search target space. The control device according to feature 1.

24. A program for controlling an agent device that moves through a search target space, The steps include controlling the movement of the agent device based on the gain set for each coordinate in the search target space, The steps include: performing control to change the value of the gain of the coordinates searched by the movement of the agent device in the search target space to a first direction, which is a direction in which the agent device does not perform a search; The steps include: performing control to change the value of the gain, which has been changed in the first direction, to a second direction opposite to the first direction, based on a condition; A program characterized by including the following.

25. A control method for controlling an agent device that moves through a search target space, The steps include controlling the movement of the agent device based on the gain set for each coordinate in the search target space, The steps include: performing control to change the value of the gain of the coordinates searched by the movement of the agent device in the search target space to a first direction, which is a direction in which the agent device does not perform a search; The steps include: performing control to change the value of the gain, which has been changed in the first direction, to a second direction opposite to the first direction, based on a condition; A control method characterized by including

26. Equipped with multiple agent devices that move around the target space, Each of the aforementioned plurality of agent devices is A movement control unit that controls the movement of the agent device based on the gain set for each coordinate in the search target space, The system includes a gain control unit that controls the change of the gain value of the coordinates searched by the movement of the agent device in the search target space to a first direction, which is a direction in which the agent device does not perform a search. The gain control unit controls the gain value, which has been changed in the first direction, to change it in a second direction opposite to the first direction, based on a condition. At least some of the aforementioned agent devices mutually transmit and receive cooperative information with other agent devices, such as a map showing the gain of each coordinate in the search target space or information showing a movement path. A search system characterized by the following: