System, method, and program
By calculating the target progress and allowable amount after the update of the working record of the moving body, the control unit is used to control the moving body with a large allowable amount to avoid collision, solving the problem of collision between the moving body between different systems and achieving the safe operation of multiple moving bodies.
Patent Information
- Application Number
- JP2021051808
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-25
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2041-03-25
AI Technical Summary
The prior art is difficult to control mobile bodies between different systems to avoid collisions, especially when mobile bodies in different service systems collide, and cannot give priority.
By calculating the target progress of the working record update before the moving body reaches the predetermined collision time, the allowable amount of the time period after the collision is calculated, and the control unit is used to control the moving body with a larger allowable amount to avoid collision.
The collision prevention of multiple mobile bodies managed by different systems is realized to ensure the safe operation of mobile bodies between different systems.
Smart Images

Figure 0007662371000001 
Figure 0007662371000002 
Figure 0007662371000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to systems and the like. [Background technology]
[0002] When moving objects move within an area, they may collide with each other. For example, in Patent Document 1, the tasks assigned to each moving object included in the system are prioritized, and when a collision occurs, the movement of each moving object is controlled so that the cost of the task is reduced throughout the system. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2006-326703 A Summary of the Invention [Problem to be solved by the invention]
[0004] In Patent Document 1, since the tasks are within the same system, it is possible to assign priorities to each task. However, if colliding moving objects perform tasks assigned to different systems, it is not possible to assign priorities. For example, if moving objects of different business systems collide, such as a moving object of a system for a cleaning business and a moving object of a system for a tourist information business, it is not possible to assign priorities to the tasks of each system. For this reason, it is difficult to control moving objects between different systems.
[0005] One example of an objective of the present disclosure is to provide a system that controls multiple moving objects managed by different systems to prevent them from colliding with each other. [Means for solving the problem]
[0006] The system in one embodiment of the present disclosure includes a calculation means for calculating a margin of a target progress amount for a work assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount being updated based on the work performance performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a work assigned to a second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount being updated based on the work performance performed by the second moving body up to the scheduled time of collision, and a control means for controlling the moving body with the larger calculated margin of error so as not to collide at the scheduled time of collision.
[0007] A method in one embodiment of the present disclosure calculates a margin of error for a target progress amount of a work assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, updated based on the work performed by the first moving body up to the scheduled time of collision, and a margin of error for a target progress amount of a work assigned to a second moving body, calculated for a time after the scheduled time of collision, updated based on the work performed by the second moving body up to the scheduled time of collision, and controls the moving body with the larger calculated margin of error so as not to collide at the scheduled time of collision.
[0008] In one embodiment of the present disclosure, a program causes a computer to perform the following steps: calculate a margin of a target progress amount for a work assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount being updated based on the work performed by the first moving body up to the scheduled time of collision; and calculate a margin of a target progress amount for a work assigned to a second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount being updated based on the work performed by the second moving body up to the scheduled time of collision; and control the moving body with the larger calculated margin of error so as not to collide at the scheduled time of collision. Effect of the Invention
[0009] According to the present disclosure, it is possible to control multiple moving objects managed by different systems to prevent them from colliding with each other. [Brief description of the drawings]
[0010] [Figure 1] 1 is a block diagram showing a configuration example of a system according to a first embodiment. [Diagram 2] 4 is a flowchart showing an operation example of the system according to the first embodiment. [Diagram 3] FIG. 11 is an explanatory diagram illustrating an example of a system according to a second embodiment. [Figure 4] FIG. 11 is an explanatory diagram showing an example of the movement of a robot within an area. [Diagram 5] FIG. 11 is a block diagram showing a configuration example of an information processing device according to a second embodiment. [Figure 6] FIG. 1 is an explanatory diagram showing a first example of a collision prediction; [Figure 7] FIG. 11 is an explanatory diagram showing an example of calculation of a margin in a first collision prediction example. [Figure 8] FIG. 11 is an explanatory diagram showing a control example according to a first collision prediction example. [Figure 9] FIG. 11 is an explanatory diagram showing a second example of collision prediction. [Figure 10] FIG. 11 is an explanatory diagram showing an example of calculation of a margin in a second collision prediction example. [Figure 11] FIG. 11 is an explanatory diagram showing an example in which a robot has multiple paths. [Figure 12] FIG. 13 is an explanatory diagram showing an example of calculation of an updated target progress amount for a detour route. [Figure 13] FIG. 11 is an explanatory diagram showing an example of calculation of a margin in a detour route; [Figure 14] 11 is a flowchart showing an operation example of the information processing device according to the second embodiment. [Figure 15] FIG. 11 is an explanatory diagram showing another example 1 of the system. [Figure 16] FIG. 11 is an explanatory diagram showing another example 2 of the system. [Figure 17] FIG. 2 is an explanatory diagram illustrating an example of a hardware configuration of a computer device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, with reference to the drawings, embodiments of a system, an information processing device, a method, a program, and a recording medium for recording a program according to the present disclosure will be described in detail. However, the drawings show the configuration of the embodiment of the present disclosure in a schematic manner. Furthermore, the embodiment of the present disclosure described below is an example, and can be appropriately modified within the scope of the same essence.
[0012] Here, we will briefly explain digital twins. Digital twins are a technology that collects information in the real world and reproduces the real world in a virtual space based on the collected information. More specifically, digital twins are a solution that collects information acquired in real time, reproduces situations that may actually occur in a virtual space such as a computer using technologies such as AI (Artificial Intelligence), executes simulations, and predicts what will happen in the real world. Time-series information is acquired through sensor terminals and mobile objects installed in various locations. When simulating in a virtual space, a dynamic map is created by overlaying the acquired time-series information and future prediction information on the map information, and the actual situation is reproduced as a twin in the virtual space. In order to express events in the real space on a dynamic map, the data used in the simulation may be accumulated in layers classified by purpose.
[0013] In the system described in this embodiment, for example, data including attribute values of each attribute of a position at each position of a device that emits information in real space is acquired. In the system, multiple attribute values of the same attribute at different positions may be managed as a layer. In other words, a layer is an information group consisting of multiple attribute values of a certain attribute.
[0014] (Embodiment 1) 1 is a block diagram showing a configuration example of a system according to a first embodiment. The system 1 performs control to avoid a collision between a first moving object and a second moving object managed in different subsystems. The first moving object and the second moving object are not limited to a drone, a robot, or the like.
[0015] Here, the first moving body and the second moving body are managed by different subsystems, but may move in the same area. The area is not particularly limited. The area may be outdoors or indoors. For example, when the digital twin platforms of the first moving body and the second moving body are the same, the simulation device can predict a collision between the first moving body and the second moving body. Also, even when the digital twin platforms of the first moving body and the second moving body are different, the first moving body and the second moving body can predict a collision by recognizing each other. The system 1 has a calculation unit 101 and a control unit 102.
[0016] The calculation unit 101 calculates a margin of the target progress amount of the work assigned to the first moving body, calculated for a time after the scheduled time of collision between the first moving body and the second moving body, updated based on the work results performed by the first moving body until the scheduled time of collision. The scheduled time of collision may be predicted by a simulation device in a digital twin. Alternatively, the scheduled time of collision may be predicted from the time when the first moving body and the second moving body recognize each other and their distance from each other. The target progress amount is represented by the work amount of each moving body. The work amount is represented by, for example, the moving distance of the robot, the working area of the robot, the fee paid for the work of the robot, etc. The target progress amount of the work assigned to the first moving body is, for example, the target progress amount of the initial work. Here, the target progress amount of the initial work is called the initial target progress amount. The updated target progress amount is called the updated target progress amount.
[0017] For example, the calculation unit 101 may calculate the margin by comparing the initial target progress amount at the scheduled collision time with the updated target progress amount at the scheduled collision time. For example, when the updated target progress amount at the scheduled collision time is the progress amount of the work performance, the calculation unit 101 may calculate the difference between the initial target progress amount at the scheduled collision time and the updated target progress amount at the scheduled collision time as the margin. More specifically, the calculation unit 101 may calculate the margin by subtracting the initial target progress amount at the scheduled collision time from the updated target progress amount at the scheduled collision time. For example, if the progress amount of the work performance is larger than the initial target progress amount, the margin is a positive value. If the progress amount of the work performance is smaller than the initial target progress amount, the margin is a negative value.
[0018] The calculation unit 101 also calculates a margin of the target progress amount of the work assigned to the second moving body, calculated for a time after the scheduled collision time, updated based on the work results performed by the second moving body up to the scheduled collision time. As with the first moving body, the calculation unit 101 may calculate the margin of the second moving body.
[0019] The control unit 102 controls the moving body with the larger margin so that the first moving body and the second moving body do not collide with each other at the estimated collision time. Specifically, the control unit 102 may temporarily suspend the moving body with the larger margin so that the first moving body and the second moving body do not collide with each other. The temporary suspension here may be, for example, stopping the movement of the moving body or interrupting the work of the moving body. Also, specifically, the control unit 102 may temporarily suspend the moving body with the larger calculated margin just before the estimated collision time.
[0020] For example, the moving body with the larger margin may temporarily stop when it receives a notice to temporarily stop. The moving body with the larger margin may have a recognition unit (not shown) that recognizes whether the moving body with the smaller margin has passed by using an imaging device, a proximity sensor, or the like. The moving body may cancel the temporary stop when it recognizes that the moving body with the smaller margin has moved far enough away to avoid collision. Alternatively, the control unit 102 may control the moving body with the larger margin to temporarily stop for a certain period of time from immediately before the scheduled collision time until after the passage of a certain period of time. The method of determining the certain period of time is not particularly limited. For example, the certain period of time may be a fixed value.
[0021] Alternatively, the control unit 102 may slow down the moving speed of the moving body with the larger margin so as to prevent the first moving body and the second moving body from colliding with each other.
[0022] 2 is a flowchart showing an example of an operation of the system 1 according to the first embodiment. The calculation unit 101 calculates the margin of work for each moving body (step S101). In step S101, the calculation unit 101 calculates the margin of an updated target progress amount updated based on the work performance performed by the first moving body up to the scheduled collision time, with respect to an initial target progress amount of the first moving body, for a time after the scheduled collision time between the first moving body and the second moving body. In step S101, the calculation unit 101 calculates the margin of an updated target progress amount updated based on the work performance performed by the second moving body up to the scheduled collision time, with respect to an initial target progress amount of the second movement at the scheduled collision time.
[0023] Next, the control unit 102 controls the moving body with the larger calculated margin so as not to collide at the scheduled collision time (step S102). In step S102, the control unit 102 may temporarily halt the moving body with the larger calculated margin just before the scheduled collision time. Note that in step S102, if the calculated margins are the same value, the control unit 102 may control one of the moving bodies so as not to collide at the scheduled collision time. There is no particular limit as to which moving body is to be controlled, such as temporarily halted. Following step S102, the system 1 ends the operation of the flow.
[0024] Next, the effects of the first embodiment will be described. When a collision between two moving objects is predicted, the system 1 calculates, for each moving object, a margin of the planned progress of the work, reflecting the actual results up to the estimated time of collision, relative to the planned progress of the work from the estimated time of collision to the estimated time of completion of the work. Then, the system 1 controls the moving object with the larger margin, i.e., the moving object with the margin of progress in the work, so as not to collide. This allows the system 1 to control multiple moving objects managed by different subsystems that cannot assign priorities to the work, so as not to collide.
[0025] The first embodiment is not limited to the above-mentioned example, and various modifications are possible. For example, each of the functional units shown in Fig. 1 may be realized by one device (information processing device).
[0026] (Embodiment 2) Next, the second embodiment will be described in detail with reference to the drawings. In the second embodiment, a robot is taken as an example of a moving body. In the second embodiment, an example will be described in which an integral value of a value obtained by subtracting an initial target progress amount from an updated target progress amount at each time from the scheduled collision time to the scheduled end time is calculated as a margin amount, and a robot with a large margin amount is temporarily stopped. Below, to the extent that the description of the second embodiment is not unclear, the contents that overlap with the above description will be omitted.
[0027] FIG. 3 is an explanatory diagram showing an example of a system according to the second embodiment. The system 2 includes an information processing device 20, a subsystem 21A, and a subsystem 21B. When the subsystem is not specified, it is simply called the subsystem 21. For example, the information processing device 20 controls collisions of a robot 22 controlled between different subsystems 21. The information processing device 20 is not particularly limited to a server, a PC (Personal Computer), a smartphone, a tablet device, or the like. When the robot is not specified, it is represented as a robot 22. The information processing device 20 may be a simulation device that performs a simulation in a digital twin. The simulation device (not shown) is a device separate from the information processing device 20, and may be included in the system 2.
[0028] Subsystem 21A and subsystem 21B are managed by the same digital twin, but are independent systems 2. For example, subsystem 21A and subsystem 21B are operated by different businesses.
[0029] The subsystem 21A controls one or more robots 22A (first moving bodies). When the robot in the subsystem 21A is not specified, it is referred to as the robot 22A. The robots 22A and the information processing device 20 are connected via a communication network 23A. The type of the robot 22A is not particularly limited.
[0030] The subsystem 21B controls one or more robots 22B (second moving bodies). When the robot in the subsystem 21B is not specified, it is referred to as the robot 22B. The multiple robots 22B and the information processing device 20 are connected via a communication network 23B.
[0031] When the communication network is not specified, it is simply referred to as the communication network 23. Furthermore, the communication network 23A and the communication network 23B may be the same.
[0032] 4 is an explanatory diagram showing an example of movement of the robot 22 within an area. Each robot 22A controlled by the subsystem 21A and each robot 22B controlled by the subsystem 21B move within the same area AR. The area AR is not particularly limited. The area AR may be outdoors or indoors. The robots 22A and 22B may move autonomously using a digital map to perform the tasks assigned to them.
[0033] In this way, since the robots 22 of different subsystems 21 move within the same area AR, the robots 22 may collide with each other.
[0034] 5 is a block diagram showing an example of a configuration of the information processing device 20 according to the second embodiment. The information processing device 20 has a progress amount calculation unit 203, a progress amount update unit 204, a margin calculation unit 201, a control unit 202, and a storage unit 205. The information processing device 20 further includes the progress amount calculation unit 203, the progress amount update unit 204, and the storage unit 205 from the respective functional units of the system 2 according to the first embodiment. The margin calculation unit 201 and the control unit 202 have the basic functions of the calculation unit 101 and the control unit 102 described in the first embodiment, respectively.
[0035] The storage unit 205 stores, for example, the processing results and various information of each unit of the information processing device 20. Examples of the storage unit 205 include a read only memory (ROM), a random access memory (RAM), a semiconductor memory, a hard disk drive (HDD), and a solid state drive (SSD). The storage unit 205 may be a combination of these.
[0036] The progress amount calculation unit 203 calculates an initial target progress amount of the work assigned to the robot 22A for each predetermined time between the start time and the scheduled end time for the robot 22A. The predetermined time is not particularly limited. That is, the progress amount calculation unit 203 calculates an initial target progress amount for each time between the start time and the scheduled end time for the robot 22A. For example, the time interval between each time may be a predetermined time. Note that, although an example will be described in which the time interval between each time is constant, such as a predetermined time, the time interval between each time may not be constant. In addition, the progress amount calculation unit 203 calculates an initial target progress amount of the work assigned to the robot 22B for each predetermined time between the start time and the scheduled end time for the robot 22B. The predetermined time is not particularly limited. That is, the progress amount calculation unit 203 calculates an initial target progress amount for each time between the start time and the scheduled end time for the robot 22B. For example, the time interval between each time may be a predetermined time. Although the time interval between each time is constant, such as a predetermined time, the time interval between each time does not have to be constant.
[0037] As described in the first embodiment, the target progress amount is represented by the amount of work of each robot 22. The amount of work is represented by, for example, the moving distance of the robot 22, the working area of the robot 22, the fee paid for the work of the robot 22, etc. When the scale of the progress amount (amount of work) is different between the robot 22A and the robot 22B, the progress amount calculation unit 203 may convert it into a progress rate (%) with respect to time, etc. An example will be described in which the progress rate of each robot 22 is calculated when the moving distance of the robot 22A is the progress amount and the working area of the robot 22B is the progress amount. The progress amount calculation unit 203 calculates the progress rate by the total planned moving distance of the robot 22A and the moving distance at each time. For example, when the total planned moving distance from the start time to the scheduled end time is 100 m (meter) and the total planned moving distance (progress amount) from the start time to a certain time is 10 m, the progress rate at a certain time is 10%. The progress amount calculation unit 203 calculates the progress rate based on the total planned work area of the robot 22B and the progress work area at each time. For example, if the total planned work area from the start time to the scheduled end time is 200 m 2 The total planned movement area (progress) from the start time to a certain time is 50m 2 In this case, the progress rate at a certain time is 25%. In this way, when the scale of the progress amount differs depending on the robot 22, the progress rate may be used.
[0038] Hereinafter, unless otherwise specified, the progress amount will be described taking the moving distance as an example. The progress amount calculation unit 203 sets the total planned moving distance in the moving path of the robot 22A as the initial target progress amount at the planned end time. The progress amount calculation unit 203 calculates the initial target progress amount for the robot 22A at each time from the start time to the planned end time by linearly interpolating based on the initial target progress amount at the start time and the initial target progress amount at the planned end time.
[0039] Instead of linearly interpolating the entire period from the start time to the scheduled end time at once, the progress amount calculation unit 203 may determine an initial target progress amount corresponding to a time corresponding to a predetermined initial target progress amount or an initial target progress amount corresponding to a part of the time for the robot 22A, and linearly interpolate them to calculate an initial target progress amount at each time. For example, an initial target progress amount at a scheduled time intermediate between the initial target progress amount at the start time and the initial target progress amount at the scheduled end time may be determined in advance. In such a case, the progress amount calculation unit 203 may calculate an initial target progress amount at each time from the start time to the intermediate time based on the initial target progress amount at the start time and the initial target progress amount at the intermediate scheduled time for the robot 22A by linearly interpolating. Furthermore, the progress amount calculation unit 203 may calculate an initial target progress amount at each time from the intermediate scheduled time to the scheduled end time based on the initial target progress amount at the intermediate scheduled time and the initial target progress amount at the scheduled end time for the robot 22A by linearly interpolating.
[0040] For example, the progress amount calculation unit 203 sets the initial target progress amount of the robot 22B at the start time to 0, and sets the initial target progress amount of the robot 22B at the scheduled end time to the total scheduled movement distance on the movement path of the robot 22B. The progress amount calculation unit 203 calculates the initial target progress amount for the robot 22B at each time from the start time to the scheduled end time by linearly interpolating based on the initial target progress amount at the start time and the initial target progress amount at the scheduled end time. Note that, instead of linearly interpolating the entire time from the start time to the scheduled end time, the progress amount calculation unit 203 may determine initial target progress amounts for the robot 22B corresponding to a predetermined initial target progress amount or a part of the time, and linearly interpolate them to calculate the initial target progress amount at each time.
[0041] Next, the progress amount update unit 204 calculates the updated target progress amount based on the work results performed by the robot 22A up to the scheduled collision time. For example, a case will be described where the progress amount of the work results for the robot 22A is greater than the initial target progress amount at the scheduled collision time. The progress amount update unit 204 may calculate the updated target progress amount for the robot 22A by adding the difference between the progress amount of the work results and the initial target progress amount to the initial target progress amount for each predetermined time between the scheduled collision time and the scheduled end time. The predetermined time is not particularly limited. The difference between the progress amount of the work results and the initial target progress amount is, for example, a value obtained by subtracting the initial target progress amount from the progress amount of the results. For example, when the progress amount of the work results is greater than the initial target progress amount, that is, when the work is progressing more than the initial schedule, the difference is a positive value. However, when the difference is added to the initial target progress amount for each time and the result is greater than the initial target progress amount at the scheduled end time, the progress amount update unit 204 sets the updated target progress amount to the initial target progress amount at the scheduled end time. That is, since the total planned movement distance in the movement path of the robot 22A is determined in advance, the updated target progress amount does not become larger than the total planned movement distance. The maximum value that can be set for the updated target progress amount is the initial target progress amount at the scheduled end time.
[0042] Specifically, for the robot 22A, if the progress amount of the work performance at the scheduled collision time is greater than the initial target progress amount, the progress amount update unit 204 sets the initial target progress amount as the progress amount of the work performance for the scheduled collision time. The progress amount update unit 204 calculates an updated target progress amount for the scheduled end time by adding a value obtained by subtracting the initial target progress amount from the progress amount of the work performance to the initial target progress amount. The progress amount update unit 204 calculates an updated target progress amount for the robot 22A for each predetermined time from the scheduled collision time to the scheduled end time by linearly interpolating the updated target progress amount at the scheduled collision time and the updated target progress amount at the scheduled end time.
[0043] On the other hand, for example, for the robot 22A, when the actual progress amount at the scheduled collision time is smaller than the initial target progress amount, the progress amount update unit 204 sets the updated target progress amount as the actual progress amount at the scheduled collision time. Also, the progress amount update unit 204 sets the updated target progress amount at the scheduled end time as the initial target progress amount at the scheduled end time. In this way, when the actual progress amount is smaller than the initial target progress amount, that is, when the work is behind schedule, the progress amount update unit 204 calculates the updated target progress amount for the robot 22A so that the work is completed at the scheduled end time even if there is a delay in progress. Then, the progress amount update unit 204 calculates the updated target progress amount for each predetermined time from the scheduled collision time to the scheduled end time by linearly interpolating the updated target progress amount at the scheduled collision time and the initial target progress amount at the scheduled end time.
[0044] If the actual progress amount at the estimated collision time is the same as the initial target progress amount, the progress amount update unit 204 may set the updated target progress amount to the initial target progress amount for each time after the estimated collision time.
[0045] Furthermore, the progress amount update unit 204 updates the updated target progress amount of the robot 22A based on the prediction result (prediction information) of the work assigned to the robot 22A to be performed from the scheduled collision time to the scheduled end time of the robot 22A. Here, the prediction result is, for example, information obtained from a simulation result in a digital twin. For example, the prediction result may include a delay in the progress amount or an advance in the progress amount caused by an obstruction factor of the robot 22A. For example, the prediction result may include the progress amount at the 12 o'clock point.
[0046] For example, when the prediction result indicates the progress amount at each time after the scheduled collision time, the progress amount update unit 204 may set the updated target progress amount at each time after the scheduled collision time as the progress amount included in the prediction result. The progress amount update unit 204 may then calculate the updated target progress amount at each predetermined time interval between the scheduled collision time and the scheduled end time by linearly interpolating the updated target progress amount at each time.
[0047] Also, for example, when the prediction result indicates that a delay will occur due to an obstruction factor at a certain time after the scheduled collision time, the progress amount update unit 204 may subtract a progress amount equivalent to the amount of delay from the updated target progress amount at the certain time and the updated target progress amount at the scheduled end time. However, when a value obtained by subtracting the progress amount equivalent to the amount of delay from the updated target progress amount at the scheduled end time is lower than the initial target progress amount, the progress amount update unit 204 sets the updated target progress amount at the scheduled end time to the initial target progress amount. Then, the progress amount update unit 204 calculates the updated target progress amount at each time from the certain time to the scheduled end time by linearly interpolating it based on the updated target progress amount at the certain time and the updated target progress amount at the scheduled end time.
[0048] Also, for example, if the prediction result shows that the progress amount is increasing at a certain time after the scheduled collision time, the progress amount update unit 204 adds the predicted increasing progress amount to the updated target progress amount for each time from the certain time to the scheduled end time. However, if the added value is greater than the initial target progress amount at the scheduled end time, the progress amount update unit 204 sets the updated target progress amount to the initial target progress amount at the scheduled end time.
[0049] If the prediction result includes both delays and advances in work, the progress update unit 204 can calculate the updated target progress in chronological order, thereby making it possible to calculate the updated target progress taking into account delays and advances in work after the scheduled collision time.
[0050] Furthermore, the progress amount update unit 204 calculates an updated target progress amount based on the work performance of the robot 22B up to the scheduled collision time. The calculation method of the updated target progress amount based on the work performance of the robot 22B may be the same as the calculation method of the updated target progress amount based on the work performance of the robot 22A. The progress amount update unit 204 updates the target progress amount of the robot 22B based on the prediction result (prediction information) of the work assigned to the robot 22B to be performed from the scheduled collision time to the scheduled end time of the robot 22B. The prediction result for the robot 22B may be the same as the prediction result for the robot 22A. The calculation method of the updated target progress amount based on the prediction result for the robot 22B may be the same as the calculation method of the prediction result based on the work performance of the robot 22A.
[0051] Next, the margin calculation unit 201 calculates the total value (integral value) of the value obtained by subtracting the target progress amount from the updated target progress amount for each predetermined time between the scheduled collision time and the scheduled end time for the robot 22A as the margin. The predetermined time is not particularly limited. That is, the margin calculation unit 201 may calculate the value obtained by subtracting the target progress amount from the updated target progress amount for each time between the scheduled collision time and the scheduled end time for the robot 22A. Each time between the scheduled collision time and the scheduled end time may be every predetermined time, or may not be at a constant interval like the predetermined time. Then, the margin calculation unit 201 integrates the subtraction result for each time between the scheduled collision time and the scheduled end time. Here, if the margin is a positive value, there is margin. On the other hand, if the margin is a negative value, there is no margin. There is no margin indicating that there is an additional amount of work to be done relative to the original target.
[0052] The margin calculation unit 201 also calculates the total (integral) value of the value obtained by subtracting the target progress amount of the robot 22B from the updated target progress amount of the robot 22B for each predetermined time period from the scheduled collision time to the scheduled end time of the work assigned to the robot 22B as the margin for the robot 22B. The margin calculation unit 201 calculates the value obtained by subtracting the target progress amount of the robot 22B from the updated target progress amount of the robot 22B at each time period from the scheduled collision time to the scheduled end time. The margin calculation unit 201 then integrates the subtraction results at each time period from the scheduled collision time to the scheduled end time. Here, if the margin is a positive value, there is margin. On the other hand, if the margin is a negative value, there is no margin. No margin indicates that there is an additional amount of work to the original target.
[0053] In the above example, the margin calculation unit 201 calculates the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount as the margin, but the total value of the values obtained by subtracting the updated target progress amount from the initial target progress amount may be calculated as the margin. If the margin when subtracting the updated target progress amount from the initial target progress amount is a negative value, there is a margin. On the other hand, if this margin is a positive value, there is no margin. In the following explanation, unless otherwise specified, the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount will be explained as the margin.
[0054] The control unit 202 controls the robot 22 with the larger margin so that the robot 22A and the robot 22B do not collide with each other. Specifically, the control unit 202 may, for example, temporarily stop the robot 22 with the larger margin. More specifically, the control unit 202 may stop the movement of the robot 22 with the larger margin for a period of time that the robot 22A and the robot 22B do not collide with each other. This period of time is not particularly limited. For example, a stop time calculation unit (not shown) may calculate the time during which the robot 22 can be stopped from the margin. Then, the control unit 202 may temporarily stop the robot 22 for the calculated period of time. Furthermore, the control unit 202 may stop the movement of the robot 22 with the larger margin for a period of time required for the robot 22 with the smaller margin to pass through. Alternatively, when the time during which the robot 22 with the smaller margin can be stopped is shorter than the time required for the robot 22 with the smaller margin to pass through, the control unit 202 may increase the movement speed of the robot 22 with the smaller margin so that the time required for the robot 22 with the smaller margin to pass through is shorter than the time during which the robot 22 with the smaller margin can be stopped.
[0055] Furthermore, the control unit 202 may perform control so that the moving speed of the robot 22 having a larger margin is slowed down, for example, so that the robots 22A and 22B do not collide with each other.
[0056] Also, there are cases where the capacity of the robot 22A and the margin of the robot 22B have the same value. In such a case, the control unit 202 may control one of the robots 22A and 22B randomly selected so that the two robots 22 do not collide. Alternatively, in such a case, the control unit 202 may control the two robots 22 to not collide using information other than the margin. The type of information used other than the margin is not particularly limited. For example, the updated target progress amount at the scheduled collision time may be used. For example, the control unit 202 may temporarily suspend the robot 22 with the larger updated target progress amount or slow down the moving speed of the robot 22. Also, for example, the time available for stopping at the scheduled collision time may be used. The above-mentioned stop time calculation unit (not shown) may calculate the time available for stopping from the margin at the scheduled collision time. Then, the control unit 202 may control the robot 22 with the longer time available for stopping so that the two robots 22 do not collide.
[0057] Fig. 6 is an explanatory diagram showing a collision prediction example 1. As described in Fig. 3, since the robot 22A and the robot 22B are managed by the same digital twin platform, a simulation device in the platform predicts that the robot 22A and the robot 22B will collide at 12:00.
[0058] For example, the robot 22A is a guide robot. The work start time of the robot 22A is 12:00, and the scheduled end time of the work of the robot 22A is 12:10. On the other hand, the robot 22B is a cleaning robot 22. The work start time of the robot 22B is 11:55, and the scheduled end time of the work of the robot 22B is 12:20. Then, the robots 22A and 22B are predicted to collide at 12:00 when the robot 22A starts its work.
[0059] FIG. 7 is an explanatory diagram showing an example of calculation of the margin for collision prediction 1. FIG. 7 shows an example of plotting the work performance, initial target progress amount, and updated target progress amount for each robot 22. The horizontal axis is time, and the vertical axis is the work amount (travel distance). In FIG. 7, robot 22A is abbreviated to A, and robot 22B is abbreviated to B. The distance from the start point to the end point of the work of each robot 22 is the travel distance at the scheduled end time. In FIG. 7, the distance from the start point to the end point of the work of robot 22A is the travel distance at 12:10. In FIG. 7, the distance from the start point to the end point of the work of robot 22B is the travel distance at 12:20.
[0060] The robot 22A starts work at the scheduled collision time (12:00), so it has no work history before the scheduled collision time. The robot 22B starts work at 11:55, so it has work history before the scheduled collision time.
[0061] Next, the progress amount calculation unit 203 calculates the target progress amount for the robot 22A for each predetermined time from the start time to the scheduled end time. The progress amount calculation unit 203 linearly calculates the target progress amount for the robot 22A by setting the travel distance at the start time (12:00) to 0 and the travel distance at the scheduled end time (12:10) to the distance from the start point to the end point of the work.
[0062] Next, the progress amount calculation unit 203 calculates the target progress amount for the robot 22B for each predetermined time from the start time to the scheduled end time. The progress amount calculation unit 203 linearly calculates the target progress amount for the robot 22B by setting the travel distance at the start time (11:55) to 0 and the travel distance at the scheduled end time (12:20) as the total scheduled travel distance from the start point of the work of the robot 22B to the end point.
[0063] In FIG. 7, the robot 22A has no track record and the prediction result does not predict any delay or advancement of the work, so the updated target progress amount and the initial target progress amount are the same.
[0064] Although the robot 22B has performed work up until the scheduled collision time, the prediction result does not predict a delay or advancement of the work. Furthermore, at the scheduled collision time, the progress of the work performance is greater than the initial target progress. Therefore, the progress amount update unit 204 calculates an updated target progress amount for the robot 22B by adding the progress amount of the performance to the initial target progress amount for each predetermined time. Furthermore, the progress amount update unit 204 further updates this updated target progress amount based on the prediction result by simulation. In FIG. 7, the solid line up to the scheduled collision time is the work performance of the robot 22B. The updated target progress amount is a value obtained by adding the work performance to the initial target progress amount.
[0065] The margin calculation unit 201 calculates the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount as the margin for the robot 22A. Since the updated target progress amount and the initial target progress amount are the same for the robot 22A, the margin is 0.
[0066] Furthermore, the margin calculation unit 201 calculates the total value (integral value) of the values obtained by subtracting the initial target progress amount from the updated target progress amount as the margin for the robot 22B. In Fig. 7, the margin for the robot 22B is the area of the portion indicated by the dotted line of the initial target progress amount for the robot 22B from the solid line of the updated target progress amount for the robot 22B between the scheduled collision time and the scheduled end time. Since the work performance of the robot 22B is positive and no delay or advancement of the work is predicted in the prediction result, the margin for the robot 22B is a positive value. In other words, the margin for the robot 22B is larger than the margin for the robot 22A.
[0067] 8 is an explanatory diagram showing an example of control according to collision prediction example 1. The control unit 202 temporarily stops the robot 22B because the margin of the robot 22B is greater than that of the robot 22A. This allows the robot 22A to finish the assigned work by the scheduled finish time.
[0068] 7, for example, when the robot 22B is temporarily stopped so as not to fall below the initial target progress amount, the robot 22B can be temporarily stopped from the scheduled collision time until 12:06. The control unit 202 may temporarily stop the robot 22B for up to 6 minutes.
[0069] Fig. 9 is an explanatory diagram showing a collision prediction example 2. As described in Fig. 3, since the robot 22A and the robot 22B are managed by the same digital twin platform, a simulation device in the platform predicts that the robot 22A and the robot 22B will collide at 12:00.
[0070] For example, the robot 22A is a guide robot. The work start time of the robot 22A is 12:00, and the scheduled end time of the work of the robot 22A is 12:10. On the other hand, the robot 22B is a cleaning robot 22. The work start time of the robot 22B is 11:55, and the scheduled end time of the work of the robot 22B is 12:20. In the collision prediction example 2, the robot 22A and the robot 22B are predicted to collide at 12:05.
[0071] FIG. 10 is an explanatory diagram showing an example of calculation of the margin amount according to the collision prediction example 2. FIG. 10 shows an example in which the work performance, the initial target progress amount, and the updated target progress amount are plotted for each robot 22. The horizontal axis is time, and the vertical axis is the work amount (travel distance). In FIG. 10, the robot 22A is abbreviated to A, and the robot 22B is abbreviated to B. The distance from the start point to the end point of the work of each robot 22 is the travel distance at the scheduled end time. In FIG. 10, the distance from the start point to the end point of the work of the robot 22A is the travel distance at 12:10. In FIG. 10, the distance from the start point to the end point of the work of the robot 22B is the travel distance at 12:20.
[0072] The robot 22A starts work at the scheduled collision time (12:00), so it has no work history before the scheduled collision time. The robot 22B starts work at 11:55, so it has work history before the scheduled collision time.
[0073] Next, the progress amount calculation unit 203 calculates the target progress amount for the robot 22A for each predetermined time from the start time to the scheduled end time. The progress amount calculation unit 203 linearly calculates the target progress amount for the robot 22A by setting the travel distance at the start time (12:00) to 0 and the travel distance at the scheduled end time (12:10) to the distance from the start point to the end point of the work.
[0074] Next, the progress amount calculation unit 203 calculates the target progress amount for the robot 22B for each predetermined time from the start time to the scheduled end time. The progress amount calculation unit 203 linearly calculates the target progress amount for the robot 22B by setting the travel distance at the start time (11:55) to 0 and setting the travel distance at the scheduled end time (12:20) to the distance from the start point to the end point of the work of the robot 22B.
[0075] In Fig. 10, the robot 22A has a track record of work, but the prediction result does not predict that the work will be delayed or advanced. Because the track record progress is smaller than the initial target progress, the progress update unit 204 calculates an updated target progress at the scheduled collision time for the robot 22A by subtracting the track record progress from the initial target progress at the scheduled collision time. Therefore, the robot 22A is already behind in work at the scheduled collision time. The progress update unit 204 calculates an updated target progress at each predetermined time after the scheduled collision time by linearly interpolating the updated target progress reflecting the track record at the scheduled collision time and the total scheduled movement distance on the movement path of the robot 22A.
[0076] In FIG. 10, the robot 22B has a track record, and the prediction result predicts that the work will be brought forward. Since the track record progress is smaller than the initial target progress, the progress update unit 204 calculates an updated target progress at the scheduled collision time for the robot 22B by subtracting the track record progress from the initial target progress at the scheduled collision time. Then, the progress update unit 204 updates the updated target progress for the initial target progress at each predetermined time from the scheduled collision time to the scheduled end time for the robot 22B based on the prediction result by simulation. As described above, the update method for reflecting the prediction result is not particularly limited. For the robot 22B, the work track record up to the scheduled collision time is behind the initial target progress. At the scheduled collision time, the updated target progress is lower than the initial target progress. When the prediction result is reflected at each time after the scheduled collision time, it is predicted that the updated target progress and the initial target progress will be the same at 12:10, and the work of the robot 22B will be completed around 12:15. The margin of the robot 22B is a positive value.
[0077] The margin calculation unit 201 calculates the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount as the margin for the robot 22A. The margin for the robot 22A is a negative value (also called the additional work amount). For example, after the scheduled collision time, the robot 22A is a guide robot, and therefore needs to increase its moving speed in order to finish the work at the scheduled end time. In FIG. 10, the margin for the robot 22A is the area of the portion indicated by the dotted line of the initial target progress amount of the robot 22A from the solid line of the updated target progress amount of the robot 22A between the scheduled collision time and the scheduled end time.
[0078] The margin calculation unit 201 also calculates the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount for each predetermined time period as the margin for the robot 22B. In Fig. 10, the margin for the robot 22B is the area of the portion indicated by the dotted line of the initial target progress amount for the robot 22B from the solid line of the updated target progress amount for the robot 22B between the scheduled collision time and the scheduled end time. The margin for the robot 22B is a positive value.
[0079] Therefore, the margin of the robot 22B is larger than that of the robot 22A. Since the margin of the robot 22B is larger than that of the robot 22A, the control unit 202 temporarily stops the robot 22B.
[0080] This completes the explanation of the two different examples of collision prediction.
[0081] <Example with multiple routes> Next, a case where the robot 22 has multiple paths will be described. The progress amount calculation unit 203 calculates an initial target progress amount for a path among the multiple paths. Here, the path is, for example, a path where a collision is predicted. The other paths involve a larger amount of work than the path where a collision is predicted. The progress amount update unit 204 may then calculate the updated target progress amount for each route. However, the progress amount update unit 204 calculates the target achievement degree for the initial target progress amount on the route where a collision is predicted as the updated target progress amount. The margin amount calculation unit 201 may calculate the margin amount for each route.
[0082] For example, when there are multiple paths for robot 22A, control unit 202 may temporarily halt robot 22B to avoid collision when the margin of robot 22B is greater than the margin of a non-collision path for robot 22A and the margin of a collision path.
[0083] Fig. 11 is an explanatory diagram showing an example in which the robot 22A has a plurality of routes. Fig. 11 will explain an example similar to that of Fig. 6, in which the robot 22A further has a shortest route r1 and a detour route r2. The shortest route r1 is the same as the route of the robot 22A shown in Fig. 6. If the robot 22A uses the detour route r2, the robot 22A and the robot 22B will not collide, but the total planned travel distance of the robot 22A will be longer.
[0084] The progress amount calculation unit 203 calculates an initial target progress amount for each predetermined time from the start time to the scheduled end time for each robot 22. The initial target progress amount for each robot 22 is as described with reference to FIG.
[0085] The progress amount update unit 204 calculates an updated target progress amount for each predetermined time from the scheduled collision time to the scheduled end time for each robot 22. The updated target progress amount of robot 22B and the updated target progress amount of the shortest route r1 of robot 22A are as described with reference to Fig. 7. Here, the calculation of the updated target progress amount of the detour route r2 of robot 22A will be described with reference to Fig. 12.
[0086] Fig. 12 is an explanatory diagram showing an example of calculation of an updated target progress amount on a detour route. In Fig. 12, positions d21 to d25 are positions on the detour route r2 that are considered to have progressed the same distance on a two-dimensional map as positions d11 to d15 on the shortest route r1. Dashed lines l1 to l5 are lines for determining positions d11 to d15 corresponding to positions d21 to d25, respectively. The intersections of dashed lines l1 to l4 that pass through positions d11 to d14, respectively, and the detour route r2 are positions d21 to d24. Note that position d15 is the end point, and therefore position d25 is also the end point.
[0087] For example, when the robot 22A advances to position d21 on the detour route r2, it is deemed that the robot 22A has advanced to position d11 on the shortest route r1. When the robot 22A advances to position d22 on the detour route r2, it is deemed that the robot 22A has advanced to position d12 on the shortest route r1. When the robot 22A advances to position d23 on the detour route r2, it is deemed that the robot 22A has advanced to position d13 on the shortest route r1. When the robot 22A advances to position d24 on the detour route r2, it is deemed that the robot 22A has advanced to position d14 on the shortest route r1. When the robot 22A advances to position d25 on the detour route r2, it is deemed that the robot 22A has advanced to position d15 on the shortest route r1. Then, the progress amount update unit 204 calculates the updated target progress amount for each predetermined time from the scheduled collision time to the scheduled end time based on the prediction result by the simulation.
[0088] 12, the progress updating unit 204 may calculate the update work progress of the detour route r2 at each time from the travel distance of the detour route r2 at each time based on the ratio of the detour route r2 to the shortest route r1. Specifically, the progress updating unit 204 may calculate the update work progress for the detour route r2 by multiplying the total planned travel distance of the shortest route r1 divided by the total planned travel distance of the detour route r2 by the travel distance of the detour route r2 at each time. For example, if the total planned travel distance of the shortest route r1 is 100 m and the total planned travel distance of the detour route r2 is 130 m, and the travel distance of the detour route r2 at a certain time is 65 m, the update work progress is 50 m.
[0089] Fig. 13 is an explanatory diagram showing an example of calculation of margin in a detour route. Fig. 13 shows an example in which the work performance, initial target progress amount, and updated target progress amount are plotted for each robot 22. The horizontal axis is time, and the vertical axis is the amount of work (travel distance). In Fig. 13, robot 22A is abbreviated to A, and robot 22B is abbreviated to B.
[0090] The margin calculation unit 201 calculates the margin for the detour route r2 as the total value of the values obtained by subtracting the initial target progress amount from the updated target progress amount for each predetermined time from the scheduled collision time to the scheduled end time. The margin for the robot 22A and the margin for the robot 22B for the shortest route r1 are as described with reference to FIG. 7. In FIG. 13, the margin for the detour route r2 is a negative value. The margin for the robot 22A for the shortest route r1 is 0, and the margin for the robot 22B is a positive value. Therefore, the margin for the robot 22A for the shortest route r1 is larger than the margin for the robot 22A for the detour route r2. Also, the margin for the robot 22B is larger than the margin for the robot 22A for the shortest route r1 and the margin for the detour route r2. For this reason, the robot 22A uses the shortest route r1, and the control unit 202 controls the robot 22B so that the robots 22A and 22B do not collide with each other. As described above, the control unit 202 may temporarily halt the robot 22B or may slow down the movement speed of the robot 22B.
[0091] 13, an example has been described in which the margin of the robot 22B is larger than the margin of the robot 22A on the detour route r2 and the margin of the robot 22A on the shortest route r1. Here, another example will be described.
[0092] Also, for example, when the margin of the robot 22B is larger than the margin of the robot 22A for the detour route r2 and smaller than the margin of the robot 22A for the shortest route r1, the control unit 202 causes the robot 22A to use the shortest route r1. Then, the control unit 202 may control the robot 22A so that the robots 22A and 22B do not collide with each other.
[0093] Also, for example, when the margin of the robot 22B is smaller than the margin of the robot 22A for the detour route r2 and is larger than the margin of the robot 22A for the shortest route r1, the control unit 202 causes the robot 22A to use the detour route r2.
[0094] For example, when the margin of the robot 22B is smaller than each margin of the robot 22A, the control unit 202 may cause the robot 22A to use the detour route r2. Alternatively, when the margin of the robot 22B is smaller than each margin of the robot 22A, the control unit 202 may cause the robot 22A to use the shortest route r1. Then, the control unit 202 may control the robot 22A so that the robots 22A and 22B do not collide. As described above, the control unit 202 may temporarily halt the robot 22A or slow down the moving speed of the robot 22A.
[0095] A case where the margin of the robot 22B is smaller than each margin of the robot 22A will be described. The control unit 202 may compare the margin of the robot 22A for the detour route r2 with the margin of the robot 22A for the shortest route r1, and determine whether to make the robot 22A use the detour route r2 or the shortest route r1. When making the robot 22A use the shortest route r1, the control unit 202 may determine whether to temporarily stop the robot 22A. The information processing device 20 may also have a waiting time calculation unit (not shown) that estimates a waiting time when making a temporary stop to avoid a collision when the shortest route r1 is used, or a delay time calculation unit (not shown) that estimates a delay time caused by slowing down the moving speed. The progress amount update unit 204 may calculate an updated target progress amount when the robot 22A is made to wait for a calculated time or when the robot 22A is delayed by a calculated time. The margin amount calculation unit 201 may calculate a value obtained by subtracting the initial target progress amount from the new updated target progress amount as the margin amount. Then, the control unit 202 may cause the robot 22A to use the route with the larger margin. For example, when the robot 22A uses the shortest route r1, the control unit 202 may temporarily halt the robot 22A or slow down the moving speed of the robot 22A.
[0096] 14 is a flowchart showing an example of an operation of the information processing device 20 according to the embodiment 2. When a collision is predicted by a digital twin simulation, the progress amount calculation unit 203 calculates an initial target progress amount of each robot 22 (step S201).
[0097] The progress amount update unit 204 calculates an updated target progress amount that reflects the actual progress amount and the predicted progress amount for each predetermined time from the scheduled collision time to the scheduled end time for each robot 22 (step S202). In step S202, if the robot 22 has multiple routes, the progress amount update unit 204 calculates an updated target progress amount for each route for each predetermined time.
[0098] The margin calculation unit 201 calculates the margin for each robot 22 as a total value (integral value) of values obtained by subtracting the initial target progress amount from the updated target progress amount for each predetermined time from the scheduled collision time to the scheduled end time (step S203). The control unit 202 controls the robot 22 with the larger margin so that the robots 22 do not collide with each other (step S204). In step S204, the control unit 202 may temporarily stop the robot 22 with the larger margin. In step S204, the control unit 202 may slow down the moving speed of the robot 22 with the larger margin. In addition, in step S204, when the capacity of the robot 22A and the margin of the robot 22B have the same value, the control unit 202 may control one of the robots 22A and 22B randomly selected so that the two robots 22 do not collide with each other. Alternatively, in step S204, the control unit 202 may control the two robots 22 to not collide with each other using information other than the margin. More specifically, for example, the control unit 202 may control the robot 22 that has a larger update target progress amount at the scheduled collision time. Also, the control unit 202 may control the robot 22 that can be stopped for a longer period of time so that the two robots 22 do not collide.
[0099] Next, the effect of the second embodiment will be described. The margin calculation unit 201 calculates the total value of the values obtained by subtracting the initial target progress amount of the robot 22A from the updated target progress amount of the robot 22A for each predetermined time period from the scheduled collision time to the scheduled end time of the work assigned to the robot 22A as the margin amount for the robot 22A. The margin calculation unit 201 also calculates the total value of the values obtained by subtracting the initial target progress amount of the robot 22B from the updated target progress amount of the robot 22B for each predetermined time period from the scheduled collision time to the scheduled end time of the robot 22B as the margin amount for the robot 22B. This allows the information processing device 20 to more accurately calculate the margin amount for each robot 22 when it is predicted that the target progress amount will change due to an obstruction factor or the like after the scheduled collision time.
[0100] Furthermore, the progress amount update unit 204 calculates an updated target progress amount of the robot 22A from the initial target progress amount of the robot 22A and the progress amount of the work performance of the robot 22A at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22A. The progress amount update unit 204 calculates an updated target progress amount of the robot 22B from the initial target progress amount of the robot 22B and the progress amount of the work performance of the robot 22B at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22B. This allows the information processing device 20 to more accurately calculate the updated target progress amount of the robot 22. Therefore, the information processing device 20 can avoid collisions while suppressing delays in the work of each robot 22.
[0101] Specifically, a case where the progress amount of the work performance of the robot 22A is larger than the initial target progress amount of the robot 22A at the scheduled collision time will be described. The progress amount update unit 204 adds a value obtained by subtracting the initial target progress amount of the robot 22A from the progress amount of the work performance of the robot 22A to the initial target progress amount of the robot 22A at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22A. As a result, the progress amount update unit 204 sets the updated target progress amount of the robot 22A as the addition result at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22A. Note that the progress amount update unit 204 sets the initial target progress amount of the robot 22A at the scheduled end time as the maximum value of the updated target progress amount. Also, a case where the progress amount of the work performance of the robot 22B is larger than the initial target progress amount of the robot 22B will be described. The progress amount update unit 204 adds a value obtained by subtracting the initial target progress amount of the robot 22B from the progress amount of the work performance of the robot 22B to the initial target progress amount of the robot 22B at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22B. As a result, the progress amount update unit 204 sets the updated target progress amount of the robot 22B as the addition result at each predetermined time from the scheduled collision time to the scheduled end time of the robot 22B. Note that the progress amount update unit 204 sets the initial target progress amount of the robot 22B at the scheduled end time as the maximum value of the updated target progress amount.
[0102] The progress amount update unit 204 calculates the updated target progress amount of the robot 22A based on the prediction result of the work assigned to the robot 22A to be performed from the scheduled collision time to the scheduled end time of the robot 22A. The progress amount update unit 204 also calculates the updated target progress amount of the robot 22B based on the prediction result of the work assigned to the robot 22B to be performed from the scheduled collision time to the scheduled end time of the robot 22B. The margin amount calculation unit 201 calculates the margin amount for each robot 22 using the updated target progress amount and the initial target progress amount. Therefore, the information processing device 20 can reflect the prediction result by the digital twin simulation in the updated target progress amount. That is, the information processing device 20 can reflect not only whether there is a margin at the time when the collision is predicted, but also whether there is a margin after the scheduled collision time. Therefore, the information processing device 20 can calculate the margin amount with higher accuracy. The information processing device 20 can control the robot 22 that has a margin between the scheduled collision time and the scheduled end time.
[0103] Furthermore, the initial target progress amount and the updated target progress amount of robot 22A are represented by at least one of the movement distance of robot 22A, the working area of robot 22A, and the fee paid for the work of robot 22A. Furthermore, the initial target progress amount and the updated target progress amount of robot 22B are represented by at least one of the movement distance of robot 22B, the working area of robot 22B, and the fee paid for the work of robot 22B. The progress amounts of each robot 22 are represented by the same standard. This allows the information processing device 20 to calculate the slack amount using each piece of information obtained from the robot 22.
[0104] Furthermore, the control unit 202 temporarily stops the moving body with the larger calculated margin so as to prevent a collision at the scheduled collision time. This enables the information processing device 20 to more reliably prevent the robots 22 from colliding. Furthermore, the control unit 202 slows down the moving speed of the moving body with the larger calculated margin so as to prevent a collision at the scheduled collision time. This enables the information processing device 20 to prevent multiple robots 22 from colliding without stopping the robots 22.
[0105] The second embodiment is not limited to the above-mentioned example, and various modifications are possible. Each functional unit of the information processing device 20 may be realized by a plurality of devices. In addition, the following describes a modification of the second embodiment.
[0106] <Variation 1> When the control unit 202 controls the robot 22 with the larger slack amount, a delay may occur in the work of the robot 22. As described in the second embodiment, the control unit 202 may temporarily suspend the robot 22 with the larger slack amount or slow down the moving speed of the robot 22. Here, temporary suspension is taken as an example for explanation. For example, if the controlled robot 22 is temporarily suspended for a long time, it may not be able to finish the work by the scheduled end time. In such a case, the information processing device 20 may provide information regarding compensation for the delay to the operator of the subsystem 21 to which the robot 22 that has passed belongs, by the operator of the subsystem 21 to which the robot 22 that has passed belongs. The compensation for the delay may be, for example, a monetary payment or work by the robot 22.
[0107] An output unit (not shown) may output information regarding compensation for the delay to the device of the operator of the subsystem 21 of each of the two robots. Alternatively, the output unit may output information requesting compensation for the delay to the device of the operator of the subsystem 21 to which the passing robot 22 belongs. For example, if it is determined that the compensation request is not accepted before the collision, the control unit 202 may temporarily suspend the robot 22 that causes less delay in the progress of the work due to temporary suspension. Alternatively, a waiting time calculation unit (not shown) may calculate the waiting time of each robot 22 when temporarily suspending. In addition to the surplus amount, the control unit 202 may determine whether the work will be completed after the scheduled end time for each robot 22 based on the waiting time for temporary suspension. The control unit 202 may temporarily suspend the robot 22 that will complete the work earlier.
[0108] <Variation 2> The system 2 shown in Fig. 3 has been described as an example having different subsystems 21 under the same digital twin. That is, in the system 2 shown in Fig. 3, different subsystems 21 exist within the same platform. For example, different platforms may reproduce the same area, such as the same city, as a digital twin. The system 2 according to the second modification prevents collisions between the robots 22 in the subsystems 21 that belong to different digital twins.
[0109] 15 is an explanatory diagram showing another example 1 (variation 2) of the system 2. The system 2 has, for example, an information processing device 20X and a subsystem 21A for realizing the digital twin X, and an information processing device 20Y and a subsystem 21B for realizing the digital twin Y. Note that the digital twin X may have multiple subsystems 21A, and the digital twin Y may have multiple subsystems 21B.
[0110] Digital twin X and digital twin Y reproduce the same area, such as the same city, the same building, or the same floor within a building. When an information processing device is not specified in Modification 2, it is represented as information processing device 20. The information processing device 20 may have the function of a simulation device that performs a simulation for each digital twin.
[0111] The subsystem 21A has a plurality of robots 22A. The information processing device 20X and the plurality of robots 22A are connected via a communication network 23A. The subsystem 21B has a plurality of robots 22B. The information processing device 20Y and the plurality of robots 22B are connected via a communication network 23B. For example, the information processing device 20X and the information processing device 20Y are connected via a communication network 23XY. Note that the communication network 23A, the communication network 23B, and the communication network 23XY may be at least partially the same or different from each other.
[0112] Each of the information processing device 20X and the information processing device 20Y may include a progress amount calculation unit 203, a progress amount update unit 204, a margin calculation unit 201, a control unit 202, and a storage unit 205.
[0113] For example, when the robot 22 recognizes another robot 22 while moving within the area, the robot 22 may notify the information processing device 20 of a predicted collision. The robot 22 may recognize the other robot 22 by an imaging device, a proximity sensor, or the like. When the margin calculation unit 201 of each information processing device 20 receives a notification of a predicted collision from the robot 22, it calculates the margin of the robot 22 belonging to its own digital twin. When one of two robots 22 that are scheduled to collide and belong to different digital twins predicts a collision, the one robot 22 notifies the information processing device 20 of its own digital twin. Then, the notified information processing device 20 may notify the information processing device 20 of the digital twin to which the other robot 22 belongs. Then, the information processing devices 20 transmit the calculated work margin to each other. Then, the control unit 202 of the information processing device 20 that manages the robot 22 with the larger margin stops the robot 22 so that a collision does not occur.
[0114] <Variation 3> As in Modification 2, in Modification 3, for example, a plurality of different platforms reproduce the same area, such as the same city, as a digital twin. In Modification 3, a case will be described in which robots 22 that are at risk of colliding communicate with each other between different platforms.
[0115] 16 is an explanatory diagram showing another example 2 (variation example 3) of the system 2. The system 2 has, for example, an information processing device 20X and a subsystem 21A for realizing the digital twin X, and an information processing device 20Y and a subsystem 21B for realizing the digital twin Y. Note that the digital twin X may have multiple subsystems 21A, and the digital twin Y may have multiple subsystems 21B belonging to it.
[0116] Digital twin X and digital twin Y reproduce the same area, such as the same city or building. As in Modification 2, when an information processing device is not specified in Modification 3, it is represented as information processing device 20. The information processing device 20 may be a simulation device that performs a simulation for each digital twin.
[0117] The subsystem 21A has a plurality of robots 22A. The information processing device 20X and the plurality of robots 22A are connected via a communication network 23A. The subsystem 21B has a plurality of robots 22B. The information processing device 20Y and the plurality of robots 22B are connected via a communication network 23B. The plurality of robots 22A and the plurality of robots 22B are connected via a communication network 23XY. Note that the communication network 23XY may be a short-range wireless communication network. Furthermore, the communication network 23A, the communication network 23B, and the communication network 23XY may be at least partially the same or different from each other.
[0118] Each of the information processing device 20X and the information processing device 20Y may include a progress amount calculation unit 203, a progress amount update unit 204, a surplus amount calculation unit 201, and a storage unit 205. The robot 22A and the robot 22B may include a control unit 202 and a storage unit 205.
[0119] For example, when the robot 22 recognizes another robot 22 while moving within the area, it may notify the information processing device 20 of a collision prediction. The robot 22 may recognize the other robot 22 by an imaging device, a proximity sensor, or the like. When the slack amount calculation unit 201 of each information processing device 20 receives a notification of a collision prediction from the robot 22, it calculates the slack amount of the robot 22 belonging to its own digital twin. Note that before the slack amount calculation unit 201 calculates the slack amount, the progress amount calculation unit 203 and the progress amount update unit 204 calculate an initial target progress amount and an updated target progress amount, but a detailed description thereof will be omitted here.
[0120] Then, each information processing device 20 transmits the calculated margin to the robot 22 that has notified the collision prediction. The robot 22 that has notified may exchange margins with the robot 22 that is likely to collide with the robot 22 that has notified. The control unit 202 of the robot 22 with the larger margin may stop its own robot 22 to prevent a collision from occurring.
[0121] <Variation 4> In the second embodiment, an example has been described in which two robots 22 of different subsystems 21 collide. In the case of collision between three or more robots 22, instead of two robots 22, the movement of the robot 22 with the smallest margin is prioritized, and the control unit 202 controls the robot with the larger margin so as not to collide. For example, when a collision between three robots 22 is predicted, the control unit 22 controls the movement of the other two robots 22 to allow the robot 22 with the smallest margin to pass. Then, after the robot 22 with the smallest margin has passed, the control unit 22 releases control over the robot 22 with the next smallest margin to pass.
[0122] This concludes the description of each embodiment.
[0123] (Computer Equipment) Next, a hardware configuration example in the case where each device such as the information processing device 20 and the robot 22 described in the second embodiment is realized by a computer device will be described. Fig. 17 is an explanatory diagram showing a hardware configuration example of a computer device. For example, some or all of the devices such as the information processing device 20 and the robot 22 described in the second embodiment can be realized by using any combination of a computer device 30 and a program as shown in Fig. 17.
[0124] The computer device 30 includes, for example, a processor 301, a ROM 302, a RAM 303, a storage device 304, a communication interface 305, and an input / output interface 306. Each component is connected to each other via a bus 307.
[0125] The processor 301 controls the entire computer device 30. The processor 301 may be, for example, a central processing unit (CPU) or a digital signal processor (DSP). The computer device 30 has a ROM 302, a RAM 303, and a storage device 304 as a storage unit. The storage device 304 may be, for example, a semiconductor memory such as a flash memory, a HDD, or an SSD. For example, the storage device 304 stores an operating system (OS) program, an application program, a program according to each embodiment, and the like. Alternatively, the ROM 302 stores an application program, a program according to each embodiment, and the like. The RAM 303 is used as a work area for the processor 301.
[0126] Moreover, the processor 301 loads a program stored in the storage device 304, the ROM 302, etc. Then, the processor 301 executes each process coded in the program. The processor 301 may also download various programs via the communication network 33. The processor 301 functions as a part or the whole of the computer device 30. Then, the processor 301 may execute processes or instructions in the illustrated flowchart based on the program.
[0127] The communication interface 305 is connected to a communication network 33, such as a local area network (LAN) or a wide area network (WAN), via a wireless or wired communication line. This allows the computer device 30 to be connected to an external device or computer via the communication network 33. The communication interface 305 serves as an interface between the communication network 33 and the inside of the computer device 30. The communication interface 305 also controls the input and output of data from the external device or computer.
[0128] Furthermore, the input / output interface 306 is connected to at least one of an input device, an output device, and an input / output device. The connection method may be wireless or wired. Examples of the input device include a keyboard, a mouse, and a microphone. Examples of the output device include a display device, a lighting device, and a speaker that outputs sound. Examples of the input / output device include a touch panel display. The input device, the output device, and the input / output device may be built into the computer device or may be external.
[0129] The hardware configuration of the computer device 30 shown in FIG. 17 is an example. The computer device 30 may not have some of the components shown in FIG. 17. The computer device 30 may have components other than those shown in FIG. 17. The computer device 30 may have devices not shown. For example, the computer device 30 may have a camera as an imaging device. The computer device 30 may also have various sensors. For example, the computer device 30 may have a drive device. The processor 301 may read programs and data from a recording medium attached to the drive device or the like to the RAM 303. Examples of the recording medium include an optical disk, a flexible disk, a magneto-optical disk, and a USB (Universal Serial Bus) memory. In addition, when the computer device 30 is a moving body such as a robot 22, the computer device 30 may have a control device for controlling a moving function in addition to the processor 301.
[0130] This concludes the description of the hardware configuration example of each device. There are various variations in the method of realizing each device. For example, the system may be realized by any combination of a computer and a program that are different for each component. Furthermore, multiple components included in each device may be realized by any combination of a single computer and a program.
[0131] Also, some or all of the components of each device may be realized by circuits for specific applications. Also, some or all of the system may be realized by general-purpose circuits including a processor such as an FPGA (Field Programmable Gate Array). Also, some or all of the system may be realized by a combination of circuits for specific applications and general-purpose circuits. Also, these circuits may be a single integrated circuit. Or, these circuits may be divided into multiple integrated circuits. And, the multiple integrated circuits may be configured by being connected via a bus or the like.
[0132] Furthermore, when some or all of the components of each device are realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be arranged in a centralized manner or in a distributed manner.
[0133] The method described in each embodiment is realized by a computer device executing the method. Also, the method is realized by a computer device executing a program prepared in advance. The program described in each embodiment is recorded on a computer-readable recording medium such as an HDD, SSD, flexible disk, optical disk, flexible disk, magneto-optical disk, USB memory, etc. Then, the program is executed by reading it from the recording medium by the computer. Also, the program may be distributed via a communication network 33.
[0134] The functions of each of the components of the system in each embodiment described above may be realized by hardware, such as computer device 30 shown in Fig. 17. Alternatively, each component may be realized by a computer device or firmware based on program control.
[0135] Although the present disclosure has been described above with reference to each embodiment, the present disclosure is not limited to the above embodiment. The configuration and details of each disclosure may include embodiments to which various modifications that a person skilled in the art may understand within the scope of the present disclosure are applied. The present disclosure may include embodiments in which the matters described in this specification are appropriately combined or replaced as necessary. For example, matters described using a specific embodiment may also be applied to other embodiments to the extent that no contradiction occurs. For example, although multiple operations are described in order in the form of a flowchart, the order of description does not limit the order in which the multiple operations are performed. Therefore, when implementing each embodiment, the order of the multiple operations can be changed to the extent that the content is not impaired.
[0136] A part or all of the above-described embodiments can be described as follows: However, a part or all of the above-described embodiments is not limited to the following.
[0137] (Appendix 1) a calculation means for calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount for the task assigned to the first moving body being updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to the second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount for the task assigned to the second moving body being updated based on the work results performed by the second moving body up to the scheduled time of collision; a control means for controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; A system comprising:
[0138] (Appendix 2) The calculation means is calculating a total value of a difference between the updated target progress amount of the first moving body and the target progress amount of the first moving body for each predetermined time period between the estimated collision time and the estimated completion time of the work assigned to the first moving body, as a margin amount for the first moving body; calculating a total value of a difference between the updated target progress amount of the second moving body and the target progress amount of the second moving body for each of the predetermined time periods from the estimated collision time to the estimated end time of the work assigned to the second moving body, as a margin amount for the second moving body; 2. The system of claim 1.
[0139] (Appendix 3) a progress amount update means for calculating an updated target progress amount of the first moving body using the target progress amount of the first moving body and the progress amount of the work performed by the first moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the first moving body, and for calculating an updated target progress amount of the second moving body using the target progress amount of the second moving body and the progress amount of the work performed by the second moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the second moving body; 3. The system of claim 1 or 2, comprising:
[0140] (Appendix 4) The progress amount updating means when the progress amount of the work performance of the first moving body is greater than the target progress amount of the first moving body, calculating an updated target progress amount of the first moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the first moving body by adding a value obtained by subtracting the target progress amount of the first moving body from the progress amount of the work performance of the first moving body to the target progress amount of the first moving body, with the target progress amount of the first moving body at the scheduled end time being set as a maximum value; when the progress amount of the work performance of the second moving body is greater than the target progress amount of the second moving body, calculating the updated target progress amount of the second moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the second moving body by adding a value obtained by subtracting the target progress amount of the second moving body from the progress amount of the work performance of the second moving body to the target progress amount of the second moving body, with the target progress amount of the second moving body at the scheduled end time being set as a maximum value; 4. The system of claim 3, comprising:
[0141] (Appendix 5) The progress amount updating means calculating an updated target progress amount of the first moving body based on a prediction result of the work assigned to the first moving body to be performed from the estimated collision time to the estimated end time of the first moving body; calculating the updated target progress amount of the second moving body based on a prediction result of the work assigned to the second moving body to be performed from the estimated collision time to the estimated end time of the second moving body; 5. The system of claim 3 or 4.
[0142] (Appendix 6) the target progress amount of the first moving body and the updated target progress amount of the first moving body are represented by at least one of a moving distance of the first moving body, a work area of the first moving body, and a fee to be paid for the work of the first moving body; the target progress amount of the second moving body and the updated target progress amount of the second moving body are represented by at least one of a moving distance of the second moving body, a work area of the second moving body, and a fee to be paid for the work of the second moving body; 6. A system as described in any one of appendix 1 to 5.
[0143] (Appendix 7) the control means temporarily stops the moving body having the larger calculated margin so as to prevent the moving body from colliding with the moving body at the estimated collision time. 7. A system as described in any one of appendix 1 to 6.
[0144] (Appendix 8) the control means slows down the moving speed of the moving body having the larger calculated margin of error so as to prevent the moving body from colliding with the moving body at the estimated collision time. 7. A system as described in any one of appendix 1 to 6.
[0145] (Appendix 9) a calculation means for calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount for the task assigned to the first moving body being updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to the second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount for the task assigned to the second moving body being updated based on the work results performed by the second moving body up to the scheduled time of collision; a control means for controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; An information processing device comprising:
[0146] (Appendix 10) calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to a second moving body, calculated for a time after the scheduled time of collision, updated based on the work results performed by the second moving body up to the scheduled time of collision; controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; method.
[0147] (Appendix 11) On the computer, calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to a second moving body, calculated for a time after the scheduled time of collision, updated based on the work results performed by the second moving body up to the scheduled time of collision; a process of controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; A program that executes the following.
[0148] (Appendix 12) On the computer, calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to a second moving body, calculated for a time after the scheduled time of collision, updated based on the work results performed by the second moving body up to the scheduled time of collision; a process of controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; A non-transitory recording medium readable by the computer, which records a program for executing the above. [Explanation of symbols]
[0149] 1 System 2. System 20 Information processing device 20X Information Processing Equipment 20Y Information processing equipment 21 Subsystems 21A Subsystem 21B Subsystem 22 Robot 22A Robot 22B Robot 23. Communications Networks 23A Communication Network 23B Communication Networks 23XY Communication Network 33 Communication Networks 30 Computer Equipment 101 Calculation section 102 Control section 201 Margin Calculation Unit 202 Control section 203 Progress Calculation Unit 204 Progress update section 205 Storage section 301 Processor 302 ROM 303 RAM 304 Storage device 305 Communication Interface 306 Input / Output Interface 307 Bus AR area r1 shortest path r2 Detour route X Digital Twin Y Digital Twin
Claims
1. a calculation means for calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount for the task assigned to the first moving body being updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to the second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount for the task assigned to the second moving body being updated based on the work results performed by the second moving body up to the scheduled time of collision; a control means for controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; Equipped with The calculation means is calculating the margin amount for the first moving body based on a difference between the updated target progress amount of the first moving body and the target progress amount of the first moving body; calculating the margin amount for the second moving body based on a difference between the updated target progress amount for the second moving body and the target progress amount for the second moving body; system.
2. The calculation means is calculating a total value of values obtained by subtracting the updated target progress amount of the first moving body from the target progress amount of the first moving body for each predetermined time period between the estimated collision time and the estimated completion time of the work assigned to the first moving body, as a margin amount related to the first moving body; calculating a total value of values obtained by subtracting the target progress amount of the second moving body from the updated target progress amount of the second moving body for each of the predetermined time periods from the estimated collision time to the estimated end time of the work assigned to the second moving body, as the margin amount related to the second moving body; The system of claim 1 .
3. a progress amount update means for calculating an updated target progress amount of the first moving body using the target progress amount of the first moving body and the progress amount of the work performed by the first moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the first moving body, and for calculating an updated target progress amount of the second moving body using the target progress amount of the second moving body and the progress amount of the work performed by the second moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the second moving body; The system of claim 2 .
4. The progress amount updating means when the progress amount of the work performance of the first moving body is greater than the target progress amount of the first moving body, calculating an updated target progress amount of the first moving body for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the first moving body by adding a value obtained by subtracting the target progress amount of the first moving body from the progress amount of the work performance of the first moving body to the target progress amount of the first moving body, with the target progress amount of the first moving body at the scheduled end time being set as a maximum value; when the progress amount of the work performance of the second moving body is greater than the target progress amount of the second moving body, an updated target progress amount of the second moving body is calculated for each of the predetermined time periods between the scheduled collision time and the scheduled end time of the second moving body by adding a value obtained by subtracting the target progress amount of the second moving body from the progress amount of the work performance of the second moving body to the target progress amount of the second moving body, with the target progress amount of the second moving body at the scheduled end time being set as a maximum value; The system of claim 3.
5. The progress amount updating means calculating an updated target progress amount of the first moving body based on a prediction result of the work assigned to the first moving body to be performed from the estimated collision time to the estimated end time of the first moving body; calculating an updated target progress amount of the second moving body based on a prediction result of the work assigned to the second moving body to be performed from the estimated collision time to the estimated end time of the second moving body; 5. A system according to claim 3 or 4.
6. the target progress amount of the first moving body and the updated target progress amount of the first moving body are represented by at least one of a moving distance of the first moving body, a work area of the first moving body, and a fee to be paid for the work assigned to the first moving body; the target progress amount of the second moving body and the updated target progress amount of the second moving body are represented by at least one of a moving distance of the second moving body, a work area of the second moving body, and a fee to be paid for the work assigned to the second moving body; A system according to any one of claims 1 to 5.
7. the control means temporarily stops the moving body having the larger calculated margin so as to prevent the moving body from colliding with the moving body at the estimated collision time. A system according to any preceding claim.
8. the control means slows down the moving speed of the moving body having the larger calculated margin of error so as to prevent the moving body from colliding with the moving body at the estimated collision time. A system according to any preceding claim.
9. calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount for the task assigned to the first moving body being updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to a second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount for the task assigned to the second moving body being updated based on the work results performed by the second moving body up to the scheduled time of collision; Controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; In the above calculation, calculating the margin amount for the first moving body based on a difference between the updated target progress amount of the first moving body and the target progress amount of the first moving body; calculating the margin amount for the second moving body based on a difference between the updated target progress amount for the second moving body and the target progress amount for the second moving body; method.
10. On the computer, a process of calculating a margin of a target progress amount for a task assigned to a first moving body, calculated for a time after a scheduled time of collision between a first moving body and a second moving body, the margin of a target progress amount being updated based on the work results performed by the first moving body up to the scheduled time of collision, and a margin of a target progress amount for a task assigned to a second moving body, calculated for a time after the scheduled time of collision, the margin of a target progress amount being updated based on the work results performed by the second moving body up to the scheduled time of collision; a process of controlling the moving object having the larger calculated margin so as not to collide with the moving object at the estimated collision time; Run the command, In the calculation process, calculating the margin amount for the first moving body based on a difference between the updated target progress amount of the first moving body and the target progress amount of the first moving body; calculating the margin amount for the second moving body based on a difference between the updated target progress amount for the second moving body and the target progress amount for the second moving body; program.
Citation Information
Patent Citations
Autonomous mobile system
JP2006113687A
Robot control unit
JP2006133863A
Robot control device
JP2006326703A
Truck system having track
JP2013020423A
Systems and methods for using human-operated material-transport vehicles with fleet-management systems
US20200241560A1