JP2024101163A - Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium - Google Patents
Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium Download PDFInfo
- Publication number
- JP2024101163A JP2024101163A JP2023004946A JP2023004946A JP2024101163A JP 2024101163 A JP2024101163 A JP 2024101163A JP 2023004946 A JP2023004946 A JP 2023004946A JP 2023004946 A JP2023004946 A JP 2023004946A JP 2024101163 A JP2024101163 A JP 2024101163A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information processing
- learning
- robot
- controlled
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 63
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 173
- 238000004519 manufacturing process Methods 0.000 title claims description 9
- 238000010801 machine learning Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims description 137
- 238000012545 processing Methods 0.000 abstract description 24
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000033001 locomotion Effects 0.000 description 94
- 230000009471 action Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005303 weighing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本発明は、情報処理方法、情報処理装置、ロボットシステム、ロボットシステムの制御方法、物品の製造方法、プログラム及び記録媒体に関する。 The present invention relates to an information processing method, an information processing device, a robot system, a control method for a robot system, a method for manufacturing an article, a program, and a recording medium.
従来、ロボットの制御方法を機械学習する手法として、制御対象物が模倣する対象となる模倣対象物を動作させて機械学習する模倣学習を用いることが知られている。模倣学習では、少ないデータ数で学習し、生産現場におけるティーチング等では困難な動作をロボットに行わせることができる。模倣学習における学習精度を上げる技術として、機械学習モデルを学習させるためのデータを収集する段階でデータを選別し、学習にとって望ましいデータのみを選択的に収集する技術が開示されている(特許文献1参照)。 Traditionally, imitation learning has been known as a method for machine learning a robot control method, in which a controlled object imitates an imitation object through machine learning by moving the object. Imitation learning allows a robot to learn with a small amount of data, and can make the robot perform actions that would be difficult to do through teaching at a production site. As a technique for improving the learning accuracy in imitation learning, a technique has been disclosed in which data is selected at the stage of collecting data for training a machine learning model, and only data desirable for learning is selectively collected (see Patent Document 1).
模倣学習においては、ロボットを用いて制御方法を学習するよりも簡易に動作を学習したい場合や、多くのデータを収集したい場合に、人の動作やシミュレーション等の実際の制御対象物となるロボットとは異なるシステムからデータを収集することがある。このような場合においては、動作データの収集元となる模倣対象物である人やシミュレーションと、制御対象物であるロボットから得られるデータと、に差異が生まれ、学習におけるノイズとなる。このため、ノイズを含んだデータから機械学習により取得された学習済モデルを用いた制御対象物の制御の精度が低下してしまうという課題があった。 In imitation learning, when it is desired to learn an action more easily than learning a control method using a robot, or when it is desired to collect a large amount of data, data may be collected from a system other than the robot that is the actual controlled object, such as human actions or simulations. In such cases, differences arise between the person or simulation that is the imitation object from which the action data is collected, and the data obtained from the robot that is the controlled object, and this becomes noise in learning. This poses the problem of a decrease in the accuracy of control of the controlled object using a trained model obtained by machine learning from data containing noise.
そこで、本発明は、制御対象物の制御の精度を向上させることが可能な技術を提供することを目的とする。 The present invention aims to provide a technology that can improve the accuracy of controlling the controlled object.
本発明の第1の態様は、制御対象物の動作環境とは異なる環境で前記制御対象物に対応する物体を動作させて第1データを取得し、前記第1データを用いた機械学習により学習済モデルを取得する処理と、前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、ことを特徴とする情報処理方法である。 A first aspect of the present invention is an information processing method that executes a process of acquiring first data by operating an object corresponding to a control object in an environment different from the operating environment of the control object, and acquiring a trained model by machine learning using the first data, a process of acquiring second data for operating the control object in the operating environment using the trained model, a determination process of operating the control object in the operating environment using the second data and determining the result, and a learning process of acquiring third data about an operation whose result is determined to be successful in the determination process, and training the trained model by machine learning using the third data.
また、本発明の第2の態様は、情報処理部を備える情報処理装置であって、前記情報処理部が、制御対象物の動作環境とは異なる環境で前記制御対象物に対応する物体を動作させて第1データを取得し、前記第1データを用いた機械学習により学習済モデルを取得する処理と、前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、ことを特徴とする情報処理装置である。 A second aspect of the present invention is an information processing device including an information processing unit, characterized in that the information processing unit executes a process of acquiring first data by operating an object corresponding to the control object in an environment different from the operating environment of the control object, and acquiring a trained model by machine learning using the first data, a process of acquiring second data for operating the control object in the operating environment using the trained model, a determination process of operating the control object in the operating environment using the second data and determining the result, and a learning process of acquiring third data about an operation whose result is determined to be successful in the determination process, and training the trained model by machine learning using the third data.
本発明によれば、制御対象物の制御の精度を向上させることができる。 The present invention can improve the accuracy of control of the controlled object.
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。なお、以下に示す構成はあくまでも一例であり、細部の構成については発明の趣旨を逸脱しない範囲において当事者が適宜変更することができる。また、以下の説明で取り上げる数値は、参考数値であって、例示に過ぎない。 The following describes in detail the embodiment of the present invention with reference to the drawings. Note that the configuration shown below is merely an example, and the details of the configuration may be modified as appropriate by the parties concerned without departing from the spirit of the invention. Also, the numerical values used in the following description are for reference only and are merely examples.
<ロボットシステムの構成>
図1は、本実施形態のロボットシステムとしてのロボット動作学習方法を示す概念図である。また、図2は、ロボット動作学習装置100が有する記録装置400の概念図である。ロボット動作学習装置100は、記録装置400、模倣対象エリア200、制御対象エリア300、ロボットの動作を生成する学習器1及び学習器1の生成した動作の成否を判定する判定部2から構成されている。
<Robot system configuration>
Fig. 1 is a conceptual diagram showing a robot motion learning method as a robot system according to this embodiment. Fig. 2 is a conceptual diagram of a
ロボット動作学習装置100では、まず、模倣対象エリア200内で模倣対象動作主201が実際に制御対象ロボット301に行わせたい動作を、模倣対象タスク202として実行する。模倣対象動作主201の動作は、模倣動作センサ203によって検出される。模倣動作センサ203は、動作に伴う模倣対象動作主201の動作データ(第2データ)、例えば手先位置情報等や、模倣対象タスク202の状態及び模倣対象エリア200内の環境の状態を検出し、記録装置400に初期収集データ401として記録する。
In the robot
ロボット動作学習装置100では、模倣対象タスク202として実行される模倣対象動作主201の動作を模倣動作センサ203によって検出する一連の流れを複数回繰り返した後、学習器1が初期学習処理を行う。初期学習処理は、記録された模倣対象動作主201の手先位置、模倣対象タスク202の状態及び模倣対象エリア200内の環境の状態を入力として、ある状況において次に行うべき動作の情報を出力できる学習済モデルを取得する処理である。
In the robot
初期学習処理が完了した後、学習器1は、推論処理を実行する。推論処理は、制御対象ロボット301の動作データ、制御対象タスク302の状態及び制御対象エリア300内の環境の状態を制御動作センサ303が検出した値を入力として、次に制御対象ロボット301が行うべき動作データを出力する処理である。制御対象ロボット301は、推論処理の結果として出力された動作データを再現することで動作が生成される。
After the initial learning process is completed, the
判定部2は、動作中又は動作完了後の制御対象ロボット301の現在の動作データと、制御対象タスク302の状態及び制御対象エリア300内の環境の状態を制御動作センサ303が検出した値と、を入力とし、生成された動作によるタスクの成否を判定する。判定部2による判定方法の詳細については、後述する。
The
生成された動作によるタスクが成功と判定された場合、判定部2は、判定に際し入力された動作データと制御動作センサ303が検出した値とを記録装置400に成功データ(第3データ)402として保存する保存処理を行う。この時、判定部2は、図2に示すように、記録装置400の内部で初期収集データ401と成功データ402とが明確に区別できるようにラベリングして保存する。
If the task based on the generated action is judged to be successful, the
成功データ402が記録装置400に保存されるまでの一連の動作が完了した後、学習器1は、記録装置400に保存された成功データ402を新たな入力として追加して再学習処理を行う。再学習処理を行うことで、ロボット動作学習装置100では、模倣対象物及び模倣対象物の周囲環境と、制御対象物及び制御対象物の周囲環境と、の間の差異を徐々に埋めることができる。これにより、ロボット動作学習装置100は、制御対象物となる制御対象ロボット301の制御の精度を向上させ、所望のタスクの成功率を高めることができる。
After completing the series of operations up to the time when the
<ロボット動作学習装置の制御ブロック図>
図3は、ロボット動作学習装置100の制御ブロック図を示す図である。図2に示すように、ロボット動作学習装置100の情報処理装置700は、プロセッサの一種であり情報処理部としてのCPU701を有する。CPU701は、学習器1と、判定部2と、しても機能する。
<Control block diagram of the robot motion learning device>
Fig. 3 is a control block diagram of the robot
また、情報処理装置700は、記録部として、ROM702、RAM703、HDD704を有する。また、システム操作用の装置として、表示部としてのディスプレイ707と、入力部としてのキーボード708及びマウス709が接続されている。また、情報処理装置700には、模倣対象側の模倣動作センサ203、制御動作センサ303、制御対象ロボット301も接続されており、これらとデータのやり取りが可能になっている。
The
HDD704は、データを読み書き可能で且つ記録を保持できる構成となっている。HDD704内には、初期収集データ401と、成功データ402と、学習器1が学習して生成した学習済モデル706と、が保存されている。また、HDD704には、学習済モデル706を呼び出すためのプログラム705も保存されている。ロボット動作学習装置100は、制御対象ロボット301を動作させたい際に、プログラム705を実行することで制御動作センサ303が検出したデータを取得し、制御対象ロボット301に動作データを送信することができる。この、HDD704が、図1に示した記録装置400を構成する。
The HDD 704 is configured to be able to read and write data and to retain records. Initially collected
<模倣対象物と制御対象物との関係>
図4は、模倣対象物と制御対象物との対応関係を示す図である。図4に示すように、模倣対象エリア200には、模倣対象物となる模倣対象動作主201と、模倣対象タスク202と、模倣動作センサ203と、模倣対象エリア200を照らすライト204と、が含まれる。また、制御対象エリア300には、制御対象物となる制御対象ロボット301と、制御対象タスク302と、制御動作センサ303と、制御対象エリア300を照らすライト304と、が含まれる。
<Relationship between objects to be imitated and objects to be controlled>
Fig. 4 is a diagram showing the correspondence between objects to be imitated and objects to be controlled. As shown in Fig. 4, an area to be imitated 200 includes an actor to be imitated 201, which is an object to be imitated, a task to be imitated 202, an imitated
ロボット動作学習装置100では、まず、模倣対象エリア200内に模倣対象タスク202が設置される。模倣対象タスク202は、実際に制御対象ロボット301に行わせたい制御対象タスク302と同じものを設置する。換言すると、制御対象タスク302は、模倣対象タスク202と同じものが、制御対象エリア300内に設置される。
In the robot
模倣対象タスク202は、例えば、ワークのピックアンドプレース、工業製品へのパーツの組付け、タオルの折り畳み等、初期状態からロボットの動作によって所望の状態へ変化するタスクであればよい。 The task to be imitated 202 may be any task that changes from an initial state to a desired state through the operation of a robot, such as picking and placing a workpiece, assembling parts into an industrial product, or folding a towel.
模倣動作センサ203は、例えば、カメラ、温度計、マイク、触覚センサ、トルクセンサ、加速度センサ等から構成され、模倣対象タスク202の様子、模倣対象動作主201の動き及び模倣対象エリア200内の環境の状態を検出する。模倣動作センサ203は、模倣対象動作主201が有する構成であってもよい。模倣対象エリア200の環境には、模倣対象エリア200内の明るさ、設置物、背景、温度、音などが含まれる。
The
模倣対象動作主201は、模倣対象タスク202を行う。模倣対象動作主201は、制御対象物となる制御対象ロボット301と同一のロボット、異なるロボット又は人間のいずれであってもよい。換言すると、模倣対象動作主201は、制御対象物となる制御対象ロボット301に対応する物体であればよい。また、模倣対象動作主201は、制御対象ロボット301との有する構成要素と対応する構成要素(例えば、ロボットハンド301aと対応するワークを把持する構成要素)を有する。
The subject 201 to be imitated performs the
模倣対象動作主201が制御対象ロボット301と同一又は異なるロボットである場合、作業者は、ジョイスティック、ダイレクトティーチング、ポイントティーチング、マスタースレーブロボット等を用いて模倣対象動作主201を動作させタスクを行う。模倣対象動作主201が人間である場合、人間は、制御対象ロボット301を制御するために必要な手先位置や触覚値等の動作データを観測できるツール等を装着する必要がある。 When the subject of the action to be imitated 201 is the same or a different robot as the robot to be controlled 301, the worker operates the subject of the action to be imitated 201 to perform the task using a joystick, direct teaching, point teaching, master-slave robot, etc. When the subject of the action to be imitated 201 is a human, the human needs to wear a tool or the like that can observe the action data such as the hand position and tactile values required to control the robot to be controlled 301.
模倣動作センサ203は、模倣対象動作主201が動作をしている最中、模倣対象動作主201の動作データや、模倣対象エリア200内の環境の状態を予め設定したサンプリング周期で検出する。模倣動作センサ203が動作データや環境の状態を検出するサンプリング周期は、模倣対象動作主201の動きを制御対象ロボット301で再現するうえで十分短い周期(例えば、200Hz等)を設定する。
The
模倣対象動作主201の動作と、模倣動作センサ203による検出と、の一連の流れが本実施形態における初期収集データ401の1サンプルとなる。学習器1は、初期収集データ401を1サンプルのみ取得して学習してもよいし、任意のサンプル数の初期収集データ401を取得した後に学習してもよい。
The series of actions of the subject 201 to be imitated and detection by the
制御動作センサ303は、模倣動作センサ203と同一のものとなっており、模倣対象エリア200に対する模倣動作センサ203の相対位置と同じ位置関係になるように制御対象エリア300内に設置される。換言すると、模倣対象動作主201が模倣動作センサ203を有する場合であれば、制御動作センサ303は、制御対象ロボット301が有する構成となっている。制御動作センサ303は、例えば、カメラ、温度計、マイク、触覚センサ、トルクセンサ、加速度センサ等から構成され、制御対象タスク302の様子、制御対象ロボット301の動き及び制御対象エリア300内の環境の状態を検出する。
The
制御対象エリア300の環境には、制御対象エリア300内の明るさ、設置物、背景、温度、音などが含まれる。模倣対象エリア200内の環境と、制御対象エリア300の環境と、は、それぞれ対応している必要はなく、模倣対象エリア200内の環境と、制御対象エリア300の環境と、に差異を有していてもよい。本実施形態においては、例えば、模倣対象エリア200内に設けられたライト204の照度と、制御対象エリア300内に設けられたライト304の照度と、が異なっている。換言すると、模倣対象動作主201は、制御対象ロボット301の動作環境とは異なる環境で動作する構成となっている。
The environment of the controlled
制御対象ロボット301は、少なくとも1つ以上の駆動部と、ロボットハンド301aと、を有するロボットマニピュレータであり、学習器1から出力される動作データにより少なくとも1つ以上の駆動部が制御可能である。制御対象ロボット301は、後述する模倣対象動作主201を用いた学習時の動作が実現できる制御対象エリア300内の位置に設置され、ロボットハンド301aが動作開始位置に移動される。ロボットハンド301aの動作開始位置は、初期収集データ401の収集時における模倣対象エリア200に対する模倣対象動作主201の動作開始位置と同じ位置関係となる制御対象エリア300内の相対位置となる。
The controlled
制御動作センサ303は、制御対象ロボット301のロボットハンド301aが動作開始位置に移動した後に、現在の制御対象タスク302の状態、制御対象ロボット301の動作及び制御対象エリア300内の環境の状態を検出する。検出された各種データは、学習済みの学習器1に入力される。
After the
学習器1は、入力された現在の各種データ及びそれまでに入力されてきた過去の各種データから、次に制御対象ロボット301が行うべき動作データ(例えば、ロボットハンド301aの開閉度等)を出力する。制御対象ロボット301は、学習器1から出力された動作データ(例えば、ロボットハンド301aの手先位置等の指令値)によって動作する。
The
制御対象エリア300では、予め設定されたステップ数だけ、制御動作センサ303に検出された各種データの学習器1への入力と、学習器1から出力される動作データによる制御対象ロボット301の動作と、が実行される。なお、予め設定されたステップ数は、初期収集データ401を取得する際のステップ数と同一のステップ数であることが望ましいが、それよりも長いステップ数であってもよい。
In the controlled
<学習工程>
次に、学習器1が教師データ(第1データ)として初期収集データ401を用いて実行する学習工程について説明する。図5は、学習器1で実行される機械学習を説明する図である。本実施形態の学習器1は、例えばLSTM(Long Short Term Memory)のような機械学習によって構成されている。
<Learning process>
Next, a learning process executed by the
図5に示すように、LSTMは、サンプリングされた現在及び過去数点のサンプリングデータから、将来の結果を予測する教師あり学習である。LSTMでは、例えば、任意の時刻t=tからt=t+nにかけての手先位置、触覚値、周囲環境、タスクの状態のn点のサンプリングデータを入力とする。そして、LSTMでは、入力されたそれらの時系列的な関係性を考慮して、将来のt=t+n+1の手先位置、触覚値、周囲環境、タスクの状態を学習する。 As shown in Figure 5, LSTM is a supervised learning method that predicts future results from current and past sampling data. For example, LSTM takes n sampling data points of hand position, tactile values, surrounding environment, and task state from any time t = t to t = t + n as input. Then, LSTM takes into account the time-series relationships between the input data and learns the hand position, tactile values, surrounding environment, and task state for the future time t = t + n + 1.
学習器1は、LSTMによる機械学習によって生成された学習済モデルを用いた推論処理を実行する。学習器1は、制御対象ロボット301の動作データ、制御対象タスク302の状態及び制御対象エリア300内の環境の状態を制御動作センサ303が検出した値を入力とした推論処理により、次に制御対象ロボット301が行うべき動作データを出力する。
The
なお、LSTMに入力するデータは、ある1種類のデータでもよいし、手先位置と触覚値を組み合わせたようなデータでもよい。また、本実施形態においては、具体例としてLSTMを挙げたが、使用するアルゴリズムは時系列データの予測が可能であればNeural NetworkやRNN(Recurrent Neural Network)、Transformer等でもよい。 The data input to the LSTM may be one type of data, or may be a combination of hand position and tactile values. In this embodiment, the LSTM is given as a specific example, but the algorithm used may be a Neural Network, an RNN (Recurrent Neural Network), a Transformer, or the like, as long as it is capable of predicting time-series data.
<学習工程で実行される処理の流れ>
図6は、学習器1として機能するCPU701が初期収集データ401を用いて機械学習する際にロボット動作学習装置100において実行される処理の流れを示すフローチャートである。ロボット動作学習装置100では、まず、模倣対象動作主201が模倣対象タスク202を実行する(S1)。次に、ロボット動作学習装置100では、模倣対象動作主201の動作に伴う動作データや、模倣動作センサ203によって検出される模倣対象タスク202の状態及び模倣対象エリア200内の環境の状態が取得される(S2)。この処理において、CPU701は、模倣対象動作主201の動作に伴う動作データと、模倣動作センサ203により検出された模倣対象タスク202の状態及び模倣対象エリア200内の環境の状態と、を初期収集データ401としてHDD704に保存する。
<Flow of processing executed in the learning process>
6 is a flowchart showing a flow of processing executed in the robot
次に、CPU701は、機械学習において用いられる初期収集データ401が、十分なサンプル数となったか否かを判定する(S3)。この処理において、CPU701は、予め設定されたサンプル数の初期収集データ401が集まったか否かを判定する。CPU701は、初期収集データ401のサンプル数が予め設定されたサンプル数に満たないと判定した場合(No)、ステップS1に処理を戻し、予め設定されたサンプル数に達するまでステップS1~S3の処理を繰り返す。ここで、予め設定されるサンプル数は、例えば、20~100サンプルとなっているが、上述したように、1サンプルでもよく、具体的な明確な基準は設けられていない。
Next, the
ステップS3の処理において、初期収集データ401のサンプル数が予め設定されたサンプル数に達したと判定した場合(Yes)、CPU701は、機械学習を実行し、学習済モデル706を生成する(S4)。この処理において、CPU701は、初期収集データ401を入力とするLSTMによる機械学習を行い、学習済モデル706を取得する。これにより、CPU701は、学習済モデル706を用いた推論処理により出力される各時点における動作データを用いて制御対象ロボット301を動作可能となる。
If it is determined in the processing of step S3 that the number of samples of the initially collected
ステップS1~S4の処理が、制御対象ロボット301の動作環境とは異なる環境で模倣対象動作主201を動作させて初期収集データ401を取得し、初期収集データ401を用いた機械学習により学習済モデル706を取得する処理を構成する。
The processing of steps S1 to S4 constitutes a process of operating the subject 201 to be imitated in an environment different from the operating environment of the
<判定部>
次に、判定部2による判定の詳細について説明する。ロボット動作学習装置100では、制御対象ロボット301の規定ステップ数分の動作が完了した後、制御対象ロボット301の動作データ、制御対象エリア300内の環境、制御対象タスク302の状態、のうち1つ又は複数が判定部2に入力される。判定部2は、入力された各種データを用いて、制御対象ロボット301が制御対象タスク302に成功したかどうかを判定する。
<Determination section>
Next, a detailed description will be given of the determination by the
判定方法の具体例として、図7に示すような制御対象ロボット301がワークを把持してゴール地点まで運んで設置するピックアンドプレースタスクが制御対象タスク302である場合を例に説明する。図7に示す例では、制御対象ロボット301のロボットハンド301aがスタート地点に設置されたワーク501を把持し、ゴール地点502に任意の経路で運搬し設置するタスクとなっている。
As a specific example of the determination method, a pick-and-place task in which the controlled
ゴール地点502は、制御動作センサ303の一例である重量計503の上に設定されており、制御対象ロボット301がワーク501を正しく運搬、設置した場合、ワーク501の重量が重量計503によって計測される。そのため、ユーザーは、重量計503の計測値に実際の制御環境に即した閾値を設け、閾値以上の重量が検出された場合に制御対象タスク302に成功したと判定するように設定を行うことができる。換言すると、判定部2は、重量計503の計測値に実際の制御環境に即した閾値がユーザーによって設定されることで、閾値以上の重量が検出された場合に制御対象タスク302が成功したと判定する。
The
このように、判定部2は、制御対象エリア300の環境に基づく閾値を用いて成否の判定を行う。これにより、ロボット動作学習装置100は、制御対象ロボット301の動作の結果と閾値との比較といった簡易な処理によって成否の判定を行うことができ、判定部2による判定における処理の負荷を軽減できる。
In this way, the
次に、判定方法の具体例として、図8に示すような制御対象ロボット301がケーブルを引き回す制御対象タスク302であり、機械学習を用いて制御対象タスク302の成否を判定する場合を例に説明する。図8に示す例では、制御対象ロボット301がワーク512に対して、スタート地点513から中継地点514,515の外周を経由してゴール地点516にケーブル511の先端を差し込むルートでケーブル511を引き回すタスクとなっている。
Next, as a specific example of the judgment method, a case will be described in which the controlled
このため、図8に示す例では、ケーブル511がゴール地点516に差し込まれていたとしても、中継地点514、515の内周をケーブル511が通っていた場合、制御対象タスク302は成功とはならない。このようなタスクの成否を判定する方法として、ケーブル511の引き回し動作完了後のワーク512とケーブル511の相対的な位置関係をその外観から判定する方法があげられ、判定部2に機械学習を用いることで判定を自動化できる。
For this reason, in the example shown in FIG. 8, even if
図9は、判定部2に機械学習を用いて判定を自動化する場合について説明する図である。図9に示す例において、判定部2は、例えばVAE(Varietional Auto Encoder)のような機械学習によって構成される。VAEは、未知のデータが入力された場合、そのデータをもとの状態で出力することができないという性質をもっている。
Figure 9 is a diagram for explaining a case where the judgment is automated using machine learning in the
図9に示すように、VAEは、学習時において、制御対象タスク302と同一の内容の模倣対象タスク202を終了した後のワーク512及びケーブル511の外観画像のうち、成功したもののみを入力とし、入力と同じデータを出力するように学習を行う。これによって、アルゴリズムの内部で、タスク成功時の外観画像の潜在的特徴が抽出される。なお、入力されるデータは、画像データに限定されず、模倣対象タスク202を実行中の模倣対象動作主201の動作データ、模倣動作センサ203によって検出される模倣対象エリア200内の環境の情報等が入力されてもよい。
As shown in FIG. 9, during learning, the VAE inputs only successful external images of the
判定部2は、VAEによって制御対象タスク302の成否を判定する際に、制御対象ロボット301が動作を完了した後の制御対象タスク302の外観画像を入力する。模倣対象タスク202に成功した際のデータのみを入力としてVAEを学習していることから、VAEは、制御対象タスク302に成功した際の外観画像を入力すると、入力された外観画像を内部で圧縮したのちに元の状態に復元することができる。一方、VAEは、制御対象タスク302に失敗した際の外観画像を入力すると、圧縮したのちに元が状態へ復元することができない。
When the VAE determines whether the controlled
このため、判定部2は、VAEの入力画像と出力画像の差分を異常度とし、異状度の閾値を設定することで、制御対象ロボット301の動作の成否を判定することができる。なお、判定部2は、VAEを画像以外のデータを用いて学習した場合、判定時にも学習に用いたデータと同様のデータを入力することで異常度を算出することができる。また、本実施形態においては、具体例としてVAEを挙げたが、使用するアルゴリズムは成功例のデータのみを学習する教師なし学習が可能であればよく、GAN(Generative Adversarial Network)等でもよい。
Therefore, the
<制御対象物の運転工程>
次に、制御対象ロボット301の動作の判定について説明する。ロボット動作学習装置100では、制御対象ロボット301の規定ステップ数の動作を完了した後に、制御対象ロボット301の動作データ、制御対象エリア300内の環境、制御対象タスク302の状態、のうち1つ又は複数を判定部2が入力される。
<Operation process of the controlled object>
Next, a description will be given of the judgment of the motion of the
判定部2に入力される制御対象ロボット301の動作データ、制御対象エリア300内の環境、制御対象タスク302の状態、といったサンプリングデータは、予め入力されるように設定されたデータである必要がある。例えば、動作完了後のある一時刻の模倣対象タスク202の画像のみから動作の成否を判定するように設定している場合には、制御対象ロボット301が動作した後のある一時刻の制御対象タスク302の画像のみを判定部2に入力する。
Sampling data such as the operation data of the controlled
判定部2は、入力されたデータが予め設定された条件を満足しているかどうかを求め、入力されたデータが該条件を満たしていた場合、動作に成功したと判定する。動作に成功したと判定した場合、判定部2は、判定に際し入力された動作データと制御動作センサ303が検出した値とを記録装置400に成功データ402として保存する保存処理を行う。換言すると、判定部2は、動作に成功したと判定した場合、推論処理で出力された動作データと、該動作データにより制御対象ロボット301が動作した際に制御動作センサ303が検出した値と、を成功データ402として記録装置400に保存する。
The
一方、動作が失敗したと判定した場合、判定部2は、判定に際し入力された動作データと制御動作センサ303が検出した値とを記録装置400に保存せずに破棄する。これにより、ロボット動作学習装置100では、動作が失敗した際に入力された動作データや制御動作センサ303が検出した値を破棄することで、記録装置400の保存容量の制約を軽減することができる。
On the other hand, if it is determined that the movement has failed, the
動作及び判定処理が終了した後、ロボット動作学習装置100は、学習器1の再学習処理を行うために後述する再学習工程に移行してもよいし、再学習処理を行うことなく制御対象物を動作させる運転工程を繰り返してもよい。
After the operation and judgment process is completed, the robot
<表示部>
制御対象ロボット301の動作の判定条件の設定や判定結果の確認は、図10に示されるGUI(Graphical User Interface)600を用いて行うことができる。GUI600は、ディスプレイ707に表示される。
<Display section>
The setting of judgment conditions for the operation of the
制御対象ロボット301の動作の判定条件の設定や判定結果の確認を行う場合、GUI600には、判定表示画面600aが表示されている。判定表示画面600aには、実行ID表示ボックス601、成否判定ボックス602、入力画像表示ボックス603、判定結果画像表示ボックス604、パラメータモニタ605、設定ウィンドウ607が表示される。また、判定表示画面600aには、詳細設定ボタン612、設定項目追加ボタン613、設定項目リセットボタン614が表示される。
When setting judgment conditions for the operation of the controlled
設定ウィンドウ607には、判定の条件がリスト化されて表示される条件リスト608が表示されている。条件リスト608には、条件の内容を確認するためのラベルを設定する条件ラベル設定ボックス609と、閾値を設定する閾値設定ボックス610と、閾値に対する満たすべき大小関係を示す大小関係設定ボックス611と、が表示されている。 The setting window 607 displays a condition list 608 that displays a list of judgment conditions. The condition list 608 displays a condition label setting box 609 for setting a label to confirm the contents of the condition, a threshold setting box 610 for setting a threshold, and a magnitude relationship setting box 611 that indicates the magnitude relationship that must be satisfied with respect to the threshold.
設定項目を追加したい場合には、設定項目追加ボタン613を選択することで条件を追加することができる。各条件に紐づいた条件消去ボタン615を選択することで、該当する条件を消去することができる。また、設定項目リセットボタン614を選択することで、すべての条件を消去することができる。 If you want to add a setting item, you can add a condition by selecting the add setting item button 613. You can delete the corresponding condition by selecting the delete condition button 615 linked to each condition. Also, you can delete all conditions by selecting the reset setting item button 614.
ユーザーは、キーボード708、マウス709を操作し、設定ウィンドウ607に表示されている各ボックスに任意の値を入力し、条件設定を行うことができる。複数の条件を設定した場合、最終的な成否判定は全条件の論理積によって決定される。また、詳細設定ボタン612を操作することによって表示される詳細設定ウィンドウ620(図11参照)によって、複数の条件が満たすべき論理式をユーザーが独自に設定することもできる。
The user can operate the
図11に示すように、詳細設定ウィンドウ620には、設定ウィンドウ607と同じ条件が記入された条件リスト623が表示されている。また、詳細設定ウィンドウ620には、論理式設定ボックス621、項番号設定ボックス622、完了ボタン624、設定項目追加ボタン625、設定項目リセットボタン626及び条件消去ボタン627が表示されている。なお、設定項目追加ボタン625は、設定項目追加ボタン613と同じ機能を有し、設定項目リセットボタン626は、設定項目リセットボタン614と同じ機能を有し、条件消去ボタン627は、条件消去ボタン615と同じ機能を有している。
As shown in FIG. 11, the
条件リスト623は、詳細設定ボタン612が選択されたタイミングの設定ウィンドウ607の条件リスト608と同期されている。ユーザーは、設定項目追加ボタン625、設定項目リセットボタン626、条件消去ボタン627で条件を増減しながら条件リスト623を編集することで任意の条件を設定することができる。
The
また、ユーザーは、項番号設定ボックス622に任意の項番号を設定し、論理式設定ボックス621で各条件が満たすべき論理式を入力することで、複数の条件の関係性を詳細に設定することができる。
The user can also set the detailed relationships between multiple conditions by setting an arbitrary term number in the term
条件設定の完了後、完了ボタン624を選択することで、設定ウィンドウ607に表示されていた条件リスト608が条件リスト623と同期され、詳細設定ウィンドウの表示が終了され、判定表示画面600aが表示される。
After completing the condition settings, by selecting the done
実行ID表示ボックス601には、設定が完了した後に制御対象ロボット301の運転が開始されることで、運転の回数ごとに自動的に割り振られた実行IDが表示される。実行ID表示ボックス601に表示される実行IDを確認することで、ユーザーは、現在の運転が何回目のものなのか識別することができる。ここで、運転とは、制御対象ロボット301の動作によって制御対象タスク302が開始及び終了されるまでの一連の動作であり、1回の運転によって1回の制御対象タスク302が終了される。
When the operation of the controlled
パラメータモニタ605には、設定した条件に対し、制御対象ロボット301の運転の結果から取得されるデータ(パラメータ)が、パラメータリスト606に表示される。パラメータリスト606においては、条件を満たしたデータを表示するボックスが点灯表示され、条件を満たしていないデータを表示するボックスが消灯表示される。
In the parameter monitor 605, data (parameters) obtained from the results of the operation of the controlled
成否判定ボックス602には、判定部2による総合的な成否の判定の結果が表示される。成否判定ボックス602は、初期状態では消灯表示されており、制御対象ロボット301が動作に失敗したと判定された場合に、判定の結果が失敗であることを示す「判定NG」の文字が点灯表示される。一方、成否判定ボックス602は、制御対象ロボット301が動作に成功したと判定された場合に、消灯表示が維持される。
The success/failure judgment box 602 displays the overall success/failure judgment result by the
入力画像表示ボックス603は、判定部2への入力として画像を用いる場合に、入力画像が表示される。また、判定部2への入力として画像を用い、判定結果を画像として得られる場合には、判定結果画像表示ボックス604に判定結果の画像を表示することができる。判定結果画像表示ボックス604に表示される画像は、判定結果が失敗であった場合、失敗した箇所が着色されて強調されるヒートマップで表示される。
When an image is used as input to the
<制御対象物の運転工程で実行される処理の流れ>
図12は、制御対象エリア300において制御対象ロボット301が運転する場合に実行される処理の流れを示すフローチャートである。
<Flow of processing executed in the operation process of the controlled object>
FIG. 12 is a flowchart showing the flow of processing executed when the controlled
ロボット動作学習装置100では、まず、判定部2として機能するCPU701が成否の判定をするための条件がGUI600を用いて設定される(S11)。この処理において、CPU701は、GUI600と、キーボード708及びマウス709の入力部と、を用いたユーザーによる操作により、制御対象ロボット301が動作して実行された制御対象タスク302の成否の判定を行う条件が設定される。
In the robot
次に、CPU701は、制御対象ロボット301の現在の状態を制御動作センサ303によって検出する(S12)。次に、CPU701は、ステップS12の処理で取得したデータを学習器1に入力し、学習器1の学習済モデル706を用いた推論処理により出力された各種データに従って制御対象ロボット301を動作させる(S13)。この処理において、CPU701は、上述した推論処理によって出力される制御対象ロボット301の動作データや、制御対象エリア300内の環境、制御対象タスク302の状態、に基づき制御対象ロボット301を動作させる。ステップS12,S13の処理が、学習済モデル706を用いて、制御対象ロボット301を制御対象エリア300内の環境で動作させるための動作データを取得する処理を構成する。
Next, the
次に、CPU701は、制御対象タスク302が完了したか否かを判定する(S14)。この処理において、制御対象タスク302が完了していないと判定した場合(No)、CPU701は、ステップS12に処理を戻し、制御対象タスク302が完了するまで、ステップS12~S14の処理を繰り返す。一方、制御対象タスク302が完了したと判定した場合(Yes)、CPU701は、ステップS15に処理を進める。
Next, the
ステップS15の処理において、CPU701は、制御対象タスク302の成否の判定と、判定した結果の表示と、を行う(S15)。この処理において、CPU701は、ステップS11の処理で設定した判定の条件を用い、入力される条件に対応するデータが、条件を満足しているかどうかを求める。また、CPU701は、判定した結果をディスプレイ707のGUI600に表示する処理を行う。
In the process of step S15, the
判定条件と判定の結果とがGUI600に表示されることで、ロボット動作学習装置100は、制御対象ロボット301の動作の結果が適切に判定されたか否かと、結果の成否と、をユーザーに容易に確認させることができる。ステップS11,S15の処理が、判定処理の判定条件と、判定した結果と、をディスプレイ707に表示する処理を構成する。
By displaying the judgment conditions and the judgment results on the GUI 600, the robot
次に、CPU701は、制御対象タスク302が成功したか否かを判定する(S16)。この処理において、CPU701は、ステップS15の処理において制御対象タスク302が成功したと判定したか否かを判定しており、制御対象タスク302が成功したと判定されていた場合(Yes)、ステップS18に処理を進める。一方、制御対象タスク302が失敗したと判定していた場合(No)、CPU701は、ステップS17に処理を進める。ステップS15,S16の処理が、動作データを用いて制御対象ロボット301を制御対象エリア300の環境で動作させ、結果を判定する判定処理を構成する。
Next, the
ステップS17の処理において、CPU701は、今回の制御対象タスク302の実行に際し学習済モデル706から推論処理を行い出力した各種データを破棄し(S17)、ステップS12に処理を戻す。
In the processing of step S17, the
ステップS18の処理において、CPU701は、今回の制御対象タスク302の実行に際し学習済モデル706から推論処理を行い出力された各種データを成功データ402として記録装置400に保存する(S18)。この、ステップS18の処理が、判定処理において結果が成功と判定された動作についての成功データ402を取得する保存処理を構成する。
In the process of step S18, the
次に、CPU701は、記録装置400に保存した成功データ402のサンプル数が予め設定されたサンプル数に達したか否かを判定する(S19)。この処理において、予め設定されたサンプル数に達したと判定した場合(Yes)、CPU701は、制御対象ロボット301の運転を終了する。一方、予め設定されたサンプル数に達していないと判定した場合(No)、CPU701は、ステップS12に処理を戻す。
Next, the
これにより、ロボット動作学習装置100では、記録装置400に保存された成功データ402のサンプル数が予め設定されたサンプル数に達するまで、ステップS12~S19の処理が繰り返される。
As a result, in the robot
<再学習工程>
次に、判定部2に動作に成功したと判定された成功データ402を用いて学習器1で再学習する。再学習において、学習器1は、記録装置400に保存されている成功データ402のサンプル数に応じて、記録装置400に保存されている初期収集データ401と、成功データ402と、のうち、再学習に用いるデータを決定する。
<Relearning process>
Next, re-learning is performed by the
<再学習工程で実行される処理の流れ>
図13は、学習器1として機能するCPU701が成功データ402を用いた学習済モデル706の再学習を行う場合に実行される再学習処理の流れを示すフローチャートである。CPU701は、まず、十分なサンプル数の成功データ402が取得できているか否かを判定する(S31)。この処理において、CPU701は、記録装置400に保存されている成功データ402のサンプル数が十分なサンプル数であるか否かを判定する。ここで、十分なサンプル数とは、例えば、学習工程において収集された初期収集データ401と同数のサンプル数である。
<Flow of processing executed in the re-learning process>
13 is a flowchart showing the flow of a re-learning process executed when the
ステップS31の処理において、成功データ402のサンプル数が十分なサンプル数であると判定した場合(Yes)、CPU701は、記録装置400に保存されている成功データ402を用いた機械学習による再学習を行う(S32)。この処理において、CPU701は、記録装置400に記憶されている成功データ402を用い、初期収集データ401については用いずに機械学習を行う。CPU701は、ステップS32の処理において、学習工程で行った機械学習と同じアルゴリズムを用いた機械学習を行い、学習済モデル706を取得して再学習処理を終了する。
If it is determined in the process of step S31 that the number of samples of the
このように、CPU701は、成功データ402のサンプル数が所定のサンプル数として初期収集データ401の総サンプル数以上のサンプル数以上である際に、所定のサンプル数以上の成功データ402を学習データとして用いて再学習を行う。ロボット動作学習装置100は、制御対象ロボット301の動作から得られた成功データ402のみを用いて再学習した学習済モデル706を取得する。そして、ロボット動作学習装置100は、再学習により取得した学習済モデル706を用いることで制御対象ロボット301の制御の精度を向上させることができる。
In this way, when the number of samples of the
ステップS31の処理において、成功データ402のサンプル数が十分なサンプル数ではないと判定した場合(No)、CPU701は、取得できている成功データ402のサンプル数が初期収集データ401のサンプル数の半分以上か否かを判定する(S33)。この処理において、CPU701は、記録装置400に保存されている成功データ402のサンプル数が、学習工程において取得した初期収集データ401のサンプル数の半分以上であるか否かを判定する。なお、半分という量は、絶対的なものではなく成功データ402のすべてと初期収集データ401の一部とを合計したサンプル数が学習に十分な量に達して入ればユーザーの任意の数でよい。
If it is determined in the process of step S31 that the number of samples of
ステップS33の処理において、成功データ402のサンプル数が初期収集データ401のサンプル数の半分以上であると判定した場合(Yes)、CPU701は、ステップS34に処理を進める。一方、成功データ402のサンプル数が初期収集データ401のサンプル数の半分未満であると判定した場合(No)、CPU701は、ステップS35に処理を進める。
If it is determined in the process of step S33 that the number of samples of the
ステップS34の処理において、CPU701は、記録装置400に保存されている成功データ402のすべてと、成功データ402と同じサンプル数の初期収集データ401と、を用いた機械学習による再学習を行う(S34)。この処理において、CPU701は、記録装置400に記憶されている成功データ402と、成功データ402と同じサンプル数の初期収集データ401と、を用いて機械学習を行い、学習済モデル706を取得して再学習処理を終了する。
In the process of step S34, the
ステップS34の処理を実行することにより、ロボット動作学習装置100では、再学習で用いられるデータサンプル内の相対的なデータ差異が減少する。これにより、ロボット動作学習装置100は、再学習を行った学習済モデル706から推論処理を行い出力された各種データを用いて制御対象ロボット301を動作させた際における制御対象タスク302の成功率が向上することが期待できる。
By executing the process of step S34, the robot
ステップS35の処理において、CPU701は、記録装置400に保存されている成功データ402のすべてと、記録装置400に保存されている初期収集データ401のすべてと、を用いた機械学習による再学習を行う(S35)。この処理において、CPU701は、記録装置400に記憶されているすべての成功データ402及び初期収集データ401と、を用いて機械学習を行い、学習済モデル706を取得して再学習処理を終了する。
In the process of step S35, the
ステップS35の処理を実行することにより、ロボット動作学習装置100では、再学習で用いられるデータサンプルの数が初期収集データ401のみで学習した際よりも多くなる。これにより、ロボット動作学習装置100は、再学習を行った学習済モデル706の汎化性能の向上を期待できる。
By executing the process of step S35, the number of data samples used in re-learning in the robot
この、ステップS31~S35の処理が、成功データ402を用いた機械学習により学習済モデル706を学習させる学習処理を構成する。
The processing of steps S31 to S35 constitutes a learning process in which the trained
<本実施形態のまとめ>
以上のように、本実施形態のロボット動作学習装置100は、制御対象エリア300とは異なる模倣対象エリア200において、制御対象ロボット301と対応する模倣対象動作主201を動作させ、初期収集データ401を取得する。ロボット動作学習装置100は、取得した初期収集データ401を教師データとして機械学習を行い、学習済モデル706を取得し、学習済モデル706を用いて制御対象エリア300の環境で制御対象ロボット301を動作させる動作データを取得する。ロボット動作学習装置100は、取得した動作データを用いて制御対象エリア300の環境で制御対象ロボット301を動作させた結果が成功と判定された動作についての成功データ402を取得する。そして、ロボット動作学習装置100は、取得した成功データ402を用いた機械学習により、学習済モデル706を再学習させる。
<Summary of this embodiment>
As described above, the robot
このような構成により、ロボット動作学習装置100は、制御対象タスク302を十分に高い成功率で達成することができる学習済モデル706を取得することができる。ロボット動作学習装置100は、模倣対象エリア200の環境から得た初期収集データ401を用いた学習済モデル706を、成功データ402を用いて再学習する。これにより、ロボット動作学習装置100は、学習済モデル706を用いた制御対象ロボット301の制御の精度を向上させることができる。
With this configuration, the robot
<変形例>
なお、本実施形態において、CPU701は、判定処理の結果成功と判定された成功データ402の保存に際し、初期収集データ401については特に処理を行わない構成となっているが、これに限定されない。CPU701は、成功データ402を記録装置400に保存する際に、成功データ402のサンプル数と対応するサンプル数の初期収集データ401を破棄するように構成されていてもよい。
<Modification>
In this embodiment, when saving the
このように構成されることで、ロボット動作学習装置100は、取得した成功データ402の追加に基づき初期収集データ401の少なくとも一部を破棄することで、記録装置400に保存するサンプルデータのデータ量が増大することを抑制することができる。
By configuring in this manner, the robot
また、本実施形態のCPU701は、成功データ402のサンプル数が初期収集データ401のサンプル数の半分未満であった場合、成功データ402のすべてと、初期収集データ401のすべてと、を用いて再学習する構成であるが、これに限定されない。CPU701は、例えば、成功データ402のすべてと、初期収集データ401の少なくとも一部と、を用いて再学習を行うように構成されていてもよい。具体的には、100サンプルの初期収集データ401と、20サンプルの成功データ402と、が記録装置400に保存されている場合に、20サンプルの成功データ402と、80サンプルの初期収集データ401と、を用いて再学習してもよい。
In addition, the
また、本実施形態において、ロボット動作学習装置100は、表示部としてのディスプレイ707と、入力部としてのキーボード708及びマウス709と、のそれぞれ別の構成を有しているが、これに限定されない。ロボット動作学習装置100は、表示部及び入力部が一体となったタッチパネルを有していてもよい。このように構成される場合、ロボット動作学習装置100は、タッチパネルに表示されるGUI600に配置された各種ボタンをユーザーが押下することで、押下したボタンに対応する各種設定や処理を行うことができる。
In addition, in this embodiment, the robot
また、本発明の情報処理方法や情報処理装置は、生産設備の他に、例えば産業用ロボット、サービス用ロボット、コンピュータによる数値制御で動作する加工機械、等の様々な機械や設備のソフト設計やプログラム作成に適用することが可能である。例えば、制御装置に設けられる記録装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作又はこれらの複合動作を自動的に行うことができる機械及び設備である。 The information processing method and information processing device of the present invention can be applied to software design and program creation for various machines and equipment, such as industrial robots, service robots, and processing machines that operate under computer numerical control, in addition to production equipment. For example, machines and equipment that can automatically perform movements such as stretching, bending, stretching, moving up and down, moving left and right, or rotating, or a combination of these movements, based on information from a recording device provided in the control device.
また、上述した情報処理方法を実行し、制御対象物として、ロボットマニピュレータを含むロボットシステムの制御方法も、本発明の実施形態に含まれる。また、上述した情報処理方法を実行して動作するロボットシステムを用いて物品を製造する物品の製造方法も、本発明の実施形態に含まれる。また、上述した情報処理を実行可能なプログラム及び当該プログラムを格納したコンピュータで読取可能な記録媒体も、本発明の実施形態に含まれる。 Furthermore, the present invention also includes a control method for a robot system that executes the above-mentioned information processing method and includes a robot manipulator as a controlled object.Furthermore, the present invention also includes a manufacturing method for an article using a robot system that operates by executing the above-mentioned information processing method.Furthermore, the present invention also includes a program that can execute the above-mentioned information processing and a computer-readable recording medium that stores the program.
また、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体(記憶媒体)を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 Also, the present invention can be realized by supplying a program that realizes one or more of the functions of the above-mentioned embodiments to a system or device via a network or a recording medium (storage medium), and having one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that realizes one or more of the functions.
また、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。例えば、上述した異なる実施形態及び又は変形例を組み合わせて実施しても構わない。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態及び又は変形例に記載されたものに限定されない。 The present invention is not limited to the embodiments described above, and many modifications are possible within the technical concept of the present invention. For example, the above-described different embodiments and/or modifications may be combined. The effects described in the embodiments are merely a list of the most favorable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments and/or modifications.
本実施形態の開示は、以下の構成を含む。 The disclosure of this embodiment includes the following configuration:
(方法1)
制御対象物の動作環境とは異なる環境で前記制御対象物に対応する物体を動作させて第1データを取得し、前記第1データを用いた機械学習により学習済モデルを取得する処理と、
前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、
前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、
前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、
ことを特徴とする情報処理方法。
(Method 1)
A process of acquiring first data by operating an object corresponding to a control object in an environment different from an operating environment of the control object, and acquiring a trained model by machine learning using the first data;
A process of acquiring second data for operating the control object in the operating environment using the trained model;
a determination process of operating the controlled object in the operating environment using the second data and determining a result;
acquiring third data about the operation determined to be successful in the determination process, and performing a learning process of learning the trained model by machine learning using the third data;
23. An information processing method comprising:
(方法2)
前記学習処理は、前記第3データと、前記第1データの少なくとも一部と、を用いた機械学習により前記学習済モデルの学習をさせる、
ことを特徴とする方法1に記載の情報処理方法。
(Method 2)
The learning process includes learning the learned model by machine learning using the third data and at least a portion of the first data.
2. The information processing method according to
(方法3)
前記学習処理は、取得した前記第3データの追加に基づき前記第1データの少なくとも一部を破棄する、
ことを特徴とする方法1又は2に記載の情報処理方法。
(Method 3)
the learning process discarding at least a portion of the first data based on the addition of the acquired third data;
3. The information processing method according to
(方法4)
前記学習処理は、前記第3データのサンプル数が所定のサンプル数以上である際に、前記所定のサンプル数以上の前記第3データを学習データとして用いて学習する、
ことを特徴とする方法1乃至3のいずれか1つに記載の情報処理方法。
(Method 4)
When a number of samples of the third data is equal to or greater than a predetermined number of samples, the learning process uses the third data equal to or greater than the predetermined number of samples as learning data.
4. The information processing method according to any one of
(方法5)
前記判定処理は、機械学習によって実行される、
ことを特徴とする方法1乃至4のいずれか1つに記載の情報処理方法。
(Method 5)
The determination process is performed by machine learning.
5. The information processing method according to any one of
(方法6)
前記判定処理は、前記動作環境に基づく閾値を用いて成否の判定を行う、
ことを特徴とする方法1乃至5のいずれか1つに記載の情報処理方法。
(Method 6)
The determination process determines whether the process is successful or not by using a threshold value based on the operating environment.
6. The information processing method according to any one of
(方法7)
前記判定処理の判定条件と、判定した結果と、を表示部に表示する処理を実行する、
ことを特徴とする方法1乃至6のいずれか1つに記載の情報処理方法。
(Method 7)
Execute a process of displaying the judgment conditions and the judgment results of the judgment process on a display unit.
7. The information processing method according to any one of
(方法8)
前記判定処理において動作させた結果が失敗と判定された前記第2データを破棄する処理を実行する、
ことを特徴とする方法1乃至7のいずれか1つに記載の情報処理方法。
(Method 8)
execute a process of discarding the second data, the second data being determined to have been operated unsuccessfully in the determination process;
8. The information processing method according to any one of
(方法9)
前記物体は、前記制御対象物の有する構成要素と対応する構成要素を有する、
ことを特徴とする方法1乃至8のいずれか1つに記載の情報処理方法。
(Method 9)
The object has a component corresponding to a component of the control target object.
9. The information processing method according to any one of
(構成10)
情報処理部を備える情報処理装置であって、
前記情報処理部が、
制御対象物の動作環境とは異なる環境で前記制御対象物に対応する物体を動作させて第1データを取得し、前記第1データを用いた機械学習により学習済モデルを取得する処理と、
前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、
前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、
前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、
ことを特徴とする情報処理装置。
(Configuration 10)
An information processing device including an information processing unit,
The information processing unit,
A process of acquiring first data by operating an object corresponding to a control object in an environment different from an operating environment of the control object, and acquiring a trained model by machine learning using the first data;
A process of acquiring second data for operating the control object in the operating environment using the trained model;
a determination process of operating the controlled object in the operating environment using the second data and determining a result;
acquiring third data about the operation determined to be successful in the determination process, and performing a learning process of learning the trained model by machine learning using the third data;
23. An information processing apparatus comprising:
(構成11)
構成10に記載の情報処理装置を備え、
前記制御対象物は、ロボットマニピュレータを含む、
ことを特徴とするロボットシステム。
(Configuration 11)
The information processing device according to configuration 10,
The control object includes a robot manipulator.
A robot system comprising:
(構成12)
前記ロボットマニピュレータは、少なくとも1つ以上の駆動部を有し、
前記情報処理装置は、前記駆動部を駆動させる指令値を前記第2データとして取得する、
ことを特徴とする構成11に記載のロボットシステム。
(Configuration 12)
The robot manipulator has at least one or more actuators,
The information processing device acquires, as the second data, a command value for driving the driving unit.
12. The robot system according to claim 11 .
(構成13)
前記ロボットマニピュレータは、少なくとも1つ以上のセンサを有し、
前記情報処理装置は、前記センサの検出した値を用いて前記判定処理の判定を行う、
ことを特徴とする構成11又は12に記載のロボットシステム。
(Configuration 13)
The robot manipulator has at least one sensor;
The information processing device performs a determination of the determination process using a value detected by the sensor.
13. The robot system according to configuration 11 or 12.
(方法14)
情報処理部が方法1乃至9のいずれか1つに記載の情報処理方法を実行し、
前記制御対象物は、ロボットマニピュレータを含む、
ことを特徴とするロボットシステムの制御方法。
(Method 14)
An information processing unit executes an information processing method according to any one of
The control object includes a robot manipulator.
A method for controlling a robot system comprising:
(方法15)
構成11乃至13のいずれか1つに記載のロボットシステムを用いて物品を製造する、
ことを特徴とする物品の製造方法。
(Method 15)
14. Manufacturing an article using the robot system according to any one of configurations 11 to 13.
A method for producing an article.
(構成16)
方法1乃至9のいずれか1つに記載した情報処理方法を、コンピュータが実行するためのプログラム。
(Configuration 16)
A program for causing a computer to execute the information processing method according to any one of
(構成17)
構成16に記載のプログラムを記憶したコンピュータにより読取可能な記録媒体。
(Configuration 17)
A computer-readable recording medium storing the program according to configuration 16.
201…物体(模倣対象動作主):301…制御対象物、ロボットマニピュレータ(制御対象ロボット):301a…構成要素(ロボットハンド):303…センサ(制御動作センサ):401…第1データ(初期収集データ):402…第3データ:700…情報処理装置:701…情報処理部(CPU):706…学習済モデル:707…表示部(ディスプレイ) 201...Object (subject to be imitated): 301...Control object, robot manipulator (robot to be controlled): 301a...Component (robot hand): 303...Sensor (control operation sensor): 401...First data (initial collected data): 402...Third data: 700...Information processing device: 701...Information processing unit (CPU): 706...Trained model: 707...Display unit (display)
Claims (17)
前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、
前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、
前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、
ことを特徴とする情報処理方法。 A process of acquiring first data by operating an object corresponding to a control object in an environment different from an operating environment of the control object, and acquiring a trained model by machine learning using the first data;
A process of acquiring second data for operating the control object in the operating environment using the trained model;
a determination process of operating the controlled object in the operating environment using the second data and determining a result;
acquiring third data about the operation determined to be successful in the determination process, and performing a learning process of learning the trained model by machine learning using the third data;
23. An information processing method comprising:
ことを特徴とする請求項1に記載の情報処理方法。 The learning process includes learning the learned model by machine learning using the third data and at least a portion of the first data.
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 the learning process discarding at least a portion of the first data based on the addition of the acquired third data;
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 When a number of samples of the third data is equal to or greater than a predetermined number of samples, the learning process uses the third data equal to or greater than the predetermined number of samples as learning data.
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 The determination process is performed by machine learning.
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 The determination process determines whether the process is successful or not by using a threshold value based on the operating environment.
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 Execute a process of displaying the judgment conditions and the judgment results of the judgment process on a display unit.
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 execute a process of discarding the second data, the second data being determined to have been operated unsuccessfully in the determination process;
2. The information processing method according to claim 1,
ことを特徴とする請求項1に記載の情報処理方法。 The object has a component corresponding to a component of the control target object.
2. The information processing method according to claim 1,
前記情報処理部が、
制御対象物の動作環境とは異なる環境で前記制御対象物に対応する物体を動作させて第1データを取得し、前記第1データを用いた機械学習により学習済モデルを取得する処理と、
前記学習済モデルを用いて、前記制御対象物を前記動作環境で動作させるための第2データを取得する処理と、
前記第2データを用いて前記制御対象物を前記動作環境で動作させ、結果を判定する判定処理と、
前記判定処理において結果が成功と判定された動作についての第3データを取得し、前記第3データを用いた機械学習により前記学習済モデルを学習させる学習処理と、を実行する、
ことを特徴とする情報処理装置。 An information processing device including an information processing unit,
The information processing unit,
A process of acquiring first data by operating an object corresponding to a control object in an environment different from an operating environment of the control object, and acquiring a trained model by machine learning using the first data;
A process of acquiring second data for operating the control object in the operating environment using the trained model;
a determination process of operating the controlled object in the operating environment using the second data and determining a result;
acquiring third data about the operation determined to be successful in the determination process, and performing a learning process of learning the trained model by machine learning using the third data;
23. An information processing apparatus comprising:
前記制御対象物は、ロボットマニピュレータを含む、
ことを特徴とするロボットシステム。 The information processing device according to claim 10,
The control object includes a robot manipulator.
A robot system comprising:
前記情報処理装置は、前記駆動部を駆動させる指令値を前記第2データとして取得する、
ことを特徴とする請求項11に記載のロボットシステム。 The robot manipulator has at least one or more actuators,
The information processing device acquires, as the second data, a command value for driving the driving unit.
The robot system according to claim 11 .
前記情報処理装置は、前記センサの検出した値を用いて前記判定処理の判定を行う、
ことを特徴とする請求項11に記載のロボットシステム。 The robot manipulator has at least one sensor;
The information processing device performs a determination of the determination process using a value detected by the sensor.
The robot system according to claim 11 .
前記制御対象物は、ロボットマニピュレータを含む、
ことを特徴とするロボットシステムの制御方法。 An information processing unit executes the information processing method according to any one of claims 1 to 9,
The control object includes a robot manipulator.
A method for controlling a robot system comprising:
ことを特徴とする物品の製造方法。 Manufacturing an article using the robot system according to claim 11.
A method for producing an article.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023004946A JP2024101163A (en) | 2023-01-17 | 2023-01-17 | Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023004946A JP2024101163A (en) | 2023-01-17 | 2023-01-17 | Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024101163A true JP2024101163A (en) | 2024-07-29 |
Family
ID=91967414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023004946A Pending JP2024101163A (en) | 2023-01-17 | 2023-01-17 | Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024101163A (en) |
-
2023
- 2023-01-17 JP JP2023004946A patent/JP2024101163A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11701772B2 (en) | Operation prediction system and operation prediction method | |
JP6693938B2 (en) | Appearance inspection device | |
JP5361756B2 (en) | Robot with automatic selection of task-specific expressions for imitation learning | |
JP6811465B2 (en) | Learning device, learning method, learning program, automatic control device, automatic control method and automatic control program | |
CN108873768A (en) | Task execution system and method, learning device and method and recording medium | |
US20180354127A1 (en) | Operation information generating apparatus | |
US12036675B2 (en) | Robot control device, robot system, and robot control method | |
JP6680750B2 (en) | Control device and machine learning device | |
EP4082726A1 (en) | Training data selection device, robot system, and training data selection method | |
US11138805B2 (en) | Quantitative quality assurance for mixed reality | |
CN114730407A (en) | Modeling human behavior in a work environment using neural networks | |
JP6689239B2 (en) | Detection system and detection method | |
JP2024101163A (en) | Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium | |
JP7564351B2 (en) | Machine learning device, classification device, and control device | |
Thompson et al. | Identification of unknown object properties based on tactile motion sequence using 2-finger gripper robot | |
EP4401014A1 (en) | Method for constructing trained model | |
JP2024101164A (en) | Information processing method, information processing device, robot system, control method of robot system, article manufacturing method, program, and recording medium | |
JP7387025B2 (en) | Work procedure update device, work procedure update method and program | |
JP7148938B2 (en) | State determination system, state determination method, and state determination program | |
WO2023162164A1 (en) | Teaching support device, work system, teaching support method, and teaching support program | |
JP6881557B1 (en) | Production system, production method, and program | |
EP4431252A1 (en) | Robot control device, robot system, and robot control method | |
WO2023067972A1 (en) | Motion command generation device and motion command generation method | |
JP2024028024A (en) | Reinforcement learning aid apparatus, reinforcement learning aid system, and reinforcement learning aid method | |
Vadivel et al. | COMPREHENSIVE SURVEY OF THE LITERATURE ON AUGMENTED REALITY IN SMART MANUFACTURING: COMBINING COMPUTATIONAL AND HUMAN INTELLIGENCE |