WO2022239310A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2022239310A1
WO2022239310A1 PCT/JP2022/003018 JP2022003018W WO2022239310A1 WO 2022239310 A1 WO2022239310 A1 WO 2022239310A1 JP 2022003018 W JP2022003018 W JP 2022003018W WO 2022239310 A1 WO2022239310 A1 WO 2022239310A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
teaching data
feedback information
learning
unit
Prior art date
Application number
PCT/JP2022/003018
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 EP22807017.3A priority Critical patent/EP4339849A1/en
Priority to US18/557,056 priority patent/US20240219895A1/en
Priority to CN202280033571.8A priority patent/CN117280358A/zh
Publication of WO2022239310A1 publication Critical patent/WO2022239310A1/ja

Links

Images

Classifications

    • 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/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/39294Learn inverse dynamics, ffw decomposed ann adapted by pid
    • 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/39295Learn position correction values to be added to reference values
    • 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/39297First learn inverse model, then fine tune with ffw error learning
    • 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/39298Trajectory learning
    • 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/39352Feedback error learning, ffw ann compensates torque, feedback from pd to ann
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program.
  • the present invention relates to an information processing apparatus, an information processing method, and a program for performing learning processing for causing a robot to perform a predetermined operation, and robot control processing.
  • the robots in the factory perform various processes, one example of which is the process of grasping an object.
  • a specific example of processing using the object gripping process is, for example, a process of gripping one component a from a component box, moving it to a predetermined position, and attaching it to another component b.
  • an algorithm for automating the above processes can be developed. can be built.
  • the learning process requires a large amount of sample data, such as captured images with various different settings, and analysis of a large number of images, which requires a great deal of time and effort.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2005-135095 discloses a conventional technique that discloses a learning process using teaching data.
  • Learning using teaching data has the advantage that, for example, it is possible for a robot to directly memorize highly versatile motions, such as motions that are resistant to changes in the position of an object, without the need for humans to design detailed rules.
  • the ideal motion of the robot differs depending on the position of the part to be gripped, the orientation of the part, and the like.
  • a robot that has learned the positions of multiple different parts and the ideal movements according to the orientation of the parts can use the learning results to grip parts.
  • the robot can perform ideal movements based on the knowledge obtained in the learning process.
  • the robot cannot move ideally with only the knowledge obtained by the learning process. Therefore, in order to improve the performance of the robot, it is necessary to create a large amount of teaching data of high quality, that is, covering many areas, and make the robot memorize it.
  • the behavior rules learned by the robot are executed in the actual environment, and as a result, the state that occurs, for example, the state in which a problem occurs, is labeled by a person to the teaching data, and the labeled teaching data is used as new teaching data. It is a method of learning as However, this method requires a lot of labor and time to find the necessary teaching data.
  • the present disclosure has been made, for example, in view of the above problems, and in a configuration in which a robot learns motions using teaching data, efficiently creates various types of effective teaching data and causes the robot to learn. It is an object of the present invention to provide an information processing apparatus, an information processing method, and a program capable of improving robot performance efficiently.
  • a first aspect of the present disclosure includes: a teaching data execution unit that generates, as learning data, a camera-captured image corresponding to movement of the robot by a user operation based on the teaching data, and movement position information of the robot; a learning processing unit that inputs the learning data generated by the teaching data execution unit and executes machine learning processing to generate a teaching data set composed of correspondence data between an image and an action rule of the robot as learning result data; inputting the learning data generated by the teaching data execution unit and the learning result data generated by the learning processing unit, evaluating the teaching data applied to the user operation executed by the teaching data execution unit; An information processing apparatus having a feedback information generation unit that generates feedback information based on an evaluation result and outputs the feedback information to an output unit.
  • a second aspect of the present disclosure is An information processing method executed in an information processing device, a teaching data execution step in which the teaching data execution unit generates, as learning data, a camera-captured image corresponding to the movement of the robot by a user operation based on the teaching data and movement position information of the robot;
  • a learning processing unit inputs the learning data generated by the teaching data execution unit, executes machine learning processing, and generates, as learning result data, a teaching data set composed of correspondence relationship data between an image and an action rule of the robot.
  • a feedback information generation unit inputs the learning data generated by the teaching data execution unit and the learning result data generated by the learning processing unit to generate teaching data applied to the user operation executed by the teaching data execution unit. and generating feedback information based on the evaluation result and outputting the feedback information to an output unit.
  • a third aspect of the present disclosure is A program for executing information processing in an information processing device, a teaching data execution step of causing a teaching data execution unit to generate, as learning data, a camera-captured image corresponding to movement of the robot by a user operation based on the teaching data and movement position information of the robot;
  • the learning data generated by the teaching data execution unit is input to the learning processing unit to execute machine learning processing, and as learning result data, a teaching data set composed of correspondence data between the image and the action rule of the robot is generated.
  • a learning processing step Learning data generated by the teaching data execution unit and learning result data generated by the learning processing unit are inputted to a feedback information generation unit, and teaching data applied to the user operation executed by the teaching data execution unit.
  • evaluation generates feedback information based on the evaluation result, and outputs the feedback information to an output unit.
  • the program of the present disclosure is, for example, a program that can be provided in a computer-readable format to an information processing device or computer system capable of executing various program codes via a storage medium or communication medium.
  • processing according to the program is realized on the information processing device or computer system.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • the teaching data execution unit generates, as learning data, a camera-captured image corresponding to the movement of the robot by the user's operation based on the teaching data and the movement position information of the robot, and the learning processing unit generates the teaching data.
  • the learning data generated by the execution unit is input to execute machine learning, a teaching data set consisting of images and robot action rules is generated as learning result data, and the feedback information generation unit performs the learning generated by the teaching data execution unit.
  • Data and learning result data generated by the learning processing unit are input, teaching data is evaluated, and numerical feedback information and visual feedback information are generated and output based on the evaluation results.
  • a device and method for presenting the evaluation score of teaching data and necessary teaching data in an easy-to-understand manner to the user are realized, and efficient learning processing and robot performance are realized. can be improved. Note that the effects described in this specification are merely examples and are not limited, and additional effects may be provided.
  • FIG. 10 is a diagram illustrating an example of learning processing using teaching data based on a user's operation on a robot
  • FIG. 10 is a diagram illustrating an example of learning processing using teaching data based on a user's operation on a robot
  • FIG. 10 is a diagram illustrating an example in which teaching data corresponding to specific component positions and component orientations cannot be created
  • FIG. 2 is a diagram illustrating an outline of processing executed by an information processing apparatus according to the present disclosure
  • FIG. 4 is a diagram for explaining the configuration and processing of a teaching data execution unit; It is a figure explaining the structure and process of a learning process part. It is a figure explaining the structure and process of a feedback information generation part.
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 10 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit;
  • FIG. 4 is a diagram illustrating a specific example of feedback information generated by a feedback information generation unit and output to an output unit; It is a figure explaining the example of composition of the information processor of this indication.
  • FIG. 4 is a diagram showing a flowchart describing a sequence of processing executed by the information processing apparatus of the present disclosure;
  • FIG. 4 is a diagram showing a flowchart describing a sequence of processing executed by the information processing apparatus of the present disclosure; It is a figure explaining the hardware structural example of the information processing apparatus of this indication.
  • FIG. 1 is a diagram showing an example of processing executed by the robot 100. As shown in FIG. 1 ,
  • Box a contains a large number of parts.
  • the robot 100 grips one part from the box a with the gripping part 101 at the tip of the robot, rotates the arm part 102 to move the gripping part 101 to the position of the box b, and puts the gripped part into the box b. to run.
  • Step S01 A processing sequence when the robot 100 takes out a part from the box a and puts it in the box b will be described with reference to FIG.
  • the robot 100 executes the following processes in order of steps S01 to S04 shown in FIG. (Step S01) First, in step S01, the robot 100 selects one component to be gripped from the box a, and moves the gripper 101 to a position where the selected component can be gripped.
  • step S102 Next, in step S02, the robot 100 drives the gripper 101 to grip the selected part and lift it up.
  • Step S03 After that, in step S03, the robot 100 rotates the arm part 102 while gripping the component in the grip part 101 to move the grip part 101 above the box b.
  • step S04 the robot 100 lowers the gripping unit 101 that has gripped the part to bring it closer to the box b. put in
  • the robot 100 performs the operation of gripping and moving parts according to these sequences, the robot 100 is required to perform different operations for each part.
  • the robot 100 when performing a part picking process to acquire one part from the box a, the robot 100 needs to perform different modes of movement and gripping depending on the position and orientation of the part. Furthermore, when a part is placed in box b, different processing is required depending on the position of the part already in box b.
  • a learning process is effective as a process for performing different robot control according to each state. An example of learning processing for robot control will be described below.
  • a learning process (imitation learning process) has been proposed in which a person creates teaching data representing various movements of the robot and causes the robot to learn the same movements as the teaching data. ing.
  • a person directly operates the robot's gripper or arm to actually perform ideal robot movements corresponding to various parts positions, and the trajectory, etc. is a learning process for memorizing It is also possible for a person to move the robot using the controller and have the robot memorize the movement. In this way, the robot can learn the movement by a person moving the robot.
  • a user 120 directly moves the robot 100 .
  • the camera 105 attached to the gripper 101 of the robot 100 captures an image of the gripper 105 downward.
  • the motions of steps S01 to S04 described above with reference to FIG. 2 are executed under the user's operation to capture a series of images.
  • the captured image is also updated one by one.
  • An information processing device inside the robot 100 or an information processing device that receives and analyzes an image from the robot 100 analyzes the captured image and generates correspondence data between a series of movements of the robot 100 and a change sequence of the captured image. can do.
  • the advantage of learning using teaching data is that, for example, it is possible for a robot to directly memorize highly versatile motions, such as motions that are resistant to changes in the position of an object, without the need for humans to design detailed rules. That is.
  • the learning process based on the teaching data corresponding to this area b is not performed, and most of the teaching data set as the learning result data for gripping the parts in the area b. will not be created.
  • the process of gripping the part in the area a can be controlled satisfactorily using the teaching data set included in the learning result.
  • this problem is called covariate shift, and solutions have been sought for some time.
  • the behavior rules learned by the robot are executed in an actual environment, and as a result, a state that occurs, for example, a state in which a problem occurs is labeled with teaching data by a person, and the labeled teaching data is used as a new method.
  • teaching data For example, a state in which a problem occurs is labeled with teaching data by a person, and the labeled teaching data is used as a new method.
  • teaching data There are a method of learning as teaching data and a method of increasing a large amount of teaching data sets.
  • these methods still require a lot of labor and time to find the necessary teaching data, and there is a problem that labor and time cannot be greatly reduced.
  • the present disclosure has been made in view of the above problems, for example, and enables efficient creation of various types of effective teaching data when making a robot learn movement using teaching data. is. In other words, it is possible to reduce the possibility of occurrence of bias and areas that cannot be covered, and to efficiently create effective teaching data that is neither excessive nor deficient. It is possible to efficiently and reliably improve the performance of the robot by performing the learning process using effective teaching data that is neither too much nor too little.
  • the information processing apparatus of the present disclosure for example, generates and presents feedback information to a user (operator) who moves a robot according to teaching data. For example, it generates and presents numerical feedback information such as a score that is an evaluation value of teaching data executed by the user, or visual feedback information.
  • a user can easily determine what kind of teaching data is necessary as new teaching data by referring to the feedback information generated by the information processing apparatus of the present disclosure.
  • the feedback information generated by the information processing apparatus of the present disclosure and presented to the user includes the uncertainty of the behavior rule obtained as a result of the learning process, the loss of the behavior rule (prediction error with the teaching data set), and the camera shooting It is created using latent feature data obtained by image analysis.
  • the latent feature data is feature data that is obtained by compressing and simplifying the feature data of the original data.
  • the feature data obtained from an image captured by a camera consists of a large amount of data such as image size (height, width), object distance, pixel-by-pixel color, and brightness. It becomes a huge amount of 100-dimensional data and requires a huge amount of time for analysis processing.
  • Data generated by compressing such a huge amount of data into a vector of several dimensions such as 64-dimensional, 32-dimensional, 2-dimensional, 3-dimensional, etc. is the latent feature data. Efficient analysis becomes possible by performing analysis using latent feature data.
  • the latent feature data is feature data obtained by compressing and simplifying the feature data of the original data, and the information processing apparatus of the present disclosure utilizes this latent feature data to present teaching data to the user.
  • Numerical feedback information such as a score, which is an evaluation value, and visual feedback information, these two pieces of feedback information are generated.
  • the information processing apparatus of the present disclosure solves the problem of learning processing using conventional teaching data, that is, the problem that teaching data generated by a person is biased and an area that cannot be covered is generated. is.
  • the process generates and presents to the user visual feedback information or numerical feedback information that allows the user to check new teaching data to be generated or teaching data corresponding to difficult areas of learning. Execute the process.
  • Numerical Feedback Information is, for example, an evaluation value of teaching data executed by the user.
  • a score calculated based on a predetermined reference value for example, a five-step score of 1, 2, 3, 4, 5, etc. as an evaluation value in five steps is generated and presented.
  • the five stages are just an example, and a configuration using scores in a plurality of stages, at least two stages or more, is possible. By using such scores, user-friendly feedback information can be provided. Specific examples of score generation processing and presentation processing will be described later.
  • Visual Feedback Information includes the following multiple pieces of information.
  • the visual feedback information generated by the information processing apparatus of the present disclosure and presented to the user includes these pieces of information. An overview of each piece of information will be described below. A specific example of the visual feedback information described below will be described later.
  • the score graph display data is, for example, graphic data such as bar graphs corresponding to scores, and is data in which evaluation values of teaching data executed by the user are made into easy-to-understand visual information. For example, it outputs a bar graph corresponding to the score, which is the above numerical feedback information, and the number of stars (such as ⁇ ). Thereby, the user can immediately confirm whether the score of the teaching data executed by the user is high or low.
  • the high-score area instruction data is, for example, data in which a mark such as an arrow indicating an area in which teaching data with a high score can be generated is displayed on an image captured by a camera.
  • a mark such as an arrow indicating an area in which teaching data with a high score can be generated is displayed on the display image. This allows the user to confirm the position, trajectory, etc. of teaching data to be newly generated.
  • Score-corresponding color display data is the display data of the camera-captured image that outputs the score-corresponding colors.
  • the color of the displayed image is changed according to the score, which is the numerical feedback information. For example, a blue image is used when the score is low, and a red image is used when the score is high. Thereby, the user can immediately confirm whether the score of the teaching data executed by the user is high or low.
  • identification graph data of similar teaching data consists of feature data obtained from a camera-captured image following the trajectory of the robot according to the teaching data newly executed by the user, and This is comparison data of feature data acquired from camera-captured images corresponding to teaching data.
  • comparison data is generated between the feature data obtained from the image captured by the camera following the trajectory of the robot according to the teaching data newly executed by the user and the feature data obtained from the image captured by the camera corresponding to the teaching data that has already been executed. to display.
  • the display data is compressed into several-dimensional latent feature data and displayed. This allows the user to easily check whether or not the newly executed teaching data is similar to the already executed teaching data.
  • the trajectory data corresponding to teaching data consists of a robot trajectory based on teaching data newly executed by the user (for example, grip position) and a robot trajectory based on already executed teaching data (for example, gripping position). is generated and displayed. Comparison data is generated and displayed between the trajectory of the robot (for example, gripping position) based on teaching data newly executed by the user and the trajectory (eg, gripping position) of the robot based on teaching data that has already been executed. For example, the trajectory data is drawn and displayed on a three-dimensional graph.
  • the user can easily confirm whether or not the trajectory of the newly executed teaching data is similar to the trajectory of the already executed teaching data.
  • a specific example of the visual feedback information described above will be described later.
  • the information processing apparatus performs processing for generating visual feedback information and numerical feedback information that can be confirmed by the user and presenting the information to the user.
  • the user can easily confirm new teaching data to be generated, teaching data corresponding to difficult-to-learn areas, and the like.
  • a simple teaching instrument is a simple instrument that enables movement similar to that of an actual robot, and is a small device that is easy for a user to operate. Note that processing may be performed using an actual robot to be controlled instead of the simple teaching tool.
  • processing of the present disclosure is not limited to the specific examples described below, and can be applied to general learning processing using teaching data.
  • a teaching pendant-type teaching process in which a controller or the like is used to cause the robot to perform actual movements and sequentially memorize the positions and movements of the arm and gripper, or a teaching process in which a person directly moves a robot arm, etc. It can also be applied to processing and the like.
  • the action (task) to be executed by the robot is not limited to the grasping action.
  • FIG. 6 shows the following elements.
  • A Teaching data execution unit 140
  • B Learning processing unit 160
  • C Feedback information generator 170
  • the user uses the teaching data to operate the simple teaching tool.
  • the captured image of the camera attached to the simple teaching tool is analyzed, and for example, the position and movement amount of the grip portion of the simple teaching tool are calculated, and the captured image, the grip portion position, and the moving amount are calculated.
  • the data is stored in the storage unit as learning data 150 .
  • the simple teaching instrument is a simple instrument that enables the same movement as an actual robot, and is a small device that is easy for the user to operate.
  • An actual robot may be used instead of the simple teaching tool.
  • the "(B) learning processing unit 160" executes learning processing using learning data (captured image, gripping unit position, movement amount data) 150 stored in the storage unit.
  • the learning result data generated as a result of the learning processing in the learning processing unit 160 includes a teaching data set, that is, a teaching data set including a captured image and a data set of action rules (moving trajectories of gripping positions, etc.). included.
  • the “(C) feedback information generation unit 170” inputs the learning data 150 generated by the (A) teaching data execution unit 140 and stored in the storage unit, that is, the captured image, the gripping unit position, and the movement amount data. Further, (B) learning result data, that is, a teaching data set including a data set of photographed images and action rules (movement trajectories of gripping positions, etc.) is input from the learning processing unit 160 .
  • the "(C) feedback information generation unit 170" generates feedback information for the user (operator) based on these input data and outputs it to the output unit (display unit) 180.
  • the feedback information displayed on the output unit (display unit) 180 is composed of the above-mentioned numerical feedback information and visual feedback information.
  • the user (operator) 120 looks at the feedback information displayed on the output unit (display unit) 180 and confirms the evaluation of the teaching data executed by the user (operator) 120 . Furthermore, the mode of the necessary teaching data (the trajectory of the gripping portion of the robot, etc.) is confirmed, and according to the confirmation result, (A) the teaching data execution unit 140 uses the newly required teaching data to operate the robot. make it work.
  • teaching data execution unit 140 The configuration and processing of the teaching data execution unit 140 will be described with reference to FIG.
  • a user (operator) 120 operates the simple teaching tool 110 using teaching data.
  • the captured image of the camera attached to the simple teaching tool is analyzed, and for example, the position and movement amount of the grip portion of the simple teaching tool are calculated, and the captured image, the grip portion position, and the moving amount are calculated.
  • the data is stored in the storage unit as learning data 150 .
  • the simple teaching instrument is a simple instrument that enables the same movement as an actual robot, and is a small device that is easy for the user to operate.
  • An actual robot may be used instead of the simple teaching tool.
  • a camera 105 is attached to the grip portion of the simple teaching tool 110 .
  • a user (operator) 120 directly moves the simple teaching tool 110 to perform a certain action (task).
  • a controller may be used to move the simple teaching tool 110 .
  • An operation (task) is a series of operations such as part gripping process and part moving process. Execution of one task is defined as one trial.
  • the camera 105 continuously performs image capturing. For example, video shooting is performed.
  • the teaching data execution unit 140 the image captured by the camera 105 is analyzed, and for example, the position and movement amount of the gripping portion of the simple teaching tool are calculated.
  • the teaching data execution unit 140 generates the teaching data execution unit generation data 145 shown in FIG. Store in the storage unit.
  • the teaching data execution unit generated data 145 in FIG. 7 shows an example of one photographed image (camera photographed image) photographed during task execution. Until (t_terminal), the camera 105 continuously captures images, and the continuously captured images are stored in the storage unit as learning data 150 .
  • the captured image of the camera 105 is analyzed, and for example, the position and movement amount of the gripping part of the simple teaching tool are calculated.
  • time-series data from the initial time (t0) to the task end time (t_terminal) of the position of the gripping position and the amount of movement calculated by self-position estimation processing such as SLAM (Simultaneous Localization and Mapping) processing) are stored in the storage unit as learning data 150 together with the image captured by the camera.
  • SLAM Simultaneous Localization and Mapping
  • SLAM Simultaneous Localization and Mapping
  • self-location estimation processing localization
  • environment map creation processing mapping
  • the configuration and processing of the learning processing unit 160 will be described with reference to FIG.
  • the learning processing unit 160 executes learning processing using learning data (captured image, gripping unit position, movement amount data) 150 stored in the storage unit.
  • the learning processing unit 160 generates learning result data 165 including a teaching data set as a result of learning processing, that is, a teaching data set including a data set of photographed images and action rules (moving trajectories of gripping positions (gripping units), etc.). do.
  • the learning process executed by the learning processing unit 160 is so-called machine learning, and various learning algorithms can be applied.
  • One example of learning processing is deep learning, which is learning processing using a deep neural network (DNN). If you use deep learning, you can input sample data, and the learning processing unit itself automatically extracts feature values from a large amount of data to generate optimal solutions corresponding to various data, such as robot control parameters. can.
  • DNN deep neural network
  • DNN deep neural network
  • CNN Convolutional Neural Network
  • the learning processing unit 160 executes learning processing using the learning data (captured image and gripping unit position and movement amount data) 150 stored in the storage unit. An image at a certain time and the position and movement amount of the gripping position at a certain time are stored in the storage unit as learning data 150 .
  • the learning processing unit 160 executes learning processing using deep learning (CNN) on these correspondence data, and learns the positional relationship between the image and the gripping unit, that is, the action rule.
  • CNN deep learning
  • the learning processing unit 160 generates learning result data 165 including a teaching data set as a result of learning processing, that is, a teaching data set consisting of a data set of photographed images and action rules (moving trajectories of gripping positions (gripping units), etc.). do.
  • a teaching data set consisting of a data set of photographed images and action rules (moving trajectories of gripping positions (gripping units), etc.). do.
  • the teaching data execution unit 140 executes the teaching data created by the user, and the learning processing unit 160 learns the resulting learning data, which is repeated.
  • a teaching data set is created as learning result data.
  • the (C) feedback information generation unit 170 described below solves this problem.
  • the feedback information generation unit 170 generates the learning data 150 generated in the teaching data execution unit 140 and stored in the storage unit. Enter data 145 . Further, learning result data 165 , that is, a teaching data set including a data set of photographed images and action rules (movement trajectories of gripping positions, etc.) is input from the learning processing unit 160 .
  • the feedback information generator 170 generates feedback information for the user (operator) based on these input data.
  • the generated feedback information is output to the output section (display section) 180 .
  • the feedback information generated by the feedback information generation unit 170 is the above-mentioned numerical feedback information and visual feedback information.
  • the user (operator) 120 sees the feedback information displayed on the output unit (display unit) 180 and confirms the evaluation of the teaching data executed by the user (operator) 120 . Furthermore, the form of necessary teaching data (trajectory of the robot's gripper, etc.) is confirmed, and according to the confirmation result, the robot is operated using the newly required teaching data in the teaching data execution unit 140 . By repeating these processes, it is possible to generate an effective teaching data set without omission.
  • the numerical feedback information and the visual feedback information generated by the feedback information generation unit 170 are the following information.
  • (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification Graph Data of Teaching Data (2e) Trajectory Data Corresponding to Teaching Data
  • (2) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification Graph Data of Teaching Data (2e) Trajectory Data Corresponding to Teaching Data
  • Numerical feedback information is, for example, an evaluation value of teaching data executed by the user, and a score calculated based on a predetermined reference value, for example, a 5-level evaluation value is generated and presented. By using such scores, user-friendly feedback information can be provided.
  • FIG. 10(1a) shows an example of score calculation.
  • the total score which is the evaluation value of the teaching data executed by the user, is the addition of the following three types of evaluation values (scores) corresponding to the teaching data executed by the user to be evaluated. Calculated by value.
  • Score indicating “uncertainty of behavior rules” (2) Score indicating “prediction error” (3) Score indicating “degree of difference between teaching data to be evaluated and already executed teaching data”
  • Total score (score indicating 'uncertainty of behavioral rule') + (score indicating 'prediction error') + (score indicating 'difference between teaching data to be evaluated and already executed teaching data') Calculate the overall score according to the above formula.
  • Total score ⁇ 1 ⁇ (score indicating “uncertainty of behavior rule”) + ⁇ 2 ⁇ (score indicating “prediction error”) + ⁇ 3 ⁇ (“difference between teaching data to be evaluated and executed teaching data”) Score)
  • ⁇ Uncertainty of behavior rule'' is a score that indicates the uncertainty of the behavior rule included in the teaching data set, which is the learning result data generated as a result of the machine learning process executed in the learning processing unit 160.
  • the score indicating "uncertainty of behavioral rules" is calculated by ensemble of multiple neural networks and calculating the variance of their outputs. That is, the uncertainty of prediction is estimated by preparing a plurality of neural networks and performing learning processing using each neural network. Even if the same data set is used, there are differences in the initial weights of the neural networks and the parts where data is sampled. For parts where data does not exist, the prediction results of each neural network vary, and the uncertainty of prediction is approximated. can be calculated
  • the score indicating the "prediction error” is calculated by the teaching data execution unit 140 based on the user's operation according to the teaching data, and the learning processing unit 160. It is a score corresponding to the difference between the movement position and movement amount of the gripping position (gripping portion) of the simple teaching tool 110 predicted from the action rule acquired by the learning process according to the teaching data.
  • it is a score calculated using the mean square error between the movement amount of the grip position in the teaching data and the predicted movement amount of the grip position (that is, the value predicted from the behavior rule learned by the neural network).
  • a score value is calculated by classifying the mean square error between the movement amount and the movement amount of the predicted gripping position into score values of scores 1, 2, 3, 4, and 5 in five stages.
  • the score indicating "the degree of difference between the teaching data to be evaluated and the executed teaching data" uses the degree of difference between the camera-captured images corresponding to each teaching data.
  • the difference between images is calculated using, for example, a Variational Auto Encoder (VAE).
  • VAE Variational Auto Encoder
  • a variational autoencoder is a normal autoencoder (AE: Auto Encoder), on the premise that latent features are generated from a probability distribution, and has improved expressiveness of latent features. degree calculation method.
  • a normal autoencoder consists of an encoder that compresses high-dimensional information such as image information into latent features, and a decoder that restores high-dimensional information from the latent features.
  • the feature information of image A which has high-dimensional feature amounts, is input to an encoder to generate latent features made up of low-dimensional feature amounts.
  • the latent features are input to the Decoder to generate a reconstructed image with multidimensional features. This restored image and the original image A are compared to learn whether or not they can be restored correctly, and the latent features are evaluated.
  • VAEs Variational autoencoders
  • AE Auto Encoders
  • the score indicating "the degree of difference between the teaching data to be evaluated and the teaching data that has been executed" is the latent feature of the camera-captured image corresponding to the teaching data to be evaluated and the latent feature of the camera-captured image corresponding to the executed teaching data. is calculated by the variational autoencoder (VAE), and is a score calculated based on the degree of difference between the two calculated latent features.
  • VAE variational autoencoder
  • a correspondence graph as shown in FIG. 13 is used. a process of classifying the degree of difference between the latent feature of the image captured by the camera corresponding to the teaching data and the latent feature of the image captured by the camera corresponding to the already executed teaching data into score values of 1, 2, 3, 4, and 5 in five stages. to calculate the score value.
  • the numerical feedback information generated by the feedback information generation unit 170 that is, the total score (overall evaluation value) of the teaching data executed by the user is (1) Score indicating “uncertainty of behavior rules” (2) Score indicating “prediction error” (3) Score indicating “degree of difference between teaching data to be evaluated and already executed teaching data” It is calculated as the added value of the score.
  • Total score (score indicating 'uncertainty of behavioral rule') + (score indicating 'prediction error') + (score indicating 'difference between teaching data to be evaluated and already executed teaching data') Calculate the overall score according to the above formula.
  • the above three types of scores may be multiplied by predetermined weighting coefficients ⁇ 1 to ⁇ 3 to calculate a total score according to the following equation.
  • Total score ⁇ 1 ⁇ (score indicating “uncertainty of behavior rule”) + ⁇ 2 ⁇ (score indicating “prediction error”) + ⁇ 3 ⁇ (“difference between teaching data to be evaluated and executed teaching data”) Score)
  • the feedback information generation unit 170 outputs the total score calculated in this way to the output unit (display unit) 180 and presents it to the user 120 . Furthermore, the feedback information generation unit 170 ranks the calculated total score as shown in FIG. 10(1b), generates rank information corresponding to the score of the teaching data to be evaluated, ) 180 for presentation to the user 120 .
  • the ranks are, for example, three ranks of S, A, and B as shown in FIG. 10(1b).
  • Rank A is an overall score of 12 to 10
  • Rank B is an overall score of 9 to 7 : :
  • ranking corresponding to these score values is performed. Note that this rank setting corresponding to scores is an example, and various other rankings corresponding to scores are possible.
  • the feedback information generation unit 170 calculates scores as evaluation values of teaching data executed by the user and ranks corresponding to the scores, and outputs the scores to the output unit (display unit) 180 .
  • FIG. 10 shows the following two types of output data examples of output data for the output unit (display unit) 180 of the feedback information generated by the feedback information generation unit 170 .
  • Output data example 1 is The score as the evaluation value of the teaching data executed by the user (teaching data score) and the score corresponding to the reference value (baseline) (baseline score) are displayed side by side, separated by a slash (/). It is an example of output data to be used.
  • the score (baseline score) that corresponds to the reference value (baseline) for example, a score prepared in advance for evaluation is used. For example, it is possible to apply an average value of scores corresponding to teaching data calculated so far, a value of the highest score, or the like.
  • a score (baseline score) calculated in advance based on a plurality of sample teaching data prepared in advance for evaluation may be used.
  • An example of calculation processing (baseline score) based on a plurality of sample teaching data prepared in advance for evaluation will be described. For example, for each of a plurality of sample teaching data prepared in advance for evaluation, (1) “Uncertainty of rules of conduct” (2) “Prediction error” (3) "Difference between the teaching data to be evaluated and the teaching data that has been executed” These values are calculated, and a (baseline score) based on a plurality of sample teaching data is calculated based on the average value of these calculated values.
  • the score to be output may be set to calculate and output the average value of each trial of teaching data executed by the user 120, for example.
  • it may be configured to calculate and output the average value of series data t0 to t_terminal of each trial.
  • Rank (total score) B (9/15)
  • This display data example corresponds to the display data of the output section (display section) 180 on the right side of FIG.
  • Feedback score (score of teaching data) / ((predicted maximum score) - (predicted minimum score)) This output data example 2 is shown.
  • This (output data example 2) is A score as an evaluation value of teaching data executed by the user (teaching data score), and a difference between the maximum score and the minimum score calculated according to a predefined score prediction algorithm ((predicted maximum score) - (predicted It is an example of output data in which minimum scores)) are displayed side by side separated by slashes (/).
  • the visual feedback information generated by the feedback information generator 170 includes, for example, the following information.
  • (2e) Trajectory data corresponding to teaching data A specific example of the visual feedback information will be described.
  • the score graph display data is, for example, graphic data such as bar graphs corresponding to scores, and is data in which the evaluation value of teaching data executed by the user is made into easy-to-understand visual information. For example, it outputs a bar graph corresponding to the score, which is the numerical feedback information, and the number of stars (such as ⁇ ).
  • FIG. 14 is a diagram illustrating a specific example of "(2a) score graph display data". Along with the image captured by the camera attached to the simple teaching tool 110 or the robot 100, a bar graph corresponding to the score, which is the above-described numerical feedback information, and the number of stars (such as ⁇ ) are output.
  • Score indicating “uncertainty of behavior rules” (2) Score indicating “prediction error” An example of outputting a bar graph corresponding to these two types of scores and the number of stars ( ⁇ etc.) showing.
  • Score indicating “uncertainty of behavior rules” (2) Score indicating “prediction error” (3) Score indicating “degree of difference between teaching data to be evaluated and already executed teaching data” All the scores may be generated and displayed as bar graphs or graph data in the form of star numbers (such as ⁇ ). Furthermore, a bar graph generated based on the total score calculated based on these individual scores and the number of stars (such as ⁇ ) may be displayed.
  • the user can immediately check whether the score of the teaching data executed by the user is high or low.
  • the high-score area designation data is, for example, data in which a mark such as an arrow indicating an area in which teaching data with a high score can be generated is displayed on an image captured by a camera.
  • a mark such as an arrow indicating an area in which teaching data with a high score can be generated is displayed on the displayed image.
  • FIG. 15 is a diagram illustrating a specific example of "(2b) high score area indication data".
  • a mark such as an arrow indicating an area in which teaching data with a high score can be generated is displayed on an image captured by a camera attached to the simple teaching tool 110 or the robot 100 .
  • an arrow indicating a region in which teaching data with a high score can be generated and an arrow indicating a region in which teaching data with a low score are generated are displayed in different colors.
  • an arrow indicating the direction of the high score area is displayed as a red arrow
  • an arrow indicating the direction of the low score area is displayed as a blue arrow.
  • teaching data with a high score can be generated.
  • the user can confirm the position, trajectory, etc. of the teaching data to be newly generated.
  • the score-corresponding color display data is the display data of the camera-captured image that outputs the score-corresponding color.
  • the color of the displayed image is changed according to the score, which is the numerical feedback information. For example, a blue image is used when the score is low, and a red image is used when the score is high.
  • FIG. 16 is a diagram illustrating a specific example of "(2c) score-corresponding color display data". As shown in FIG. 16, when an image captured by the camera attached to the simple teaching tool 110 or the robot 100 is output to the display unit, the color of the display image is changed according to the score, which is the numerical feedback information. Make it a different color.
  • an image with a low score is a blue image.
  • An image with a high score is a red image.
  • the identification graph data of the similar teaching data includes the feature data obtained from the simple teaching tool 110 according to the newly executed teaching data by the user or the image captured by the camera following the trajectory of the robot 100, and the already executed teaching data.
  • This is comparison data of feature data acquired from camera-captured images corresponding to teaching data that has already been taught. To generate and display comparison data between teaching data newly executed by a user and teaching data already executed.
  • comparison data is generated between the feature data obtained from the image captured by the camera following the trajectory of the robot according to the teaching data newly executed by the user and the feature data obtained from the image captured by the camera corresponding to the teaching data that has already been executed. to display.
  • the display data is compressed into several-dimensional latent feature data and displayed.
  • FIG. 17 is a diagram illustrating a specific example of "(2d) identification graph data of similar teaching data".
  • the display data shown in FIG. 17 is graph data in which points of past teaching data and present teaching data are displayed on a two-dimensional graph of the X1 axis and the X2 axis.
  • the X1 axis and the X2 axis correspond to elements of two-dimensional latent feature data generated by compressing the feature data obtained from the camera-captured image.
  • latent feature data is feature data obtained by compressing and simplifying feature data of original data.
  • the feature data obtained from an image captured by a camera consists of a large amount of data such as image size (height, width), object distance, pixel-by-pixel color, and brightness. It becomes a huge amount of 100-dimensional data and requires a huge amount of time for analysis processing.
  • the two-dimensional graph shown in FIG. 17 is data obtained by compressing this enormous amount of data into, for example, two-dimensional data and showing each of these two-dimensional elements as a two-dimensional graph with the X1 axis and the X2 axis.
  • the feedback information generation unit 170 generates latent feature data by compressing the feature data acquired from the camera-captured image corresponding to the movement of the robot based on the teaching data applied to the user operation executed by the teaching data execution unit 140. Generate and output identification graph data showing the degree of similarity and difference with the latent feature data generated by compressing the feature data acquired from the camera-captured image corresponding to the robot movement based on the teaching data that has been executed in the past. output to the
  • the t-SNE method (a data analysis method for mapping high-dimensional vectors to low-dimensional vectors), for example, can be used to draw feature quantities.
  • the t-SNE method it is possible to convert to low-dimensional feature information data while maintaining the relationship of high-dimensional feature information, and the user can visually understand the difference between each teaching data. can be done.
  • a plurality of points corresponding to past teaching data are set in the upper left, and points corresponding to current teaching data are displayed in the lower right.
  • a plurality of points corresponding to the past teaching data shown in the upper left are dense, which means that images corresponding to similar teaching data have been acquired.
  • the points corresponding to the current teaching data in the lower right shown in the figure are separated from the points corresponding to the past teaching data shown in the upper left, and the image corresponding to the teaching data this time is different from the image corresponding to the past teaching data. It means that it has characteristics. That is, it can be confirmed that there is a high possibility that the current teaching data is useful teaching data different from the past teaching data.
  • the teaching data-corresponding trajectory data includes the trajectory of the simple teaching tool 110 or the robot 100 (for example, the gripping position) based on teaching data newly executed by the user, and the trajectory of the robot based on teaching data that has already been executed (for example, It generates and displays data for comparison with grip position).
  • trajectory data is drawn and displayed on a three-dimensional graph.
  • FIG. 18 is a diagram illustrating a specific example of "(2e) Trajectory data corresponding to teaching data".
  • the display data shown in FIG. 18 is graph data in which the trajectories of past teaching data and current teaching data are displayed on a three-dimensional graph representing an xyz three-dimensional space.
  • the dotted line is the trajectory corresponding to the past teaching data
  • the solid line is the trajectory of the current teaching data. Note that the trajectory is, for example, the movement trajectory of the simple teaching tool 110 or the grasping portion of the robot 100 .
  • trajectory data corresponding to teaching data in which trajectory data corresponding to a plurality of teaching data are displayed side by side. It is possible to easily confirm whether or not there is similarity to the trajectory.
  • the feedback information generation section 170 generates various feedback information and outputs them to the output section (display section) 180 . That is, each of the following information is generated and output to the output section (display section) 180 .
  • (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data
  • the user (operator) 120 sees the feedback information displayed on the output unit (display unit) 180 and confirms the evaluation of the teaching data executed by the user (operator) 120 . Furthermore, the mode of the necessary teaching data (trajectory of the gripping part of the robot, etc.) is confirmed, and according to the confirmation result, the teaching data execution unit 140 uses the newly required teaching data to The robot 100 is operated. By repeating these processes, it is possible to generate an effective teaching data set without omission.
  • the feedback information generating section 170 generates various feedback information and outputs them to the output section (display section) 180 .
  • the output unit (display unit) 180 can be configured in an information processing apparatus having the learning processing unit 160 and the feedback information generation unit 170 described with reference to FIG.
  • a terminal such as a smartphone owned by the user 120 who is away from the department may be used.
  • FIG. 19 shows an example of outputting and displaying the feedback information generated by the feedback information generation unit 170 on a terminal such as a smartphone owned by the user 120 .
  • the display data shown in FIG. 19 is the visual feedback information previously described with reference to FIGS. 14-18, namely: (2a) Score graph display data (2b) High score area indication data (2c) Color display data corresponding to score (2d) Identification graph data for similar teaching data (2e) Trajectory data corresponding to teaching data It is an example of the data displayed together.
  • the user 120 looks at the displayed feedback information, confirms the evaluation of the teaching data executed by the user 120, confirms the required new teaching data mode (trajectory of the gripping part of the robot, etc.), and confirms these New teaching data can be executed in the teaching data execution unit 140 according to the confirmation result.
  • the required new teaching data mode trajectory of the gripping part of the robot, etc.
  • FIG. 20 is a block diagram illustrating a configuration example of the information processing device 200 of the present disclosure.
  • the information processing apparatus 200 of the present disclosure includes a teaching data execution unit 201, a learning processing unit 202, a feedback information generation unit 203, an output unit (display unit) 204, a first storage unit 205, a second It has a storage unit 206 .
  • the teaching data execution unit 201 has a camera 211 attached to a simple teaching tool or robot, and an image analysis unit 212 .
  • teaching data execution unit 201 a user (operator) uses teaching data to operate a simple teaching instrument or a robot.
  • a camera 211 is attached to the simple teaching tool or robot.
  • the camera 211 captures continuously captured images of the simple teaching tool or robot being operated by the user.
  • the camera 211 takes, for example, an image of a simple teaching instrument or a grasping portion of a robot in the hand direction.
  • An image captured by the camera 211 is input to the image analysis unit 212 .
  • An image analysis unit 212 analyzes an image captured by the camera 211 .
  • the image analysis unit 212 analyzes the image captured by the camera 211 to calculate, for example, a simple teaching tool or the position and the amount of movement of the grasping part of the robot. Store in the storage unit.
  • the user directly moves the simple teaching tool or robot to perform certain actions (tasks).
  • a controller may be used to move a simple teaching instrument or robot.
  • An operation (task) is a series of operations such as part gripping process and part moving process. Execution of one task is defined as one trial.
  • the camera 211 continuously performs image capturing. For example, video shooting is performed.
  • the image analysis unit 212 of the teaching data execution unit 201 analyzes the image captured by the camera 211, and calculates, for example, the position and movement amount of the grasping unit of the simple teaching tool or robot.
  • time-series data of the gripping position position and movement amount calculated by self-position estimation processing such as SLAM (Simultaneous Localization and Mapping) processing (from initial time (t0) to task end time (t_terminal) ) are stored in the first storage unit 205 as learning data.
  • SLAM Simultaneous Localization and Mapping
  • SLAM Simultaneous Localization and Mapping
  • the learning processing unit 202 executes learning processing using learning data (captured image and gripping portion movement amount data) stored in the first storage unit 205 .
  • the learning result data generated as a result of the learning processing in the learning processing unit 202 is a teaching data set, that is, a teaching data set consisting of a data set of photographed images and action rules (moving trajectories of gripping positions, etc.). is stored in the second storage unit 206 .
  • the learning process executed by the learning processing unit 202 is machine learning as described above, and various learning algorithms can be applied.
  • One example of learning processing is deep learning, which is learning processing using a deep neural network (DNN). If you use deep learning, you can input sample data, and the learning processing unit itself automatically extracts feature values from a large amount of data to generate optimal solutions corresponding to various data, such as robot control parameters. can.
  • DNN deep neural network
  • DNN deep neural network
  • CNN Convolutional Neural Network
  • the learning processing unit 202 executes learning processing using the learning data (captured image and gripping unit position and movement amount data) stored in the first storage unit 205 .
  • the first storage unit 205 stores an image at a certain time and the position and movement amount of the gripping position at a certain time as learning data.
  • the learning processing unit 202 executes learning processing using deep learning (CNN) on these correspondence data, and learns the positional relationship between the image and the gripping unit, that is, the action rule.
  • CNN deep learning
  • the learning processing unit 202 generates learning result data including a teaching data set as a result of learning processing, that is, a teaching data set including a captured image and a data set of action rules (moving trajectories of gripping positions, etc.).
  • a teaching data set including a captured image and a data set of action rules (moving trajectories of gripping positions, etc.).
  • the second storage unit 206 stores a teaching data set 232 including a captured image and a data set of action rules (trajectory of gripping position movement, etc.) as shown in FIG.
  • the feedback information generation unit 203 receives the learning data generated by the teaching data execution unit 201 and stored in the first storage unit 205, that is, the captured image and the gripping unit movement amount data. Furthermore, the learning result data stored in the second storage unit 206 generated by the learning processing of the learning processing unit 202, that is, the teaching data set consisting of the data set of the photographed image and the action rule (moving trajectory of the gripping position, etc.) input.
  • the feedback information generation unit 203 generates feedback information for the user (operator) based on these input data and outputs it to the output unit (display unit) 204 .
  • the feedback information generated by the feedback information generation unit 203 is the above-mentioned numerical feedback information and visual feedback information.
  • the numerical feedback information and the visual feedback information generated by the feedback information generation unit 203 are the following information.
  • (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data Details of each of these pieces of information are as described above with reference to FIGS. 10 to 18 .
  • the feedback information generated by feedback information generation section 203 is displayed on output section (display section) 204 .
  • display section For example, the data described above with reference to FIGS. 10 to 18 and the display data described with reference to FIG. 19 are displayed.
  • the user sees the feedback information generated by the feedback information generation unit 203 and displayed on the output unit (display unit) 204 to confirm the evaluation of the executed teaching data. Furthermore, the form of necessary teaching data (trajectory of the robot's gripping portion, etc.) is confirmed, and according to the confirmation result, the robot is operated using the newly required teaching data in the teaching data execution unit 201 . By repeating these processes, it is possible to generate an effective teaching data set without omission.
  • the camera 211 of the teaching data execution unit 201 may be attached to a simple teaching tool or a robot, and configured separately from the information processing apparatus 200 .
  • a terminal such as a user's smartphone can be used as described above with reference to FIG.
  • a sequence of processing executed by the information processing apparatus of the present disclosure for example, the information processing apparatus 200 shown in FIG. 20 will be described with reference to the flowchart shown in FIG.
  • the processing according to this flow can be executed, for example, by the data processing unit of the information processing device 200 according to a program stored in the storage unit. For example, it can be performed as program execution processing by a processor such as a CPU having a program execution function. Processing of each step of the flow shown in FIG. 21 will be described below.
  • Step S101 First, in step S101, the user operates a simple teaching tool (or robot) according to teaching data, and the data processing unit of the information processing device analyzes this motion information to generate learning data.
  • This process is a process executed by the teaching data execution unit 201 of the information processing apparatus 200 described above with reference to FIG.
  • a user uses teaching data to operate a simple teaching tool or a robot.
  • a simple teaching tool or robot is equipped with a camera, and continuously captures images during operation by a user.
  • the image captured by the camera is input to the image analysis unit 212 described with reference to FIG. 20.
  • the image analysis unit 212 analyzes the image captured by the camera to calculate the position and movement amount of the simple teaching tool or the grasping part of the robot. Then, the captured image, the position of the gripping portion, and the movement amount data are stored in the first storage portion as learning data.
  • step S102 the data processing unit of the information processing device executes learning processing using the learning data.
  • This processing is executed by the learning processing unit 202 of the information processing device 200 described above with reference to FIG.
  • the learning processing unit 202 executes learning processing using learning data (captured image and gripping portion movement amount data) generated by the teaching data execution unit 201 of the information processing apparatus 200 and stored in the first storage unit 205 .
  • the learning result data generated as a result of the learning processing in the learning processing unit 202 is a teaching data set, that is, a teaching data set consisting of a data set of photographed images and action rules (moving trajectories of gripping positions, etc.). is stored in the second storage unit 206 .
  • Steps S103-S104 the data processing unit of the information processing device collects the teaching data applied to the learning data generation process and the teaching data set as the learning result, and collects the teaching data applied to the learning data generation process. Evaluation processing is executed to generate feedback information such as a score, for example.
  • This process is executed by the feedback information generation unit 203 of the information processing device 200 described above with reference to FIG.
  • the feedback information generation unit 203 receives the learning data generated by the teaching data execution unit 201 and stored in the first storage unit 205, that is, the captured image and the gripping unit movement amount data. Furthermore, the learning result data stored in the second storage unit 206 generated by the learning processing of the learning processing unit 202, that is, the teaching data set consisting of the data set of the photographed image and the action rule (moving trajectory of the gripping position, etc.) input.
  • the feedback information generator 203 generates feedback information for the user (operator) based on these input data.
  • the feedback information generated by the feedback information generation unit 203 is the above-described numerical feedback information and visual feedback information.
  • each of the following information (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data Details of each of these pieces of information are as described above with reference to FIGS. 10 to 18 .
  • step S105 the data processing unit of the information processing apparatus presents the feedback information generated in step S104 to the user.
  • This processing is executed by the feedback information generation unit 203 and the output unit (display unit) 204 of the information processing device 200 described above with reference to FIG.
  • the feedback information generation unit 203 outputs the feedback information generated in step S104 to the output unit (display unit) 204 and presents it to the user.
  • the feedback information to be output to the output unit (display unit) 204 is the above-described numerical feedback information and visual feedback information, and the following information.
  • (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data
  • Step S106 The determination process in the next step S106 is performed by the user (operator) who has confirmed the feedback information output to the output unit (display unit) 204.
  • FIG. 10 The determination process in the next step S106 is performed by the user (operator) who has confirmed the feedback information output to the output unit (display unit) 204.
  • the user sees the feedback information generated by the feedback information generation unit 203 and displayed on the output unit (display unit) 204, and confirms the evaluation of the teaching data executed by the user. Further, the form of necessary teaching data (eg, the trajectory of the gripping portion of the robot) is confirmed, and it is determined whether processing for generating a new teaching data set is necessary.
  • necessary teaching data eg, the trajectory of the gripping portion of the robot
  • step S107 If it is determined that a new teaching data set generation process is not necessary, the process is terminated. On the other hand, if it is determined that a new teaching data set generation process is necessary, the process proceeds to step S107.
  • Step S107 In step S106, when the user looks at the feedback information displayed on the output unit (display unit) 204 and determines that a new teaching data set generation process is necessary, the process proceeds to step S107, and the following processes are performed. to run.
  • the feedback information is checked and teaching data for generating a new teaching data set determined to be necessary is generated, and the process returns to step S101 to execute the learning process using the generated new teaching data. .
  • step S106 processing for generating a new teaching data set is not necessary.
  • the process ends. Through such processing, it is possible to generate a teaching data set that is effective and free of omissions.
  • the flow shown in FIG. 21 is a sequence for generating feedback data when executing learning processing to which teaching data is applied, and executing learning processing using new teaching data by referring to the feedback information.
  • the processing of the present disclosure for example, actually controls the robot using the learning result of the learning processing, evaluates the control result, and restarts the learning processing according to the evaluation result. It is also possible to execute as a processing sequence. The sequence of this process will be described with reference to the flowchart shown in FIG. Processing of each step of the flow shown in FIG. 22 will be described below.
  • Step S201 First, in step S201, the user operates a simple teaching tool (or robot) according to teaching data, and the data processing unit of the information processing apparatus analyzes this motion information to generate learning data.
  • This process is a process executed by the teaching data execution unit 201 of the information processing apparatus 200 described above with reference to FIG.
  • a user uses teaching data to operate a simple teaching tool or a robot.
  • a simple teaching tool or robot is equipped with a camera, and continuously captures images during operation by a user.
  • the image captured by the camera is input to the image analysis unit 212 described with reference to FIG. 20.
  • the image analysis unit 212 analyzes the image captured by the camera to calculate the position and movement amount of the simple teaching tool or the grasping part of the robot. Then, the captured image, the position of the gripping portion, and the movement amount data are stored in the first storage portion as learning data.
  • step S202 the data processing unit of the information processing device executes learning processing using the learning data.
  • This processing is executed by the learning processing unit 202 of the information processing device 200 described above with reference to FIG.
  • the learning processing unit 202 executes learning processing using learning data (captured image and gripping portion movement amount data) generated by the teaching data execution unit 201 of the information processing apparatus 200 and stored in the first storage unit 205 .
  • the learning result data generated as a result of the learning processing in the learning processing unit 202 is a teaching data set, that is, a teaching data set consisting of a data set of photographed images and action rules (moving trajectories of gripping positions, etc.). is stored in the second storage unit 206 .
  • step S203 the data processing unit of the information processing device 200 actually controls the robot using the learning result data generated in step S202.
  • the robot driving unit controls the robot by using the learning result data stored in the second storage unit 206, that is, the teaching data set including the photographed image and the data set of the action rule (movement trajectory of gripping position, etc.). .
  • the robot execute a process of gripping parts at various positions under control based on the learning result data.
  • step S204 the data processing unit of the information processing device 200 determines whether or not the robot control to which the learning result data in step S203 is applied is good, that is, whether or not the robot performance is equal to or higher than the prescribed performance.
  • the process ends. That is, it determines that learning processing for generating a new teaching data set is unnecessary, and terminates the processing.
  • step S205 judges that learning processing for generating a new teaching data set is necessary, and executes processing from step S205 onward.
  • Steps S205-S206 the data processing unit of the information processing device collects the teaching data applied to the learning data generation processing and the teaching data set as the learning result, and collects the teaching data applied to the learning data generation processing. Evaluation processing is executed to generate feedback information such as a score, for example.
  • This process is executed by the feedback information generation unit 203 of the information processing device 200 described above with reference to FIG.
  • the feedback information generation unit 203 receives the learning data generated by the teaching data execution unit 201 and stored in the first storage unit 205, that is, the captured image and the gripping unit movement amount data. Furthermore, the learning result data stored in the second storage unit 206 generated by the learning processing of the learning processing unit 202, that is, the teaching data set consisting of the data set of the photographed image and the action rule (moving trajectory of the gripping position, etc.) input.
  • the feedback information generator 203 generates feedback information for the user (operator) based on these input data.
  • the feedback information generated by the feedback information generation unit 203 is the above-described numerical feedback information and visual feedback information.
  • each of the following information (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data Details of each of these pieces of information are as described above with reference to FIGS. 10 to 18 .
  • step S207 the data processing unit of the information processing apparatus presents the feedback information generated in step S206 to the user.
  • This processing is executed by the feedback information generation unit 203 and the output unit (display unit) 204 of the information processing device 200 described above with reference to FIG.
  • the feedback information generation unit 203 outputs the feedback information generated in step S206 to the output unit (display unit) 204 and presents it to the user.
  • the feedback information to be output to the output unit (display unit) 204 is the above-described numerical feedback information and visual feedback information, and the following information.
  • (1) Numerical feedback information Evaluation value of teaching data executed by the user (2) Visual feedback information (2a) Score graph display data (2b) High score area indication data (2c) Score corresponding color display data (2d) Similarity Identification graph data of teaching data (2e) Trajectory data corresponding to teaching data
  • Step S208 the user looks at the feedback information displayed on the output unit (display unit) 204, and generates teaching data for generating a new teaching data set that the user determines to be necessary.
  • the learning process using the generated new teaching data is executed.
  • step S204 the process ends.
  • FIG. 23 is a block diagram showing one configuration example of the hardware configuration of the information processing apparatus of the present disclosure.
  • a CPU (Central Processing Unit) 301 functions as a data processing section that executes various processes according to programs stored in a ROM (Read Only Memory) 302 or a storage section 308 . For example, the process according to the sequence described in the above embodiment is executed.
  • a RAM (Random Access Memory) 303 stores programs and data executed by the CPU 301 . These CPU 301 , ROM 302 and RAM 303 are interconnected by a bus 304 .
  • the CPU 301 is connected to an input/output interface 305 via a bus 304.
  • the input/output interface 305 includes various switches, a keyboard, a touch panel, a mouse, a microphone, and a user input unit, a camera, and various sensors 321 such as LiDAR for obtaining status data.
  • An input unit 306 including a unit, etc., and an output unit 307 including a display, a speaker, etc. are connected.
  • the output unit 307 also outputs driving information to a driving unit 322 that drives a robot or the like.
  • the CPU 301 receives commands, situation data, and the like input from the input unit 306 , executes various processes, and outputs processing results to the output unit 307 , for example.
  • a storage unit 308 connected to the input/output interface 305 is composed of, for example, a flash memory, a hard disk, or the like, and stores programs executed by the CPU 301 and various data.
  • a communication unit 309 functions as a transmission/reception unit for data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • a GPU Graphics Processing Unit
  • a drive 310 connected to the input/output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card to record or read data.
  • the technique disclosed in this specification can take the following configurations.
  • a teaching data execution unit that generates, as learning data, a camera-captured image corresponding to the movement of the robot by a user's operation based on the teaching data and movement position information of the robot;
  • a learning processing unit that inputs the learning data generated by the teaching data execution unit and executes machine learning processing to generate a teaching data set composed of correspondence data between an image and an action rule of the robot as learning result data; inputting the learning data generated by the teaching data execution unit and the learning result data generated by the learning processing unit, evaluating the teaching data applied to the user operation executed by the teaching data execution unit;
  • An information processing apparatus having a feedback information generation unit that generates feedback information based on an evaluation result and outputs the feedback information to an output unit.
  • the feedback information generation unit As the feedback information, The information processing apparatus according to (1), wherein numerical feedback information including a score value corresponding to an evaluation value of teaching data applied to the user operation executed by the teaching data execution unit is generated and output to an output unit.
  • the feedback information generation unit As the numerical feedback information, n-level score value, where n is an integer of 2 or more, The information processing apparatus according to (2), which generates and outputs to the output unit.
  • the feedback information generation unit As the numerical feedback information, The information processing apparatus according to (2) or (3), which generates a rank according to the value of the score and outputs it to an output unit.
  • the feedback information generation unit As the numerical feedback information, (2) to (4), the information processing device according to any one of (2) to (4), wherein a score indicating uncertainty of a behavior rule included in a teaching data set that is learning result data generated by the learning processing unit is generated and output to an output unit. .
  • the feedback information generation unit As the numerical feedback information, A movement position of the robot based on a user operation based on the teaching data executed by the teaching data execution unit, and a movement position of the robot predicted from the action rule included in the teaching data set generated by the learning processing of the learning processing unit.
  • the information processing apparatus according to any one of (2) to (5), which generates a score indicating a prediction error, which is a score corresponding to the difference, and outputs the generated score to the output unit.
  • the feedback information generation unit As the numerical feedback information, any one of (2) to (6), wherein a score indicating a degree of difference between the teaching data applied to the user operation executed by the teaching data execution unit and the already executed teaching data is generated and output to an output unit. information processing equipment.
  • the feedback information generation unit As the feedback information, any of (1) to (7) generating visual feedback information including an image or a graph generated based on evaluation results of teaching data applied to a user operation executed by the teaching data execution unit and outputting the information to an output unit; 1.
  • the information processing device As the feedback information, any of (1) to (7) generating visual feedback information including an image or a graph generated based on evaluation results of teaching data applied to a user operation executed by the teaching data execution unit and outputting the information to an output unit; 1.
  • the information processing device according to claim 1.
  • the feedback information generation unit As the visual feedback information, The information processing apparatus according to (8), wherein score graph display data obtained by graphing a score corresponding to an evaluation value of teaching data applied to a user operation executed by the teaching data execution unit is generated and output to an output unit.
  • the feedback information generation unit As the visual feedback information, (8) or (9) generating high-score region indication data indicating, on the camera-captured image, a region in which the score corresponding to the evaluation value of the teaching data to be applied in the teaching data execution unit is high, and outputting the data to the output unit; ).
  • the feedback information generation unit As the visual feedback information, A configuration for generating and outputting a color-changed image of the image captured by the camera, (8)-( 10) The information processing device according to any one of the above.
  • the feedback information generation unit As the visual feedback information, (8) to (11) generating identification graph data indicating the degree of similarity or difference between the teaching data applied to the user operation executed by the teaching data execution unit and the teaching data executed in the past, and outputting the data to the output unit; ) The information processing device according to any one of the above.
  • the feedback information generation unit As the visual feedback information, Latent feature data generated by compressing feature data acquired from camera-captured images corresponding to movements of the robot based on teaching data applied to user operations executed by the teaching data execution unit, and previously executed teaching data.
  • (8)-( 12) The information processing device according to any one of the above.
  • the feedback information generation unit As the visual feedback information, Generate comparison data between the movement trajectory of the robot according to the teaching data applied to the user operation executed by the teaching data execution unit and the movement trajectory of the robot according to the previously executed teaching data, and output it to the output unit.
  • the information processing apparatus according to any one of (8) to (13).
  • An information processing method executed in an information processing device a teaching data execution step in which the teaching data execution unit generates, as learning data, a camera-captured image corresponding to the movement of the robot by a user operation based on the teaching data and movement position information of the robot;
  • a learning processing unit inputs the learning data generated by the teaching data execution unit, executes machine learning processing, and generates, as learning result data, a teaching data set composed of correspondence relationship data between an image and an action rule of the robot. a learning processing step;
  • a feedback information generation unit inputs the learning data generated by the teaching data execution unit and the learning result data generated by the learning processing unit to generate teaching data applied to the user operation executed by the teaching data execution unit. is evaluated, feedback information is generated based on the evaluation result, and is output to an output unit.
  • a program for executing information processing in an information processing device a teaching data execution step of causing a teaching data execution unit to generate, as learning data, a camera-captured image corresponding to movement of the robot by a user operation based on the teaching data and movement position information of the robot;
  • the learning data generated by the teaching data execution unit is input to the learning processing unit to execute machine learning processing, and as learning result data, a teaching data set composed of correspondence data between the image and the action rule of the robot is generated.
  • a learning processing step Learning data generated by the teaching data execution unit and learning result data generated by the learning processing unit are inputted to a feedback information generation unit, and teaching data applied to the user operation executed by the teaching data execution unit.
  • evaluation generates feedback information based on the evaluation result, and outputs the feedback information to the output unit.
  • a program recording the processing sequence is installed in the memory of a computer built into dedicated hardware and executed, or the program is loaded into a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed in a recording medium such as an internal hard disk.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • the teaching data execution unit generates, as learning data, a camera-captured image corresponding to the movement of the robot by the user's operation based on the teaching data and the movement position information of the robot, and the learning processing unit generates the teaching data.
  • the learning data generated by the execution unit is input to execute machine learning, a teaching data set consisting of images and robot action rules is generated as learning result data, and the feedback information generation unit performs the learning generated by the teaching data execution unit.
  • Data and learning result data generated by the learning processing unit are input, teaching data is evaluated, and numerical feedback information and visual feedback information are generated and output based on the evaluation results.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Manipulator (AREA)

Abstract

教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法を提供する。教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。具体的にはロボットに所定の動作を実行させるための学習処理や、ロボット制御処理を行う情報処理装置、および情報処理方法、並びにプログラムに関する。
 近年、様々な分野でロボットの利用が増大している。
 例えば、工場では、従来、人が行っていた作業の多くをロボットが行うようになっている。
 工場内のロボットが行なう処理は様々であるが、その一例として物体把持処理がある。物体把持処理を利用した処理の具体例として、例えば、部品ボックスから1つの部品aを把持し、所定位置まで移動させて、他の部品bに装着するといった処理等がある。
 ロボットに上記のような処理を正確に実行させるためには、ロボットの動きを高精度に制御する必要がある。この制御アルゴリズムを構築する一つの手法として学習処理が利用される。
 例えば、ロボットに装着された、あるいは作業場所の特定位置に固定されたカメラによる撮影画像を解析する学習処理を行うことで、例えば上記のような処理(タスク)の自動化を実現するためのアルゴリズムを構築することができる。
 しかし、学習処理には、多くのサンプルデータ、例えば様々な異なる設定の撮影画像を入力して、多数の画像を解析することが必要となり、多大な時間、労力を要する。
 例えば、取得対象となる部品aの取得時の想定位置姿勢からのずれパターンが多数、存在し、さらに、部品aの装着対象となる部品bの位置や姿勢のずれのパターンも多数、存在するような場合、様々なずれパターンに対応した制御情報を生成するためには、非常に多数のサンプルデータ(カメラ撮影画像)が必要であり、学習処理にも相当の時間を要する。
 このような問題を解決する手法の一つとして、ロボットの様々な動きを示す教示データを人が作成して、ロボットに教示データと同様の動きを学習させる模倣学習処理が提案されている。
 教示データを利用した模倣学習処理の一例として、例えば、人が直接、ロボットを動かして、様々な部品位置に対応する理想的なロボットの動きを学習させるものがある。
 人が直接、ロボットを動かすことで、ロボットがその動きを学習することができる。
 なお、教示データを利用した学習処理について開示した従来技術として、例えば特許文献1(特開2005-135095号公報)等がある。
 教示データを用いた学習は、例えば、人が細かくルールを設計することなく、汎用性の高い動作、例えば物体の位置の変動に強い動作をロボットに、直接、覚えさせることが可能となるといった利点がある。
 しかし、このような教示データを用いた学習処理、例えば深層学習を行った場合、学習処理によって得られるロボットの性能は、利用した教示データに大きく依存することになる。
 ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした教示データセットを作成する必要がある。
 例えばある部品を把持させる処理を行う場合、ロボットの理想的な動作は、把持対象となる部品の位置や、部品の向きなどに応じて異なる。
 複数の異なる部品の位置や、部品の向きに応じた理想的な動きを学習したロボットは、学習結果を利用して部品把持を行うことが可能となる。
 部品位置や部品の向きの設定が学習処理の際に利用した教示データと類似する場合は、ロボットは学習処理によって得られた知識に基づいて理想的な動きを行うことができる。しかし、部品位置や部品の向きの設定が教示データと異なる場合には、ロボットは学習処理による知識のみでは理想的な動きを行うことができない。
 従って、ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした多数の教示データを作成してロボットに覚えさせる必要がある。
 しかし、何の指標もなしに人が教示データを作成すると、どうしても偏りやカバーできない領域ができてしまう。その結果、深層学習を用いたとしても、汎用性が低くなり、期待した性能を得られない場合が多い。
 このような場合、さらに新たな教示データを追加して学習を行わせることが必要となるが、何の指標もなく、新たな教示データに基づく学習処理を行わせても、すでに利用した教示データと類似するデータを学習させるといった無駄な処理が行われる可能性もあり、結果として、目的とする性能をロボットに獲得させるために膨大な時間がかかってしまう。
 この問題は、共変量シフト(Covariate Shift)と呼ばれ、以前から、解決策が模索されてきた。
 この共変量シフトの解決策を示した手法の1つとして例えば以下の手法がある。
 ロボットが学習した行動規則を実際の環境で実行させて、その結果、発生した状態、例えば問題が発生した状態に人が教示データをラベル付けして、ラベル設定された教示データを新規の教示データとして学習させるという手法である。
 しかしこの手法は、必要な教示データを発見するために多くの労力と時間を必要とする。
 さらに、教示データセットを大量に増やす手法も提案されている。
 教示データセットを大量に増やすことにより、データセットの偏りを防ぎ、かつ、広範囲な動きをカバーすることが可能となる。
 人が直接、大量の教示データセットを作成すれば、実際のシステムを動かす必要がないので、多種類のデータセットを作成する効率は高くなる。しかし、多種類の教示データセットを探索的に作成する必要性があることに変わりはなく、労力や時間を大きく削減することはできないという問題がある。
特開2005-135095号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、教示データを利用してロボットに動きを学習させる構成において、多種類の有効な教示データを効率的に作成してロボットに学習させることを可能とし、効率的にロボット性能を向上させることを可能とした情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
 前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
 前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置にある。
 さらに、本開示の第2の側面は、
 情報処理装置において実行する情報処理方法であり、
 教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
 学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
 フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法にある。
 さらに、本開示の第3の側面は、
 情報処理装置において情報処理を実行させるプログラムであり、
 教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
 学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
 フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
 具体的には、例えば、教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。
 本構成により、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
ロボットの動作と制御処理の一例について説明する図である。 ロボットの動作と制御処理の一例について説明する図である。 ロボットに対するユーザ操作による教示データを用いた学習処理の一例について説明する図である。 ロボットに対するユーザ操作による教示データを用いた学習処理の一例について説明する図である。 特定の部品位置や部品姿勢に対応する教示データが作成できない例について説明する図である。 本開示の情報処理装置が実行する処理の概要について説明する図である。 教示データ実行部の構成と処理について説明する図である。 学習処理部の構成と処理について説明する図である。 フィードバック情報生成部の構成と処理について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成するフィードバック情報の具体例について説明する図である。 フィードバック情報生成部が生成し出力部に出力するフィードバック情報の具体例について説明する図である。 本開示の情報処理装置の構成例について説明する図である。 本開示の情報処理装置が実行する処理のシーケンスについて説明するフローチャートを示す図である。 本開示の情報処理装置が実行する処理のシーケンスについて説明するフローチャートを示す図である。 本開示の情報処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.ロボット制御処理の一例について
 2.ロボット制御アルゴリズム構築のための教示データを利用した学習処理について
 3.本開示の情報処理装置が実行する処理の概要について
 4.本開示の情報処理装置が実行する処理の具体例について
 5.出力部における表示データの例について
 6.本開示の情報処理装置の構成例について
 7.本開示の情報処理装置が実行する処理のシーケンスについて
 8.本開示の情報処理装置のハードウェア構成例について
 9.本開示の構成のまとめ
  [1.ロボット制御処理の一例について]
 まず、図1以下を参照してロボット制御処理の一例について説明する。
 図1はロボット100が実行する処理の一例を示す図である。
 ボックスaには、多数の部品が入れられている。ロボット100は、ボックスaから1つの部品をロボット先端の把持部101で把持し、アーム部102を回動させて把持部101をボックスbの位置まで移動し、把持した部品をボックスbに入れる処理を実行する。
 このようにロボット100が部品をボックスaから取り出して、ボックスbに入れる処理を行う場合の処理シーケンスについて図2を参照して説明する。
 ロボット100は図2に示すステップS01~S04の順に以下の処理を実行する。
  (ステップS01)
 ロボット100は、まず、ステップS01において、ボックスaから把持対象とする1つの部品を選択して、その選択部品を把持可能な位置に把持部101を移動させる。
  (ステップS102)
 次に、ロボット100は、ステップS02において、把持部101を駆動して選択部品を把持し、上に持ち上げる。
  (ステップS03)
 その後、ロボット100は、ステップS03において、把持部101に部品を把持したまま、アーム部102を回動させて、把持部101をボックスbの上まで移動させる。
  (ステップS04)
 その後、ロボット100は、ステップS04において、部品を把持した把持部101を降下させて、ボックスbに近づけた後、把持部101の部品把持状態を解除して部品を把持部101から離してボックスbに入れる。
 しかし、ロボット100がこれらのシーケンスに従って部品を把持して移動させる動作を行う場合、ロボット100は、部品ごとに異なる動作を行うことが要求される。
 例えば、ボックスaから一つの部品を取得する部品ピッキング処理を行う場合、ロボット100は、部品の位置や向きなどに応じて、異なる態様の移動や把持処理を行うことが必要となる。
 さらに、ボックスbに部品を入れる際にも、ボックスbにすでにある部品の位置に応じて異なる処理が必要となる。
 従って、上記ステップS01~S04の処理を各部品に対して、正確に実行するためには、様々な状態をすべて想定したロボット制御が必要となる。
 このような各状態に応じた異なるロボット制御を行うための処理として学習処理が有効となる。
 以下、ロボット制御のための学習処理の一例について説明する。
  [2.ロボット制御アルゴリズム構築のための教示データを利用した学習処理について]
 次に、ロボット制御アルゴリズム構築のための教示データを利用した学習処理について説明する。
 ロボットによる動作の実行中にロボットに装着されたカメラ、あるいは作業場所の特定位置に固定されたカメラの撮影画像を解析する学習処理を行うことで、例えば図1、図2を参照して説明したような処理の自動化を実現する制御アルゴリズムを構築することができる。
 しかし、学習処理には多くのサンプルデータが必要となる。例えば様々な異なる位置や姿勢の部品を把持する多数の画像を撮影して解析するといった処理が必要となり、多大な時間や労力を要する。
 例えば、把持対象となる部品の位置や姿勢のパターンが多数、存在する場合、様々なパターン対応の制御情報を生成することが必要であり、このためには、各パターン対応の多数のサンプルデータ(カメラ撮影画像)が必要となり、学習処理にも相当の時間を要する。
 このような問題を解決する手法の一つとして、ロボットの様々な動きを示す教示データを人が作成して、ロボットに教示データと同様の動きを学習させる学習処理(模倣学習処理)が提案されている。
 教示データを利用した学習処理は、例えば、人が直接、ロボットの把持部やアーム部を操作して、様々な部品位置に対応する理想的なロボットの動きを実際に行わせて、その軌道等を記憶させる学習処理である。なお、人がコントローラを用いてロボットを動かして、その動きをロボットに記憶させることも可能である。
 このように、人がロボットを動かすことで、ロボットがその動きを学習することができる。
 例えば、図3に示すように、ユーザ(オペレータ)120が、ロボット100を直接、動かす。このロボット100の操作中、ロボット100の把持部101に装着されたカメラ105が、把持部105の下方向の画像を撮影する。
 例えば、図4に示すように、先に図2を参照して説明したステップS01~S04の動きをユーザの操作の下で実行させ、一連の画像を撮影する。
 この撮影画像を利用して学習処理を行う。
 ユーザ120がロボット100を動かすと、撮影画像も逐次、更新される。ロボット100内部の情報処理装置、あるいはロボット100から画像を受信して解析を行う情報処理装置は、撮影画像の解析を行い、ロボット100の一連の動きと撮影画像の変化シーケンスとの対応データを生成することができる。
 すなわち、学習処理により、
 撮影画像と、
 ロボット100の行動規則、
 これらのデータの組み合わせからなるデータセット(=学習結果データ)を生成することが可能となる。
 このデータセットは、「教示データセット」と呼ばれる。
 学習処理の結果として、様々な部品位置対応の「撮影画像」に対応する「行動規則」の組み合わせからなる教示データセット(=学習結果データ)が多数、生成される。
 学習処理の終了後、この教示データセット(=学習結果データ)を利用してロボット100を制御することで、ロボット100に様々な位置にある部品を確実に把持させることが可能となる。
 すなわち、ロボット100に装着したカメラの撮影画像に路維持する撮影画像を教示データセット(=学習結果データ)から選択して、選択された教示データセットの「撮影画像」に対応する「行動規則」に従ってロボット100を動作させることで、学習処理時にユーザが操作した動きと同様の動きをロボット100に行わせることが可能となる。
 教示データを用いた学習の利点は、例えば、人が細かくルールを設計することなく、汎用性の高い動作、例えば物体の位置の変動に強い動作をロボットに、直接、覚えさせることが可能となることである。
 このような教示データを適用した機械学習、特に深層学習を行った場合、学習によって得られるロボットの性能は、利用した教示データに大きく依存することになる。
 ロボットの性能を向上させるためには、質の高い、つまり、多くの領域をカバーした教示データセットを作成してロボットに覚えさせる必要がある。
 しかし、何の指標もなしに人が教示データを作成すると、どうしても偏りやカバーできない領域ができてしまう。具体的には、例えば、特定の部品位置や部品姿勢に対応する教示データが作成できていないといった問題が発生する。
 例えば図5に示すように、ユーザ120が、ボックスaの特定領域、すなわち右上に示す領域aの近辺でロボット100に部品を把持させる動作を繰り返し実行して学習処理を行うと、この領域a内の教示データに基づく学習処理によって領域a内の部品を把持させるための学習結果データとしての教示データセットはたくさん作成される。
 しかし、ユーザ120が領域bでロボット100を動作させないと、この領域b対応の教示データに基づく学習処理が行なわれず、領域b内の部品を把持するための学習結果データとしての教示データセットがほとんど作成されないことになる。
 この結果、学習処理結果として得られる教示データセットを用いてロボット100を制御した場合、領域aにある部品を把持する処理は学習結果に含まれる教示データセットを用いて良好な制御を行うことが可能となるが、領域bにある部品を把持する処理は学習結果に含まれる教示データセットを用いても良好な制御を行うことが困難となる。
 このように、不十分な教示データによる学習処理を行うと、深層学習を用いたとしても、特定の部品位置に対応する制御が困難となる。結果として汎用性が低下し、期待したロボット性能を実現できなくなる。
 前述したように、この問題は、共変量シフト(Covariate Shift)と呼ばれ、以前から、解決策が模索されてきた。
 例えば、ロボットが学習した行動規則を実際の環境で実行させて、その結果、発生した状態、例えば問題が発生した状態に人が教示データをラベル付けして、ラベル設定された教示データを新規の教示データとして学習させるという手法や教示データセットを大量に増やす手法などがある。
 しかしこれらの手法は、いずれも必要な教示データを発見するために多くの労力と時間を必要とすることに変わりなく、労力や時間を大きく削減することはできないという問題がある。
  [3.本開示の情報処理装置が実行する処理の概要について]
 次に、本開示の情報処理装置が実行する処理の概要について説明する。
 本開示は、例えば上記問題点に鑑みてなされたものであり、教示データを利用してロボットに動きを学習させる場合に、効率的に多種類の有効な教示データを作成すること可能としたものである。
 すなわち、偏りやカバーできない領域が発生する可能性を低下させて、効率的に過不足のない有効な教示データを作成可能としたものである。
 過不足のない有効な教示データを用いた学習処理を行うことで、ロボットの性能を効率的に確実に向上させることが可能となる。
 本開示の情報処理装置は、例えば、教示データに従ってロボットを動かすユーザ(オペレータ)に対するフィードバック情報を生成して提示する。例えば、ユーザが実行した教示データの評価値であるスコアなど、数値的なフィードバック情報や、視覚的なフィードバック情報を生成して提示する。
 ユーザ(オペレータ)は、本開示の情報処理装置が生成したフィードバック情報を参照することで、新たな教示データとしてどのような教示データが必要かを容易に判断することが可能となる。
 なお、本開示の情報処理装置が生成してユーザに提示するフィードバック情報は、学習処理の結果として得られる行動規則の不確かさや、行動規則の損失(教示データセットとの予測誤差)、さらにカメラ撮影画像の解析によって得られる潜在特徴データなどを利用して作成する。
 なお、潜在特徴データとは、元データの有する特徴データを圧縮して簡略化した特徴データである。例えば、カメラの撮影画像から得られる特徴データは、画像の大きさ(高さ、幅)、オブジェクト距離、画素単位の色、輝度等、多数のデータから構成され、これらを全て出力しようとすると数100次元の膨大なデータとなり、解析処理に膨大な時間を要する。このような膨大なデータを例えば64次元や32次元、あるいは2次元、3次元等、数次元のベクトルに圧縮して生成するデータが潜在特徴データである。潜在特徴データを利用して解析を行うことで効率的な解析が可能となる。
 このように、潜在特徴データは、元データの有する特徴データを圧縮して簡略化した特徴データであり、本開示の情報処理装置は、この潜在特徴データを利用してユーザに提示する教示データの評価値であるスコアなどの数値的なフィードバック情報と、視覚的なフィードバック情報、これら2つのフィードバック情報を生成する。
 本開示の情報処理装置は、従来の教示データを用いた学習処理の問題点、すなわち、人が生成する教示データに偏りが発生し、カバーできない領域が発生してしまうという問題点を解決するものである。
 具体的には、例えば、生成すべき新たな教示データや、学習の難しい領域に対応する教示データなどをユーザが確認できる視覚的なフィードバック情報や数値的なフィードバック情報を生成してユーザに提示する処理を実行する。
 以下、本開示の情報処理装置が生成してユーザに提供するフィードバック情報の具体例について説明する。
 (1)数値的フィードバック情報
 数値的フィードバック情報は、例えば、ユーザが実行した教示データの評価値である。
 予め規定した基準値に基づいて算出されるスコア、例えば5段階の評価値としてのスコア=1,2,3,4,5等の5段階のスコアを生成して提示する。
 なお、5段階は一例であり、少なくとも2段階以上の複数段階のスコアを利用する構成が可能である。
 このようなスコアを用いることで、ユーザに分かりやすいフィードバック情報を提供できる。
 なお、スコア生成処理と提示処理の具体例については後段で説明する。
 (2)視覚的フィードバック情報
 視覚的フィードバック情報には、以下の複数の情報がある。
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 本開示の情報処理装置が生成してユーザに提示する視覚的フィードバック情報には、これら複数の情報がある。
 以下、各情報の概要について説明する。なお、以下に説明する視覚的フィードバック情報の具体例については、後段で説明する。
 (2a)スコアグラフ表示データ
 スコアグラフ表示データは、例えばスコア対応の棒グラフ等のグラフィックデータであり、ユーザが実行した教示データの評価値を分かりやすい視覚的情報としたデータである。例えば、上記の数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
 これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
 (2b)高スコア領域指示データ
 高スコア領域指示データは、例えば、カメラ撮影画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示したデータである。
 ロボットに取り付けられたカメラの撮影画像を表示部に出力する際、表示画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
 これにより、ユーザは新たに生成すべき教示データの位置や軌道等を確認できる。
 (2c)スコア対応色表示データ
 スコア対応色表示データは、スコア対応の色を出力したカメラ撮影画像の表示データである。
 ロボットに取り付けられたカメラの撮影画像を表示部に出力する際、表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。例えば、スコアが低い場合は青色画像とし、スコアが高い場合は赤色画像とする。
 これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
 (2d)類似教示データの識別グラフデータ
 類似教示データの識別グラフデータは、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データである。
 ユーザが新たに実行した教示データと、すでに実行済みの教示データとの比較データを生成して表示する。
 例えば、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データを生成して表示する。
 なお、表示データは、理解しやすくするため、数次元の潜在特徴データに圧縮して表示する。
 これにより、ユーザは新たに実行した教示データが、実行済みの教示データと類似するか否かを容易に確認できる。
 (2e)教示データ対応軌跡データ
 教示データ対応軌跡データは、ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示したものである。
 ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示する。
 例えば3次元グラフ上に軌跡データを描画して表示する。
 これにより、ユーザは新たに実行した教示データによる軌跡が、実行済みの教示データの軌跡と類似するか否かを容易に確認できる。
 なお、上述した視覚的フィードバック情報の具体例については、後段で説明する。
 このように、本開示の情報処理装置は、ユーザが確認できる視覚的なフィードバック情報や数値的なフィードバック情報を生成してユーザに提示する処理を実行する。
 ユーザは、提示情報を確認することで、生成すべき新たな教示データや、学習の難しい領域に対応する教示データなどを容易に確認することができる。
 この結果、ロボットに教示したい動作(例えば物体把持動作)に対応する過不足の無い教示データを利用した学習処理により、有効な教示データセットを効率的に収集可能となり、学習処理結果としての行動規則を効率的に生成することが可能となる。
  [4.本開示の情報処理装置が実行する処理の具体例について]
 次に、本開示の情報処理装置が実行する処理の具体例について説明する。
 以下、本開示の情報処理装置が実行するフィードバック情報の生成、出力処理例、すなわち、ユーザ(オペレータ)が教示データを適用してロボットを操作して、ロボットの制御に利用するための教示データセット(カメラ撮影画像と行動規則)を生成するための学習処理を実行する場合のフィードバック情報の生成、出力処理例について説明する。
 以下では、処理の具体例として、ユーザ(オペレータ)がロボットに代わり、簡易教示器具を用いて、物体把持動作を学習させる場合の処理例について説明する。
 簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
 なお、簡易教示器具ではなく、実際の制御対象のロボットを用いて処理を行ってもよい。
 以下の説明では、ある箱Aに入っている物体を箱Bに移動させる、Pick and Placeタスクを教示するケースをモデルケースとして説明する。
 なお、本開示の処理は、以下に説明する具体例に限らず、教示データを利用した学習処理全般において適用可能である。
 例えば、コントローラ等を用いてロボットに実際の動きを実行させてアーム部や把持部の位置、動きなどを逐次、記憶させるティーチングペンダント型の教示処理や、人がロボットアームなどを直接動かして教示する処理などにおいても適用可能である。
 また、ロボットに実行させる動作(タスク)も、把持動作に限らない。
 まず、図6を参照して本開示の情報処理装置が実行する処理の概要について説明する。
 図6には、以下の各要素を示している。
 (A)教示データ実行部140
 (B)学習処理部160
 (C)フィードバック情報生成部170
 「(A)教示データ実行部140」では、ユーザ(オペレータ)が教示データを利用して簡易教示器具を操作する。教示データ実行部140内では、簡易教示器具に装着されたカメラの撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量が算出され、撮影画像と把持部位置、移動量データが学習データ150として記憶部に格納される。
 なお、前述したように、簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
 簡易教示器具の代わりに実際のロボットを用いてもよい。
 「(B)学習処理部160」は、記憶部に格納された学習データ(撮影画像と把持部位置、移動量データ)150を利用して学習処理を実行する。
 (B)学習処理部160における学習処理の結果として生成する学習結果データには、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットが含まれる。
 「(C)フィードバック情報生成部170」は、(A)教示データ実行部140において生成され記憶部に格納された学習データ150、すなわち撮影画像と把持部位置、移動量データを入力する。
 さらに(B)学習処理部160から、学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
 「(C)フィードバック情報生成部170」は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成して出力部(表示部)180に出力する。
 出力部(表示部)180に表示されるフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報によって構成される。
 ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、(A)教示データ実行部140において新たに必要となる教示データを利用してロボットを動作させる。
 これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
 以下、図6に示す各構成部の具体的な構成と処理について、順次、説明する。
  (4-(A)教示データ実行部の構成と処理について)
 まず、(A)教示データ実行部140の構成と処理について説明する。
 図7を参照して教示データ実行部140の構成と処理について説明する。
 図7に示すように、(A)教示データ実行部140では、ユーザ(オペレータ)120が教示データを利用して簡易教示器具110を操作する。教示データ実行部140内では、簡易教示器具に装着されたカメラの撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量が算出され、撮影画像と把持部位置、移動量データが学習データ150として記憶部に格納される。
 なお、前述したように、簡易教示器具は、実際のロボットと同様の動きを可能とした簡易的な器具であり、ユーザが操作しやすい小型の装置である。
 簡易教示器具の代わりに実際のロボットを用いてもよい。
 図7に示すように、簡易教示器具110の把持部にはカメラ105が取り付けられている。
 ユーザ(オペレータ)120は、簡易教示器具110を直接、動かしてある動作(タスク)を実行させる。あるいはコントローラを用いて簡易教示器具110を動かしてもよい。
 動作(タスク)とは、例えば部品の把持処理、移動処理等の一連の動作である。1回のタスクの実行を1試行とする。
 このタスク実行の際、カメラ105は連続的に画像撮影を実行する。例えば動画撮影を行う。
 教示データ実行部140内では、カメラ105の撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量を算出する。
 教示データ実行部140は、図7に示す教示データ実行部生成データ145、すなわち、撮影画像と把持部位置、移動量データを含む教示データ実行部生成データ145を生成し、これを学習データ150として記憶部に格納する。
 図7の教示データ実行部生成データ145には、タスク実行時に撮影された一枚の撮影画像の例(カメラ撮影画像)を示しているが、タスクの開始時刻(t0)から、タスクの終了時刻(t_terminal)まで、カメラ105は連続的に画像撮影を実行し、連続撮影画像が学習データ150として記憶部に格納される。
 教示データ実行部140内では、カメラ105の撮影画像の解析が行われ、例えば簡易教示器具の把持部の位置や移動量を算出する。具体的には、例えばSLAM(Simultaneous Localization and Mapping)処理等の自己位置推定処理によって算出される把持位置の位置や移動量の時系列データ(初期時刻(t0)から、タスクの終了時刻(t_terminal)まで)を、カメラ撮影画像とともに学習データ150として記憶部に保存する。
 なお、SLAM(Simultaneous Localization and Mapping)は、カメラ撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
  (4-(B)学習処理部の構成と処理について)
 次に、(B)学習処理部160の構成と処理について説明する。
 図8を参照して学習処理部160の構成と処理について説明する。
 学習処理部160は、記憶部に格納された学習データ(撮影画像と把持部位置、移動量データ)150を利用して学習処理を実行する。
 学習処理部160は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置(把持部)の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データ165を生成する。
 学習処理部160において実行する学習処理は、いわゆる機械学習であり、様々な学習アルゴリズムの適用が可能である。学習処理の一例としてディープニューラルネットワーク(DNN)を用いた学習処理であるディープラーニングがある。ディープラーニングを利用すれば、サンプルデータを入力して、学習処理部自身が大量のデータから特徴量を自動抽出して、様々なデータに対応する最適解、例えばロボットの制御パラメータを生成することができる。
 ディープニューラルネットワーク(DNN)を利用した学習処理としては、例えば、畳み込みニューラルネットワークであるCNN(Convolutional Neural Network)を用いた深層学習が知られている。
 学習処理部160は、記憶部に格納された学習データ(撮影画像と把持部の位置や移動量データ)150を利用して学習処理を実行する。記憶部には、学習データ150としてある時刻の画像とある時刻の把持位置の位置や移動量が保存されている。学習処理部160は、これらの対応関係データに対する深層学習(CNN)を用いた学習処理を実行し、画像と把持部の位置関係、つまり、行動規則を学習する。
 学習処理部160は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置(把持部)の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データ165を生成する。
 従来型の学習処理による教示データセットの作成処理においては、ユーザが作成した教示データを教示データ実行部140において実行し、この結果生成される学習データを学習処理部160で学習するという処理を繰り返すことで、学習結果データとしての教示データセットの作成を行っていた。
 しかし、このような処理では、ユーザが任意に作成する教示データは重複したものである場合や、ある領域についてのデータが不足するものである等の事象が発生するため、漏れの無い学習結果を得ることができない場合が多い。
 すなわち、このような手法では、ユーザがどのように教示データを作成すればよいのかの指標がなく、やみくもに教示データを作成して実行する必要があるため、有効な学習結果が得られにくいという問題がある。
 この問題を解決するのが、以下に説明する(C)フィードバック情報生成部170である。
  (4-(C)フィードバック情報生成部の構成と処理について)
 次に、フィードバック情報生成部170の構成と処理について説明する。
 図9以下を参照してフィードバック情報生成部170の構成と処理について説明する。
 図9に示すように、フィードバック情報生成部170は、教示データ実行部140において生成され記憶部に格納された学習データ150、すなわち撮影画像と把持部移動量データから構成される教示データ実行部生成データ145を入力する。さらに学習処理部160から、学習結果データ165、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
 フィードバック情報生成部170は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
 生成したフィードバック情報は、出力部(表示部)180に出力される。
 フィードバック情報生成部170が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
 ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たに必要となる教示データを利用してロボットを動作させる。
 これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
 以下、フィードバック情報生成部170が生成する数値的フィードバック情報と、視覚的フィードバック情報の詳細について説明する。
 図9に示すように、フィードバック情報生成部170が生成する数値的フィードバック情報と、視覚的フィードバック情報は、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 図10以下を参照して、これらのフィードバック情報の具体例について説明する。
 まず、図10を参照して、「(1)数値的フィードバック情報」の具体例について説明する。
 数値的フィードバック情報は、例えば、ユーザが実行した教示データの評価値であり、予め規定した基準値に基づいて算出されるスコア、例えば5段階評価値を生成して提示する。このようなスコアを用いることで、ユーザに分かりやすいフィードバック情報を提供できる。
 図10(1a)には、スコア算出例を示している。
 ユーザが実行した教示データの評価値である総合スコアは、図10(1a)に示すように、評価対象となるユーザが実行した教示データに対応する以下の3種類の評価値(スコア)の加算値によって算出する。
 (1)「行動規則の不確かさ」を示すスコア
 (2)「予測誤差」を示すスコア
 (3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
 すなわち、
 総合スコア=(「行動規則の不確かさ」を示すスコア)+(「予測誤差」を示すスコア)+(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
 上記式に従って総合スコアを算出する。
 なお、上記の3種類のスコアに対して予め規定した重み係数α1~α3を乗算して、以下の式に従って総合スコアを算出する構成としてもよい。
 総合スコア=α1×(「行動規則の不確かさ」を示すスコア)+α2×(「予測誤差」を示すスコア)+α3×(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
 「行動規則の不確かさ」は、学習処理部160において実行された機械学習処理の結果として生成された学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアである。
 なお、「行動規則の不確かさ」を示すスコアは、複数のニューラルネットワークをアンサンブルし、それらの出力の分散を算出することで算出する。
 すなわち、複数のニューラルネットワークを用意して、それぞれのニューラルネットワークを利用して学習処理を行わせることにより、予測の不確かさを推定する。
 同じデータセットを用いたとしても、ニューラルネットワークの初期重みやデータをサンプリングする部分に違いが出るため、データが存在しない部分については、それぞれのニューラルネットワークの予測結果がばらつき、予測の不確かさを近似的に算出することができる。
 「行動規則の不確かさ」を示すスコアのスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図11に示すような対応関係グラフを用いて、複数のニューラルネットワークの出力の分散値を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
 「予測誤差」を示すスコアは、教示データ実行部140において教示データに従ったユーザ操作に基づく簡易教示器具110の把持位置(把持部)の移動位置や移動量と、学習処理部160が、この教示データに従った学習処理によって取得した行動規則から予測される簡易教示器具110の把持位置(把持部)の移動位置や移動量の差分に応じたスコアである。
 例えば、教示データにおける把持位置の移動量と予測した把持位置の移動量(つまり、ニューラルネットワークで学習された行動規則から予測される値)の平均二乗誤差を用いて算出されるスコアである。
 この場合も「予測誤差」を示すスコアのスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図12に示すような対応関係グラフを用いて、教示データの把持位置の移動量と予測把持位置の移動量の平均二乗誤差を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
 「評価対象の教示データと実行済みの教示データとの相違度」を示すスコアは、各教示データ対応のカメラ撮影画像の相違度を用いる。画像の相違度については、例えば、変分オートエンコーダ(VAE:Variational Auto Encoder)を用いて算出する。
 変分オートエンコーダ(VAE)は、通常のオートエンコーダ(AE:Auto Encoder)に対して、潜在特徴がある確率分布から生成されるという前提を置いて、より潜在特徴の表現力を向上させた相違度算出手法である。
 通常のオートエンコーダ(AE)は、例えば画像情報等の高次元な情報を潜在特徴へ圧縮するEncoderと、潜在特徴から高次元な情報を復元するDecoderから構成される。
 例えば、高次元の特徴量を持つ画像Aの特徴情報を、Encoderに入力して次元数の少ない特徴量からなる潜在特徴を生成する。
 さらに、潜在特徴をDecoderに入力して多次元の特徴を持つ復元画像を生成する。
 この復元画像と元の画像Aを比較し、正しく復元できるかを否か学習して潜在特徴の評価を行う。
 なお、復元画像と元の画像Aとの比較処理に際しては、例えば、復元画像と元の画像A各々に対応する潜在特徴の距離(例:ユークリッド距離=相違度)を算出する。算出した距離が小さいほど、復元画像と元の画像Aの類似度が高く、復元可能性が高いと判定することができる。一方、算出した距離が大きいほど、復元画像と元の画像Aの類似度が低く、復元可能性が低いと判定することができる。
 変分オートエンコーダ(VAE)は、上記の処理を行う通常のオートエンコーダ(AE:Auto Encoder)に対して、潜在特徴がある確率分布から生成されるという前提を置いて、より潜在特徴の表現力を向上させた相違度算出手法である。
 「評価対象の教示データと実行済みの教示データとの相違度」を示すスコアは、評価対象となる教示データ対応のカメラ撮影画像の潜在特徴と、実行済み教示データ対応のカメラ撮影画像の潜在特徴を、上記の変分オートエンコーダ(VAE)によって算出し、算出した2つの潜在特徴の相違度に基づいて算出されるスコアである。
 「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア値を、例えばスコア値=0~5の範囲に設定する場合、例えば、図13に示すような対応関係グラフを用いて、教示データ対応のカメラ撮影画像の潜在特徴と実行済み教示データ対応のカメラ撮影画像の潜在特徴の相違度を5段階のスコア1,2,3,4,5の各スコア値に分類する処理を行ってスコア値を算出する。
 このように、フィードバック情報生成部170が生成する数値的フィードバック情報、すなわち、ユーザが実行した教示データの総合スコア(総合評価値)は、
 (1)「行動規則の不確かさ」を示すスコア
 (2)「予測誤差」を示すスコア
 (3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
 これら3種類のスコアの加算値として算出される。
 すなわち、
 総合スコア=(「行動規則の不確かさ」を示すスコア)+(「予測誤差」を示すスコア)+(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
 上記式に従って総合スコアを算出する。
 あるいは、前述したように、上記の3種類のスコアに対して予め規定した重み係数α1~α3を乗算して、以下の式に従って総合スコアを算出する構成としてもよい。
 総合スコア=α1×(「行動規則の不確かさ」を示すスコア)+α2×(「予測誤差」を示すスコア)+α3×(「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア)
 フィードバック情報生成部170は、このようにして算出した総合スコアを出力部(表示部)180に出力してユーザ120に提示する。
 さらに、フィードバック情報生成部170は、算出した総合スコアを、図10(1b)に示すようにランク分けして、評価対象の教示データのスコアに対応するランク情報を生成して出力部(表示部)180に出力してユーザ120に提示する。
 ランクは例えば図10(1b)に示すようにS,A,Bの3つのランクとする。
 ランクSは、総合スコア=15~13
 ランクAは、総合スコア12~10
 ランクBは、総合スコア9~7
  :      :
 例えばこれらのスコア値対応のランク分けを実行する。
 なお、このスコア対応のランク設定は一例であり、この他、様々なスコア対応のランク分けが可能である。
 このように、フィードバック情報生成部170は、ユーザが実行した教示データの評価値としてのスコアやスコアに対応するランクを算出して出力部(表示部)180に出力する。
 図10にはフィードバック情報生成部170の生成したフィードバック情報の出力部(表示部)180に対する出力データ例として以下の2種類の出力データ例を示している。
 (出力データ例1)
 フィードバックスコア=(教示データのスコア)/(ベースラインのスコア)
 (出力データ例2)
 フィードバックスコア=(教示データのスコア)/((予測最大スコア)-(予測最小スコア))
 (出力データ例1)は、
 ユーザが実行した教示データの評価値としてのスコアである(教示データのスコア)と、基準値(ベースライン)に相当するスコアである(ベースラインのスコア)をスラッシュ(/)で区切って並べて表示する出力データの一例である。
 なお基準値(ベースライン)に相当するスコアである(ベースラインのスコア)は、例えば評価用に予め用意されたスコアを用いる。
 例えば、これまでに算出された教示データ対応のスコアの平均値や最高スコアの値などが適用可能である。
 あるいは、評価用に予め用意された複数のサンプル教示データに基づいて予め算出した(ベースラインのスコア)を用いてもよい。
 評価用に予め用意された複数のサンプル教示データに基づく(ベースラインのスコア)の算出処理例について説明する。
 例えば、評価用に予め用意された複数のサンプル教示データ各々について、
 (1)「行動規則の不確かさ」
 (2)「予測誤差」
 (3)「評価対象の教示データと実行済みの教示データとの相違度」
 これらの値を算出し、これらの算出値の平均値に基づいて複数のサンプル教示データに基づく(ベースラインのスコア)を算出する。
 図10の(出力データ例1)に示す例では、基準値(ベースライン)相当スコアである(ベースラインのスコア)として最高スコアを用いた例である。
 例えば、総合スコアの最高スコア=15で、ユーザが実行した教示データの総合スコア=9の場合、表示データは、
 総合スコア=9/15
 このような表示データとなる。
 なお、出力するスコアは、例えば、ユーザ120が実行した教示データの各試行の平均値を算出して出力する設定としてもよい。例えば各試行の系列データt0からt_terminalまでの平均値を算出して出力する構成としてもよい。
 さらに、上述したランクを併せて表示し、以下のような表示データとしてもよい。
 ランク(総合スコア)=B(9/15)
 この表示データの例が、図10の右側の出力部(表示部)180の表示データに相当する。
 さらに、図10の右側の出力部(表示部)180の表示データの例に示すように、総合スコアに加えて、総合スコアの算出に適用した個別のスコア、すなわち、
 (1)「行動規則の不確かさ」を示すスコア
 (2)「予測誤差」を示すスコア
 (3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
 これらの個別スコアについても、総合スコアと同様、
 個別スコア=(教示データのスコア)/(ベースラインのスコア)
 このような表示形態のデータを生成して表示する構成としてもよい。
 図10に示すもう一つの出力データ例は、
 (出力データ例2)
 フィードバックスコア=(教示データのスコア)/((予測最大スコア)-(予測最小スコア))
 この出力データ例2である。
 この(出力データ例2)は、
 ユーザが実行した教示データの評価値としてのスコアである(教示データのスコア)と、予め規定したスコア予測アルゴリズムに従って算出した最大スコアと最小スコアとの差分である((予測最大スコア)-(予測最小スコア))をスラッシュ(/)で区切って並べて表示する出力データの一例である。
 なお、これらの出力データ例は一例であり、フィードバック情報生成部170が生成したフィードバック情報の出力部(表示部)180に対する出力データの表示態様は、この他、様々な設定とすることが可能である。
 次に、フィードバック情報生成部170が生成する視覚的フィードバック情報の具体例について説明する。
 前述したように、フィードバック情報生成部170が生成する視覚的フィードバック情報には、例えば以下の情報がある。
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 図14以下を参照して、これらの視覚的フィードバック情報の具体例について説明する。
  (2a)スコアグラフ表示データ
 まず、「(2a)スコアグラフ表示データ」の具体例について説明する。
 前述したように、スコアグラフ表示データは、例えばスコア対応の棒グラフ等のグラフィックデータであり、ユーザが実行した教示データの評価値を分かりやすい視覚的情報としたデータである。例えば、上記の数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
 図14は、「(2a)スコアグラフ表示データ」の具体例について説明する図である。
 簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像に併せて、上述した数値的フィードバック情報であるスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力する。
 図14に示す例では、
 (1)「行動規則の不確かさ」を示すスコア
 (2)「予測誤差」を示すスコア
 これら2種類のスコアに応じた棒グラフや、星の数(★★☆☆☆等)を出力した例を示している。
 これらの表示データは一例であり、
 (1)「行動規則の不確かさ」を示すスコア
 (2)「予測誤差」を示すスコア
 (3)「評価対象の教示データと実行済みの教示データとの相違度」を示すスコア
 これら3種類のスコアを全て、棒グラフや、星の数(★★☆☆☆等)としたグラフデータを生成して表示してもよい。
 さらに、これらの個別スコアに基づいて算出される総合スコアに基づいて生成した棒グラフや、星の数(★★☆☆☆等)を表示してもよい。
 これに例えば図14に示すようなスコアグラフ表示データを出力部(表示部)180に表示することで、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
  (2b)高スコア領域指示データ
 次に、「(2b)高スコア領域指示データ」の具体例について説明する。
 前述したように、高スコア領域指示データは、例えば、カメラ撮影画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示したデータである。
 簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、表示画像上にスコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
 図15は、「(2b)高スコア領域指示データ」の具体例について説明する図である。
 図15に示すように、簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像上に、スコアの高い教示データが生成可能な領域を示す矢印等のマークを表示する。
 図15に示す例では、スコアの高い教示データが生成可能な領域を示す矢印と、スコアの低い教示データが生成される領域を示す矢印を異なる色で表示した例を示している。
 例えば、高スコア領域方向を示す矢印を赤色矢印として表示し、低スコア領域方向を示す矢印を青色矢印として表示する。
 高スコア領域方向を示す矢印である赤色矢印の方向の領域について、教示データを生成すれば、スコアの高い教示データが生成可能である。、
 このような表示データをユーザに提示することで、ユーザは新たに生成すべき教示データの位置や軌道等を確認することが可能となる。
  (2c)スコア対応色表示データ
 次に、「(2c)スコア対応色表示データ」の具体例について説明する。
 前述したように、スコア対応色表示データは、スコア対応の色を出力したカメラ撮影画像の表示データである。
 簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。例えば、スコアが低い場合は青色画像とし、スコアが高い場合は赤色画像とする。
 図16は、「(2c)スコア対応色表示データ」の具体例について説明する図である。
 図16に示すように、簡易教示器具110、あるいはロボット100に取り付けられたカメラの撮影画像を表示部に出力する際、この表示画像の色を、上記の数値的フィードバック情報であるスコアに応じた異なる色とする。
 図16に示す例では、スコアが低い場合の画像を青色画像としている。また、スコアが高い場合の画像を赤色画像としている。
 これにより、ユーザはユーザが実行した教示データのスコアが高いか低いかを即座に確認できる。
  (2d)類似教示データの識別グラフデータ
 次に、「(2d)類似教示データの識別グラフデータ」の具体例について説明する。
 前述したように、類似教示データの識別グラフデータは、ユーザが新たに実行した教示データに従った簡易教示器具110、またはロボット100の軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データである。
 ユーザが新たに実行した教示データと、すでに実行済みの教示データとの比較データを生成して表示する。
 例えば、ユーザが新たに実行した教示データに従ったロボットの軌跡に従ったカメラ撮影画像から得られる特徴データと、すでに実行済みの教示データ対応のカメラ撮影画像から取得した特徴データの比較データを生成して表示する。
 なお、表示データは、理解しやすくするため、数次元の潜在特徴データに圧縮して表示する。
 図17は、「(2d)類似教示データの識別グラフデータ」の具体例について説明する図である。
 図17に示す表示データは、X1軸とX2軸の2次元グラフ上に、過去の教示データと、今回の教示データの点を表示して示したグラフデータである。
 X1軸とX2軸は、カメラ撮影画像から取得した特徴データを圧縮して生成した2次元の潜在特徴データの要素に相当する。
 前述したように、潜在特徴データとは、元データの有する特徴データを圧縮して簡略化した特徴データである。例えば、カメラの撮影画像から得られる特徴データは、画像の大きさ(高さ、幅)、オブジェクト距離、画素単位の色、輝度等、多数のデータから構成され、これらを全て出力しようとすると数100次元の膨大なデータとなり、解析処理に膨大な時間を要する。
 図17に示す2次元グラフは、この膨大なデータを例えば2次元データに圧縮し、この2次元の各要素をX1軸、X2軸として2次元のグラフとして示したデータである。
 すなわち、フィードバック情報生成部170は、教示データ実行部140において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する。
 なお、特徴量の描画には、例えばt-SNE手法(高次元ベクトルを低次元へ写像するデータ解析方法)を用いることが可能である。t-SNE手法を適用することにより、高次元の特徴情報の関係を維持したまま、低次元の特徴情報データに変換することが可能となり、ユーザは視覚的に各教示データの差分を理解することができる。
 図17に示す2次元グラフには、左上に複数の過去の教示データ対応の点が設定され、右下に今回の教示データ対応の点が表示されている。
 この2次元グラフ上で距離が近いほど、教示データ対応のカメラ撮影画像が類似していることを示す。
 図に示す例では、左上に示される複数の過去の教示データ対応の点は密集しており、いずれも似たような教示データ対応の画像が取得されていることを意味する。
 図に示す右下の今回の教示データの点は、左上に示される複数の過去の教示データ対応の点から離れており、今回の教示データ対応の画像は、過去の教示データ対応の画像と異なる特徴を有していることを意味する。
 すなわち、今回の教示データは、過去の教示データと異なる有益な教示データである可能性が高いことが確認できる。
 このように、ユーザは「(2d)類似教示データの識別グラフデータ」を参照することで、新たに実行した教示データが、実行済みの教示データと類似するか否かを容易に確認できる。
  (2e)教示データ対応軌跡データ
 次に、「(2e)教示データ対応軌跡データ」の具体例について説明する。
 前述したように、教示データ対応軌跡データは、ユーザが新たに実行した教示データによる簡易教示器具110、またはロボット100の軌跡(例えば把持位置)と、すでに実行済みの教示データによるロボットの軌跡(例えば把持位置)との比較データを生成して表示するものである。
 ユーザが新たに実行した教示データによるロボットの軌跡(例えば把持位置)と、すでに実行済みの教示データによる簡易教示器具110、またはロボット100の軌跡(例えば把持位置)との比較データを生成して表示する。
 例えば3次元グラフ上に軌跡データを描画して表示する。
 図18は、「(2e)教示データ対応軌跡データ」の具体例について説明する図である。
 図18に示す表示データは、xyz3次元空間を示す3次元グラフ上に、過去の教示データと、今回の教示データの軌跡を表示して示したグラフデータである。
 点線が、過去の教示データ対応の軌跡であり、実線が今回の教示データの軌跡である。
 なお、軌跡は、例えば簡易教示器具110、またはロボット100の把持部の移動軌跡である。
 ユーザは、このような複数の教示データ対応の軌跡データを並べて表示した「(2e)教示データ対応軌跡データ」を確認することで、新たに実行した教示データによる軌跡が、実行済みの教示データの軌跡と類似するか否かを容易に確認することが可能となる。
 上述したように、フィードバック情報生成部170は、様々なフィードバック情報を生成して出力部(表示部)180に出力する。すなわち、以下の各情報を生成して出力部(表示部)180に出力する。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 ユーザ(オペレータ)120は、出力部(表示部)180に表示されたフィードバック情報を見て、ユーザ(オペレータ)120が実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たに必要となる教示データを利用して簡易教示器具110やロボット100を動作させる。
 これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
  [5.出力部における表示データの例について]
 次に、出力部における表示データの例について説明する。
 前述したように、フィードバック情報生成部170は、様々なフィードバック情報を生成して出力部(表示部)180に出力する。
 この出力部(表示部)180は、図6を参照して説明した学習処理部160や、フィードバック情報生成部170を有する情報処理装置内に構成することも可能であるが、例えば、これらの構成部から離れたユーザ120の所有するスマホ等の端末を利用してもよい。
 図19は、ユーザ120の所有するスマホ等の端末にフィードバック情報生成部170が生成したフィードバック情報を出力して表示した例を示している。
 図19に示す表示データは、先に図14~図18を参照して説明した視覚的フィードバック情報、すなわち、
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 これらの視覚的フィードバック情報を複数、併せて表示したデータの一例である。
 ユーザ120は、表示されたフィードバック情報を見て、ユーザ120が実行した教示データの評価を確認し、必要となる新な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部140において新たな教示データを実行させることが可能となる。この処理を繰り返すことで、有効な漏れの無い教示データセットを効率的に生成することが可能となる。
  [6.本開示の情報処理装置の構成例について]
 次に、本開示の情報処理装置の構成例について説明する。
 図20は、本開示の情報処理装置200の一構成例について説明するブロック図である。
 図20に示すように、本開示の情報処理装置200は、教示データ実行部201、学習処理部202、フィードバック情報生成部203、出力部(表示部)204、および第1記憶部205、第2記憶部206を有する。
 教示データ実行部201は、簡易教示器具またはロボットに装着されたカメラ211と、画像解析部212を有する。
 教示データ実行部201においては、ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラ211が装着されている。
 カメラ211は、ユーザによる簡易教示器具、またはロボットの操作状態における連続撮影画像を撮影する。カメラ211は、例えば、簡易教示器具、またはロボットの把持部の手先方向の画像を撮影する。
 カメラ211の撮影画像は画像解析部212に入力される。
 画像解析部212は、カメラ211の撮影画像の解析を行う。画像解析部212は、カメラ211の撮影画像の解析により、例えば簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
 ユーザは、簡易教示器具またはロボットを直接、動かしてある動作(タスク)を実行させる。あるいはコントローラを用いて簡易教示器具やロボットを動かしてもよい。
 動作(タスク)とは、例えば部品の把持処理、移動処理等の一連の動作である。1回のタスクの実行を1試行とする。
 このタスク実行の際、カメラ211は連続的に画像撮影を実行する。例えば動画撮影を行う。
 教示データ実行部201の画像解析部212は、カメラ211の撮影画像の解析を行い、例えば簡易教示器具やロボットの把持部の位置や移動量を算出する。具体的には、例えばSLAM(Simultaneous Localization and Mapping)処理等の自己位置推定処理によって算出される把持位置の位置や移動量の時系列データ(初期時刻(t0)から、タスクの終了時刻(t_terminal)まで)を、学習データとして第1記憶部205に格納する。
 なお、前述したように、SLAM(Simultaneous Localization and Mapping)は、カメラ撮影画像を用いて、自己位置推定処理(ローカリゼーション)と環境地図作成処理(mapping)を並行して実行する処理である。
 学習処理部202は、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
 学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
 学習処理部202において実行する学習処理は、前述したように機械学習であり、様々な学習アルゴリズムの適用が可能である。学習処理の一例としてディープニューラルネットワーク(DNN)を用いた学習処理であるディープラーニングがある。ディープラーニングを利用すれば、サンプルデータを入力して、学習処理部自身が大量のデータから特徴量を自動抽出して、様々なデータに対応する最適解、例えばロボットの制御パラメータを生成することができる。
 ディープニューラルネットワーク(DNN)を利用した学習処理としては、例えば、畳み込みニューラルネットワークであるCNN(Convolutional Neural Network)を用いた深層学習が知られている。
 学習処理部202は、第1記憶部205に格納された学習データ(撮影画像と把持部の位置や移動量データ)を利用して学習処理を実行する。第1記憶部205には、学習データとしてある時刻の画像とある時刻の把持位置の位置や移動量が保存されている。学習処理部202は、これらの対応関係データに対する深層学習(CNN)を用いた学習処理を実行し、画像と把持部の位置関係、つまり、行動規則を学習する。
 学習処理部202は、学習処理結果として教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを含む学習結果データを生成して、第2記憶部206に格納する。
 第2記憶部206には、図20に示すような、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセット232が格納される。
 フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
 さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
 フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成して出力部(表示部)204に出力する。
 フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
 フィードバック情報生成部203が生成する数値的フィードバック情報と、視覚的フィードバック情報は、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 これらの各情報の詳細については、先に図10~図18を参照して説明した通りである。
 フィードバック情報生成部203が生成したフィードバック情報は、出力部(表示部)204に表示される。
 例えば先に先に図10~図18を参照して説明したデータや、図19を参照して説明した表示データが表示される。
 ユーザ(オペレータ)は、フィードバック情報生成部203が生成し、出力部(表示部)204に表示されたフィードバック情報を見て、実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、これらの確認結果に応じて、教示データ実行部201において新たに必要となる教示データを利用してロボットを動作させる。
 これらの処理を繰り返すことで、有効な漏れの無い教示データセットの生成が可能となる。
 なお、図20に示す情報処理装置200の構成中、教示データ実行部201のカメラ211は、簡易教示器具やロボットに装着され、情報処理装置200とは別構成としてもよい。
 出力部204についても、先に図19を参照して説明したようにユーザのスマホ等の端末を利用可能であり、情報処理装置200と別構成とすることが可能である。
  [7.本開示の情報処理装置が実行する処理のシーケンスについて]
 次に、本開示の情報処理装置が実行する処理のシーケンスについて説明する。
 図21に示すフローチャートを参照して、本開示の情報処理装置、例えば図20に示す情報処理装置200が実行する処理のシーケンスについて説明する。
 なお、このフローに従った処理は、例えば情報処理装置200のデータ処理部が、記憶部に格納されたプログラムに従って実行することが可能である。例えばプログラム実行機能を有するCPU等のプロセッサによるプログラム実行処理として行うことができる。
 以下、図21に示すフローの各ステップの処理について説明する。
  (ステップS101)
 まず、ステップS101において、ユーザが教示データに従った簡易教示器具(またはロボット)を動作させ、情報処理装置のデータ処理部が、この動作情報の解析処理を実行して学習データを生成する。
 この処理は、先に図20を参照して説明した情報処理装置200の教示データ実行部201において実行する処理である。
 ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラが装着されており、ユーザによる操作状態中の連続撮影画像を撮影する。
 カメラ撮影画像は、図20を参照して説明した画像解析部212に入力され、画像解析部212において、カメラ撮影画像の解析により、簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
  (ステップS102)
 次に、情報処理装置のデータ処理部は、ステップS102において、学習データを用いた学習処理を実行する。
 この処理は、先に図20を参照して説明した情報処理装置200の学習処理部202が実行する処理である。
 学習処理部202は、情報処理装置200の教示データ実行部201が生成し、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
 学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
  (ステップS103~S104)
 次に、情報処理装置のデータ処理部は、ステップS103~S104において、学習データ生成処理に適用した教示データと、学習結果としての教示データセットを収集し、学習データ生成処理に適用した教示データの評価処理を実行して、例えばスコア等のフィードバック情報の生成処理を行う。
 この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203が実行する処理である。
 フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
 さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
 フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
 フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
 すなわち、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 これらの各情報の詳細については、先に図10~図18を参照して説明した通りである。
  (ステップS105)
 次に、情報処理装置のデータ処理部は、ステップS105において、ステップS104において生成したフィードバック情報をユーザに提示する。
 この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203と出力部(表示部)204が実行する処理である。
 フィードバック情報生成部203は、ステップS104で生成したフィードバック情報を、出力部(表示部)204に出力しユーザに提示する。
 出力部(表示部)204に出力するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報であり、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
  (ステップS106)
 次のステップS106の判定処理は、出力部(表示部)204に出力されたフィードバック情報を確認したユーザ(オペレータ)による判定処理である。
 ユーザ(オペレータ)は、フィードバック情報生成部203が生成し、出力部(表示部)204に表示されたフィードバック情報を見て、今、ユーザが実行した教示データの評価を確認する。さらに必要な教示データの態様(ロボットの把持部の軌跡等)を確認し、新たな教示データセットの生成処理が必要であるか否かを判定する。
 新たな教示データセットの生成処理が必要でないと判断した場合は処理を終了する。
 一方、新たな教示データセットの生成処理が必要であると判断した場合は、ステップS107に進む。
  (ステップS107)
 ステップS106において、ユーザが、出力部(表示部)204に表示されたフィードバック情報を見て、新たな教示データセットの生成処理が必要であると判断した場合は、ステップS107に進み、以下の処理を実行する。
 すなわち、フィードバック情報を見て、必要であると判断した新たな教示データセットを生成するための教示データを生成して、ステップS101に戻り、生成した新たな教示データを適用した学習処理を実行する。
 これらの処理を繰り返し、最終的にステップS106において、新たな教示データセットの生成処理が必要でないと判断されると処理を終了する。
 このような処理により、有効な漏れの無い教示データセットの生成が可能となる。
 図21に示すフローは、教示データを適用した学習処理の実行時にフィードバックデータを生成し、フィードバック情報を参照して新たな教示データを利用した学習処理を実行するシーケンスである。
 本開示の処理は、このような処理シーケンスの他、例えば、学習処理による学習結果を用いて実際にロボットを制御し、その制御結果を評価し、評価結果に応じてさらに学習処理を再開するといった処理シーケンスとして実行することも可能である。
 図22に示すフローチャートを参照してこの処理のシーケンスについて説明する。
  以下、図22に示すフローの各ステップの処理について説明する。
  (ステップS201)
 まず、ステップS201において、ユーザが教示データに従った簡易教示器具(またはロボット)を動作させ、情報処理装置のデータ処理部が、この動作情報の解析処理を実行して学習データを生成する。
 この処理は、先に図20を参照して説明した情報処理装置200の教示データ実行部201において実行する処理である。
 ユーザ(オペレータ)が教示データを利用して簡易教示器具、またはロボットを操作する。簡易教示器具、またはロボットにはカメラが装着されており、ユーザによる操作状態中の連続撮影画像を撮影する。
 カメラ撮影画像は、図20を参照して説明した画像解析部212に入力され、画像解析部212において、カメラ撮影画像の解析により、簡易教示器具、またはロボットの把持部の位置や移動量を算出し、撮影画像と把持部位置、移動量データを学習データとして第1記憶部に格納する。
  (ステップS202)
 次に、情報処理装置のデータ処理部は、ステップS202において、学習データを用いた学習処理を実行する。
 この処理は、先に図20を参照して説明した情報処理装置200の学習処理部202が実行する処理である。
 学習処理部202は、情報処理装置200の教示データ実行部201が生成し、第1記憶部205に格納された学習データ(撮影画像と把持部移動量データ)を利用して学習処理を実行する。
 学習処理部202における学習処理の結果として生成する学習結果データは、教示データセット、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットであり、このデータが第2記憶部206に格納される。
  (ステップS203)
 次に、情報処理装置200のデータ処理部は、ステップS203において、ステップS202で生成された学習結果データを利用して実際にロボットを制御する。
 なお、この処理は、図20に示す情報処理装置200の構成としては示していないが、情報処理装置200の構成要素であるロボット駆動部が実行する。
 ロボット駆動部は、第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを利用してロボットを制御する。
 例えば様々な位置にある部品の把持処理を、学習結果データに基づく制御によりロボットに実行させてみる。
  (ステップS204)
 次に、情報処理装置200のデータ処理部は、ステップS204において、ステップS203における学習結果データを適用したロボット制御が良好であったか否か、すなわちロボット性能が規定性能以上であったか否かを判定する。
 ロボット性能が規定性能以上であると判定した場合は処理を終了する。すなわち新たな教示データセットを生成するための学習処理は不要であると判断して、処理を終了する。
 一方、ロボット性能が規定性能以上でないと判定した場合はステップS205に進む。すなわち新たな教示データセットを生成するための学習処理が必要であると判断して、ステップS205以下の処理を実行する。
  (ステップS205~S206)
 次に、情報処理装置のデータ処理部は、ステップS205~S206において、学習データ生成処理に適用した教示データと、学習結果としての教示データセットを収集し、学習データ生成処理に適用した教示データの評価処理を実行して、例えばスコア等のフィードバック情報の生成処理を行う。
 この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203が実行する処理である。
 フィードバック情報生成部203は、教示データ実行部201において生成され第1記憶部205に格納された学習データ、すなわち撮影画像と把持部移動量データを入力する。
 さらに学習処理部202の学習処理によって生成された第2記憶部206に格納された学習結果データ、すなわち、撮影画像と、行動規則(把持位置の移動軌跡等)のデータセットからなる教示データセットを入力する。
 フィードバック情報生成部203は、これらの入力データに基づいて、ユーザ(オペレータ)に対するフィードバック情報を生成する。
 フィードバック情報生成部203が生成するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報である。
 すなわち、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
 これらの各情報の詳細については、先に図10~図18を参照して説明した通りである。
  (ステップS207)
 次に、情報処理装置のデータ処理部は、ステップS207において、ステップS206において生成したフィードバック情報をユーザに提示する。
 この処理は、先に図20を参照して説明した情報処理装置200のフィードバック情報生成部203と出力部(表示部)204が実行する処理である。
 フィードバック情報生成部203は、ステップS206で生成したフィードバック情報を、出力部(表示部)204に出力しユーザに提示する。
 出力部(表示部)204に出力するフィードバック情報は、前述した数値的フィードバック情報や、視覚的フィードバック情報であり、以下の各情報である。
 (1)数値的フィードバック情報
 ユーザが実行した教示データの評価値
 (2)視覚的フィードバック情報
 (2a)スコアグラフ表示データ
 (2b)高スコア領域指示データ
 (2c)スコア対応色表示データ
 (2d)類似教示データの識別グラフデータ
 (2e)教示データ対応軌跡データ
  (ステップS208)
 次にステップS208において、ユーザは、出力部(表示部)204に表示されたフィードバック情報を見て、必要であると判断した新たな教示データセットを生成するための教示データを生成して、ステップS201に戻り、生成した新たな教示データを適用した学習処理を実行する。
 これらの処理を繰り返し、最終的にステップS204において、ロボットの性能が規定性能以上であると判断されると処理を終了する。
 このような処理により、有効な漏れの無い教示データセットの生成が可能となり、ロボット性能を規定性能以上に向上させることが可能となる。
  [8.本開示の情報処理装置のハードウェア構成例について]
 次に、本開示の情報処理装置のハードウェア構成の一例について説明する。
 図23は、本開示の情報処理装置のハードウェア構成の一構成例を示すブロック図である。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロホン、さらに、ユーザ入力部やカメラ、LiDAR等各種センサ321の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカーなどよりなる出力部307が接続されている。
 また、出力部307は、ロボット等の駆動を行う駆動部322に対する駆動情報も出力する。
 CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばフラッシュメモリ、ハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 また、CPUの他、カメラから入力される画像情報などの専用処理部としてGPU(Graphics Processing Unit)を備えてもよい。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [9.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
 前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
 前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置。
 (2) 前記フィードバック情報生成部は、
 前記フィードバック情報として、
 前記教示データ実行部において実行した前記ユーザ操作に適用した教示データの評価値に相当するスコアの値を含む数値的フィードバック情報を生成して出力部に出力する(1)に記載の情報処理装置。
 (3) 前記フィードバック情報生成部は、
 前記数値的フィードバック情報として、
 n段階のスコア値、ただしnは2以上の整数、
 を生成して出力部に出力する(2)に記載の情報処理装置。
 (4) 前記フィードバック情報生成部は、
 前記数値的フィードバック情報として、
 前記スコアの値に応じたランクを生成して出力部に出力する(2)または(3)に記載の情報処理装置。
 (5) 前記フィードバック情報生成部は、
 前記数値的フィードバック情報として、
 前記学習処理部が生成した学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアを生成して出力部に出力する(2)~(4)いずれかに記載の情報処理装置。
 (6) 前記フィードバック情報生成部は、
 前記数値的フィードバック情報として、
 前記教示データ実行部において実行した前記教示データに基づくユーザ操作によるロボットの移動位置と、前記学習処理部の学習処理によって生成した前記教示データセットに含まれる行動規則から予測されるロボットの移動位置の差分に応じたスコアである予測誤差を示すスコアを生成して出力部に出力する(2)~(5)いずれかに記載の情報処理装置。
 (7) 前記フィードバック情報生成部は、
 前記数値的フィードバック情報として、
 前記教示データ実行部において実行した前記ユーザ操作に適用した教示データと、実行済みの教示データとの相違度を示すスコアを生成して出力部に出力する(2)~(6)いずれかに記載の情報処理装置。
 (8) 前記フィードバック情報生成部は、
 前記フィードバック情報として、
 前記教示データ実行部において実行したユーザ操作に適用した教示データの評価結果に基づいて生成した画像、またはグラフを含む視覚的フィードバック情報を生成して出力部に出力する(1)~(7)いずれかに記載の情報処理装置。
 (9) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアをグラフ化したスコアグラフ表示データを生成して出力部に出力する(8)に記載の情報処理装置。
 (10) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記教示データ実行部において適用する教示データの評価値に相当するスコアが高くなる領域を前記カメラ撮影画像上に示した高スコア領域指示データを生成して出力部に出力する(8)または(9)に記載の情報処理装置。
 (11) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記カメラ撮影画像の色変更画像を生成して出力する構成であり、
 前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアに応じて、前記カメラ撮影画像を異なる色に変更した色変更画像を生成して出力する(8)~(10)いずれかに記載の情報処理装置。
 (12) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記教示データ実行部において実行したユーザ操作に適用した教示データと、過去に実行済みの教示データの類似度や相違度を示す識別グラフデータを生成して出力部に出力する(8)~(11)いずれかに記載の情報処理装置。
 (13) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記教示データ実行部において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する(8)~(12)いずれかに記載の情報処理装置。
 (14) 前記フィードバック情報生成部は、
 前記視覚的フィードバック情報として、
 前記教示データ実行部において実行したユーザ操作に適用した教示データに従ったロボットの移動軌跡と、過去に実行済みの教示データに従ったロボットの移動軌跡との比較データを生成して出力部に出力する(8)~(13)いずれかに記載の情報処理装置。
 (15) 情報処理装置において実行する情報処理方法であり、
 教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
 学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
 フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法。
 (16) 情報処理装置において情報処理を実行させるプログラムであり、
 教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
 学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
 フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラム。
 なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
 具体的には、例えば、教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、ロボットの移動位置情報を学習データとして生成し、学習処理部が、教示データ実行部が生成した学習データを入力して機械学習を実行し、学習結果データとして画像とロボット行動規則とからなる教示データセットを生成し、フィードバック情報生成部が、教示データ実行部が生成した学習データと、学習処理部が生成した学習結果データを入力して、教示データの評価を実行し、評価結果に基づく数値的フィードバック情報や視覚的フィードバック情報を生成して出力する。
 本構成により、教示データを利用した学習処理を行う構成において、教示データの評価スコアや必要となる教示データを、ユーザに分かりやすく提示する装置、方法が実現され、効率的な学習処理やロボット性能の向上が可能となる。
 100 ロボット
 101 把持部
 102 アーム部
 105 カメラ
 120 ユーザ
 140 教示データ実行部
 150 学習データ
 160 学習処理部
 165 学習結果データ
 170 フィードバック情報生成部
 180 出力部(表示部)
 200 情報処理装置
 201 教示データ実行部
 202 学習処理部
 203 フィードバック情報生成部
 204 出力部(表示部)
 205 第1記憶部
 206 第2記憶部
 211 カメラ
 212 画像解析部
 231 教示データ実行部生成データ
 232 教示データセット
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア
 321 センサ
 322 駆動部

Claims (16)

  1.  教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行部と、
     前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理部と、
     前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成部を有する情報処理装置。
  2.  前記フィードバック情報生成部は、
     前記フィードバック情報として、
     前記教示データ実行部において実行した前記ユーザ操作に適用した教示データの評価値に相当するスコアの値を含む数値的フィードバック情報を生成して出力部に出力する請求項1に記載の情報処理装置。
  3.  前記フィードバック情報生成部は、
     前記数値的フィードバック情報として、
     n段階のスコア値、ただしnは2以上の整数、
     を生成して出力部に出力する請求項2に記載の情報処理装置。
  4.  前記フィードバック情報生成部は、
     前記数値的フィードバック情報として、
     前記スコアの値に応じたランクを生成して出力部に出力する請求項2に記載の情報処理装置。
  5.  前記フィードバック情報生成部は、
     前記数値的フィードバック情報として、
     前記学習処理部が生成した学習結果データである教示データセットに含まれる行動規則の不確かさを示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
  6.  前記フィードバック情報生成部は、
     前記数値的フィードバック情報として、
     前記教示データ実行部において実行した前記教示データに基づくユーザ操作によるロボットの移動位置と、前記学習処理部の学習処理によって生成した前記教示データセットに含まれる行動規則から予測されるロボットの移動位置の差分に応じたスコアである予測誤差を示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
  7.  前記フィードバック情報生成部は、
     前記数値的フィードバック情報として、
     前記教示データ実行部において実行した前記ユーザ操作に適用した教示データと、実行済みの教示データとの相違度を示すスコアを生成して出力部に出力する請求項2に記載の情報処理装置。
  8.  前記フィードバック情報生成部は、
     前記フィードバック情報として、
     前記教示データ実行部において実行したユーザ操作に適用した教示データの評価結果に基づいて生成した画像、またはグラフを含む視覚的フィードバック情報を生成して出力部に出力する請求項1に記載の情報処理装置。
  9.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアをグラフ化したスコアグラフ表示データを生成して出力部に出力する請求項8に記載の情報処理装置。
  10.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記教示データ実行部において適用する教示データの評価値に相当するスコアが高くなる領域を前記カメラ撮影画像上に示した高スコア領域指示データを生成して出力部に出力する請求項8に記載の情報処理装置。
  11.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記カメラ撮影画像の色変更画像を生成して出力する構成であり、
     前記教示データ実行部において実行したユーザ操作に適用した教示データの評価値に相当するスコアに応じて、前記カメラ撮影画像を異なる色に変更した色変更画像を生成して出力する請求項8に記載の情報処理装置。
  12.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記教示データ実行部において実行したユーザ操作に適用した教示データと、過去に実行済みの教示データの類似度や相違度を示す識別グラフデータを生成して出力部に出力する請求項8に記載の情報処理装置。
  13.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記教示データ実行部において実行したユーザ操作に適用した教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データと、過去に実行済みの教示データに基づくロボットの動きに応じたカメラ撮影画像から取得した特徴データを圧縮して生成した潜在特徴データとの類似度や相違度を示す識別グラフデータを生成して出力部に出力する請求項8に記載の情報処理装置。
  14.  前記フィードバック情報生成部は、
     前記視覚的フィードバック情報として、
     前記教示データ実行部において実行したユーザ操作に適用した教示データに従ったロボットの移動軌跡と、過去に実行済みの教示データに従ったロボットの移動軌跡との比較データを生成して出力部に出力する請求項8に記載の情報処理装置。
  15.  情報処理装置において実行する情報処理方法であり、
     教示データ実行部が、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成する教示データ実行ステップと、
     学習処理部が、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行し、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成する学習処理ステップと、
     フィードバック情報生成部が、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行し、評価結果に基づくフィードバック情報を生成して出力部に出力するフィードバック情報生成ステップを実行する情報処理方法。
  16.  情報処理装置において情報処理を実行させるプログラムであり、
     教示データ実行部に、教示データに基づくユーザ操作によるロボットの動きに応じたカメラ撮影画像と、前記ロボットの移動位置情報を学習データとして生成させる教示データ実行ステップと、
     学習処理部に、前記教示データ実行部が生成した学習データを入力して機械学習処理を実行させ、学習結果データとして、画像とロボットの行動規則との対応関係データからなる教示データセットを生成させる学習処理ステップと、
     フィードバック情報生成部に、前記教示データ実行部が生成した学習データと、前記学習処理部が生成した学習結果データを入力して、前記教示データ実行部において実行された前記ユーザ操作に適用した教示データの評価を実行させ、評価結果に基づくフィードバック情報を生成して出力部に出力させるフィードバック情報生成ステップを実行させるプログラム。
PCT/JP2022/003018 2021-05-14 2022-01-27 情報処理装置、および情報処理方法、並びにプログラム WO2022239310A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22807017.3A EP4339849A1 (en) 2021-05-14 2022-01-27 Information processing device, information processing method, and program
US18/557,056 US20240219895A1 (en) 2021-05-14 2022-01-27 Information processing device, information processing method, and program
CN202280033571.8A CN117280358A (zh) 2021-05-14 2022-01-27 信息处理装置、信息处理方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-082091 2021-05-14
JP2021082091A JP2022175570A (ja) 2021-05-14 2021-05-14 情報処理装置、および情報処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2022239310A1 true WO2022239310A1 (ja) 2022-11-17

Family

ID=84029006

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/003018 WO2022239310A1 (ja) 2021-05-14 2022-01-27 情報処理装置、および情報処理方法、並びにプログラム

Country Status (5)

Country Link
US (1) US20240219895A1 (ja)
EP (1) EP4339849A1 (ja)
JP (1) JP2022175570A (ja)
CN (1) CN117280358A (ja)
WO (1) WO2022239310A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135095A (ja) 2003-10-29 2005-05-26 Kawasaki Heavy Ind Ltd ロボット動作データ作成装置
JP2007276052A (ja) * 2006-04-06 2007-10-25 Sony Corp 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135095A (ja) 2003-10-29 2005-05-26 Kawasaki Heavy Ind Ltd ロボット動作データ作成装置
JP2007276052A (ja) * 2006-04-06 2007-10-25 Sony Corp 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KATAGAMI, DAISUKE, NYUWA, TAROU; NITTA, KATSUMI: "1D2-02 Extraction and Analysis of Adaptive Action Skills of Robot under Social HAI", THE 22ND ANNUAL CONFERENCE OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE (JSAI), JUNE 11-13, 2008, vol. 22, 11 June 2008 (2008-06-11) - 13 June 2008 (2008-06-13), pages 1 - 4, XP009541158, DOI: 10.11517/pjsai.JSAI08.0.69.0 *

Also Published As

Publication number Publication date
JP2022175570A (ja) 2022-11-25
CN117280358A (zh) 2023-12-22
US20240219895A1 (en) 2024-07-04
EP4339849A1 (en) 2024-03-20

Similar Documents

Publication Publication Date Title
WO2020058669A1 (en) Task embedding for device control
Yen-Chen et al. Experience-embedded visual foresight
JP7458741B2 (ja) ロボット制御装置及びその制御方法及びプログラム
JP7128736B2 (ja) ロボット制御装置、ロボットシステム及びロボット制御方法
JP6632095B1 (ja) 学習済モデル生成装置、ロボット制御装置、及び、プログラム
Field et al. Learning trajectories for robot programing by demonstration using a coordinated mixture of factor analyzers
CN115605326A (zh) 用于控制机器人的方法和机器人控制器
Shi et al. Fast uncertainty quantification for deep object pose estimation
CN114516060A (zh) 用于控制机器人装置的设备和方法
CN115351780A (zh) 用于控制机器人设备的方法
WO2022239310A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
CN114474106A (zh) 用于控制机器人装置的方法和机器人控制装置
Ahmadzadeh et al. Generalized Cylinders for Learning, Reproduction, Generalization, and Refinement of Robot Skills.
Maske et al. Learning task-based instructional policy for excavator-like robots
Yamada et al. Efficient skill acquisition for complex manipulation tasks in obstructed environments
KR20180114698A (ko) 다관절 로봇의 작업 궤적 생성을 위한 효율적인 학습 모델 및 학습 기법
Maderna et al. Real-time monitoring of human task advancement
JP2020113262A (ja) 学習済モデル生成装置、ロボット制御装置、及び、プログラム
Tosun et al. Pixels to plans: Learning non-prehensile manipulation by imitating a planner
Naughton et al. Structured action prediction for teleoperation in open worlds
Sun et al. Learning from Few Demonstrations with Frame–Weighted Motion Generation
Liu et al. Robotic manipulation skill acquisition via demonstration policy learning
Englert et al. Kinematic morphing networks for manipulation skill transfer
JP7205752B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
He et al. Imitation Learning Study for Robotic Peg-in-hole Assembly

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18557056

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280033571.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022807017

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022807017

Country of ref document: EP

Effective date: 20231214