WO2021044583A1 - ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 - Google Patents
ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 Download PDFInfo
- Publication number
- WO2021044583A1 WO2021044583A1 PCT/JP2019/034999 JP2019034999W WO2021044583A1 WO 2021044583 A1 WO2021044583 A1 WO 2021044583A1 JP 2019034999 W JP2019034999 W JP 2019034999W WO 2021044583 A1 WO2021044583 A1 WO 2021044583A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- error
- countermeasure
- evaluation value
- evaluation
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present invention relates to a robot action planning system, a robot system, a robot work verification system, and a robot action planning method that perform processing when an error occurs in a robot.
- Patent Document 1 In order to recover a robot system that has stopped due to an error, a technique has been proposed to identify the stopped machine and the cause of the error based on the work program and the signal output from the machine (for example). , Patent Document 1).
- Patent Document 1 a person performs recovery work after the cause of the robot error is identified.
- the robot does not autonomously perform the recovery operation, so that the operating rate of the robot system decreases when a person cannot immediately remove the cause of the error.
- the present invention has been made in view of the above, and an object of the present invention is to obtain a robot action planning system that improves the operating rate of the robot system when an error occurs in the robot.
- the present invention further includes a scheduler that, when a planner generates a plan step, generates a schedule for the robot to resume operation according to the plan step. If the countermeasure determined by the countermeasure determination unit is a measure for executing an action for scrutinizing the evaluation value or a measure for stopping the operation of the robot, the scheduler determines the response determined by the countermeasure determination unit. Generate a schedule related to the movement of the robot according to the strategy.
- the figure which shows the processor when at least a part of the functions of an error evaluation part, a countermeasure decision part, a planner and a scheduler which the robot action planning system which concerns on Embodiment 1 have, is realized by a processor
- the figure which shows the processing circuit when at least a part of the error evaluation part, the countermeasure decision part, a planner and a scheduler which the robot action planning system which concerns on Embodiment 1 have, is realized by a processing circuit
- FIG. 1 is a diagram showing a configuration of a robot system 1 according to the first embodiment.
- the robot system 1 has a first robot 2A and a second robot 2B that execute an operation.
- An example of an operation is the operation of assembling parts.
- the robot system 1 stores a first operation program 31A for operating the first robot 2A, and based on the first operation program 31A, issues a command regarding the operation of the first robot 2A to the first robot 2A. It further has a first controller 3A to output.
- the robot system 1 stores a second operation program 31B for operating the second robot 2B, and based on the second operation program 31B, issues a command regarding the operation of the second robot 2B to the second robot 2B. It further has a second controller 3B to output.
- the first robot 2A executes an operation according to a command output from the first controller 3A
- the second robot 2B executes an operation according to a command output from the second controller 3B.
- FIG. 2 is a diagram schematically showing how the first robot 2A and the second robot 2B in the first embodiment assemble parts. Furthermore, FIG. 2 is a diagram schematically showing how the first robot 2A and the second robot 2B sequentially execute the first assembly operation S1, the second assembly operation S2, and the third assembly operation S3. is there.
- Each of the first assembly operation S1, the second assembly operation S2, and the third assembly operation S3 is an operation of assembling parts, and is an example of an operation executed by the first robot 2A and the second robot 2B.
- the arrows indicate that the first assembly operation S1, the second assembly operation S2, and the third assembly operation S3 are executed in order.
- FIG. 2 also shows the first controller 3A and the second controller 3B.
- the robot system 1 is arranged inside the first robot 2A and observes the internal state of the first robot 2A, and is arranged inside the second robot 2B and the second robot 2B. It also has a second internal sensor 4B for observing the internal state of the robot.
- the first internal sensor 4A is an encoder for detecting the angle and position of the joint of the first robot 2A, or a temperature sensor for detecting the heat generation of the first robot 2A.
- the second internal sensor 4B is an encoder for detecting the angle and position of the joint of the second robot 2B, or a temperature sensor for detecting the heat generation of the second robot 2B.
- the robot system 1 further includes an outside world sensor 5 that observes the external state of each of the first robot 2A and the second robot 2B.
- the external sensor 5 observes the state of the contact point between the external object of the first robot 2A and the first robot 2A and the state of the contact point between the external object of the second robot 2B and the second robot 2B.
- the external sensor 5 is a force sensor for detecting a force applied to the tip of the robot's hand when the robot grips the work, or a state of interference between the robot and the work and a plurality of states. It is a camera for detecting the state of interference of a robot.
- the robots are the first robot 2A and the second robot 2B, respectively, the plurality of robots are the first robot 2A and the second robot 2B, and the work is an example of an object.
- the first internal world sensor 4A, the second internal world sensor 4B, and the external world sensor are used in each of the first robot 2A and the second robot 2B. It further has an error detection unit 6 that detects the error when an error occurs based on the value detected by 5. When the error detection unit 6 detects an error in the first robot 2A or the second robot 2B, the error detection unit 6 stops the operations of the first robot 2A and the second robot 2B.
- the error detection unit 6 stops the operations of the first robot 2A and the second robot 2B when the load applied to the first robot 2A or the second robot 2B exceeds a preset allowable upper limit value.
- the load on the first robot 2A or the second robot 2B exceeds the allowable upper limit value, it is an example in which an error occurs in the first robot 2A or the second robot 2B.
- the error detection unit 6 uses a known neural network to provide a neural network capable of diagnosing an abnormality based on the values detected by the first inner world sensor 4A, the second inner world sensor 4B, and the outer world sensor 5. You may have learned in advance. In that case, the error detection unit 6 uses the neural network when the first robot 2A and the second robot 2B are executing the operation, and the error detection unit 6 uses the first inner world sensor 4A, the second inner world sensor 4B, and the outer world sensor 5. Detects an error based on the value detected by. Examples of known neural networks are Recurrent Neural Networks (RNNs) or Convolutional Neural Networks (CNNs).
- RNNs Recurrent Neural Networks
- CNNs Convolutional Neural Networks
- the error detection unit 6 may be arranged inside one or both of the first robot 2A and the second robot 2B.
- the error detection unit 6 performs the following operations. That is, the error detection unit 6 arranged inside the first robot 2A corresponds to the case where an error occurs in the first robot 2A based on the values detected by the first inner world sensor 4A and the outer world sensor 5. Detect an error.
- the error detection unit 6 arranged inside the second robot 2B detects the error when an error occurs in the second robot 2B based on the values detected by the second inner world sensor 4B and the outer world sensor 5. To detect.
- the error detection unit 6 arranged inside each of the first robot 2A and the second robot 2B stops the operations of the first robot 2A and the second robot 2B.
- the robot system 1 further includes a robot action planning system 7 that determines a countermeasure for the error when an error is detected by the error detection unit 6 and the operations of the first robot 2A and the second robot 2B are stopped.
- the robot action planning system 7 generates a schedule related to each operation of the first robot 2A and the second robot 2B according to the determined countermeasures.
- the error detection unit 6 When the error detection unit 6 detects an error, the error detection unit 6 obtains the first operation information which is the information indicating the operation state of the first robot 2A and the second operation information which is the information indicating the operation state of the second robot 2B. Output to the robot action planning system 7.
- the first operation information is information based on the values detected by the first inner world sensor 4A and the outer world sensor 5.
- the second operation information is information based on the values detected by the second inner world sensor 4B and the outer world sensor 5.
- the error evaluation unit 71 Based on the information indicating the operation status, the error evaluation unit 71 generates evaluation information indicating the cause of the error, the evaluation value indicating the certainty of the factor, and the possible solution to the factor. Have.
- the error evaluation unit 71 receives the first operation information and the second operation information output from the error detection unit 6, and based on one or both of the first operation information and the second operation information, the first operation information is obtained. Generates evaluation information indicating the cause of the error that occurred in the 1st robot 2A or the 2nd robot 2B, the evaluation value indicating the certainty of the factor, and the possible solution for the factor.
- the configuration of the error evaluation unit 71 will be described again later with reference to FIG.
- the robot action planning system 7 further has a countermeasure determination unit 72 that determines a countermeasure against an error based on the evaluation value indicated by the evaluation information generated by the error evaluation unit 71. For example, the countermeasure determination unit 72 determines whether or not the evaluation value is larger than the preset threshold value, and if the evaluation value is determined to be larger than the threshold value, the countermeasure for the error is a solution indicated by the evaluation information. Decide that there is.
- the countermeasure determination unit 72 determines whether or not it is possible to execute an operation for scrutinizing the evaluation value.
- the operation for scrutinizing the evaluation value may be described as "search operation”.
- FIGS. 6 and 7 the operation for scrutinizing the evaluation value is described as "search operation”. Scrutiny includes reassessment. A specific example of the search operation will be described later.
- the countermeasure determination unit 72 determines that the countermeasure for the error is the measure for executing the search operation.
- the countermeasure determination unit 72 determines that it is impossible to execute the search operation, the countermeasure determination unit 72 determines that the countermeasure against the error is a measure to stop the operation of the robot.
- the above robots are the first robot 2A and the second robot 2B. A specific example of the search operation will be described later.
- the countermeasure determination unit 72 determines that the evaluation value indicated by the evaluation information is equal to or less than the threshold value, the countermeasure for the error is the first countermeasure without determining whether or not the search operation can be executed. It may be decided that it is a measure to stop the operation of the 1st robot 2A and the 2nd robot 2B.
- the robot action planning system 7 When the countermeasure determined by the countermeasure determination unit 72 is the solution indicated by the evaluation information generated by the error evaluation unit 71, the robot action planning system 7 has the first robot 2A and the second robot 2A and the second according to the solution. It further includes a planner 73 that generates a plan step indicating the procedure of operation of the robot 2B. The plan step generated by the planner 73 is for realizing the solution, and is for restarting the operations of the first robot 2A and the second robot 2B.
- the robot action planning system 7 further has a scheduler 74 that generates a schedule for each of the first robot 2A and the second robot 2B to resume the operation according to the plan step when the plan step is generated by the planner 73.
- the scheduler 74 When a plan step is generated by the planner 73, the scheduler 74 generates a schedule in which all plan steps satisfy a predetermined order constraint.
- the scheduler 74 causes the scheduler 74.
- the schedule related to the operation of the first robot 2A and the second robot 2B is generated according to the countermeasure determined by the countermeasure determination unit 72.
- the scheduler 74 when the countermeasure determination unit 72 determines that the countermeasure against the error is a countermeasure for executing the search operation, the scheduler 74 generates a schedule for executing the search operation. When the countermeasure determination unit 72 determines that the countermeasure against the error is a measure to stop the operation of the first robot 2A and the second robot 2B, the scheduler 74 performs the operation of the first robot 2A and the second robot 2B. Generate a schedule to stop.
- FIG. 3 is a diagram showing a configuration of an error evaluation unit 71 included in the robot action planning system 7 according to the first embodiment. Further, FIG. 3 is a diagram showing a configuration of the error evaluation unit 71 when a semantic network is used when the error evaluation unit 71 is realized.
- a known semantic network is a network model for expressing the meaning of a language by a computer following the human knowledge structure.
- a semantic network is composed of a combination of nodes that represent concepts in a language and edges that represent the relationships between the meanings of concepts.
- the error evaluation unit 71 receives the first operation information and the second operation information output from the error detection unit 6 and sets them to the respective operation types of the first robot 2A and the second robot 2B. It has a semantic network matching unit 75 that constructs a semantic network in which a corresponding error can be described and extracts the cause of the error.
- the semantic network matching unit 75 constructs a semantic network that expresses the operating states of the first robot 2A and the second robot 2B, such as the moving motion of the first robot 2A and the second robot 2B or the gripping motion of the work. Then, extract the node that indicates the cause of the error. The semantic network matching unit 75 outputs a possible solution to the extracted factor to the countermeasure determination unit 72.
- FIG. 3 also shows a countermeasure determination unit 72.
- the error evaluation unit 71 receives the first operation information and the second operation information output from the error detection unit 6, and the first operation information and the second operation information and the semantic network matching unit 75 Further, it has an evaluation value calculation unit 76 that calculates an evaluation value indicating the certainty of the factor based on the extracted error factor.
- the first operation information and the second operation information are examples of observation information.
- the evaluation value calculation unit 76 actually sets the semantic network based on one or both of the first operation information and the second operation information for the node indicating the cause of the error extracted by the semantic network matching unit 75. Calculate the evaluation value, which is the probability of indicating the certainty of the cause of the error.
- the evaluation value calculation unit 76 outputs information indicating the calculated evaluation value to the countermeasure determination unit 72.
- the error evaluation unit 71 estimates the cause of the error having uncertainty in the observation information according to the type of robot, and selects a solution considered to be effective. Information can be provided to make decisions about this.
- FIG. 4 is a flowchart showing the operation procedure of the semantic network matching unit 75 possessed by the error evaluation unit 71 in the robot action planning system 7 according to the first embodiment.
- Semantic network matching unit 75 acquires the first operation information and the second operation information when an error is detected (S11). That is, in step S11, the semantic network matching unit 75 acquires information on the operation that each of the first robot 2A and the second robot 2B was trying to execute when the error was detected.
- the semantic network matching unit 75 acquires a semantic network frame that describes an error state corresponding to the type of operation indicated by the information acquired in step S11 (S12).
- the frame of the semantic network is a frame of a known conceptual graph (Conceptual Graph).
- the concept graph is one directed graph composed by connecting a relation node (Relation Node) that defines the relation of a plurality of cases possessed by the language system and a plurality of concept nodes (Concept Node) that represent the concept.
- FIG. 5 is a diagram showing a conceptual graph expressing an operation in which a robot moves while holding a work.
- the case representing the subject of movement is "AGNT”
- the case representing the object owned by the subject of movement is "POSS”
- the case representing the current state of the object is "ATTR”
- the case representing the object affected by the movement is "" It is defined as "EFCT”.
- a graph of "normal ⁇ (ATTR) ⁇ workpiece Y ⁇ (POSS) ⁇ robot A ⁇ (AGNT) ⁇ move ⁇ (EFCT) ⁇ workpiece Z" is constructed.
- the graph expresses one state that "when the robot A moves with the work Y held in a normal state, it interferes with the work Z".
- Semantic network matching unit 75 sets the values of specific conceptual nodes such as "robot A”, “workpiece Y”, “workpiece Z”, “move” and “normal” of the first robot 2A and the second robot 2B. It is determined based on each operation program and the first operation information and the second operation information (S13).
- the frame of the conceptual graph for each of the finite number of types of operations of the first robot 2A and the second robot 2B is preset in the semantic network matching unit 75. For example, when an error is detected in the movement operation corresponding to "move”, it means that a frame using the ranks of "AGNT”, “POSS”, “ATTR” and “EFCT” is acquired. It is preset to 75.
- Semantic network matching unit 75 indicates the cause of an error such as "the work could not be grasped correctly", “interfered with another robot", or "another work was an obstacle”. Extract the node (S14). In the example of FIG. 5, the semantic network matching unit 75 extracts “move ⁇ (EFCT) ⁇ workpie Z” as a node indicating the cause of the error that the robot A could not move according to the operation program.
- Semantic network matching unit 75 refers to a node indicating the cause of the error, and selects a solution such as "solving the error state by removing the work Z that is an obstacle" (S15). Semantic network matching unit 75 may select a solution for the cause of the error from a plurality of general-purpose and preset solutions in the work of operating the work as in the above example. Semantic network matching unit 75 may select a new, unconfigured solution of selecting a detour route that is effective in a particular task.
- ⁇ Operation of evaluation value calculation unit 76> Semantic
- the causes of the error indicated by the node extracted by the network matching unit 75 are the false detection due to the performance of each of the first inner world sensor 4A, the second inner world sensor 4B, and the outer world sensor 5, and the first robot 2A and the second Due to one or both of the ambiguities of the boundaries that determine the success or failure of the work by the robot 2B, there is a certain probability that the actual error will not be met. Since the solution selected by the semantic network matching unit 75 is effective only when the actual error is met, the evaluation value calculation unit 76 calculates an evaluation value indicating the certainty of the cause of the error.
- the evaluation value calculation unit 76 calculates the evaluation value using, for example, known Bayesian inference.
- Bayesian inference the prior distribution P (X) at which a certain event X occurs and the likelihood P (D
- D) is calculated by the following equation (1).
- D) P (D
- FIG. 6 is a first flowchart showing an operation procedure of the countermeasure determination unit 72 included in the robot action planning system 7 according to the first embodiment.
- the countermeasure determination unit 72 acquires the evaluation value indicated by the evaluation information generated by the error evaluation unit 71 (S21).
- the countermeasure determination unit 72 acquires the evaluation value calculated by the evaluation value calculation unit 76.
- the evaluation value is a value indicating the certainty of the cause of the error.
- the countermeasure determination unit 72 determines whether or not the evaluation value is larger than a predetermined threshold value (S22). For example, the countermeasure determination unit 72 has a function of receiving and storing the threshold value input by the user, and determines whether or not the evaluation value is larger than the stored threshold value. For example, the user inputs a threshold value into the robot action planning system 7 using a programming tool. The larger the threshold, the more cautious the countermeasure determination unit 72 is to adopt the solution indicated by the evaluation information generated by the error evaluation unit 71. When the countermeasure determination unit 72 uses the threshold value input by the user, the user can determine the criteria for determining whether or not the countermeasure determination unit 72 adopts the solution.
- the countermeasure determination unit 72 determines that the countermeasure for the error is the solution indicated by the evaluation information generated by the error evaluation unit 71 (S23). ). That is, in step S23, the countermeasure determination unit 72 adopts the solution indicated by the evaluation information.
- the countermeasure determination unit 72 sets a goal for recovering from the error state, and outputs the solution and the goal to the planner 73 (S24).
- the countermeasure determination unit 72 determines whether or not it is possible to execute the operation for scrutinizing the evaluation value (S25).
- the operation for scrutinizing the evaluation value is the "search operation", and the term "search operation" is used in FIG.
- the countermeasure determination unit 72 can execute the search operation when the number of times the search operation is executed during the work of one cycle of the robot system 1 is less than the predetermined number of trials.
- the countermeasure determination unit 72 determines that it is impossible to execute the search operation when the number of times the search operation is executed during the work of one cycle of the robot system 1 reaches the number of trials. To do.
- the number of trials described above is a number for determining whether or not the search operation can be executed.
- the countermeasure determination unit 72 has a function of receiving and storing the number of trials input by the user, and determines whether or not the search operation can be executed using the stored number of trials. to decide. Specifically, the countermeasure determination unit 72 determines whether or not the number of times the search operation is executed during the work of one cycle of the robot system 1 has reached the memorized number of trials. When the countermeasure determination unit 72 uses the number of trials input by the user, the user can determine a criterion for determining whether or not the countermeasure determination unit 72 adopts the measure for executing the search operation. ..
- the search operation is an operation of pressing the work against the contact surface with a constant force to confirm the gripping state, or an operation of confirming the interference state by taking a picture from a viewpoint different from the conventional viewpoint with a camera.
- the evaluation value calculation unit 76 is explained, the evaluation value indicating the certainty of the cause of the error is updated by the observed value after the search operation is executed, and the countermeasure determination unit 72 is in step S22.
- the result of the judgment when performing the operation again may change.
- the first operation information and the second operation information are examples of observed values.
- the countermeasure determination unit 72 determines that the search operation can be executed (Yes in S25)
- the countermeasure determination unit 72 determines that the countermeasure against the error is a measure to execute the search operation, and instructs to execute the search operation. Is output to the scheduler 74 (S26).
- FIG. 7 is a second flowchart showing the operation procedure of the countermeasure determination unit 72 included in the robot action planning system 7 according to the first embodiment.
- the countermeasure determination unit 72 does not have to execute the operation of step S25 for determining whether or not the search operation described with reference to the first flowchart of FIG. 6 can be executed.
- the countermeasures against the error are the first robot 2A and the second robot 2A and the second. It is determined that the measure is to stop the operation of the robot 2B, and an instruction to stop the operation of the first robot 2A and the second robot 2B is output to the scheduler 74 (S27).
- the state In planning in robots and artificial intelligence, in an environment where the state of the robot that is the main body of movement and the state of the work to be operated are defined, the state is changed from the given initial state to the achievement of the target state. It is defined as generating a series of operators as a plan.
- the actions that the first robot 2A and the second robot 2B can take correspond to the controls.
- the individual controls that make up the plan are plan steps.
- An example of a method of generating a plan until the initial target state is achieved by setting the time when the robot stops due to an error as a new initial state is a known partial order planning method. ..
- the planner 73 includes a plan step for realizing a plurality of sub-goals necessary for achieving the target state of the initial work given to the first robot 2A and the second robot 2B, and a plan step for executing the plurality of plan steps. Generates order-constraining information.
- the planner 73 when the planner 73 receives the target output from the countermeasure determination unit 72, the planner 73 sets a new initial state when the operations of the first robot 2A and the second robot 2B are stopped due to the occurrence of an error. Is set to, and a plan step indicating the operation of the first robot 2A and the second robot 2B required to achieve the initial target state is generated. In addition, the planner 73 generates a plan that includes a plan step and an order constraint when executing the plan step. The planner 73 outputs the generated plan to the scheduler 74. In this way, the planner 73 generates a plan step for recovering from the error state, thereby managing the plan until the movements of the first robot 2A and the second robot 2B reach the target state of the initial work. be able to.
- the total cost to the target node is calculated by using the sum of the cost required from the starting node to the current node and the estimated cost from the current node to the target node as a heuristic function.
- the minimum path is derived.
- the execution time of the robot operation corresponding to the plan step can be defined as a cost.
- the scheduler 74 when the scheduler 74 allocates the necessary plan steps to the first robot 2A and the second robot 2B, the scheduler 74 operates the first robot 2A and the second robot 2B while satisfying the restrictions on the order of the operations to be executed. Can generate a schedule that minimizes the time and energy costs to complete.
- the first robot 2A and the second robot 2B are examples of a plurality of robots, and the first robot 2A or the second robot 2B is a robot in which an error has occurred.
- the configuration of the error evaluation unit 71 for calculating the evaluation value required for the countermeasure determination unit 72 to make a determination is not limited to the configuration having the above-mentioned semantic network matching unit 75 and the evaluation value calculation unit 76.
- the error evaluation unit 71 may use a method of expressing dependent events in a graph structure and evaluating the relationship of variables with a conditional probability. For example, the error evaluation unit 71 may construct a known Bayesian Network or Decision Tree and evaluate the cause of the error based on the observation information.
- an error occurs in one or both of the first robot 2A and the second robot 2B, and the operations of the first robot 2A and the second robot 2B occur. If is stopped, the countermeasure against the error is decided based on the evaluation value indicating the certainty of the cause of the error.
- the robot action planning system 7 determines that the countermeasure is a solution indicated by the evaluation information indicating the evaluation value, the plan step showing the operation procedure of the first robot 2A and the second robot 2B according to the solution. Is generated, and a schedule for restarting the operation of the first robot 2A and the second robot 2B is generated according to the plan step.
- the robot action planning system 7 When the countermeasure determined based on the evaluation value is the measure for executing the action for scrutinizing the evaluation value, the robot action planning system 7 first follows the measure for executing the action for scrutinizing the evaluation value. Generate a schedule related to the operation of the robot 2A and the second robot 2B.
- the planner 73 When the countermeasure determined by the countermeasure determination unit 72 is the solution indicated by the evaluation information, the planner 73 generates a plan step indicating the operation procedure of the first robot 2A according to the solution. When the planner 73 generates a plan step, the scheduler 74 generates a schedule for the first robot 2A to resume the operation according to the plan step.
- the scheduler 74 When the countermeasure determined by the countermeasure determination unit 72 is a measure for executing an operation for examining the evaluation value or a measure for stopping the operation of the first robot 2A, the scheduler 74 is a countermeasure determination unit. A schedule related to the operation of the first robot 2A is generated according to the countermeasure determined by 72.
- the semantic network matching unit 75 constructs a semantic network capable of describing an error corresponding to the type of operation of the first robot 2A, and extracts the cause of the error.
- the evaluation value calculation unit 76 acquires the observation information that is the basis of the factor, and calculates the evaluation value based on the observation information and the factor extracted by the semantic network matching unit 75.
- the observation information is information indicating the operating state of the first robot 2A.
- the countermeasure determination unit 72 determines that it is possible to execute the action for scrutinizing the evaluation value, it determines that the countermeasure is the measure for executing the action for scrutinizing the evaluation value.
- the countermeasure determination unit 72 determines that the countermeasure is a measure to stop the operation of the first robot 2A.
- the countermeasure determination unit 72 determines that the evaluation value is larger than the threshold value, the countermeasure is the first robot 2A without determining whether or not it is possible to execute an operation for scrutinizing the evaluation value. It may be decided that it is a measure to stop the operation of.
- the error detection unit 6 may have learned in advance a neural network capable of diagnosing an abnormality based on the values detected by the first inner world sensor 4A and the outer world sensor 5. In that case, the error detection unit 6 uses a neural network when the first robot 2A is executing the operation, and the first error detection unit 6 is based on the values detected by the first inner world sensor 4A and the outer world sensor 5. Detects an error that has occurred in robot 2A.
- FIG. 8 is a diagram showing a configuration of the robot system 1A according to the second embodiment.
- the robot system 1A has a first controller 3C instead of the first controller 3A of the robot system 1 according to the first embodiment, and has a second controller 3D instead of the second controller 3B of the robot system 1.
- Each of the first controller 3C and the second controller 3D has a robot action planning system 7 included in the robot system 1 according to the first embodiment.
- the first controller 3C has a first communication unit 32A that stores the first operation program 31A and communicates with the second controller 3D.
- the second controller 3D has a second communication unit 32B that stores the second operation program 31B and communicates with the first controller 3C.
- the error detection unit 6 outputs the first operation information and the second operation information only to the controller that outputs a command to the robot that has detected the error among the first robot 2A and the second robot 2B.
- the robot system 1A according to the second embodiment can change the first operation program 31A and the second operation program 31B in synchronization with each other.
- the robot work verification system 8 has a reception unit 10 that receives virtual operation information from the user.
- the robot simulator 9 receives the virtual operation information received by the reception unit 10 in the robot action planning system 7. Output to.
- the robot action planning system 7 generates a schedule based on virtual motion information.
- the robot simulator 9 verifies the schedule generated by the robot action planning system 7. That is, the robot work verification system 8 can verify the schedule based on the virtual operation information input by the user.
- the robot work verification system 8 has a display unit 11 that displays the results obtained by the robot simulator 9 performing the verification. The user can recognize the result of the verification performed by the robot simulator 9 by visually recognizing the result displayed by the display unit 11.
- An example of the display unit 11 is a liquid crystal display device.
- the planner 73 in the first embodiment generates a plan step for achieving the target state by combining the planner 73 with a predefined operator.
- the planner 73A in the fourth embodiment newly acquires the operators necessary for achieving the specific planning goal output from the countermeasure determination unit 72 by performing machine learning via the robot simulator 12. ..
- the planner 73A acquires necessary controls by using known reinforcement learning.
- the planner 73A acquires how to move each joint of the robot that achieves the state in which the work Z is removed with respect to the goal of "removing the work Z that is an obstacle", and subsequently receives the same goal. If so, the acquired controls are used. As described above, when the planner 73A learns through the robot simulator 12 and receives the target output from the countermeasure determination unit 72, the planner 73A acquires an operation for achieving the target. The planner 73A can use the already acquired controls when the same error occurs.
- FIG. 11 shows the processor 91 in the case where at least a part of the functions of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 included in the robot action planning system 7 according to the first embodiment are realized by the processor 91. It is a figure which shows. That is, at least a part of the functions of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 may be realized by the processor 91 that executes the program stored in the memory 92.
- the processor 91 is a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, or a DSP (Digital Signal Processor).
- the memory 92 is also shown in FIG.
- the processor 91 When at least a part of the functions of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 are realized by the processor 91, the at least a part of the functions is realized by the processor 91 and software, firmware, or software. And realized by combination with firmware.
- the software or firmware is described as a program and stored in the memory 92.
- the processor 91 realizes at least a part of the functions of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 by reading and executing the program stored in the memory 92.
- the robot action planning system 7 has the error evaluation unit 71, the countermeasure determination unit 72, and the planner. It has a memory 92 for storing a program in which at least a part of the steps executed by the 73 and the scheduler 74 will be executed as a result. It can be said that the program stored in the memory 92 causes the computer to execute at least a part of the procedures or methods executed by the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74.
- the memory 92 is, for example, non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory).
- non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory).
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory EPROM (Erasable Programmable Read Only Memory)
- EPROM registered trademark
- Electrically Erasable Programmable Read-Only Memory Alternatively, it may be a volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like.
- FIG. 12 shows a processing circuit 93 when at least a part of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 included in the robot action planning system 7 according to the first embodiment is realized by the processing circuit 93. It is a figure which shows. That is, at least a part of the error evaluation unit 71, the countermeasure determination unit 72, the planner 73, and the scheduler 74 may be realized by the processing circuit 93.
- the processing circuit 93 is dedicated hardware.
- the processing circuit 93 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. Is.
- At least a part of the first controller 3A, the second controller 3B, the first inner world sensor 4A, the second inner world sensor 4B, the outer world sensor 5, and the error detection unit 6 included in the robot system 1 according to the first embodiment is described above. It may be realized by a processing circuit having the same function as the processing circuit 93 of the above.
- At least a part of the functions of the first controller 3C and the second controller 3D included in the robot system 1A according to the second embodiment may be realized by a processor that executes a program stored in the memory.
- the memory stores a program in which at least a portion of the steps performed by the first controller 3C and the second controller 3D will result in execution.
- At least a part of the first controller 3C and the second controller 3D may be realized by a processing circuit having the same function as the processing circuit 93 described above.
- At least a part of the functions of the robot simulator 9 and the reception unit 10 included in the robot work verification system 8 according to the third embodiment may be realized by a processor that executes a program stored in the memory.
- the memory stores a program in which at least a part of the steps executed by the robot simulator 9 and the reception unit 10 will be executed as a result.
- At least a part of the robot simulator 9 and the reception unit 10 may be realized by a processing circuit having a function equivalent to that of the processing circuit 93 described above.
- At least a part of the functions of the planner 73A and the scheduler 74A included in the robot action planning system 7A according to the fourth embodiment may be realized by a processor that executes a program stored in the memory.
- the memory stores a program that results in at least a portion of the steps performed by the planner 73A and the scheduler 74A being executed.
- At least a part of the planner 73A and the scheduler 74A may be realized by a processing circuit having the same function as the processing circuit 93 described above.
- At least a part of the functions of the robot simulator 12 in the fourth embodiment may be realized by a processor that executes a program stored in the memory.
- the memory stores a program in which at least a part of the steps executed by the robot simulator 12 will be executed as a result.
- At least a part of the robot simulator 12 may be realized by a processing circuit having a function equivalent to that of the processing circuit 93 described above.
- the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
- 1,1A robot system 2A 1st robot, 2B 2nd robot, 3A, 3C 1st controller, 3B, 3D 2nd controller, 4A 1st internal sensor, 4B 2nd internal sensor, 5 external sensor, 6 error Detection unit, 7,7A robot action planning system, 8 robot work verification system, 9,12 robot simulator, 10 reception unit, 11 display unit, 31A first operation program, 31B second operation program, 32A first communication unit, 32B 2nd communication unit, 71 error evaluation unit, 72 countermeasure determination unit, 73,73A planner, 74,74A scheduler, 75 meaning network matching unit, 76 evaluation value calculation unit, 91 processor, 92 memory, 93 processing circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- General Factory Administration (AREA)
- Numerical Control (AREA)
Abstract
ロボット行動計画システム(7)は、第1ロボット(2A)においてエラーが発生した場合、第1ロボット(2A)の動作の状態を示す情報をもとに、エラーの要因と、要因の確からしさを示す評価値と、要因に対して取り得る解決策とを示す評価情報を生成するエラー評価部(71)と、評価値をもとにエラーに対する対応策を決定する対応策決定部(72)と、対応策決定部(72)によって決定された対応策が上記の解決策である場合、上記の解決策にしたがって第1ロボット(2A)の動作の手順を示すプランステップを生成するプランナ(73)と、プランナ(73)によってプランステップが生成された場合、プランステップにしたがって第1ロボット(2A)に動作を再開させるためのスケジュールを生成するスケジューラ(74)とを有する。
Description
本発明は、ロボットにおいてエラーが発生した場合の処理を行うロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法に関する。
近年、産業用ロボットによる作業が多様化し、生産性を向上させるためにロボットシステムを継続して稼働することが課題となっている。産業用ロボットの導入時には、人が、対象作業における動作点を産業用ロボットに教示すると共に、産業用ロボットに動作させる一連の動作プログラムを作成する。産業用ロボットが動作プログラムにしたがって動作を実行する過程で、操作対象のワーク又は作業環境といった様々なことから生じる要因によって産業用ロボットの動作が正常に完了せずエラーが発生する場合がある。特に複数の産業用ロボットが協働して動作を実行する場合、エラーが発生すると、エラーの影響が後の動作に波及し、複数の産業用ロボットが動作プログラムにしたがって動作を実行することが困難になることがある。
エラーが発生することにより停止したロボットシステムを復旧させるために、作業プログラムと機械から出力される信号とをもとに、停止した機械とエラーの原因とを特定する技術が提案されている(例えば、特許文献1参照)。
しかしながら、特許文献1が開示している技術では、ロボットのエラーの要因が特定された後、人が復旧作業を行う。当該技術では、ロボットが復旧のための動作を自律的に行わないので、人がエラーの要因を取り除くことをすぐに行うことができない場合、ロボットシステムの稼働率が低下する。
本発明は、上記に鑑みてなされたものであって、ロボットにおいてエラーが発生した場合のロボットシステムの稼働率を向上させるロボット行動計画システムを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ロボットにおいてエラーが発生してロボットの動作が停止した場合、ロボットの動作の状態を示す情報をもとに、エラーの要因と、要因の確からしさを示す評価値と、要因に対して取り得る解決策とを示す評価情報を生成するエラー評価部と、エラー評価部によって生成された評価情報が示す評価値をもとに、エラーに対する対応策を決定する対応策決定部とを有する。本発明は、対応策決定部によって決定された対応策が評価情報によって示される解決策である場合、解決策にしたがってロボットの動作の手順を示すプランステップを生成するプランナを更に有する。本発明は、プランナによってプランステップが生成された場合、プランステップにしたがってロボットに動作を再開させるためのスケジュールを生成するスケジューラを更に有する。対応策決定部によって決定された対応策が、評価値を精査するための動作を実行させる策、又は、ロボットの動作を停止させる策である場合、スケジューラは、対応策決定部によって決定された対応策にしたがってロボットの動作に関連するスケジュールを生成する。
本発明によれば、ロボットにおいてエラーが発生した場合のロボットシステムの稼働率を向上させることができるという効果が得られる。
以下に、本発明の実施の形態にかかるロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
<ロボットシステムの構成>
図1は、実施の形態1にかかるロボットシステム1の構成を示す図である。ロボットシステム1は、動作を実行する第1ロボット2A及び第2ロボット2Bを有する。動作の例は、部品を組み立てる動作である。ロボットシステム1は、第1ロボット2Aを動作させるための第1動作プログラム31Aを記憶していて、第1動作プログラム31Aをもとに、第1ロボット2Aの動作についての指令を第1ロボット2Aに出力する第1コントローラ3Aを更に有する。
<ロボットシステムの構成>
図1は、実施の形態1にかかるロボットシステム1の構成を示す図である。ロボットシステム1は、動作を実行する第1ロボット2A及び第2ロボット2Bを有する。動作の例は、部品を組み立てる動作である。ロボットシステム1は、第1ロボット2Aを動作させるための第1動作プログラム31Aを記憶していて、第1動作プログラム31Aをもとに、第1ロボット2Aの動作についての指令を第1ロボット2Aに出力する第1コントローラ3Aを更に有する。
ロボットシステム1は、第2ロボット2Bを動作させるための第2動作プログラム31Bを記憶していて、第2動作プログラム31Bをもとに、第2ロボット2Bの動作についての指令を第2ロボット2Bに出力する第2コントローラ3Bを更に有する。第1ロボット2Aは、第1コントローラ3Aから出力される指令にしたがって動作を実行し、第2ロボット2Bは、第2コントローラ3Bから出力される指令にしたがって動作を実行する。
図2は、実施の形態1における第1ロボット2Aと第2ロボット2Bとが部品を組み立てる様子を模式的に示す図である。更に言うと、図2は、第1ロボット2A及び第2ロボット2Bが第1の組立動作S1、第2の組立動作S2及び第3の組立動作S3を順に実行する様子を模式的に示す図である。第1の組立動作S1、第2の組立動作S2及び第3の組立動作S3の各々は、部品を組み立てる動作であって、第1ロボット2A及び第2ロボット2Bが実行する動作の例である。矢印は、第1の組立動作S1、第2の組立動作S2及び第3の組立動作S3が順に実行されることを示している。図2には、第1コントローラ3A及び第2コントローラ3Bも示されている。
ロボットシステム1は、第1ロボット2Aの内部に配置されていて第1ロボット2Aの内部の状態を観測する第1内界センサ4Aと、第2ロボット2Bの内部に配置されていて第2ロボット2Bの内部の状態を観測する第2内界センサ4Bとを更に有する。例えば、第1内界センサ4Aは、第1ロボット2Aの関節の角度及び位置を検出するためのエンコーダ、又は、第1ロボット2Aの発熱を検出するための温度センサである。例えば、第2内界センサ4Bは、第2ロボット2Bの関節の角度及び位置を検出するためのエンコーダ、又は、第2ロボット2Bの発熱を検出するための温度センサである。
ロボットシステム1は、第1ロボット2A及び第2ロボット2Bの各々の外部の状態を観測する外界センサ5を更に有する。例えば、外界センサ5は、第1ロボット2Aの外部の物体と第1ロボット2Aとの接点についての状態と、第2ロボット2Bの外部の物体と第2ロボット2Bとの接点についての状態とを観測する機能を有する。更に言うと、例えば、外界センサ5は、ロボットがワークを把持した際に当該ロボットの手の先に加わる力を検出するための力覚センサ、又は、ロボットとワークとの干渉の状態及び複数のロボットの干渉の状態を検出するためのカメラである。上記のロボットは第1ロボット2A及び第2ロボット2Bの各々であり、上記の複数のロボットは第1ロボット2A及び第2ロボット2Bであり、上記のワークは物体の例である。
ロボットシステム1は、第1ロボット2A及び第2ロボット2Bが動作を実行する場合、第1ロボット2A及び第2ロボット2Bの各々において、第1内界センサ4A、第2内界センサ4B及び外界センサ5によって検出された値をもとに、エラーが発生したときの当該エラーを検出するエラー検出部6を更に有する。エラー検出部6は、第1ロボット2A又は第2ロボット2Bにおいてエラーを検出した場合、第1ロボット2A及び第2ロボット2Bの動作を停止させる。
例えば、エラー検出部6は、第1ロボット2A又は第2ロボット2Bにかかる負担があらかじめ設定された許容上限値を超えた場合、第1ロボット2A及び第2ロボット2Bの動作を停止させる。第1ロボット2A又は第2ロボット2Bにかかる負担が許容上限値を超えた場合は、第1ロボット2A又は第2ロボット2Bにおいてエラーが発生した場合の例である。
エラー検出部6は、公知のニューラルネットワークを用いて、第1内界センサ4A、第2内界センサ4B及び外界センサ5によって検出された値をもとに異常を診断することができるニューラルネットワークを事前に学習していてもよい。その場合、エラー検出部6は、第1ロボット2A及び第2ロボット2Bが動作を実行しているとき、ニューラルネットワークを用いて、第1内界センサ4A、第2内界センサ4B及び外界センサ5によって検出された値をもとにエラーを検出する。公知のニューラルネットワークの例は、リカレントニューラルネットワーク(Recurrent Neural Network,RNN)又は畳み込みニューラルネットワーク(Convolutional Neural Network,CNN)である。
エラー検出部6は、第1ロボット2A及び第2ロボット2Bの一方又は双方の内部に配置されてもよい。エラー検出部6が第1ロボット2A及び第2ロボット2Bの各々の内部に配置される場合、エラー検出部6は以下の動作を行う。すなわち、第1ロボット2Aの内部に配置されるエラー検出部6は、第1内界センサ4A及び外界センサ5によって検出された値をもとに、第1ロボット2Aにおいてエラーが発生した場合の当該エラーを検出する。第2ロボット2Bの内部に配置されるエラー検出部6は、第2内界センサ4B及び外界センサ5によって検出された値をもとに、第2ロボット2Bにおいてエラーが発生した場合の当該エラーを検出する。第1ロボット2A及び第2ロボット2Bの各々の内部に配置されるエラー検出部6は、エラーを検出した場合、第1ロボット2A及び第2ロボット2Bの動作を停止させる。
ロボットシステム1は、エラー検出部6によってエラーが検出されて第1ロボット2A及び第2ロボット2Bの動作が停止した場合、当該エラーに対する対応策を決定するロボット行動計画システム7を更に有する。ロボット行動計画システム7は、決定された対応策にしたがって第1ロボット2A及び第2ロボット2Bの各々の動作に関連するスケジュールを生成する。
エラー検出部6は、エラーを検出した場合、第1ロボット2Aの動作の状態を示す情報である第1動作情報と、第2ロボット2Bの動作の状態を示す情報である第2動作情報とをロボット行動計画システム7に出力する。第1動作情報は、第1内界センサ4A及び外界センサ5によって検出された値をもとにする情報である。第2動作情報は、第2内界センサ4B及び外界センサ5によって検出された値をもとにする情報である。
ロボット行動計画システム7は、第1ロボット2A又は第2ロボット2Bにおいてエラーが発生して第1ロボット2A及び第2ロボット2Bの動作が停止した場合、第1ロボット2A及び第2ロボット2Bの各々の動作の状態を示す情報をもとに、当該エラーの要因と、当該要因の確からしさを示す評価値と、当該要因に対して取り得る解決策とを示す評価情報を生成するエラー評価部71を有する。
具体的には、エラー評価部71は、エラー検出部6から出力された第1動作情報及び第2動作情報を受け取り、第1動作情報及び第2動作情報の一方又は双方をもとに、第1ロボット2A又は第2ロボット2Bにおいて発生したエラーの要因と、当該要因の確からしさを示す評価値と、当該要因に対して取り得る解決策とを示す評価情報を生成する。エラー評価部71の構成については、図3を用いて後に再度説明する。
ロボット行動計画システム7は、エラー評価部71によって生成された評価情報が示す評価値をもとに、エラーに対する対応策を決定する対応策決定部72を更に有する。例えば、対応策決定部72は、評価値があらかじめ設定された閾値より大きいか否かを判断し、評価値が閾値より大きいと判断した場合、エラーに対する対応策が評価情報によって示される解決策であると決定する。
例えば、対応策決定部72は、評価情報が示す評価値が閾値以下であると判断した場合、評価値を精査するための動作を実行することが可能であるか否かを判断する。以下では、評価値を精査するための動作は「探索動作」と記載される場合がある。図6及び7では、評価値を精査するための動作は「探索動作」と記載されている。精査は、再評価を含む。探索動作の具体例については、後述する。
対応策決定部72は、探索動作を実行することが可能であると判断した場合、エラーに対する対応策が探索動作を実行させる策であると決定する。対応策決定部72は、探索動作を実行することが不可能であると判断した場合、エラーに対する対応策がロボットの動作を停止させる策であると決定する。上記のロボットは、第1ロボット2A及び第2ロボット2Bである。探索動作の具体例については、後述する。
例えば、対応策決定部72は、評価情報が示す評価値が閾値以下であると判断した場合、探索動作を実行することが可能であるか否かを判断することなく、エラーに対する対応策が第1ロボット2A及び第2ロボット2Bの動作を停止させる策であると決定してもよい。
ロボット行動計画システム7は、対応策決定部72によって決定された対応策がエラー評価部71によって生成された評価情報によって示される解決策である場合、当該解決策にしたがって第1ロボット2A及び第2ロボット2Bの動作の手順を示すプランステップを生成するプランナ73を更に有する。プランナ73によって生成されるプランステップは、当該解決策を実現するためのものであって、第1ロボット2A及び第2ロボット2Bの動作を再開させるためのものである。
ロボット行動計画システム7は、プランナ73によってプランステップが生成された場合、プランステップにしたがって第1ロボット2A及び第2ロボット2Bの各々に動作を再開させるためのスケジュールを生成するスケジューラ74を更に有する。スケジューラ74は、プランナ73によってプランステップが生成された場合、すべてのプランステップがあらかじめ決められた順序についての制約を満たすスケジュールを生成する。
対応策決定部72によって決定された対応策が、評価値を精査するための動作を実行させる策、又は、第1ロボット2A及び第2ロボット2Bの動作を停止させる策である場合、スケジューラ74は、対応策決定部72によって決定された対応策にしたがって第1ロボット2A及び第2ロボット2Bの動作に関連するスケジュールを生成する。
具体的には、エラーに対する対応策が探索動作を実行させる策であると対応策決定部72によって決定された場合、スケジューラ74は、探索動作を実行させるためのスケジュールを生成する。エラーに対する対応策が第1ロボット2A及び第2ロボット2Bの動作を停止させる策であると対応策決定部72によって決定された場合、スケジューラ74は、第1ロボット2A及び第2ロボット2Bの動作を停止させるスケジュールを生成する。
スケジューラ74は、第1ロボット2Aの動作についてのスケジュールを第1コントローラ3Aに出力し、第2ロボット2Bに動作についてのスケジュールを第2コントローラ3Bに出力する。第1コントローラ3Aは、スケジューラ74から出力されたスケジュールにしたがって第1動作プログラム31Aを更新し、更新されたスケジュールをもとに、第1ロボット2Aの動作についての指令を第1ロボット2Aに出力する。第2コントローラ3Bは、スケジューラ74から出力されたスケジュールにしたがって第2動作プログラム31Bを更新し、更新されたスケジュールをもとに、第2ロボット2Bの動作についての指令を第2ロボット2Bに出力する。以下に、ロボット行動計画システム7の詳細を説明する。
<意味ネットワークが用いられる場合のエラー評価部71の構成>
図3は、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71の構成を示す図である。更に言うと、図3は、エラー評価部71を実現する際に意味ネットワーク(Semantic Network)が用いられる場合のエラー評価部71の構成を示す図である。公知の意味ネットワークは、人間の知識構造に倣って言語の意味を計算機で表現するためのネットワークモデルである。ひとつの意味ネットワークは、言語における概念を表すノードと、概念の意味の関係を表すエッジとの組合せで構成される。
図3は、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71の構成を示す図である。更に言うと、図3は、エラー評価部71を実現する際に意味ネットワーク(Semantic Network)が用いられる場合のエラー評価部71の構成を示す図である。公知の意味ネットワークは、人間の知識構造に倣って言語の意味を計算機で表現するためのネットワークモデルである。ひとつの意味ネットワークは、言語における概念を表すノードと、概念の意味の関係を表すエッジとの組合せで構成される。
意味ネットワークが用いられる場合、エラー評価部71は、エラー検出部6から出力された第1動作情報及び第2動作情報を受け取って、第1ロボット2A及び第2ロボット2Bの各々の動作の種類に対応するエラーを記述することが可能な意味ネットワークを構築してエラーの要因を抽出する意味ネットワークマッチング部75を有する。
例えば、意味ネットワークマッチング部75は、第1ロボット2A及び第2ロボット2Bの各々の移動動作又はワークの把持動作といった第1ロボット2A及び第2ロボット2Bの各々の動作状態を表現する意味ネットワークを構築し、エラーの要因を示すノードを抽出する。意味ネットワークマッチング部75は、抽出した要因に対して取り得る解決策を対応策決定部72に出力する。図3には、対応策決定部72も示されている。
意味ネットワークが用いられる場合、エラー評価部71は、エラー検出部6から出力された第1動作情報及び第2動作情報を受け取って、第1動作情報及び第2動作情報と意味ネットワークマッチング部75によって抽出されたエラーの要因とをもとに、当該要因の確からしさを示す評価値を算出する評価値算出部76を更に有する。第1動作情報及び第2動作情報は、観測情報の例である。
例えば、評価値算出部76は、意味ネットワークマッチング部75によって抽出されたエラーの要因を示すノードに対して、第1動作情報及び第2動作情報の一方又は双方をもとに、意味ネットワークが実際のエラーの要因の確からしさを示す確率である評価値を算出する。評価値算出部76は、算出された評価値を示す情報を対応策決定部72に出力する。
上述のように、意味ネットワークが用いられる場合、エラー評価部71は、観測情報に対して不確実性を持つエラーの要因をロボットの種類にあわせて推定し、有効と考えられる解決策を選択することについての判断を行うための情報を提供することができる。
<意味ネットワークマッチング部75の動作>
図4は、実施の形態1にかかるロボット行動計画システム7におけるエラー評価部71が有する意味ネットワークマッチング部75の動作の手順を示すフローチャートである。意味ネットワークマッチング部75は、エラーが検出された時の第1動作情報及び第2動作情報を取得する(S11)。つまり、ステップS11において、意味ネットワークマッチング部75は、エラーが検出された時の第1ロボット2A及び第2ロボット2Bの各々が実行しようとしていた動作の情報を取得する。
図4は、実施の形態1にかかるロボット行動計画システム7におけるエラー評価部71が有する意味ネットワークマッチング部75の動作の手順を示すフローチャートである。意味ネットワークマッチング部75は、エラーが検出された時の第1動作情報及び第2動作情報を取得する(S11)。つまり、ステップS11において、意味ネットワークマッチング部75は、エラーが検出された時の第1ロボット2A及び第2ロボット2Bの各々が実行しようとしていた動作の情報を取得する。
意味ネットワークマッチング部75は、ステップS11において取得した情報が示す動作の種類に対応するエラーの状態を記述する意味ネットワークのフレームを取得する(S12)。例えば、意味ネットワークのフレームは、公知の概念グラフ(Conceptual Graph)のフレームである。概念グラフは、言語体系が持つ複数の格の関係を規定した関係ノード(Relation Node)と概念を表す複数の概念ノード(Concept Node)とを接続することで構成されるひとつの有向グラフである。
図5は、あるロボットがワークを把持した状態で移動する動作を表現した概念グラフを示す図である。動作の主体を表す格を「AGNT」、動作の主体が保有する物体を表す格を「POSS」、物体の現在の状態を表す格を「ATTR」、動作の影響を受ける物体を表す格を「EFCT」と定義される。この場合、「normal←(ATTR)←workpiece Y←(POSS)←robot A←(AGNT)←move→(EFCT)→workpiece Z」というグラフが構築される。当該グラフは、「ロボットAが正常な状態で把持されているワークYを持って移動するとワークZに干渉する」というひとつの状態を表現している。
意味ネットワークマッチング部75は、「robot A」、「workpiece Y」、「workpiece Z」、「move」及び「normal」といった具体的な各概念ノードの値を、第1ロボット2A及び第2ロボット2Bの各々の動作プログラムと第1動作情報及び第2動作情報とをもとに決定する(S13)。
第1ロボット2A及び第2ロボット2Bの各々の有限個の種類の動作の各々についての概念グラフのフレームは、意味ネットワークマッチング部75に事前に設定される。例えば、「move」に相当する移動動作でエラーが検出された場合には「AGNT」、「POSS」、「ATTR」及び「EFCT」の格を用いるフレームが取得されることが、意味ネットワークマッチング部75に事前に設定される。
意味ネットワークマッチング部75は、「ワークを正しく把持することができていなかった」、「他のロボットと干渉していた」又は「他のワークが障害物になっていた」といったエラーの要因を示すノードを抽出する(S14)。図5の例では、意味ネットワークマッチング部75は、ロボットAが動作プログラムの通りに移動することができなかったエラーの要因を示すノードとして「move→(EFCT)→workpiece Z」を抽出する。
意味ネットワークマッチング部75は、エラーの要因を示すノードを参照し、例えば「障害物となっているワークZを取り除くことでエラーの状態を解決する」といった解決策を選択する(S15)。意味ネットワークマッチング部75は、上述の例のようにワークを操作する作業において汎用的で事前に設定された複数の解決策のなかからエラーの要因に対する解決策を選択してもよい。意味ネットワークマッチング部75は、特定の作業において有効な迂回経路を選択するという事前に設定されなかった新たな解決策を選択してもよい。
<評価値算出部76の動作>
意味ネットワークマッチング部75によって抽出されたノードが示すエラーの要因は、第1内界センサ4A、第2内界センサ4B及び外界センサ5の各々の性能による誤検知と、第1ロボット2A及び第2ロボット2Bによる作業の成否を判断する境界の曖昧さとの一方又は双方により、一定の確率で実際のエラーに適合しない可能性がある。意味ネットワークマッチング部75によって選択される解決策は実際のエラーに適合した場合にのみ有効であるため、評価値算出部76は、エラーの要因の確からしさを示す評価値を算出する。
意味ネットワークマッチング部75によって抽出されたノードが示すエラーの要因は、第1内界センサ4A、第2内界センサ4B及び外界センサ5の各々の性能による誤検知と、第1ロボット2A及び第2ロボット2Bによる作業の成否を判断する境界の曖昧さとの一方又は双方により、一定の確率で実際のエラーに適合しない可能性がある。意味ネットワークマッチング部75によって選択される解決策は実際のエラーに適合した場合にのみ有効であるため、評価値算出部76は、エラーの要因の確からしさを示す評価値を算出する。
評価値算出部76は、例えば公知のベイズ推論を用いて評価値を算出する。ベイズ推論では、ある事象Xが発生する事前分布P(X)と、ある動作が実行された場合の観測値Dが得られる尤度P(D|X)とが用いられ、事後確率P(X|D)が次式(1)により算出される。
P(X|D)=P(D|X)P(X)/ΣXP(D|X)P(X) (1)
P(X|D)=P(D|X)P(X)/ΣXP(D|X)P(X) (1)
実施の形態1において、意味ネットワークのフレーム毎のエラーの要因の事前分布P(X)とエラーが発生した場合に得られる観測値Dの尤度P(D|X)とは、評価値算出部76に設定される。事前分布P(X)は、経験的に想定されるエラーの確率であってもよいし、エラーの履歴についてのデータをもとにしたエラーの確率であってもよい。尤度P(D|X)は、第1ロボット2A及び第2ロボット2Bの試行可能な動作に対して故意にエラーの要因を与えた場合のデータが事前に取得されて当該データをもとに定められてもよいし、第1ロボット2A及び第2ロボット2Bが動作を試行した際のデータを参照することによって定められてもよい。
評価値算出部76は、取得された観測値Dである第1動作情報及び第2動作情報をもとに、上記の式(1)を用いて事後確率P(X|D)を算出し、意味ネットワークマッチング部75によって抽出されたノードが示すエラーの要因の確からしさを示す評価値を算出する。評価値算出部76は、観測値Dを取得しない場合、事前分布P(X)を評価値とする。
例えば、ワークの把持状態を示すノードが異常を示す事前分布について、P(X=abnormal)=0.80と、P(X=normal)=0.20とを仮定する。ロボットがワークを一定の力で当て面に押し付ける動作が用意されており、ロボットがワークを押し付けた場合の力センサによって検出された値が観測値Dであると仮定する。力センサは、外界センサ5の例である。把持状態が正常である場合に許容値を超える力DSが観測される尤度P(D=DS|X=normal)について、尤度P(D=DS|X=normal)=0.30を仮定すると共に、把持状態が異常である場合に許容値を超える力DSが観測される尤度P(D=DS|X=abnormal)について、尤度P(D=DS|X=abnormal)=0.90を仮定する。
この場合、上記の式(1)より、把持状態が異常である事後確率は、P(X=abnormal|D=DS)=(0.90×0.80)÷(0.30×0.20+0.90×0.80)≒0.92となる。上述の例では、探索動作が実行された後に観測値Dを得ることで、意味ネットワークが示す把持状態の異常のエラーの要因の確からしさを示す評価値は0.80から0.92に更新される。
<対応策決定部72の動作>
図6は、実施の形態1にかかるロボット行動計画システム7が有する対応策決定部72の動作の手順を示す第1のフローチャートである。対応策決定部72は、エラー評価部71によって生成された評価情報が示す評価値を取得する(S21)。エラー評価部71を実現する際に意味ネットワークが用いられる場合、ステップS21において、対応策決定部72は、評価値算出部76によって算出された評価値を取得する。評価値は、エラーの要因の確からしさを示す値である。
図6は、実施の形態1にかかるロボット行動計画システム7が有する対応策決定部72の動作の手順を示す第1のフローチャートである。対応策決定部72は、エラー評価部71によって生成された評価情報が示す評価値を取得する(S21)。エラー評価部71を実現する際に意味ネットワークが用いられる場合、ステップS21において、対応策決定部72は、評価値算出部76によって算出された評価値を取得する。評価値は、エラーの要因の確からしさを示す値である。
対応策決定部72は、評価値があらかじめ決められた閾値より大きいか否かを判断する(S22)。例えば、対応策決定部72は、ユーザによって入力された閾値を受け付けて記憶する機能を有しており、評価値が記憶した閾値より大きいか否かを判断する。例えば、ユーザはプログラミングツールを用いて閾値をロボット行動計画システム7に入力する。閾値が大きいほど、対応策決定部72は、エラー評価部71によって生成された評価情報が示す解決策を採用することに対して慎重になる。対応策決定部72がユーザによって入力された閾値を用いる場合、ユーザは、対応策決定部72が解決策を採用するか否かを判断する際の基準を決定することができる。
対応策決定部72は、評価値が閾値より大きいと判断した場合(S22でYes)、エラーに対する対応策がエラー評価部71によって生成された評価情報によって示される解決策であると決定する(S23)。つまり、ステップS23において、対応策決定部72は、評価情報が示す解決策を採用する。対応策決定部72は、エラーの状態から復旧するための目標を定め、解決策と目標とをプランナ73に出力する(S24)。
対応策決定部72は、評価値が閾値以下であると判断した場合(S22でNo)、評価値を精査するための動作を実行することが可能であるか否かを判断する(S25)。上述の通り、評価値を精査するための動作は「探索動作」であり、図6では「探索動作」という用語が用いられている。例えば、ステップS25において、対応策決定部72は、ロボットシステム1の1サイクルの作業中に探索動作を実行した回数があらかじめ決められた試行回数より少ない場合、探索動作を実行することが可能であると判断する。例えば、ステップS25において、対応策決定部72は、ロボットシステム1の1サイクルの作業中に探索動作を実行した回数が試行回数に達した場合、探索動作を実行することは不可能であると判断する。
上述の試行回数は、探索動作を実行することが可能であるか否かを判断するための数である。例えば、対応策決定部72は、ユーザによって入力された試行回数を受け付けて記憶する機能を有しており、記憶した試行回数を用いて、探索動作を実行することが可能であるか否かを判断する。具体的には、対応策決定部72は、ロボットシステム1の1サイクルの作業中に探索動作を実行した回数が記憶した試行回数に達しているか否かを判断する。対応策決定部72がユーザによって入力された試行回数を用いる場合、ユーザは、対応策決定部72が探索動作を実行させる策を採用するか否かを判断する際の基準を決定することができる。
例えば、探索動作は、ワークを一定の力で当て面に押し付けて把持状態を確認する動作、又は、カメラで従前の視点と別の視点からの撮影を行って干渉状態を確認する動作である。評価値算出部76を説明する際に述べたように、探索動作が実行された後の観測値によって、エラーの要因の確からしさを示す評価値が更新され、対応策決定部72がステップS22の動作を再度行う際の判断の結果が変わることがある。第1動作情報及び第2動作情報は、観測値の例である。
対応策決定部72は、探索動作を実行することが可能であると判断した場合(S25でYes)、エラーに対する対応策が探索動作を実行させる策であると決定し、探索動作を実行させる指示をスケジューラ74に出力する(S26)。
対応策決定部72は、探索動作を実行することが不可能であると判断した場合(S25でNo)、エラーに対する対応策が第1ロボット2A及び第2ロボット2Bの動作を停止させる策であると決定し、第1ロボット2A及び第2ロボット2Bの動作を停止させる指示をスケジューラ74に出力する(S27)。ステップS27の動作は、作業を中断するための動作であって、エラーの要因の不確実性を許容することができず、第1ロボット2A及び第2ロボット2Bに動作を実行させることができない状況において、人が介入してエラーの状態から復旧するまで第1ロボット2A及び第2ロボット2Bを安全な状態で停止させておくための動作である。例えば、第1動作プログラム31及び第2動作プログラム31Bを初期状態に戻す動作が、作業を中断するための動作に該当する。
上述の通り、対応策決定部72は、評価情報が示す評価値と閾値とを比較することにより、エラーの状態を悪化させない策を提示することができる。上述のことから理解することができるように、図6の第1のフローチャートが示す例では、対応策決定部72は、実際に発生したエラーの要因について確信が持てない場合、探索動作を実行することによって追加の情報を得た上で、見込みのあるエラーの解決策を選択することが合理的な対応策であると判断する。対応策決定部72は、追加の情報を得るためのコストが比較的大きい場合、又は、エラーの要因を確信することができる見込みがない場合、やみくもにエラーに対する行動計画を立てるよりも、第1ロボット2A及び第2ロボット2Bを初期状態にリセットすることが合理的な対応策であると判断する。
図7は、実施の形態1にかかるロボット行動計画システム7が有する対応策決定部72の動作の手順を示す第2のフローチャートである。対応策決定部72は、図6の第1のフローチャートを用いて説明した探索動作を実行することが可能であるか否かを判断するステップS25の動作を実行しなくてもよい。その場合、図7の第2のフローチャートが示す通り、対応策決定部72は、評価値が閾値以下であると判断した場合(S22でNo)、エラーに対する対応策が第1ロボット2A及び第2ロボット2Bの動作を停止させる策であると決定し、第1ロボット2A及び第2ロボット2Bの動作を停止させる指示をスケジューラ74に出力する(S27)。
エラーが発生した場合の第1ロボット2A及び第2ロボット2Bの復旧動作は、特定の要因に対して有効である一方、別の要因に対しては実行してもエラーが解消しない、又は、復旧することが更に困難な状態にすることがある。そこで、上述のように、対応策決定部72は、エラーの要因の確からしさを示す評価値をもとに、後段のプランナ73及びスケジューラ74の動作を制御する。これにより、自律的な復旧動作の効果とリスクとを考慮した上での行動計画を第1ロボット2A及び第2ロボット2Bが実行する動作のスケジュールに反映させることができる。
<プランナ73の動作>
プランナ73は、対応策決定部72から出力されたエラーの状態から復旧するための解決策と目標とを受け取った場合、エラーの状態から復旧するために必要なプランステップを導出するためのプランニングを実行する。上記の目標は、プランステップのプランニングの目標である。
プランナ73は、対応策決定部72から出力されたエラーの状態から復旧するための解決策と目標とを受け取った場合、エラーの状態から復旧するために必要なプランステップを導出するためのプランニングを実行する。上記の目標は、プランステップのプランニングの目標である。
ロボット及び人工知能におけるプランニングは、動作の主体となるロボットの状態と操作対象のワークの状態とが定義された環境において、与えられた初期状態から目標の状態を達成するまでの、状態を遷移させる操作子(Operator)の系列をプランとして生成することであると定義される。実施の形態1では、第1ロボット2A及び第2ロボット2Bが取り得る動作が操作子に相当する。プランを構成する個々の操作子は、プランステップである。
エラーが発生したことによりロボットが停止した時点を新たな初期状態として当初の目標の状態を達成するまでのプランを生成する手法の例は、公知の半順序プランニング(Partial Order Planning)の手法である。半順序プランニングでは、複数の副目標(Sub-Goals)で構成されるひとつプランのなかで、独立な副目標を達成する操作子の実行の手順の任意性が保持される。そのため、新たに導出されるプランステップと既存のプランステップとの間の因果関係を監視及び更新することができる。プランナ73は、第1ロボット2A及び第2ロボット2Bに与えられた当初の作業の目標の状態が達成されるまでに必要な複数の副目標を実現するプランステップと、複数のプランステップの実行の順序を制約する情報とを生成する。
具体的には、プランナ73は、対応策決定部72から出力された目標を受け取った場合、エラーが発生したことにより第1ロボット2A及び第2ロボット2Bの動作が停止した時点を新たな初期状態に設定し、当初の目標の状態を達成するまでに必要とされる第1ロボット2A及び第2ロボット2Bの動作を示すプランステップを生成する。加えて、プランナ73は、プランステップとプランステップを実行する際の順序の制約とを含むプランを生成する。プランナ73は、生成されたプランをスケジューラ74に出力する。このように、プランナ73は、エラーの状態から復旧するためのプランステップを生成し、それにより第1ロボット2A及び第2ロボット2Bの動作が当初の作業の目標の状態に達するまでプランを管理することができる。
<スケジューラ74の動作>
スケジューラ74は、プランがプランナ73から出力された場合、プランを受け取って、復旧のためのすべてのプランステップを含むスケジュールを、実行の順序の制約を満たして生成する。スケジューラ74は、生成されたスケジュールを第1コントローラ3A及び第2コントローラ3Bに出力する。当該スケジュールは、第1ロボット2A及び第2ロボット2Bの新たな動作プログラムである。
スケジューラ74は、プランがプランナ73から出力された場合、プランを受け取って、復旧のためのすべてのプランステップを含むスケジュールを、実行の順序の制約を満たして生成する。スケジューラ74は、生成されたスケジュールを第1コントローラ3A及び第2コントローラ3Bに出力する。当該スケジュールは、第1ロボット2A及び第2ロボット2Bの新たな動作プログラムである。
スケジューラ74は、対応策決定部72から出力された探索動作を実行させる指示又は第1ロボット2A及び第2ロボット2Bの動作を停止させる指示を受け取った場合、指示にしたがった動作のステップを含むスケジュールを生成し、生成されたスケジュールを第1コントローラ3A及び第2コントローラ3Bに出力する。当該スケジュールは、第1ロボット2A及び第2ロボット2Bの新たな動作プログラムである。
プランナ73から出力されたプランステップは、実行の順序の制約を満たす限りにおいて、どのロボットで実行されるかということが指定されていなくてもよい。例えば、エラーの状態から復旧するために障害物となっているワークを移動させるプランステップが必要である場合、手の空いているいずれのロボットが障害物を移動させても目標を達成することができる。この場合、復旧の過程を経て当初の目標である作業を完了するまでのコストが最小となるように、スケジューラ74は、プランステップを第1ロボット2A及び第2ロボット2Bに割り当てるスケジュールを生成する。
例えば、スケジューラ74は、ロボットシステム1の総作業時間及び総消費エネルギが最小となるスケジュールを生成する。例えば、スケジューラ74は、公知のA*アルゴリズム(A-star Algorithm)による最適スケジューリングの手法を用いて、実行の順序の制約を満たしつつ時間及びエネルギについてのコストが最小となるスケジュールを生成する。A*アルゴリズムは、グラフ探索アルゴリズムである。最適スケジューリングの問題では、複数のプランステップの各々がいずれかのロボットに割り当てられることを状態ノードの遷移として扱われる。
例えば、出発時のノードから現在のノードに至るまでに要したコストと、現在のノードから目標のノードに至るまでの推定されるコストとの和をヒューリスティック関数として、目標のノードまでの総コストが最小となる経路が導出される。実施の形態1では、例えばプランステップに対応するロボットの動作の実行時間をコストとして定義することができる。
あるプランステップが第1ロボット2Aと第2ロボット2Bとのうちの動作可能ないずれかのロボットに割り当てられた場合、当該プランステップの動作が完了する時刻を現在のノードに至るまでに要したコストと定義する。当該時刻でまだ割り当てられていないプランステップがいずれのロボットでも待ち時間を発生させずに割り付けられると仮定した場合に、すべてのプランステップが完了する時刻と、当該時刻で割り当て済みのプランステップが完了する時刻との差分を、目標のノードに至るまでの推定されるコストと定義する。
実際には、特定のステップの動作が別のステップの動作が完了するまで実行することができないという順序の制約により、ロボットの待ち時間が発生し得る。上述の設定において、スケジューラ74は、探索動作の各ステップで上記のヒューリスティック関数が最小となる状態にノードを進ませることで、すべてのプランステップの動作が完了するまでの時間を最小とするスケジュールを生成することができる。
上述のように、スケジューラ74は、必要なプランステップを第1ロボット2A及び第2ロボット2Bに割り当てる場合、実行される動作の順序の制約を満たしつつ、第1ロボット2A及び第2ロボット2Bの動作が完了するまでの時間及びエネルギのコストが最小となるスケジュールを生成することができる。第1ロボット2A及び第2ロボット2Bは複数のロボットの例であり、第1ロボット2A又は第2ロボット2Bはエラーが発生したロボットである。
なお、作業を行うロボットが1台だけである場合、プランナ73から出力されたプランステップが当該1台のロボットに割り当てられるため、別のロボットが特定のプランステップの動作が完了するまで待機する待ち時間は発生しない。この場合、スケジューラ74は、例えば複数の地点への移動の順序を最適化の対象とし、総移動時間又は総移動距離が最小となるスケジュールを最適なスケジュールとして生成する。
実行の順序の制約を満たしつつ特定の評価関数を最大又は最小にするスケジュールを生成するための手法は、A*アルゴリズムに限定されない。A*アルゴリズムの代わりに、公知の組合せ最適化手法である遺伝的アルゴリズム(Genetic Algorithm)、粒子群最適化(Particle Swarm Optimization,PSO)又はベイズ最適化(Bayesian Optimization)が用いられてもよい。
例えば、遺伝的アルゴリズムが用いられる場合、スケジューラ74は、プランステップが第1ロボット2A及び第2ロボット2Bにランダムに割り当てられたスケジュールを初期状態として複数生成し、順序の制約を満たすスケジュールのなかで評価値が最良のものを親として次の世代のスケジュールの候補を生成する、というステップをあらかじめ決められた回数繰り返す。これにより、スケジューラ74は最良のスケジュールを探索することができる。
<エラー評価部71のその他の構成>
上述した例では、検出されたエラーの要因の不確実性を考慮してエラーの状態から復旧するためのスケジュールを導出する際、対応策決定部72が意味ネットワークによって示されたエラーの要因の確からしさを示す評価値をもとに、エラーに対する対応策を決定するための判定を行う。
上述した例では、検出されたエラーの要因の不確実性を考慮してエラーの状態から復旧するためのスケジュールを導出する際、対応策決定部72が意味ネットワークによって示されたエラーの要因の確からしさを示す評価値をもとに、エラーに対する対応策を決定するための判定を行う。
対応策決定部72が判定を行うために必要な評価値を算出するエラー評価部71の構成は、上述の意味ネットワークマッチング部75と評価値算出部76とを有する構成に限定されない。エラー評価部71は、評価値を算出する場合、依存関係のある事象をグラフ構造で表現すると共に変数の関係を条件つきの確率で評価する手法を用いてもよい。例えば、エラー評価部71は、公知のベイジアンネットワーク(Bayesian Network)又は決定木(Decision Tree)を構築して観測情報をもとにエラーの要因を評価してもよい。
エラー評価部71は、評価値を算出する場合、エラーが検出された時の状態が事前に学習された正常系からどれだけ乖離しているかを判断してエラーの要因の確からしさを示す評価値を算出してもよい。その場合、エラー評価部71は、公知のガウス過程(Gaussian Process)又はニューラルネットワーク(Neural Network)を用いてもよい。
上述の通り、実施の形態1に係るロボット行動計画システム7は、第1ロボット2Aと第2ロボット2Bとのうちの一方又は双方においてエラーが発生して第1ロボット2A及び第2ロボット2Bの動作が停止した場合、エラーの要因の確からしさを示す評価値をもとに、エラーに対する対応策を決定する。ロボット行動計画システム7は、対応策が評価値を示す評価情報によって示される解決策であると決定した場合、当該解決策にしたがって第1ロボット2A及び第2ロボット2Bの動作の手順を示すプランステップを生成し、プランステップにしたがって第1ロボット2A及び第2ロボット2Bに動作を再開させるためのスケジュールを生成する。ロボット行動計画システム7は、評価値をもとに決定した対応策が評価値を精査するための動作を実行させる策である場合、評価値を精査するための動作を実行させる策にしたがって第1ロボット2A及び第2ロボット2Bの動作に関連するスケジュールを生成する。
上記の解決策にしたがったスケジュールが生成された場合、エラーが解消されて第1ロボット2A及び第2ロボット2Bは動作を再開する。上記の評価値を精査するための動作を実行させる策にしたがったスケジュールが生成された場合、評価値が見直され、それによりエラーが解消される可能性がある。つまり、ロボット行動計画システム7が用いられれば、第1ロボット2Aと第2ロボット2Bとのうちの一方又は双方においてエラーが発生した場合、人に負担をかけずにエラーが解決する可能性がある。すなわち、ロボット行動計画システム7は、第1ロボット2Aと第2ロボット2Bとのうちの一方又は双方においてエラーが発生した場合のロボットシステム1の稼働率を向上させることができる。
上述した実施の形態1では、ロボットシステム1は、第1ロボット2A及び第2ロボット2Bの2台のロボットを有する。しかしながら、ロボットシステム1は、1台のロボットのみを有してよい。具体的には、ロボットシステム1は第1ロボット2Aだけを有してもよい。ロボットシステム1は、第1ロボット2Aだけを有する場合、第1コントローラ3Aのみを有し、第2コントローラ3Bを有しなくてもよい。ロボットシステム1は、第1ロボット2Aだけを有する場合、第1内界センサ4Aのみを有し、第2内界センサ4Bを有しなくてもよい。
ロボットシステム1は、3台以上のロボットを有してもよいし、3個以上のコントローラを有してもよいし、3個以上の内界センサを有してもよいし、2個以上の外界センサを有してもよい。
ロボットシステム1が第1ロボット2Aだけを有する場合、ロボット行動計画システム7では、エラー評価部71は、第1ロボット2Aにおいてエラーが発生して第1ロボット2Aの動作が停止した場合、第1ロボット2Aの動作の状態を示す情報をもとに、エラーの要因と、当該要因の確からしさを示す評価値と、当該要因に対して取り得る解決策とを示す評価情報を生成する。対応策決定部72は、第1ロボット2Aについて、エラー評価部71によって生成された評価情報が示す評価値をもとに、エラーに対する対応策を決定する。
プランナ73は、対応策決定部72によって決定された対応策が評価情報によって示される解決策である場合、当該解決策にしたがって第1ロボット2Aの動作の手順を示すプランステップを生成する。スケジューラ74は、プランナ73によってプランステップが生成された場合、プランステップにしたがって第1ロボット2Aに動作を再開させるためのスケジュールを生成する。スケジューラ74は、対応策決定部72によって決定された対応策が、評価値を精査するための動作を実行させる策、又は、第1ロボット2Aの動作を停止させる策である場合、対応策決定部72によって決定された対応策にしたがって第1ロボット2Aの動作に関連するスケジュールを生成する。
意味ネットワークマッチング部75は、第1ロボット2Aの動作の種類に対応するエラーを記述することが可能な意味ネットワークを構築してエラーの要因を抽出する。評価値算出部76は、当該要因の根拠となる観測情報を取得し、観測情報と意味ネットワークマッチング部75によって抽出された要因とをもとに、評価値を算出する。観測情報は、第1ロボット2Aの動作の状態を示す情報である。
対応策決定部72は、エラーに対する対応策を決定する場合、まず、評価値があらかじめ決められた閾値より大きいか否かを判断する。対応策決定部72は、評価値が閾値より大きいと判断した場合、対応策が評価情報によって示される解決策であると決定する。対応策決定部72は、評価値が閾値以下であると判断した場合、評価値を精査するための動作を実行することが可能であるか否かを判断する。
対応策決定部72は、評価値を精査するための動作を実行することが可能であると判断した場合、対応策が評価値を精査するための動作を実行させる策であると決定する。対応策決定部72は、評価値を精査するための動作を実行することが不可能であると判断した場合、対応策が第1ロボット2Aの動作を停止させる策であると決定する。
対応策決定部72は、評価値が閾値より大きいと判断した場合、評価値を精査するための動作を実行することが可能であるか否かを判断することなく、対応策が第1ロボット2Aの動作を停止させる策であると決定してもよい。
対応策決定部72は、上記の閾値と、評価値を精査するための動作を実行することが可能であるか否かを判断するための試行回数であって第1ロボット2Aに許可された動作の試行回数とを受け付けて記憶する機能を有してもよい。その場合、対応策決定部72は、評価値が記憶した閾値より大きいか否かを判断し、記憶した試行回数を用いて、評価値を精査するための動作を実行することが可能であるか否かを判断する。
対応策決定部72は、プランステップのプランニングの目標をプランナ73に出力する機能を有してもよい。その場合、プランナ73は、対応策決定部72から出力された目標を受け取ったとき、エラーが発生したことにより第1ロボット2Aの動作が停止した時点を新たな初期状態に設定し、当初の目標状態を達成するまでに必要とされる第1ロボット2Aの動作を示すプランステップを生成すると共に、プランステップとプランステップを実行する際の順序の制約とを含むプランを生成する。
エラー検出部6は、第1内界センサ4A及び外界センサ5によって検出された値をもとに異常を診断することができるニューラルネットワークを事前に学習していてもよい。その場合、エラー検出部6は、第1ロボット2Aが動作を実行しているとき、ニューラルネットワークを用いて、第1内界センサ4A及び外界センサ5によって検出された値をもとに、第1ロボット2Aにおいて発生したエラーを検出する。
実施の形態2.
図8は、実施の形態2にかかるロボットシステム1Aの構成を示す図である。実施の形態2では、実施の形態1との相違点を主に説明する。ロボットシステム1Aは、実施の形態1にかかるロボットシステム1が有する第1コントローラ3Aに代わりに第1コントローラ3Cを有し、ロボットシステム1が有する第2コントローラ3Bに代わりに第2コントローラ3Dを有する。第1コントローラ3C及び第2コントローラ3Dの各々は、実施の形態1にかかるロボットシステム1が有するロボット行動計画システム7を有する。
図8は、実施の形態2にかかるロボットシステム1Aの構成を示す図である。実施の形態2では、実施の形態1との相違点を主に説明する。ロボットシステム1Aは、実施の形態1にかかるロボットシステム1が有する第1コントローラ3Aに代わりに第1コントローラ3Cを有し、ロボットシステム1が有する第2コントローラ3Bに代わりに第2コントローラ3Dを有する。第1コントローラ3C及び第2コントローラ3Dの各々は、実施の形態1にかかるロボットシステム1が有するロボット行動計画システム7を有する。
第1コントローラ3Cは、第1動作プログラム31Aを記憶すると共に、第2コントローラ3Dと通信を行う第1通信部32Aを有する。第2コントローラ3Dは、第2動作プログラム31Bを記憶すると共に、第1コントローラ3Cと通信を行う第2通信部32Bを有する。
実施の形態2では、エラー検出部6は、第1ロボット2Aと第2ロボット2Bとのうちの一方のロボットにおけるエラーを検出した場合、エラーが検出されたロボットに指令を出力するコントローラに第1動作情報及び第2動作情報を出力する。例えば、エラー検出部6は、第1ロボット2Aにおけるエラーを検出した場合、第1コントローラ3Cに第1動作情報及び第2動作情報を出力する。第1動作情報及び第2動作情報を受け取ったコントローラが有するロボット行動計画システム7は、実施の形態1において説明したようにスケジュールを生成する。
第1ロボット2Aにおいてエラーが発生した場合、第1コントローラ3Cが有するロボット行動計画システム7は、生成されたスケジュールを第1通信部32Aに出力する。第1通信部32Aは、ロボット行動計画システム7から出力されたスケジュールを受け取って、受け取ったスケジュールを第2コントローラ3Dが有する第2通信部32Bに出力する。第2ロボット2Bにおいてエラーが発生した場合、第2コントローラ3Dが有するロボット行動計画システム7は、生成されたスケジュールを第2通信部32Bに出力する。第2通信部32Bは、ロボット行動計画システム7から出力されたスケジュールを受け取って、受け取ったスケジュールを第1コントローラ3Cが有する第1通信部32Aに出力する。
ロボット行動計画システム7によって生成されたスケジュールは、第1ロボット2A及び第2ロボット2Bの各々の動作プログラムを変更するものである場合がある。そのため、第1通信部32Aは第1コントローラ3Cが有するロボット行動計画システム7によって生成されたスケジュールを第2通信部32Bに出力する。第2通信部32Bは第2コントローラ3Dが有するロボット行動計画システム7によって生成されたスケジュールを第1通信部32Aに出力する。これにより、第1コントローラ3C及び第2コントローラ3Dの各々は、同一のスケジュールを共有することができる。その結果、第1動作プログラム31A及び第2動作プログラム31Bは、同期して変更される。
すなわち、実施の形態2では、エラー検出部6が第1ロボット2Aと第2ロボット2Bとのうちのエラーを検出したロボットに指令を出力するコントローラのみに第1動作情報及び第2動作情報を出力するが、実施の形態2に係るロボットシステム1Aは、第1動作プログラム31A及び第2動作プログラム31Bを同期して変更することができる。
上述した実施の形態2では、図8に示される通り、第1コントローラ3C及び第2コントローラ3Dの各々がロボット行動計画システム7を有する。しかしながら、第1コントローラ3Cと第2コントローラ3Dとのうちの一方のコントローラのみがロボット行動計画システム7を有してもよい。この場合においても、第1通信部32Aと第2通信部32Bとが通信を行うことにより、ロボット行動計画システム7によって生成されたスケジュールは、第1コントローラ3C及び第2コントローラ3Dで共有される。その結果、第1動作プログラム31A及び第2動作プログラム31Bは、同期して変更される。
なお、ロボットシステム1Aは、3台以上のロボットと、3個以上のコントローラとを有してもよい。その場合、3台以上のロボットの各々がいずれかの1個のコントローラに対応し、3個以上のコントローラの各々がいずれかの1台のロボットに対応し、各コントローラが対応するロボットを制御する。加えて、3個以上のコントローラの各々が通信部を有し、3個以上のコントローラのうちのひとつのコントローラのみがロボット行動計画システム7を有してもよい。上述の場合、複数の通信部の各々がロボット行動計画システム7によって生成されたスケジュールの通信を行い、当該スケジュールがすべてのコントローラで共有される。つまり、各コントローラが有する動作プログラムは、同期して変更される。
実施の形態3.
図9は、実施の形態3にかかるロボット作業検証システム8の構成を示す図である。ロボット作業検証システム8は、実施の形態1にかかるロボット行動計画システム7と、ロボットシミュレータ9とを有する。ロボットシミュレータ9は、実施の形態1にかかるロボットシステム1が有する第1ロボット2A、第2ロボット2B、第1コントローラ3A、第2コントローラ3B、第1内界センサ4A、第2内界センサ4B、外界センサ5及びエラー検出部6の機能を模擬的に実現することができるモジュールを有する。ロボットシミュレータ9は、第1ロボット2A及び第2ロボット2Bの作業環境を仮想空間に構築する。
図9は、実施の形態3にかかるロボット作業検証システム8の構成を示す図である。ロボット作業検証システム8は、実施の形態1にかかるロボット行動計画システム7と、ロボットシミュレータ9とを有する。ロボットシミュレータ9は、実施の形態1にかかるロボットシステム1が有する第1ロボット2A、第2ロボット2B、第1コントローラ3A、第2コントローラ3B、第1内界センサ4A、第2内界センサ4B、外界センサ5及びエラー検出部6の機能を模擬的に実現することができるモジュールを有する。ロボットシミュレータ9は、第1ロボット2A及び第2ロボット2Bの作業環境を仮想空間に構築する。
ロボットシミュレータ9は、第1ロボット2A及び第2ロボット2Bが実際に動作を実行する場合の動作情報の代わりに、第1ロボット2A及び第2ロボット2Bが仮想的に動作を実行する場合の情報である仮想動作情報を生成し、生成した仮想動作情報をロボット行動計画システム7に出力する。実施の形態3では、ロボット行動計画システム7は、ロボットシミュレータ9から出力された仮想動作情報を受け取り、仮想動作情報をもとに、スケジュールを生成する。ロボットシミュレータ9は、ロボット行動計画システム7によって生成されたスケジュールを仮想空間で実行し、当該スケジュールを検証する。
ロボット作業検証システム8は、ユーザから仮想動作情報を受け付ける受付部10を有する。ユーザが仮想動作情報をロボット作業検証システム8に入力して受付部10が入力された仮想動作情報を受け付けた場合、ロボットシミュレータ9は、受付部10が受け付けた仮想動作情報をロボット行動計画システム7に出力する。ロボット行動計画システム7は、仮想動作情報をもとにスケジュールを生成する。ロボットシミュレータ9は、ロボット行動計画システム7によって生成されたスケジュールを検証する。つまり、ロボット作業検証システム8は、ユーザが入力した仮想動作情報をもとにするスケジュールを検証することができる。
ロボット作業検証システム8は、ロボットシミュレータ9が検証を行うことによって得た結果を表示する表示部11を有する。ユーザは、表示部11によって表示された結果を視認することにより、ロボットシミュレータ9によって行われた検証の結果を認識することができる。表示部11の例は、液晶表示装置である。
上述のように、実施の形態3にかかるロボット作業検証システム8は、仮想のロボットにおけるエラーに対して生成されたスケジュールを検証する。すなわち、ロボット作業検証システム8は、実際のロボットを用いることなく、仮想のロボットにおけるエラーに対して生成されたスケジュールを検証することができる。
実施の形態4.
図10は、実施の形態4にかかるロボット行動計画システム7Aの構成を示す図である。ロボット行動計画システム7Aは、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71と、対応策決定部72とを有する。ロボット行動計画システム7Aは、ロボット行動計画システム7が有するプランナ73の代わりに、ロボットシミュレータ12と通信を行う機能を有するプランナ73Aを更に有する。プランナ73Aは、プランナ73が有する機能を有する。図10には、ロボットシミュレータ12も示されている。ロボットシミュレータ12は、エラーの状態から復旧するために必要な動作を仮想的に実現する装置である。
図10は、実施の形態4にかかるロボット行動計画システム7Aの構成を示す図である。ロボット行動計画システム7Aは、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71と、対応策決定部72とを有する。ロボット行動計画システム7Aは、ロボット行動計画システム7が有するプランナ73の代わりに、ロボットシミュレータ12と通信を行う機能を有するプランナ73Aを更に有する。プランナ73Aは、プランナ73が有する機能を有する。図10には、ロボットシミュレータ12も示されている。ロボットシミュレータ12は、エラーの状態から復旧するために必要な動作を仮想的に実現する装置である。
ロボット行動計画システム7Aは、ロボット行動計画システム7が有するスケジューラ74の代わりに、ロボットシミュレータ12と通信を行う機能を有するスケジューラ74Aを更に有する。スケジューラ74Aは、スケジューラ74が有する機能を有する。実施の形態4では、実施の形態1において説明されたロボット行動計画システム7の機能と異なる機能を主に説明する。
ロボットシミュレータ12は、動作を実行するロボットに相当するモデルを仮想空間で動かす装置である。図10には、実施の形態1にかかるロボットシステム1が有する第1コントローラ3A及び第2コントローラ3Bは示されていないが、ロボットシミュレータ12は、第1コントローラ3Aと第2コントローラ3Bとのうちの一方又は双方のコントローラの内部に設けられてもよいし、第1コントローラ3A及び第2コントローラ3Bの外部に設けられてもよい。同様に、ロボットシミュレータ12は、実施の形態2における第1コントローラ3Cと第2コントローラ3Dとのうちの一方又は双方のコントローラの内部に設けられてもよいし、第1コントローラ3C及び第2コントローラ3Dの外部に設けられてもよい。ロボットシミュレータ12は、実施の形態3にかかるロボット作業検証システム8が有するロボットシミュレータ9であってもよい。
実施の形態1におけるプランナ73は、プランナ73にあらかじめ定義された操作子を組み合わせることで目標の状態を達成するプランステップを生成する。実施の形態4におけるプランナ73Aは、ロボットシミュレータ12を介した機械学習を行うことによって、対応策決定部72から出力された特定のプランニングの目標を達成するために必要な操作子を新たに獲得する。例えば、プランナ73Aは、公知の強化学習(Reinforcement Learning)を用いて必要な操作子を獲得する。
シミュレータを用いる強化学習では、ロボットが試行錯誤することによって作業環境で特定の状態を達成した場合にあらかじめ定義された報酬を受け取ることで、望ましい状態を最小のコストで達成する動作が獲得される。プランナ73Aは、あらかじめ決められた最大試行回数に達するまでロボットシミュレータ12と通信を行ってロボットに相当するモデルを仮想空間で動かすことで、現在の状態から対応策決定部72から出力された目標の状態に遷移するための操作子を獲得する。
例えば、プランナ73Aは、「障害物となっているワークZを取り除く」という目標に対して、ワークZが取り除かれた状態を達成するロボットの各関節の動かし方を獲得し、以降同じ目標を受け取った場合、獲得済みの操作子を用いる。上述のように、プランナ73Aは、ロボットシミュレータ12を介して学習を行い、対応策決定部72から出力された目標を受け取った場合、当該目標を達成するための動作を獲得する。プランナ73Aは、同じエラーが発生した場合、既に獲得した操作子を用いることができる。
スケジューラ74は、ある評価関数を最大又は最小にするスケジュールを生成する過程でロボットシミュレータ12と通信を行う。実施の形態1におけるスケジューラ74は、スケジューラ74にあらかじめ定義された動作のコストを用いて評価関数を最大又は最小にするスケジュールを生成する。スケジューラ74Aは、エラーの状態から復旧するために必要な動作を仮想的に実現するロボットシミュレータ12によって算出される作業時間及び消費エネルギのコストを示す値をもとに、評価関数を最大又は最小にするスケジュールを生成する。
上述の通り、実施の形態4にかかるロボット行動計画システム7Aは、ロボットシミュレータ12によって得られた検証の結果をもとに、新たな動作の獲得及び動作のコストを評価することができる。
図11は、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部の機能がプロセッサ91によって実現される場合のプロセッサ91を示す図である。つまり、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部の機能は、メモリ92に格納されるプログラムを実行するプロセッサ91によって実現されてもよい。プロセッサ91は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、又はDSP(Digital Signal Processor)である。図11には、メモリ92も示されている。
エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部の機能がプロセッサ91によって実現される場合、当該少なくとも一部の機能は、プロセッサ91と、ソフトウェア、ファームウェア、又は、ソフトウェア及びファームウェアとの組み合わせにより実現される。ソフトウェア又はファームウェアは、プログラムとして記述され、メモリ92に格納される。プロセッサ91は、メモリ92に記憶されたプログラムを読み出して実行することにより、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部の機能を実現する。
エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部の機能がプロセッサ91によって実現される場合、ロボット行動計画システム7は、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納するためのメモリ92を有する。メモリ92に格納されるプログラムは、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74が実行する手順又は方法の少なくとも一部をコンピュータに実行させるものであるともいえる。
メモリ92は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)等の不揮発性もしくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はDVD(Digital Versatile Disk)等である。
図12は、実施の形態1にかかるロボット行動計画システム7が有するエラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部が処理回路93によって実現される場合の処理回路93を示す図である。つまり、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74の少なくとも一部は、処理回路93によって実現されてもよい。
処理回路93は、専用のハードウェアである。処理回路93は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらを組み合わせたものである。
エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74が有する複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、エラー評価部71、対応策決定部72、プランナ73及びスケジューラ74が有する複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
実施の形態1にかかるロボットシステム1が有する第1コントローラ3A、第2コントローラ3B、第1内界センサ4A、第2内界センサ4B、外界センサ5及びエラー検出部6の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、第1コントローラ3A、第2コントローラ3B、第1内界センサ4A、第2内界センサ4B、外界センサ5及びエラー検出部6によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納する。
実施の形態1にかかるロボットシステム1が有する第1コントローラ3A、第2コントローラ3B、第1内界センサ4A、第2内界センサ4B、外界センサ5及びエラー検出部6の少なくとも一部は、上述の処理回路93と同等の機能を有する処理回路によって実現されてもよい。
実施の形態2にかかるロボットシステム1Aが有する第1コントローラ3C及び第2コントローラ3Dの少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、第1コントローラ3C及び第2コントローラ3Dによって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納する。第1コントローラ3C及び第2コントローラ3Dの少なくとも一部は、上述の処理回路93と同等の機能を有する処理回路によって実現されてもよい。
実施の形態3にかかるロボット作業検証システム8が有するロボットシミュレータ9及び受付部10の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、ロボットシミュレータ9及び受付部10によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納する。ロボットシミュレータ9及び受付部10の少なくとも一部は、上述の処理回路93と同等の機能を有する処理回路によって実現されてもよい。
実施の形態4にかかるロボット行動計画システム7Aが有するプランナ73A及びスケジューラ74Aの少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、プランナ73A及びスケジューラ74Aによって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納する。プランナ73A及びスケジューラ74Aの少なくとも一部は、上述の処理回路93と同等の機能を有する処理回路によって実現されてもよい。
実施の形態4におけるロボットシミュレータ12の少なくとも一部の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、ロボットシミュレータ12によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納する。ロボットシミュレータ12の少なくとも一部は、上述の処理回路93と同等の機能を有する処理回路によって実現されてもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
1,1A ロボットシステム、2A 第1ロボット、2B 第2ロボット、3A,3C 第1コントローラ、3B,3D 第2コントローラ、4A 第1内界センサ、4B 第2内界センサ、5 外界センサ、6 エラー検出部、7,7A ロボット行動計画システム、8 ロボット作業検証システム、9,12 ロボットシミュレータ、10 受付部、11 表示部、31A 第1動作プログラム、31B 第2動作プログラム、32A 第1通信部、32B 第2通信部、71 エラー評価部、72 対応策決定部、73,73A プランナ、74,74A スケジューラ、75 意味ネットワークマッチング部、76 評価値算出部、91 プロセッサ、92 メモリ、93 処理回路。
Claims (11)
- ロボットにおいてエラーが発生して前記ロボットの動作が停止した場合、前記ロボットの動作の状態を示す情報をもとに、前記エラーの要因と、前記要因の確からしさを示す評価値と、前記要因に対して取り得る解決策とを示す評価情報を生成するエラー評価部と、
前記エラー評価部によって生成された前記評価情報が示す前記評価値をもとに、前記エラーに対する対応策を決定する対応策決定部と、
前記対応策決定部によって決定された前記対応策が前記評価情報によって示される前記解決策である場合、前記解決策にしたがって前記ロボットの動作の手順を示すプランステップを生成するプランナと、
前記プランナによって前記プランステップが生成された場合、前記プランステップにしたがって前記ロボットに動作を再開させるためのスケジュールを生成し、前記対応策決定部によって決定された前記対応策が、前記評価値を精査するための動作を実行させる策、又は、前記ロボットの動作を停止させる策である場合、前記対応策決定部によって決定された前記対応策にしたがって前記ロボットの動作に関連するスケジュールを生成するスケジューラと
を備えることを特徴とするロボット行動計画システム。 - 前記エラー評価部は、
前記ロボットの動作の種類に対応するエラーを記述することが可能な意味ネットワークを構築して前記要因を抽出する意味ネットワークマッチング部と、
前記要因の根拠となる観測情報を取得し、前記観測情報と前記意味ネットワークマッチング部によって抽出された前記要因とをもとに、前記評価値を算出する評価値算出部とを有し、
前記観測情報は、前記ロボットの動作の状態を示す情報である
ことを特徴とする請求項1に記載のロボット行動計画システム。 - 前記対応策決定部は、
前記評価値があらかじめ決められた閾値より大きいか否かを判断し、
前記評価値が前記閾値より大きいと判断した場合、前記対応策が前記評価情報によって示される前記解決策であると決定し、
前記評価値が前記閾値以下であると判断した場合、前記評価値を精査するための動作を実行することが可能であるか否かを判断し、
前記評価値を精査するための動作を実行することが可能であると判断したとき、前記対応策が、前記評価値を精査するための動作を実行させる策であると決定し、
前記評価値を精査するための動作を実行することが不可能であると判断したとき、前記対応策が、前記ロボットの動作を停止させる策であると決定する、又は、
前記対応策が、前記ロボットの動作を停止させる策であると決定する
ことを特徴とする請求項1に記載のロボット行動計画システム。 - 前記対応策決定部は、
前記閾値と、前記評価値を精査するための動作を実行することが可能であるか否かを判断するための試行回数であって前記ロボットに許可された動作の試行回数とを受け付けて記憶する機能を有し、
前記評価値が記憶した前記閾値より大きいか否かを判断し、
記憶した前記試行回数を用いて、前記評価値を精査するための動作を実行することが可能であるか否かを判断する
ことを特徴とする請求項3に記載のロボット行動計画システム。 - 前記対応策決定部は、前記プランステップのプランニングの目標を前記プランナに出力する機能を有し、
前記プランナは、前記対応策決定部から出力された前記目標を受け取った場合、前記エラーが発生したことにより前記ロボットの動作が停止した時点を新たな初期状態に設定し、当初の目標の状態を達成するまでに必要とされる前記ロボットの動作を示す前記プランステップを生成すると共に、前記プランステップと前記プランステップを実行する際の順序の制約とを含むプランを生成する
ことを特徴とする請求項1に記載のロボット行動計画システム。 - 前記プランナは、動作を実行するロボットに相当するモデルを仮想空間で動かすロボットシミュレータを介して学習を行い、前記対応策決定部から出力された前記目標を受け取った場合、前記目標を達成するための動作を獲得する
ことを特徴とする請求項5に記載のロボット行動計画システム。 - 前記スケジューラは、必要なプランステップを複数のロボットに割り当てる場合、実行される動作の順序の制約を満たしつつ、前記複数のロボットの動作が完了するまでの時間及びエネルギのコストが最小となるスケジュールを生成し、
前記複数のロボットのうちのひとつのロボットは、エラーが発生した前記ロボットである
ことを特徴とする請求項1に記載のロボット行動計画システム。 - 請求項1から7のいずれか1項に記載のロボット行動計画システムと、
動作を実行する前記ロボットと、
前記ロボット行動計画システムによって生成された前記スケジュールをもとに、前記ロボットの動作についての指令を前記ロボットに出力するコントローラと、
前記ロボットの内部の状態を観測する内界センサと、
前記ロボットの外部の状態を観測する外界センサと、
前記内界センサ及び前記外界センサによって検出された値をもとに、前記ロボットにおいてエラーが発生したときの前記エラーを検出するエラー検出部と
を備えることを特徴とするロボットシステム。 - 前記エラー検出部は、前記内界センサ及び前記外界センサによって検出された値をもとに異常を診断することができるニューラルネットワークを学習し、前記ニューラルネットワークを用いて前記エラーを検出する
ことを特徴とする請求項8に記載のロボットシステム。 - 請求項1から7のいずれか1項に記載のロボット行動計画システムと、
前記ロボット行動計画システムによって生成された前記スケジュールを検証するロボットシミュレータとを備え、
前記ロボットは、仮想のロボットである
ことを特徴とするロボット作業検証システム。 - ロボットにおいてエラーが発生して前記ロボットの動作が停止した場合、前記ロボットの動作の状態を示す情報をもとに、前記エラーの要因と、前記要因の確からしさを示す評価値と、前記要因に対して取り得る解決策とを示す評価情報を生成するステップと、
生成された前記評価情報が示す前記評価値をもとに、前記エラーに対する対応策を決定するステップと、
決定された前記対応策が前記評価情報によって示される前記解決策である場合、前記解決策にしたがって前記ロボットの動作の手順を示すプランステップを生成するステップと、
前記プランステップが生成された場合、前記プランステップにしたがって前記ロボットに動作を再開させるためのスケジュールを生成し、決定された前記対応策が、前記評価値を精査するための動作を実行させる策、又は、前記ロボットの動作を停止させる策である場合、決定された前記対応策にしたがって前記ロボットの動作についてのスケジュールを生成するステップと
を含むことを特徴とするロボット行動計画方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/034999 WO2021044583A1 (ja) | 2019-09-05 | 2019-09-05 | ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 |
JP2019572239A JP6685483B1 (ja) | 2019-09-05 | 2019-09-05 | ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 |
DE112019007691.4T DE112019007691T5 (de) | 2019-09-05 | 2019-09-05 | System zum planen von roboterhandlungen, robotersystem, roboteraufgabenverifizierungssystem und verfahren zum planen von roboterhandlungen |
CN201980099875.2A CN114340855B (zh) | 2019-09-05 | 2019-09-05 | 机器人行动计划系统、机器人系统、机器人作业验证系统及机器人行动计划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/034999 WO2021044583A1 (ja) | 2019-09-05 | 2019-09-05 | ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021044583A1 true WO2021044583A1 (ja) | 2021-03-11 |
Family
ID=70286859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/034999 WO2021044583A1 (ja) | 2019-09-05 | 2019-09-05 | ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6685483B1 (ja) |
CN (1) | CN114340855B (ja) |
DE (1) | DE112019007691T5 (ja) |
WO (1) | WO2021044583A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112388678B (zh) * | 2020-11-04 | 2023-04-18 | 公安部第三研究所 | 一种基于低功耗模式识别技术的行为检测机器人 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003211379A (ja) * | 2002-01-18 | 2003-07-29 | Honda Motor Co Ltd | 移動ロボットの異常検知装置 |
JP2006000954A (ja) * | 2004-06-16 | 2006-01-05 | Sony Corp | ロボット装置の制御システム及び制御方法 |
US20150266472A1 (en) * | 2012-09-05 | 2015-09-24 | Google Inc. | Construction Zone Object Detection Using Light Detection and Ranging |
US20150266182A1 (en) * | 2012-10-11 | 2015-09-24 | Abb Technology Ltd | Method And An Apparatus For Automatically Generating A Collision Free Return Program For Returning A Robot From A Stop Position To A Predefined Restart Position |
JP2018051686A (ja) * | 2016-09-29 | 2018-04-05 | 川崎重工業株式会社 | ロボット復旧支援装置及びそれを備えるロボットシステム |
JP2018065221A (ja) * | 2016-10-19 | 2018-04-26 | ファナック株式会社 | 機械学習により外力の検出精度を向上させた人協調ロボットシステム |
WO2018218124A1 (en) * | 2017-05-26 | 2018-11-29 | Cummins Inc. | Method of fault isolation for systems with existing diagnostics |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4658892B2 (ja) * | 2006-10-02 | 2011-03-23 | 本田技研工業株式会社 | 移動ロボット、並びに、移動ロボットの制御装置、移動ロボットの制御方法及び移動ロボットの制御プログラム |
JP4924091B2 (ja) * | 2007-02-23 | 2012-04-25 | オムロン株式会社 | Fmeaシート作成装置 |
KR101255948B1 (ko) * | 2009-02-12 | 2013-04-23 | 고쿠리츠 다이가쿠 호진 교토 다이가쿠 | 산업용 로봇 시스템 |
JP6633477B2 (ja) | 2016-08-29 | 2020-01-22 | ファナック株式会社 | 複数の製造設備からなる生産設備の稼働停止時に原因を特定する機能を備えた生産制御装置 |
CN107696034A (zh) * | 2017-09-30 | 2018-02-16 | 东北大学 | 一种针对工业机器人的错误自主恢复方法 |
-
2019
- 2019-09-05 DE DE112019007691.4T patent/DE112019007691T5/de active Pending
- 2019-09-05 JP JP2019572239A patent/JP6685483B1/ja active Active
- 2019-09-05 WO PCT/JP2019/034999 patent/WO2021044583A1/ja active Application Filing
- 2019-09-05 CN CN201980099875.2A patent/CN114340855B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003211379A (ja) * | 2002-01-18 | 2003-07-29 | Honda Motor Co Ltd | 移動ロボットの異常検知装置 |
JP2006000954A (ja) * | 2004-06-16 | 2006-01-05 | Sony Corp | ロボット装置の制御システム及び制御方法 |
US20150266472A1 (en) * | 2012-09-05 | 2015-09-24 | Google Inc. | Construction Zone Object Detection Using Light Detection and Ranging |
US20150266182A1 (en) * | 2012-10-11 | 2015-09-24 | Abb Technology Ltd | Method And An Apparatus For Automatically Generating A Collision Free Return Program For Returning A Robot From A Stop Position To A Predefined Restart Position |
JP2018051686A (ja) * | 2016-09-29 | 2018-04-05 | 川崎重工業株式会社 | ロボット復旧支援装置及びそれを備えるロボットシステム |
JP2018065221A (ja) * | 2016-10-19 | 2018-04-26 | ファナック株式会社 | 機械学習により外力の検出精度を向上させた人協調ロボットシステム |
WO2018218124A1 (en) * | 2017-05-26 | 2018-11-29 | Cummins Inc. | Method of fault isolation for systems with existing diagnostics |
Also Published As
Publication number | Publication date |
---|---|
JP6685483B1 (ja) | 2020-04-22 |
CN114340855B (zh) | 2024-05-07 |
CN114340855A (zh) | 2022-04-12 |
JPWO2021044583A1 (ja) | 2021-09-27 |
DE112019007691T5 (de) | 2022-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11198214B2 (en) | Method for operating a robot in a multi-agent system, robot and multi-agent system | |
JP6444851B2 (ja) | ノイズの発生原因を検出する学習機能を有する制御装置 | |
JP5436460B2 (ja) | 産業用ロボットシステム | |
CN113490578B (zh) | 运行多智能体系统中的机器人的方法、机器人和多智能体系统 | |
JPWO2019225746A1 (ja) | ロボットシステム及び追加学習方法 | |
Chakraborti et al. | Planning with resource conflicts in human-robot cohabitation | |
Rahman | Cognitive cyber-physical system (C-CPS) for human-robot collaborative manufacturing | |
JP2021526982A (ja) | ロボットの予測制御方法及び関係する制御システム | |
Mohebbi et al. | Mechatronic multicriteria profile (MMP) for conceptual design of a robotic visual servoing system | |
CN112131754B (zh) | 基于机器人伴随行为模型的扩展pomdp规划方法及系统 | |
WO2021044583A1 (ja) | ロボット行動計画システム、ロボットシステム、ロボット作業検証システム及びロボット行動計画方法 | |
EP1894682A2 (en) | Robotic programming control using multiple binary input | |
Akkaladevi et al. | Semantic knowledge based reasoning framework for human robot collaboration | |
Wittenberg | Challenges for the human-machine interaction in times of digitization, CPS & IIoT, and artificial intelligence in production systems | |
Jayasiri et al. | Generalizing the decentralized control of fuzzy discrete event systems | |
CN111984000A (zh) | 用于自动影响执行器的方法和设备 | |
Gotlieb et al. | Testing Industrial Robotic Systems: A New Battlefield! | |
Wu et al. | Automated behavior tree error recovery framework for robotic systems | |
Mohebbi et al. | Fuzzy decision making for conceptual design of a visual servoing system using mechatronic multi-criteria profile (MMP) | |
Ming et al. | HiCRISP: A Hierarchical Closed-Loop Robotic Intelligent Self-Correction Planner | |
Gharbi | Faulty control system | |
Kiesbye et al. | Planning via model checking with decision-tree controllers | |
Sheetz et al. | Composable Causality in Semantic Robot Programming | |
Matsuoka et al. | Hierarchical planning for error recovery in automated industrial robotic systems | |
Yang et al. | The accompanying behavior model and implementation architecture of autonomous robot software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2019572239 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19944265 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19944265 Country of ref document: EP Kind code of ref document: A1 |