IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーウェーブの特許一覧

特開2022-160168機械学習装置、機械学習方法、ロボットの制御装置
<>
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図1
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図2
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図3
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図4
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図5
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図6
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図7
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図8
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図9
  • 特開-機械学習装置、機械学習方法、ロボットの制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022160168
(43)【公開日】2022-10-19
(54)【発明の名称】機械学習装置、機械学習方法、ロボットの制御装置
(51)【国際特許分類】
   B25J 9/16 20060101AFI20221012BHJP
【FI】
B25J9/16
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021064749
(22)【出願日】2021-04-06
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】小畠 聖平
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS08
3C707BS12
3C707DS01
3C707ES03
3C707ET08
3C707KS03
3C707KS04
3C707KS20
3C707KS31
3C707KS33
3C707KT01
3C707KT06
3C707LV17
3C707LW03
3C707LW12
3C707NS17
(57)【要約】
【課題】ロボットを用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを学習する機械学習装置1、機械学習方法、ロボットの制御装置5を提供する。
【解決手段】実施形態の機械学習装置1は、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習するものであって、配設を開始する前のワーク3に係る状態、および配設中におけるワーク3に係る状態を状態変数として取得する取得部11と、取得部11で取得した状態変数に基づいてワーク3を配設するためのアルゴリズムを機械学習する学習部10とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習する機械学習装置であって、
配設を開始する前の前記ワークに係る状態、および配設中における前記ワークに係る状態を状態変数として取得する取得部と、
前記取得部で取得した前記状態変数に基づいて前記ワークを配設するためのアルゴリズムを機械学習する学習部と、
を備える機械学習装置。
【請求項2】
前記ワークを所定の状態に配設するための複数の訓練データが予め記憶されている記憶部を備え、
前記学習部は、前記記憶部に記憶されている前記訓練データを参照して前記状態変数を分類することによりアルゴリズムを機械学習する請求項1記載の機械学習装置。
【請求項3】
前記学習部は、前記ロボットを動作させた際に取得した前記状態変数に基づいて回帰的にアルゴリズムを機械学習する請求項1または2記載の機械学習装置。
【請求項4】
前記取得部は、前記ワークの位置、前記ワークを把持した際に当該ワークから加わる力、および前記ロボットの姿勢を少なくとも前記状態変数として取得する請求項1から3のいずれか一項記載の機械学習装置。
【請求項5】
ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習する機械学習方法であって、
配設を開始する前の前記ワークに係る状態、および配設中における前記ワークに係る状態を状態変数として取得する処理と、
前記取得部で取得した前記状態変数に基づいて前記ワークを配設するためのアルゴリズムを機械学習する処理と、を含む機械学習方法。
【請求項6】
配設を開始する前の柔軟なワイヤ状のワークに係る状態、および配設中における前記ワークに係る状態を状態変数として取得する取得部と、前記取得部で取得した前記状態変数に基づいて前記ワークを配設するためのアルゴリズムを機械学習する学習部とを有する機械学習装置で学習したアルゴリズムに基づいて、前記ロボットの動作を制御する制御部を備えるロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習する機械学習装置、機械学習方法、ロボットの制御装置に関する。
【背景技術】
【0002】
従来、ロボットを用いてワイヤーハーネスの組み付けを自動化することが行われている。そして、例えば特許文献1では、コネクタに工夫を施すことによってロボットによる組付けを可能にしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-95969号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ロボットを用いて自動化する場合には、別の問題が発生するおそれがある。すなわち、柔軟なワイヤ状のワークを所定の状態に配設する場合には、ワークの全体的な形状がワークごとに異なることが想定される。例えば、ロボットが把持すべき位置がワークの載置状態によって異なったり、ワークのねじれによって向きが異なっていたりすることが考えられる。
【0005】
また、ワークの全体的な形状が異なっている場合には、配設するために移動させる際の向きや加える力がワークごとに異なる可能性、つまりは、予めプログラムした動作では対応できない可能性がある。そして、想定される全ての形状に対応できるような動作を予めプログラムしたり教示したりすることは現実的ではない。
【0006】
本発明は、上記実情に鑑みてなされたものであり、その目的は、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを学習する機械学習装置、機械学習方法、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0007】
請求項1に記載した発明では、機械学習装置は、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習するものであって、配設を開始する前のワークに係る状態、および配設中におけるワークに係る状態を状態変数として取得する取得部と、取得部で取得した状態変数に基づいてワークを配設するためのアルゴリズムを機械学習する学習部とを備える。
【0008】
これにより、機械学習装置は、柔軟なワイヤ状のワークを所定の状態に配設する場合においてワークの全体的な形状つまりはワークが配置されている態様がワークごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習することができる。
【0009】
請求項2に記載した発明では、機械学習装置は、ワークを所定の状態に配設するための複数の訓練データが予め記憶されている記憶部を備えており、記憶部に記憶されている訓練データを参照して状態変数を分類することによりアルゴリズムを機械学習する。つまり、機械学習装置は、ワークを正しく配設するために予め準備された訓練データに基づいて、実際にワークを正しく配設できるアルゴリズムを機械学習する。これにより、配設が困難な条件が排除された状態でロボットを動作させることができ、ワークを正しく配設することができる。
【0010】
請求項3に記載した発明では、機械学習装置は、ロボットを動作させた際に取得した状態変数に基づいて回帰的にアルゴリズムを機械学習する。これにより、ユーザの負担を軽減した状態でアルゴリズムを機械学習することができる。また、実際にワークを配設する作業を行う際にも状態変数を取得して機械学習することにより、より正しい動作を機械学習することができる。
【0011】
請求項4に記載した発明では、機械学習装置は、ワークを所定の状態に配設するための複数の訓練データが予め記憶されている記憶部を備えており、記憶部に記憶されている訓練データを参照して状態変数を分類することによりアルゴリズムを機械学習する。つまり、機械学習装置は、ワークを正しく配設するために予め準備された訓練データに基づいて、実際にワークを正しく配設できるアルゴリズムを機械学習する。
【0012】
このとき、機械学習装置は、ワークの位置、ワークを把持した際に当該ワークから加わる力、およびロボットの姿勢を少なくとも状態変数として取得する。これらのデータを状態変数として取得することにより、ワークを把持することから所定の状態に配設するまでに満たすべき条件、換言すると、正しく配設するための条件を取得でき、それに基づいてアルゴリズムを機械学習することにより、ロボット2に適切な動作をさせることができる。
【0013】
請求項5に記載した発明では、上記した機械学習装置が行う手法にて機械学習を行う。これにより、柔軟なワイヤ状のワークを所定の状態に配設する場合においてワークの全体的な形状つまりはワークが配置されている態様がワークごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設するためのアルゴリズムを機械学習することができる。
【0014】
請求項6に記載した発明では、ロボットの制御装置は、上記した機械学習装置で機械学習したアルゴリズムに基づいてロボットの動作を制御する制御部を備える。これにより、柔軟なワイヤ状のワークを所定の状態に配設する場合においてワークの全体的な形状つまりはワークが配置されている態様がワークごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボットを用いて柔軟なワイヤ状のワークを所定の状態に配設することができる。
【図面の簡単な説明】
【0015】
図1】第1実施形態による機械学習装置の構成例を模式的に示す図
図2】ハンドおよび接触センサの構成を模式的に示す図
図3】機械学習の処理の流れを示す図
図4】ワークの配設態様の例を模式的に示す図
図5】状態変数を取得する処理の流れを示す図
図6】訓練データ例を模式的に示す図その1
図7】訓練データ例を模式的に示す図その2
図8】他の機械学習の処理の流れを示す図
図9】第2実施形態による機械学習装置の構成例を模式的に示す図
図10】機械学習の処理の流れを示す図
【発明を実施するための形態】
【0016】
以下、複数の実施形態について図面を参照しながら説明する。ただし、各実施形態において実質的に共通する部位には同一符号を付すものとする。
【0017】
(第1実施形態)
以下、第1実施形態について説明する。図1に示すように、本実施形態の機械学習装置1は、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習するものである。以下、ロボット2の設置面に水平な向きを互いに直行するX方向およびY方向と称し、X方向およびY方向に垂直な向きをZ方向と称し、設置面に水平な面をXY平面とも称する。また、Z方向から視た状態を平面視と称し、XY平面に沿ってみた状態を側面視と称する。
【0018】
ロボット2は、設置面に設置されるベース2a、ベース2aに対して相対回転可能に設けられているショルダ2b、ショルダ2bに対して相対回転可能に設けられている下アーム2c、下アーム2cに対して相対回転可能に設けられている第1上アーム2d、第1上アーム2dに対して同軸で相対回転可能に設けられている第2上アーム2e、第2上アーム2eの先端に設けられているフランジ2fを有している。つまり、本実施形態では垂直多関節型のいわゆる6軸ロボットを採用している。ただし、いわゆる7軸ロボットや、水平多関節型のいわゆる4軸ロボットを採用することもできる。
【0019】
フランジ2fの先端には、ハンド4が取り付けられている。このハンド4は、図2に示すように、フランジ2fに取り付けられる固定部4aと、固定部4aに対して相対移動可能に設けられている2つの可動部4bとを有している。そして、ハンド4は、把持状態として示すように可動部4bが互いに近づく向きに移動することによって、例えば柔軟なケーブル3aとそのケーブル3aの先端に設けられているコネクタ3bとを有するワーク3の例えばコネクタ3bを把持することができる。この図2では、平面視におけるハンド4の仮想的な中心を仮想線(CLt)として示し、側面視におけるハンド4の仮想的な中心を仮想線(CLs)として示している。
【0020】
このロボット2は、ロボット2の姿勢を制御する制御部5aを備える制御装置5に接続されており、制御部5aから出力される制御指令に基づいてロボット2の各軸に設けられている図示しないモータが駆動されることにより、その姿勢が変化する。また、制御装置5は、ハンド4の開閉状態を制御するための制御指令も出力する。また、制御装置5は、ロボット2の姿勢やハンド4の開閉状態を機械学習装置1に出力可能に構成されている。また、制御装置5にはロボット2に動作を教示するため教示装置6が接続されている。
【0021】
機械学習装置1は、制御装置5に通信可能に接続されており、制御装置5に対してロボット2の動作を指示することにより、ロボット2を制御することができる。また、上記したように、制御装置5からロボット2の姿勢やハンド4の開閉状態を取得することができる。また、本実施形態では機械学習装置1には小型ロボット7およびその制御装置8が接続されており、小型ロボット7の動作に追従してロボット2を動作させることができる。つまり、小型ロボット7は、教示装置6の代わりに、あるいは、教示装置6と併用して、ロボット2を動作させるための入力装置として用いることができ、それらを含めた機械学習システムを構築することができる。
【0022】
この機械学習装置1は、学習部10、取得部11、記憶部12、提示出力部13等を備えている。また、機械学習装置1には、後述するようにアルゴリズムを修正する際に用いるディスプレイ等の表示部14、アルゴリズムを修正する操作を入力するキーボードやマウスなどの操作入力部15が接続されている。
【0023】
詳細は後述するが、学習部10は、取得部11で取得した状態変数に基づいてワーク3を配設するためのアルゴリズムを機械学習する。また、学習部10は、本実施形態では記憶部12に記憶されている訓練データを参照して状態変数を分類することによりアルゴリズムを機械学習する。
【0024】
取得部11は、カメラ入力部11a、センサ入力部11b、姿勢入力部11c、ハンド入力部11dを備えており、配設を開始する前のワーク3に係る状態、および配設中におけるワーク3に係る状態を状態変数として取得する。具体的には、カメラ入力部11aは、ワーク3およびワーク3を配設する際の作業領域を撮像可能に配置されているカメラ16に接続されており、カメラ16で撮像した画像または映像が入力される。このため、機械学習装置1は、ワーク3の向きや位置を、配設を開始する前のワーク3に係る状態、および、配設中におけるワーク3に係る状態を示す状態変数として取得することができる。
【0025】
センサ入力部11bは、図2に示すように、ロボット2のハンド4に取り付けられている接触センサ17の検出値が入力される。この接触センサ17は、平面状に形成されており、その平面内に複数の検出位置が設けられている。そのため、接触センサ17は、概ねその全体が検出範囲(R)となっており、ワーク3を把持した際には検出範囲(R)内におけるワーク3の位置、つまりは、ロボット2の制御座標におけるワーク3の位置を検出することができる。また、接触センサ17は、複数の検出位置が設けられていることにより、ワーク3を把持する力とともに、例えばワーク3を移動させた際における力の向きも検出可能となっている。
【0026】
姿勢入力部11cは、制御装置5から取得した現在のロボット2の姿勢に関するデータが入力される。ハンド入力部11dは、ハンド4の開閉状態が入力される。この開閉状態には、ハンド4の可動部4b間の距離も含まれる。
【0027】
このため、機械学習装置1は、姿勢入力部11cへの入力と、センサ入力部11bへの入力と、ハンド入力部11dへの入力とに基づいて、ロボット2がどのような姿勢でどのような力でワーク3を把持しているか、および、ロボット2を動作させた際にどのような力がワーク3に加わるかを示すデータを、配設する前および配設中におけるワーク3に係る状態を示す状態変数として取得することができる。
【0028】
記憶部12は、ワーク3を所定の状態に配設するための複数の訓練データを記憶している。この訓練データは、ワーク3を所定の位置に配設するための正しい動作を示すものである。本実施形態の場合、訓練データは、ある位置や向きのワーク3についてロボット2をマニュアル操作によりワーク3を正しく配設するように動作させ、その動作時に取得した状態変数群として記憶されている。
【0029】
つまり、本実施形態の機械学習装置1は、正しく配設するための訓練データを予め覚えさせたいわゆる教師ありの手法により、柔軟なワイヤ状のワーク3を配設するアルゴリズムを機械学習する。
【0030】
提示出力部13は、学習したアルゴリズムを例えば表示部14に表示することによりユーザに提示する。これにより、ユーザは、提示されたアルゴリズムを例えば動作中に取得した状態変数や配設後のワーク3の状態などに適宜修正することが可能となる。また、提示出力部13は、学習したアルゴリズムあるいは提示したアルゴリズムを制御装置5に対して出力可能になっている。そして、制御装置5は、出力されたアルゴリズムに基づいた制御指令を制御部5aからロボット2に対して出力することにより、機械学習装置1で学習したアルゴリズムに基づいてロボット2の動作を制御することができる。
【0031】
次に、上記した構成の作用について説明する。
前述のように、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設する場合には、ロボット2が作業する前の段階においてワーク3の全体的な形状、つまりは、ワーク3が配置されている態様がワーク3ごとに異なることが想定される。その場合、ロボット2が把持すべき位置がワーク3ごとに異なったり、ワーク3のねじれ等によって把持できない向きになっていたりすることが考えられる。
【0032】
また、ワーク3の全体的な形状が異なっている場合には、配設するために移動させる際の向きや加える力がワーク3ごとに異なる可能性、つまりは、予めプログラムした動作では対応できない可能性がある。そして、想定される全ての形状に対応できるような動作を予めプログラムしたり教示したりすることは現実的ではない。そこで、機械学習装置1は、図3および図5に示す処理を実行することにより、柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習する。
【0033】
機械学習装置1は、図3に一括訓練として示すように、ロボット2に対して動作をコーチングする(A1)。本実施形態の場合、動作のコーチングは、ユーザが手動でロボット2を動作させるマニュアル操作により行われている。具体的には、ユーザが小型ロボット7の姿勢を変化させると、その姿勢の変化を示すデータが機械学習装置1に入力され、入力されたデータに基づいて機械学習装置1から制御装置5に対して動作させるための指示が出力され、出力された指示に基づいて制御装置5からロボット2に対して小型ロボット7の姿勢の変化に追従させるための制御指令が出力される。
【0034】
例えば、図4に配設態様その1として示すように、ワーク3のコネクタ3bを対象物18に設けられている挿入孔18aに挿入する作業を想定する。このとき、ワーク3は、ケーブル3aがフック19に吊り下げられた状態で載置されているものとする。このとき、動作条件としては、コネクタ3bを把持し、挿入孔18aの上方の目標位置まで搬送した後、コネクタ3bから突出している端子3cを挿入孔18aに挿入するまでの一連の動作をコーチングする。
【0035】
コーチングを開始すると、機械学習装置1は状態変数を取得する(A2)。このとき、機械学習装置1は、図5に状態変数取得として示すように、ロボット2が動作を開始すると(B1)、各種のデータを取得する(B2)。このとき取得されるデータは状態変数に相当するものであり、図3に示すように例えばカメラ16で撮影した画像、ワーク3を把持した際の把持位置を示す座標、把持した際のロボット2の姿勢、把持した際の把持力などが含まれている。なお、図3では、ワーク3の位置つまりはハンド4の位置のX方向の座標(x0)、Y方向の座標(y0)、Z方向の座標(z0)、ロボット2の姿勢(S0)を、(x0,y0,z0,S0)として示している。
【0036】
そして、機械学習装置1は、動作が終了するまで(B3:NO)はデータの取得を繰り返す。このとき、機械学習装置1は、把持位置から目標位置まで搬送する際には、ワーク3の画像、ハンド4の位置の軌跡、接触センサ17で検出された力(F1a)の大きさと向き、把持力、およびロボット2の姿勢などを取得する。また、機械学習装置1は、コネクタ3bを挿入する際には、挿入時および挿入が完了した際にもワーク3の画像、ハンド4の位置、接触センサ17で検出された力(F2a)の大きさと向き、把持力、およびロボット2の姿勢を取得する。そして、機械学習装置1は、動作が終了すると(B2:YES)、リターンする。
【0037】
さて、本実施形態では上記したように、正しい動作を記憶して機械学習する教師ありの手法を用いている。その場合、複数パターンの正しい動作を記憶させる必要がある。そのため、機械学習装置1は、指定回数のコーチングが完了したか否かを判定し(A3)、指定回数のコーチングが終了していなければ(A3:NO)、ステップA1に移行して、配置態様が異なる他のパターンのコーチングを実施する。
【0038】
このとき、他のパターンとしては、図4の配設態様その2として示すように、ワーク3がねじれることによってコネクタ3bの向きが変わったり、フック19までの長さが異なっていたりするパターンが考えられる。なお、図4では2パターンの配置態様を例示しているが、実際にはより多くの例えば50パターンの配置態様でのコーチングが行われる。
【0039】
また、他のパターンも同様に、ワーク3の画像、ハンド4の位置、ロボット2の姿勢、把持時や搬送中における位置の変化や力(F1b)および姿勢、挿入時における位置の変化や力(F2b)などの状態変数が取得される。
【0040】
そして、機械学習装置1は、指定回数のコーチングが終了すると(A3:YES)、アルゴリズムを修正する(A4)。このアルゴリズムは、ワーク3を適切に配設するためのロボット2の動作を示している。機械学習装置1は、コーチング時に取得した状態変数に基づいて各パターンの配置態様におけるアルゴリズムを修正する。
【0041】
この修正は、ロボット2が姿勢を変化させる向きなどを修正して、サイクルタイムを向上させるために実施される。なお、ユーザにアルゴリズムを提示し、ユーザがアルゴリズムを修正する構成とすることもできる。また、アルゴリズムの修正が不要な場合ももちろん想定される。
【0042】
機械学習装置1は、指定回数の修正が終了したかを判定し(A5)、終了していなければ(A5:NO)、ステップA4に移行した他のパターンにおけるアルゴリズムを修正する一方、終了した場合には(A5:YES)、処理を終了する。
【0043】
これにより、図6等に示すようにワーク3を正しく配設することができる動作を示すデータ、つまりは、機械学習するための訓練データが収集される。なお、図6では説明を視覚的に分かりやすくするためにモデル化したものを模式的に示しているが、実際には数値データや画像データ等により訓練データが構成されている。
【0044】
例えば、図6に示すように、把持時の訓練データとしては、例えば平面視における仮想線(CLt)に対するコネクタ3bの向きの集合が考えられる。この訓練データは、上記したように正しい配設ができるものであり、仮想線(CLt)に対してコネクタ3bの長手方向が例えば-55°から50°の範囲で正しく把持できたことを示している。そのため、機械学習装置1は、作業中に取得したコネクタ3bの向きが例えば30°であった場合、その値を分類することにより、訓練データに一致するデータが無くても正しく把持できることを機械学習することができる。すなわち、ワーク3を把持するための把持条件を取得することができる。
【0045】
また、訓練データは、把持時の側面視におけるコネクタ3bの位置の集合が考えられる。例えば、検出範囲(R)においてコネクタ3bを把持した際に力が検出された検出範囲(Rd)とする。なお、図6では、Rd上端とR上端との距離をL1、Rd下端とR下端との距離をL2、Rd左端とR左端との距離をL3、Rd右端とR右端との距離をL4とした場合における各距離を(L1,L2,L3,L4)として示している。そして、機械学習装置1は、把持したコネクタ3bの位置を分類することにより、訓練データに一致するデータが無くても正しく把持できることを機械学習することができる。すなわち、ワーク3を把持するための把持条件を取得することができる。
【0046】
また、訓練データは、図7に示すように、搬送時や挿入時に加わる力の集合が考えられる。これにより、例えば搬送中に許容される力を機械学習することができ、過大なテンションが掛かってケーブル3aが破損するといったことを防止しつつ適切にワーク3を配設することができる。すなわち、ワーク3を搬送するための搬送条件およびワーク3を挿入するための挿入条件を取得することができる。なお、図6および図7に示した訓練データは一例であり、これらに限定されず、これらと異なる訓練データを用いたり、それらと組み合わせたりすることができる。
【0047】
以上説明した実施形態によれば、次のような効果を得ることができる。
機械学習装置1は、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習するものであって、配設を開始する前のワーク3に係る状態、および配設中におけるワーク3に係る状態を状態変数として取得する取得部11と、取得部11で取得した状態変数に基づいてワーク3を配設するためのアルゴリズムを機械学習する学習部10とを備える。
【0048】
これにより、機械学習装置1は、柔軟なワイヤ状のワーク3を所定の状態に配設する場合においてワーク3の全体的な形状つまりはワーク3が配置されている態様がワーク3ごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習することができる。
【0049】
また、機械学習装置1は、ワーク3を所定の状態に配設するための複数の訓練データが予め記憶されている記憶部12を備えており、記憶部12に記憶されている訓練データを参照して状態変数を分類することによりアルゴリズムを機械学習する。つまり、機械学習装置1は、ワーク3を正しく配設するために予め準備された訓練データに基づいて、実際にワーク3を正しく配設できるアルゴリズムを機械学習する。これにより、適切な動作によって取得されたデータに基づいてロボット2が動作することになり、ワーク3を正しく配設することができる。
【0050】
このとき、機械学習装置1は、ワーク3の位置、ワーク3を把持した際に当該ワーク3から加わる力、およびロボット2の姿勢を少なくとも状態変数として取得する。これらのデータを状態変数として取得することにより、ワーク3を把持することから所定の状態に配設するまでに満たすべき条件、換言すると、正しく配設するための条件を取得でき、それに基づいてアルゴリズムを機械学習することにより、ロボット2に適切な動作をさせることができる。
【0051】
また、上記した機械学習装置1が行う手法にて機械学習を行う機械学習方法によれば、柔軟なワイヤ状のワーク3を所定の状態に配設する場合においてワーク3の全体的な形状つまりはワーク3が配置されている態様がワーク3ごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習することができる。
【0052】
また、ロボット2の制御装置5は、上記した機械学習装置1で機械学習したアルゴリズムに基づいてロボット2の動作を制御する制御部5aを備える。これにより、柔軟なワイヤ状のワーク3を所定の状態に配設する場合においてワーク3の全体的な形状つまりはワーク3が配置されている態様がワーク3ごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設することができる。
【0053】
また、本実施形態では小型ロボット7を用いてロボット2のコーチングを行っている。これにより、ロボット2を容易に所望の姿勢としたり、容易に所望の動作をさせたりすることができる。そして、複数パターンのコーチングを行う際には、容易にロボット2を操作できることにより格段にコーチングの作業効率を向上させることができる。
【0054】
ところで、本実施形態では複数パターンのチーチングを一括して行い、その後にそれぞれのアルゴリズムを修正する例を示したが、1回のチーチングごとに状態変数の取得とアルゴリズムの修正とを逐次繰り返す構成とすることができる。
【0055】
すなわち、機械学習装置1は、図8に逐次訓練時の流れを示すように、例えばマニュアル操作で動作を開始した後(C1)、状態変数を取得し(C2)、動作が完了するまで(C3:N)は状態変数の取得を継続し、動作が完了すると(C3:YES)アルゴリズムを修正する(C4)。その後、機械学習装置1は、機械学習を継続する場合には(C4:YES)、ステップC1に移行し、異なるパターンのワーク3に対して同様の処理を繰り返すことで訓練データを収集しつつ学習を繰り返す。
【0056】
このような構成によっても、柔軟なワイヤ状のワーク3を所定の状態に配設する場合においてワーク3の全体的な形状つまりはワーク3が配置されている態様がワーク3ごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習することができるなど、実施形態と同様の効果を得ることができる。
【0057】
また、実際にワーク3を配設する作業を行う際にも状態変数を取得し、正しく配設することができたときの状態変数を訓練データとして蓄積する構成とすることができる。
【0058】
(第2実施形態)
以下、第2実施形態について説明する。第2実施形態では、訓練データを与えることなく、機械学習装置1が自身でアルゴリズムを機械学習する点において、第1実施形態と異なっている。なお、第1実施形態と共通する構成については同一符号を付している。
【0059】
図9に示すように、第2実施形態の機械学習装置1は、判定部20を備えている。この判定部20は、取得した状態変数に基づいてワーク3を正しく配設することができたか否かを判定するものである。そして、学習部10は、ロボット2を動作させた際に取得した状態変数に基づいて、より詳細には、判定部20の判定結果に基づいて、回帰的にアルゴリズムを機械学習する。
【0060】
具体的には、機械学習装置1は、図10に示すように、動作を開始する(D1)。この場合、機械学習装置1は、例えばカメラ16で撮像した画像を参照しつつ、コネクタ3bを把持するようにロボット2を動作させ、ワーク3を把持し、目標位置までワーク3を搬送し、ワーク3の端子3cを挿入孔18aに挿入するように動作させる。このとき、大まかな位置を予め教示しておき、カメラ16で撮像した画像に基づいて位置を微調整するように動作させることができる。
【0061】
そして、機械学習装置1は、動作中の状態変数を取得する(D2)。なお、状態変数の取得は第1実施形態で説明した図5と共通する流れで実施される。続いて、機械学習装置1は、指定回数の動作が終了したかを判定し(D3)、指定回数が終了していなければ(D3:NO)、ステップD1に移行して次の動作を開始する。
【0062】
一方、機械学習装置1は、指定回数が終了している場合には(D3:YES)、動作を判定する(D4)。このとき、機械学習装置1は、取得した状態変数に基づいて、例えば接触センサ17で検出したワーク3の把持位置や搬送中に加わる力などが、ワーク3の形状や強度あるいは挿入孔18aの位置や大きさなどに適合しているか否か、配設作業が完了するまでのサイクルタイムが要求されるものになっているか否かなどに基づいて動作を判定する。
【0063】
そして、機械学習装置1は、正しい動作であると判定した場合には(D4:OK)、報酬を増加させる一方、正しい動作ではないと判定した場合には(D4:NG)、報酬を減少させる。この報酬は、動作の評価値に相当するものであり、報酬が増加した動作がより適切なものとなり、報酬が減少した動作が不適切なものとなることを意味している。
【0064】
そして、機械学習装置1は、報酬の増減に鑑みて、また、取得した状態変数に鑑みて、各動作の必要に応じてアルゴリズムを修正する。なお、ユーザにアルゴリズムを提示し、ユーザがアルゴリズムを修正する構成とすることもできる。また、アルゴリズムの修正が不要な場合ももちろん想定される。
【0065】
そして、指定回数が終了すると、つまりは、各動作の検証が完了すると、機械学習装置1は、学習を継続するか否かを判定する(D9)。この場合、機械学習装置1は、例えば学習結果とともに学習を継続するか否かの問い合わせをユーザに提示し、ユーザが継続する旨の操作を入力した場合には学習を継続すると判定して(D9:YES)、ステップD1に移行して次の動作を開始する。一方、機械学習装置1は、例えば十分な学習結果が得られたことからユーザが継続しない旨の操作を入力した場合には、継続しないと判定して(D9:YES)、処理を終了する。
【0066】
このように、本実施形態の機械学習装置1は、ロボット2を動作させた際に取得した状態変数に基づいて、自律的且つ回帰的にアルゴリズムを機械学習する。これにより、ユーザの負担を軽減した状態でアルゴリズムを機械学習することができる。
【0067】
これにより、柔軟なワイヤ状のワーク3を所定の状態に配設する場合においてワーク3の全体的な形状つまりはワーク3が配置されている態様がワーク3ごとに異なる場合であっても、また、想定される全てのパターンを予めプログラムしたり教示したりしなくても、ロボット2を用いて柔軟なワイヤ状のワーク3を所定の状態に配設するためのアルゴリズムを機械学習することができるなど、第1実施形態と同様の効果を得ることができる。
【0068】
また、実際にワーク3を配設する作業を行う際にも状態変数を取得し、正しい動作であるか否かを判定することで実機の動作時にも機械学習する構成とすることができる。これにより、より正しい動作を機械学習することができる。
【0069】
本発明は、上記した、あるいは、図面に記載した実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で変形、拡張あるいは各実施形態の構成を組み合わせることができる。
【符号の説明】
【0070】
図面中、1は機械学習装置、2はロボット、3はワーク、5は制御装置、5aは制御部、10は学習部、11は取得部、12は記憶部、13は提示出力部、20は判定部を示す。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10