WO2019058694A1 - 制御装置、制御方法及び制御システム - Google Patents

制御装置、制御方法及び制御システム Download PDF

Info

Publication number
WO2019058694A1
WO2019058694A1 PCT/JP2018/024600 JP2018024600W WO2019058694A1 WO 2019058694 A1 WO2019058694 A1 WO 2019058694A1 JP 2018024600 W JP2018024600 W JP 2018024600W WO 2019058694 A1 WO2019058694 A1 WO 2019058694A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
capability
management unit
task
help
Prior art date
Application number
PCT/JP2018/024600
Other languages
English (en)
French (fr)
Inventor
邦在 鳥居
佐藤 直之
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US16/645,652 priority Critical patent/US11389949B2/en
Publication of WO2019058694A1 publication Critical patent/WO2019058694A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39117Task distribution between involved manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39146Swarm, multiagent, distributed multitask fusion, cooperation multi robots

Definitions

  • the present disclosure relates to a control device, a control method, and a control system.
  • robots of various types of movement such as bipedal walking, quadruped walking, or tire type are provided.
  • Patent Document 1 discloses that application programs (also referred to as contents) defining machine operation and structure control are provided in accordance with the type of robot, hardware configuration, or platform.
  • the content provided to the robot is controlled according to the hardware configuration or the static capability such as the specification of the robot.
  • the ability of the robot to execute also changes from time to time. Therefore, there is a need for a robot that can respond flexibly to assigned tasks (also referred to as tasks) even when the ability that the robot can execute changes dynamically.
  • a new and improved control device that enables a robot to co-operate with other robots to perform allocated tasks in an environment where conditions change dynamically.
  • a capability management unit that determines a capability indicating a capability that the first robot can perform at the timing, a capability necessary for a task executed by the first robot, and A help management unit that compares the capabilities of the first robot with the capabilities of the first robot and generates a help list that indicates the capabilities required to perform the task; and a second robot having the capabilities that meets the capabilities indicated in the help list
  • a control device comprising: a cooperation management unit instructing to execute the task in cooperation with the first robot.
  • the arithmetic processing unit determines, at a predetermined timing, the capability indicating the capability that the first robot can perform at the timing, and for the task executed by the first robot. Comparing the capability with the capabilities of the first robot, generating a help list indicating the capabilities required to perform the task, and having the capabilities satisfying the capabilities indicated in the help list Instructing the second robot to execute the task in cooperation with the first robot.
  • a capability management unit that determines a capability indicating the capability that the first robot can perform at the predetermined timing, and a capability necessary for the task that the first robot performs.
  • a help management unit that compares the capabilities of the first robot with the capabilities of the first robot and generates a help list indicating capabilities required to execute the task; and a second capability having the capabilities satisfying the capabilities indicated in the help list
  • a control system comprising: a collaboration management unit that instructs the robot of claim 1 to execute the task in cooperation with the first robot.
  • the present disclosure it is possible to compare the capability of the first robot at a predetermined timing with the ability required for task execution, and generate a help list indicating the additionally necessary ability for task execution. it can. Thereby, the first robot can compensate for the insufficient capability for task execution by cooperating with other robots.
  • the robot in an environment in which the situation changes dynamically, the robot can be made to execute the task allocated accordingly by making the robot cooperate with another robot.
  • FIG. 1 is an explanatory view for explaining cooperation by a plurality of robots by the control device according to the present embodiment.
  • the robot may be a machine or a device capable of controlling the movement of each part using the action of at least one or more of electricity and magnetism.
  • the robot in this embodiment is a mobile or fixed manipulation device, a human-type autonomous control robot, a quadruped robot, an autonomous vehicle, a drone, an industrial robot (for example, an assembly robot such as a machine).
  • a service robot for example, a medical robot such as a surgical robot, or a cooking robot
  • the robots described below are not limited to the robots listed above, and may be any known robots.
  • each of the plurality of robots cooperating in the present embodiment may be robots of the same type as each other or robots of different types.
  • control device causes one of the plurality of robots 1 and 2 to cooperate with each other to execute one task (task).
  • the control device determines that the allocated task can not be handled by the robot 1 alone. Therefore, in order to execute the allocated task, the control device creates a help list 11 indicating an additionally required ability in addition to the ability of the robot 1 and transmits it to, for example, the robot 2.
  • Can the robot 2 that has received the help list 11 compensate for the lack of ability of the robot 1 to execute tasks by comparing the received help list 11 with the capabilities of the robot 2 itself? Decide whether or not.
  • the robot 2 can compensate for the insufficient ability of the robot 1 to execute a task, the robot 2 sends back an answer 12 to the robot 1 to the effect that help is possible.
  • control device causes the robots 1 and 2 to execute tasks that could not be performed by the robot 1 alone by causing the robots 1 and 2 to operate in cooperation with each other.
  • the capabilities (capability) that the robots 1 and 2 can respectively execute can change dynamically.
  • the capabilities of the robot may change dynamically depending on whether the robot is performing other tasks, the presence or absence of a fault in the robot, or the amount of power remaining in the battery of the robot.
  • the control device additionally needs to execute the task by comparing the capability required to execute the task allocated to the robot 1 with the capability of the robot 1 that dynamically changes. Generate a help list that indicates the ability to As a result, when a task is assigned to the robot 1, the control device according to the present embodiment makes a task on the robot 1 by requesting help from the robot 2 that appropriately compensates for the lack of the capability of the robot 1. It is possible to make it run.
  • the control device according to the present embodiment may be provided to the robot 1.
  • the control device according to the present embodiment may be provided in an information processing server or the like connected to the robot 1 via a network.
  • the control device according to the present embodiment may be provided in any one as long as it can control the robot 1 or the like.
  • FIG. 2 is a block diagram for explaining the internal configuration of the control device 100 according to the present embodiment.
  • the control apparatus 100 shall be equipped with the robot 1 shown in FIG. 1, and the case where the control apparatus 100 makes the robot 1 and the robot 2 cooperate is demonstrated.
  • the control device 100 includes a task management unit 110, a capability management unit 120, a help management unit 130, a robot management unit 140, a communication unit 160, a cooperation management unit 150, and a mechanism control unit. 170 and a notification unit 180.
  • the task management unit 110 manages the tasks assigned to the robot 1 and determines the ability required to execute each task. Specifically, the task management unit 110 manages the start time, the end time, and the execution period of the task waiting (that is, reserved state) allocated to the robot 1 or the task being executed. Further, the task management unit 110 determines the capability required to execute each task allocated to the robot 1 by referring to the database covering the capabilities used when executing each task.
  • the ability used when executing a task is, for example, the movement ability of the robot 1, manipulation (lifting) ability, notification to the user, or knowledge ability that the robot 1 possesses.
  • the capability management unit 120 determines the capability of the robot 1 at the predetermined timing. Specifically, based on the hardware and software capabilities of the robot 1 and the situation of the robot 1 at the time of determination, the capability management unit 120 determines the capability indicating the capability that the robot 1 can execute. For example, the capability management unit 120 deducts the capability used by the task executed by the robot 1 at the time of determination, the capability not usable due to a failure, etc. from the capability based on the hardware and software specifications of the robot 1 The capability that can be executed on that may be determined as the capability of the robot 1.
  • the capability of the robot 1 determined by the capability management unit 120 may change depending on the execution status of the task of the robot 1. Therefore, the capability management unit 120 may determine the capability of the robot 1 at the start and end timings of the task of the robot 1 and update the capability of the robot 1. Specifically, at the start of a task, the capability management unit 120 subtracts the capability used in the task from the capability based on the specifications of the robot 1, and updates the executable capability on that as the capability of the robot 1. It is also good. In addition, when the task used in the task is released due to the termination of the task, the capability management unit 120 may update the capability based on the specifications of the robot 1 as the capability of the robot 1 when the task is terminated.
  • the capability of the robot 1 determined by the capability management unit 120 may also change due to an unexpected situation change such as a failure or failure of the robot 1 or a task not recognized by the robot 1 (for example, an irregular task). Therefore, the capability management unit 120 may determine the capabilities of the robot 1 at predetermined intervals, and update the capabilities of the robot 1. For example, the capability management unit 120 may update the capabilities of the robot 1 by determining the capabilities of the robot 1 at startup or shutdown of the robot 1 or every few days.
  • FIG. 3 is a table showing a specific example of the capability determined by the capability management unit 120. As shown in FIG. 3
  • the capabilities determined by the capability management unit 120 are divided into a plurality of categories such as, for example, movement, manipulation, and knowledge, and more subdivided functions and capability values are set for each category. It is done.
  • the function For example, in the category of movement, as the function, the maximum movable speed, the minimum movable speed, the movable distance, the corresponding step, the traveling direction and the movable width are set, and the ability value is set for each function.
  • the functions are as follows: liftable weight, liftable minimum height, liftable maximum height, liftable shape, and liftable size.
  • the ability value is set.
  • map information for example, map information of a building where the robot 1 works
  • a corresponding language are set as functions, and ability values are set for the respective functions.
  • the capabilities determined by the capability management unit 120 may include information on a time axis for executing each function. Specifically, for some capabilities of a capability, a startable time for executing the capability and a capability maintenance guarantee period may be set.
  • a help list is generated according to the capabilities of the robot 1 changing in the time axis direction based on the condition of the robot 1 etc., and the robot having the ability shown in the help list is task executed Select as a collaboration target for Therefore, when the capability determined by the capability management unit 120 includes information on the time axis, the control device 100 can select a more appropriate robot as a collaboration target.
  • the help management unit 130 generates a help list indicating the capabilities required for the robot 1 to perform a task. Specifically, the help management unit 130 compares the ability required to execute the task assigned to the robot 1 with the capabilities of the robot 1 to execute the task on the other robot 2. A help list is generated to indicate the required capabilities (ie, capabilities that are additionally needed in addition to the capabilities of the robot 1).
  • the help management unit 130 compares the capability required to execute the task determined by the task management unit 110 with the capability of the robot 1 determined by the capability management unit 120. Subsequently, the help management unit 130 determines whether the capability of the robot 1 satisfies the capability necessary to execute the task. Furthermore, if the capability of the robot 1 does not satisfy the capability required to execute the task, the help management unit 130 determines the capability required of the other robot 2 to execute the task, and indicates the capability. Generate a help list.
  • help list generated by the help management unit 130 will be described by taking a specific example with reference to FIGS. 4 and 5.
  • 4 and 5 are tables showing specific examples of the help list generated by the help management unit 130.
  • the help list generated by the help management unit 130 is divided into a plurality of categories such as, for example, movement, manipulation, and knowledge as in the capability, and is further subdivided for each category. Functions and ability values are set. Note that “No Request” indicates that the robot 1 is satisfied with the ability necessary to execute the task, and does not request the ability.
  • the ability value etc. required of the robot 2 for task execution are shown in the help list shown in FIG. 4, in the functions of movable speed and movable distance of the category of movement. In addition, in the category of liftable weight, liftable height, liftable shape, and liftable size function of the category of manipulation, the ability value etc. required of the robot 2 for task execution are shown. .
  • the help list generated by the help management unit 130 may include information on the time axis for executing each function, similarly to the capability. Specifically, for some capabilities of the help list, as well as capabilities, the startable time for executing the capabilities and the capability maintenance guarantee period may be set.
  • the help list generated by the help management unit 130 can more easily compare the help list with the capabilities of the robot 2 by including the same information as the capabilities.
  • the help management unit 130 compares the generated help list with the capability of the robot 2 selected as the collaboration target to determine whether the capability of the robot 2 satisfies the capability indicated in the help list. To judge. Specifically, first, the help management unit 130 acquires the capabilities of the robot 2 from the cooperation target robot 2 selected by the robot management unit 140 described later. Next, the help management unit 130 determines whether the capabilities of the robot 2 satisfy the capabilities indicated in the help list by comparing the generated help list with the acquired capabilities of the robot 2.
  • the comparison between the generated help list and the capabilities of the robot 2 selected as the cooperation target and the determination as to whether or not the cooperation is possible may be performed by the robot 2 as the cooperation target.
  • the help management unit 130 transmits the help list generated by the help management unit 130 to the robot 2 selected as the collaboration target, thereby comparing and linking the help list with the capabilities of the robot 2.
  • the determination of availability may be performed by the robot 2.
  • the help management unit 130 receives the determination result of collaboration availability from the robot 2 selected as the collaboration target, thereby determining whether the capability of the robot 2 satisfies the capability indicated in the help list. You may acquire a judgment result.
  • the help management unit 130 may regenerate the help list based on the changed capability. For example, when the capability management unit 120 updates the capability of the robot 1 based on an unexpected change in the situation of the robot 1 or a task not recognized by the robot 1, the help management unit 130 determines whether the capability is updated based on the updated capability. You may update the help list.
  • the ability required for the robot 2 to be cooperated may increase in the updated help list. Therefore, if the robot 1 and the robot 2 execute the task in cooperation with each other, is the help management unit 130 continuing the task execution by the cooperation between the robot 1 and the robot 2 based on the updated help list? You may judge whether or not.
  • the help management unit 130 may determine again whether the capability of the robot 2 in cooperation satisfies the capability indicated in the updated help list. When the capability of the robot 2 in cooperation satisfies the ability indicated in the updated help list, the help management unit 130 determines the continuation of the cooperation between the robot 1 and the robot 2. On the other hand, when the capability of the robot 2 in cooperation does not satisfy the ability indicated in the updated help list, the help management unit 130 determines to cancel the cooperation between the robot 1 and the robot 2. When the cooperation between the robot 1 and the robot 2 is released, the control device 100 again tries to execute a task by cooperation with another robot based on the updated help list.
  • the robot management unit 140 detects the robot 2 that is the cooperation target of the robot 1 and manages the robot 2. Specifically, the robot management unit 140 may select the robot 2 that cooperates with the robot 1 from at least one robot connected to the robot 1 via communication or a network. For example, the robot management unit 140 selects the robot 2 that cooperates with the robot 1 out of at least one or more robots existing within a range where wireless communication (for example, Bluetooth (registered trademark) etc.) by the communication unit 160 is possible. You may Alternatively, the robot management unit 140 may select the robot 2 that cooperates with the robot 1 from at least one robot connected to the network to which the control device 100 is connected via the communication unit 160.
  • wireless communication for example, Bluetooth (registered trademark) etc.
  • the robot management unit 140 selects the robot 2 that cooperates with the robot 1 from at least one robot existing in the image captured by the imaging device. You may In other words, the robot management unit 140 may select the robot 2 that cooperates with the robot 1 from among at least one robot existing in the field of view of the robot 1. Specifically, the robot management unit 140 captures an image of the environment around the robot 1 with an imaging device mounted on the robot 1 and identifies the robot captured in the captured image by image recognition to obtain the captured image. The robot shown in FIG. 1 may be selected as the robot 2 linked with the robot 1.
  • the robot management unit 140 can acquire the map information and the position information of each robot in the map information, the robot management unit 140 at least one or more existing within the movement range at the time of task execution.
  • the robot 2 linked with the robot 1 may be selected from among the robots of the above.
  • the robot 2 that executes a task in cooperation with the robot 1 needs to transmit and receive information to and from the robot 1 or the control device 100 for processing synchronization or the like. Therefore, when the robot 2 in cooperation with the robot 1 is selected from at least one or more robots connected to the robot 1 by communication or network, the communication path is already established, so the robot management unit 140 The process of establishing a communication path between the robot 1 and the robot 2 can be omitted.
  • the robot management unit 140 selects the robot 2 linked with the robot 1 based on the similarity of the capabilities of each robot and the robot 1. Good. Specifically, the robot management unit 140 may select, as the robot 2 in cooperation with the robot 1, a robot having a higher degree of similarity in capability with the robot 1.
  • the similarity of the capability between each robot and the robot 1 is, specifically, the similarity of the capability value, the start time, the capability maintenance period, and the like in each function of the capability.
  • the capability similarity with 1 is high.
  • the robot management unit 140 may select the robot 2 linked with the robot 1 based on the degree of complementation of the capabilities of each robot and the robot 1. . Specifically, the robot management unit 140 may select a robot with a higher degree of complementation of capabilities with the robot 1 as the robot 2 in cooperation with the robot 1.
  • the degree of complementation of the capabilities of each robot and the robot 1 is the degree to which the presence or absence of each of the capabilities does not overlap.
  • the robot that is the cooperation target owns the function that the robot 1 does not possess. It can be said that the degree of complementation of capabilities with the robot 1 is high.
  • the higher the degree of capability complementation between robots the higher the possibility that even if an unexpected situation occurs when executing a task, the function possessed by one of the cooperating robots can be dealt with. Therefore, task execution by cooperation between robots can be performed more smoothly.
  • the robot management unit 140 may select the robot 2 linked with the robot 1 based on the evaluation value of each robot. Specifically, the robot management unit 140 may select a robot with a higher evaluation value as a robot that cooperates with the robot 1.
  • the evaluation value of the robot is the degree to which the task execution by cooperation between the robot 1 and the robot is successful.
  • the task execution by cooperation between the robot 1 and another robot 2 may be incomplete due to a break in communication between the robot 1 and the robot 2 or an interruption process by the user of the robot 2 or the like. Therefore, the robot management unit 140 may set an evaluation value for each robot based on the result of completion or incompleteness of the task executed in cooperation with the robot 1 in the past.
  • the robot management unit 140 may perform a process of increasing the evaluation value of the robot 2.
  • the robot management unit 140 may perform the process of reducing the evaluation value of the robot 2.
  • the robot management unit 140 can preferentially select a robot having a high success rate of task execution in cooperation with the robot 1 as a robot in cooperation with the robot 1.
  • the evaluation value of the robot 2 may depend on the user who is the owner of the robot 2. Therefore, as an evaluation value of the robot 2, a reputation such as SNS (Social Networking Service) of a user who is the owner of the robot 2 or an evaluation may be substituted.
  • SNS Social Networking Service
  • the robot management unit 140 performs a plurality of viewpoints such as the similarity and complementarity of the capabilities of each robot and the robot 1 described above and the evaluation value of each robot.
  • the robot 2 linked with the robot 1 may be selected based on Specifically, the robot management unit 140 uses the robot 1 and the robot having a higher index calculated from the calculation formula in which the similarity and complementation degree of the capability with the robot 1 and the plurality of viewpoints of the evaluation value are respectively weighted. You may select as the robot 2 which cooperates. In such a case, the robot management unit 140 can select a robot judged to be appropriate as a collaboration target from a plurality of viewpoints as the robot 2 linked with the robot 1.
  • FIG. 6 is a table showing specific examples of the degree of similarity, the degree of complementation, and the evaluation value of the robots managed by the robot management unit 140.
  • the degree of similarity, the degree of complementation, and the evaluation value of the robot managed by the robot management unit 140 may be managed, for example, with a numerical value of 0 to 100.
  • the robot management unit 140 may calculate and manage the similarity, the degree of complementation, and the evaluation value for each robot. For example, when receiving the capability of the robot 2 from the robot 2, the robot management unit 140 calculates the similarity and the complementation degree of the capability between the robot 1 and the robot 2, and manages the similarity and the complementation degree of the robot 2. May be Also, the robot management unit 140 increases the evaluation value each time the task execution by the cooperation of the robot 1 and the robot 2 is completed, and the evaluation value each time the task execution by the cooperation of the robot 1 and the robot 2 is not completed. The evaluation value of the robot 2 may be managed by reducing.
  • the robot management unit 140 may further use elements other than the above-described elements to select a robot to be cooperated for task execution. Specifically, when there are a plurality of robots to be cooperated, the robot management unit 140 may select a robot having the shortest time until the start of cooperation as the robot to be cooperated. Alternatively, the robot management unit 140 cooperates with the robot 1 if the number of robots cooperating with the robot 1 is two or more (that is, three or more robots cooperate to execute a task). The robot to be cooperated may be selected to minimize the number of.
  • the communication unit 160 is a communication device or an external connection interface that transmits and receives information between the robot 1 and another robot.
  • the communication unit 160 may be an antenna and a communication circuit that perform wireless communication.
  • the communication unit 160 may use Wi-Fi (registered trademark), ZigBee (registered trademark), Bluetooth (registered trademark), Bluetooth Low Energy (registered trademark), ANT (registered trademark), ANT + (registered trademark), EnOcean Alliance ( It is also possible to use an antenna and communication circuit for performing communication using wavelength signals in a band of several hundred MHz to several GHz, such as a registered trademark, or mobile communication such as 3G or LTE (Long Term Evolution).
  • Wi-Fi registered trademark
  • ZigBee registered trademark
  • Bluetooth registered trademark
  • Bluetooth Low Energy registered trademark
  • ANT registered trademark
  • ANT + registered trademark
  • EnOcean Alliance It is also possible to use an antenna and communication circuit for performing communication using wavelength signals in a band of several hundred MHz to several GHz, such as a registered trademark, or mobile communication such as 3G or LTE (Long Term Evolution).
  • the communication unit 160 may be an external connection interface connected to an external network or device (including a robot) in a wired or wireless manner.
  • the communication unit 160 may be a wired or wireless external connection interface such as a Universal Serial Bus (USB) interface, an Ethernet (registered trademark) interface, or an IEEE 802.11 standard interface.
  • USB Universal Serial Bus
  • Ethernet registered trademark
  • IEEE 802.11 IEEE 802.11 standard interface
  • the cooperation management unit 150 manages and controls overall cooperation between the robot 1 and the robot 2 to be cooperated when executing a task. Specifically, the cooperation managing unit 150 outputs an instruction to the robot 2 determined to have the capability satisfying the ability indicated in the help list so as to execute the task in cooperation with the robot 1. For example, the cooperation managing unit 150 determines what kind of configuration is to be performed to the robots 1 and 2 and outputs an instruction of the determined configuration to the robots 1 and 2 respectively. Further, the cooperation management unit 150 controls even synchronization processing between the robot 1 and the robot 2 to be cooperated, processing when dealing with an abnormality, and interrupt processing when an interruption occurs when executing a task by cooperation. Good.
  • the cooperation managing unit 150 similarly judges with what kind of configuration the respective robots are to be cooperated, and instructs the determined configuration to each robot It is possible to output to.
  • the mechanical control unit 170 controls the overall operation of each mechanism of the robot 1. Specifically, the mechanical control unit 170 controls each part of the robot 1 by controlling the drive of the arm (for example, a manipulator) and the leg (for example, a motor for driving the legs or wheels) included in the robot 1. Control the operation of The mechanical control unit 170 executes the task instructed by the task management unit 110 when the robot 1 alone executes the task. The mechanical control unit 170 also executes an operation or a function instructed by the cooperation management unit 150 when a plurality of robots cooperate to execute a task.
  • the arm for example, a manipulator
  • the leg for example, a motor for driving the legs or wheels
  • the notification unit 180 is a display unit or an audio output unit for notifying a user or the like.
  • the notification unit 180 may notify, for example, the user of a cooperation status with another robot, or an approval request for performing cooperation with another robot.
  • the notification unit 180 may be a display device such as a CRT (Cathode Ray Tube) display device, a liquid crystal display device, or an organic EL (Organic ElectroLuminescence) display device, or may be an audio output device such as a speaker or headphones. .
  • the control device 100 can perform collaboration with another robot 2 in an ad-hoc manner even when the capability of the robot 1 alone is insufficient to execute a task. , It is possible to make the robot 1 execute tasks smoothly.
  • control device 100 Subsequently, a specific control example by the control device 100 according to the present embodiment will be described with reference to FIGS. 7 to 14. Note that control examples by the control device 100 will be described divided into first to eighth control examples.
  • FIG. 7 is a sequence diagram for explaining a first control example by the control device 100. As shown in FIG. 7
  • tasks to be allocated to the first robot 1 are determined (S101).
  • the task management unit 110 extracts functions and capabilities required to execute the allocated task (S103).
  • the capability management unit 120 generates a capability list indicating the capabilities of the first robot 1 at the present time (S105).
  • the help management unit 130 determines whether the first robot 1 alone can execute the task by the help management unit 130 comparing the function and ability required for task execution with the capability of the first robot 1 It is determined whether or not it is (S107).
  • the help management unit 130 generates a help list indicating the capabilities required for task execution (S109).
  • the robot management unit 140 detects the second robot 2 that can cooperate with the first robot 1 via communication or a network (S111), and the help list is transmitted to the second robot 2 (S113).
  • the capability list indicating the capabilities of the second robot 2 at the current point of time is generated (S115).
  • the second robot 2 compares the capability of the second robot 2 with the received help list to determine whether a help is possible (S117).
  • the second robot 2 transmits a help-enabled response to the first robot 1 (S119).
  • the cooperation managing unit 150 issues a cooperation instruction to the second robot 2 (S121), and the task by the cooperation of the first robot 1 and the second robot 2 Execution is performed (S123).
  • FIG. 8 is a sequence diagram for explaining a second control example by the control device 100.
  • the second control example is a control example different from the first control example in that a robot to be cooperated is selected from a plurality of detected robots by referring to an evaluation value or the like.
  • tasks to be allocated to the first robot 1 are determined (S201).
  • the task management unit 110 extracts functions and capabilities required to execute the allocated task (S203).
  • the capability management unit 120 generates a capability list indicating the capabilities of the first robot 1 at the present time (S205).
  • the help management unit 130 determines whether the first robot 1 alone can execute the task by the help management unit 130 comparing the function and ability required for task execution with the capability of the first robot 1 It is determined whether or not it is (S207). When the first robot 1 alone can execute the task, the first robot 1 alone executes the task. On the other hand, when the first robot 1 alone can not execute the task, the help management unit 130 generates a help list indicating the capabilities required for task execution (S209).
  • the robot management unit 140 detects robots (the second robot 2 and the third robot 3) that can cooperate with the first robot 1 through communication or a network (S211). Subsequently, by the robot management unit 140, the similarity degree or the complementation degree of the capability between the first robot 1 and the second robot 2 and the third robot 3 or the second robot 2 and the third robot 3
  • the robot which transmits a help list is determined by referring each evaluation value etc. (S212). Thereafter, the help list is transmitted to the determined robot (the second robot 2) (S213).
  • a capability list indicating the capabilities of the second robot 2 at the present time is generated (S215). Thereafter, the second robot 2 compares the capability of the second robot 2 with the received help list to determine whether a help is possible (S217).
  • the second robot 2 transmits a help-enabled response to the first robot 1 (S219).
  • the cooperation managing unit 150 issues a cooperation instruction to the second robot 2 (S221), and the task by the cooperation of the first robot 1 and the second robot 2 Execution is performed (S223).
  • FIG. 9 is a sequence diagram for explaining a third control example by the control device 100.
  • a help list is further generated by the second robot 2 that receives the help request from the first robot 1 in the second control example, and the second robot 2 to the third robot 2
  • This is a control example in which a point at which a help request is transmitted to the robot 3 is added.
  • the second robot 2 when the help list is sent from the first robot 1 to the second robot 2 (S213), the second robot 2 that has received the help list receives the second robot 2 at the current time. A capability list indicating capabilities is generated (S215). Thereafter, the second robot 2 compares the capability of the second robot 2 with the received help list to determine whether a help is possible (S217).
  • the second robot 2 further generates a help list (S239).
  • the help list generated by the second robot 2 corresponds to the help list generated by the first robot 1 minus the ability corresponding to the capability of the second robot 2.
  • the second robot 2 detects a robot (third robot 3) that can cooperate with the first robot 1 and the second robot 2 via communication or a network (S241). Subsequently, the second robot 2 refers to the similarity or complementation of the capability of the second robot 2 and the third robot 3 or the evaluation value of the third robot 3, etc. It is decided to transmit the help list to the robot 3 of 3 (S242). Thereafter, the help list is transmitted to the third robot 3 (S243). In the third robot 3 having received the help list, the capability list indicating the capabilities of the third robot 3 at the current point of time is generated (S245). Thereafter, the third robot 3 compares the capability of the third robot 3 with the received help list to determine whether a help is possible (S247).
  • the third robot 3 transmits a help-enabled response to the second robot 2 (S249), and the second robot 2 transmits the first answer.
  • a help-enabled response is sent to the robot 1 (S259).
  • the cooperation managing unit 150 issues a cooperation instruction to the second robot 2 (S261). Further, in the second robot 2, a cooperation instruction is issued to the third robot 3 (S 262). Thereby, task execution by cooperation of the 1st robot 1, the 2nd robot 2, and the 3rd robot 3 is performed (S263).
  • FIG. 10 is a sequence diagram for explaining a fourth control example by the control device 100.
  • the capability list received from each robot by the first robot 1 is compared with the help list in the second control example to determine whether the help is possible or not. It is a different control example.
  • tasks to be allocated to the first robot 1 are determined (S301).
  • the task management unit 110 extracts functions and capabilities required to execute the allocated task (S303).
  • the capability management unit 120 generates a capability list indicating the capabilities of the first robot 1 at the current time (S305).
  • the help management unit 130 determines whether the first robot 1 alone can execute the task by the help management unit 130 comparing the function and ability required for task execution with the capability of the first robot 1 It is determined whether or not it is (S307).
  • the first robot 1 alone executes the task.
  • the help management unit 130 generates a help list indicating the capabilities required for task execution (S309).
  • the robot management unit 140 detects robots (the second robot 2 and the third robot 3) that can cooperate with the first robot 1 through communication, a network, or the like (S311).
  • the help management unit 130 requests the second robot 2 and the third robot 3 to transmit the capability list at the current time (S313).
  • a capability list indicating each capability at the present time is generated (S315), and each of the generated capability lists is transmitted to the first robot 1 (S316).
  • the help management unit 130 compares the capability of each of the second robot 2 and the third robot 3 with the generated help list, thereby the second robot It is determined whether or not help is possible for each of the second and third robots 3 (S317). Furthermore, by the robot management unit 140, the similarity or complementation of the capabilities of the first robot 1 and the second robot 2 and the third robot 3 or the second robot 2 and the third robot 3 respectively. The evaluation value etc. of are referenced. As a result, among the robots that can be helped, a robot that sends a help request is determined (S312).
  • a help request is transmitted to the determined robot (the second robot 2) (S318).
  • a help-enabled response is transmitted to the first robot 1 (S319).
  • the cooperation managing unit 150 issues a cooperation instruction to the second robot 2 (S321), and the first robot 1 and the second robot 1 Task execution is performed by cooperation of the robot 2 (S323).
  • FIG. 11 is a sequence diagram for explaining a fifth control example by the control device 100.
  • the fifth control example is a control example in which the number of detected robots and the number of cooperation target robots are different from the fourth control example.
  • tasks to be allocated to the first robot 1 are determined (S401).
  • the task management unit 110 extracts functions and capabilities required to execute the allocated task (S403).
  • the capability management unit 120 generates a capability list indicating the capabilities of the first robot 1 at the current time (S405).
  • the help management unit 130 determines whether the first robot 1 alone can execute the task by the help management unit 130 comparing the function and ability required for task execution with the capability of the first robot 1 It is determined whether or not it is (S407).
  • the first robot 1 alone executes the task.
  • the help management unit 130 generates a help list indicating the capabilities required for task execution (S409).
  • the robot management unit 140 detects robots (the second robot 2, the third robot 3, and the fourth robot 4) that can cooperate with the first robot 1 through communication or a network, etc. (S411).
  • the help management unit 130 requests the second robot 2, the third robot 3 and the fourth robot 4 to transmit the capability list at the current time (S413).
  • a capability list indicating each capability at the present time is generated (S415), and each of the generated capability list is transmitted to the first robot 1 (S416).
  • the help management unit 130 compares the capabilities of each of the second robot 2, the third robot 3 and the fourth robot 4 with the generated help list. Then, it is determined whether or not help is possible in each of the second robot 2, the third robot 3 and the fourth robot 4 (S417). Furthermore, the robot manager 140 compares the degree of similarity or complementation of the capabilities of the first robot 1 with the second robot 2, the third robot 3 and the fourth robot 4, or the second robot 2, the second robot 2, The evaluation values and the like of each of the robot 3 and the fourth robot 3 are referred to. As a result, among the robots that can be helped, a robot that transmits a help request is determined (S412).
  • a help request is transmitted to the determined robots (the third robot 3 and the fourth robot 4) (S418).
  • a help-enabled response is transmitted to the first robot 1 (S419).
  • the cooperation management unit 150 issues a cooperation instruction to each of the third robot 3 and the fourth robot 4. Then, the task execution is performed by the cooperation of the first robot 1, the third robot 3 and the fourth robot 4 (S423).
  • FIG. 12 is a sequence diagram for explaining a sixth control example by the control device 100.
  • the sixth control example is a control example when task execution by cooperation is completed.
  • a task is executed by cooperation of the first robot 1 and the second robot 2 (S123).
  • the cooperation management unit 150 determines the completion of the task (S125). If the cooperation management unit 150 determines that the task is completed, the cooperation management unit 150 transmits a notification of cooperation completion to the second robot 2 (S127). In the second robot 2 that has received the notification of cooperation completion, the capability used by the task is released as the task is completed, so the capability list is updated (S129).
  • the robot management unit 140 updates the evaluation value of the second robot 2 (S131). Specifically, when task execution by cooperation of the first robot 1 and the second robot 2 is completed successfully, the evaluation value of the second robot 2 is updated to a value increased by a predetermined value. Further, as the task is completed, the capability used by the task is released, so that the capability list is also updated in the first robot 1 (S129).
  • FIG. 13 is a sequence diagram for explaining a seventh control example by the control device 100.
  • the seventh control example is a control example in the case where task execution by cooperation is not completed due to the interruption process by the user.
  • a task is executed by cooperation of the first robot 1 and the second robot 2 (S123).
  • the second robot 2 when the user requests the second robot 2 to suspend (cancel) task execution by cooperation (S141), the second robot 2 notifies the user that the task is being executed by cooperation. It notifies (S143).
  • the second robot 2 After confirming the notification, if the user requests suspension of task execution, the second robot 2 determines suspension of task execution by linkage (S145), and requests to suspend task execution by linkage Is sent to the first robot 1 (S147).
  • the second robot 2 performs a process of interrupting task execution (S151).
  • the capability used by the task is released along with the interruption of the task, so the capability list is updated (S 129).
  • the robot management unit 140 updates the evaluation value of the second robot 2 (S 131). Specifically, since the task execution by cooperation of the first robot 1 and the second robot 2 is interrupted, the evaluation value of the second robot 2 is updated to a value reduced by a predetermined value.
  • the first robot 1 also updates the capability list (S129).
  • FIG. 14 is a sequence diagram for explaining an eighth control example by the control device 100.
  • the eighth control example is a control example when the capability of the first robot 1 changes during execution of a task by cooperation.
  • a task is executed by cooperation of the first robot 1 and the second robot 2 (S123).
  • the capability management unit 120 updates the capability list of the first robot 1 based on the changed state (S171).
  • the help management unit 130 compares the functions and capabilities required for task execution with the updated capability list to indicate the capabilities required for task execution.
  • a help list is generated (S173).
  • the help management unit 130 transmits the updated help list to the second robot 2 and the capability of the second robot 2 satisfies the ability shown in the updated help list. It is checked whether or not it is (S177).
  • the second robot 2 compares the updated help list with the capabilities of the second robot 2 to determine whether the second robot 2 can provide help (S179). After that, the second robot 2 notifies the first robot 1 of the result of judging whether the help continuation is possible (S181).
  • control device 100 can perform task execution by cooperation between the first robot 1 and another robot in a flexible manner.
  • FIG. 15 is a block diagram showing an example of the hardware configuration of the control device 100 according to the present embodiment.
  • Information processing by the control device 100 according to the present embodiment is realized by cooperation of software and hardware.
  • the control device 100 includes a central processing unit (CPU) 901, a read only memory (ROM) 902, a random access memory (RAM) 903, a bridge 907, and internal buses 905 and 906.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • the CPU 901 functions as an arithmetic processing unit or a control unit, and controls the overall operation of the control unit 100 in accordance with various programs stored in the ROM 902 or the like.
  • the ROM 902 stores programs used by the CPU 901 and calculation parameters
  • the RAM 903 temporarily stores programs used in the execution of the CPU 901 and parameters and the like appropriately changed in the execution.
  • the CPU 901 may execute the functions of the task management unit 110, the capability management unit 120, the help management unit 130, the robot management unit 140, the cooperation management unit 150, and the mechanical control unit 170.
  • the CPU 901, the ROM 902, and the RAM 903 are mutually connected by a bridge 907, internal buses 905 and 906, and the like.
  • the CPU 901, the ROM 902, and the RAM 903 are also connected to an input device 911, an output device 912, a storage device 913, a drive 914, a connection port 915, and a communication device 916 through an interface 908.
  • the input device 911 includes an input device to which information such as a touch panel, a keyboard, a mouse, a button, a microphone, a switch or a lever is input.
  • the input device 911 also includes an input control circuit and the like for generating an input signal based on the input information and outputting the signal to the CPU 901.
  • the output device 912 includes, for example, a display device such as a CRT display device, a liquid crystal display device, or an organic EL display device. Additionally, output device 912 may include an audio output device such as a speaker or headphones. For example, the output device 912 may execute the function of the notification unit 180.
  • the storage device 913 is a storage device for storing data of the control device 100.
  • the storage device 913 may include a storage medium, a storage device that stores data in the storage medium, a reading device that reads data from the storage medium, and a deletion device that deletes stored data.
  • the drive 914 is a storage medium read writer, and is built in or externally attached to the control device 100.
  • the drive 914 can read information stored in a removable storage medium such as a mounted magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and can output the information to the RAM 903.
  • the drive 914 can also write information to a removable storage medium.
  • the connection port 915 is a connection interface configured with a connection port for connecting an externally connected device such as a USB port, an Ethernet (registered trademark) port, an IEEE 802.11 standard port, an optical audio terminal, or the like.
  • the communication device 916 is, for example, a communication interface configured of a communication device or the like for connecting to the network 920.
  • the communication device 916 may be a wired or wireless LAN compatible communication device or a cable communication device that performs wired cable communication.
  • the connection port 915 and the communication device 916 may execute the function of the communication unit 160.
  • control device 100 even when the ability of a single robot 1 is insufficient to execute a task, cooperation with another robot 2 is performed. It is possible to perform tasks on a case-by-case basis.
  • control device 100 it is possible to smoothly execute a task by cooperating with the appropriate robot 2 at each time according to the dynamically changing capability of the robot 1 It is.
  • the control device 100 can be used, for example, for the following use cases. Specifically, the control device 100 can be applied to the case where a plurality of robots cooperate to carry a heavy load which can not be carried by the robot 1 alone. Further, the control device 100 can be applied to the case where another robot assists in lifting the object in order to prevent the balance of the center of gravity from being lost when the object such as a book is lifted. is there. Further, the control device 100 can be applied to the case where another robot having a manipulation ability lifts furniture etc. in order to clean the entire floor surface with the cleaning robot. Furthermore, in order to notify the user by voice, the control device 100 can also be applied to the case where another robot has voice output from a robot that does not have a speaker or the like.
  • a capability management unit that determines, at a predetermined timing, a capability indicating a capability that the first robot can perform at the timing;
  • a help management unit that compares a capability required for a task to be executed by the first robot with the capability of the first robot and generates a help list indicating a capability required for executing the task;
  • a cooperation management unit that instructs a second robot having the capability satisfying the capability indicated in the help list to execute the task in cooperation with the first robot;
  • And a control device a control device.
  • the control device according to any one of (1) to (3), further comprising: a robot management unit that selects a robot that cooperates with the first robot.
  • a robot management unit that selects a robot that cooperates with the first robot among at least one robot connected to the first robot via communication or a network.
  • the robot management unit selects a robot that cooperates with the first robot based on the degree of similarity or complementation of the capabilities between the robot and the first robot. Control device as described.
  • the control device according to any one of (4) to (6), wherein the robot management unit selects a robot that cooperates with the first robot based on an evaluation value of the robot.
  • the control device updates the evaluation value of the second robot after cooperation of the first robot and the second robot ends.
  • the control device decreases the evaluation value of the second robot when the cooperation between the first robot and the second robot is interrupted.
  • the control device (10) The control device according to (9), wherein the cooperation between the first robot and the second robot is interrupted by the user's intervention on the second robot.
  • the help management unit acquires the capabilities of the robot selected by the robot management unit, and determines whether or not the capabilities of the robot satisfy the capabilities indicated in the help list. The control device according to any one of the above.
  • the help management unit according to any one of (4) to (10), wherein the help management unit transmits the help list to the robot selected by the robot management unit, and receives a determination result of collaboration availability from the robot.
  • Control device (13) The control device according to (1), wherein the help management unit updates the help list based on the changed capability, when the capability of the first robot changes.
  • the help management unit continues the cooperation between the first robot and the second robot based on the updated help list.
  • the control device according to (13), which determines whether or not to.
  • the capability further includes information on a time axis for executing the capability.
  • the processing unit Determining, at a predetermined timing, a capability indicating a capability that the first robot at that timing can perform; Comparing the capabilities required for the task performed by the first robot with the capabilities of the first robot, and generating a help list indicating the capabilities required for performing the task; Instructing a second robot having the capability meeting the capabilities indicated in the help list to perform the task in cooperation with the first robot;
  • Control methods including: (18) A capability management unit that determines, at a predetermined timing, a capability indicating a capability that the first robot can perform at the timing; A help management unit that compares a capability required for a task to be executed by the first robot with the capability of the first robot and generates a help list indicating a capability required for executing the task; A cooperation management unit that instructs a second robot having the capability satisfying the capability indicated in the help list to execute the task in cooperation with the first

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Manipulator (AREA)

Abstract

【課題】他のロボットとの連携によって臨機応変にタスクを実行するロボットを実現する制御装置、制御方法及び制御システムを提供する。 【解決手段】所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、を備える、制御装置。

Description

制御装置、制御方法及び制御システム
 本開示は、制御装置、制御方法及び制御システムに関する。
 近年、電気的又は磁気的な作用を用いて人間の動作に似せた運動を行うロボットなどの機械装置が普及している。具体的には、工業分野では、生産作業を自動化するマニピュレータ又は搬送ロボットなどの産業用ロボットが広く用いられるようになっている。また、生活分野では、ユーザの日常動作を支援する生活密着型の支援ロボットが用いられるようになっている。
 特に最近では、様々な種類のロボットが提供されるようになっている。例えば、二足歩行式、四足歩行式型又はタイヤ式などの様々な移動形式のロボットが提供されるようになっている。これらのロボットでは、移動形式ごとに実行可能な能力に差異が存在する場合がある。
 下記の特許文献1には、機械動作及び構造制御を規定するアプリケーションプログラム(コンテンツとも称される)をロボットの種類、ハードウェア構成又はプラットフォームに応じてそれぞれ提供することが開示されている。
特開2005-78456号公報
 上記の特許文献1に開示される技術では、ロボットのハードウェア構成又はスペックなどの静的な能力に応じて、該ロボットに提供されるコンテンツを制御している。しかしながら、ロボットの状況及びロボットの周囲環境は、随時変化するため、ロボットが実行可能な能力(ケイパビリティとも称される)も随時変化してしまう。そのため、ロボットが実行可能な能力が動的に変化する場合でも、割り振られた作業(タスクとも称される)に臨機応変に対応することが可能なロボットが求められていた。
 そこで、本開示では、状況が動的に変わる環境において、割り振られたタスクを実行するために、ロボットが臨機応変に他のロボットと連携することを可能にする、新規かつ改良された制御装置、制御方法及び制御システムを提案する。
 本開示によれば、所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、を備える、制御装置が提供される。
 また、本開示によれば、演算処理装置によって、所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断することと、前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成することと、前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示することと、を含む、制御方法が提供される。
 また、本開示によれば、所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、を備える、制御システムが提供される。
 本開示によれば、所定のタイミングにおける第1のロボットのケイパビリティと、タスク実行のために必要な能力とを比較し、タスク実行のために追加で必要な能力を示すヘルプリストを生成することができる。これにより、第1のロボットは、他のロボットと連携することで、タスク実行のために不足している能力を補うことができる。
 以上説明したように本開示によれば、状況が動的に変わる環境において、ロボットを他のロボットと連携させることによって、割り振られたタスクをロボットに臨機応変に実行させることができる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る制御装置による複数のロボットによる連携を説明する説明図である。 同実施形態に係る制御装置の内部構成を説明するブロック図である。 能力管理部によって判断されるケイパビリティの具体例を示す表図である。 ヘルプ管理部が生成するヘルプリストの具体例を示す表図の一例である。 ヘルプ管理部が生成するヘルプリストの具体例を示す表図の他の例である。 ロボット管理部によって管理されるロボットの類似度、補完度及び評価値の具体例を示す表図である。 制御装置による第1の制御例を説明するシーケンス図である。 制御装置による第2の制御例を説明するシーケンス図である。 制御装置による第3の制御例を説明するシーケンス図である。 制御装置による第4の制御例を説明するシーケンス図である。 制御装置による第5の制御例を説明するシーケンス図である。 制御装置による第6の制御例を説明するシーケンス図である。 制御装置による第7の制御例を説明するシーケンス図である。 制御装置による第8の制御例を説明するシーケンス図である。 同実施形態に係る制御装置のハードウェア構成の一例を示したブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.概要
 2.制御装置の構成例
 3.制御例
  3.1.第1の制御例
  3.2.第2の制御例
  3.3.第3の制御例
  3.4.第4の制御例
  3.5.第5の制御例
  3.6.第6の制御例
  3.7.第7の制御例
  3.8.第8の制御例
 4.ハードウェア構成例
 5.まとめ
 <1.概要>
 まず、図1を参照して、本開示の一実施形態に係る制御装置の概要について説明する。図1は、本実施形態に係る制御装置による複数のロボットによる連携を説明する説明図である。
 本実施形態において、ロボットとは、電気又は磁気の少なくともいずれか1つ以上による作用を用いて、各部の動きを制御可能な機械又は装置であり得る。例えば、本実施形態におけるロボットとは、移動式若しくは固定式のマニピュレーション装置、人型の自律制御ロボット、四足歩行ロボット、自動運転車、ドローン、産業用ロボット(例えば、機械等の組み立てロボットなど)、サービスロボット(例えば、手術ロボット等の医療用ロボット、又は調理用ロボットなど)又は玩具であってもよい。ただし、以下で説明するロボットは、上記で列挙したロボットに限定されず、公知のいかなるロボットであってもよい。また、本実施形態において連携する複数のロボットの各々は、互いに同種のロボットであってもよく、異種のロボットであってもよい。
 図1に示すように、本実施形態に係る制御装置は、複数のロボット1、2を互いに連携させることによって、1つの作業(タスク)を実行させる。
 具体的には、ロボット1に対して、ロボット1が実行可能な能力(ケイパビリティ)を超えるタスクが割り振られた場合、制御装置は、割り振られたタスクはロボット1単体では対応できないと判断する。そこで、制御装置は、割り振られたタスクを実行するために、ロボット1の能力に加えて追加で必要となる能力を示すヘルプリスト11を作成し、例えばロボット2に送信する。
 ヘルプリスト11を受信したロボット2は、受信したヘルプリスト11と、ロボット2自身のケイパビリティとを比較することで、タスクを実行するためにロボット1にて不足している能力を補うことができるか否かを判断する。タスクを実行するためにロボット1にて不足している能力をロボット2が補うことができる場合、ロボット2は、ヘルプ可能である旨の回答12をロボット1に返信する。
 その後、制御装置は、ロボット1、2を互いに連携して動作させることで、ロボット1単体では実行できなかったタスクをロボット1、2に実行させる。
 ここで、ロボット1、2がそれぞれ実行可能な能力(ケイパビリティ)は、動的に変化し得る。例えば、ロボットが他のタスクを実行しているか否か、ロボットの故障箇所の有無、又はロボットのバッテリに残存する電力量などによって、ロボットのケイパビリティは動的に変化し得る。
 本実施形態に係る制御装置は、ロボット1に割り振られたタスクの実行に必要な能力と、動的に変化するロボット1のケイパビリティとを比較することで、タスクの実行のために追加で必要となる能力を示すヘルプリストを生成する。これにより、本実施形態に係る制御装置は、ロボット1にタスクが割り振られた場合、ロボット1のケイパビリティの不足を適切に補うロボット2にヘルプを要請することで、ロボット1に臨機応変にタスクを実行させることが可能である。
 なお、本実施形態に係る制御装置は、ロボット1に備えられてもよい。または、本実施形態に係る制御装置は、ロボット1とネットワークで接続された情報処理サーバ等に備えられてもよい。本実施形態に係る制御装置は、ロボット1等を制御可能であれば、いかなるものに備えられてもよい。
 <2.制御装置の構成例>
 次に、図2~図6を参照して、本実施形態に係る制御装置の内部構成について説明する。図2は、本実施形態に係る制御装置100の内部構成を説明するブロック図である。以下では、制御装置100は、図1にて示したロボット1に備えられるものとし、制御装置100がロボット1とロボット2とを連携させる場合について説明する。
 図2に示すように、制御装置100は、タスク管理部110と、能力管理部120と、ヘルプ管理部130と、ロボット管理部140と、通信部160と、連携管理部150と、メカ制御部170と、通知部180と、を備える。
 タスク管理部110は、ロボット1に割り振られたタスクを管理し、各タスクを実行する際に必要となる能力を判断する。具体的には、タスク管理部110は、ロボット1に割り振られた実行待ち(すなわち、予約状態)又は実行中のタスクの開始時間、終了時間及び実行期間を管理する。また、タスク管理部110は、各タスクの実行の際に使用される能力を網羅したデータベースを参照することで、ロボット1に割り振られた各タスクを実行する際に必要となる能力を判断する。タスクの実行の際に使用される能力とは、例えば、ロボット1の移動能力、マニピュレート(持ち上げ)能力、ユーザへの通知能力、又はロボット1が所有する知識能力などである。
 能力管理部120は、所定のタイミングで、該タイミングにおけるロボット1のケイパビリティを判断する。具体的には、能力管理部120は、ロボット1のハードウェア及びソフトウェアによる能力と、判断時におけるロボット1の状況とに基づいて、ロボット1が実行可能な能力を示すケイパビリティを判断する。例えば、能力管理部120は、ロボット1のハードウェア及びソフトウェアのスペックに基づく能力から、判断時にロボット1が実行しているタスクで使用している能力、及び故障等で使用できない能力等を差し引き、その上で実行可能な能力をロボット1のケイパビリティとして判断してもよい。
 上述したように、能力管理部120によって判断されるロボット1のケイパビリティは、ロボット1のタスクの実行状況によって変化し得る。そのため、能力管理部120は、ロボット1のタスクの開始時及び終了時のタイミングで、ロボット1のケイパビリティを判断し、ロボット1のケイパビリティを更新してもよい。具体的には、能力管理部120は、タスクの開始時に、ロボット1のスペックに基づく能力から該タスクで使用される能力を差し引き、その上で実行可能な能力をロボット1のケイパビリティとして更新してもよい。また、能力管理部120は、タスクの終了によって該タスクで使用された能力が解放された場合、タスクの終了時に、ロボット1のスペックに基づく能力をロボット1のケイパビリティとして更新してもよい。
 ただし、能力管理部120によって判断されるロボット1のケイパビリティは、ロボット1の不具合若しくは故障等の予期しない状況変化、又はロボット1に認識されないタスク(例えば、イレギュラーなタスク)によっても変化し得る。そのため、能力管理部120は、所定の間隔にてロボット1のケイパビリティを判断し、ロボット1のケイパビリティを更新してもよい。例えば、能力管理部120は、ロボット1の起動時若しくはシャットダウン時、又は数日ごとにロボット1のケイパビリティを判断し、ロボット1のケイパビリティを更新してもよい。
 ここで、図3を参照して、能力管理部120によって判断されるケイパビリティについて、具体例を挙げて説明する。図3は、能力管理部120によって判断されるケイパビリティの具体例を示す表図である。
 図3に示すように、能力管理部120によって判断されるケイパビリティは、例えば、移動、マニピュレート及び知識等の複数のカテゴリに分かれており、それぞれのカテゴリについてより細分化された機能及び能力値が設定されている。
 例えば、移動のカテゴリでは、機能として、移動可能最高速度、移動可能最低速度、移動可能距離、対応段差、走行方向及び走行可能な幅が設定されており、それぞれの機能について能力値が設定されている。マニュピュレートのカテゴリでは、機能として、持ち上げ可能な重量、持ち上げ可能な最低高さ、持ち上げ可能な最高高さ、持ち上げ可能な形状、及び持ち上げ可能な大きさが設定されており、それぞれの機能について能力値が設定されている。知識のカテゴリでは、機能として、地図情報(例えば、ロボット1が作業する建物の地図情報)及び対応言語が設定されており、それぞれの機能について能力値が設定されている。
 また、図3に示すように、能力管理部120によって判断されるケイパビリティは、各機能を実行する時間軸に関する情報を含んでもよい。具体的には、ケイパビリティの一部の能力には、該能力を実行する際の開始可能時間及び能力持続保証期間が設定されてもよい。本実施形態に係る制御装置100では、ロボット1の状況等に基づき時間軸方向に変化するロボット1のケイパビリティに応じて、ヘルプリストを生成し、該ヘルプリストに示す能力を有するロボットをタスク実行のための連携対象として選択する。したがって、能力管理部120によって判断されるケイパビリティが時間軸に関する情報を含む場合、制御装置100は、より適切なロボットを連携対象として選択することができる。
 ヘルプ管理部130は、ロボット1がタスクを実行するために必要となる能力を示すヘルプリストを生成する。具体的には、ヘルプ管理部130は、ロボット1に割り振られたタスクを実行するために必要な能力と、ロボット1のケイパビリティとを比較することで、タスクを実行するために他のロボット2に要求する能力(すなわち、ロボット1の能力に加えてさらに必要となる能力)を示すヘルプリストを生成する。
 例えば、まず、ヘルプ管理部130は、タスク管理部110によって判断されたタスクを実行するために必要な能力と、能力管理部120によって判断されたロボット1のケイパビリティとを比較する。続いて、ヘルプ管理部130は、タスクを実行するために必要な能力をロボット1のケイパビリティが満たしているか否かを判断する。さらに、タスクを実行するために必要な能力をロボット1のケイパビリティが満たしていない場合、ヘルプ管理部130は、タスクを実行するために他のロボット2に要求する能力を判断し、該能力を示したヘルプリストを生成する。
 ここで、図4及び図5を参照して、ヘルプ管理部130が生成するヘルプリストについて、具体例を挙げて説明する。図4及び図5は、ヘルプ管理部130が生成するヘルプリストの具体例を示す表図である。
 図4及び図5に示すように、ヘルプ管理部130が生成するヘルプリストは、ケイパビリティ同様に、例えば、移動、マニピュレート及び知識等の複数のカテゴリに分かれており、それぞれのカテゴリについてより細分化された機能及び能力値が設定されている。なお、「No Request」とは、ロボット1にてタスクの実行に必要な能力が満たされており、該能力については要求しない旨を示す。
 例えば、図4に示すヘルプリストでは、移動のカテゴリの移動可能速度及び移動可能距離の機能において、タスク実行のためにロボット2に要求する能力値等が示されている。また、マニピュレートのカテゴリの持ち上げ可能な重量、持ち上げ可能な高さ、持ち上げ可能な形状、及び持ち上げ可能な大きさの機能において、タスク実行のためにロボット2に要求する能力値等が示されている。
 例えば、図5では、知識のカテゴリの地図情報において、タスク実行のためにロボット2に要求する能力値等が示されている。
 なお、図4及び図5に示すように、ヘルプ管理部130が生成するヘルプリストは、ケイパビリティ同様に、各機能を実行する時間軸に関する情報を含んでもよい。具体的には、ヘルプリストの一部の能力には、ケイパビリティ同様に、該能力を実行する際の開始可能時間及び能力持続保証期間が設定されてもよい。本実施形態では、ヘルプリストと、ロボット2のケイパビリティとを比較することで、該ロボット2と連携することによってタスクを実行することができるか否かを判断する。したがって、ヘルプ管理部130が生成するヘルプリストは、ケイパビリティと同様の情報を含むことによって、ヘルプリストとロボット2のケイパビリティとの比較をより容易に行うことができる。
 また、ヘルプ管理部130は、生成されたヘルプリストと、連携対象に選択されたロボット2のケイパビリティとを比較することで、該ロボット2のケイパビリティがヘルプリストに示された能力を満たすか否かを判断する。具体的には、まず、ヘルプ管理部130は、後述するロボット管理部140によって選択された連携対象のロボット2からロボット2のケイパビリティを取得する。次に、ヘルプ管理部130は、生成されたヘルプリストと、取得したロボット2のケイパビリティとを比較することで、ロボット2のケイパビリティがヘルプリストに示された能力を満たすか否かを判断する。
 なお、生成されたヘルプリストと、連携対象に選択されたロボット2のケイパビリティとの比較及び連携可否の判断は、連携対象となるロボット2に実行させてもよい。具体的には、ヘルプ管理部130は、ヘルプ管理部130にて生成されたヘルプリストを連携対象に選択されたロボット2に送信することで、ヘルプリストと、ロボット2のケイパビリティとの比較及び連携可否の判断をロボット2にて実行させてもよい。このような場合、ヘルプ管理部130は、連携対象に選択されたロボット2から連携可否の判断結果を受信することで、ロボット2のケイパビリティがヘルプリストに示された能力を満たすか否かについての判断結果を取得してもよい。
 さらに、ヘルプ管理部130は、ロボット1のケイパビリティが変化した場合、変化後のケイパビリティに基づいて、ヘルプリストを再生成してもよい。例えば、ロボット1の予期しない状況変化、又はロボット1に認識されないタスクなどに基づいて、能力管理部120にてロボット1のケイパビリティが更新された場合、ヘルプ管理部130は、更新されたケイパビリティに基づいて、ヘルプリストを更新してもよい。
 このような場合、ロボット1のケイパビリティの変化によっては、更新後のヘルプリストにおいて、連携対象となるロボット2に要求する能力が増加することがあり得る。そのため、ロボット1とロボット2とが連携してタスクを実行している場合、ヘルプ管理部130は、更新後のヘルプリストに基づいて、ロボット1とロボット2との連携によるタスク実行を継続するか否かを判断してもよい。
 具体的には、ヘルプ管理部130は、連携中のロボット2のケイパビリティが更新後のヘルプリストに示された能力を満たすか否かを再度判断してもよい。連携中のロボット2のケイパビリティが更新後のヘルプリストに示された能力を満たしている場合、ヘルプ管理部130は、ロボット1とロボット2との連携の継続を判断する。一方、連携中のロボット2のケイパビリティが更新後のヘルプリストに示された能力を満たしていない場合、ヘルプ管理部130は、ロボット1とロボット2との連携を解除することを判断する。ロボット1とロボット2との連携が解除された場合、制御装置100は、再度、更新後のヘルプリストに基づいて、他のロボットとの連携によるタスク実行を試みる。
 ロボット管理部140は、ロボット1の連携対象となるロボット2を検出し、該ロボット2の管理を行う。具体的には、ロボット管理部140は、ロボット1と通信又はネットワークにて接続された少なくとも1以上のロボットの中からロボット1と連携するロボット2を選択してもよい。例えば、ロボット管理部140は、通信部160による無線通信(例えば、Bluetooth(登録商標)など)が可能な範囲内に存在する少なくとも1以上のロボットの中から、ロボット1と連携するロボット2を選択してもよい。または、ロボット管理部140は、通信部160を介して制御装置100が接続するネットワークに接続された少なくとも1以上のロボットの中から、ロボット1と連携するロボット2を選択してもよい。
 または、ロボット1に撮像装置が搭載されている場合、ロボット管理部140は、撮像装置にて撮像された画像内に存在する少なくとも1以上のロボットの中から、ロボット1と連携するロボット2を選択してもよい。換言すると、ロボット管理部140は、ロボット1の視野内に存在する少なくとも1以上のロボットの中から、ロボット1と連携するロボット2を選択してもよい。具体的には、ロボット管理部140は、ロボット1に搭載された撮像装置にてロボット1の周囲環境を撮像し、該撮像画像に写ったロボットを画像認識にて特定することで、該撮像画像に写ったロボットをロボット1と連携するロボット2として選択してもよい。
 さらには、ロボット管理部140が地図情報と、該地図情報における各ロボットの位置情報とを取得することができる場合、ロボット管理部140は、タスク実行の際の移動範囲内に存在する少なくとも1以上のロボットの中から、ロボット1と連携するロボット2を選択してもよい。
 ただし、ロボット1と連携してタスクを実行するロボット2は、処理の同期等のために、ロボット1又は制御装置100との間で情報の送受信を行う必要がある。したがって、ロボット1と通信又はネットワークにて接続された少なくとも1以上のロボットの中から、ロボット1と連携するロボット2が選択される場合、通信経路がすでに確立されているため、ロボット管理部140はロボット1及びロボット2の間の通信経路を確立する過程を省略することができる。
 ここで、ロボット管理部140は、ロボット1の連携対象となるロボットが複数存在する場合、各ロボットとロボット1とのケイパビリティの類似度に基づいて、ロボット1と連携するロボット2を選択してもよい。具体的には、ロボット管理部140は、ロボット1と連携するロボット2として、ロボット1とのケイパビリティの類似度がより高いロボットを選択してもよい。
 各ロボットとロボット1とのケイパビリティの類似度とは、具体的には、ケイパビリティの各機能における能力値、開始時間及び能力持続保証期間等の類似度である。例えば、図3に示すケイパビリティの具体例では、能力値、開始時間及び能力持続保証期間の各列に示される数値が連携対象のロボットとロボット1との間で近いほど、連携対象のロボットとロボット1とのケイパビリティの類似度が高いということができる。ロボット間でケイパビリティの類似度が高いほど、タスクを実行する際に、連携するロボット間の動作の同期性及び協調性が高くなるため、ロボット同士の連携によるタスクの実行をより円滑に行うことができる。
 また、ロボット管理部140は、ロボット1の連携対象となるロボットが複数存在する場合、各ロボットとロボット1とのケイパビリティの補完度に基づいて、ロボット1と連携するロボット2を選択してもよい。具体的には、ロボット管理部140は、ロボット1と連携するロボット2として、ロボット1とのケイパビリティの補完度がより高いロボットを選択してもよい。
 各ロボットとロボット1とのケイパビリティの補完度とは、具体的には、ケイパビリティの機能の各々の有無が重なり合っていない度合である。例えば、図3に示すケイパビリティの具体例では、移動、マニュピュレート及び知識のカテゴリの各機能において、ロボット1が所有していない機能を連携対象のロボットが所有しているほど、連携対象のロボットとロボット1とのケイパビリティの補完度が高いということができる。ロボット間でケイパビリティの補完度が高いほど、タスクを実行する際に予期しない事態が発生した場合でも、連携するロボットのいずれかが所有する機能にて対処できる可能性が高くなる。したがって、ロボット同士の連携によるタスク実行をより円滑に行うことができる。
 また、ロボット管理部140は、ロボット1の連携対象となるロボットが複数存在する場合、各ロボットの評価値に基づいて、ロボット1と連携するロボット2を選択してもよい。具体的には、ロボット管理部140は、ロボット1と連携するロボットとして、評価値がより高いロボットを選択してもよい。
 ロボットの評価値とは、具体的には、ロボット1と該ロボットとの連携によるタスク実行が成功した度合である。ロボット1と他のロボット2との連携によるタスク実行は、ロボット1とロボット2との間の通信の途絶、又はロボット2のユーザによる中断処理などによって、未完了となってしまうことがある。そのため、ロボット管理部140は、各ロボットについて、過去にロボット1との連携にて実行したタスクの完了又は未完了の結果に基づいて評価値を設定してもよい。
 例えば、ロボット管理部140は、ロボット1とロボット2との連携によるタスク実行が完了した場合、ロボット2の評価値を増加させる処理を行ってもよい。また、ロボット管理部140は、ロボット1とロボット2との連携によるタスク実行がユーザからの中断処理によって未完了となった場合、ロボット2の評価値を減少させる処理を行ってもよい。
 この構成によれば、ロボット管理部140は、ロボット1との連携によるタスク実行の成功率が高いロボットを、ロボット1と連携するロボットとして優先的に選択することが可能である。なお、ロボット2の評価値は、他の指標で代用することも可能である。例えば、ロボット2の評価値は、ロボット2の所有者であるユーザに依存する可能性がある。そのため、ロボット2の評価値として、ロボット2の所有者であるユーザのSNS(Social Networking Service)などの評判又は評価等などを代用してもよい。
 さらに、ロボット管理部140は、ロボット1の連携対象となるロボットが複数存在する場合、上述した各ロボットとロボット1とのケイパビリティの類似度及び補完度、並びに各ロボットの評価値等の複数の観点に基づいて、ロボット1と連携するロボット2を選択してもよい。具体的には、ロボット管理部140は、ロボット1とのケイパビリティの類似度及び補完度、並びに評価値の複数の観点にそれぞれ重み付けした計算式から算出される指標がより高いロボットを、ロボット1と連携するロボット2として選択してもよい。このような場合、ロボット管理部140は、複数の観点から連携対象として適切と判断されるロボットを、ロボット1と連携するロボット2として選択することができる。
 ここで、図6を参照して、ロボット管理部140によって管理されるロボットの類似度、補完度及び評価値について、具体例を挙げて説明する。図6は、ロボット管理部140によって管理されるロボットの類似度、補完度及び評価値の具体例を示す表図である。
 図6に示すように、ロボット管理部140によって管理されるロボットの類似度、補完度及び評価値は、例えば、0~100の数値にて管理されてもよい。ロボット管理部140は、各ロボットについて、これらの類似度、補完度及び評価値を算出し、それぞれ管理してもよい。例えば、ロボット管理部140は、ロボット2から該ロボット2のケイパビリティを受信した際にロボット1とロボット2とのケイパビリティの類似度及び補完度を算出し、ロボット2の類似度及び補完度を管理してもよい。また、ロボット管理部140は、ロボット1とロボット2との連携によるタスク実行が完了するごとに評価値を増加させ、ロボット1とロボット2との連携によるタスク実行が未完了となるごとに評価値を減少させることで、ロボット2の評価値を管理してもよい。
 なお、ロボット管理部140は、上述した要素以外の要素をさらに用いて、タスク実行のための連携対象となるロボットを選択してもよい。具体的には、ロボット管理部140は、連携対象となるロボットが複数存在する場合、連携開始までの時間が最も短くなるロボットを連携対象のロボットとして選択してもよい。または、ロボット管理部140は、タスク実行のためにロボット1と連携するロボットの数が2以上となる場合(すなわち、3台以上のロボットにて連携してタスクを実行する場合)、連携するロボットの数が最も少なくなるように、連携対象のロボットを選択してもよい。
 通信部160は、ロボット1と他のロボットとの間での情報の送受信を行う通信装置又は外部接続インタフェースである。
 具体的には、通信部160は、無線通信を行うアンテナ及び通信回路であってもよい。例えば、通信部160は、Wi-Fi(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)、ANT(登録商標)、ANT+(登録商標)、EnOcean Alliance(登録商標)等の数百MHz~数GHzの帯域の波長信号による通信、または3GもしくはLTE(Long Term Evolution)などの移動体通信を行うアンテナ及び通信回路であってもよい。
 または、通信部160は、有線又は無線にて外部のネットワーク又は機器(ロボットを含む)に接続する外部接続インタフェースであってもよい。例えば、通信部160は、USB(Universal Serial Bus)インタフェース、イーサネット(登録商標)インタフェース又はIEEE802.11規格インタフェース等の有線又は無線の外部接続インタフェースであってもよい。
 連携管理部150は、タスク実行に際して、ロボット1と、連携対象となるロボット2との連携全般を管理及び制御する。具体的には、連携管理部150は、ロボット1と連携してタスクを実行するように、ヘルプリストに示された能力を満たすケイパビリティを有すると判断されたロボット2に対して指示を出力する。例えば、連携管理部150は、ロボット1、2に対して、それぞれどのような構成で連携を行うかを判断し、判断した構成の指示をロボット1、2にそれぞれ出力する。さらに、連携管理部150は、連携によるタスク実行に際して、ロボット1と連携対象となるロボット2との間での同期処理、異常対応時の処理、及び中断発生時の割り込み処理についても制御してもよい。
 なお、連携するロボットが3以上である場合も同様に、連携管理部150は、それぞれのロボットに対して、それぞれどのような構成で連携を行うかを判断し、判断した構成の指示を各ロボットにそれぞれ出力することが可能である。
 メカ制御部170は、ロボット1の各機構の動作全般を制御する。具体的には、メカ制御部170は、ロボット1が備える腕部(例えば、マニピュレータ)、及び脚部(例えば、脚部又は車輪を駆動させるモータ)の駆動を制御することで、ロボット1の各部の動作を制御する。メカ制御部170は、ロボット1単体でタスクを実行する場合、タスク管理部110から指示されたタスクを実行する。また、メカ制御部170は、複数のロボットで連携してタスクを実行する場合、連携管理部150から指示された動作又は機能を実行する。
 通知部180は、ユーザ等に対して通知を行うための表示部又は音声出力部である。通知部180は、例えば、他のロボットとの連携状況、又は他のロボットとの連携を行うことへの承認要求等をユーザに対して通知してもよい。通知部180は、CRT(Cathode Ray Tube)表示装置、液晶表示装置又は有機EL(Organic ElectroLuminescence)表示装置などの表示装置等であってもよく、スピーカ又はヘッドホンなどの音声出力装置であってもよい。
 以上の構成によれば、本実施形態に係る制御装置100は、タスクを実行するにはロボット1単体のケイパビリティが不足している場合でも、他のロボット2との連携を臨機応変に行うことで、ロボット1に円滑にタスクを実行させることが可能である。
 <3.制御例>
 続いて、図7~図14を参照して、本実施形態に係る制御装置100による具体的な制御例について説明する。なお、制御装置100による制御例は、第1~第8の制御例に分けて説明する。
 (3.1.第1の制御例)
 まず、図7を参照して、本実施形態に係る制御装置100による第1の制御例について説明する。図7は、制御装置100による第1の制御例を説明するシーケンス図である。
 図7に示すように、まず、第1のロボット1に対して、割り振られるタスクが決定される(S101)。次に、タスク管理部110によって、割り振られたタスクを実行する際に必要となる機能及び能力が抽出される(S103)。また、能力管理部120によって、現時点における第1のロボット1のケイパビリティを示すケイパビリティリストが生成される(S105)。
 続いて、ヘルプ管理部130によって、タスク実行のために必要となる機能及び能力と、第1のロボット1のケイパビリティとが比較されることで、第1のロボット1単体にてタスクを実行可能か否かが判断される(S107)。第1のロボット1単体にてタスクを実行可能である場合は、第1のロボット1単体にてタスクが実行される。一方、第1のロボット1単体ではタスクを実行できない場合、ヘルプ管理部130によって、タスク実行のために必要となる能力を示したヘルプリストが生成される(S109)。
 次に、ロボット管理部140によって、通信又はネットワーク等を介して、第1のロボット1と連携可能な第2のロボット2が検出され(S111)、該第2のロボット2にヘルプリストが送信される(S113)。ヘルプリストを受信した第2のロボット2では、現時点における第2のロボット2のケイパビリティを示すケイパビリティリストが生成される(S115)。その後、第2のロボット2では、第2のロボット2のケイパビリティと、受信したヘルプリストとが比較されることで、ヘルプ可能か否かが判断される(S117)。
 第2のロボット2にてヘルプ可能と判断された場合、第2のロボット2から第1のロボット1に対して、ヘルプ可能の回答が送信される(S119)。ヘルプ可能の回答を受信した第1のロボット1では、連携管理部150によって、第2のロボット2に連携指示が出され(S121)、第1のロボット1及び第2のロボット2の連携によるタスク実行が行われる(S123)。
 (3.2.第2の制御例)
 次に、図8を参照して、本実施形態に係る制御装置100による第2の制御例について説明する。図8は、制御装置100による第2の制御例を説明するシーケンス図である。第2の制御例は、第1の制御例に対して、評価値等を参照することで、検出された複数のロボットの中から連携対象のロボットを選択する点が異なる制御例である。
 図8に示すように、まず、第1のロボット1に対して、割り振られるタスクが決定される(S201)。次に、タスク管理部110によって、割り振られたタスクを実行する際に必要となる機能及び能力が抽出される(S203)。また、能力管理部120によって、現時点における第1のロボット1のケイパビリティを示すケイパビリティリストが生成される(S205)。
 続いて、ヘルプ管理部130によって、タスク実行のために必要となる機能及び能力と、第1のロボット1のケイパビリティとが比較されることで、第1のロボット1単体にてタスクを実行可能か否かが判断される(S207)。第1のロボット1単体にてタスクを実行可能である場合は、第1のロボット1単体にてタスクが実行される。一方、第1のロボット1単体ではタスクを実行できない場合、ヘルプ管理部130によって、タスク実行のために必要となる能力を示したヘルプリストが生成される(S209)。
 次に、ロボット管理部140によって、通信又はネットワーク等を介して、第1のロボット1と連携可能なロボット(第2のロボット2及び第3のロボット3)が検出される(S211)。続いて、ロボット管理部140によって、第1のロボット1と、第2のロボット2及び第3のロボット3とのケイパビリティの類似度若しくは補完度、又は第2のロボット2及び第3のロボット3の各々の評価値等が参照されることで、ヘルプリストを送信するロボットが決定される(S212)。その後、決定されたロボット(第2のロボット2)にヘルプリストが送信される(S213)。ヘルプリストを受信した第2のロボット2では、現時点における第2のロボット2のケイパビリティを示すケイパビリティリストが生成される(S215)。その後、第2のロボット2では、第2のロボット2のケイパビリティと、受信したヘルプリストとが比較されることで、ヘルプ可能か否かが判断される(S217)。
 第2のロボット2にてヘルプ可能と判断された場合、第2のロボット2から第1のロボット1に対して、ヘルプ可能の回答が送信される(S219)。ヘルプ可能の回答を受信した第1のロボット1では、連携管理部150によって、第2のロボット2に連携指示が出され(S221)、第1のロボット1及び第2のロボット2の連携によるタスク実行が行われる(S223)。
 (3.3.第3の制御例)
 続いて、図9を参照して、本実施形態に係る制御装置100による第3の制御例について説明する。図9は、制御装置100による第3の制御例を説明するシーケンス図である。第3の制御例は、第2の制御例に対して、第1のロボット1からヘルプ要請を受信した第2のロボット2にてさらにヘルプリストが生成され、第2のロボット2から第3のロボット3にヘルプ要請が送信される点が追加された制御例である。
 なお、第3の制御例は、第2の制御例とS201~S213までの流れは共通である。そのため、図9に示す第3の制御例では、図8に示す第2の制御例のS213以降のシーケンスのみについて示す。
 図9に示すように、第2のロボット2に第1のロボット1からヘルプリストが送信された(S213)場合、ヘルプリストを受信した第2のロボット2では、現時点における第2のロボット2のケイパビリティを示すケイパビリティリストが生成される(S215)。その後、第2のロボット2では、第2のロボット2のケイパビリティと、受信したヘルプリストとが比較されることで、ヘルプ可能か否かが判断される(S217)。
 ここで、第2のロボット2のケイパビリティでは、ヘルプリストに示される能力を満たすことができない場合、第2のロボット2によって、さらにヘルプリストが生成される(S239)。なお、第2のロボット2にて生成されるヘルプリストは、第1のロボット1にて生成されたヘルプリストから、第2のロボット2のケイパビリティに相当する能力が減算されたものに対応する。
 次に、第2のロボット2によって、通信又はネットワーク等を介して、第1のロボット1及び第2のロボット2と連携可能なロボット(第3のロボット3)が検出される(S241)。続いて、第2のロボット2によって、第2のロボット2と、第3のロボット3とのケイパビリティの類似度若しくは補完度、又は第3のロボット3の評価値等が参照されることで、第3のロボット3にヘルプリストを送信することが決定される(S242)。その後、第3のロボット3にヘルプリストが送信される(S243)。ヘルプリストを受信した第3のロボット3では、現時点における第3のロボット3のケイパビリティを示すケイパビリティリストが生成される(S245)。その後、第3のロボット3では、第3のロボット3のケイパビリティと、受信したヘルプリストとが比較されることで、ヘルプ可能か否かが判断される(S247)。
 第3のロボット3にてヘルプ可能と判断された場合、第3のロボット3から第2のロボット2に対して、ヘルプ可能の回答が送信され(S249)、第2のロボット2から第1のロボット1に対して、ヘルプ可能の回答が送信される(S259)。ヘルプ可能の回答を受信した第1のロボット1では、連携管理部150によって、第2のロボット2に連携指示が出される(S261)。また、第2のロボット2では、第3のロボット3に連携指示が出される(S262)。これにより、第1のロボット1、第2のロボット2、及び第3のロボット3の連携によるタスク実行が行われる(S263)。
 (3.4.第4の制御例)
 続いて、図10を参照して、本実施形態に係る制御装置100による第4の制御例について説明する。図10は、制御装置100による第4の制御例を説明するシーケンス図である。第4の制御例は、第2の制御例に対して、第1のロボット1にて各ロボットから受信したケイパビリティリストと、ヘルプリストとを比較し、ヘルプ可能か否かの判断を行う点が異なる制御例である。
 図10に示すように、まず、第1のロボット1に対して、割り振られるタスクが決定される(S301)。次に、タスク管理部110によって、割り振られたタスクを実行する際に必要となる機能及び能力が抽出される(S303)。また、能力管理部120によって、現時点における第1のロボット1のケイパビリティを示すケイパビリティリストが生成される(S305)。
 続いて、ヘルプ管理部130によって、タスク実行のために必要となる機能及び能力と、第1のロボット1のケイパビリティとが比較されることで、第1のロボット1単体にてタスクを実行可能か否かが判断される(S307)。第1のロボット1単体にてタスクを実行可能である場合は、第1のロボット1単体にてタスクが実行される。一方、第1のロボット1単体ではタスクを実行できない場合、ヘルプ管理部130によって、タスク実行のために必要となる能力を示したヘルプリストが生成される(S309)。
 次に、ロボット管理部140によって、通信又はネットワーク等を介して、第1のロボット1と連携可能なロボット(第2のロボット2及び第3のロボット3)が検出される(S311)。ここで、ヘルプ管理部130によって、第2のロボット2及び第3のロボット3に対して、現時点でのケイパビリティリストを送信するように要求が行われる(S313)。第2のロボット2及び第3のロボット3では、現時点における各々のケイパビリティを示すケイパビリティリストが生成され(S315)、生成されたケイパビリティリストの各々が第1のロボット1に送信される(S316)。
 続いて、第1のロボット1では、ヘルプ管理部130によって、第2のロボット2及び第3のロボット3の各々のケイパビリティと、生成されたヘルプリストとが比較されることで、第2のロボット2及び第3のロボット3の各々にてヘルプ可能か否かが判断される(S317)。さらに、ロボット管理部140によって、第1のロボット1と、第2のロボット2及び第3のロボット3とのケイパビリティの類似度若しくは補完度、又は第2のロボット2及び第3のロボット3の各々の評価値等が参照される。これにより、ヘルプ可能なロボットの中からヘルプ要求を送信するロボットが決定される(S312)。
 その後、決定されたロボット(第2のロボット2)にヘルプ要求が送信される(S318)。ヘルプ要求を受信した第2のロボット2では、第1のロボット1に対して、ヘルプ可能の回答が送信される(S319)。第2のロボット2からヘルプ可能の回答を受信した第1のロボット1では、連携管理部150によって、第2のロボット2に連携指示が出され(S321)、第1のロボット1及び第2のロボット2の連携によるタスク実行が行われる(S323)。
 (3.5.第5の制御例)
 次に、図11を参照して、本実施形態に係る制御装置100による第5の制御例について説明する。図11は、制御装置100による第5の制御例を説明するシーケンス図である。第5の制御例は、第4の制御例に対して、検出されたロボットの数、及び連携対象のロボットの数が異なる制御例である。
 図11に示すように、まず、第1のロボット1に対して、割り振られるタスクが決定される(S401)。次に、タスク管理部110によって、割り振られたタスクを実行する際に必要となる機能及び能力が抽出される(S403)。また、能力管理部120によって、現時点における第1のロボット1のケイパビリティを示すケイパビリティリストが生成される(S405)。
 続いて、ヘルプ管理部130によって、タスク実行のために必要となる機能及び能力と、第1のロボット1のケイパビリティとが比較されることで、第1のロボット1単体にてタスクを実行可能か否かが判断される(S407)。第1のロボット1単体にてタスクを実行可能である場合は、第1のロボット1単体にてタスクが実行される。一方、第1のロボット1単体ではタスクを実行できない場合、ヘルプ管理部130によって、タスク実行のために必要となる能力を示したヘルプリストが生成される(S409)。
 次に、ロボット管理部140によって、通信又はネットワーク等を介して、第1のロボット1と連携可能なロボット(第2のロボット2、第3のロボット3及び第4のロボット4)が検出される(S411)。ここで、ヘルプ管理部130によって、第2のロボット2、第3のロボット3及び第4のロボット4に対して、現時点でのケイパビリティリストを送信するように要求が行われる(S413)。第2のロボット2、第3のロボット3及び第4のロボット4では、現時点における各々のケイパビリティを示すケイパビリティリストが生成され(S415)、生成されたケイパビリティリストの各々が第1のロボット1に送信される(S416)。
 続いて、第1のロボット1では、ヘルプ管理部130によって、第2のロボット2、第3のロボット3及び第4のロボット4の各々のケイパビリティと、生成されたヘルプリストとが比較されることで、第2のロボット2、第3のロボット3及び第4のロボット4の各々にてヘルプ可能か否かが判断される(S417)。さらに、ロボット管理部140によって、第1のロボット1と、第2のロボット2、第3のロボット3及び第4のロボット4とのケイパビリティの類似度若しくは補完度、又は第2のロボット2、第3のロボット3及び第4のロボットの各々の評価値等が参照される。これにより、ヘルプ可能なロボットの中からヘルプ要求を送信するロボットが決定される(S412)。
 その後、決定されたロボット(第3のロボット3及び第4のロボット4)にヘルプ要求が送信される(S418)。ヘルプ要求を受信した第3のロボット3及び第4のロボット4では、第1のロボット1に対して、ヘルプ可能の回答が送信される(S419)。第3のロボット3及び第4のロボット4からヘルプ可能の回答を受信した第1のロボット1では、連携管理部150によって、第3のロボット3及び第4のロボット4の各々に連携指示が出され(S421)、第1のロボット1、第3のロボット3及び第4のロボット4の連携によるタスク実行が行われる(S423)。
 (3.6.第6の制御例)
 続いて、図12を参照して、本実施形態に係る制御装置100による第6の制御例について説明する。図12は、制御装置100による第6の制御例を説明するシーケンス図である。第6の制御例は、連携によるタスク実行が完了した場合の制御例である。
 図12に示すように、まず、第1のロボット1と第2のロボット2との連携によってタスクが実行されている(S123)。ここで、連携管理部150によって、タスクの完了が判断される(S125)。連携管理部150によってタスク完了が判断された場合、連携管理部150によって第2のロボット2に対して連携完了の通知が送信される(S127)。連携完了の通知を受信した第2のロボット2では、タスクの完了に伴って、該タスクによって使用されていた能力が解放されるため、ケイパビリティリストの更新が行われる(S129)。
 一方、第1のロボット1では、タスク完了後、ロボット管理部140によって、第2のロボット2の評価値の更新が行われる(S131)。具体的には、第1のロボット1と第2のロボット2との連携によるタスク実行が無事完了した場合、第2のロボット2の評価値は、所定の値だけ増加した値に更新される。また、タスクの完了に伴って、該タスクによって使用されていた能力が解放されるため、第1のロボット1でもケイパビリティリストの更新が行われる(S129)。
 (3.7.第7の制御例)
 次に、図13を参照して、本実施形態に係る制御装置100による第7の制御例について説明する。図13は、制御装置100による第7の制御例を説明するシーケンス図である。第7の制御例は、連携によるタスク実行がユーザによる中断処理によって未完了となった場合の制御例である。
 図13に示すように、まず、第1のロボット1と第2のロボット2との連携によってタスクが実行されている(S123)。ここで、ユーザから第2のロボット2に対して、連携によるタスク実行の中断(キャンセル)要求がされた場合(S141)、第2のロボット2では、連携によるタスク実行中である旨をユーザに通知する(S143)。該通知を確認した上で、ユーザからタスク実行の中断要求がされた場合、第2のロボット2は、連携によるタスク実行の中断を確定させ(S145)、連携によるタスク実行を中断する旨の要求を第1のロボット1に送信する(S147)。
 その後、第2のロボット2では、タスク実行を中断する処理を行う(S151)。これにより、第2のロボット2では、タスクの中断に伴って、該タスクによって使用されていた能力が解放されるため、ケイパビリティリストの更新が行われる(S129)。一方、第1のロボット1では、タスク実行を中断する処理を行った(S149)後、ロボット管理部140によって、第2のロボット2の評価値の更新が行われる(S131)。具体的には、第1のロボット1と第2のロボット2との連携によるタスク実行が中断されたため、第2のロボット2の評価値は、所定の値だけ減少した値に更新される。また、タスクの中断に伴って、該タスクによって使用されていた能力が解放されるため、第1のロボット1でもケイパビリティリストの更新が行われる(S129)。
 (3.8.第8の制御例)
 続いて、図14を参照して、本実施形態に係る制御装置100による第8の制御例について説明する。図14は、制御装置100による第8の制御例を説明するシーケンス図である。第8の制御例は、連携によるタスク実行中に第1のロボット1のケイパビリティが変化した場合の制御例である。
 図14に示すように、まず、第1のロボット1と第2のロボット2との連携によってタスクが実行されている(S123)。ここで、環境変化等によって、第1のロボット1の状態が変化した場合、能力管理部120によって、変化後の状態に基づいて、第1のロボット1のケイパビリティリストの更新が行われる(S171)。続いて、ヘルプ管理部130によって、タスク実行のために必要となる機能及び能力と、更新後のケイパビリティリストとが比較されることで、タスク実行のために必要となる能力を示した更新後のヘルプリストが生成される(S173)。
 その後、更新前後でヘルプリストに変更が発生したか否かが判断され(S175)、ヘルプリストに変更が発生しなかった場合、第1のロボット1と第2のロボット2との連携によるタスク実行が継続される。一方、ヘルプリストに変更が発生した場合、ヘルプ管理部130は、更新後のヘルプリストを第2のロボット2に送信し、更新後のヘルプリストに示す能力を第2のロボット2のケイパビリティが満たしているか否かの確認を行う(S177)。第2のロボット2では、更新後のヘルプリストと、第2のロボット2のケイパビリティとを比較することで、第2のロボット2にてヘルプ可能か否かが判断される(S179)。その後、第2のロボット2は、ヘルプ継続が可能か否かを判断した結果を第1のロボット1に通知する(S181)。ヘルプ継続が可能と判断された場合、第1のロボット1と第2のロボット2との連携によるタスク実行が継続される。一方、ヘルプ継続が不可能と判断された場合、第1のロボット1と第2のロボット2との連携によるタスク実行は中断される(S183)。
 以上の制御例によれば、本実施形態に係る制御装置100は、第1のロボット1と他のロボットとの連携によるタスクの実行を臨機応変に行うことが可能である。
 <4.ハードウェア構成>
 続いて、図15を参照して、本実施形態に係る制御装置100のハードウェア構成について説明する。図15は、本実施形態に係る制御装置100のハードウェア構成の一例を示したブロック図である。なお、本実施形態に係る制御装置100による情報処理は、ソフトウェアとハードウェアとの協働によって実現される。
 図15に示すように、制御装置100は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ブリッジ907と、内部バス905および906と、インタフェース908と、入力装置911と、出力装置912と、ストレージ装置913と、ドライブ914と、接続ポート915と、通信装置916と、を備える。
 CPU901は、演算処理装置又は制御装置として機能し、ROM902等に記憶された各種プログラムに従って、制御装置100の動作全般を制御する。ROM902は、CPU901が使用するプログラム、演算パラメータを記憶し、RAM903は、CPU901の実行において使用するプログラム、及びその実行において適宜変化するパラメータ等を一時記憶する。例えば、CPU901は、タスク管理部110、能力管理部120、ヘルプ管理部130、ロボット管理部140、連携管理部150及びメカ制御部170の機能を実行してもよい。
 これらCPU901、ROM902及びRAM903は、ブリッジ907、内部バス905及び906等により相互に接続されている。また、CPU901、ROM902及びRAM903は、インタフェース908を介して入力装置911、出力装置912、ストレージ装置913、ドライブ914、接続ポート915及び通信装置916とも接続されている。
 入力装置911は、タッチパネル、キーボード、マウス、ボタン、マイクロフォン、スイッチ又はレバーなどの情報が入力される入力装置を含む。また、入力装置911は、入力された情報に基づいて入力信号を生成し、CPU901に出力するための入力制御回路なども含む。
 出力装置912は、例えば、CRT表示装置、液晶表示装置又は有機EL表示装置などの表示装置を含む。さらに、出力装置912は、スピーカ又はヘッドホンなどの音声出力装置を含んでもよい。例えば、出力装置912は、通知部180の機能を実行してもよい。
 ストレージ装置913は、制御装置100のデータ格納用の記憶装置である。ストレージ装置913は、記憶媒体、記憶媒体にデータを記憶する記憶装置、記憶媒体からデータを読み出す読み出し装置、及び記憶されたデータを削除する削除装置を含んでもよい。
 ドライブ914は、記憶媒体用リードライタであり、制御装置100に内蔵又は外付けされる。例えば、ドライブ914は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記憶媒体に記憶されている情報を読み出し、RAM903に出力することができる。また、ドライブ914は、リムーバブル記憶媒体に情報を書き込むことも可能である。
 接続ポート915は、例えば、USBポート、イーサネット(登録商標)ポート、IEEE802.11規格ポート又は光オーディオ端子等のような外部接続機器を接続するための接続ポートで構成された接続インタフェースである。通信装置916は、例えば、ネットワーク920に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置916は、有線又は無線LAN対応通信装置であっても、有線によるケーブル通信を行うケーブル通信装置であってもよい。接続ポート915及び通信装置916は、通信部160の機能を実行してもよい。
 また、制御装置100に内蔵されるCPU、ROM及びRAMなどのハードウェアを上述した本実施形態に係る制御装置100の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
 <5.まとめ>
 以上にて説明したように、本実施形態に係る制御装置100によれば、タスクを実行するにはロボット1単体の能力が不足している場合でも、他のロボット2との連携を行うことで、臨機応変にタスクを実行することが可能である。
 また、本実施形態に係る制御装置100によれば、動的に変化するロボット1のケイパビリティに応じて、それぞれの時点で適切なロボット2と連携することで、円滑にタスクを実行することが可能である。
 本実施形態に係る制御装置100は、例えば、以下のようなユースケースに対して用いることが可能である。具体的には、制御装置100は、ロボット1単体では重くて持ち運べない荷物を複数のロボットにて連携して持ち運ぶ場合に適用することが可能である。また、制御装置100は、本等の物体を持ち上げるときに重心のバランスが崩れないようにするために、該物体を持ち上げる際に他のロボットにて補助してもらう場合に適用することが可能である。また、制御装置100は、掃除ロボットにて床面すべてを掃除するために、マニュピュレート能力を有する他のロボットに家具等を持ち上げてもらう場合に適用することが可能である。さらには、制御装置100は、ユーザに音声にて通知するために、スピーカ等を有しないロボットからの通知を他のロボットに音声出力してもらう場合も適用することが可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、
 前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、
 前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、
を備える、制御装置。
(2)
 前記能力管理部は、前記タスクの開始時及び終了時に前記ケイパビリティを更新する、前記(1)に記載の制御装置。
(3)
 前記能力管理部は、所定の間隔にて前記ケイパビリティを更新する、前記(1)又は(2)に記載の制御装置。
(4)
 前記第1のロボットと連携するロボットを選択するロボット管理部をさらに備える、前記(1)~(3)のいずれか一項に記載の制御装置。
(5)
 前記ロボット管理部は、前記第1のロボットと通信又はネットワークにて接続された少なくとも1以上のロボットの中から前記第1のロボットと連携するロボットを選択する、前記(4)に記載の制御装置。
(6)
 前記ロボット管理部は、前記第1のロボットと連携するロボットを、該ロボットと前記第1のロボットとの前記ケイパビリティの類似度又は補完度に基づいて選択する、前記(4)又は(5)に記載の制御装置。
(7)
 前記ロボット管理部は、前記第1のロボットと連携するロボットを、該ロボットの評価値に基づいて選択する、前記(4)~(6)のいずれか一項に記載の制御装置。
(8)
 前記ロボット管理部は、前記第1のロボットと前記第2のロボットとの連携終了後に、前記第2のロボットの前記評価値を更新する、前記(7)に記載の制御装置。
(9)
 前記ロボット管理部は、前記第1のロボットと前記第2のロボットとの連携が中断された場合、前記第2のロボットの前記評価値を減少させる、前記(8)に記載の制御装置。
(10)
 前記第1のロボットと前記第2のロボットとの連携は、ユーザからの前記第2のロボットへの介入によって中断される、前記(9)に記載の制御装置。
(11)
 前記ヘルプ管理部は、前記ロボット管理部によって選択されたロボットのケイパビリティを取得し、該ロボットのケイパビリティが前記ヘルプリストに示された能力を満たすか否かを判断する、前記(4)~(10)のいずれか一項に記載の制御装置。
(12)
 前記ヘルプ管理部は、前記ロボット管理部によって選択されたロボットに前記ヘルプリストを送信し、該ロボットから連携可否の判断結果を受信する、前記(4)~(10)のいずれか一項に記載の制御装置。
(13)
 前記ヘルプ管理部は、前記第1のロボットの前記ケイパビリティが変化した場合、変化後の前記ケイパビリティに基づいて、前記ヘルプリストを更新する、前記(1)に記載の制御装置。
(14)
 前記ヘルプ管理部は、前記第1のロボットと前記第2のロボットが連携している場合、更新後の前記ヘルプリストに基づいて、前記第1のロボットと前記第2のロボットとの連携の継続の可否を判断する、前記(13)に記載の制御装置。
(15)
 前記タスクの実行に必要な能力を判断するタスク管理部をさらに備える、前記(1)~(14)のいずれか一項に記載の制御装置。
(16)
 前記ケイパビリティは、前記能力を実行する時間軸に関する情報をさらに含む、前記(1)~(15)のいずれか一項に記載の制御装置。
(17)
 演算処理装置によって、
 所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断することと、
 前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成することと、
 前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示することと、
を含む、制御方法。
(18)
 所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、
 前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、
 前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、
を備える、制御システム。
 1、2  ロボット
 11   ヘルプリスト
 12   回答
 100  制御装置
 110  タスク管理部
 120  能力管理部
 130  ヘルプ管理部
 140  ロボット管理部
 150  連携管理部
 160  通信部
 170  メカ制御部
 180  通知部

Claims (18)

  1.  所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、
     前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、
     前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、
    を備える、制御装置。
  2.  前記能力管理部は、前記タスクの開始時及び終了時に前記ケイパビリティを更新する、請求項1に記載の制御装置。
  3.  前記能力管理部は、所定の間隔にて前記ケイパビリティを更新する、請求項1に記載の制御装置。
  4.  前記第1のロボットと連携するロボットを選択するロボット管理部をさらに備える、請求項1に記載の制御装置。
  5.  前記ロボット管理部は、前記第1のロボットと通信又はネットワークにて接続された少なくとも1以上のロボットの中から前記第1のロボットと連携するロボットを選択する、請求項4に記載の制御装置。
  6.  前記ロボット管理部は、前記第1のロボットと連携するロボットを、該ロボットと前記第1のロボットとの前記ケイパビリティの類似度又は補完度に基づいて選択する、請求項4に記載の制御装置。
  7.  前記ロボット管理部は、前記第1のロボットと連携するロボットを、該ロボットの評価値に基づいて選択する、請求項4に記載の制御装置。
  8.  前記ロボット管理部は、前記第1のロボットと前記第2のロボットとの連携終了後に、前記第2のロボットの前記評価値を更新する、請求項7に記載の制御装置。
  9.  前記ロボット管理部は、前記第1のロボットと前記第2のロボットとの連携が中断された場合、前記第2のロボットの前記評価値を減少させる、請求項8に記載の制御装置。
  10.  前記第1のロボットと前記第2のロボットとの連携は、ユーザからの前記第2のロボットへの介入によって中断される、請求項9に記載の制御装置。
  11.  前記ヘルプ管理部は、前記ロボット管理部によって選択されたロボットのケイパビリティを取得し、該ロボットのケイパビリティが前記ヘルプリストに示された能力を満たすか否かを判断する、請求項4に記載の制御装置。
  12.  前記ヘルプ管理部は、前記ロボット管理部によって選択されたロボットに前記ヘルプリストを送信し、該ロボットから連携可否の判断結果を受信する、請求項4に記載の制御装置。
  13.  前記ヘルプ管理部は、前記第1のロボットの前記ケイパビリティが変化した場合、変化後の前記ケイパビリティに基づいて、前記ヘルプリストを更新する、請求項1に記載の制御装置。
  14.  前記ヘルプ管理部は、前記第1のロボットと前記第2のロボットが連携している場合、更新後の前記ヘルプリストに基づいて、前記第1のロボットと前記第2のロボットとの連携の継続の可否を判断する、請求項13に記載の制御装置。
  15.  前記タスクの実行に必要な能力を判断するタスク管理部をさらに備える、請求項1に記載の制御装置。
  16.  前記ケイパビリティは、前記能力を実行する時間軸に関する情報をさらに含む、請求項1に記載の制御装置。
  17.  演算処理装置によって、
     所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断することと、
     前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成することと、
     前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示することと、
    を含む、制御方法。
  18.  所定のタイミングで、該タイミングにおける第1のロボットが実行可能な能力を示すケイパビリティを判断する能力管理部と、
     前記第1のロボットが実行するタスクに必要な能力と、前記第1のロボットの前記ケイパビリティとを比較し、前記タスクの実行に際して必要な能力を示すヘルプリストを生成するヘルプ管理部と、
     前記ヘルプリストに示された能力を満たす前記ケイパビリティを有する第2のロボットに、前記第1のロボットと連携して前記タスクを実行するように指示する連携管理部と、
    を備える、制御システム。
PCT/JP2018/024600 2017-09-20 2018-06-28 制御装置、制御方法及び制御システム WO2019058694A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/645,652 US11389949B2 (en) 2017-09-20 2018-06-28 Control device, control method, and control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-180085 2017-09-20
JP2017180085 2017-09-20

Publications (1)

Publication Number Publication Date
WO2019058694A1 true WO2019058694A1 (ja) 2019-03-28

Family

ID=65809636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/024600 WO2019058694A1 (ja) 2017-09-20 2018-06-28 制御装置、制御方法及び制御システム

Country Status (2)

Country Link
US (1) US11389949B2 (ja)
WO (1) WO2019058694A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107324A1 (ja) * 2020-11-20 2022-05-27 日本電気株式会社 支援制御装置、支援装置、ロボット制御システム、支援制御方法及び記憶媒体
JP7568205B2 (ja) 2022-11-16 2024-10-16 いくつものかたち株式会社 タスク実行システム、自律移動端末及びサーバ
EP4321312A4 (en) * 2021-08-25 2024-10-16 Samsung Electronics Co Ltd ROBOTS AND CONTROL METHODS THEREFOR

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9821455B1 (en) * 2015-08-08 2017-11-21 X Development Llc Replacing a first robot with a second robot during performance of a task by the first robot
US11409306B2 (en) * 2018-08-14 2022-08-09 Chiba Institute Of Technology Movement robot
US11500393B2 (en) * 2019-01-03 2022-11-15 Lg Electronics Inc. Control method of robot system
US11474518B2 (en) * 2019-05-13 2022-10-18 International Business Machines Corporation Event validation using multiple sources
US11413747B2 (en) * 2019-08-12 2022-08-16 Workshops for Warriors Machine learning driven computer numerical control of a robotic machine tool
US11669071B2 (en) 2020-01-08 2023-06-06 International Business Machines Corporation Organizing a temporary device group for collaborative computing
WO2021171357A1 (ja) * 2020-02-25 2021-09-02 日本電気株式会社 制御装置、制御方法及び記録媒体
JP7364032B2 (ja) * 2020-02-25 2023-10-18 日本電気株式会社 制御装置、制御方法及びプログラム
DE102021201918A1 (de) * 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern ein oder mehrerer Roboter
US20210107153A1 (en) * 2020-12-22 2021-04-15 Intel Corporation Automated machine collaboration
US20230173657A1 (en) * 2021-12-06 2023-06-08 Google Llc Selective interaction of robotic device with additional computing device(s)
CN114924513B (zh) * 2022-06-07 2023-06-06 中迪机器人(盐城)有限公司 一种多机器人协同控制系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003291083A (ja) * 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム
JP2005262378A (ja) * 2004-03-18 2005-09-29 Oki Electric Ind Co Ltd 自律ロボットおよびその制御方法
JP2006239849A (ja) * 2005-03-07 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> ロボット制御システム
JP2006263836A (ja) * 2005-03-22 2006-10-05 Nippon Telegr & Teleph Corp <Ntt> ロボット制御システム
JP2007245317A (ja) * 2006-03-17 2007-09-27 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及びプログラム並びにロボット制御方法
JP2008003807A (ja) * 2006-06-21 2008-01-10 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及び方法並びにプログラム
JP2009018409A (ja) * 2007-07-13 2009-01-29 Ind Technol Res Inst 協調ロボットを協調させる方法
JP2009136932A (ja) * 2007-12-04 2009-06-25 Honda Motor Co Ltd ロボット、タスク実行システム
WO2017121456A1 (en) * 2016-01-11 2017-07-20 Abb Schweiz Ag A robot system and a method for operating the robot system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078456A (ja) 2003-09-01 2005-03-24 Sony Corp コンテンツ提供システム
US8156500B2 (en) * 2005-07-01 2012-04-10 Microsoft Corporation Real-time self tuning of planned actions in a distributed environment
US10802876B2 (en) * 2013-05-22 2020-10-13 Massachusetts Institute Of Technology Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents
US11772270B2 (en) * 2016-02-09 2023-10-03 Cobalt Robotics Inc. Inventory management by mobile robot

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003291083A (ja) * 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム
JP2005262378A (ja) * 2004-03-18 2005-09-29 Oki Electric Ind Co Ltd 自律ロボットおよびその制御方法
JP2006239849A (ja) * 2005-03-07 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> ロボット制御システム
JP2006263836A (ja) * 2005-03-22 2006-10-05 Nippon Telegr & Teleph Corp <Ntt> ロボット制御システム
JP2007245317A (ja) * 2006-03-17 2007-09-27 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及びプログラム並びにロボット制御方法
JP2008003807A (ja) * 2006-06-21 2008-01-10 Nippon Telegr & Teleph Corp <Ntt> ロボット制御装置及び方法並びにプログラム
JP2009018409A (ja) * 2007-07-13 2009-01-29 Ind Technol Res Inst 協調ロボットを協調させる方法
JP2009136932A (ja) * 2007-12-04 2009-06-25 Honda Motor Co Ltd ロボット、タスク実行システム
WO2017121456A1 (en) * 2016-01-11 2017-07-20 Abb Schweiz Ag A robot system and a method for operating the robot system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107324A1 (ja) * 2020-11-20 2022-05-27 日本電気株式会社 支援制御装置、支援装置、ロボット制御システム、支援制御方法及び記憶媒体
JPWO2022107324A1 (ja) * 2020-11-20 2022-05-27
JP7491400B2 (ja) 2020-11-20 2024-05-28 日本電気株式会社 支援制御装置、支援装置、ロボット制御システム、支援制御方法及びプログラム
EP4321312A4 (en) * 2021-08-25 2024-10-16 Samsung Electronics Co Ltd ROBOTS AND CONTROL METHODS THEREFOR
JP7568205B2 (ja) 2022-11-16 2024-10-16 いくつものかたち株式会社 タスク実行システム、自律移動端末及びサーバ

Also Published As

Publication number Publication date
US11389949B2 (en) 2022-07-19
US20200282549A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
WO2019058694A1 (ja) 制御装置、制御方法及び制御システム
Musić et al. Control sharing in human-robot team interaction
CN114193447B (zh) 多机器人控制方法、电子设备及存储介质
CN110515682B (zh) 信息处理装置、非暂时性计算机可读介质和信息处理方法
CN111079990B (zh) 集群机器人调度方法、装置、系统、设备及计算机可读存储介质
Peltason et al. Pamini: A framework for assembling mixed-initiative human-robot interaction from generic interaction patterns
CN102609089A (zh) 用于机器人和用户交互的多状态模型
Siew et al. Human-oriented maintenance and disassembly in sustainable manufacturing
CN110113232B (zh) 设备控制方法、装置、系统、电子设备及存储介质
EP3557417A1 (en) Information processing device and information processing method
CN105259806A (zh) 控制器升级方法和系统及主控制器和从控制器
JP6932852B2 (ja) データ通信方法及びヒューマンコンピュータインタラクションシステム
CN112416323A (zh) 控制代码的生成方法、运行方法、装置、设备及存储介质
CN107902502A (zh) 载物设备的控制方法、载物设备、计算机存储介质
KR20170058954A (ko) 로봇의 제어 데이터 세트를 생성하는 시스템
Grahn et al. Safety assessment strategy for collaborative robot installations
JP2021062426A (ja) ロボットシステム
Anima et al. Collaborative human-robot hierarchical task execution with an activation spreading architecture
Pacaux-Lemoine et al. Cooperative patterns to support human, robot and brain computer interface interactions
WO2019064730A1 (ja) 情報処理装置、情報処理方法、および、プログラム
CN114490134A (zh) 事件处理方法、系统、装置、计算机设备和存储介质
CN114310879A (zh) 一种机器人控制方法、控制柜及系统
JP2015108867A (ja) 管理装置、ワーク実行システム、管理方法及びプログラム
US11960277B2 (en) Unmanned vehicle controlling system and method, and nontransitory computer-readable medium
JP7067374B2 (ja) 充電管理装置及び充電管理システム、充電管理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18858938

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18858938

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP