WO2020138461A1 - ロボット制御装置、ロボットシステム及びロボット制御方法 - Google Patents

ロボット制御装置、ロボットシステム及びロボット制御方法 Download PDF

Info

Publication number
WO2020138461A1
WO2020138461A1 PCT/JP2019/051530 JP2019051530W WO2020138461A1 WO 2020138461 A1 WO2020138461 A1 WO 2020138461A1 JP 2019051530 W JP2019051530 W JP 2019051530W WO 2020138461 A1 WO2020138461 A1 WO 2020138461A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
learned model
data
base
learned
Prior art date
Application number
PCT/JP2019/051530
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 CN201980086543.0A priority Critical patent/CN113412177B/zh
Priority to EP19902019.9A priority patent/EP3904016A4/en
Priority to US17/418,997 priority patent/US12036675B2/en
Publication of WO2020138461A1 publication Critical patent/WO2020138461A1/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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/33Director till display
    • G05B2219/33034Online learning, training
    • 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/33Director till display
    • G05B2219/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36039Learning task dynamics, process
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36489Position and force
    • 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/39001Robot, manipulator control
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40032Peg and hole insertion, mating and joining, remote center compliance
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40102Tasks are classified in types of unit motions
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer

Definitions

  • the present invention mainly relates to a robot control device that controls a robot.
  • Patent Document 1 discloses a robot control device of this type.
  • Patent Document 1 discloses a robot system including a machine learning device that can learn the optimal operation of a robot when a randomly placed work is taken out without human intervention.
  • Patent Document 1 As described above, even if a learned model relating to the operation of the robot for executing a series of work is constructed, the user confirms what kind of operation the learned model learned the work. I could't. Therefore, it is difficult for the user to be convinced to use the output of the learned model for the autonomous movement of the robot, and there is room for improvement in this respect.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a robot control device or the like that makes it easy for the user to be satisfied with the operation of the robot based on the prediction of the learned model.
  • the robot control device includes a learned model, a control data acquisition unit, a base learned model, a motion label storage unit, a base learned model combination information acquisition unit, and an information output unit.
  • the learned model uses the state of the robot and its surroundings as input data when a human operates the robot to perform a series of work, and outputs the operation of the human according to it or the operation of the robot by the operation. It is constructed by learning work data as data.
  • the control data acquisition unit outputs output data regarding a human operation or a robot motion estimated in accordance with the input data related to the state of the robot and its surroundings from the learned model. By obtaining it, the control data of the robot for performing the work is obtained.
  • the base-learned model uses the state of the robot and its surroundings as input data when a human operates the robot to perform a simpler operation than the series of work, and the human operation or the operation according to the input data.
  • the action label storage unit stores an action label including information expressing the content of the action in association with the base learned model.
  • the base learned model combination information acquisition unit obtains the similarity between the learned model and each of the base learned models, so that the learned model is a combination of a plurality of the base learned models. Acquire combination information when expressing.
  • the information output unit outputs the action label corresponding to each of the base learned models expressing the learned model by a plurality of combinations based on the combination information.
  • a robot control method having the following configuration is provided. That is, in this robot control method, when a human operates the robot to perform a series of work, the state of the robot and its surroundings is used as input data, and the human operation according to the input data or the operation of the robot by the operation.
  • the model constructed by learning the work data whose output data is is called a learned model.
  • the state of the robot and its surroundings is used as input data, and the human operation or the corresponding operation is performed.
  • a model constructed for each of the plurality of motions by learning work data whose output is the motion of the robot by an operation is called a base learned model.
  • This robot control method includes a control data acquisition step, a motion label storage step, a base learned model combination information acquisition step, and an information output step.
  • the control data acquisition step when input data related to the state of the robot and its surroundings is input to the learned model, output data related to human operation or robot motion estimated accordingly is output from the learned model. By obtaining it, the control data of the robot for performing the work is obtained.
  • the action label storing step an action label including information expressing the content of the action is stored in association with the base learned model.
  • the base learned model combination information acquisition step the learned model is obtained by combining a plurality of the base learned models by acquiring the similarity between the learned model and each of the base learned models. Acquire combination information when expressing.
  • the action label corresponding to each of the base trained models expressing the trained model by a plurality of combinations is output based on the combination information.
  • the present invention it is possible to provide a robot control device or the like in which it is easy for the user to be satisfied with the operation of the robot based on the prediction of the learned model.
  • FIG. 3 is a block diagram showing an electrical configuration of a robot system according to an embodiment of the present invention.
  • FIG. 1 is a block diagram showing an electrical configuration of a robot system 1 according to an embodiment of the present invention.
  • the robot system 1 shown in FIG. 1 is a system that uses a robot 10 to perform work. There are various tasks to be performed by the robot 10, but there are, for example, assembling, processing, painting and cleaning.
  • the robot 10 is controlled using a model (learned model 43) constructed by machine learning data. Therefore, the robot system 1 basically does not need the assistance of the user and can perform the work autonomously. Further, the robot 10 can not only work autonomously, but also work according to a user's operation. In the following description, the autonomous operation of the robot 10 may be referred to as “autonomous operation”, and the operation of the robot 10 according to a user operation may be referred to as “manual operation”.
  • the robot system 1 includes a robot 10 and a robot controller 15.
  • the robot 10 and the robot controller 15 are connected to each other by wire or wirelessly and can exchange signals.
  • the robot 10 has an arm attached to a pedestal.
  • the arm portion has a plurality of joints, and each joint is equipped with an actuator.
  • the robot 10 operates the arm unit by operating the actuator according to the operation command input from the outside.
  • the end effector selected according to the work contents is attached to the tip of the arm part.
  • the robot 10 can operate the end effector according to the operation command input from the outside.
  • the robot 10 is equipped with a sensor for detecting the operation of the robot 10 and the surrounding environment.
  • the motion sensor 11, the force sensor 12, and the camera 13 are attached to the robot 10.
  • the motion sensor 11 is provided for each joint of the arm portion of the robot 10, and detects the rotation angle or angular velocity of each joint.
  • the force sensor 12 detects the force received by the robot 10 when the robot 10 operates.
  • the force sensor 12 may be configured to detect the force applied to the end effector, or may be configured to detect the force applied to each joint of the arm portion. Further, the force sensor 12 may be configured to detect a moment instead of or in addition to the force.
  • the camera 13 detects an image of a work as a work target (progress of work on the work).
  • the data detected by the motion sensor 11 is motion data indicating the motion of the robot 10.
  • the data detected by the force sensor 12 and the camera 13 is ambient environment data indicating the environment around the robot 10.
  • Data obtained by integrating the operation data and the ambient environment data may be referred to as state data in the following description.
  • the state data indicates the state of the robot 10 and its surroundings.
  • the motion sensor 11, the force sensor 12, and the camera 13 provided on the robot 10 may be collectively referred to as “state detection sensors 11 to 13”. Further, the data detected by the state detection sensors 11 to 13 may be particularly referred to as "sensor information”. The state detection sensors 11 to 13 may be provided around the robot 10 instead of being attached to the robot 10.
  • the robot controller 15 includes a user interface unit 20, a motion switching unit (control data acquisition unit) 30, an AI unit 40, a motion label storage unit 50, a base learned model combination information acquisition unit 60, and a data comparison unit. (Comparing unit) 70.
  • the robot controller 15 is a computer including a CPU, ROM, RAM, and HDD.
  • the computer includes a device such as a mouse for a user to operate. It is preferable that the computer has a GPU because learning by a neural network described later can be performed in a short time.
  • a program for operating the robot controller 15 is stored in the HDD.
  • the robot controller 15 is configured to include the user interface unit 20, the motion switching unit 30, the AI unit 40, the motion label storage unit 50, the base learned model combination information acquisition unit 60, and the data. It can function as the comparison unit 70.
  • the user interface unit 20 realizes the user interface function of the robot controller 15.
  • the user interface unit 20 includes an operation unit 21 and a display unit (information output unit) 22.
  • the operation unit 21 is a device used to manually operate the robot 10.
  • the operation unit 21 can be configured to include, for example, a lever and a pedal.
  • the operation unit 21 includes a known operation force detection sensor.
  • the operation force detection sensor detects a force (operation force) applied by the user to the operation unit 21.
  • the operation force may be a value including the direction and magnitude of the force, for example, a vector.
  • the operation force is detected not only in the force (N) applied by the user but also in the form of acceleration (that is, a value obtained by dividing the force applied by the user by the mass of the operation unit 21) which is a value linked to the force. May be.
  • the operation force applied by the user to the operation unit 21 may be particularly referred to as “user operation force”.
  • the user operation force output by the user operating the operation unit 21 is converted into an operation command by the operation switching unit 30 as described later.
  • the display unit 22 can display various information according to the user's instruction.
  • the display unit 22 can be, for example, a liquid crystal display.
  • the display unit 22 is arranged near the operation unit 21. When the operation unit 21 is arranged apart from the robot 10, the display unit 22 may display an image of the robot 10 and its surroundings.
  • the robot 10, the operation unit 21, and the AI unit 40 are connected to the operation switching unit 30.
  • the user operation force output by the operation unit 21 and the later-described estimated operation force output by the AI unit 40 are input to the operation switching unit 30.
  • the operation switching unit 30 outputs an operation command for operating the robot 10 to the robot 10 and the AI unit 40.
  • the operation switching unit 30 includes a switching unit 31 and a conversion unit 32.
  • the switching unit 31 is configured to output one of the input user operation force and estimated input operation force to the conversion unit 32.
  • the switching unit 31 is configured to output the user operation force or the estimated operation force to the conversion unit 32 based on a selection signal indicating which of the user operation force and the estimated operation force is to be converted.
  • the selection signal is output from the user interface unit 20 to the operation switching unit 30 by the user appropriately operating the user interface unit 20.
  • the user Based on the detection value of the sensor for detecting the operation of the operation unit 21, the user operates the operation unit 21 based on which of the user operation force and the estimated operation force the robot 10 is operated. It may be done automatically depending on the situation. That is, when the user is substantially operating the operation unit 21, the switching unit 31 outputs the user operation force to the conversion unit 32, and when not, the switching unit 31 outputs the estimated operation force to the conversion unit 32. Output.
  • the conversion unit 32 converts either the user operation force or the estimated operation force input from the switching unit 31 into an operation command for operating the robot 10, and outputs the operation command to the robot 10 and the AI unit 40.
  • the operation command can be paraphrased as control data for controlling the robot 10.
  • the AI unit 40 includes a learned model 43 constructed to perform a series of work by the autonomous operation of the robot 10.
  • the learned model 43 used in the AI unit 40 may have any format, and for example, a model using a neural network can be used.
  • the learned model 43 may be constructed (particularly, the first construction) in the robot controller 15 or in another computer.
  • the data input unit 41 functions as an interface on the input side of the AI unit 40. Sensor information output from the state detection sensors 11 to 13 is input to the data input unit 41.
  • the estimated data output unit 42 functions as an interface on the output side of the AI unit 40.
  • the estimated data output unit 42 can output data based on the model constructed by the AI unit 40 by machine learning.
  • the AI unit 40 builds a learned model 43 by learning the operation of the robot 10 performed by the user using the operation unit 21. Specifically, the sensor information input from the state detection sensors 11 to 13 and the operating force obtained by the operating force detection sensor are input to the AI unit 40. This operating force corresponds to the above-mentioned user operating force.
  • the user can cause the AI unit 40 to construct the learned model 43 used for causing the robot 10 to perform a series of work for inserting a work into the opening of a member, for example.
  • the user operates the operation unit 21 to operate the robot 10, for example, as shown below. That is, the work is pulled out by the robot 10 (pulling operation). Then, the work is conveyed to a position above the member (conveying operation). Next, the work is inserted into the opening of the member (insertion operation).
  • the details of the operation are as follows. That is, (1) the work located above the member is moved downward (that is, the work is lowered), and the work is brought into contact with the surface of the member. (2) While pressing the work lightly against the surface of the member, the work is moved to the position of the opening along the surface of the member, and the work is positioned inside the opening. (3) The work is lowered while the work is positioned inside the opening.
  • the state of the robot 10 and its surroundings and the user operation force obtained by the user operating the operation unit 21 accordingly may be collectively referred to as a phase of the robot 10.
  • the learned model 43 used in the AI unit 40 is composed of a map of a multidimensional space.
  • the AI section 40 is input with the data of the phase of the robot 10 (phase data) obtained by integrating the sensor information and the user operation force.
  • phase data the data of the phase of the robot 10 obtained by integrating the sensor information and the user operation force.
  • This set of phase data corresponds to the work data that is the target of machine learning.
  • FIG. 2 shows how phase data for learning is acquired when the user operates the robot 10 to perform a series of tasks.
  • the aspect data is repeatedly acquired at equal intervals or unequal intervals in time.
  • the phase data for each time is composed of the output value of the state sensor and the output value of the operating force detection sensor.
  • the output value of the state sensor is acquired a plurality of times at fine time intervals even in one piece of phase data.
  • the output value of the operating force detection sensor is acquired once for each piece of phase data.
  • the phase data is repeatedly acquired as described above in the process of performing a series of operations, and is sequentially input to the AI unit 40.
  • the phase data changes variously in the process in which the user operates the robot 10 to perform a series of operations.
  • the AI unit 40 plots feature vectors corresponding to the phase data obtained one after another in the multidimensional space of the learned model 43.
  • Clustering is a method of learning a distribution law from a large number of data and acquiring a plurality of clusters, which are a group of data having similar features.
  • a known non-hierarchical clustering method can be appropriately used as the clustering method.
  • a plurality of clusters in which similar phases are grouped together can be obtained.
  • the number of clusters in clustering can be set appropriately.
  • the learned model 43 constructed by the AI unit 40 is obtained as a distribution of a plurality of clusters in a multidimensional space, as schematically shown in FIG.
  • This cluster corresponds to a characteristic phase through which the robot 10 performs a series of operations.
  • the time series order of each cluster is required. Since the series of operations of the robot 10 can be expressed as the sequence data arranged in chronological order, the chronological order of each cluster can be obtained using the information of this order.
  • the AI unit 40 subsequently calculates, in each cluster, phase data representing the cluster.
  • the representative aspect data may be referred to as a node.
  • the phase data corresponding to the center of gravity of each cluster can be used.
  • sensor information at a certain point is input to the learned model 43.
  • the learned model 43 determines one or a plurality of nodes having characteristics similar to the sensor information. Since the sensor information does not include the detection value of the operation force detection sensor, when calculating the similarity between the sensor information and the node, the dimension related to the detection value of the operation force detection sensor is ignored.
  • the degree of similarity can be obtained by a known calculation formula (for example, Euclidean distance).
  • the learned model 43 obtains the user operation force (in other words, the detection value of the operation force detection sensor) included in the phase data of the node.
  • the user operation forces of the plurality of nodes are appropriately combined.
  • the learned model 43 outputs the obtained user operation force as the estimated operation force described above. By using this estimated operating force, the autonomous operation of the robot 10 can be realized.
  • the AI unit 40 can output a progress degree indicating which progress degree the user operation force to output corresponds to the progress degree of the series of work, based on the information in the time series order of the clusters. ..
  • the degree of progress takes a value in the range of 0 to 100, and the closer to 100, the more the series of work is progressing.
  • the progress value is predetermined so as to increase stepwise and cumulatively in accordance with the order of operations shown by each cluster.
  • a base learned model 44 different from the learned model 43 described above is constructed separately.
  • a plurality of base learned models 44 are provided corresponding to each of the typical basic operations (for example, pulling operation, carrying operation, inserting operation, etc.) included in the learned model 43.
  • Each base trained model 44 is configured as a map of a multidimensional space of the same format as the trained model 43.
  • the learned data is different between the base learned model 44 and the learned model 43.
  • the operation unit 21 is operated so as to cause the robot 10 to perform a simpler operation than in the case of the learned model 43, and learning is performed based on this.
  • the base learned model 44 is constructed for each operation.
  • the pull-out operation base-learned model 44 learns only the pull-out operation
  • the transport operation base-learned model 44 learns only the transport operation
  • the insert operation base-learned model 44 learns only the insert operation.
  • the user operates the operation unit 21 to cause the robot 10 to perform the drawing operation, and the phase data acquired at this time is input to the AI unit 40.
  • the AI unit 40 plots the feature vector corresponding to the phase data obtained one after another in the multidimensional space of the base learned model 44. After that, clustering is performed on the situation data plotted in the multidimensional space of the base learned model 44.
  • the base learned model 44 is obtained as a distribution of a plurality of clusters in the multidimensional space, as schematically shown in the lower left of FIG.
  • each base learned model 44 may be different.
  • the construction of each base learned model 44 may be performed by a computer different from the computer on which the learned model 43 is constructed.
  • the motion label storage unit 50 stores information specifying the content of the motion learned by the base learned model 44 in association with the base learned model 44.
  • the information that identifies the content of the action is typically a string of action names. For example, it is conceivable to give the base-learned model 44 of the drawing operation the name "drawing". The name is appropriately set when the base learned model 44 is constructed. Hereinafter, this name may be called an action label.
  • the base learned model combination information acquisition unit 60 acquires combination information when the learned model 43 is represented by a combination of a plurality of base learned models 44.
  • the base learned model combination information acquisition unit 60 first compares each of the plurality of base learned models 44 with the learned model 43, and the base learned model 44 is a part of the learned model 43. And is similar to. This determination can be made based on whether or not the shapes/positions of the respective clusters in the multidimensional space are similar. For example, focusing on one cluster of the base learned model 44, the cluster of the learned model 43 having the center of gravity position closest to the center of gravity of the cluster is obtained, and the distance between the centers of gravity of the two clusters is obtained. The above process is performed for all the clusters of the base learned model 44, and if the average value of the distances between the cluster centroids is smaller than a predetermined value, it can be determined that the cluster distributions are similar.
  • the base learned model combination information acquisition unit 60 acquires combination information based on the above determination result.
  • the combination information is information indicating what combination of the base learned model 44 the learned model 43 can represent.
  • a part of the distribution of the clusters in the multidimensional space of the learned model 43 is similar to the distribution of the clusters of the base learned model 44 of the drawing operation, and the remaining part of the distribution of the transporting operation. It is assumed that the distribution of the clusters of the base learned model 44 is similar.
  • the learned model 43 can be expressed by a combination of the base learning completed model 44 of the pulling operation and the base learning completed model 44 of the transport operation. In this way, by comparing with the base learned model 44, the operation learned by the learned model 43 can be decomposed and grasped.
  • the aspect data when each of the trained model 43 and the base trained model 44 is constructed is normalized by a known method. Thereby, the learned model 43 and the base learned model 44 can be easily compared.
  • the trained model 43 requires the time series order of each cluster. Therefore, by applying the correspondence relationship between the cluster and the cluster in each base-learned model 44 to the information in the time-series order, it is possible to obtain the time-series pre-post relationship of the base-learned model 44 related to the combination. it can. This means that it is possible to acquire the combination information in consideration of the time-series order of the operation of the robot 10.
  • the time-series predecessor relationship may be expressed using the above-mentioned progress degree.
  • -Comparison of models for acquiring combination information can also be performed as follows. That is, when the learned model 43 causes the robot 10 to perform a series of work, the state detection sensors 11 to 13 are used to acquire sensor information in time series.
  • the base learned model combination information acquisition unit 60 inputs this sensor information to the learned model 43 and the respective base learned models 44, as shown in FIG.
  • the learned model 43 and the base learned model 44 each output a series of estimated operating forces, but the base learned model combination information acquisition unit 60 compares the estimated outputs with each other to thereby learn the learned model 43 and the base learning. It is determined whether or not there is a time-series section that is similar to the completed model 44. As described above, the combination information considering the time-series order of the operation of the robot 10 is obtained.
  • the clusters used when each of the learned model 43 and the base learned model 44 outputs the estimated operating force are obtained.
  • the determination as to whether the used clusters are similar to each other may be performed together.
  • the used cluster means a cluster to which a node close to the input sensor information belongs in the estimation phase described in FIG. This allows the models to be compared more appropriately.
  • the robot controller 15 can display the operation label corresponding to each of the base learned model 44 expressing the learned model 43 on the display unit 22 of the user interface unit 20.
  • the base-learned model combination information acquisition unit 60 acquires combination information in consideration of the time-series order of the operation of the robot 10. Utilizing this, the robot control device 15 can display the operation labels on the display unit 22 side by side, for example, from top to bottom in the operation order of the robot 10, as shown in the upper side of FIG. 7. By viewing this display, the user can easily understand what kind of combination the actions learned by the learned model 43 are (including the time-series order of the actions).
  • the motion represented by the base-learned model 44 can be decomposed into a combination of more detailed motions.
  • This decomposition can be realized by providing the data input unit 41 with a learned model (sub-base learned model) constructed by learning the detailed operation.
  • the operation learned by the “inserted” base-learned model 44 is “down” and “pressing search” according to the detailed operations described in (1) to (3) above. Then, it can be further decomposed into the operation of "descent in the hole".
  • the robot controller 15 can display the action label of the sub-base learned model corresponding to the action on the display unit 22, as shown in the upper side of FIG. This allows the user to hierarchically decompose and understand the operation learned by the learned model 43.
  • the certainty factor is a parameter used to evaluate whether the motion of the robot 10 is likely (in other words, whether the output estimated by the learned model 43 is likely).
  • the learned model 43 of the AI unit 40 has previously learned the correspondence relationship between the state of the robot 10 and its surroundings and the user operation force by the user's operation performed at that time.
  • the learned model 43 operates based on the law acquired from many known states. It is expected that the learned model 43 will output an appropriate estimated operating force even in an unknown situation due to the generalization ability originally possessed by the machine learning model.
  • human beings are placed in a completely new situation that is difficult to predict based on past experience, it is difficult to act with confidence. It can be said that the more distant the learned state is, the less certainty the estimation result has. In this sense, the certainty factor indicates the certainty of the estimation.
  • sensor information is input to the learned model 43 in the estimation phase of the learned model 43. If this sensor information resembles any one of the nodes of the plurality of clusters, the state is similar to the state experienced in the past, and it is considered that the estimation becomes inaccurate. Based on this idea, the certainty factor can be calculated by obtaining the most similar node to the sensor information input to the learned model 43 and using the degree of similarity of the sensor information to the node.
  • the robot control device 15 can display the relationship between the operation of the robot 10 and the certainty factor on the display unit 22.
  • a graph having the horizontal axis as the work order and the vertical axis as the confidence factor value is displayed on the display unit 22.
  • the user can easily confirm the action for which learning is insufficient (in other words, the action that has a low certainty factor and should be corrected).
  • the robot controller 15 may display an action label indicating an action having a certainty value equal to or greater than a predetermined value and an action label indicating an action having a certainty value less than the predetermined value in different display modes. ..
  • an action label having a low certainty factor may be displayed in different colors or marked so as to be emphasized so as to stand out more than others.
  • the action label corresponding to the obtained certainty factor can be obtained as follows. That is, the robot controller 15 uses the time-series sensor information input to the learned model 43 when acquiring the certainty factor as the base learned model 44 related to the operation obtained by decomposing the operation of the learned model 43. Also enter each. Although the learned model 43 and the base learned model 44 each output the estimated operating force, the robot controller 15 obtains a time-series section in which a series of estimated outputs are similar to each other. Based on this correspondence, it is possible to obtain a certainty interval (in other words, a time-series position of the motion) corresponding to one motion label.
  • a certainty interval in other words, a time-series position of the motion
  • the user selects an action label displayed on the display unit 22 and performs a predetermined operation to delete the action corresponding to the selected action label from the learning content of the learned model 43.
  • You can Selecting the motion label is substantially the same as indicating the time-series position of the motion.
  • the deletion of the learning content can be realized by deleting the part corresponding to the cluster of the base learned model 44 corresponding to the selected motion label among the clusters formed in the learned model 43.
  • the user can correct an operation for which learning is insufficient by using new phase data (additional phase data as additional work data) after deleting an operation with a low confidence value. This is equivalent to replacing the learning content corresponding to a part of the learning content of the learned model 43. In this manner, the user can pay attention to the motion label displayed on the display unit 22 and perform the correction work by designating the corresponding position of the work flow in the learned model 43. It is possible to carry out the correction work efficiently with a feeling like.
  • phase data used for correction need only include data related to the operation to be corrected, and may correspond to a part of the series of operations. Therefore, the time and effort for collecting data for re-learning can be significantly reduced.
  • the robot control device 15 of the present embodiment can edit the learning content of the learned model 43 in units of motion labels. As a result, an intuitive and easy-to-understand operation is possible.
  • a series of phase data for evaluation may be input to the AI unit 40.
  • the robot controller 15 displays the progress corresponding to the motion estimated from the current phase data on the display unit 22 and displays the motion label corresponding to the motion in a display mode different from the others. good.
  • the learned model 43 is insufficiently learned, the user can easily understand which part of the operation causes the problem by looking at the display unit 22.
  • the user operates the robot 10 in real time to generate phase data, builds the learned model 43, and displays the combination of the motions of the robot 10 based on the built learned model 43 on the display unit 22. Can be made. Therefore, the user can confirm whether or not the combination of the motions represented by the learned model 43 is as intended by the user while the operation feeling when operating the robot 10 remains. Therefore, the user can easily understand what kind of operation has been learned on the spot. Moreover, while the feeling of operating the robot 10 is fresh, the user can flexibly perform the correction work of the learned model 43 as needed, by utilizing the feeling.
  • the degree of coincidence is the degree of coincidence between the output data output from the learned model 43 and the output data included in the unlearned situation data when the unlearned situation data is input to the learned model 43. This is a parameter for evaluation.
  • the degree of coincidence is acquired by the data comparison unit 70 included in the robot control device 15 performing a comparison process.
  • the robot controller 15 can display the degree of coincidence on the display unit 22 in relation to the time series of the operation of the robot 10. For example, it is conceivable to display a graph in which the horizontal axis represents the order of work and the vertical axis represents the value of the degree of coincidence on the display unit 22.
  • the user can easily understand which motion of the learned model 43 matches the unlearned phase data and which motion does not match by looking at the displayed matching degree. Therefore, the user can conveniently predict whether or not it is appropriate to make the learned model 43 additionally learn the above-described additional aspect data, which is convenient.
  • the robot controller 15 acquires the learned model 43, the motion switching unit 30, the base learned model 44, the motion label storage unit 50, and the base learned model combination information.
  • the unit 60 and the display unit 22 are provided.
  • the learned model 43 has work data in which the state of the robot 10 and its surroundings is used as input data when a human operates the robot 10 to perform a series of work, and the human operation corresponding to the state is used as output data. It is built by learning.
  • the operation switching unit 30 obtains the output data related to the human operation estimated from the learned model 43 according to the input data.
  • the control data of the robot 10 for performing the work is obtained.
  • the base-learned model 44 uses the state of the robot 10 and its surroundings as input data when a human operates the robot 10 to perform a simpler operation than the above-described series of work, and the human operation or It is constructed for each of the plurality of operations by learning work data in which the operation of the robot 10 by the operation is used as output data.
  • the motion label storage unit 50 stores a motion label including information expressing the content of the motion in association with the base learned model 44.
  • the base learned model combination information acquisition unit 60 expresses the learned model 43 as a combination of a plurality of base learned models 44 based on the similarity between the learned model 43 and each of the base learned models 44. Acquire combination information in the case.
  • the display unit 22 displays the action label corresponding to each of the base learned model 44 expressing the learned model 43 by a plurality of combinations based on the combination information.
  • the trained model 43 when the trained model 43 is made to learn a series of works, the user can easily determine what kind of combination of works the work is learned based on the displayed motion label. You can figure it out. Therefore, the transparency of the learned model 43 is increased, and the user can use the learned model 43 for robot control with a convincing feeling.
  • the base learned model combination information acquisition unit 60 represents a plurality of base learned models 44 when the learned model 43 is represented by a combination of a plurality of base learned models 44. Gets the time series relationship of.
  • the display unit 22 displays the time-series relationships of the plurality of base-learned models 44 using the action label.
  • the learned model 43 outputs the output data corresponding to the input data when the input data is input to the learned model 43. It is possible to output a degree of progress indicating which degree of progress corresponds.
  • the base learned model combination information acquisition unit 60 can acquire the time-series relationship of the plurality of base learned models 44 based on the progress degree.
  • the learned model 43 and the base learned model 44 can cluster the work data to be learned according to the characteristics.
  • the base learned model combination information acquisition unit 60 compares the result of clustering in the learned model 43 and the result of clustering in the base learned model 44 to obtain the learned model 43 and each base learned model 44. Determine the similarity between and.
  • the robot controller 15 of this embodiment includes a data comparison unit 70.
  • the data comparison unit 70 outputs the estimated operating force output by the learned model 43 and the unlearned state.
  • the user operation force included in the above-described aspect data is compared to obtain the matching degree.
  • the display unit 22 displays the degree of coincidence in relation to the time series of movements of the robot 10.
  • the unlearned situation data is generated in real time when a human operates the robot 10 to perform at least a part of the series of operations.
  • the output of the learned model 43 can be checked against the human operation on the spot. Therefore, it is possible to compare with the operation of the learned model 43 while the feeling of being operated by a human remains, so that the study work can be intuitively performed.
  • the learned model 43 corresponds to the operation in the learned model 43 by designating a time-series position of a part of the operation of the series of works. The part can be deleted.
  • the learned model 43 can be flexibly edited for each operation constituting a part of a series of work.
  • the learned model 43 indicates the certainty factor for acquiring the certainty of estimation when the learned model 43 outputs the output data according to the input of the input data. Output is possible.
  • the display unit 22 displays the certainty factor together with the action label.
  • the robot is controlled by the robot control method including the following control data acquisition step, operation label storage step, base learned model combination information acquisition step, and information display step.
  • control data acquisition step when input data relating to the state of the robot 10 and its surroundings is input to the learned model 43, output data relating to human operation estimated accordingly is obtained from the learned model 43.
  • the control data of the robot 10 for performing the work is obtained.
  • action label storing step the action label including the information expressing the content of the action is stored in association with the base learned model 44.
  • the base learned model combination information acquisition step the learned model 43 is represented by a combination of a plurality of base learned models 44 by acquiring the similarity between the learned model 43 and each of the base learned models 44.
  • the combination information for the case is acquired.
  • information displaying step based on the combination information, the operation label corresponding to each of the base learned model 44 expressing the learned model 43 by a plurality of combinations is displayed.
  • the trained model 43 when the trained model 43 is made to learn a series of works, the user can easily determine what kind of combination of works the work is learned based on the displayed motion label. You can figure it out. Therefore, the transparency of the learned model 43 is increased, and the user can use the learned model 43 for robot control with a convincing feeling.
  • the learned model 43 may be configured to learn the relationship between the sensor information and the operation command to the robot 10, instead of learning the relationship between the sensor information and the user operation force.
  • the action label is not limited to the display using a graphic such as a work flow diagram, and may be displayed in a table format, for example. Further, the character strings of the operation labels may be simply arranged and displayed.
  • the action labels can be displayed in any order instead of being displayed in order according to time-series information.
  • the action label may be any mark that can identify the content of the action.
  • the operation label may be an image such as an icon, instead of a character string such as “pull out”.
  • the robot controller 15 may include a voice output unit as an information output unit instead of or in addition to the display unit 22. Then, the robot controller 15 may output the motion label based on the voice output. For example, the robot controller 15 may read the action label by a voice synthesis function. Further, the robot control device 15 may read the value of the certainty factor or the value of the coincidence degree when reading the action label.
  • the learning content of the learned model 43 may be edited by directly specifying the time series instead of performing it for each action label. For example, it is conceivable to specify a part of the horizontal axis of the graph shown in the lower side of FIG. 7 and delete/correct the operation of that part.
  • the robot controller 15 may correct the operation of the robot 10 based on the reinforcement learning.
  • a sensor other than the motion sensor 11, the force sensor 12, and the camera 13 may be used.
  • the operation portion 21 may be provided with an operation position detection sensor instead of or in addition to the operation force detection sensor. It can be said that the operation position detection sensor also detects a human operation, like the operation force detection sensor.
  • the operation system 21 may be the robot system 1 that is a master arm used for remote operation and the robot 10 is a slave arm.
  • the AI unit 40 can build the learned model 43 and the base learned model 44 learned based on the operation of the master arm by the user.
  • Robot System 10 Robot 11 Motion Sensor 12 Force Sensor 13 Camera 15 Robot Controller 22 Display (Information Output) 30 Operation switching unit (control data acquisition unit) 43 learned model 44 base learned model 50 motion label storage unit 60 base learned model combination information acquisition unit 70 data comparison unit (comparison unit)

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボット制御装置は、作業データを学習して構築された学習済モデルと、学習済モデルからのデータに基づきロボットの制御データを得る制御データ取得部と、作業データを学習して複数の単純な動作毎に構築されたベース学習済モデルと、動作ラベルをベース学習済モデルに対応付けて記憶する動作ラベル記憶部と、学習済モデルとそれぞれのベース学習済モデルとの間の類似度を取得して、学習済モデルを複数のベース学習済モデルで表現する場合の組合せ情報を取得するベース学習済モデル組合せ情報取得部と、学習済モデルを表現するベース学習済モデルのそれぞれに対応する動作ラベルを出力する情報出力部と、を備える。

Description

ロボット制御装置、ロボットシステム及びロボット制御方法
 本発明は、主として、ロボットを制御するロボット制御装置に関する。
 従来から、ロボットの作業動作に関するモデルを構築することができる機械学習装置を備えたロボット制御装置が知られている。特許文献1は、この種のロボット制御装置を開示する。
 特許文献1は、乱雑に置かれたワークを取り出すときのロボットの最適な動作を人間の介在無しに学習できる機械学習装置を備えるロボットシステムを開示する。
特開2017-30135号公報
 しかしながら、上記特許文献1の構成は、一連の作業を実行させるためのロボットの動作に関する学習済モデルを構築しても、学習済モデルが当該作業をどのような動作として学習したかについてユーザが確認することができなかった。このため、ロボットの自律動作のために学習済モデルの出力を用いることにユーザが納得しにくく、この点で改善の余地があった。
 本発明は以上の事情に鑑みてされたものであり、その目的は、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することにある。
 本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
 本発明の第1の観点によれば、以下の構成のロボット制御装置が提供される。即ち、ロボット制御装置は、学習済モデルと、制御データ取得部と、ベース学習済モデルと、動作ラベル記憶部と、ベース学習済モデル組合せ情報取得部と、情報出力部と、を備える。前記学習済モデルは、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築される。前記制御データ取得部は、ロボット及びその周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る。前記ベース学習済モデルは、人間がロボットを操作して前記一連の作業よりも単純な動作を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより、複数の前記動作毎に構築される。前記動作ラベル記憶部は、前記動作の内容を表現する情報を含む動作ラベルを、前記ベース学習済モデルに対応付けて記憶する。前記ベース学習済モデル組合せ情報取得部は、前記学習済モデルとそれぞれの前記ベース学習済モデルとの間の類似度を取得することにより、前記学習済モデルを複数の前記ベース学習済モデルの組合せで表現する場合の組合せ情報を取得する。前記情報出力部は、前記組合せ情報に基づいて、複数の組合せによって前記学習済モデルを表現する前記ベース学習済モデルのそれぞれに対応する前記動作ラベルを出力する。
 これにより、一連の作業を学習済モデルに学習させた場合に、ユーザは、当該作業がどのような動作の組合せとして学習されていると言えるかを、出力された動作ラベルに基づいて容易に把握することができる。従って、学習済モデルの透明性が高まり、ユーザは納得感を持って学習済モデルをロボット制御に用いることができる。
 本発明の第2の観点によれば、以下の構成のロボット制御方法が提供される。即ち、このロボット制御方法では、人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼ぶ。また、このロボット制御方法では、人間がロボットを操作して前記一連の作業よりも単純な動作を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより、複数の前記動作毎に構築されたモデルをベース学習済モデルと呼ぶ。このロボット制御方法は、制御データ取得工程と、動作ラベル記憶工程と、ベース学習済モデル組合せ情報取得工程と、情報出力工程と、を含む。前記制御データ取得工程では、ロボット及びその周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る。前記動作ラベル記憶工程では、前記動作の内容を表現する情報を含む動作ラベルを、前記ベース学習済モデルに対応付けて記憶する。前記ベース学習済モデル組合せ情報取得工程では、前記学習済モデルとそれぞれの前記ベース学習済モデルとの間の類似度を取得することにより、前記学習済モデルを複数の前記ベース学習済モデルの組合せで表現する場合の組合せ情報を取得する。前記情報出力工程では、前記組合せ情報に基づいて、複数の組合せによって前記学習済モデルを表現する前記ベース学習済モデルのそれぞれに対応する前記動作ラベルを出力する。
 本発明によれば、学習済モデルの予測に基づくロボットの動作についてユーザの納得感が得られ易いロボット制御装置等を提供することができる。
本発明の一実施形態に係るロボットシステムの電気的構成を示すブロック図。 AI部の学習のために時系列の局面データが収集される様子を示す図。 学習済モデルの構築について説明する図。 学習済モデルが行う推定について説明する図。 学習済モデルとベース学習済モデルを比較する処理を示す図。 学習済モデルとベース学習済モデルを比較する他の手法を示す図。 ロボット制御装置における表示部の表示例を示す図。
 次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係るロボットシステム1の電気的構成を示すブロック図である。
 図1に示すロボットシステム1は、ロボット10を用いて作業を行うシステムである。ロボット10に行わせる作業としては様々であるが、例えば、組立て、加工、塗装、洗浄等がある。
 詳細は後述するが、ロボット10は、データを機械学習することで構築されたモデル(学習済モデル43)を用いて制御される。そのため、ロボットシステム1は、基本的にはユーザの補助を必要とせず、作業を自律的に行うことができる。また、ロボット10は、自律的に作業を行うだけでなく、ユーザの操作に応じて作業を行うこともできる。以下の説明では、ロボット10が作業を自律的に行うことを「自律運転」と呼び、ユーザの操作に応じてロボット10が作業を行うことを「手動運転」と呼ぶことがある。
 図1に示すように、ロボットシステム1は、ロボット10と、ロボット制御装置15と、を備える。ロボット10とロボット制御装置15は有線又は無線により互いに接続されており、信号のやり取りを行うことができる。
 ロボット10は、台座に取り付けられたアーム部を備える。アーム部は、複数の関節を有しており、各関節にはアクチュエータが備えられている。ロボット10は、外部から入力された動作指令に応じてアクチュエータを動作させることでアーム部を動作させる。
 アーム部の先端には、作業内容に応じて選択されたエンドエフェクタが取り付けられている。ロボット10は、外部から入力された動作指令に応じてエンドエフェクタを動作させることができる。
 ロボット10には、ロボット10の動作及び周囲環境等を検出するためのセンサが取り付けられている。本実施形態では、動作センサ11と、力センサ12と、カメラ13と、がロボット10に取り付けられている。
 動作センサ11は、ロボット10のアーム部の関節毎に設けられており、各関節の回転角度又は角速度を検出する。力センサ12は、ロボット10の動作時に、ロボット10が受けた力を検出する。力センサ12はエンドエフェクタに掛かる力を検出する構成であってもよいし、アーム部の各関節に掛かる力を検出する構成であってもよい。また、力センサ12は、力に代えて又は加えてモーメントを検出する構成であってもよい。カメラ13は、作業対象であるワークの映像(ワークに対する作業の進行状況)を検出する。
 動作センサ11が検出するデータは、ロボット10の動作を示す動作データである。力センサ12及びカメラ13が検出するデータは、ロボット10の周囲の環境を示す周囲環境データである。動作データと周囲環境データを総合したデータを、以下の説明で状態データと呼ぶことがある。状態データは、ロボット10及びその周辺の状態を示すものである。
 以下の説明では、ロボット10に設けられた動作センサ11、力センサ12、及びカメラ13をまとめて「状態検出センサ11~13」と称することがある。また、状態検出センサ11~13が検出したデータを、特に「センサ情報」と称することがある。状態検出センサ11~13は、ロボット10に取り付ける代わりに、ロボット10の周囲に設けてもよい。
 ロボット制御装置15は、ユーザインタフェース部20と、動作切替部(制御データ取得部)30と、AI部40と、動作ラベル記憶部50と、ベース学習済モデル組合せ情報取得部60と、データ比較部(比較部)70と、を備える。
 具体的には、ロボット制御装置15は、CPU、ROM、RAM、及びHDDを備えるコンピュータである。コンピュータは、ユーザが操作するためのマウス等の装置を備える。コンピュータはGPUを備えると、後述のニューラルネットワークによる学習を短時間で行うことができ、好ましい。HDDには、ロボット制御装置15を動作させるためのプログラムが記憶される。上記のハードウェアとソフトウェアとの協働により、ロボット制御装置15を、ユーザインタフェース部20、動作切替部30、AI部40、動作ラベル記憶部50、ベース学習済モデル組合せ情報取得部60、及びデータ比較部70として機能させることができる。
 ユーザインタフェース部20は、ロボット制御装置15のユーザインタフェース機能を実現するものである。ユーザインタフェース部20は、操作部21と、表示部(情報出力部)22と、を備える。
 操作部21は、ロボット10を手動で操作するために用いる装置である。操作部21は、例えばレバー、ペダル等を備える構成とすることができる。
 図示しないが、操作部21は、公知の操作力検出センサを備える。操作力検出センサは、ユーザが操作部21に加えた力(操作力)を検出する。
 操作部21が様々な方向に動かすことができるように構成されている場合、操作力は力の向き及び大きさを含む値、例えばベクトルであってもよい。また、操作力は、ユーザが加えた力(N)だけでなく、力に連動する値である加速度(即ち、ユーザが加えた力を操作部21の質量で除算した値)の形で検出されてもよい。
 以下の説明では、ユーザが操作部21に加えた操作力を、特に「ユーザ操作力」と称することがある。ユーザが操作部21を操作することで出力されたユーザ操作力は、後述するように動作切替部30で動作指令に変換される。
 表示部22は、ユーザの指示に応じて、様々な情報を表示することができる。表示部22は、例えば液晶ディスプレイとすることができる。表示部22は、操作部21の近傍に配置されている。操作部21がロボット10から離れて配置されている場合、表示部22に、ロボット10及びその周辺の映像を表示させても良い。
 動作切替部30には、ロボット10、操作部21、及びAI部40が接続されている。動作切替部30には、操作部21が出力したユーザ操作力と、AI部40が出力した後述の推定操作力と、が入力される。
 動作切替部30は、ロボット10を動作させるための動作指令を、ロボット10及びAI部40へ出力する。動作切替部30は、切替部31と、変換部32と、を備える。
 切替部31は、入力されたユーザ操作力及び推定操作力のうち一方を変換部32へ出力するように構成されている。切替部31は、ユーザ操作力及び推定操作力のうち何れを変換するかを示す選択信号に基づいて、ユーザ操作力又は推定操作力を変換部32へ出力するように構成されている。選択信号は、ユーザがユーザインタフェース部20を適宜操作することにより、ユーザインタフェース部20から動作切替部30に出力される。
 これにより、ユーザがロボット10を動作させる状態(手動運転)と、ロボットシステム1がロボット10に自律的に作業を行わせる状態(自律運転)と、を切り替えることができる。手動運転の場合、ロボット10は、操作部21が出力したユーザ操作力に基づいて動作する。自律運転の場合、ロボット10は、AI部40が出力した推定操作力に基づいて動作する。
 ユーザ操作力及び推定操作力のうち何れに基づいてロボット10を動作させるかの選択は、操作部21の操作を検出する上述のセンサの検出値に基づいて、ユーザが操作部21を操作しているかに応じて自動的に行われても良い。即ち、ユーザが操作部21を実質的に操作しているときは、切替部31がユーザ操作力を変換部32に出力し、そうでないときは、切替部31は推定操作力を変換部32に出力する。
 変換部32は、切替部31から入力されたユーザ操作力又は推定操作力の何れかを、ロボット10を動作させるための動作指令に変換して、ロボット10及びAI部40に出力する。動作指令は、ロボット10を制御するための制御データと言い換えることもできる。
 AI部40は、ロボット10の自律動作により一連の作業を行わせるために構築された学習済モデル43を備える。AI部40で用いられる学習済モデル43の形式は任意であり、例えば、ニューラルネットワークを用いたモデルを用いることができる。学習済モデル43の構築(特に、最初の構築)は、ロボット制御装置15において行われても良いし、他のコンピュータで行われても良い。
 データ入力部41は、AI部40の入力側のインタフェースとして機能する。データ入力部41には、状態検出センサ11~13から出力されるセンサ情報が入力される。
 推定データ出力部42は、AI部40の出力側のインタフェースとして機能する。推定データ出力部42は、AI部40が機械学習により構築したモデルに基づくデータを出力することができる。
 本実施形態では、AI部40は、ユーザが操作部21によって行うロボット10の操作を学習して、学習済モデル43を構築する。具体的には、AI部40には、状態検出センサ11~13から入力されるセンサ情報と、操作力検出センサにより得られた操作力と、が入力される。この操作力は、上記のユーザ操作力に相当する。
 ユーザは、例えば、部材の開口部にワークを挿入する一連の作業をロボット10に実行させるために用いる学習済モデル43を、AI部40に構築させることができる。
 具体的には、ユーザが操作部21を操作して、例えば下記に示すようにロボット10を動作させる。即ち、ロボット10にワークを引き抜かせる(引抜き動作)。続いて、当該ワークを部材の上方の位置まで搬送させる(搬送動作)。次に、当該ワークを部材の開口部に挿入させる(挿入動作)。
 ワークの挿入動作に着目して説明すると、その動作の詳細は以下のとおりである。即ち、(1)部材の上方に位置するワークを下方に移動させ(つまり、ワークを下に降ろして)、部材の面にワークを接触させる。(2)部材の面にワークを軽く押し付けつつ、部材の面に沿わせるようにして開口部の位置までワークを移動させ、開口部の内側にワークを位置させる。(3)開口部の内側にワークを位置させた状態で、ワークを下降させる。
 以下の説明では、ロボット10及びその周辺の状態と、それに応じてユーザが操作部21を操作することにより得られるユーザ操作力と、を総合したものを、ロボット10の局面と呼ぶことがある。
 AI部40で用いられる学習済モデル43は、多次元空間のマップにより構成される。学習フェーズにおいて、AI部40には、センサ情報及びユーザ操作力を総合して得られるロボット10の局面のデータ(局面データ)が入力される。この局面データの集合が、機械学習の対象である作業データに相当する。
 図2には、ユーザがロボット10を操作して一連の作業を行う場合に、学習のための局面データが取得される様子が示されている。局面データは、時間的に等しい間隔又は不等間隔で、反復して取得される。各回の局面データは、状態センサの出力値と、操作力検出センサの出力値と、から構成される。状態センサの出力値は、1回の局面データの中でも、細かい時間間隔をあけて複数回取得される。一方、操作力検出センサの出力値は、1回の局面データにつき1回取得される。
 局面データは、一連の作業を行う過程で上述のように反復して取得され、AI部40に順次入力される。局面データは、ユーザがロボット10を操作して一連の作業を行う過程で、様々に変化する。
 ユーザは、操作部21の操作を繰り返して、同一の一連の作業を反復してロボット10に行わせることが好ましい。AI部40は、次々に得られる局面データに相当する特徴ベクトルを、学習済モデル43の多次元空間にプロットする。
 学習対象の全ての局面データがAI部40に入力された後、学習済モデル43の多次元空間にプロットされた特徴ベクトル(局面データ)を対象としてクラスタリングが行われる。クラスタリングとは、多数のデータから分布の法則を学習して、互いに特徴が似ているデータのまとまりである複数のクラスタを取得する手法である。クラスタリングの方法としては、公知の非階層クラスタリング手法を適宜用いることができる。この結果、互いに類似した局面をまとめた複数のクラスタが得られる。クラスタリングにおけるクラスタ数は、適宜定めることができる。
 クラスタリングの結果、AI部40が構築した学習済モデル43は、図4に模式的に示すように、多次元空間における複数のクラスタの分布として得られる。このクラスタは、一連の動作をロボット10が行う上で経由する特徴的な局面に対応している。
 学習済モデル43においては、各クラスタの時系列順が求められる。ロボット10の一連の作業は局面データを時系列順に並べたものとして表現することができるので、この順番の情報を用いて、各クラスタの時系列順を求めることができる。
 AI部40は、続いて、それぞれのクラスタにおいて、当該クラスタを代表する局面データを計算により求める。以下、この代表となる局面データをノードと呼ぶことがある。ノードの求め方は様々であるが、例えば、それぞれのクラスタの重心に相当する局面データとすることができる。
 次に、AI部40からの推定出力について説明する。
 推定フェーズにおいては、ある時点におけるセンサ情報が学習済モデル43に入力される。AI部40にセンサ情報が与えられると、学習済モデル43は、当該センサ情報に類似する特徴を有する1又は複数のノードを求める。センサ情報には操作力検出センサの検出値が含まれていないので、センサ情報とノードの類似度を計算するとき、操作力検出センサの検出値に関する次元は無視される。類似度は、公知の計算式(例えば、ユークリッド距離)により求めることができる。
 センサ情報に近い特徴を有するノードが求められると、学習済モデル43は、当該ノードの局面データに含まれているユーザ操作力(言い換えれば、操作力検出センサの検出値)を求める。センサ情報に類似するノードが複数検出された場合は、複数のノードのユーザ操作力が適宜合成される。学習済モデル43は、得られたユーザ操作力を、上述の推定操作力として出力する。この推定操作力を用いることにより、ロボット10の自律動作を実現することができる。
 この推定出力にあたって、AI部40は、クラスタの時系列順の情報に基づいて、出力するユーザ操作力が、一連の作業のうちどの進捗度合いに相当するかを示す進行度を出力することができる。本実施形態では、進行度は0から100までの範囲の値をとり、100に近い程、一連の作業が進行していることを示す。進行度の値は、各クラスタが示す動作の順番に従って段階的かつ累積的に増加するように、予め定められる。
 次に、ベース学習済モデル44について詳細に説明する。
 本実施形態のAI部40では、上述した学習済モデル43とは異なるベース学習済モデル44が別途に構築されている。ベース学習済モデル44は、学習済モデル43に含まれる代表的な基本動作(例えば、引抜き動作、搬送動作、挿入動作等)のそれぞれに対応して、複数備えられている。
 それぞれのベース学習済モデル44は、学習済モデル43と全く同じ形式の多次元空間のマップとして構成されている。ベース学習済モデル44と学習済モデル43とは、学習するデータが異なるだけである。
 ベース学習済モデル44は、学習済モデル43の場合よりも単純な動作をロボット10に行わせるように操作部21が操作され、これに基づいて学習が行われる。ベース学習済モデル44は、動作毎に構築される。引抜き動作のベース学習済モデル44は引抜き動作だけを学習し、搬送動作のベース学習済モデル44は搬送動作だけを学習し、挿入動作のベース学習済モデル44は挿入動作だけを学習する。
 例えば引抜き動作のベース学習済モデル44について考えると、学習フェーズでは、ユーザがロボット10に引抜き動作を行わせるために操作部21を操作し、この時に取得される局面データが、AI部40に入力される。AI部40は、次々に得られる局面データに相当する特徴ベクトルを、ベース学習済モデル44の多次元空間にプロットする。その後、ベース学習済モデル44の多次元空間にプロットされた局面データを対象として、クラスタリングが行われる。この結果、ベース学習済モデル44は、図5の左下に模式的に示すように、多次元空間における複数のクラスタの分布として得られる。
 各ベース学習済モデル44の学習フェーズで操作部21を操作する人間と、学習済モデル43の学習フェーズで操作部21を操作する人間とが、別であっても良い。各ベース学習済モデル44の構築は、学習済モデル43が構築されるコンピュータとは別のコンピュータにおいて行われても良い。
 動作ラベル記憶部50は、ベース学習済モデル44が学習した動作の内容を特定する情報を、ベース学習済モデル44に対応付けて記憶する。動作の内容を特定する情報は、典型的には、動作の名前の文字列である。例えば、引抜き動作のベース学習済モデル44に「引抜き」という名前を付けることが考えられる。名前は、ベース学習済モデル44が構築されるときに適宜設定される。以下、この名前を動作ラベルと呼ぶことがある。
 ベース学習済モデル組合せ情報取得部60は、学習済モデル43を複数のベース学習済モデル44の組合せで表現する場合の組合せ情報を取得する。
 具体的に説明すると、ベース学習済モデル組合せ情報取得部60は、先ず、複数のベース学習済モデル44のそれぞれを学習済モデル43と比較し、ベース学習済モデル44が学習済モデル43の一部と類似しているかどうかを判定する。この判定は、多次元空間におけるそれぞれのクラスタの形状/位置が類似しているか否かに基づいて行うことができる。例えば、ベース学習済モデル44の1つのクラスタに着目し、当該クラスタの重心位置と最も近い重心位置を有する学習済モデル43のクラスタを求め、2つのクラスタの重心間の距離を求める。ベース学習済モデル44の全てのクラスタについて上記の処理を行い、クラスタ重心間の距離の平均値が所定値より小さければ、クラスタの分布が似ていると判断することができる。
 ベース学習済モデル組合せ情報取得部60は、上記の判定結果に基づいて、組合せ情報を取得する。組合せ情報は、学習済モデル43がどのようなベース学習済モデル44の組合せで表現することができるかについて示す情報である。
 例えば図5の例において、学習済モデル43の多次元空間におけるクラスタの分布の一部が、引抜き動作のベース学習済モデル44のクラスタの分布と似ており、残りの一部が、搬送動作のベース学習済モデル44のクラスタの分布と似ていたとする。この場合、学習済モデル43は、引抜き動作のベース学習済モデル44、及び、搬送動作のベース学習済モデル44の組合せで表現できる余地があるということができる。このように、ベース学習済モデル44との比較により、学習済モデル43が学習した動作を分解して把握することができる。
 学習済モデル43及びベース学習済モデル44のそれぞれが構築されるときの局面データは、何れも、公知の方法で正規化されている。これにより、学習済モデル43とベース学習済モデル44の比較を容易に行うことができる。
 上述したとおり、学習済モデル43においては、各クラスタの時系列順が求められている。従って、この時系列順の情報に、当該クラスタとそれぞれのベース学習済モデル44におけるクラスタとの対応関係を当てはめることで、組合せに係るベース学習済モデル44の時系列的な先後関係を得ることができる。これは、ロボット10の動作の時系列順序を考慮した組合せ情報を取得できることを意味する。時系列的な先後関係は、上述の進行度を用いて表現しても良い。
 組合せ情報を取得するためのモデルの比較は、以下のようにして行うこともできる。即ち、学習済モデル43がロボット10に一連の作業を行わせるときに、状態検出センサ11~13を用いて、時系列でのセンサ情報を取得しておく。ベース学習済モデル組合せ情報取得部60は、このセンサ情報を、図6に示すように、学習済モデル43と、それぞれのベース学習済モデル44と、に入力する。学習済モデル43及びベース学習済モデル44は一連の推定操作力をそれぞれ出力するが、ベース学習済モデル組合せ情報取得部60は、この推定出力同士を比較することで、学習済モデル43とベース学習済モデル44とが類似している時系列的な区間があるか否かを判断する。以上により、ロボット10の動作の時系列順序を考慮した組合せ情報が得られる。
 なお、上述の時系列でのセンサ情報を入力した場合に、学習済モデル43及びベース学習済モデル44のそれぞれが推定操作力を出力するときに用いたクラスタ(以下、使用クラスタという。)を求め、この使用クラスタ同士が類似しているか否かの判断が併せて行われても良い。使用クラスタは、図4で説明した推定フェーズにおいて、入力されるセンサ情報に近いノードが属するクラスタを意味する。これにより、モデルの比較をより適切に行うことができる。
 組合せ情報を取得した後、ロボット制御装置15は、学習済モデル43を表現するベース学習済モデル44のそれぞれに対応する動作ラベルを、ユーザインタフェース部20の表示部22に表示することができる。
 上述のとおり、ベース学習済モデル組合せ情報取得部60は、ロボット10の動作の時系列順序を考慮した組合せ情報を取得する。これを利用して、ロボット制御装置15は図7の上側に示すように、例えばロボット10の動作順で上から下となるように動作ラベルを並べて表示部22に表示することができる。この表示を見ることで、ユーザは、学習済モデル43が学習した動作がどのような組合せであるか(動作の時系列順序も含む)について、容易に理解することができる。
 本実施形態では、図7の上側に示すように、各動作ラベルを繋ぐように下向きの矢印が表示され、作業フロー図のような表示が実現されている。これにより、ユーザは動作の順序を直感的に理解することができる。
 なお、ベース学習済モデル44が表現する動作が、更に細かい動作の組合せとして分解できる場合もある。この分解は、当該細かい動作を学習することにより構築された学習済モデル(サブベース学習済モデル)をデータ入力部41が備えることで、実現することができる。例えば、「挿入」のベース学習済モデル44が学習している動作を、上述の(1)~(3)で説明した細かい動作に従って、「下に降ろす」という動作と、「押付け探索」という動作と、「穴内下降」という動作と、に更に分解できたとする。この場合、ロボット制御装置15は、図7の上側等に示すように、当該動作に対応するサブベース学習済モデルの動作ラベルを表示部22に表示することができる。これにより、ユーザは、学習済モデル43が学習した動作を階層的に分解して把握することができる。
 次に、確信度について説明する。確信度は、ロボット10の動作が確からしいかどうか(言い換えれば、学習済モデル43が推定する出力が確からしいかどうか)について評価するために用いるパラメータである。
 AI部40の学習済モデル43は、ロボット10及びその周辺の状態と、その時に行われたユーザの操作によるユーザ操作力と、の対応関係を予め学習している。言い換えれば、学習済モデル43は、既知の多数の状態から獲得した法則に基づいて動作する。機械学習モデルが本来有する汎化能力により、未知の状況に対しても、学習済モデル43が適切な推定操作力を出力することが期待される。しかし、人間が今までの過去の経験から予測が難しいような全く新規の状況におかれたときに、確信をもって行動しにくいのと同様に、学習済モデル43の立場に立てば、今までに学習した既知の状態から遠い状態である程、推定結果に対する確信を持ちにくいということができる。確信度は、この意味で、推定の確からしさを示すものである。
 本実施形態において、学習済モデル43の推定フェーズでは、学習済モデル43にセンサ情報が入力される。このセンサ情報が、複数のクラスタのノードのうち何れかに類似していれば、当該状態は過去に経験した状態に似ているから、推定が確からしくなると考えられる。この考え方に基づいて、確信度は、学習済モデル43に入力されるセンサ情報に対して最も類似するノードを求め、当該ノードに対するセンサ情報の類似度を用いて計算することができる。
 図7の下側に示すように、ロボット制御装置15は、ロボット10の動作と、確信度と、の関係を表示部22に表示させることができる。図7の例では、横軸を作業順とし、縦軸を確信度の値とするグラフが表示部22に表示されている。
 ユーザは、作業フローでの各動作の確信度に着目して、学習が不十分である動作(言い換えれば、確信度の値が低い修正すべき動作)を容易に確認することができる。
 ロボット制御装置15は、確信度の値が所定値以上である動作を示す動作ラベルと、確信度の値が所定値未満である動作を示す動作ラベルと、を異なる表示態様で表示させても良い。例えば、確信度が低い動作ラベルについて、色を異ならせたり、マークを付けたりすることで、他よりも目立つように強調して表示することが考えられる。
 図7の下側のグラフでは、「押付け探索」という動作について確信度が十分でないことが、通常とは違う色で動作ラベルを表示することによって示されている。なお、図面の都合上、色の違いはハッチングで表現されている。これにより、ユーザは、学習が不十分である動作を一層容易に確認することができる。
 得られた確信度に対応する動作ラベルは、以下のようにして取得することができる。即ち、ロボット制御装置15は、確信度を取得するときに学習済モデル43に入力された時系列でのセンサ情報を、当該学習済モデル43の動作を分解した動作に係るベース学習済モデル44に対してもそれぞれ入力する。学習済モデル43及びベース学習済モデル44はそれぞれ推定操作力を出力するが、ロボット制御装置15は、一連の推定出力が互いに類似している時系列的な区間を求める。この対応関係に基づいて、1つの動作ラベルに対応する確信度の区間(言い換えれば、動作の時系列的位置)を求めることができる。
 本実施形態では、表示部22に表示される動作ラベルをユーザが選択して所定の操作を行うことによって、学習済モデル43の学習内容から、選択された動作ラベルに対応する動作を削除することができる。動作ラベルを選択することは、動作の時系列的位置を指示することと実質的に同じである。学習内容の削除は、学習済モデル43において形成されているクラスタのうち、選択された動作ラベルに対応するベース学習済モデル44のクラスタに相当する部分を削除することで実現することができる。
 ユーザは、確信度の値が低い動作を削除した上で、新たな局面データ(追加作業データとしての追加局面データ)を用いて、学習が不十分である動作を修正することができる。これは、学習済モデル43の学習内容のうち、一部の動作に相当する学習内容を置換することに相当する。このように、ユーザは、表示部22に表示される動作ラベルに着目して、学習済モデル43のうちで作業フローの対応位置を指定して修正作業を行うことができるので、フィルム映像の編集のような感覚で、修正作業を効率的に行うことができる。
 なお、修正に用いる局面データは、修正する動作に関するデータを含んでいれば十分であり、一連の作業のうち一部に相当するものでも良い。従って、再学習のためのデータ収集の手間を大幅に軽減することができる。
 このように、本実施形態のロボット制御装置15は、学習済モデル43の学習内容を動作ラベル単位で編集することができる。この結果、直感的で分かり易い操作が可能になっている。
 ところで、構築された学習済モデル43の出力を確認するために、評価用の一連の局面データがAI部40に入力されることがある。このとき、ロボット制御装置15が表示部22に、現在の局面データから推定される動作に対応する進行度を表示するとともに、当該動作に対応する動作ラベルを他と異なる表示態様で表示しても良い。この場合、仮に学習済モデル43の学習が不十分であるときに、どの動作の部分で問題が生じているかをユーザは表示部22を見て容易に把握することができる。
 本実施形態では、ユーザは、ロボット10をリアルタイムで操作して局面データを生成し、学習済モデル43を構築させ、構築した学習済モデル43に基づくロボット10の動作の組合せを表示部22に表示させることができる。従って、ユーザは、ロボット10を操作した際の操作感覚が残っているうちに、学習済モデル43が表現する動作の組合せがユーザの意図通りになっているかどうかについて確認することができる。従って、ユーザは、どのような動作が学習されたのかについて、その場で容易に把握することができる。また、ロボット10を操作した感覚が新鮮なうちに、ユーザは当該感覚を活かして、学習済モデル43の修正作業を必要に応じて機動的に行うことができる。
 次に、学習済モデル43に追加学習を行わせるときに有用なパラメータである一致度について説明する。
 一致度は、未学習の局面データが学習済モデル43に入力された場合に、当該学習済モデル43が出力する出力データと、未学習の局面データに含まれる出力データと、の一致の度合いについて評価するためのパラメータである。この一致度は、ロボット制御装置15が備えるデータ比較部70が比較処理を行うことによって取得される。
 ロボット制御装置15は、一致度を、ロボット10の動作の時系列との関係で表示部22に表示することができる。例えば、横軸を作業順とし、縦軸を一致度の値とするグラフを、表示部22に表示することが考えられる。ユーザは、表示される一致度を見ることで、学習済モデル43のどの動作が未学習の局面データと一致しており、どの動作が一致していないかを、容易に理解することができる。従って、ユーザは、例えば、上述の追加局面データを学習済モデル43に追加学習させることが適切かどうかを事前に予測することができ、便利である。
 以上に説明したように、本実施形態のロボット制御装置15は、学習済モデル43と、動作切替部30と、ベース学習済モデル44と、動作ラベル記憶部50と、ベース学習済モデル組合せ情報取得部60と、表示部22と、を備える。学習済モデル43は、人間がロボット10を操作して一連の作業を行わせる場合の、当該ロボット10及びその周辺の状態を入力データとし、それに応じた人間の操作を出力データとする作業データを学習することにより構築されている。動作切替部30は、ロボット10及びその周辺の状態に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボット10の制御データを得る。ベース学習済モデル44は、人間がロボット10を操作して前記一連の作業よりも単純な動作を行わせる場合の、当該ロボット10及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボット10の動作を出力データとする作業データを学習することにより、複数の前記動作毎に構築されている。動作ラベル記憶部50は、前記動作の内容を表現する情報を含む動作ラベルを、ベース学習済モデル44に対応付けて記憶する。ベース学習済モデル組合せ情報取得部60は、学習済モデル43とそれぞれのベース学習済モデル44との間の類似性に基づいて、学習済モデル43を複数のベース学習済モデル44の組合せで表現する場合の組合せ情報を取得する。表示部22は、前記組合せ情報に基づいて、複数の組合せによって学習済モデル43を表現するベース学習済モデル44のそれぞれに対応する動作ラベルを表示する。
 これにより、一連の作業を学習済モデル43に学習させた場合に、ユーザは、当該作業がどのような動作の組合せとして学習されていると言えるかを、表示された動作ラベルに基づいて容易に把握することができる。従って、学習済モデル43の透明性が高まり、ユーザは納得感を持って学習済モデル43をロボット制御に用いることができる。
 また、本実施形態のロボット制御装置15において、ベース学習済モデル組合せ情報取得部60は、学習済モデル43を複数のベース学習済モデル44の組合せで表現する場合の、複数のベース学習済モデル44の時系列での関係を取得する。表示部22は、複数のベース学習済モデル44の時系列での関係を、前記動作ラベルを用いて表示する。
 これにより、ユーザは、動作の時間的順序の関係を容易に理解することができる。
 また、本実施形態のロボット制御装置15において、学習済モデル43は、前記入力データが当該学習済モデル43に入力された場合に、それに応じて出力される前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を出力可能である。ベース学習済モデル組合せ情報取得部60は、前記進行度に基づいて、複数のベース学習済モデル44の時系列での関係を取得可能である。
 これにより、動作の時間的順序を分かり易い形で取り扱うことができる。
 また、本実施形態のロボット制御装置15において、学習済モデル43及びベース学習済モデル44は、学習対象の作業データを特徴に応じてクラスタリング可能である。ベース学習済モデル組合せ情報取得部60は、学習済モデル43におけるクラスタリングの結果と、ベース学習済モデル44におけるクラスタリングの結果と、を比較することにより、学習済モデル43とそれぞれのベース学習済モデル44との間の類似性を判断する。
 これにより、学習済モデル43とベース学習済モデル44とを適切に比較することができる。
 また、本実施形態のロボット制御装置15は、データ比較部70を備える。データ比較部70は、未学習の局面データのうち、ロボット10及びその周辺の状態のデータが学習済モデル43に入力された場合に、当該学習済モデル43が出力する推定操作力と、未学習の前記局面データに含まれるユーザ操作力と、を比較して一致度を取得する。表示部22は、前記一致度を、ロボット10の動作の時系列との関係で表示する。
 これにより、ユーザは、学習済モデル43のどの動作が未学習の局面データと一致しており、どの動作が一致していないかを、容易に理解することができる。
 また、本実施形態のロボット制御装置15において、未学習の前記局面データは、前記一連の作業のうち少なくとも一部を行わせるためにロボット10を人間が操作することでリアルタイムに生成される局面データとすることができる。
 この場合、学習済モデル43の出力を、人間の操作とその場で照らし合わせて確認することができる。従って、人間が操作した感覚が残っている間に、学習済モデル43の動作と比較することができるので、検討作業を直感的に行うことができる。
 また、本実施形態のロボット制御装置15において、学習済モデル43は、一連の前記作業のうち一部の動作の時系列的位置を指定することで、当該学習済モデル43において当該動作に相当する部分を削除可能である。
 これにより、学習済モデル43を、一連の作業の一部を構成する動作毎に柔軟に編集することができる。
 また、本実施形態のロボット制御装置15において、学習済モデル43は、前記入力データの入力に応じて学習済モデル43が前記出力データを出力する場合の、推定の確からしさを取得する確信度を出力可能である。表示部22は、動作ラベルとともに、前記確信度を表示する。
 これにより、入力データが示す状態を学習済モデルが想定しているか否かを、ユーザが容易に理解することができる。
 また、本実施形態では、以下の制御データ取得工程と、動作ラベル記憶工程と、ベース学習済モデル組合せ情報取得工程と、情報表示工程と、を含むロボット制御方法によって、ロボットの制御が行われている。制御データ取得工程では、ロボット10及びその周辺の状態に関する入力データが学習済モデル43に入力された場合に、それに応じて推定される人間の操作に関する出力データを学習済モデル43から得ることにより、前記作業を行わせるためのロボット10の制御データを得る。動作ラベル記憶工程では、前記動作の内容を表現する情報を含む動作ラベルを、ベース学習済モデル44に対応付けて記憶する。ベース学習済モデル組合せ情報取得工程では、学習済モデル43とそれぞれのベース学習済モデル44との間の類似度を取得することにより、学習済モデル43を複数のベース学習済モデル44の組合せで表現する場合の組合せ情報を取得する。情報表示工程では、前記組合せ情報に基づいて、複数の組合せによって学習済モデル43を表現するベース学習済モデル44のそれぞれに対応する前記動作ラベルを表示する。
 これにより、一連の作業を学習済モデル43に学習させた場合に、ユーザは、当該作業がどのような動作の組合せとして学習されていると言えるかを、表示された動作ラベルに基づいて容易に把握することができる。従って、学習済モデル43の透明性が高まり、ユーザは納得感を持って学習済モデル43をロボット制御に用いることができる。
 以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
 学習済モデル43は、センサ情報と、ユーザ操作力と、の関係を学習するのに代えて、センサ情報と、ロボット10への動作指令と、の関係を学習するように構成しても良い。
 動作ラベルは、作業フロー図のような図形を用いた表示に限定されず、例えば表形式で表示されても良い。また、動作ラベルの文字列を単に並べて表示しても良い。
 動作ラベルは、時系列の情報に従った順番で表示されることに代えて、順不同の形で表示することもできる。
 動作ラベルは、動作の内容を特定可能な目印であれば良い。動作ラベルは、「引抜き」等のような文字列とすることに代えて、例えばアイコン等の画像とすることもできる。
 ロボット制御装置15は、情報出力部として、表示部22に代えて又は加えて音声出力部を備えても良い。そして、ロボット制御装置15は、音声出力に基づいて、動作ラベルを出力しても良い。例えば、ロボット制御装置15は、音声合成機能によって動作ラベルを読み上げても良い。また、ロボット制御装置15は、動作ラベルを読み上げる際に、確信度の値や一致度の値を読み上げても良い。
 学習済モデル43の学習内容の編集は、動作ラベル毎に行うことに代えて、時系列を直接指定して編集しても良い。例えば、図7の下側に示すグラフの横軸のうち一部を指定して、その部分の動作を削除/修正することが考えられる。
 ロボット制御装置15は、強化学習に基づいて、ロボット10の動作を修正しても良い。
 ロボット10及びその周辺の状態を取得するためのセンサ(状態センサ)として、動作センサ11、力センサ12及びカメラ13以外のセンサが用いられても良い。
 操作部21に、操作力検出センサに代えて、又はそれに加えて、操作位置検出センサを設けても良い。操作位置検出センサも操作力検出センサと同様に、人間の操作を検出するものであるということができる。
 操作部21が遠隔操作に用いるマスターアームであり、かつ、ロボット10がスレーブアームであるロボットシステム1であっても良い。この場合、AI部40は、ユーザによるマスターアームの操作に基づいて学習した学習済モデル43及びベース学習済モデル44を構築することができる。
 1 ロボットシステム
 10 ロボット
 11 動作センサ
 12 力センサ
 13 カメラ
 15 ロボット制御装置
 22 表示部(情報出力部)
 30 動作切替部(制御データ取得部)
 43 学習済モデル
 44 ベース学習済モデル
 50 動作ラベル記憶部
 60 ベース学習済モデル組合せ情報取得部
 70 データ比較部(比較部)

Claims (12)

  1.  人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築された学習済モデルと、
     ロボット及びその周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得部と、
     人間がロボットを操作して前記一連の作業よりも単純な動作を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより、複数の前記動作毎に構築されたベース学習済モデルと、
     前記動作の内容を表現する情報を含む動作ラベルを、前記ベース学習済モデルに対応付けて記憶する動作ラベル記憶部と、
     前記学習済モデルとそれぞれの前記ベース学習済モデルとの間の類似度を取得することにより、前記学習済モデルを複数の前記ベース学習済モデルの組合せで表現する場合の組合せ情報を取得するベース学習済モデル組合せ情報取得部と、
     前記組合せ情報に基づいて、複数の組合せによって前記学習済モデルを表現する前記ベース学習済モデルのそれぞれに対応する前記動作ラベルを出力する情報出力部と、
    を備えることを特徴とするロボット制御装置。
  2.  請求項1に記載のロボット制御装置であって、
     前記ベース学習済モデル組合せ情報取得部は、前記学習済モデルを複数の前記ベース学習済モデルの組合せで表現する場合の、複数の前記ベース学習済モデルの時系列での関係を取得し、
     前記情報出力部は、複数の前記ベース学習済モデルの時系列での関係を、前記動作ラベルを用いて出力することを特徴とするロボット制御装置。
  3.  請求項1又は2に記載のロボット制御装置であって、
     前記学習済モデルは、前記入力データが当該学習済モデルに入力された場合に、それに応じて出力される前記出力データが、前記一連の作業のうちどの進捗度合いに相当するかを示す進行度を出力可能であり、
     前記ベース学習済モデル組合せ情報取得部は、前記進行度に基づいて、複数の前記ベース学習済モデルの時系列での関係を取得可能であることを特徴とするロボット制御装置。
  4.  請求項1から3までの何れか一項に記載のロボット制御装置であって、
     前記学習済モデル及び前記ベース学習済モデルは、学習対象の前記作業データを特徴に応じてクラスタリング可能であり、
     前記ベース学習済モデル組合せ情報取得部は、前記学習済モデルにおけるクラスタリングの結果と、前記ベース学習済モデルにおけるクラスタリングの結果と、を比較することにより、前記学習済モデルと前記ベース学習済モデルとの間の類似性を判断することを特徴とするロボット制御装置。
  5.  請求項1から4までの何れか一項に記載のロボット制御装置であって、
     前記ベース学習済モデル組合せ情報取得部は、同一の前記入力データに対して前記学習済モデルと前記ベース学習済モデルが出力するデータを比較することにより、前記学習済モデルと前記ベース学習済モデルとの間の類似性を判断することを特徴とするロボット制御装置。
  6.  請求項1から5までの何れか一項に記載のロボット制御装置であって、
     未学習の前記作業データのうち、ロボット及びその周辺の状態のデータが前記学習済モデルに入力された場合に、当該学習済モデルが出力する前記出力データと、未学習の前記作業データに含まれる前記出力データと、を比較して一致度を取得する比較部を備え、
     前記情報出力部は、前記一致度を、ロボットの動作の時系列との関係で出力することを特徴とするロボット制御装置。
  7.  請求項6に記載のロボット制御装置であって、
     未学習の前記作業データは、前記一連の作業のうち少なくとも一部を行わせるために前記ロボットを人間が操作することでリアルタイムに生成される作業データであることを特徴とするロボット制御装置。
  8.  請求項1から7までの何れか一項に記載のロボット制御装置であって、
     前記学習済モデルは、一連の前記作業のうち一部の動作の時系列的位置を指定することで、当該学習済モデルにおいて当該動作に相当する部分を削除可能であることを特徴とするロボット制御装置。
  9.  請求項1から8までの何れか一項に記載のロボット制御装置であって、
     前記学習済モデルは、前記一連の作業のうち一部の動作の時系列的位置を指定するとともに、当該動作を置き換える動作を学習させるための追加作業データを指定することで、当該学習済モデルにおいて当該動作に相当する部分を、当該追加作業データを学習したものに置換可能であることを特徴とするロボット制御装置。
  10.  請求項1から9までの何れか一項に記載のロボット制御装置であって、
     前記学習済モデルは、前記入力データの入力に応じて前記学習済モデルが前記出力データを出力する場合の、前記推定の確からしさを取得する確信度を出力可能であり、
     前記情報出力部は、前記動作ラベルとともに、前記確信度を出力することを特徴とするロボット制御装置。
  11.  請求項1から10までの何れか一項に記載のロボット制御装置と、
     前記ロボットと、
    を備えることを特徴とするロボットシステム。
  12.  人間がロボットを操作して一連の作業を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより構築されたモデルを学習済モデルと呼び、
     人間がロボットを操作して前記一連の作業よりも単純な動作を行わせる場合の、当該ロボット及びその周辺の状態を入力データとし、それに応じた人間の操作又は当該操作による当該ロボットの動作を出力データとする作業データを学習することにより、複数の前記動作毎に構築されたモデルをベース学習済モデルと呼ぶときに、
     ロボット及びその周辺の状態に関する入力データが前記学習済モデルに入力された場合に、それに応じて推定される人間の操作又はロボットの動作に関する出力データを前記学習済モデルから得ることにより、前記作業を行わせるためのロボットの制御データを得る制御データ取得工程と、
     前記動作の内容を表現する情報を含む動作ラベルを、前記ベース学習済モデルに対応付けて記憶する動作ラベル記憶工程と、
     前記学習済モデルとそれぞれの前記ベース学習済モデルとの間の類似度を取得することにより、前記学習済モデルを複数の前記ベース学習済モデルの組合せで表現する場合の組合せ情報を取得するベース学習済モデル組合せ情報取得工程と、
     前記組合せ情報に基づいて、複数の組合せによって前記学習済モデルを表現する前記ベース学習済モデルのそれぞれに対応する前記動作ラベルを出力する情報出力工程と、
    を含むことを特徴とするロボット制御方法。
PCT/JP2019/051530 2018-12-27 2019-12-27 ロボット制御装置、ロボットシステム及びロボット制御方法 WO2020138461A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980086543.0A CN113412177B (zh) 2018-12-27 2019-12-27 机器人控制装置、机器人系统以及机器人控制方法
EP19902019.9A EP3904016A4 (en) 2018-12-27 2019-12-27 ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM AND ROBOT CONTROL METHOD
US17/418,997 US12036675B2 (en) 2018-12-27 2019-12-27 Robot control device, robot system, and robot control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018245470A JP7128736B2 (ja) 2018-12-27 2018-12-27 ロボット制御装置、ロボットシステム及びロボット制御方法
JP2018-245470 2018-12-27

Publications (1)

Publication Number Publication Date
WO2020138461A1 true WO2020138461A1 (ja) 2020-07-02

Family

ID=71127788

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/051530 WO2020138461A1 (ja) 2018-12-27 2019-12-27 ロボット制御装置、ロボットシステム及びロボット制御方法

Country Status (5)

Country Link
US (1) US12036675B2 (ja)
EP (1) EP3904016A4 (ja)
JP (1) JP7128736B2 (ja)
CN (1) CN113412177B (ja)
WO (1) WO2020138461A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022134702A1 (zh) * 2020-12-24 2022-06-30 达闼机器人股份有限公司 动作学习方法、装置、存储介质及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7452619B2 (ja) * 2020-02-25 2024-03-19 日本電気株式会社 制御装置、制御方法及びプログラム
CN113276117B (zh) * 2021-05-21 2023-01-03 重庆工程职业技术学院 一种工业机器人自动控制系统
JP2023006521A (ja) * 2021-06-30 2023-01-18 オムロン株式会社 学習及び制御装置、学習装置、制御装置、学習及び制御方法、学習方法、制御方法、学習及び制御プログラム、学習プログラム、及び制御プログラム
KR102366333B1 (ko) * 2021-07-08 2022-02-25 주식회사 제타뱅크 로봇용 인공지능 플랫폼 제공 방법
JP2023072601A (ja) 2021-11-12 2023-05-24 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016097228A (ja) * 2014-11-26 2016-05-30 株式会社日立システムズ 行動分類システム、行動分類装置及び行動分類方法
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
WO2018225862A1 (ja) * 2017-06-09 2018-12-13 川崎重工業株式会社 動作予測システム及び動作予測方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130343640A1 (en) * 2012-06-21 2013-12-26 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
DE102016015936B8 (de) 2015-07-31 2024-10-24 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
US9676098B2 (en) * 2015-07-31 2017-06-13 Heinz Hemken Data collection from living subjects and controlling an autonomous robot using the data
JP6457473B2 (ja) * 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
US9977965B1 (en) * 2017-06-26 2018-05-22 Fujitsu Limited Teaching a robot to place objects in dynamic environments
US11345040B2 (en) * 2017-07-25 2022-05-31 Mbl Limited Systems and methods for operating a robotic system and executing robotic interactions
US10926408B1 (en) * 2018-01-12 2021-02-23 Amazon Technologies, Inc. Artificial intelligence system for efficiently learning robotic control policies
US11292133B2 (en) * 2018-09-28 2022-04-05 Intel Corporation Methods and apparatus to train interdependent autonomous machines
US11465279B2 (en) * 2018-11-29 2022-10-11 X Development Llc Robot base position planning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016097228A (ja) * 2014-11-26 2016-05-30 株式会社日立システムズ 行動分類システム、行動分類装置及び行動分類方法
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
WO2018225862A1 (ja) * 2017-06-09 2018-12-13 川崎重工業株式会社 動作予測システム及び動作予測方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LOMAS, MEGHANN ET AL.: "Explaining Robot Actions", HRI '12: PROCEEDINGS OF THE SEVENTH ANNUAL ACM/ IEEE INTERNATIONAL CONFERENCE ON HUMAN-ROBOT INTERACTION, March 2012 (2012-03-01), pages 187 - , 188, XP032211980 *
See also references of EP3904016A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022134702A1 (zh) * 2020-12-24 2022-06-30 达闼机器人股份有限公司 动作学习方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
EP3904016A1 (en) 2021-11-03
US20220088775A1 (en) 2022-03-24
JP7128736B2 (ja) 2022-08-31
US12036675B2 (en) 2024-07-16
EP3904016A4 (en) 2022-10-12
CN113412177B (zh) 2024-06-11
JP2020104215A (ja) 2020-07-09
CN113412177A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
WO2020138461A1 (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
JP6886869B2 (ja) 動作予測システム及び動作予測方法
KR102255273B1 (ko) 청소 공간의 지도 데이터를 생성하는 장치 및 방법
JP6857332B2 (ja) 演算装置、演算方法、及びそのプログラム
JP6951659B2 (ja) タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
US20180354127A1 (en) Operation information generating apparatus
US20230045162A1 (en) Training data screening device, robot system, and training data screening method
JP7117237B2 (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
JP6811465B2 (ja) 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム
Field et al. Learning trajectories for robot programing by demonstration using a coordinated mixture of factor analyzers
WO2022239310A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
CN113195177B (zh) 机器人控制装置、机器人系统以及机器人控制方法
EP4431252A1 (en) Robot control device, robot system, and robot control method
EP4401014A1 (en) Method for constructing trained model
JP7506180B2 (ja) 教示支援装置、作業システム、教示支援方法および教示支援プログラム
WO2023007954A1 (ja) 学習装置及びロボット制御システム
Liew Tidy up function development for service robot
Sprute Interactive restriction of a mobile robot's workspace in traditional and smart home environments
Araújo et al. Exploration-based path-learning by a mobile robot on an unknown world

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: 19902019

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019902019

Country of ref document: EP

Effective date: 20210727