Method, program, and control system for multiple mobile robots.
The control method for multiple mobile robots enhances search efficiency by determining search ranges using past trajectories and sensor information, effectively addressing position estimation failures in environments with few features.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2022-07-25
- Publication Date
- 2026-04-17
AI Technical Summary
Autonomous mobile robots face challenges in maintaining accurate position estimation in environments with few features or changing surroundings, leading to inefficient search methods when position estimation fails.
A control method for multiple mobile robots that determines a search range based on past movement trajectories, estimation errors, and sensor information from neighboring robots to quickly locate and recover the lost robot's position.
Improves search efficiency and work efficiency by limiting the search area to high-probability regions, allowing rapid recovery from position estimation failures without human intervention.
Smart Images

Figure 0007847501000005 
Figure 0007847501000006 
Figure 0007847501000007
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for controlling multiple mobile robots and a control system for multiple mobile robots. [Background technology]
[0002] Patent Document 1 describes a technology in which a management server maintains robot information of an autonomous mobile robot, periodically obtains location information from the autonomous mobile robot, and when it receives a distress notification from the autonomous mobile robot, instructs its subordinate robots to provide assistance. The rescue robot that receives the distress instruction searches for the robot in question, calculates the absolute position and orientation of the robot to be rescued from its relative position to the robot to be rescued, and performs recovery of the robot to be rescued. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2010-3240 [Overview of the project] [Problems that the invention aims to solve]
[0004] Currently, multiple autonomous mobile robots are used within factories, logistics centers, and office buildings for purposes such as transporting goods, guiding people, and security. These autonomous mobile robots typically utilize laser sensors or cameras to estimate their own position.
[0005] Autonomous mobile robots using SLAM (Simultaneous Localization and Mapping) technology estimate their own position by sensing feature points of the surrounding environment, such as the shape of walls. However, in spaces with few features or in environments where features change due to changes in the arrangement of surrounding objects, position estimation may fail, rendering the robot unable to move.
[0006] As an example of a recovery method for position estimation failures, Patent Document 1 is proposed. Patent Document 1 describes a technology in which a management server issues search instructions to an autonomous mobile robot and has it perform a search. However, it has become clear that there is room for improvement in the method of determining the area to be searched by the search robot, and in particular, there is room for improvement in search efficiency.
[0007] The present invention provides a control method and a control system for multiple mobile robots that can improve search efficiency compared to conventional methods. [Means for solving the problem]
[0008] The present invention includes multiple means for solving the above problems, but one example is a method for controlling multiple mobile robots equipped with sensors, comprising the steps of: determining a first search range for the first robot when the current position of the first robot is unknown, based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement; transmitting a search command for the first search range to a second robot different from the first robot; and receiving sensor information from the second robot in the first search range and estimating the current position of the first robot. In the step of estimating the current position of the first robot, sensor information from the second robot is received in the first search range, an unknown object is extracted, the second search range is limited to the area around the unknown object, a search command for the second search range is sent to the second robot, sensor information from the second robot is received in the second search range, the current position of the first robot is estimated, and the travel path of the third robot is set excluding the first and second search ranges. do. [Effects of the Invention]
[0009] According to the present invention, search efficiency can be improved compared to conventional methods, thereby improving the work efficiency of autonomous mobile robots. Other issues, configurations, and effects will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram showing an example configuration of a multi-mobile robot control system in an embodiment. [Figure 2]It is a flowchart showing an example of position recovery control processing in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 3] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 4] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 5] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 6] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 7] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 8] It is a diagram showing an example of a method for determining a search range in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 9] It is a diagram showing an example of limiting a search range using obstacle sensor information in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 10] It is a diagram showing an example of a method for a second robot to recognize a first robot using sensors in the method for controlling a plurality of mobile robots according to an embodiment. [Figure 11] It is a diagram showing an example in which sensor information received by a first robot in the method for controlling a plurality of mobile robots according to an embodiment is from a fixed sensor.
Mode for Carrying Out the Invention
[0011] Examples of a method for controlling a plurality of mobile robots, a program, and a plurality of mobile robot control systems according to the present invention for recovering position estimation using other autonomous mobile robots when an autonomous mobile robot fails in position estimation will be described with reference to FIGS. 1 to 11. In the drawings used in this specification, the same or corresponding components are denoted by the same or similar reference numerals, and repeated description of these components may be omitted.
[0012] In a control method, program, and control system for controlling multiple autonomously mobile first robots 100 and second robots 200 equipped with sensors, the search range is preferably determined using past movement trajectories, error information, and movement amounts of the lost robot collected at regular intervals by a management server. The nearest second robot 200 is selected as the rescue robot, and an object resembling the lost robot is detected from the rescue robot's sensor information. By limiting the search range to an area with a high probability of presence, the lost robot can be quickly found and recognized. The absolute position of the recognized lost robot can be transmitted to the lost robot, and its position can be reset to recover from a failure in position estimation.
[0013] The following embodiment uses a factory goods transport robot that travels in an indoor, flat environment as an example. We will explain an example where, of the two mobile robots shown in Figure 1, the first robot 100 is the one that failed to estimate its position, and the second robot 200 is the rescue robot.
[0014] The following describes this embodiment, starting with its configuration and then its processing flow.
[0015] <Structure> Figure 1 is a diagram of the system configuration according to this embodiment. Below, we will first describe the overview of each of these devices, and then discuss their details later when describing the processing flow.
[0016] The first robot 100 shown in Figure 1 is equipped with a sensor 101 that acquires map information.
[0017] The information processing device 109 of the first robot 100 includes a sensor processing unit 105 that processes map information acquired by the sensor 101, a self-position calculation unit 106 that calculates its own position using the sensor 101 information and shared information, a position information acquisition unit 107 that acquires its own position based on information such as wheel encoders incorporated into the first robot 100, a position estimation failure determination unit 104 that determines a failure in position estimation from the information of the sensor 101 and the self-position calculation unit, and a driving control unit 108 that controls the movement of the first robot 100. Each of these units is composed of a program executed by the central processing unit 102 of the first robot 100.
[0018] The information transmission / reception unit 103 of the first robot 100 is connected to the network 8 in order to exchange map information with the management server 1.
[0019] The second robot, 200, is equipped with a sensor 201 that acquires map information.
[0020] The second robot 200's information processing device 209 includes a sensor processing unit 205 that processes map information acquired by the sensor 201, a self-position calculation unit 206 that calculates its own position using the sensor 201 information and shared information, a position information acquisition unit 207 that acquires its own position based on information such as wheel encoders incorporated into the second robot 200, a position estimation failure determination unit 204 that determines a failure in position estimation from the information of the sensor 201 and the self-position calculation unit, and a driving control unit 208 that controls the movement of the second robot 200. Each of these units is composed of a program executed by the second robot 200's central processing unit 202.
[0021] The information transmission / reception unit 203 of the second robot 200 is connected to the network 8 in order to exchange map information with the management server 1.
[0022] The management server 1 has an information processing device 7. This information processing device 7 of the management server 1 has an information transmission / reception unit 6, a main memory 5, a memory 4, and a map information display unit 3. It comprises a first search range determination unit, a search command transmission unit, and an estimation unit. Memory 4 has a map information holding unit 41, a position range calculation unit 42, a search command management unit 43, and a coordinate transformation processing unit 44, which are programs executed by the central processing unit (CPU) 2 of the management server 1.
[0023] Map information exchanged between the network and the information transmission / reception unit 6 of the management server 1 is written to the main memory 5 by the map information storage unit 41. The main memory 5 is a storage medium and may be an HDD, SSD, or Flash memory. The network 8 may be configured as a wireless LAN, and the map information exchanged may use TCP / IP socket communication.
[0024] Furthermore, information communication regarding map data may be conducted directly with other robots connected to the network, and there may be two or more robots connected to the network.
[0025] The sensors 101 of the first robot 100 and 201 of the second robot 200 consist of at least one of the following: LiDAR, RGB-D camera, monocular camera, stereo camera, 360-degree camera, infrared camera, GPS, etc., and can be a combination of different types of sensors. It is assumed that the first robot 100 and the second robot 200 are capable of high-precision position estimation using these sensors 101 and 201.
[0026] In this embodiment, the second robot 200 has the same configuration as the first robot 100, but it may be a robot with a different configuration. For example, this also applies to communication between a crawler-equipped mobile robot and a humanoid service robot.
[0027] Furthermore, regarding the management server 1, there may be a physical server to implement its functions, or the programs may be stored inside each robot, and their functions may be autonomously and distributedly executed on the central processing units 102 and 202 installed in the first robot 100 and the second robot 200, respectively.
[0028] If the functions of management server 1 are located within the first robot 100 and the second robot 200, the system can be completed solely through information exchange between nearby robots by establishing an ad-hoc network between the first robot 100 and the second robot 200. This eliminates the need to install wireless network infrastructure on the equipment. Furthermore, it reduces the communication load by reducing the amount of information transmitted.
[0029] In contrast, if the management server 1 has an independent configuration, it is possible to achieve benefits such as simplifying the configuration of the first robot 100 and the second robot 200.
[0030] The shared map information is configured to be viewable by the user via the map information display unit 3 of the management server 1. The map information transmitted and received includes the acquisition time, robot ID, robot appearance information, self-position coordinates, estimation error in self-position estimation, odometry-based movement variables, recognition IDs of other robots, recognition confidence and relative position information with the own robot, lost detection flag, sensor type, and an obstacle map of the robot's surroundings acquired by the sensors.
[0031] The map information varies depending on the environment and scene in which the robot operates. For example, for a robot moving on a well-maintained indoor surface such as an office, warehouse, or factory, the self-position coordinates in the map information are 3-dimensional (x, y, θ). In contrast, in unmaintained indoor environments with falling objects or uneven ground, or outdoors, 6-dimensional (x, y, z, roll, pitch, yaw) self-position coordinates are used in the map information.
[0032] Furthermore, the estimation error of the map information mentioned above refers to, for example, the estimated range in which a robot that failed to estimate its position was moving, and error ellipses obtained in Monte Carlo position estimation calculations or position calculation processes using Kalman filters can be used.
[0033] This concludes the explanation of the system configuration of this embodiment. Next, the processing flow of this embodiment will be explained with reference to the information used therein.
[0034] <Processing Flow> The processing flow of this embodiment will now be described. Figure 2 is a flowchart showing the operation control process for recovering from a position estimation failure in this embodiment. Preferably, this is processed by the information processing device 7 of the management server 1 shown in Figure 1.
[0035] Furthermore, in this embodiment, the multiple first robots 100 and second robots 200 output map information (their past movement trajectories, the estimation error range 307 in past position estimation (see Figure 4), and the amount of movement) to the management server 1 at a fixed interval while they are in operation.
[0036] In Figure 2, if the first robot 100 detects a failure in position estimation, as in step S200, the process transitions to step S201.
[0037] In step S200, the detection of a position estimation failure is performed by the position estimation failure determination unit 104 of the first robot 100. If the estimation error obtained by the self-position calculation unit 106 exceeds a preset threshold, it is determined that the position estimation has failed, and an alert is sent to the management server 1 to stop the robot from moving. In addition, if the position estimation fails due to a calculation error, it is also determined that the position estimation has failed.
[0038] Furthermore, in robot self-localization, the estimation result may converge to an incorrect location due to mismatching of feature points. If the estimation error does not accurately reflect the actual error, methods that use only estimation error information for lost location detection have the problem of making false detections. Therefore, a method that determines failure in location estimation by comparing the estimation results from different types of location estimation methods is desirable.
[0039] Next, in step S201, the management server 1 shares sensor information obtained from the other robots excluding the first robot 100, and attempts to recover the position of the first robot 100 using the absolute position of the first robot 100 observed by the sensors of the other robots. In step S202, it determines whether the position could be recovered using only the shared information. If the position can be recovered for reasons such as the first robot 100 being within the field of view of the sensors of the other robots, the process is completed.
[0040] Conversely, if it is determined that the first robot 100 cannot be recovered for reasons such as not being within the field of view of the other robot's sensors, the second robot 200 needs to move to a position where the lost robot can be observed in order to recover its position. This operation is called searching, and steps S203 onwards represent the searching operation. Since estimation errors in the lost state are often inaccurate, in step S203, the physically possible range is set as the search range (first search range).
[0041] The method for determining the search area will be explained in detail below. Figures 3 to 8 show an example of the process for determining the search area and selecting a rescue robot.
[0042] First, as shown in Figure 3, the movement history information of the lost robot is used to determine the range in which the lost robot could physically exist. Since the estimation error is small at points where the position estimation was highly accurate, the estimation error history 302 is traced back from the current time, and points where the estimation error 301 falls below a reliable threshold are used as the search reference points.
[0043] Furthermore, if we consider the position of the lost robot at that time as the search center coordinate 304, then we can say that the lost robot is located in a region 305 formed by a circle with radius r equal to the total distance 303 traveled by odometry from that point to the present time.
[0044] Furthermore, based on the estimated error range of the lost robot at the current time and the orientation between the search center coordinates and the estimated position at the current time, areas with high search priority are determined. For movement estimation, assuming a mobile robot such as a transport robot that is unlikely to be lifted by a human, the movement amount is calculated using wheel odometry.
[0045] As shown in Figure 4, the search range in real space is defined as follows: Region S1 is the region 305 where a lost robot can physically exist; Region S2 is the region 306 where the probability of a lost robot's existence is higher; and Region S3 is the estimated error range for a lost robot 307, with the search range S of equation (1) defined as the search range S a Defined as 311 (see Figure 7).
[0046]
number
[0047] Here, S M This is the drivable area 310 (see Figure 6) extracted from the map shape. The definitions of areas S1, S2, and S3 are shown below. The reliable position to be used as the search center coordinate 304 is the result of the position estimation at time t1 of the point where the estimation error first falls below the threshold, by tracing back the error history from the current time t (x t1 ,y t1 ,θ t1 ) The radius r, which is the total odometry distance of 303 from the confidence position to the current position, can be calculated using equation (2).
[0048]
number
[0049] Confidence position (x t1 ,y t1The area 305 composed of a circle with a radius r centered on ) is the area S1 where the robot can physically exist. Further, among the search ranges, as an area with a high possibility of existence, a sector-shaped area 306 that is opened by an angle φ around the vector connecting the reliable position and the current position is set as the high-priority area S2. Similarly, the range that overlaps with the estimated error range of the position of the robot at the current time obtained by the calculation of the position estimation is set as the high-priority area S3307.
[0050] The range to be searched is the union of these set areas S1, S2, S3 and the intersection with the drivable area S M 310. Therefore, the search range is the search range S a 311 given by Equation (1). The search range S a 311 is shown as in Figure 7. Also, by the management server 1 storing the map coordinates where the position estimation has failed in the past, an area that is judged to be likely to cause loss on the map can be created and included in the area S2 and used as a candidate for the search range.
[0051] Next, as the autonomous movement destination coordinates for the rescue robot to search the search range area obtained by Equation (1), "points of interest" 308, 309 as shown in Figure 5 are set. The points of interest 308, 309 are discretely arranged at equal intervals within the search range area. Based on the practical recognition distance of the sensor, the arrangement interval of the points of interest is set so that the search range can be sufficiently sensed by the sensor mounted on the rescue robot.
[0052] In this embodiment, the distance at which the partner robot can be recognized with high precision by the camera is set as the distance d between the points of interest, and they are arranged so as to fill the search range circle.
[0053] The points of interest determine the priority of that point of interest from the overlap of the search range S a Among them, the points of interest 308 in the parts of the areas S2, S3 of the search range S are searched first with the highest priority, and the points of interest 309 in the part of the area S1 of the search range S a are set as the second priority.
[0054] Note: This translation is for reference only, and the specific meaning needs to be combined with the relevant technical background for accurate understanding. Next, in step S204, the rescue robot to search the search area determined by the above procedure is selected. The selection method is described in detail below.
[0055] At the current time t, the nearest robot to the search range center coordinate is extracted using the nearest neighbor method, and the role of rescue robot is assigned to it. In this embodiment, the Euclidean distance from the search center coordinate is used to select the nearest rescue robot. However, in the case of an open space, the nearest point is not the shortest in terms of actual travel distance, so it is desirable to assign the task to the robot whose travel path is shortest, obtained by path planning using a graph search algorithm or the like.
[0056] Furthermore, to avoid impacting other robots' transport tasks, it is desirable to select rescue robots based on task availability and travel routes.
[0057] Next, in step S205, as shown in Figure 8, the coordinates of the search target initially set for the rescue robot are determined by the nearest neighbor method, with the point of interest 312 being the first priority point of interest, which is point of interest 308 located in the closest vicinity of the rescue robot's coordinates. Upon receiving the coordinates, the rescue robot generates a movement path to the point of interest and performs autonomous movement.
[0058] During this autonomous search, the rescue robot continues to determine, as in step S206, whether or not it has successfully identified the lost robot based on the sensing results.
[0059] When the first robot 100 enters the sensor's field of view through sensing, the process transitions from step S206 to step S210, correcting the absolute position of the first robot 100 and recovering from being lost.
[0060] In contrast, if the first robot 100 cannot be detected within the sensor's field of view in step S206, the process proceeds to step S207 to determine whether the entire search range (second search range) has been searched, and then steps S208 are executed to limit the search range using obstacle sensor information until the search range has been completed. The method of limiting the search range using obstacle sensor information in step S208 will be explained in detail below.
[0061] Figure 9 shows an example of limiting the focus of a rescue robot using obstacle sensor information. As shown in Figure 9, in search operations, for the rescue robot to find the lost robot and recognize its position and orientation with high accuracy, it needs to physically approach the robot so that the sensors can perform with sufficient recognition accuracy.
[0062] Therefore, due to these constraints on approach distance and sensor field of view, observing each point of interest one by one is inefficient. To address this, obstacle sensors with a wide observable area, such as LiDAR, are used to extract obstacles that were not initially recorded in the map shape obtained by SLAM. Obstacles whose occupied area is similar to the external shape (template) of the target robot are recognized as "objects that resemble the target robot," and points of interest are kept only around them. Points of interest in map areas where unoccupied areas have been confirmed based on obstacle sensor information are deleted, thereby limiting the search range.
[0063] Specifically, a new obstacle 401 that was not present during map creation is extracted by taking the difference between the obstacle occupancy map 400 generated by the rescue robot's sensors and the known map shape 402. Furthermore, among the extracted unknown obstacles, obstacles 110 with an occupancy area close to the size of the target robot are extracted and designated as search targets. Only the points of interest around the extracted unknown object 403 that resembles a robot are retained, and points of interest in other unoccupied areas within the obstacle map are deleted.
[0064] In addition, unknown objects 403 can be obtained by extracting objects with a high degree of similarity to the robot's appearance using pattern matching with point clouds or image recognition using deep learning, or by performing processes such as edge extraction from point clouds using line Hough transform.
[0065] Thus, it is desirable that the sensor information from the second robot 200 in the second search range be the position information of the first robot 100 as recognized by the second robot 200. Furthermore, it is desirable that this position information be estimated using one of the following methods: template matching using the appearance information of the first robot 100, point cloud matching, AR marker image recognition, or recognition by deep learning.
[0066] Next, step S209 will be explained. If the target robot cannot be found even after searching the entire search area generated in step S203, the process transitions from step S207 to step S209. Specifically, in step S209, the radius r (total travel distance 303) of the search area 305 is expanded, and then the process returns to step S203 to continue the search.
[0067] If the search area is wide, the search area may be divided into several regions, and multiple robots may be used to search each region.
[0068] Furthermore, if the robot group fails to successfully complete the search within a certain time, a notification can be sent to the administrator to provide assistance.
[0069] Next, step S206 will be explained using Figure 10. Figure 10 shows an example of recognizing the first robot 100 using the sensor results of the second robot 200.
[0070] The recognition of the first robot 100 may be performed using deep learning based on the robot's appearance information, LiDAR point cloud matching 501, pattern matching of image features, image recognition of AR markers 500, or recognition methods using sound, light, or beacons. These recognition methods require the determination of relative position and orientation. Furthermore, the recognition processing using these sensors may be performed in the sensor processing units 105 and 205 within each robot, or on the management server 1.
[0071] Furthermore, the sensor that recognizes the position of the first robot 100 may be a fixed sensor such as a surveillance camera, as shown in Figure 11, as long as the position of the sensor is known.
[0072] Finally, step S210 will be explained. In step S210, the absolute position is calculated from the relative position of the recognized rescue robot and the first robot 100 by coordinate transformation and transmitted to the first robot 100. Using AR marker recognition as an example, the position of the robot recognized by the rescue robot is converted to an absolute position using the following coordinate transformation formula and transmitted to the robot.
[0073] The coordinate transformation is performed by the coordinate transformation processing unit 44 of the management server 1. The absolute position p of the first robot 100 is set with the map origin as map. A The coordinate transformation that calculates (x,y,θ) is a homogeneous transformation matrix T∈R that includes translation and rotation. (4×4) This can be expressed as shown in equations (3) and (4). B_sensor is the mounting position of the robot sensor, B_marker is the marker placement position, and B_detect_marker is the recognized marker position.
[0074] Observations from rescue robot (B) to the first robot 100 (A) are defined as follows in equation (3):
[0075]
number
[0076] Furthermore, even if the rescue robot can be observed not only by observations from the rescue robot but also by the sensors of the first robot 100, the absolute position can be calculated using the following equation (4).
[0077] Observations from the first robot 100(A) to the rescue robot (B) showed that
[0078]
number
[0079] The absolute positions obtained in this way are transmitted to the first robot 100 by the management server 1. The first robot 100 probabilistically fuses the multiple received absolute positions, resets its own position to the most plausible position, and recovers from the failure of position estimation.
[0080] In this embodiment, the invention was explained using two mobile robots, which is the minimum configuration in which the invention can be carried out. However, if there are three or more robots, the sensor information of a third robot will also be used. For example, equations (3) and (4) will still hold even if B is replaced with a third robot. Also, depending on the relative positions of the robots, the third robot may also take on the role of a search robot.
[0081] In this embodiment, it is assumed that the rescue robot can always estimate its position with high accuracy. However, in reality, if the robot enters an area with few distinguishing features, the accuracy of its position estimation may deteriorate. Therefore, to prevent this, it is desirable to deploy a third robot capable of observing the rescue robot.
[0082] Furthermore, rescue robots have different sensors and processing methods than lost robots, such as GPS or ceiling feature-based position estimation methods, which reduces the likelihood of the rescue robot failing to estimate its position during the search.
[0083] Furthermore, the search area is assumed to be an area where position estimation failures are likely to occur. Therefore, by setting the third robot's travel path to exclude the first and second search areas and planning the path to keep it as far away from other robots as possible, the rate of robots getting lost can be reduced. In this case, even after the search is complete, the area where lost robots that failed to estimate their position were found can be set to be as far away as possible.
[0084] This concludes the explanation of the processing flow in this embodiment.
[0085] The present invention is not limited to this embodiment and includes various modifications.
[0086] For example, the present invention also includes a method for controlling an autonomous mobile robot, which may be performed by the mobile robot itself, by another device, or by the mobile robot and other devices working together.
[0087] The present invention also includes a computer program for executing a control method for a mobile robot and a medium for storing the same.
[0088] Next, the effects of this embodiment will be described.
[0089] The control method for the multiple robots in the above-described embodiment is a method for controlling multiple first robots 100 and second robots 200 equipped with sensors 101 and 201. When the current position of the first robot 100 is unknown, a first search range for the first robot 100 is determined based on the past movement trajectory of the first robot 100, the estimation error range 307 in the past position estimation of the first robot 100, and the amount of movement. A search command for the first search range is transmitted to a second robot 200, which is different from the first robot 100, and sensor information from the second robot 200 in the first search range is received to estimate the current position of the first robot 100.
[0090] For example, in the step of estimating the current position of the first robot 100, sensor information from the second robot 200 is received in the first search range, an unknown object is extracted, the second search range is limited to the area around the unknown object, a search command for the second search range is sent to the second robot 200, sensor information from the second robot 200 in the second search range is received, and the current position of the first robot 100 is estimated.
[0091] According to the present invention, when the first robot 100 fails to estimate its own position and recovers the position estimation process by coordinating with the second robot 200, the search range can be limited to an area with a high probability of the lost robot existing at an early stage, thereby improving the search efficiency. Consequently, the position recovery of the lost robot can be performed more quickly than in the conventional method, without requiring human intervention.
[0092] Furthermore, by using a second robot 200 that is the nearest to the first or second search range, or a second robot 200 that has an available task, the search efficiency can be further improved, or the decrease in the robot's work efficiency can be kept to a minimum.
[0093] Furthermore, since the sensor information received by the first robot 100 is from fixed sensors located in the operating area of the second robot 200, the third robot, or the first robot 100 and the second robot 200, it is possible to obtain a large amount of information with high accuracy when resetting its own position, thereby further improving the accuracy of recovery from position estimation failures.
[0094] Furthermore, if the first robot 100 cannot be found even after searching the second search area, the first search area can be expanded to minimize human intervention.
[0095] Furthermore, the system includes a step in which multiple first robots 100 and second robots 200 output their past movement trajectories, estimation error ranges 307 in past position estimations, and movement amounts to the management server 1. This allows the system to have prior knowledge of information needed to determine the search area in the event of a position estimation failure, enabling it to more quickly determine a search area with a high probability of discovery.
[0096] Furthermore, by having multiple first robots 100 and second robots 200 periodically perform the step of outputting their movement trajectory, estimated error range 307, and movement amount to the management server 1, the information necessary for determining the search range becomes unbiased, making it possible to determine a search range that contributes to finding lost robots that have failed to estimate their position with a high probability.
[0097] Furthermore, the sensor information from the second robot 200 in the second search range is the position information of the first robot 100 as recognized by the second robot 200. In particular, the position information is estimated using one of the following methods: template matching using the appearance information of the first robot 100, point cloud matching, AR marker image recognition, or deep learning recognition. This makes it possible to reliably estimate the position with a small amount of information.
[0098] Furthermore, each step is executed autonomously and in a distributed manner on an independent central processing unit 2, or on central processing units 102 and 202 mounted on the first robot 100 and the second robot 200, respectively. This reduces the equipment configuration on the mobile robot side, or reduces the load on the management server and communication.
[0099] Furthermore, by setting the travel path of the third robot to exclude the first and second search ranges, it is possible to suppress the occurrence of lost robots that fail to estimate their position, thereby more reliably avoiding a decrease in work efficiency.
[0100] <Other> It should be noted that the present invention is not limited to the embodiments described above, and various modifications and applications are possible. The embodiments described above are explained in detail for the purpose of clearly illustrating the present invention, and are not necessarily limited to those having all the configurations described. [Explanation of Symbols]
[0101] 1…Management Server 2…Central Processing Unit 3…Map information display section 4…Memory 5…Main memory 6…Information transmission / reception unit 7. Information processing device (first search range determination unit, search command transmission unit, estimation unit) 8…Network 41...Map information storage unit 42...Position range calculation unit 43…Search command management department 44... Coordinate transformation processing unit 100... The first robot (mobile robot) 101,201…sensors 102,202… Central Processing Unit 103,203… Information transmission and reception unit 104,204...Position estimation failure determination unit 105,205…Sensor processing unit 106,206…Self-position calculation unit 107,207...location information acquisition unit 108,208… Driving Control Unit 110… Obstacle 200... Second robot (mobile robot) 301…Estimation error 302…Estimated Error History 303... Total distance traveled 304…Search center coordinates 305,306,310,311…area 307…Estimated error range 308, 309, 312… Points of interest 400... Obstacle-occupied map 401... Obstacle 402…Map Shape 403…Unknown object 500...AR marker 501...Point cloud matching
Claims
1. A method for controlling multiple mobile robots equipped with sensors, When the current position of the first robot is unknown, the first steps include determining a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement, The steps include transmitting a search command for the first search range to a second robot, which is different from the first robot, The step of receiving sensor information from the second robot in the first search range and estimating the current position of the first robot, In the step of estimating the current position of the first robot, The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot. The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated. The travel path of the third robot is set excluding the first and second search ranges. A method for controlling multiple mobile robots.
2. In the control method for multiple mobile robots according to claim 1, As the second robot, the mobile robot closest to the first or second search range, or a mobile robot that is available for a task, is used. A method for controlling multiple mobile robots.
3. In the control method for multiple mobile robots according to claim 1, The sensor information received by the first robot is information from fixed sensors located in the area where the second robot, the third robot, or the mobile robot operates. A method for controlling multiple mobile robots.
4. In the control method for multiple mobile robots according to claim 1, If the first robot cannot be found even after searching the second search range, the first search range is expanded. A method for controlling multiple mobile robots.
5. In the control method for multiple mobile robots according to claim 1, Multiple mobile robots have a step of outputting their past movement trajectories, error information in past position estimation, and movement amount to a management server. A method for controlling multiple mobile robots.
6. In the control method for multiple mobile robots according to claim 5, Multiple mobile robots perform the step of outputting the movement trajectory, error information, and movement amount to the management server at regular intervals. A method for controlling multiple mobile robots.
7. In the control method for multiple mobile robots according to claim 1, The sensor information from the second robot in the second search range is the position information of the first robot as recognized by the second robot. A method for controlling multiple mobile robots.
8. In the control method for multiple mobile robots according to claim 7, The aforementioned positional information is information estimated by one of the following methods using the appearance information of the first robot: template matching, point cloud matching, AR marker image recognition, or recognition using deep learning. A method for controlling multiple mobile robots.
9. In the control method for multiple mobile robots according to claim 1, Each of the aforementioned steps is performed autonomously and in a distributed manner on an independent computer or on a computer mounted on the mobile robot. A method for controlling multiple mobile robots.
10. A method for controlling multiple mobile robots according to Claim 1, The method further comprises the step of positioning the third robot in a location where the second robot can be observed. A method for controlling multiple mobile robots.
11. A computer that controls multiple mobile robots equipped with sensors, When the current position of the first robot is unknown, the first steps include determining a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement, The steps include transmitting a search command for the first search range to a second robot, which is different from the first robot, The step of receiving sensor information from the second robot in the first search range and estimating the current position of the first robot, In the step of estimating the current position of the first robot, The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot. The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated. The travel path of the third robot is set excluding the first and second search ranges. program.
12. A system for controlling multiple mobile robots equipped with sensors, When the current position of the first robot is unknown, a first search range determination unit determines a first search range for the first robot based on the past movement trajectory of the first robot, error information in the past position estimation of the first robot, and the amount of movement; A search command transmission unit transmits a search command for the first search range to a second robot, which is different from the first robot, It includes an estimation unit that receives sensor information from the second robot in the first search range and estimates the current position of the first robot, The estimation unit, The system receives sensor information from the second robot within the first search range, extracts an unknown object, limits the second search range to the area around the unknown object, and transmits a search command for the second search range to the second robot. The sensor information from the second robot in the second search range is received, and the current position of the first robot is estimated. The travel path of the third robot is set excluding the first and second search ranges. Multiple mobile robot control system.
Citation Information
Patent Citations
Rescue robot system, rescue method, and rescue robot
JP2010003240A
Autonomous moving apparatus and autonomous movement system
WO2014049856A1