Information processing device, information processing method, and computer program

The information processing apparatus optimizes task handovers between robots by selecting the second device with the shortest additional time, enhancing the efficiency of multiple robots' work.

JP2025108039APending Publication Date: 2025-07-23CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024001644
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2025-07-23

AI Technical Summary

Technical Problem

Existing methods for task takeover between robots can lead to decreased work efficiency of multiple robots due to factors like failures or battery voltage drops, as seen in Patent Document 1.

Method used

An information processing apparatus determines a second device to take over a first task by detecting task takeover candidates, acquiring additional time requirements, and selecting the device with the shortest additional time to minimize efficiency degradation.

Benefits of technology

This approach improves the overall work efficiency of multiple robots by effectively managing task handovers based on additional time calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025108039000001_ABST
    Figure 2025108039000001_ABST
Patent Text Reader

Abstract

To provide an information processing device, method and program capable of improving the entire work efficiency of a plurality of robots.SOLUTION: In an information processing device for determining a second device which takes over execution of a first task from a first device for executing the first task to execute a second task different from the first task, a method detects that the first task becomes a takeover object, acquires takeover object task information related to the first task, acquires takeover partner candidate information on candidates for the second device, acquires additional time to be required to execute the first task in the case of taking over and executing the first task about respective candidates for the second device on the basis of the takeover object task information and the takeover partner candidate information, and determines the second device that takes over the first task from among the candidates for the second device on the basis of the additional time.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, an information processing method, a computer program, and the like.

Background Art

[0002] There are cases where multiple robots that execute a given task operate in a proximate work space. However, due to factors such as failures or a decrease in battery voltage, a robot may become unable to continue executing the task.

[0003] Patent Document 1 discloses a configuration in which, when there is a possibility that a first robot cannot complete a task, the second robot takes over the task being executed by the first robot.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the method of Patent Document 1 has a problem in that the work efficiency of the entire plurality of robots may decrease.

[0006] The present invention has been made in view of the above problems, and one of its objects is to realize an information processing apparatus capable of improving the work efficiency of the entire plurality of robots.

Means for Solving the Problems

[0007] An information processing apparatus according to one aspect of the present invention is an information processing apparatus that determines a second apparatus that executes a second task different from the first task and takes over the execution of the first task from a first apparatus that executes the first task. A takeover target task detection means for detecting that the first task has become a takeover target, A takeover target task information acquisition means for acquiring takeover target task information regarding the first task, A takeover partner candidate information acquisition means for acquiring takeover partner candidate information regarding the candidates of the second device, Based on the takeover target task information and the takeover partner candidate information, for each candidate of the second device, when taking over and executing the first task, an additional time acquisition means for acquiring the additional time required to execute the first task, Based on the additional time, a takeover partner determination means for determining the second device that takes over the first task from among the candidates of the second device, characterized by having.

Effect of the Invention

[0008] According to the present invention, an information processing apparatus capable of improving the working efficiency of a plurality of robots as a whole can be realized.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Mode for Carrying Out the Invention

[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments. In each figure, the same members or elements are given the same reference numerals, and duplicate explanations are omitted or simplified.

[0011] <Embodiment 1> In this embodiment, an example of determining a second robot as a second device that takes over the first task that the first robot has been executing when the first robot as the first device can no longer continue to execute the first task is described based on predetermined conditions.

[0012] That is, in the information processing apparatus in the following description, an information processing method is executed to determine a second device that executes a second task different from the first task and takes over the execution of the first task from the first device that executes the first task.

[0013] In addition, in this embodiment, an example of a robot is described, but it may not be a robot, and may be an autonomous mobile body such as an AGV (Automated Guided Vehicle) or an AMR (Autonomous Mobile Robot). Further, it may be a moving body such as a vehicle or a drone for transporting people, luggage, etc.

[0014] In this embodiment, for each robot that can be the second robot, the time that is additionally generated when performing handover is calculated, and the robot with the shortest such time is selected to minimize the efficiency degradation due to handover.

[0015] First, the terms used in this embodiment are defined. The handover source is a robot that can no longer continue to execute a task and has another robot take over and execute the task. The handover target task is the task that the handover source was executing.

[0016] The handover partner is a robot that takes over and executes the handover target task. The handover partner candidate is a set of robots that can be the handover partner. The interrupted task is the task that the handover partner was executing. The handover partner interrupts the task being executed (interrupted task) and takes over and executes the handover target task.

[0017] FIG. 1 is a diagram for explaining an example of the usage status of an information processing apparatus according to Embodiment 1 of the present invention. 101 is a robot that executes a task. 102 is a room. 103 is a corridor connecting the room 102. 104 is a computer that executes a process of determining a handover partner from among the handover partner candidates described later with reference to FIG. 6.

[0018] 105 is a display that displays a screen described later with reference to FIG. 7. 106 is a user of the information processing apparatus who checks the screen displayed on the display 105. The robots 101 execute the tasks given to each of them. The task has information regarding the execution location. The execution location of the task is a predetermined range such as the room 102 or the corridor 103.

[0019] The computer 104 monitors the states of the robots 101 and displays the execution state of the task and the states of the robots on the display 105. The computer 104 detects that, among the robots 101, the first robot can no longer continue to execute the task due to factors such as a failure or a voltage drop in the battery.

[0020] Further, in response to the above detection, the computer 104 determines a second robot that takes over and executes the task that the first robot was executing, and instructs the second robot to execute the task that the first robot was executing.

[0021] On the screen displayed on the display 105, information indicating that the task that the first robot was executing has been taken over by the second robot is displayed. The user 106 checks the screen displayed on the display 105 to check the progress of the task or to collect the inoperative robot.

[0022] FIG. 2 is a diagram showing a hardware configuration example of the information processing apparatus according to Embodiment 1. The information processing apparatus 200 includes a CPU 201, a ROM 202, a RAM 203, a storage 204, a display unit 205, a communication unit 206, etc. as a computer, and each component is connected by a system bus 207.

[0023] The CPU 201 is a central processing unit, and performs operations such as calculations and logical judgments for various processes by executing a computer program stored in a storage medium. Further, the CPU 201 controls each component connected to the system bus 207.

[0024] The ROM (Read-Only Memory) 202 is a program memory and stores a computer program for control by the CPU 201 including various processing procedures executed in the information processing apparatus 200. The RAM (Random Access Memory) 203 is used as a temporary storage area such as the main memory and work area of the CPU 201.

[0025] Also, a program memory may be realized by loading a program from an external storage device or the like connected to the information processing apparatus 200 into the RAM 203. The storage 204 is an auxiliary storage device for storing electronic data and programs according to the present embodiment. As examples of auxiliary storage devices, hard disk drives and solid state drives are known.

[0026] Alternatively, an external storage device may be used to perform a similar role. Here, the external storage device can be realized, for example, by a medium (recording medium) and an external storage drive for realizing access to the medium. As such a medium, for example, CD-ROM, DVD, USB memory, MO, flash memory, etc. are known.

[0027] Alternatively, the external storage device may be an external server device or the like connected by a network. The display unit 205 is a device that outputs information to a display screen, such as a CRT display or a liquid crystal display.

[0028] Also, the display unit 205 may be an external display unit connected to the information processing apparatus 200 by wire or wirelessly. The communication unit 206 performs two-way communication, either wired or wireless, with other information processing apparatuses, communication devices, external storage devices, external terminals, etc. according to known communication technologies.

[0029] FIG. 3 is a functional block diagram showing a configuration example of the information processing apparatus 200 according to Embodiment 1. Note that some of the functional blocks shown in FIG. 3 are realized by causing a CPU 201 or the like as a computer included in the information processing apparatus to execute a computer program stored in a memory as a storage medium.

[0030] However, some or all of them may be implemented in hardware. As the hardware, dedicated circuits (ASICs), processors (reconfigurable processors, DSPs), etc. can be used. Also, each functional block shown in FIG. 3 does not have to be built in the same housing, and may be constituted by separate devices connected to each other via signal paths.

[0031] The task to be taken over detection unit 301 functions as a task to be taken over detection means, and detects that a task to be taken over (hereinafter referred to as a task to be taken over) has occurred, that is, that the first task has become a task to be taken over. The task to be taken over detection unit 301 acquires the state of the robot using the task execution management unit 305 described later. A method for detecting that a task to be taken over has occurred from the state of the robot will be described later with reference to FIG. 6.

[0032] The task to be taken over information acquisition unit 302 functions as a task to be taken over information acquisition means, and acquires information regarding the task to be taken over regarding the first task. Details of the information regarding the task including the task to be taken over will be described later with reference to FIG. 4. The takeover candidate information acquisition unit 303 functions as a takeover candidate information acquisition means, and acquires information regarding the takeover candidate. Details of the information regarding the robot including the takeover candidate will be described later with reference to FIG. 5.

[0033] The takeover partner determination unit 304 determines the takeover partner when the task to be taken over detection unit 301 detects a task to be taken over. That is, based on the information acquired by the task to be taken over information acquisition unit 302 and the information acquired by the takeover candidate information acquisition unit 303, the takeover partner is determined from among the takeover candidates. Here, the takeover partner determination unit 304 functions as additional time acquisition means and takeover partner determination means.

[0034] The task execution management unit 305 controls the grasping of the operation status of the robot, the assignment of tasks to the robot, and the task execution status of the robot via the communication unit 206. When a task to be taken over occurs, the assignment of the task to the transfer source is canceled, the execution of the task is stopped, and the task to be taken over is assigned to the transfer destination determined by the information processing apparatus 200, and the execution is resumed.

[0035] FIG. 4 is a diagram showing an example of a task table used for the information processing apparatus according to Embodiment 1 to manage tasks. Each row of the task table 400 represents one task. In the task ID 401, an ID for uniquely identifying the task stored in the task table 400 is described.

[0036] In the target area 402, a target area representing the geographical range where the task specified by the task ID 401 is executed is described. For example, in the task related to cleaning, the target area 402 is the range where cleaning is performed.

[0037] In the task amount 403, the task amount which is the scale of the task specified by the task ID 401 is described. The larger the task amount 403, the more time it takes to complete the task. In the start time 404, the time when the task specified by the task ID 401 is started is described. If the task has not started, nothing is described.

[0038] In the progress 405, the progress of the task specified by the task ID 401 is described. The progress 405 takes a real value from 0 to 1, where 0 represents not started and 1 represents completed. The progress 405 is sequentially updated according to the degree of execution of the task.

[0039] In the completed area 406, the area where the execution of the task has been completed in the target area 402 is described. If the task has not started, nothing is described. The completed area 406 is sequentially updated according to the degree of execution of the task.

[0040] FIG. 5 is a diagram showing an example of a robot information table 500 used for an information processing apparatus according to Embodiment 1 to manage a robot that executes tasks. Each row of the robot information table 500 represents one piece of robot information.

[0041] In the robot information ID 501, an ID for uniquely identifying the robot information stored in the robot information table 500 is described. In the movement speed 502, the movement speed of the robot specified by the robot information ID 501 is described.

[0042] In the task processing speed 503, a task processing speed representing the speed at which the robot specified by the robot information ID 501 executes tasks is described. The task processing speed is an index indicating how much task amount can be processed per unit time.

[0043] In this embodiment, it is assumed that each robot executes the same type of task, for example, cleaning. However, when each robot can execute different types of tasks (for example, cleaning and luggage transportation, etc.), the task processing speed when the robot executes the process for each type of task may be stored in the robot information table.

[0044] In the current position 504, coordinate information representing the current position of the robot specified by the robot information ID 501 is described. The current position 504 is sequentially updated as the robot moves.

[0045] In the task ID 505, the task ID 401 of the task being executed by the robot specified by the robot information ID 501 is described. When the robot is not executing a task, nothing is described in the task ID 505.

[0046] FIG. 6 is a flowchart for explaining an example of a process for determining a handover partner in the information processing method according to Embodiment 1. The operations of each step of the flowchart in FIG. 6 are sequentially performed by a CPU or the like as a computer in the information processing apparatus executing a computer program stored in a memory.

[0047] In step S601, the CPU 201 loads a program from the storage 204 into the RAM 203 and executes an initialization process. In the initialization process, constants such as thresholds referred to in steps described later are read.

[0048] In step S602, the CPU 201 detects a task to be taken over by the takeover target task detection unit 301. Specifically, the states of all robots are acquired, and it is confirmed whether there is a robot corresponding to a non-operational state. If there is a robot corresponding to the non-operational state, the task being executed by the robot is the task to be taken over.

[0049] Specifically, the non-operational state of the robot refers to a state where the hardware constituting the robot has failed, or an error has occurred in the control software of the robot, or the remaining battery level of the robot has fallen below a predetermined threshold, etc. Here, step S602 functions as a takeover target task detection step for detecting by the takeover target task detection unit 301 that the first task has become a takeover target.

[0050] In step S603, the CPU 201 determines by the takeover target task detection unit 301 whether the takeover target task has been detected in step S602. If it is detected, the process of step S604 is executed. If it is not detected, the process of step S602 is executed.

[0051] In step S604, the CPU 201 acquires information related to the takeover target task by the takeover target task information acquisition unit 302. Specifically, using the task ID of the task (takeover target task) being executed by the robot determined to be in the non-operational state in step S602, the corresponding row is searched from the task table 400.

[0052] Then, thereby, the target area 402, the task amount 403, the progress 405, and the completed area 406 are acquired. Here, step S604 functions as a transfer target task information acquisition step for acquiring transfer target task information regarding the first task by the transfer target task information acquisition unit 302.

[0053] In step S605, the CPU 201 first acquires a list of transfer target candidate information by the transfer target candidate information acquisition unit 303. Specifically, robot information of robots excluding the transfer source is acquired from the robot information table 500.

[0054] Next, information on each transfer target candidate is acquired. Specifically, using the robot information ID 501, the corresponding row is searched from the robot information table 500, and the movement speed 502, the task processing speed 503, and the current position 504 are acquired. Here, step S605 functions as a transfer target candidate information acquisition step for acquiring transfer target candidate information regarding the candidates of the second device by the transfer target candidate information acquisition unit 303.

[0055] In step S606, the CPU 201 determines a transfer target from among the transfer target candidates by the transfer target determination unit 304. Specifically, first, for each transfer target candidate, the time (hereinafter referred to as additional time) that is additionally generated when the transfer target task is executed is calculated.

[0056] Here, step S606 functions as an additional time acquisition step. Also, in step S606, based on the transfer target task information and the transfer target candidate information, for each candidate of the second device, when the first task is taken over and executed, the additional time required to execute the first task is acquired.

[0057] The additional time is calculated as the sum of the time required to move to the execution location of the transfer target task, the time required to execute the transfer target task, and the time required to move to the execution location of the interrupted task (the time required to resume the interrupted task).

[0058] That is, the additional time includes at least the time required for at least the second device to move to the execution location of the first task and the time required for the second device to execute the first task. Further, in Embodiment 1, the additional time also includes in total the time required for the second device to return to the execution location of the second task.

[0059] The time required to move to the execution location of the task to be taken over is obtained, for example, by the following Equation 1. Here, the execution start position of the task to be taken over is the current position 504 of the transfer source at the time when the task to be taken over occurs.

[0060] Obtain robot information having a task ID that matches the task ID of the task to be taken over or a task ID 505 of the same type from the robot information table 500, and obtain the current position 504 from the robot information. Note that |current position of the takeover candidate - execution start position of the task to be taken over| is calculated as the distance of the route to bypass it when there is an obstacle during movement.

[0061] Time required to move to the execution location of the task to be taken over = |current position of the takeover candidate - execution start position of the task to be taken over| / movement speed of the takeover candidate ··· (Equation 1)

[0062] The time required to execute the task to be taken over is obtained by the following Equation 2. Time required to execute the task to be taken over = task amount of the task to be taken over * (1 - progress of the task to be taken over) / task processing speed of the takeover candidate ··· (Equation 2)

[0063] The time required to move (return) to the execution location of the interrupted task is obtained by the following Equation 3. Time required to move to the execution location of the interrupted task = |scheduled completion position of the task to be taken over - current position of the takeover candidate| / movement speed of the takeover candidate ··· (Equation 3)

[0064] The estimated position of the completion of the task to be taken over is the estimated value of the current position 504 of the takeover candidate at the completion of the task to be taken over. Here, the estimated position of the completion of the task to be taken over is the estimated value of the current position 504 of the takeover partner at the completion of the task to be taken over.

[0065] To obtain this estimated value, first, for example, find the difference between the target area 402 and the completed area 406 of the task to be taken over. The difference obtained here represents the uncompleted area of the task to be taken over. Next, for example, use the centroid position of the path of the uncompleted area as the representative position. Or, among the uncompleted areas, the coordinate farthest from the current position 504 of the takeover candidate may be used as the representative position.

[0066] Estimate this representative position as the estimated position of the completion of the task to be taken over. Note that the current position of the takeover source may be used as the estimated value of the estimated position of the completion of the task to be taken over. Note that |Estimated position of the completion of the task to be taken over - Current position of the takeover candidate| is calculated as the distance of the detour route when there is an obstacle during movement.

[0067] And in step S606, the takeover partner candidate with the shortest total additional time of expressions 1 to 3 is determined as the takeover partner. In this way, step S606 also functions as a takeover partner determination step in which the takeover partner determination unit 304 determines the second device that takes over the first task from among the candidates of the second device based on the additional time.

[0068] Note that instead of determining the takeover partner candidate with the shortest additional time as the takeover partner, when determining the second device from among the candidates of the second device, the candidates of the second device with shorter calculated additional time may be more likely to be determined as the second device. Moreover, the second device that finally becomes the takeover partner may be determined according to the priority of the second task and the like.

[0069] When the handover target is determined, the task execution management unit 305 assigns the handover target task to the handover target. Specifically, the task ID 401 of the handover target task is set to the task ID 505 of the robot information corresponding to the handover target. Also, the value of the task ID 505 of the robot information corresponding to the handover source is deleted.

[0070] Next, in step S607, the CPU 201 determines whether an end instruction has been input from the user. If an end instruction has been input, this process ends. If an end instruction has not been input, the process of step S602 is executed.

[0071] As described above, in this embodiment, when a handover target task occurs, a handover partner that takes over and executes the handover target task from among the handover partner candidates is determined based on the additional time. Thereby, it becomes possible to improve the work efficiency of the entire plurality of robots.

[0072] <Modification Example 1> In Embodiment 1, the occurrence of a handover target task was detected by acquiring the state of the robot and checking whether the state of the robot corresponds to a non-operable state. The occurrence of a handover target task may be detected by checking whether the robot holds the resources necessary for task execution, or by checking whether the content of the task matches the attributes and state of the robot.

[0073] When checking whether the resources are held, specifically, for example, the amount of resources required for the tasks being executed by all robots and the amount of resources currently held by the robots are acquired and compared.

[0074] And when the amount of resources held by each robot is less than the amount of resources required for task execution, it is determined that a handover target task has occurred. Note that the types of resources include, for example, the remaining charge of the robot. Also, in the case of a cleaning robot, it includes the remaining amount of detergent, the empty capacity of the dust container, and the like.

[0075] When checking whether the content of the task matches the attributes and status of the robot, specifically, obtain the surrounding environmental information and the attributes and status of the robot, and check whether the surrounding environment contains factors that may impede the execution of the robot's task.

[0076] For example, when the robot has an attribute of "size" greater than or equal to a predetermined value and environmental information is obtained that objects are placed on the passage and the road width has become narrow and it is impossible to pass through, a smaller robot is required, so it is determined that a task to be taken over has occurred.

[0077] Also, when the robot has an attribute of "can perform suction cleaning but cannot perform wiping cleaning" and environmental information is obtained that liquid has spilled on the floor, an area where the task cannot be executed will occur for that robot. Therefore, in that case, it is determined that a task to be taken over has occurred.

[0078] Also, when the robot has an attribute of "no waterproof performance" and environmental information is obtained that it has started to rain, that robot will not be able to continue the task, so it is determined that a task to be taken over has occurred.

[0079] Also, when the total value of the attribute of "weight" of the robot and the status of "weight of the loaded object" is greater than or equal to a predetermined value and environmental information is obtained that the surrounding area has started to become congested, it becomes difficult for that robot to safely continue the task. Therefore, in such a case, it may be determined that a task to be taken over has occurred.

[0080] <Modification Example 2> In Embodiment 1, the information representing the task was managed using the task table 400, but the types and expression forms of the information representing the task are not limited to the method described with reference to FIG. 4. In Embodiment 1, the target area 402, the start time 404, and the completed area 406 are not essential and may be excluded from the management target of the task table 400.

[0081] For example, when calculating the time required for the movement (return) to the execution location of the interrupted task, the target area 402 and the completed area 406 are referred to for the purpose of obtaining an estimated value of the scheduled execution completion position of the task to be taken over. Therefore, when using the current location of the takeover source as the estimated value of the scheduled execution completion position of the task to be taken over, the target area 402 and the completed area 406 are not essential.

[0082] <Embodiment 2> In Embodiment 1, the additional time was calculated for each takeover candidate, and the takeover candidate with the shortest additional time was determined as the takeover partner. In Embodiment 2, the takeover partner is determined on the premise that the takeover candidate does not interrupt the task being executed.

[0083] Since the takeover partner will perform the takeover after completing the task it is executing, among the additional times, the time required for the movement to the execution location of the interrupted task (the time required for the return to the interrupted task) calculated by Equation 3 becomes zero. As a result, the additional time can be shortened, and it becomes possible to complete the task to be taken over in a shorter time.

[0084] That is, in Embodiment 2, in step S606 of FIG. 6, the additional time is obtained by summing the time required for the movement to the execution location of the task to be taken over and the time required for the execution of the task to be taken over, and the takeover candidate with the shortest additional time is determined as the takeover partner.

[0085] Alternatively, the time when the task to be taken over is taken over by the takeover partner and starts execution may be obtained and displayed on a screen as shown in FIGS. 7(A) to 7(C). The time when the task to be taken over is taken over and starts execution is obtained as follows. First, the time required until the completion of the task that the takeover partner has been executing so far is obtained by the following Equation 4.

[0086] Time required until task completion = Task amount × (1 - Progress) / Task processing speed of takeover partner ··· (Equation 4)

[0087] Next, add the time required from the start time 404 of the task to the completion of the task to obtain the time when the task to be taken over is taken over and starts execution.

[0088] Hereinafter, scenarios where it is effective to apply Embodiment 2 will be described. Even if the time when the execution of the task to be taken over starts is delayed compared to Embodiment 1 according to this embodiment, there are cases where there is an effect (cases where an improvement in efficiency is expected more than the delay in the start of execution of the task to be taken over), which are listed below.

[0089] The first is the case where the task will be completed soon. The second is the case where the time zone in which the task can be executed is limited, and if that time zone is missed, it will be, for example, several hours later before the task can be executed again. The third is the case where the target area of the task becomes congested outside a predetermined time zone, etc., and if that predetermined time zone is missed, the execution of the task becomes inefficient.

[0090] The fourth is the case where more than a predetermined number of robots are participating in a task. Note that all of the tasks mentioned in the four scenarios listed above refer to the tasks currently being executed by the takeover candidate.

[0091] When the task currently being executed by the takeover candidate falls under the cases listed above, additional time is calculated on the premise that the task currently being executed by the takeover candidate is not interrupted as described in this embodiment. When the task currently being executed by the takeover candidate does not fall under the cases listed above, additional time is calculated on the premise that the task currently being executed by the takeover candidate is interrupted.

[0092] <Embodiment 3> In Embodiment 2, additional time was calculated on the premise that the task currently being executed by the takeover candidate is not interrupted. On the other hand, in Embodiment 3, when the priority of the task to be taken over is high, the takeover candidate that can complete the task to be taken over earliest is determined as the takeover partner. As a result, it becomes possible to complete the task to be taken over with high priority as early as possible.

[0093] In Embodiment 3, priorities for each task are added, saved, and managed in the task table 400 of FIG. 4. Then, in step S604 of FIG. 6 in Embodiment 3, the CPU 201 obtains the priority of the task to be taken over from the task table 400 by the task to be taken over information acquisition unit 302.

[0094] Also, in step S606, when the priority of the task to be taken over is equal to or higher than a predetermined value, the CPU 201 calculates the total time required for moving the task to be taken over to the execution location and the time required for executing the task to be taken over. Then, the takeover candidate with the smallest total is determined as the takeover partner.

[0095] That is, when the priority of the task to be taken over is equal to or higher than a predetermined value, the time required for the second device to return to the execution location of the second task is not included in the additional time. On the other hand, when the priority of the task to be taken over is not equal to or higher than a predetermined value, the takeover candidate with the smallest total value of Expressions 1 to 3 is determined as the takeover partner in the same manner as in Embodiment 1.

[0096] <Embodiment 4> In Embodiment 1, the takeover partner was determined for all takeover candidate partners. In contrast, in Embodiment 4, the takeover candidate partners are narrowed down in advance according to a predetermined condition. Thereby, the number of takeover candidate partners for which it is necessary to calculate the additional time can be reduced, and the calculation time can be shortened.

[0097] As the first example of the above-mentioned predetermined condition, there is a narrowing-down condition that the takeover candidate partner has the ability required for executing the task to be taken over. In this example, using the task table 400 of FIG. 4, the ability required for executing each task is additionally saved and managed for each task.

[0098] Examples of capabilities include step movement, opening and closing of swing doors, opening and closing of sliding doors, sweeping, wiping, etc. Also, using the robot information table 500 in FIG. 5, for each robot, capabilities related to the execution of tasks that the robot has are additionally saved and managed.

[0099] In Embodiment 4, in step S604 of FIG. 6, the CPU 201 acquires, from the task table 400, the capabilities necessary for the execution of the task to be taken over by the take-over target task information acquisition unit 302.

[0100] Also, in step S605 of FIG. 6, the CPU 201 acquires, from the robot information table 500, the capabilities related to the execution of the tasks that the take-over candidate has by the take-over partner candidate information acquisition unit 303. Immediately after step S605, a take-over partner candidate that does not have the ability to execute the take-over target task is excluded.

[0101] Note that the capabilities related to the execution of tasks that a robot has may be conditional. For example, a certain robot has the ability A related to the execution of a task, but the condition is that the parts it is equipped with are replaced.

[0102] Since this robot will only have the ability A related to the execution of the task after replacing the parts, when the ability related to the execution of the task is conditional, it is considered that additional time is required to meet the conditions. Therefore, if a take-over partner candidate has the ability to execute the take-over target task but the ability is conditional, that take-over partner candidate is excluded.

[0103] As a second example, there is a narrowing-down condition that resource replenishment is not required while taking over and executing the take-over target task. In this example, using the robot information table 500 in FIG. 5, for each robot, the remaining resource amount and the resource consumption rate (the amount of resources consumed per unit time) are additionally saved and managed.

[0104] Furthermore, the remaining resource amount and the resource consumption rate may be managed for each type of resource. Examples of resources that require resource replenishment include at least the remaining charge amount, the remaining detergent amount, the free capacity of the trash container, and the like. Also, using the task table 400 in FIG. 4, the types of resources consumed in the execution of each task are additionally stored and managed for each task.

[0105] In step S604 of FIG. 6, the CPU 201 additionally acquires the types of resources consumed in the execution of the task to be taken over from the task table 400. In step S605 of FIG. 6, the CPU 201 additionally acquires the remaining resource amount and the resource consumption rate of the takeover candidate from the robot information table 500.

[0106] Immediately after step S605, for each resource consumed in the execution of the task to be taken over, the resource consumption amount is obtained by the following formula 5, and the takeover candidate whose resource consumption amount exceeds the remaining resource amount is excluded. Resource consumption amount = resource consumption time * resource consumption rate ··· (Formula 5)

[0107] Here, the resource consumption time is the time required for the activity of the robot that consumes the resource, including the time required to move to the execution location of the task to be taken over, the time required to execute the task to be taken over, and the time required to move to the execution location of the interrupted task.

[0108] As a third example, there is a narrowing condition that the takeover candidate satisfies the constraint conditions of the environment for executing the task to be taken over. For example, for a passage included in the target area of the task, a robot with a width greater than a predetermined width of the passage is excluded because it cannot pass itself or may obstruct the passage of people or other robots.

[0109] Also, when a load-bearing capacity is set for the floor included in the target area of the task, exclude the case where the total weight of the robot itself and the load exceeds the load-bearing capacity of the floor. In this example, using the robot information table 500 in FIG. 5, for each robot, attributes for comparison with the environmental constraint conditions are additionally stored and managed.

[0110] Examples of attributes include the size, weight of the robot, and the weight of the load. Also, the environmental constraint conditions are managed in an environmental constraint condition table (not shown). Examples of the environmental constraint conditions include terrain information and the load-bearing capacity of the floor surface.

[0111] In this way, in the present embodiment, it is determined whether the candidate for the second device satisfies at least one of the following three conditions. The three conditions are that the candidate for the second device has the ability to execute the first task, satisfies the environmental constraint conditions of the environment in which the first task is executed, and does not require resource replenishment during the execution of the first task. Then, in the present embodiment, the second device is determined from among the candidates for the second device that satisfy at least one of the above three conditions.

[0112] In step S605 of FIG. 6, the CPU 201 additionally acquires the attributes of the robot from the robot information table 500. Immediately after step S605, the environmental constraint conditions are acquired from the environmental constraint condition table and compared with the attributes of the robot acquired in step S605, and the candidates for the transfer partner who do not satisfy the environmental constraint conditions for executing the task to be transferred are excluded.

[0113] <Embodiment 5> In Embodiment 1, the transfer partner was determined when the task to be transferred occurred. In Embodiment 5, the execution state of the task is displayed on the screen. As a result, when the task to be transferred occurs, the transfer partner is determined, and the user of the information processing apparatus 200 can grasp that the task to be transferred is transferred to the transfer partner and executed.

[0114] In Embodiment 5, for example, a task status display unit is additionally connected to the task execution management unit 305 in the functional configuration described with reference to FIG. 3. The task status display unit displays the execution status of a task on the display unit 205. When a handover partner is determined by the handover partner determination unit 304, the screen is updated to indicate that the handover target task has been handed over to the handover partner.

[0115] FIGS. 7(A) to 7(C) are diagrams for explaining an example of the screen 700 of the information processing apparatus according to Embodiment 5. FIG. 7(A) shows an example of the screen when all robots are operating normally. 701 is an area for displaying information related to a task, and the information related to the task is displayed in a tabular format. One row of the table corresponds to one "information related to a task".

[0116] In the column of the task name 702, a character string for uniquely identifying the task is displayed. The task ID 401 of the task table 400 is displayed in this column. In the column of the person in charge 703, a character string for uniquely identifying the robot in charge of executing the task is displayed. The robot information ID 501 of the robot information table 500 is displayed in this column.

[0117] In the column of the status 704, the execution status of the task is displayed. When the task is being executed by the robot, "In execution" is displayed; when the execution of the task cannot be continued, "Un-executable" is displayed; when the robot has interrupted the execution of the task originally being executed due to a handover, "Interrupted" is displayed, and so on.

[0118] FIG. 7(B) is a diagram showing an example of the screen when the robot with the robot ID "Robot_1" malfunctions and a handover target task occurs.

[0119] "Un-executable" is displayed in the status 704 of the task that the robot with the robot ID "Robot_1" was in charge of.

[0120] FIG. 7(C) is an example of the screen after the robot with the robot ID "Robot_2" is determined as the handover partner.

[0121] The task (the "Task_1" in the first line of 701) that was previously assigned to the robot with the robot ID "Robot_1" is now assigned to "Robot_2" in the assignment 703, and the status 704 is displayed as "In execution". Also, the status 704 of the task (the "Task_2" in the second line of 701) that was previously assigned to the robot with the robot ID "Robot_2" is displayed as "Interrupted".

[0122] <Modification Example 1> In Embodiment 5, although the execution status of the task is displayed on the screen, the result of determining the handover partner may be additionally displayed. This allows the user to confirm whether the handover partner has been determined in a proper manner.

[0123] FIGS. 8(A) and (B) are diagrams for explaining an example of a screen that additionally displays the result of determining the handover partner on the screen of FIG. 7. Since 700 to 704 are the same as the corresponding reference numerals in FIG. 7, the description thereof is omitted. FIG. 8(A) is a diagram showing an example of the screen after the robot with the robot ID "Robot_2" has been determined as the handover partner.

[0124] 801 is the task ID of the task to be handed over, and for the task ID of the task to be handed over, for example, an underline indicating that it is clickable is drawn and displayed. When the task ID 801 of the task to be handed over is clicked, a screen 800 showing the details of the handover result as shown in FIG. 8(B) is displayed.

[0125] FIG. 8(B) is a diagram showing an example of the screen 800 of the handover result details screen, and displays the additional time calculated for each handover partner candidate when determining the handover partner. 802 is an area for displaying the additional time for each handover partner candidate.

[0126] On screen 800, the additional time for each handover candidate is displayed in tabular form. One row of the table corresponds to one "additional time for handover candidate". Each row can be sorted in ascending order of the additional time described later. Also, on screen 800 of the present embodiment, the row with the smallest additional time is highlighted.

[0127] In the column of robot ID 803, a string for uniquely identifying the robot is displayed. In this column, the robot information ID 501 of the robot information table 500 is displayed. 804 is the column of additional time, and 805 is a button for closing the handover details screen. When button 805 is clicked, the handover details screen is closed.

[0128] <Modification Example 2> In addition, in Embodiment 5, the execution state of the task is displayed on the screen, but the execution state of the robot may also be displayed together. This makes it easier to discover robots that are in a state where they cannot execute tasks.

[0129] Figs. 9(A) and (B) are diagrams for explaining an example of a screen that also displays the execution state of the robot on the screen of Fig. 7, and explains an example of screen 700 displayed on display unit 205. Since 700 to 704 are the same as the corresponding reference numerals in Fig. 7, the description thereof is omitted.

[0130] Fig. 9(A) is an example of a screen when all robots are operating normally. 901 is an area indicating "robot list", and information about the robots is displayed in tabular form. One row of the table corresponds to one "information about the robot".

[0131] In the column of robot ID 902, a string for uniquely identifying the robot is displayed. In this column, the robot information ID 501 of the robot information table 500 is displayed. State 903 represents the state of the robot. When the robot is operating normally, it is displayed as "normal", and when the robot is in a state where it cannot execute a task for some reason, it is displayed as "failure", "error", "resource shortage", "task mismatch", etc. according to the cause.

[0132] FIG. 9(B) is a diagram showing an example of a screen when a robot with a robot ID of "Robot_1" malfunctions and a task to be taken over occurs, and "malfunction" is displayed in the status 903 of the robot with a robot ID of "Robot_1".

[0133] <Modification Example 3> In Embodiment 5, the execution state of the task is displayed on the screen, but the scheduled completion time of the task to be taken over may be displayed when the task to be taken over is taken over by the takeover partner and executed. Thereby, it becomes possible to grasp the influence on the progress of the task to be taken over when a takeover occurs.

[0134] FIGS. 10(A) to 10(C) are diagrams for explaining an example of a screen in which the scheduled completion time of the task to be taken over is also displayed on the screen of FIG. 7, and an example of the screen 700 displayed on the display unit 205 is explained. Note that 700 to 704 are the same as the corresponding reference numerals in FIG. 7, and thus the description thereof is omitted.

[0135] FIG. 10(A) is a diagram showing an example of a screen when all robots are operating normally, and the time when the execution of the task starts is displayed in the column of the start time 1001. That is, the start time 404 of the task table 400 is displayed in this column.

[0136] In the column of the scheduled completion time 1002, the scheduled time when the execution of the task is completed is displayed. The scheduled time when the execution of the task is completed is calculated by the following formula 6 using, for example, the start time 404 of the task, the task amount 403, and the task processing speed 503 of the robot in charge of the execution of the task. Scheduled time when the execution of the task is completed = start time + task amount / task processing speed ··· (Formula 6)

[0137] FIG. 10(B) is a diagram showing an example of a screen when a robot with a robot ID of "Robot_1" malfunctions and a task to be taken over occurs. In FIG. 10(B), "Unavailable" is displayed in the status 704 of the task that the robot with the robot ID of "Robot_1" was in charge of, and "Undetermined" is displayed in the scheduled completion time 1002.

[0138] FIG. 10(C) is a diagram showing an example of a screen after a robot with a robot ID of "Robot_2" is determined as the takeover partner.

[0139] In the person in charge 703 of the task (the first line of 701, "Task_1") that the robot with the robot ID of "Robot_1" was in charge of, "Robot_2" is displayed, and "In progress" is displayed in the status 704. Also, at the scheduled completion time 1002, the time obtained by the following formulas 7 to 9 is displayed.

[0140] Scheduled completion time = original completion time - time for the original to complete the remaining part of the task + time for the takeover partner to complete the remaining part of the task... (Formula 7)

[0141] Time for the original to complete the remaining part of the task = task amount of the task to be taken over * (1 - progress of the task to be taken over) / task processing speed of the original... (Formula 8)

[0142] Time for the takeover partner to complete the remaining part of the task = time required for the takeover partner to move to the execution location of the task to be taken over + time required for the takeover partner to execute the task to be taken over... (Formula 9)

[0143] Also, in the status 704 of the task (the second line of 701, "Task_2") that the robot with the robot ID of "Robot_2" was in charge of, "Interrupted" is displayed, and at the scheduled completion time 1002, the time obtained by adding the additional time to the original scheduled completion time is displayed.

[0144] <Embodiment 6> In Embodiment 1, the movement speed and task processing speed of the robot referred to fixed values for each robot. In contrast, in Embodiment 6, they are changed according to the robot itself, the surrounding situation, and the type of task. As a result, it becomes possible to obtain a more accurate additional time.

[0145] In Embodiment 6, using the robot information table 500 in FIG. 5, information representing the situation of each robot itself is additionally saved and managed for each robot. Examples of the situation of the robot itself include the load capacity of the robot, the degree of aging deterioration of the robot, the remaining charge amount, and the like. Also, using the task table 400 in FIG. 4, the type of task is additionally saved and managed for each task.

[0146] In Embodiment 6, in step S604 of FIG. 6, the CPU 210 refers to the task table 400 in addition to the content described in Embodiment 1 by the takeover target task information acquisition unit 302, and acquires the type of the takeover target task.

[0147] Also, in step S605 of FIG. 6, the CPU 210 refers to the robot information table 500 in addition to the content described in Embodiment 1 by the takeover partner candidate information acquisition unit 303, and acquires information representing the situation of the robot itself corresponding to each takeover partner candidate.

[0148] Also, the surrounding environment is acquired using an environment information acquisition unit (not shown). The environment information acquisition unit is a functional unit for acquiring information regarding the environment in which the robot executes a task. Examples of information regarding the environment in which the task is executed include the state of the road surface in the target area of the task.

[0149] Then, the movement speed and task processing speed of the robot are acquired by referring to a predetermined lookup table (not shown) using the information regarding the situation of the robot itself, the execution environment of the task, and the type of the task.

[0150] When determining the handover partner, the handover partner determination unit 304 refers to the previously acquired moving speed and task processing speed of the robot, and the task execution management unit 305 operates the handover partner at the previously acquired moving speed and task processing speed of the robot. As a result, it becomes possible to obtain a more accurate additional time.

[0151] As described above, in this embodiment, the display unit displays at least one of the fact that the first task has become a handover target, the additional time for each candidate of the second device, and the second device that takes over the first task. Therefore, the user of the information processing apparatus 200 can easily grasp the handover state of the task.

[0152] As described above, the present invention has been described in detail based on its preferred embodiments. However, the present invention is not limited to the above embodiments, and various modifications and combinations of the above embodiments are possible based on the spirit of the present invention, and they are not excluded from the scope of the present invention. The present invention includes the following combinations.

[0153] (Configuration 1) An information processing apparatus that determines a second device that executes a second task different from the first task and takes over the execution of the first task from a first device that executes the first task, the handover target task detection means for detecting that the first task has become a handover target, the handover target task information acquisition means for acquiring handover target task information regarding the first task, the handover partner candidate information acquisition means for acquiring handover partner candidate information regarding candidates of the second device, and based on the handover target task information and the handover partner candidate information, for each candidate of the second device, when taking over and executing the first task, an additional time acquisition means for acquiring the additional time required to execute the first task, and a handover partner determination means for determining a second device that takes over the first task from among the candidates of the second device based on the additional time. The information processing apparatus is characterized by having the above.

[0154] (Configuration 2) The additional time includes the time required for the second device to move to the execution location of the first task and the time required for the second device to execute the first task, and is characterized by the information processing apparatus according to Configuration 1.

[0155] (Configuration 3) The additional time includes the total of the time required for the second device to move to the execution location of the first task, the time required for the second device to execute the first task, and the time required for the second device to return to the execution location of the second task, and is characterized by the information processing apparatus according to Configuration 1 or 2.

[0156] (Configuration 4) When the priority of the first task is equal to or higher than a predetermined value, the time required for the second device to return to the execution location of the second task is not included in the additional time, and is characterized by the information processing apparatus according to Configuration 3.

[0157] (Configuration 5) When determining the second device from among the candidates for the second device, the handover partner determination means is more likely to determine the candidate for the second device with a shorter calculated additional time as the second device, and is characterized by the information processing apparatus according to any one of Configurations 1 to 4.

[0158] (Configuration 6) The handover partner determination means determines the second device from among the candidates for the second device that satisfy at least one of the following conditions: the candidate for the second device has the ability to execute the first task, the candidate for the second device satisfies the constraint conditions of the environment for executing the first task, and the candidate for the second device does not require resource replenishment during the execution of the first task, and is characterized by the information processing apparatus according to any one of Configurations 1 to 5.

[0159] (Configuration 7) The information processing apparatus according to any one of Configurations 1 to 6 is characterized by causing the display unit to display at least one of the fact that the first task has become the handover target, the additional time for each candidate for the second device, and the second device that takes over the first task.

[0160] An information processing method for determining a second device that executes a second task different from the first task and takes over the execution of the first task from a first device that executes the first task, the method comprising: a takeover target task detection step of detecting that the first task has become a takeover target; a takeover target task information acquisition step of acquiring takeover target task information regarding the first task; a takeover partner candidate information acquisition step of acquiring takeover partner candidate information regarding candidates for the second device; an additional time acquisition step of acquiring, for each candidate for the second device, additional time required to execute the first task when taking over and executing the first task, based on the takeover target task information and the takeover partner candidate information; and a takeover partner determination step of determining, based on the additional time, a second device that takes over the first task from among the candidates for the second device. The information processing method is characterized by comprising these steps.

[0161] A computer program for controlling each means of the information processing apparatus according to any one of Configurations 1 to 7 by a computer.

[0162] Note that, in order to realize part or all of the control in the above embodiment, a computer program that realizes the functions of the above-described embodiment may be supplied to an information processing apparatus or the like via a network or various storage media. Then, a computer (or a CPU, MPU, etc.) in the information processing apparatus or the like may read and execute the program. In that case, the program and the storage medium storing the program constitute the present invention.

Explanation of Signs

[0163] 101: Robot that executes a task 102: Room 103: Corridor 104: Computer 105: Display 106: User

Claims

1. An information processing apparatus that determines a second apparatus that executes a second task different from the first task, which takes over the execution of the first task from a first apparatus that executes the first task, a takeover target task detection means for detecting that the first task has become a takeover target; a takeover target task information acquisition means for acquiring takeover target task information regarding the first task; a takeover partner candidate information acquisition means for acquiring takeover partner candidate information regarding candidates for the second apparatus; an additional time acquisition means for acquiring, for each candidate for the second apparatus, an additional time required to execute the first task when taking over and executing the first task, based on the takeover target task information and the takeover partner candidate information; a takeover partner determination means for determining the second apparatus that takes over the first task from among the candidates for the second apparatus based on the additional time; The information processing apparatus characterized by including these.

2. The additional time includes the time required for the second apparatus to move to the execution location of the first task and the time required for the second apparatus to execute the first task, The information processing apparatus according to claim 1, characterized by this.

3. The additional time includes the total of the time required for the second apparatus to move to the execution location of the first task, the time required for the second apparatus to execute the first task, and the time required for the second apparatus to return to the execution location of the second task, The information processing apparatus according to claim 1, characterized by this.

4. When the priority of the first task is equal to or higher than a predetermined value, the time required for the second apparatus to return to the execution location of the second task is not included in the additional time, The information processing apparatus according to claim 3, characterized by this.

5. When determining the second apparatus from among the candidates for the second apparatus, the takeover partner determination means is more likely to determine as the second apparatus a candidate for the second apparatus with a shorter calculated additional time, The information processing apparatus according to claim 1, characterized by this.

6. The takeover partner determination means, the candidate for the second apparatus has the ability to execute the first task, the candidate for the second apparatus satisfies the constraint conditions of the environment for executing the first task, resource replenishment is not required during the execution of the first task by the candidate for the second apparatus, determining the second device from among candidates for the second device that satisfy at least one of the conditions; The information processing apparatus according to claim 1, characterized in that.

7. the first task has become a handover target; the additional time for each candidate for the second device, and causing at least one of the additional time and the second device that takes over the first task to be displayed on a display unit; The information processing apparatus according to claim 1, characterized in that.

8. An information processing method for determining a second device that executes a second task different from the first task and takes over the execution of the first task from a first device that executes the first task, comprising: a handover target task detection step of detecting that the first task has become a handover target; a handover target task information acquisition step of acquiring handover target task information regarding the first task; a handover partner candidate information acquisition step of acquiring handover partner candidate information regarding candidates for the second device; an additional time acquisition step of acquiring, for each candidate for the second device, an additional time required to execute the first task when taking over and executing the first task, based on the handover target task information and the handover partner candidate information; a handover partner determination step of determining the second device that takes over the first task from among the candidates for the second device based on the additional time; An information processing method, characterized by comprising:

9. A computer program for controlling each means of the information processing apparatus according to any one of claims 1 to 7 by a computer.

Citation Information

Patent Citations

  • Control device, control method, and program

    JP2021043520A