Control device, control method, and storage medium for synchronizing completion times of robot tasks
A control device generates, in a case where multiple tasks to be executed by one or more robots are designated, one or more task groups obtained by classifying the multiple tasks, and generates one or more operation sequences of the one or more robots for completing the multiple tasks to synchronize completion time of tasks included in the one or more task groups.
1 . A control device comprising:
at least one memory configured to store instructions; and
at least one processor configured to execute the instructions to
generate, in a case where multiple tasks to be executed by one or more robots are designated, one or more task groups obtained by classifying the multiple tasks, by input information that designates, from the multiple tasks, tasks whose completion time is to be synchronized;
convert the multiple tasks to a logical formula based on a temporal logic;
generate, from the logical formula, a time step logical formula that is a logical formula representing a state at each time step to complete the multiple tasks; and
generate one or more operation sequences of the one or more robots for completing the multiple tasks to synchronize completion times of tasks included in each task group of the one or more task groups by performing an optimization based on an objective function including at least a term relating to a variation in the completion times of the tasks included in the each task group based on the time step logical formula, and control the one or more robots to execute the one or more operation sequences,
wherein each of the multiple tasks comprises one or more subtasks which is a unit that can be accepted by each of the one or more robots.
2 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to generate the one or more operation sequences by performing the optimization further based on a constraint condition that a completion time of each of the tasks included in the task group coincides with one another or is within a predetermined time difference.
3 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to generate the one or more task groups based on a timing at which each of the multiple tasks is designated.
4 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to generate the one or more task groups based on a category of each of the multiple tasks.
5 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to generate the one or more operation sequences to synchronize the completion time of the tasks included in the task group corresponding to a designated expected time of work completion.
6 . The control device according to claim 1 ,
wherein, in a case of accepting a designation of the multiple tasks from a task instruction device, the at least one processor is configured to execute the instructions to generate the one or more task groups by receiving, from the task instruction device, the input information.
7 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to regenerate the one or more operation sequences when there are instructions to add or delete a task included in the task group.
8 . The control device according to claim 1 ,
wherein, when an additional task group was generated after generation of the one or more operation sequences, the at least one processor is configured to execute the instructions to regenerate the one or more operation sequences.
9 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to generate the one or more operation sequences based on at least one of:
information relating to a configuration of the one or more robots,
information relating to a motion characteristic of the one or more robots, or
state information indicating a state of a workspace in which the one or more robots operate.
10 . The control device according to claim 1 ,
wherein the at least one processor is configured to
execute the instructions to generate an abstract model in which dynamics in a workspace of the one or more robots is abstracted, and
wherein the at least one processor is configured to execute the instructions to generate the one or more operation sequences by determining a control input for each time step for controlling the one or more robots through an optimization at least using the abstract model and the time step logical formula as constraint conditions.
11 . The control device according to claim 1 ,
wherein the at least one processor is configured to execute the instructions to
classify the multiple tasks into the one or more task groups according to completion timings of the multiple tasks indicated by task classification information.
12 . The control device according to claim 1 ,
wherein each of the multiple tasks corresponds to an individual order item included in an order placed by a user, and
wherein the one or more robots execute the tasks corresponding to the individual order items.
13 . The control device according to claim 1 ,
wherein the at least one processor is configured to classify the multiple tasks into the one or more task groups on a per-table basis, such that tasks corresponding to order items for the same table are classified into the same task group.
14 . The control device according to claim 1 ,
wherein the at least one processor is configured to classify the multiple tasks into the one or more task groups on a per-category basis,
the category indicating a type of an order item, such that tasks corresponding to order items belonging to the same category are classified into the same task group.
15 . The control device according to claim 1 ,
wherein the at least one processor is configured to classify the multiple tasks into the one or more task groups based on designation by a user, such that tasks corresponding to order items designated by the user are classified into the same task group.
16 . A control method executed by a computer, the control method comprising:
generating, in a case where multiple tasks to be executed by one or more robots are designated, one or more task groups obtained by classifying the multiple tasks, by input information that designates, from the multiple tasks, tasks whose completion time is to be synchronized;
converting the multiple tasks to a logical formula based on a temporal logic;
generating, from the logical formula, a time step logical formula that is a logical formula representing a state at each time step to complete the multiple tasks; and
generating one or more operation sequences of the one or more robots for completing the multiple tasks to synchronize completion times of tasks included in each task group of the one or more task groups by performing an optimization based on an objective function including at least a term relating to a variation in the completion times of the tasks included in the each task group based on the time step logical formula, and controlling the one or more robots to execute the one or more operation sequences,
wherein each of the multiple tasks comprises one or more subtasks which is a unit that can be accepted by each of the one or more robots.
17 . A non-transitory computer readable storage medium storing a program executed by a computer, the program causing the computer to:
generate, in a case where multiple tasks to be executed by one or more robots are designated, one or more task groups obtained by classifying the multiple tasks, by input information that designates, from the multiple tasks, tasks whose completion time is to be synchronized;
convert the multiple tasks to a logical formula based on a temporal logic;
generate, from the logical formula, a time step logical formula that is a logical formula representing a state at each time step to complete the multiple tasks; and
generate one or more operation sequences of the one or more robots for completing the multiple tasks to synchronize completion times of tasks included in each task group of the one or more task groups by performing an optimization based on an objective function including at least a term relating to a variation in the completion times of the tasks included in the each task group based on the time step logical formula, and control the one or more robots to execute the one or more operation sequences,
wherein each of the multiple tasks comprises one or more subtasks which is a unit that can be accepted by each of the one or more robots.