Robot management device, robot management system, and robot management method

The robot management device optimizes task allocation and path planning for multiple robots, addressing inefficiencies in existing systems by reallocating work based on robot progress and minimizing collisions, thereby enhancing overall work site efficiency.

WO2025203745A1PCT designated stage Publication Date: 2025-10-02HITACHI LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/031778
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-27
Filing Date
2024-09-04
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing robot management systems fail to optimize work efficiency when multiple robots complete their tasks with slight time differences, leading to inefficient reallocation of uncleaned areas and potential collisions, resulting in decreased overall work progress.

Method used

A robot management device that acquires work information, identifies incomplete areas, and reallocates tasks to robots expected to complete their work soon, using evaluation formulas to optimize path planning and minimize collisions.

Benefits of technology

Improves overall work site efficiency by reducing task completion time and minimizing collisions among robots, even in environments with varying work loads and robot capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024031778_02102025_PF_FP_ABST
    Figure JP2024031778_02102025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a robot management device capable of improving the work efficiency of an entire work site. A robot management device 100 comprises: an acquiring unit 110 that acquires work information relating to work content of work robots 200 in an allocated work area 620, information of the number of work robots 200 in the allocated work area 620, and work progress information indicating the degree of progress of the work of the robots 200 within the allocated work area 620; an identifying unit 120 that uses the work information and the work progress information to identify, for each robot 200, a work incomplete area 630 within the allocated work area 620, and identifies incomplete work content for each work incomplete area 630; and an allocating unit 130 that allocates the work incomplete areas 630 and the incomplete work content to each robot 200. The allocating unit 130 allocates an incomplete area to a work robot 200 that it is anticipated will complete the allocated work, in accordance with one of the size of the work incomplete area 630 of each robot 200 and the degree of progress of the work of the robot 200.
Need to check novelty before this filing date? Find Prior Art

Description

Robot management device, robot management system, and robot management method

[0001] The present invention relates to a robot management device, a robot management system, and a robot management method that allocate working areas for a plurality of robots, issue work instructions, and generate movement paths.

[0002] When automating work that involves movement within a work site and the work needs to be completed in a short time, work efficiency can be improved by dividing the work site into multiple areas and dividing the work among multiple robots. However, if the work does not proceed as planned and delays occur in the work within the area assigned to some robots, delays will occur to the entire work.

[0003] Regarding such a problem, a conventional technique for coordinating multiple cleaning robots is described in, for example, Patent Document 1. Patent Document 1 describes "a server that controls multiple self-propelled vacuum cleaners that clean a predetermined entire cleaning area, the server including: an area reorganization means that, when a determination means determines that a first self-propelled vacuum cleaner has completed cleaning the first cleaning area, reorganizes uncleaned areas in the entire cleaning area to re-determine cleaning areas to be cleaned by each of the self-propelled vacuum cleaners, wherein the area reorganization means determines, among the uncleaned areas, an area adjacent to at least a part of the area in the first cleaning area that has the lowest cleaning priority, as a new cleaning area to be cleaned by the first self-propelled vacuum cleaner (partial excerpt)."

[0004] JP 2014-230667 A

[0005] However, in the system described in Patent Document 1, when the server receives a notification from a robot that has completed cleaning its assigned area, the uncleaned area assigned to other robots is divided and reallocated. In such a case, each time a robot finishes cleaning its assigned area, the remaining tasks are divided and allocated. Therefore, if multiple robots finish cleaning with a slight time difference, the uncleaned area will be assigned to the robot that finished first, even if the area close to the robot that finished cleaning later has not yet been cleaned.

[0006] In this case, a robot that would normally be closer to the uncleaned area may be assigned to a more distant uncleaned area, which may result in a decrease in overall work efficiency.

[0007] In view of the above problems, the present invention aims to provide a robot management device, a robot management system, and a robot management method that can improve work efficiency throughout a work site when automating work involving the movement of multiple robots.

[0008] In order to achieve the above object, the present invention is configured as follows.

[0009] A robot management device that manages a plurality of robots within a work area includes an acquisition unit that acquires work information related to the content of work of each robot within the assigned work area, number information related to the number of robots within the assigned work area, and work progress information that indicates the degree of progress of the work of each robot, an identification unit that uses the work information and the work progress information to identify work incomplete areas within the assigned work area for each robot, and an allocation unit that allocates the work incomplete areas to each of the robots.

[0010] The robot management system also includes a robot management device and a plurality of robots managed by the robot management device, each of which includes a position measurement device, an attitude measurement device, a running device, and a working device, and each of which operates in accordance with the information on the work, the working area, and the route transmitted from the robot management device.

[0011] Also, a robot management method for managing a plurality of robots within an assigned work area includes obtaining work information relating to the content of work being performed by each of the robots within the assigned work area, number information relating to the number of the robots within the assigned work area, and work progress information relating to the degree of progress of the work being performed by each of the robots within the assigned work area, and using the work information and the work progress information to identify areas within the work area assigned to each of the robots where work has not yet been completed, and assigning the areas to each of the work robots.

[0012] It is possible to provide a robot management device, a robot management system, and a robot management method that can improve the work efficiency of the entire work site.

[0013] 1 is a diagram illustrating an example of a robot management system of the present invention. It is a functional block diagram of a robot management device of Example 1. It is a diagram illustrating an example of acquired information of a work site in Example 1. It is an explanatory diagram illustrating an example of the operation of an identification unit. It is an explanatory diagram illustrating an example of the operation of an allocation unit. It is an explanatory diagram illustrating an example of the operation of a workload determination by the allocation unit. It is an explanatory diagram illustrating an example of display on an output device. It is an explanatory diagram illustrating an example of display on an output device. It is a functional block diagram of a robot. It is a flowchart showing the process flow of Example 1. It is a flowchart showing the process flow of Example 1. It is a diagram showing a robot working time when the present invention is not applied. It is a diagram showing a robot working time when the present invention is applied. It is an explanatory diagram illustrating a work site of Example 2. It is a functional block diagram of a robot management device of Example 2. It is an explanatory diagram showing an example of the operation of a robot management device in accordance with mode selection ... a mode selection screen of Example 2. It is an explanatory diagram showing an example of the operation of an allocation unit of Example 2. It is an explanatory diagram showing an example of the operation of an allocation unit of Example 2. It is an explanatory diagram showing an example of the operation of an allocation unit of Example 2. It is a flowchart showing the process flow of Example 2. It is a flowchart showing the process flow of Example 2. It is an explanatory diagram showing the operation of Example 3. It is an explanatory diagram showing the operation of Example 3. FIG. 10 is a diagram showing an example of a robot in Example 3. FIG. 11 is a diagram showing another example of a robot in Example 3. FIG. 12 is a diagram showing an example of work area division and priority setting in Example 3. FIG. 13 is a diagram showing an example of work area division and priority setting in Example 3. FIG. 14 is a diagram showing the effect of Example 3.

[0014] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

[0015] The robot management device is a robot management server that calculates the work area and movement plans of all work robots (hereinafter simply referred to as robots) within a work site. The movement plan is time-series information that includes, for example, the coordinates of the robot's location, the robot's posture, and the robot's movement speed. The robots under its management perform work while moving within the work area according to this path plan.

[0016] (First embodiment) Hereinafter, a robot management device according to a first embodiment of the present invention will be described with reference to the drawings.

[0017] FIG. 1 is a diagram showing an example of the overall configuration of a robot management system 1000 including a robot management device 100 and robots 200-1 to 200-n according to the present invention.

[0018] The robot management system 1000 in this embodiment 1 is composed of a robot management device 100 that calculates the path of the robot within the working area, and the robots 200-1 to 200-n under its management move along the path calculated by the robot management device 100.

[0019] <Robot management device 100> The robot management device 100 calculates the working areas and movement paths of the robots 200-1 to 200-n, which will be described later. The robot management device 100 has a RAM 101, a ROM 102, and a CPU 103, each connected to a bus 104. The robot management device 100 also has a communication device 106, an input device 107, and an output device 108, which transmit and receive information about the robots 200-1 to 200-n regarding their work and movement, such as working area and path information, and transmits the results of the path calculation process, which will be described later, to the robots 200-1 to 200-n via wireless communication. The communication device 106, the input device 107, and the output device 108 are connected to the bus 104 via an I / O 105.

[0020] In this embodiment 1, an example is shown in which there is one robot management device 100, but the robot management device 100 is not limited to this, and multiple base stations may be combined to function as a single server, or, for example, several of the robots 200-1 to 200-n may function as base stations.

[0021] The communication device 106 performs communication between the robot management device 100 and the robots 200-1 to 200-n, and is a terminal that enables wireless communication via, for example, Bluetooth, Wi-Fi, or a mobile phone line.

[0022] The input device 107 is used to input map information, information about the robots 200-1 to 200-n (number, capabilities), and work mode information (described later) to the robot management device 100, and is, for example, a keyboard or tablet terminal.

[0023] The output device 108 is a device that displays the working areas and movement paths of the robots 200-1 to 200-n, and is, for example, a monitor or a tablet terminal. The output device 108 may also function as the input device 107.

[0024] <Robots 200-1 to 200-n> Robots 200-1 to 200-n perform work that involves movement within a work area based on work area and route information obtained via wireless communication from robot management device 100. In the following, the term robot 200 will be used in two ways: to refer to each of robots 200-1 to 200-n, and to refer collectively to robots 200-1 to 200-n.

[0025] In this first embodiment, it is assumed that the robot runs on wheels, but the present invention can also be applied to flying robots such as drones.

[0026] The robot 200 has a RAM 201, a ROM 202, and a CPU 203, each connected to a bus 204. The robot 200 also has a communication device 206 that transmits and receives information such as tasks, work areas, and routes to and from the communication device 106 of the robot management device 100, a position measurement device 208, an attitude measurement device 209, a traveling device 210, and a working device 220, and operates in accordance with information such as movement along route information and designated tasks transmitted by wireless communication from the robot management device 100. These devices are connected to the bus 204 via an I / O 205.

[0027] The communication device 206 is a terminal that enables wireless communication via, for example, Bluetooth, Wi-Fi, or a mobile phone line.

[0028] The position measurement device 208 is a device that measures the position of the robot 200 on a map, and is, for example, a Global Navigation Satellite System (GNSS). Note that instead of the position measurement device 208, the position and orientation on the map may be calculated using LiDAR or a camera by SLAM (Simultaneous Localization and Mapping) technology.

[0029] The attitude measurement device 209 is a device that calculates the orientation and attitude of the robot 200, and may be, for example, an IMU (Inertia Measurement Unit) or an encoder.

[0030] The traveling device 210 is a device that converts speed and direction commands for the robot 200 into outputs for the driving wheels of the robot, and corresponds to a control microcomputer or the like.

[0031] The working device 211 is a device that controls a picking device and a suction device for cleaning provided on the robot 200, and corresponds to a control microcomputer or the like.

[0032] <Coordination of Multiple Cleaning Robots (Assigning a Task to a Robot When Task Completion is Expected)> In this Example 1, automatic cleaning by multiple cleaning robots at a work site is targeted, and the work area and movement path of the cleaning robots (200-1 to 200-n) is calculated. Note that the scope of application of the present invention is not limited to automatic cleaning within a work site, and as described above, it can also be applied to cases where multiple robots perform tasks such as inspection, delivery, construction, and agricultural work.

[0033] 2 is a block diagram showing the system configuration of the robot management device 100 in this embodiment. The robot management device 100 includes an acquisition unit 110, an identification unit 120, an allocation unit 130, a movement path generation unit 140, and an output unit 150. Processing of the robot management device 100 is executed by a CPU 103.

[0034] <Acquisition unit 110> The acquisition unit 110 acquires information about the work site 600 (type of work, map of the work site and work areas 620-1 to 620-3), information about the number of robots 200 at the work site 600, and work progress information (information about the degree of progress of work) for each robot 200 at the work site 600.

[0035] FIG. 3 shows an example of acquired information of the work area 600 in the first embodiment, showing the state before work starts.

[0036] In this first embodiment, the type of work is cleaning the work site 600. The information about the work site includes a map showing the boundaries of work areas 620-1 to 620-3 and information about stationary obstacles, and work areas 620-1 to 620-3 obtained by dividing the work site 600 into areas assigned to the robot 200. The work area 620 includes nodes (shown as white or black circles) that are a sequence of points along which the robot 200 follows a path, as well as start points 622-1 to 622-3 and end points 623-1 to 623-3 for the robot 200. The type of work, information about the number of robots 200, and information about the work site are acquired once before the robot 200 starts work. The progress information about the robot 200 within the work site 600 is information about the position and speed of the robot 200. The progress information is acquired periodically (every few hundred milliseconds to several seconds) after the robot 200 starts work.

[0037] <Identification unit 120> The identification unit 120 in Figure 2 detects incomplete areas 630 (630-1, 630-2, 630-3) that are areas where work is not being performed, and robots 200 that are expected to complete their assigned work, based on the progress information of the robot 200 acquired by the acquisition unit 110.

[0038] 4 is a diagram showing an example of the operation of the identification unit 120 after the start of work from the state before the start of work shown in FIG. 3. In the first embodiment, the uncompleted area 630 can be calculated by extracting unpassed nodes (shown by white circles) in the work area 620 (620-1, 620-2, 620-3) assigned to the robot 200 as shown in FIG. 3 based on the position information of the robot 200 acquired periodically. In addition, the method of identifying the robot 200 that is expected to complete the work is, for example, to detect the robot 200 whose size of the uncompleted area is equal to or smaller than a predetermined threshold as the robot 200 that is expected to complete the work.

[0039] 4, the identification unit 120 identifies the nodes where work has been completed (shown as black circles) in each work area from the position information of the robots 200. Then, the identification unit 120 calculates the proportion of nodes where work has not been completed (shown as white circles) in the assigned area for each robot 200. After that, it detects robot 200-2 as the robot 200 that is expected to complete work based on the size of the incomplete area 630-2.

[0040] <Method for Identifying Robots 200 Expected to Complete the Task> The threshold for detecting robots expected to complete the task is set, for example, based on the proportion of the incomplete areas 630 (630-1, 630-2, 630-3) of the robot 200. For example, the threshold is set when the proportion of the incomplete areas in the assigned task area is equal to or less than the occupied floor area of ​​the robot 200. Note that the threshold for detecting robots expected to complete the task is not limited to this method, and may be set based on the estimated time to reach the task completion point, taking into account the performance of the robot 200 and the processing cycle of the acquisition unit 110. Alternatively, the threshold may be set based on the proportion of the incomplete areas to the task area assigned to the robot 200. By setting the range of the incomplete areas within which the robot 200 can reliably complete the task, it is possible to identify multiple robots 200 expected to complete the task, thereby improving the efficiency of the assignment process described below.

[0041] <Allocation Unit 130> The allocation unit 130 allocates the incomplete task area and the incomplete task content identified by the identification unit 120 to the robot 200 that is expected to complete the task identified by the identification unit 120. Note that if the incomplete area is small and allocating the task to the robot 200 that is expected to complete the task will not significantly reduce the task time, the allocation unit 130 does not allocate a new area to the robot 200 that is expected to complete the task, but instead causes it to return to its original position. In other words, the robot 200 is not moved to a new area, but is returned to its original position.

[0042] Fig. 5 is an explanatory diagram showing an example of the operation of the allocation unit 130, and is an explanatory diagram of the reallocation process of the work area after the work in Fig. 4. Fig. 6 is an explanatory diagram showing an example of the operation of the allocation unit 130 to determine the amount of work, and is a diagram explaining the determination of the amount of work performed from the state shown in Fig. 5.

[0043] In FIG. 5 , when the identification unit 120 detects the robot 200-2 that is expected to complete the task, the allocation unit 130 divides the incomplete region 630 of the other robots 200-1 and 200-3 to create allocation candidates 640 (640-1, 640-3). The allocation unit 130 then sets the node 621-1 at the edge of the divided region as a new starting point. Then, using equation (1), the allocation unit 130 determines the reallocation region 640-4 (650) for the robot 200-2 that is expected to complete the assigned task. Then, using equation (2), the allocation unit 130 calculates the proportion of the reallocation region 640-4 (650) to the entire work site. If the reallocation region is very small compared to the work site 600, the allocation unit 130 returns the robot 200 without reallocating the task to the robot 200-2 that is expected to complete the task.

[0044] After the task allocation is determined, the end point 623 that was provided to the robot 200-2 that is expected to complete the task in a part of the assigned area is reset to the node at the edge of the area after the assignment change.

[0045]

[0046] Formula (1) is an evaluation formula for evaluating the allocation candidates 640. The subscript j (0≦j≦Nt, where Nt is the number of allocation candidates) represents the identification number of the allocation candidate 640. Furthermore, the subscript i (0≦j≦Nr, where Nr is the number of robots 200) represents the identification number of the robot 200.

[0047] The first term in equation (1) is an evaluation term related to the workload of the allocation candidate 640, and Wj represents the size (area) of the allocation candidate 640. When the robot 200-i selects the allocation candidate j, the evaluation value is calculated with Wj set to 0. This term allows tasks with many uncompleted tasks to be preferentially allocated. Furthermore, Qj is a weighting coefficient, which is determined according to the other terms and the priority of the work area. If there is no priority for the work in the work area, Qj has the same value regardless of j. When prioritizing work areas, the weighting coefficient Qj of a work area with a high priority is set to a value that is relatively larger than that of other work areas.

[0048] The second term in equation (1) is a term relating to the distance between the assignment area j and the robot 200-i, where rj is the work start point (xrj, xrj) of the assignment candidate, and xi is the work completion position (xi, yi) of the robot 200-i. The work start point rj is determined by calculating an evaluation value for each of the start and end points of the sequence of points within the work area, and the one with the smallest evaluation value is designated as the work start point. This term allows preferential allocation of assignment areas that are close to the work completion point of the robot 200-i.

[0049] The third term in equation (1) is an evaluation term relating to the distance between the robots 200, where xi is the position (xi, yi) of the robot 200 that is expected to complete the task, and xk is the current position (xk, yk) of the other robots 200. S is a weighting coefficient.

[0050] Generally, as the number of robots 200 in a work area increases, the number of avoidance actions or stopping actions to prevent collisions between the robots 200 increases, resulting in a slower overall work progress. Therefore, this term causes preferential allocation of work areas in which the distance between the robots is as large as possible.

[0051] The evaluation formula is not limited to these, and may be set, for example, to input the distance between the starting point of the allocation candidate and the home location of the robot 200, so that work is assigned from an area farthest from the home location.

[0052]

[0053] Equation (2) is an equation for determining the workload of the reassigned area 650 to be assigned to the robot 200 expected to complete the task. Wj represents the size of the assigned work area selected by equation (1). Wall represents the size of the entire work area. α represents a threshold value. If equation (2) determines that the assigned work area is equal to or smaller than the threshold value α, the allocation unit 130 returns the robot 200-i expected to complete the task without assigning it the task. The threshold value α depends on the size of the work area and the work capacity of the robot 200. For example, the threshold value α is set to 10 times the occupied floor area, taking into account the mobility of the robot 200. Note that the determination of the remaining workload is not limited to this, and can be based on at least one of the number of robots 200 for the remaining work area, the estimated work time, or the area of ​​the remaining work area. For example, the estimated work completion time for the reassigned area may be calculated from the movement speed of the robot 200, and the difference between this and the work completion time if the work were not assigned to the robot 200 expected to complete the task may be used to determine the workload. Alternatively, the determination may be made based on the number (density) of robots 200 in the work area. Generally, as the density of robots 200 in a work site increases, the robots 200 are more likely to collide with each other or take evasive action, which reduces the productivity of the robots 200. Therefore, it is desirable not to increase the number of robots 200 per area too much.

[0054] <Method of Dividing Uncompleted Areas> The method of dividing the uncompleted areas 630 (630-1, 630-2, 630-3) identified by the identification unit 120 is, for example, to change the division amount according to the ratio of the workload of the robot 200 that has the uncompleted area 630 in the working area 620 (620-1, 620-2, 620-3) to the workload of the robot 200 that is expected to complete the work. If both robots 200 have the same workload, the uncompleted area is divided equally. Furthermore, for the uncompleted area of ​​a robot 200 that is making little progress in the work, the division amount of the allocation candidate 640 for the robot 200 that is expected to complete the work is increased. Furthermore, if the workload is zero due to a malfunction or the like, or if there is a working area to which no robot 200 has been assigned, the entire uncompleted area 630 is designated as the allocation candidate 640 for the robot 200 that is expected to complete the work.

[0055] <Determination of Assignment Area> The task assignment to the robot 200 that is expected to be completed by the assignment unit 130 is determined using equation (1).

[0056] <Determining the workload of robot 200> Furthermore, the allocation unit 130 determines the remaining workload of the allocation candidate 640 selected using equation (1) using equation (2), and if the size of the allocation candidate 640 is equal to or smaller than a threshold value for the entire area, the robot 200 that is expected to complete the work is terminated without being assigned the allocation candidate 640, and the robot 200 is moved to the home point.

[0057] <Operation of the Allocation Unit 130 (1): Allocation Process> In the work situation shown in FIG. 5 , the identification unit 120 detects that robot 200-2 is expected to complete the assigned work. As a result, allocation candidates 640-1 and 640-3 divided from the work areas of robots 200-1 and 200-2 are extracted, and new starting points 621-1 and 623-3 are set. Then, according to equation (1), allocation candidate 640-1, which has the largest area, is assigned to robot 200-2 as the next work area. Furthermore, the work starting point at this time is start point 621-1, which is closest to robot 200-2. Thereafter, the work end point of robot 200-1, whose work area has been partially assigned to another robot 200, is changed to node 621-2 at the end of the division.

[0058] 6, the process of the identification unit 120 detects that robot 200-3 is expected to complete the task, allocation candidates 640-4 and 640-5 are extracted by the process of the allocation unit 130, and 640-4, which has a large workload and is close by, is selected by evaluation formula (1) as reallocation area 650. However, because the workload of allocation candidate 640-4 is small compared to the overall task, the workload determination process rejects the allocation of reallocation area 650, and robot 200-3 returns home after completing the current task without being assigned a new area.

[0059] <Movement path generation unit 140> For the robot 200 that is expected to complete the assigned work, the movement path generation unit 140 calculates a movement path within the work area assigned by the allocation unit 130 and transmits the calculated path to the robot 200 via the communication device 106. Furthermore, when the allocation unit 130 determines to make the robot 200 return home, the movement path generation unit 140 calculates a path to the return point and transmits the calculated path to the robot 200.

[0060] The movement path of the working area 620 (620-1, 620-2, 620-3) is defined as a sequence of predetermined points arranged in order from the start point to the end point, which serves as path information. The path for the robot 200 to move to the start point or the home point of the reallocation area 650 is calculated using, for example, the A* (A-star) algorithm based on the map information acquired by the acquisition unit 110.

[0061] <Output Unit 150> The output unit 150 outputs the movement path of the robot 200 calculated by the movement path generation unit 140 to the output device 108. Figures 7A and 7B are explanatory diagrams showing examples of display on the output device 108.

[0062] 7A shows the positions of the robots 200 at the start of work and the work areas assigned to each robot, while FIG. 7B shows the progress of the work by the robots 200 and the work areas of the robots 200 after a certain period of work has elapsed.

[0063] In this way, the allocation unit 130 can notify the robot manager that the work allocation to the robot 200 has been changed.

[0064] <Explanation of Robot 200 (Functional Blocks)> FIG. 8 is a functional block diagram showing the system configuration of the robot 200. As shown in FIG.

[0065] 8 , the robot 200 includes a communication device 206, a position measurement device 208, an attitude measurement device 209, a running device 210, a working device 211, and a CPU 230, and the CPU 230 includes a self-position estimation unit 220, a path following unit 230, and a work execution unit 240. Processing of the robot 200 is executed by the CPU 203.

[0066] The self-position estimation unit 220 calculates the position and orientation of the robot 200 from the outputs of the attitude measurement device 209 and the position measurement device 208, and outputs the results to the robot management device 100 via the path following unit 230, the task execution unit 240, and the communication device 206.

[0067] The path following unit 230 performs feedback control to reduce the position difference from the target path according to the path information of the robot 200 obtained from the robot management device 100 via the communication device 206 and the position and orientation of the robot 200 obtained from the self-position estimation unit 220, and outputs control signals such as rotational angular velocity and forward and backward movement to the traveling device 210.

[0068] The traveling device 210 controls the drive wheels of the robot 200 according to the control values ​​calculated by the path following unit 230 .

[0069] The work execution unit 240 outputs a control signal to the work device 211 at a specified position based on the work content assigned by the robot management device 100 obtained via the communication device 206 and the position and orientation of the robot 200 obtained from the self-position estimation unit 220.

[0070] The work device 211 controls the work implement in accordance with instructions from the work execution unit 240. In the case of the robot 200 of the first embodiment, the work implement is a suction device, and the robot 200 performs suction work while traveling along a specified route.

[0071] <Flowchart> FIGS. 9A and 9B are flowcharts showing the flow of processing by the robot management device 100. FIG.

[0072] The robot management device 100 first acquires, via the communication device 206, task information relating to the content of the task, including the type of task, a map of the task area, and divided area information, and information relating to the robot 200 (step S901).

[0073] Next, the robot management device 100 outputs the path information to all the robots 200 and the output device 108, and causes the robots 200 to start working (step S902).

[0074] Next, the robot management device 100 acquires the position and orientation of the robot 200 (step S903).

[0075] Next, the robot management device 100 identifies the incomplete area 630 from the position information of the robot 200 (step S904).

[0076] Next, the robot management device 100 determines whether the entire task is complete based on whether or not there is an incomplete area 630 (step S905). If it is determined in step S905 that there is no incomplete area (Yes), the robot management device 100 transmits a route for returning the robots 200 to all the robots 200 and ends the process. If there is an incomplete area (No) in step S905, the robot management device 100 detects and determines whether or not there is a robot 200 that is expected to complete the task in step S906.

[0077] In step S906, the robot management device 100 detects and determines whether a robot 200 is likely to complete the task based on the size of the uncompleted task area for each robot.

[0078] If a robot 200 that is expected to complete the task is detected in step S906, the robot management device 100 calculates the reallocation area 650 for the robot 200 that is expected to complete the task in step S907, calculates a path (step S908), outputs the calculated path to the robot 200 and the output device 108 (step S909), and returns to step S903.

[0079] In step S906, if a robot 200 that is expected to complete the task is not detected, the process proceeds to step S903 to acquire the position and orientation of the robot 200 again.

[0080] <Effects> Fig. 10A is a bar graph showing the working time for each robot when the present invention is not applied, and Fig. 10B is a bar graph showing the working time for each robot when the present invention is applied.

[0081] If the present invention is not used in cleaning the rooms shown in the map of Figure 3, each robot 200 will clean the room assigned to it. Therefore, if the sizes of the rooms differ, the working times of the robots 200 will vary, and the overall work completion time will be the working time of robot 200-1, which took the longest time to work, as shown in Figure 10A.

[0082] By using the present invention, as shown in FIG. 10B, the robot 200-3 that is expected to complete the work can share the work in the uncompleted area of ​​the other robot 200-1, thereby reducing the work time of the robot 200-1 and shortening the overall time to complete the work.

[0083] In addition, the present invention can reduce the overall work time by dividing the work among robots for incomplete areas that arise not only due to differences in work time caused by differences in room size, but also due to differences in work speed caused by, for example, a malfunction of a specific robot 200 or differences in the dirtiness of the room.

[0084] That is, according to the first embodiment of the present invention, it is possible to provide a robot management device, a robot management system, and a robot management method that can improve the work efficiency of the entire work site.

[0085] Second Embodiment Next, a second embodiment of the present invention will be described.

[0086] The second embodiment is an example in which uncompleted work areas are assigned to a plurality of robots, taking into account user preferences.

[0087] Second Embodiment A second embodiment of the present invention will be described with reference to Figures 11 to 16B. In the figures, the same components as those in the other embodiments are designated by the same reference numerals, and the description thereof will be omitted.

[0088] The second embodiment of the present invention is an example of a case where the work site 600 is larger than the number of robots 200 in the first embodiment, and where a plurality of robots 200 work in cooperation with each other.

[0089] FIG. 11 shows a work site 600 and a robot 200 performing work in a second embodiment. In the second embodiment, an example is used in which a plurality of robots 200 cooperate to clean one floor of an office or hotel. When the area of ​​the work site 600 is large relative to the number of robots 200, it is difficult to assign robots 200 to all areas in advance. Furthermore, as the number of cooperating robots 200 increases, there is a possibility that multiple robots 200 that are expected to complete their work may be detected at once. Even in such a case, application of the present invention allows the plurality of robots 200 to share the unfinished work areas, thereby shortening the overall work time.

[0090] 12 is a functional block diagram showing the system configuration of the robot management device 100 in Example 2. In Example 2 of the present invention, the robot management device 100 includes an acquisition unit 110, an identification unit 120, an allocation unit 130, a movement path generation unit 140, an output unit 150, and an evaluation index setting unit 160.

[0091] <Evaluation index setting unit 160> The evaluation index setting unit 160 acquires mode selection information from the user from the input device 107, and changes the area allocation selection method for the robot 200 in the allocating unit 130 based on the work allocation criteria that is the work mode selected by the user. Specifically, it changes the magnitudes of the weighting coefficients Qj, R, and S in the evaluation formula expressed in equation (1) according to the selected work mode. In other words, based on the work allocation criteria for the robot 200 acquired from the user, the evaluation index setting unit 160 changes the weighting of the evaluation values ​​used by the allocating unit 130 to allocate work areas, regarding the size of the work incomplete area 630, the distance between the robot 200 that is expected to complete the work and the work incomplete area 630, and the distance from other robots 200 when the robot 200 is assigned to the work incomplete area 630.

[0092] Figures 13A, 13B, and 13C are explanatory diagrams showing examples of the operation of the robot management device 100 according to mode selection. Figure 13A is an example of the task assignment order when speed priority mode is selected. Figure 13B is an example of the task assignment order when energy saving mode is selected. Figure 13C is an example of the task assignment order in task area priority designation mode. Figures 13A to 13C show that tasks are performed in the order of the numbers in each area.

[0093] When the user selects the speed priority mode, the robot management device 100 assigns work areas with larger areas first, as shown in Fig. 13A. In this case, the weighting coefficient in equation (1) is set so that Qj is relatively large compared to R and S.

[0094] When the user selects the energy-saving mode, the robot management device 100 determines the working area so as to minimize movement between working areas, as shown in Fig. 13B. In this case, the weighting coefficient in equation (1) is set so that R is relatively large compared to Qj and S.

[0095] Furthermore, when the user selects the priority area designation mode, the robot management device 100 changes the order of area allocation according to the user's designation, as shown in Fig. 13C. In the example of Fig. 13C, work is performed in order starting from the room on the far right, and then the hallway is worked last. In this case, the weighting coefficients in equation (1) are set so that Qj is relatively large compared to R and S, and the weight Qj of the high-priority work area is also set to a relatively large value compared to the other work areas.

[0096] Fig. 14 is an explanatory diagram showing an example of a mode selection screen of the input device. The user sets the work mode via an input interface such as that shown in Fig. 14. Note that the setting items are not limited to the work mode, and it is also possible to input a limit on the number of robots 200 per work area, etc.

[0097] <Operation of the allocation unit in Example 2> When multiple robots 200 expected to complete a task are detected, the allocation unit 130 in Example 2 selects a task area so as to shorten the overall task time. Specifically, using formula (1), the allocation unit 130 calculates evaluation values ​​for all combinations of all robots 200 expected to complete the task and the uncompleted task areas identified by the identification unit 120, and selects the combination of the robot 200 and task area allocation that results in the smallest evaluation value as the reallocation area 650.

[0098] 15A and 15B are diagrams showing the operation of the allocation unit 130 in Example 2. Fig. 15A is an example of operation when a new work area is allocated to each robot that has completed an assigned work, and Fig. 15B is an example of operation when work allocation is performed using the present invention for multiple robots 200 that are expected to complete the work.

[0099] 15A and 15B, C1 to C7 are work-completed regions, UC1 to UC2 ​​are work-incomplete regions, and CL1 to CL5 are work-in-progress regions. In Fig. 15A and 15B, robots 200-4 and 200-5 are expected to complete their work, with robot 200-4 attempting to complete the work first.

[0100] In the prior art, an incomplete area 630 is assigned to each robot at the time of completion of the work. Therefore, if the work area closest to the robot at the time of completion of the work is assigned, UC2 is first assigned to robot 200-4, and then UC1 is assigned to robot 200-5, as shown in FIG. 15A.

[0101] On the other hand, when the present invention is used, in order to take into consideration the allocation of a plurality of robots 200 expected to complete the task, the working area UC1 is allocated to the robot 200-4 and the working area UC2 is allocated to the robot 200-5 as shown in FIG. 15B.

[0102] 15A and 15B, when viewed from the perspective of robot 200-4 alone, the prior art technology has a shorter movement path, which reduces the work time. However, in FIG. 15B, the robot closest to each uncompleted area is assigned, rather than the closest work area from the perspective of each robot 200, resulting in higher overall efficiency. Therefore, by using the proposal of the present invention, the overall work time can be reduced.

[0103] 16A and 16B are flowcharts showing the flow of processing by the robot management device 100 in Example 2. Example 2 is based on the premise that an initial work area has not been assigned to the robot 200 before the start of work.

[0104] The robot management device 100 first acquires the type of work, work information including a map and divided area information of the work site 600, and information about the robot 200 (step S1601).

[0105] Next, the robot management device 100 sets an evaluation formula based on the work mode selected by the user via the input device 107 (step S1602).

[0106] Next, the robot management device 100 acquires the position and orientation of the robot 200. That is, the robot information is acquired (step S1603).

[0107] Next, the robot management device 100 assigns working areas to all the robots 200 based on the evaluation formula (step S1604).

[0108] Next, the robot management device 100 outputs the path information to all the robots 200 and the output devices, and causes the robots 200 to start working (step S1605).

[0109] The subsequent processes (steps S1606 to S1611) are the same as the processes of steps S903 to S909 of the robot management device 100 in the first embodiment.

[0110] <Effects of Example 2> According to Example 2, even if the work area is large compared to the number of robots 200 and there are unassigned work areas at the start of work, the uncompleted areas can be assigned to the robots 200 that are expected to complete the work, thereby making it possible to improve the efficiency of work performed in cooperation with multiple robots 200.

[0111] Furthermore, even when multiple robots 200 are expected to complete a task at approximately the same time, the present invention can be used to simultaneously evaluate appropriate task allocation to the multiple robots 200, thereby reducing the overall task time.

[0112] Furthermore, by using evaluation values ​​that take into account the user's designated work mode, work allocation can be performed in line with the user's wishes.

[0113] Third Embodiment Next, a third embodiment of the present invention will be described.

[0114] Example 3 is an example of civil engineering work using multiple robots (areas and task types are assigned according to progress).

[0115] Third Embodiment A third embodiment of the present invention will be described with reference to Figures 17A to 20. In the figures, the same components as those in the other embodiments are given the same reference numerals, and the description thereof will be omitted.

[0116] In a third embodiment of the present invention, a plurality of robots 200 work together to spread and level soil at a work site 600. At large construction sites, soil spreading and leveling is performed by a dump truck that transports the soil to the site, a loader or shovel that transports the soil released by the dump truck within the site, and a bulldozer that levels the soil. On the other hand, at small construction sites such as residential construction sites, the soil delivered by the dump truck is often transported and leveled by a single small shovel. In this case, the time required to transport the soil within the site and level the ground depends on the time of the shovel operator, and a combined operation of transporting the soil and leveling the ground is required, making automation difficult.

[0117] Therefore, by replacing the paving and leveling work of shovels at small construction sites with multiple small construction machines working together, it is possible to simplify and automate individual tasks.

[0118] <Outline of Operation of Earth and Sand Spreading Work by Multiple Construction Machines> FIGS. 17A and 17B are explanatory diagrams showing an outline of operation of the third embodiment.

[0119] Fig. 17A shows the transport of soil during soil spreading and leveling work, and Fig. 17B shows the leveling work during soil spreading and leveling work.

[0120] The soil-laying and leveling work by the multiple robots 200 begins after a pile of soil 700 is brought into the site by a dump truck, and is carried out by the robots 200 through two types of work: soil transportation and leveling.

[0121] As shown in Fig. 17A, robots 200-1 to 200-4 first transport pile of earth and sand 700 evenly across the site, and then, as shown in Fig. 17B, they level the soil so that it is uniform across the site. In Example 3, the soil transportation and leveling operations are performed from the edge of the site to the inside. Note that the order of the work areas is not limited to this, and robots may work by moving parallel from the edge of the work area depending on the position of pile of earth and sand 700.

[0122] <Robot used in Example 3> Figures 18A and 18B are explanatory diagrams showing an example of a robot 200 in Example 3. When a plurality of robots 200 work together to perform earth-laying and leveling work, for example, a mini-dozer as shown in Figure 18A can be used. (a-1) of Figure 18A shows a side view of the mini-dozer, and (a-2) of the mini-dozer shows its top view. When a mini-dozer is used, a bucket 212 is used as a working device 211 for earth-transporting work.

[0123] In addition, for earth leveling work, a blade 213 is used as the mini dozer's working device 211, and when the work changes, the bucket 212 is replaced with the blade 213 as the working device 211. Figure 18A (b-1) shows a side view of the mini dozer with the blade 213 replaced, and (b-2) shows a top view of the mini dozer with the blade 213 replaced.

[0124] The robot 200 is not limited to the form shown in Fig. 18A, and may be provided with a bucket 212 at the front of the robot 200 and a blade 213 at the rear, for example, as shown in Fig. 18B, and the direction of advance may be changed depending on the type of work. (c-1) in Fig. 18B shows a side view of a mini dozer with a bucket 212 attached at the front and a blade 213 attached at the rear, and (c-2) shows the top view of the mini dozer.

[0125] 19A and 19B show examples of work area division and priority setting in Example 3. Fig. 19A is a diagram showing work area division and work area priorities for earth and sand transport work. Fig. 19B is a diagram showing an example of a route for ground leveling work.

[0126] 19A, the construction site is divided into grid-like work areas, and the robot 200 transports earth and sand 710 from a pile of earth and sand 700 to the assigned work area 620, repeating this process until the area reaches a predetermined height above the reference surface. The size of the work area 620 is determined taking into account the transporting capacity of the robot 200, for example, an area that can transport earth and sand to a predetermined height in several round trips.

[0127] In addition, a work area far from the pile of dirt 700 is given a high priority, and a work area close to the pile of dirt 700 is given a low priority.

[0128] Furthermore, the robots 200 are made to start leveling work from the area where the earth and sand transport work has been completed, and leveling work is carried out along a pre-specified route (from the start point 622 to the end point 623). By setting a high priority for work areas farther from the pile of earth and sand 700, it is possible to reduce crowding of robots 200 together.

[0129] <Example of Operation in Third Embodiment> When the third embodiment is used in the above work, the robot 200 performs the work as follows.

[0130] First, based on the evaluation formula (1), the pile of earth and sand 700 and the robots 200 are assigned work areas at distances from each other. Then, as each task is completed, an inner area is assigned. Therefore, the robots 200 transport earth and sand from the edge of the overall work area toward the inside while maintaining their distance from each other. Then, when the incomplete area 630 of the transporting task decreases, the robots 200 that are no longer assigned the transporting task are shifted to ground leveling work using the workload determination using formula (2). Then, the robots 200 that have shifted to ground leveling work travel in a spiral pattern from the outside to the inside of the work site while controlling the blades 213 so that the ground is at a constant height.

[0131] When a robot 200 that is expected to complete the transporting work is detected, the uncompleted area 630 in the ground leveling work is divided and allocated to the robot 200 that is expected to complete the earth and sand transporting work. When the work area for ground leveling becomes small, the robots 200 that have completed the work in their assigned ground leveling area return in order based on the workload determination using equation (2).

[0132] <Effects of the Third Embodiment> Figure 20 is a diagram showing the effects of the present invention in the third embodiment. (a) of Figure 20 is an example in which the robots 200 work together without using the present invention. (b) of Figure 20 is an example in which a plurality of robots 200 work together by applying the third embodiment of the present invention. If the present invention is not used, it is conceivable that all the robots 200 would perform the transporting work until the soil transporting work is finished, and then perform the leveling work once the transporting work is finished. In this case, as shown in (a) of Figure 20, the switching between the transporting work and the leveling work is the same for all the robots 200.

[0133] Therefore, when the number of uncompleted tasks decreases, the robots 200 may be crowded together, which may result in a decrease in work efficiency due to avoidance behavior, etc. Furthermore, when there are no more uncompleted tasks, there may be a robot 200 that has no work assigned to it until the other robots 200 complete their tasks.

[0134] On the other hand, as shown in Figure 20(b), when the present invention is used, when the area where the earth and sand transport work is not completed is reduced, the robot 200 that has completed the assigned work is shifted to the ground leveling work. Also, when the area where the ground leveling work is not completed is reduced, the robot 200 is returned sequentially.

[0135] Therefore, as shown in (b) of Figure 20, the timing of switching between leveling work and returning to the nest differs for each robot 200, and the timing of starting leveling work and returning to the nest can be made earlier than when the present invention is not applied, thereby reducing the overall work time.

[0136] Furthermore, when the uncompleted work area is reduced, the robots 200 can be directed to perform the next work or return home, thereby preventing the robots 200 from congregating together.

[0137] Therefore, it is unlikely that the efficiency of work will decrease due to the avoidance height between the robots 200, and it is also expected that the time required for each task will be reduced.

[0138] In this way, the overall work time can be reduced by applying the present invention to the cooperation of the robots 200. Furthermore, as in this embodiment, the present invention can be used not only to allocate areas for a single task, but also to improve the efficiency of cooperation between multiple robots for tasks that combine multiple types of tasks.

[0139] Although the application of the present invention has been described with reference to cooperation between multiple cleaning robots and construction robots, the application of the present invention is not limited to these, and it is also possible to apply the present invention to cooperation between multiple agricultural robots, robots that perform monitoring and inspection, and robots that serve food.

[0140] 100...robot management device, 101...RAM, 102...ROM, 103...CPU, 104...bus, 106...communication device, 107...input device, 108...output device, 110...acquisition unit, 120...identification unit, 130...allocation unit, 140...movement path generation unit, 150...output unit 150, 160...evaluation index setting unit, 200-1 to 200-n...robot, 203...CPU, 206...communication device, 208...position measurement device, 209...attitude measurement device, 210...traveling device, 211...working device, 212...bucket 212, 21 3...Blade, 220...Self-position estimation unit, 230...Path following unit, 240...Work execution unit, 600...Work site, 620 (620-1, 620-2, 620-3)...Work area, 622, 622-1, 622-2, 622-3...Start point, 623, 623-1, 623-2, 623-3...End point, 630 (630-1, 630-2, 630-3)...Work incomplete area, 640 (640-1, 640-3, 640-4, 640-5)...Assignment candidate, 650...Reassignment area, 700...Dust pile, 710...Dust, 1000...Robot management system

Claims

1. A robot management device that manages multiple robots within a work area, comprising: an acquisition unit that acquires work information related to the content of work of each robot within the assigned work area, number information related to the number of robots within the assigned work area, and work progress information indicating the degree of progress of the work of each robot; an identification unit that uses the work information and the work progress information to identify work incomplete areas within the assigned work area for each robot; and an allocation unit that allocates the work incomplete areas to each of the work robots.

2. A robot management device as described in claim 1, characterized in that the identification unit identifies incomplete work content in an incomplete work area, and the allocation unit allocates the incomplete work content to each of the robots, and allocates the incomplete work area to the work robot that is expected to complete the allocated work, depending on at least one of the size of the incomplete work area of ​​each of the robots and the progress of the work of each of the robots.

3. A robot management device as described in claim 2, comprising: a movement path generation unit that generates a movement path for each robot within the work incomplete area assigned to each robot; and an output device that outputs the movement path for each robot generated by the movement path generation unit, wherein the work incomplete area includes the work completed areas of other robots.

4. A robot management device according to claim 3, characterized in that the identification unit designates a robot whose area of ​​the incomplete work area relative to the work area assigned to the robot is less than a threshold as a robot expected to complete the work.

5. A robot management device according to claim 4, characterized in that the identification unit identifies the work robot as one that is expected to complete the work if the area of ​​the incomplete work area is equal to or less than the floor area occupied by the work robot.

6. A robot management device according to any one of claims 1 to 5, characterized in that the allocation unit changes the division ratio depending on the magnitude of the workload of the robot to which the incomplete work area is assigned and the workload of the robot expected to complete the work, and sets the area as a candidate for allocation to the robot expected to complete the work.

7. A robot management device according to any one of claims 1 to 5, characterized in that the allocation unit determines the area to be allocated to the robot where work is expected to be completed based on an evaluation value including at least one of the following values: the size of the area where work is not yet completed, the distance between the robot where work is expected to be completed and the area where work is not yet completed, and the distance between the robot and other robots when the robot is assigned to the area where work is not yet completed.

8. A robot management device according to any one of claims 1 to 5, characterized in that the allocation unit determines the amount of remaining work in the area to be allocated to the robot that is expected to complete its work, and if the amount of remaining work is small, does not allocate the work and causes the robot that is expected to complete its work to return home.

9. A robot management device according to claim 8, characterized in that the allocation unit's determination of the remaining work volume is based on at least one of the number of robots relative to the remaining work area, the estimated work time or area of ​​the remaining work area.

10. A robot management device according to any one of claims 1 to 5, further comprising an evaluation index setting unit, wherein the evaluation index setting unit changes the weighting of the evaluation values ​​used by the allocation unit to allocate the work area based on criteria for allocating work to the robot obtained from a user, the weighting of the evaluation values ​​relating to the size of the work incomplete area, the distance between the robot where the work is expected to be completed and the work incomplete area, and the distance between the robot and other robots when the robot is allocated to the work incomplete area.

11. A robot management system comprising: a robot management device according to claim 1; and a plurality of robots managed by said robot management device, wherein each of said plurality of robots comprises: a position measurement device; an attitude measurement device; a running device; and a working device, and wherein each of said plurality of robots operates in accordance with information on said work, said working area, and said route transmitted from said robot management device.

12. A robot management method for managing multiple robots within an assigned work area, comprising: acquiring work information relating to the content of work being performed by each robot within the assigned work area; number information relating to the number of robots within the assigned work area; and work progress information relating to the degree of progress of work being performed by each robot within the assigned work area; using the work information and the work progress information to identify areas within the work area assigned to each robot where work has not yet been completed; identifying the areas where work has not yet been completed; and assigning the areas where work has not yet been completed to each of the work robots.

13. A robot management method as set forth in claim 12, characterized in that it identifies incomplete work content in an incomplete work area, allocates the incomplete work content to each of the robots, and allocates the incomplete work area to a robot that is expected to complete the allocated work in accordance with at least one of the size of the incomplete work area for each of the robots and the progress of the work of each of the robots.

Citation Information

Patent Citations

  • Method and system for cooperative control of multiple robots

    CN115016457A

  • Server, control system, self-propelled vacuum cleaner, control method, program, and recording medium

    JP2014230667A

  • Movement control method and movement control device

    JP2016212462A