以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されない。図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
図1〜図8を参照して、本発明の実施形態に係るロボットシステム100を説明する。本実施形態では、一例として、ロボットシステム100は、ビジョンピッキングを実行する。まず、図1を参照して、ロボットシステム100を説明する。
図1は、本実施形態に係るロボットシステム100を示す図である。ロボットシステム100は、ロボット1と、ロボット制御装置3とを備える。ロボット1は対象物Wを把持する。具体的には、ロボット1は、対象物Wを把持(ピック)し、対象物Wを所定位置まで搬送して載置(プレース)する動作を繰り返す。
ロボット1は、多関節アーム11と、ハンド13と、把持力センサー15とを含む。多関節アーム11は複数の関節軸111を含む。各関節軸111に対応して、トルクセンサーとモーターとエンコーダーとが配置されている。各関節軸111に搭載されているトルクセンサーは、各関節軸111にかかるトルクを検出して、検出結果をロボット制御装置3(具体的には後述するロボット制御部31)に送信する。各関節軸111はモーターによって駆動される。各関節軸111に搭載されているエンコーダーは、各関節軸111の角度情報を検出して、検出結果をロボット制御装置3(具体的には後述するロボット制御部31)に送信する。
ハンド13は、多関節アーム11の先端に配置される。多関節アーム11が駆動されることで、ハンド13の位置及び姿勢が変更される。ハンド13は、開閉動作を行って、対象物Wを把持する。ハンド13は、例えば、複数のフィンガーの開閉動作によって、対象物Wを把持する。ハンド13は、例えば、エンドエフェクターである。
ハンド13は、対象物Wを把持(ピック)し、対象物Wを所定位置まで搬送して載置(プレース)する動作を繰り返す。
把持力センサー15は、ハンド13が対象物Wを把持するときの把持力を検出して、把持力を示す把持力信号をロボット制御装置3(具体的には後述するロボット制御部31)に送信する。把持力センサー15は、例えば、圧力センサーである。この場合、圧力センサーは、ハンド13のフィンガーに搭載される。圧力センサーは、ハンド13が対象物Wを把持するときの圧力を検知して、圧力を示す圧力検知信号を把持力信号としてロボット制御部31に送信する。
なお、把持力センサー15は、例えば、力覚センサーであってもよい。この場合、力覚センサーは、ハンド13に搭載される。力覚センサーは、ハンド13が対象物Wを把持したときの反力を検出し、反力を示す反力検知信号を把持力信号としてロボット制御装置3(具体的には後述するロボット制御部31)に送信する。力覚センサーは、例えば、6軸力覚センサーであり、X軸、Y軸、Z軸の各軸の力と、各軸周りのモーメントとを検出する。
ロボット制御装置3はロボット1を制御する。ロボット制御装置3は、ロボット制御部31と、軌道生成部33と、認識部35と、撮像部37とを含む。
撮像部37は、ロボット1による把持の対象物Wを撮像して、対象物Wの画像を含む入力画像データD1を生成する。撮像部37は、有線通信又は無線通信によって、入力画像データD1を認識部35に送信する。本実施形態では、撮像部37は、複数の同一の対象物W又は複数の異なる対象物Wを撮像して、複数の対象物Wをそれぞれ示す複数の画像を含む入力画像データD1を生成する。撮像部37は、複数の対象物Wの上方に配置される。なお、撮像部37が複数の対象物Wを撮像できる限りにおいては、撮像部37の位置は、特に限定されず、例えば、ハンド13に配置されていてもよい。また、入力画像データD1は、動画であってもよいし、静止画であってもよい。
入力画像データD1は、第1入力画像データD11と、第2入力画像データD12とを含む。第1入力画像データD11及び第2入力画像データD12の各々は、動画であってもよいし、静止画であってもよい。
具体的には、撮像部37は、カメラ371と、深度センサー373とを含む。カメラ371は、対象物Wを撮像して、対象物Wを示すカラー画像を含む第1入力画像データD11を生成する。本実施形態では、カメラ371は、複数の対象物Wを撮像して、複数の対象物Wをそれぞれ示す複数のカラー画像を含む第1入力画像データD11を生成する。カラー画像は、例えば、RGB画像である。例えば、カメラ371は、CMOSイメージセンサー又はCCDイメージセンサーを含む。
深度センサー373は、対象物Wを撮像して、対象物Wの深度画像を含む第2入力画像データD12を生成する。本実施形態では、深度センサー373は、複数の対象物Wを撮像して、複数の対象物Wをそれぞれ示す複数の深度画像を含む第2入力画像データD12を生成する。深度画像は、対象物Wを深度情報で示す。深度情報とは、深度センサー373の撮像面から対象物Wまでの深度(奥行き)を示す情報のことである。具体的には、深度センサー373は、画素単位で深度情報を取得する。従って、深度画像は、画素単位の深度情報の集合である。
なお、撮像部37は、対象物Wのカラー画像及び深度画像を生成できる限りにおいては、カメラ371及び深度センサー373に代えて、三次元カメラを含んでいてもよい。三次元カメラは、例えば、ステレオカメラ又はToF(Time of Flight)カメラである。
認識部35は、入力画像データD1に基づいて各対象物Wを認識し、各対象物Wの認識結果に基づいて三次元空間における各対象物Wの三次元座標を計算する。対象物Wの三次元座標はハンド13の目標座標に設定される。ハンド13の目標座標は、ハンド13の行動の終点を示す。さらに、認識部35は、各対象物Wの認識結果に基づいて各対象物Wをハンド13に把持させるときのハンド13の目標回転角を計算する。目標回転角は、ハンド13のロール角、ピッチ角、及び、ヨー角を含む。認識部35は、ハンド13の目標座標及び目標回転角を示す情報を軌道生成部33に出力する。
認識部35は、CPU(Central Processing Unit)のようなプロセッサー、及び、記憶装置を含む。記憶装置は、データ及びコンピュータープログラムを記憶する。具体的には、記憶装置は、半導体メモリーのような主記憶装置と、半導体メモリー、ソリッドステートドライブ、及び/又は、ハードディスクドライブのような補助記憶装置とを含む。
軌道生成部33は、認識部35によって計算されたハンド13の目標座標と、軌道生成アルゴリズムとに基づいて、ハンド13の目標軌道(つまり、ハンド13の経路計画を示す情報)を生成する。軌道生成アルゴリズムとしては、例えば、RRT(rapidly−exploring random tree)、PRM(probabilistic road map)、又は、ポテンシャル法を採用できる。軌道生成部33は、ハンド13の目標軌道及び目標回転角を示す情報をロボット制御部31に出力する。
軌道生成部33は、CPUのようなプロセッサー、及び、記憶装置を含む。記憶装置は、データ及びコンピュータープログラムを記憶する。記憶装置の構成は、認識部35の記憶装置の構成と同様である。プロセッサーが、記憶装置に記憶されたコンピュータープログラムを実行することで、軌道生成部33として機能する。
ロボット制御部31は、ロボット1と、有線通信又は無線通信を行う。そして、ロボット制御部31は、軌道生成部33が生成した目標軌道にハンド13が追従するように、多関節アーム11に対してサーボ制御を実行する。また、ロボット制御部31は、認識部35によって計算された目標回転角を実現するように、ハンド13に対してサーボ制御を実行する。さらに、ロボット制御部31は、ハンド13の動作状態と、把持力センサー15から受信した把持力信号が示す把持力とに基づいて、ハンド13による対象物Wの把持が成功したか否かを判定する。そして、ロボット制御部31は、対象物Wの把持が成功したか否かを示す把持成否情報を生成する。ハンド13の動作状態は、ハンド13が開いた程度及び/又はハンド13が閉じた程度を示す。そして、ロボット制御部31は、把持成否情報を認識部35に直接出力するか、又は、軌道生成部33を介して把持成否情報を認識部35に出力する。
ロボット制御部31は、CPUのようなプロセッサー、及び、記憶装置を含む。記憶装置は、データ及びコンピュータープログラムを記憶する。記憶装置の構成は、認識部35の記憶装置の構成と同様である。プロセッサーが、記憶装置に記憶されたコンピュータープログラムを実行することで、ロボット制御部31として機能する。
なお、認識部35と軌道生成部33とロボット制御部31とのうちの一部又は全部が、共通のプロセッサー及び共通の記憶装置によって構成されていてもよい。すなわち、認識部35と軌道生成部33とロボット制御部31とが実装されるハードウェアは、単一でもよいし、分散されていてもよい。
次に、図2を参照して、認識部35の詳細を説明する。図2は、認識部35を示す図である。図2に示すように、認識部35は、処理部351と、記憶部353と、操作部355とを含む。
操作部355は、ユーザーの操作を受け付ける。具体的には、操作部355は、表示部DLと、入力部PTとを含む。表示部DLは画像を表示する。表示部DLはディスプレーである。ディスプレーは、例えば、液晶ディスプレー又は有機エレクトロルミネッセンスディスプレーである。入力部PTは、ユーザーから入力を受け付ける。本実施形態では、入力部PTは、ユーザーからのタッチ入力を受け付けるタッチパネルである。タッチパネルは、例えば、ユーザーの指によるタッチ入力、又は、ユーザーが把持するスタイラスによるタッチ入力を受け付ける。タッチパネルは、ディスプレーの表示面に重ねて配置される。なお、例えば、入力部PTは、キーボード及びポインティングデバイスであってもよい。
記憶部353は、記憶装置を含む。記憶装置は、データ及びコンピュータープログラムを記憶する。具体的には、記憶装置は、半導体メモリーのような主記憶装置と、半導体メモリー、ソリッドステートドライブ、及び/又は、ハードディスクドライブのような補助記憶装置とを含む。
記憶部353は、機械学習により生成された学習済みの推論モデルMD1を記憶している。推論モデルMD1は、入力画像データD1を入力して、出力画像データD2を出力する。出力画像データD2は、対象物Wのラベル付画像を含む。対象物Wのラベル付画像は、対象物Wの画像であって、対象物Wを識別するためのラベルが付加された画像を示す。対象物Wを識別するためのラベルは、本実施形態では、対象物Wの種類を示すラベルである。入力画像データD1が複数の対象物Wをそれぞれ示す複数の画像を含む場合は、出力画像データD2は、複数の対象物Wの複数の画像に対応して、複数の対象物Wをそれぞれ示す複数のラベル付画像を含む。
具体的には、推論モデルMD1は、入力画像データD1から対象物Wを認識する。つまり、推論モデルMD1は、入力画像データD1から対象物Wの画像及び種類を認識する。
そして、推論モデルMD1は、認識した対象物Wの画像に対して、対象物Wを識別するためのラベルをピクセル単位で付加することで、対象物Wのラベル付画像を生成し、ラベル付画像を含む出力画像データD2を出力する。従って、本実施形態によれば、ピクセル単位でラベルが付加されるため、撮像部37によって複数の対象物Wが撮像された場合であっても(つまり、入力画像データD1に複数の対象物Wをそれぞれ示す複数の画像が含まれる場合であっても)、矩形枠等の枠によってラベルを付加する場合と比較して、各対象物Wを精度良く認識できる。その結果、各対象物Wの認識結果に基づいてロボット1による各対象物Wの把持位置を精度良く指示できて、ロボット1(具体的にはハンド13)による対象物Wの把持が失敗する可能性を低減できる。
特に、本実施形態では、推論モデルMD1は、認識した対象物Wの画像に対して、認識した対象物Wの種類を示すラベルをピクセル単位で付加することで、対象物Wのラベル付画像を生成し、ラベル付画像を含む出力画像データD2を出力する。
更に具体的には、推論モデルMD1は、認識した対象物Wの画像に対して、ラベルとしての色情報をピクセル単位で付加することでラベル付画像を生成し、ラベル付画像を含む出力画像データD2を出力する。ラベルは、推論モデルMD1が認識した対象物Wの種類を示す。ラベルとしての色情報は、対象物Wの種類ごとに異なり、対象物Wの種類に応じて定められている。換言すれば、対象物Wの画像が、対象物Wの種類に応じて色によってピクセル単位でラベル付けされる。従って、対象物Wの種類が色によって示される。例えば、推論モデルMD1は、認識した対象物Wの画像を構成する各ピクセルを、ラベルとしての色情報によって示される色、つまり、対象物Wの種類を示す色で塗り潰すことで、ラベル付画像を生成し、ラベル付画像を含む出力画像データD2を出力する。色情報は、対象物Wの種類に応じた単色を示す。
推論モデルMD1を生成する機械学習のアルゴリズムは、教師あり学習であれば、特に限定されず、例えば、決定木、最近傍法、単純ベイズ分類器、サポートベクターマシン、又は、ニューラルネットワークである。従って、推論モデルMD1は、決定木、最近傍法、単純ベイズ分類器、サポートベクターマシン、又は、ニューラルネットワークを含む。推論モデルMD1を生成する機械学習において、誤差逆伝搬法を利用してもよい。
本実施形態では、推論モデルMD1を生成する機械学習のアルゴリズムは、ニューラルネットワークである。つまり、推論モデルMD1は、ニューラルネットワークを含む。ニューラルネットワークは、入力層、単数又は複数の中間層、及び、出力層を含む。好ましくは、ニューラルネットワークは、ディープニューラルネットワーク(DNN:Deep Neural Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、又は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であり、ディープラーニングを行う。
ディープニューラルネットワークは、入力層、複数の中間層、及び、出力層を含む。畳み込みニューラルネットワークは、入力層、複数の畳み込み層、複数のプーリング層、全結合層、及び、出力層を含む。畳み込みニューラルネットワークでは、入力層と全結合層との間において、畳み込み層とプーリング層とが交互に繰り返されている。
特に好ましくは、推論モデルMD1を生成する機械学習のアルゴリズムは、畳み込みニューラルネットワークである。つまり、推論モデルMD1は、畳み込みニューラルネットワークを含むことが特に好ましい。例えば、機械学習のアルゴリズムは、畳み込みニューラルネットワークを採用するpix2pixのディープラーニングである。
推論モデルMD1は、予め用意された複数の教師データセットを機械学習することで生成されている。複数の教師データセットの各々は、対象物を示す画像を含む入力画像データと対象物のラベル付画像を含む出力画像データとのデータセットであり、予め想定されて用意されている。
教師データセットを構成する入力画像データは、第1入力画像データと第2入力画像データとを含むことが好ましい。第1入力画像データは、予め用意されており、対象物を示すカラー画像を含む。第2入力画像データは、予め用意されており、対象物を深度情報で示す深度画像を含む。
教師データセットを構成する出力画像データにおいて、対象物のラベル付画像は、対象物の画像であって、対象物を識別するためのラベル(具体的には対象物の種類を示すラベル)が付加された画像を示す。
好ましくは、推論モデルMD1は、ロボット1が設置される環境に応じた疑似外乱を示す情報を付加した教師データセットを含む複数の教師データセットを機械学習して生成されている。ロボット1が設置される環境は、ロボット1による把持の対象物が設置される環境である。この好ましい例によれば、推論モデルMD1は、ロボット1が設置される環境に応じた外乱に強い。従って、推論モデルMD1は、ロボット1が設置される環境に応じてより精度良く各対象物Wを認識できて、より精度良くラベルが付加されたラベル付画像を含む出力画像データD2を生成できる。
具体的には、教師データセットの入力画像データ(具体的には、対象物を示す画像)に対して、ロボット1が設置される環境に応じた疑似外乱を示す情報が付加されている。更に具体的には、教師データセットの第1入力画像データ(具体的には、対象物を示すカラー画像)に対して、ロボット1が設置される環境に応じた疑似外乱を示す情報が付加されている。具体的には、疑似外乱を示す情報は、ロボット1が設置される環境に特有のノイズを示す。例えば、疑似外乱を示す情報は、ロボット1が設置される環境の照明状態を示すノイズである。「疑似外乱」は、ロボット1が設置される環境における実際の外乱ではなく、コンピューターによって生成された外乱を示す。
引き続き図2を参照して、物体認識処理部50を説明する。物体認識処理部50は、撮像部37が生成した入力画像データD1に基づいて、入力画像データD1に含まれる各画像が示す各対象物Wを認識する。具体的には、物体認識処理部50は、撮像部37が生成した第1入力画像データD11及び第2入力画像データD12に基づいて、第1入力画像データD11に含まれる各画像が示す各対象物Wを認識する。
次に、図2及び図3を参照して、物体認識処理部50の詳細を説明する。図2に示すように、物体認識処理部50は、物体認識部51と、座標出力部52とを含む。図3は、物体認識部51が推論モデルMD1に入力する入力画像データD1及び推論モデルMD1が出力する出力画像データD2を示す図である。
図2及び図3に示すように、物体認識部51は、入力画像データD1を推論モデルMD1に入力して、出力画像データD2を推論モデルMD1に出力させる。
入力画像データD1は、第1入力画像データD11及び第2入力画像データD12を含む。
第1入力画像データD11は、互いに異なる複数の対象物Wをそれぞれ示す複数のカラー画像RBを含む。カラー画像RBは、例えば、RGB画像である。図3の例では、第1入力画像データD11は、対象物W1のカラー画像RB1と、対象物W2のカラー画像RB2と、対象物W3のカラー画像RB3とを含む。第1入力画像データD11は、1枚の画像を示し、1枚の画像が、カラー画像RB1と、カラー画像RB2と、カラー画像RB3とを含む。なお、図3では、図面の簡略化のために、カラー画像RB1とカラー画像RB2とカラー画像RB3とを、同じハッチングで示している。
第2入力画像データD12は、互いに異なる複数の対象物Wをそれぞれ深度情報で示す複数の深度画像DPを含む。図3の例では、第2入力画像データD12は、対象物W1の深度画像DP1と、対象物W2の深度画像DP2と、対象物W3の深度画像DP3とを含む。第2入力画像データD12は、1枚の画像を示しており、1枚の画像が、深度画像DP1と、深度画像DP2と、深度画像DP3とを含む。
出力画像データD2は、互いに異なる複数の対象物Wをそれぞれ示す複数のラベル付画像LBを含む。図3の例では、出力画像データD2は、対象物W1のラベル付画像LB1と、対象物W2のラベル付画像LB2と、対象物W3のラベル付画像LB3とを含む。出力画像データD2は、1枚の画像を示し、1枚の画像が、ラベル付画像LB1と、ラベル付画像LB2と、ラベル付画像LB3とを含む。
具体的には、ラベル付画像LB1は、入力画像データD1に基づいて推論モデルMD1が認識した対象物W1の画像に対して、対象物W1の種類を示すラベルとしての色情報(例えば、赤色)をピクセル単位で付加した画像である。つまり、ラベル付画像LB1は、単色(例えば、赤色)で塗り潰されている。
ラベル付画像LB2は、入力画像データD1に基づいて推論モデルMD1が認識した対象物W2の画像に対して、対象物W2の種類を示すラベルとしての色情報(例えば、青色)をピクセル単位で付加した画像である。つまり、ラベル付画像LB2は、単色(例えば、青色)で塗り潰されている。
ラベル付画像LB3は、入力画像データD1に基づいて推論モデルMD1が認識した対象物W3の画像に対して、対象物W3の種類を示すラベルとしての色情報(例えば、黄色)をピクセル単位で付加した画像である。つまり、ラベル付画像LB3は、単色(例えば、黄色)で塗り潰されている。
本実施形態では、推論モデルMD1には、対象物Wのカラー画像RBを含む第1入力画像データD11だけでなく、深度画像DPを含む第2入力画像データD12が入力されるため、対象物Wの認識に対象物Wの深度情報が反映される。従って、推論モデルMD1は、より精度良く対象物Wを認識できて、より精度良くラベル付画像LBを生成できる。例えば、同じ形状で大きさの異なる複数の対象物Wが存在し得るところ、深度画像DPを含む第2入力画像データD12を入力することで、複数の対象物Wの大きさが本来的に異なるのか、又は、撮像部37と対象物Wとの距離が異なるために同じ対象物Wでもカラー画像RBの大きさが異なっているのかを判別できる。その結果、各対象物Wのカラー画像RBに対して精度良くラベル付けを行うことができる。
座標出力部52は、深度画像DPを含む第2入力画像データD12と、ラベル付画像LBを含む出力画像データD2とに基づいて、ロボット1のハンド13の位置を制御するための三次元座標(x、y、z)を計算して、三次元座標(x、y、z)を示す情報を軌道生成部33に出力する。三次元座標(x、y、z)は、三次元直交座標系の座標を示す。本実施形態によれば、深度画像DPに基づく深度情報と、ピクセル単位でラベル付けされたラベル付画像LBとに基づいて、ロボット1のハンド13の位置を制御するための三次元座標(x、y、z)が計算される。従って、ハンド13を更に精度良く制御できて、ハンド13による対象物Wの把持の失敗の可能性を更に低減できる。
具体的には、座標出力部52は、深度画像DPを含む第2入力画像データD12と、ラベル付画像LBを含む出力画像データD2とに基づいて、各対象物Wの点群データを生成する。そして、座標出力部52は、各対象物Wの点群データに基づいて各対象物Wの三次元座標(x、y、z)を計算する。そして、軌道生成部33は、座標出力部52によって計算された各対象物Wの三次元座標(x、y、z)を、各対象物Wをハンド13に把持させるときのハンド13の目標座標に設定する。
また、座標出力部52は、深度画像DPを含む第2入力画像データD12と、ラベル付画像LBを含む出力画像データD2とに基づいて、ロボット1のハンド13の回転を制御するための回転角(roll、pitch、yaw)を計算して、回転角(roll、pitch、yaw)を示す情報を軌道生成部33に出力する。「roll」はロール角を示す。「pitch」はピッチ角を示す。「yaw」はヨー角を示す。本実施形態によれば、深度画像DPに基づく深度情報と、ピクセル単位でラベル付けされたラベル付画像LBとに基づいて、ロボット1のハンド13の回転を制御するための回転角(roll、pitch、yaw)が計算される。従って、ハンド13を更に精度良く制御できて、ハンド13による対象物Wの把持の失敗の可能性を更に低減できる。
具体的には、座標出力部52は、各対象物Wの点群データに基づいて各対象物Wをハンド13に把持させるときのハンド13の回転角(roll、pitch、yaw)を計算する。そして、軌道生成部33は、座標出力部52によって計算されたハンド13の回転角(roll、pitch、yaw)をハンド13の目標回転角に設定する。
図2に戻って、教師データ生成部60は、教師データセットTDを記憶するように、記憶部353を制御する。その結果、記憶部353は、複数の教師データセットTDを記憶する。複数の教師データセットTDの各々は、撮像部37が生成した入力画像データD1と推論モデルMD1が出力した出力画像データD2とを含むデータセットである。
具体的には、教師データ生成部60は、教師データセットTDに、ロボット1による対象物Wの把持が成功したか否かを示す把持成否情報を関連付けて記憶するように、記憶部353を制御する。その結果、記憶部353は、教師データセットTDに把持成否情報を関連付けて記憶する。対象物Wの把持が成功したことを示す把持成否情報が関連付けられた教師データセットTDが、推論モデルMD1の再学習に使用される。一方、対象物Wの把持が失敗したことを示す把持成否情報が関連付けられた教師データセットTDは、推論モデルMD1の再学習に使用されない。
本実施形態によれば、教師データセットTDには把持成否情報が関連付けられている。従って、ハンド13による把持の失敗が、推論モデルMD1による対象物Wの誤認識に起因するのか、又は、他の原因であるのかを判別する際に有効である。
複数の教師データセットTDの各々は、表示部DLに表示されて、ピクセル単位で改変されることが可能である。なお、対象物Wの把持が成功したことを示す把持成否情報が関連付けられた教師データセットTDが改変の対象であり、対象物Wの把持が失敗したことを示す把持成否情報が関連付けられた教師データセットTDは、改変の対象ではない。対象物Wの把持が失敗したことを示す把持成否情報が関連付けられた教師データセットTDは、推論モデルMD1の再学習に使用されず、実質的には教師データセットでないからである。
具体的には、教師データ生成部60は、教師データセットTDの入力画像データD1に含まれる対象物Wの画像と、教師データセットTDの出力画像データD2に含まれるラベル付画像とを表示するように、表示部DLを制御する。その結果、表示部DLは、入力画像データD1に含まれる対象物Wの画像と、出力画像データD2に含まれるラベル付画像とを表示する。
更に具体的には、教師データ生成部60は、教師データセットTDの出力画像データD2に含まれるラベル付画像を半透明にして、教師データセットTDの入力画像データD1に含まれる対象物Wの画像の上に重ねて表示するように、表示部DLを制御する。その結果、表示部DLは、出力画像データD2に含まれるラベル付画像を半透明にして、入力画像データD1に含まれる対象物Wの画像の上に重ねて表示する。
入力部PTは、ユーザーから、教師データセットTDの出力画像データD2に含まれるラベル付画像を、ピクセル単位で改変するための入力を受け付ける。
そして、教師データ生成部60は、入力部PTが受け付けた入力に応じて、教師データセットTDの出力画像データD2に含まれるラベル付画像をピクセル単位で改変する。従って、本実施形態によれば、ロボット1が設置される現場において撮像部37によって生成された教師データセットTDを使用して、推論モデルMD1を再学習させることができる。その結果、ロボット1が設置される現場に応じて推論モデルMD1をチューニングできて、推論モデルMD1による対象物Wの認識精度を更に向上できる。よって、各対象物Wの認識結果に基づいてロボット1による各対象物Wの把持位置を更に精度良く指示できて、ロボット1のハンド13による対象物Wの把持が失敗する可能性を更に低減できる。
また、本実施形態によれば、ロボット1の設置後に、現場の環境を反映した教師データセットTDを現場のユーザーの入力によって容易に生成できる。従って、現場のユーザーが、推論モデルMD1を再学習させて、推論モデルMD1を現場に応じて容易にチューニングできる。その結果、ロボットシステム100の現場への導入時において、推論モデルMD1の設計者(例えば、システムインテグレーター)による推論モデルMD1のチューニングの負荷を軽減できる。また、ロボットシステム100の稼働場所を変更した場合でも、推論モデルMD1の設計者に極力依存することなく、推論モデルMD1をチューニングできる。
さらに、本実施形態によれば、表示部DLは、教師データセットTDの出力画像データD2に含まれるラベル付画像を半透明にして、教師データセットTDの入力画像データD1に含まれる対象物Wの画像の上に重ねて表示する。従って、ユーザーは、対象物Wの画像を目視しながら、対象物Wの画像に略一致するように、ラベル付画像を容易に改変できる。
次に、図2及び図4を参照して、教師データセットTDの改変について具体例を挙げながら詳細に説明する。図4は、表示部DLに表示された教師データ改変画面SCを示す図である。
図4に示すように、教師データ改変画面SCは、教師データ表示部81と、改変作業画面82と、改変ボタン83と、確定ボタン84と、ラベル表示部85と、カラーコード表示部86と、再学習ボタン87と、選択ボタン88aと、選択ボタン88bとを含む。
教師データ表示部81には、教師データセットTDの第1入力画像データD11に含まれる各対象物Wのカラー画像RBと、教師データセットTDの出力画像データD2に含まれる各対象物Wのラベル付画像LBとが表示される。
すなわち、図2に示す教師データ生成部60は、教師データセットTDの第1入力画像データD11に含まれる各対象物Wのカラー画像RBと、教師データセットTDの出力画像データD2に含まれる各対象物Wのラベル付画像LBとを教師データ表示部81に表示するように、表示部DLを制御する。
改変作業画面82は、教師データセットTDを改変するための画面である。改変作業画面82には、教師データセットTDの第1入力画像データD11に含まれるカラー画像RBの上に重ねて、出力画像データD2に含まれるラベル付画像LBを半透明にして表示する。つまり、ラベル付画像LBは半透明で透けており、ユーザーは、ラベル付画像LBに重なっているカラー画像RBを視認できる。
すなわち、教師データ生成部60は、教師データセットTDの出力画像データD2に含まれるラベル付画像LBを半透明にして、教師データセットTDの第1入力画像データD11に含まれる対象物Wのカラー画像RBの上に重ねて表示するように、表示部DLを制御する。
ユーザーは、改変作業画面82に表示された複数のラベル付画像LBのうちの1つのラベル付画像LBをタップして、改変対象のラベル付画像LBを選択する。ユーザーは、所望のラベル付画像LBを選択することで、複数のラベル付画像LBごとに、改変作業画面82に対するタッチ入力によってラベル付画像LBをピクセル単位で改変できる。具体的には、ユーザーは、改変作業画面82に表示されたラベル付画像LBの形状が、ラベル付画像LBに重なっているカラー画像RBの形状に略一致するように、タッチ入力によってラベル付画像LBをピクセル単位で改変する。
すなわち、教師データ生成部60は、入力部PTが受け付けたユーザーのタッチ入力に応じて、改変作業画面82に表示されたラベル付画像LBの形状が、ラベル付画像LBに重なっているカラー画像RBの形状に略一致するように、ラベル付画像LBをピクセル単位で改変する。
例えば、教師データ生成部60は、ユーザーのタッチ位置に位置するピクセルの色を、ラベル付画像LBの色と同じ色に設定することで、ラベル付画像LBの領域を変更し、ラベル付画像LBを改変する。例えば、教師データ生成部60は、ユーザーのタッチ入力によるラベル付画像LBの輪郭の変更に応じて、ラベル付画像LBの領域を変更し、ラベル付画像LBを改変する。
具体的には、改変作業画面82はレイヤー構造を有する。本実施形態では、改変作業画面82は、第1層(奥側の層)と第2層(手前側の層)とを有し、第1層の上に第2層が重ねて配置される。
改変作業画面82の第1層には、各対象物Wのカラー画像RBが表示される。教師データ生成部60は、第1層のカラー画像RBに対する改変を禁止している。従って、ユーザーは、カラー画像RBを改変することはできない。
改変作業画面82の第2層には、各対象物Wの半透明のラベル付画像LBが表示される。複数の半透明のラベル付画像LBは、それぞれ、複数のカラー画像RBの上に重ねて表示される。ラベル付画像LBの透明度は、例えば、30%以上50%以下である。教師データ生成部60は、第2層のラベル付画像LBに対する改変を入力部PTを介して受け付ける。従って、ユーザーは、ラベル付画像LBを改変できる。
本実施形態では、ラベル付画像LBは、推論モデルMD1が認識した対象物Wの画像に対して、ラベルとしての色情報をピクセル単位で付加することで生成されている。従って、ユーザーにとってラベル付画像LBを視認し易く、入力部PTを介したユーザーによるラベル付画像LBの改変が容易である。
改変ボタン83は、改変作業画面82に表示されたラベル付画像LBの改変作業を開始することを、教師データ生成部60に対して通知するためのボタンである。従って、改変ボタン83が入力部PTを介して押下されると、教師データ生成部60は、ユーザーのタッチ入力によるラベル付画像LBの改変を受け付ける。
確定ボタン84は、改変作業画面82に表示されたラベル付画像LBの改変を確定することを、教師データ生成部60に対して通知するためのボタンである。従って、確定ボタン84が入力部PTを介して押下されると、教師データ生成部60は、ラベル付画像LBの改変を確定する。そして、教師データ生成部60は、改変前のラベル付画像LBに代えて、改変後のラベル付画像LBを教師データ表示部81に表示するように、表示部DLを制御する。その結果、教師データ表示部81には、改変後のラベル付画像LBが表示される。
以下、改変後のラベル付画像LBを含む出力画像データD2を含む教師データセットTDを、「改変後の教師データセットTD」と記載する場合がある。
ラベル表示部85にはラベル情報(つまり、ラベル名)が表示される。ラベル情報は、改変対象として選択されているラベル付画像LBのラベルによって示される対象物Wの種類を示す。教師データ生成部60は、ラベル表示部85に表示されたラベル情報の修正を、入力部PTを介して受け付ける。
カラーコード表示部86にはラベルの色情報が表示される。ラベルの色情報は、改変対象として選択されているラベル付画像LBのラベルの色情報を示す。教師データ生成部60は、カラーコード表示部86に表示されたラベルの色情報の修正を、入力部PTを介して受け付ける。
選択ボタン88a及び選択ボタン88bは、改変作業画面82による改変対象の教師データセットTDを変更することを、教師データ生成部60に対して通知するためのボタンである。従って、選択ボタン88a又は選択ボタン88bが入力部PTを介して押下されると、教師データ生成部60は、改変作業画面82による改変対象の教師データセットTDを変更する。従って、改変作業画面82及び教師データ表示部81には、改変対象として新たなカラー画像RB及びラベル付画像LBが表示される。
教師データ生成部60は、改変作業画面82における入力部PTを介した入力に応じて、記憶部353に記憶された複数の教師データセットTDの一部又は全部を改変する。
再学習ボタン87は、改変後の教師データセットTDを使用して推論モデルMD1を再学習させることを、教師データ生成部60に対して通知するためのボタンである。従って、教師データ生成部60は、再学習ボタン87が入力部PTを介して押下されると、改変後の教師データセットTDを使用して推論モデルMD1を再学習させるように、学習処理部70に対して指示する。
なお、教師データ改変画面SCの表示対象(つまり、改変対象)は、対象物Wの把持が成功したことを示す把持成否情報が関連付けられた教師データセットTDである。ただし、表示部DLは、教師データ改変画面SCに、対象物Wの把持が失敗したことを示す把持成否情報が関連付けられた教師データセットTDに含まれる対象物Wのカラー画像及びラベル付画像を、改変対象でないことを示しつつ表示してもよい。例えば、表示部DLは、対象物Wの把持が失敗したことを示す把持成否情報が関連付けられた教師データセットTDと、対象物Wの把持が成功したことを示す把持成否情報が関連付けられた教師データセットTDとで、教師データ表示部81及び改変作業画面82における背景色を異ならせる。
図2に戻って、学習処理部70を説明する。学習処理部70は、1以上の改変後の教師データセットTDを含む複数の教師データセットTDを推論モデルMD1に入力して、推論モデルMD1を再学習させる。なお、再学習させる推論モデルMD1は、オリジナルの推論モデルMD1の複製であり、再学習させていないオリジナルの推論モデルMD1は記憶部353に保存されている。
具体的には、学習処理部70は、学習部71と、評価部72とを含む。学習部71は、改変後のラベル付画像LBを含む教師データセットTDを推論モデルMD1に入力して、推論モデルMD1に再学習させる。そして、学習部71は、再学習後の推論モデルMD1を推論モデル候補MD2として記憶するように、記憶部353を制御する。その結果、記憶部353は、推論モデル候補MD2を記憶する。
具体的には、教師データ生成部60は、1以上の改変後の教師データセットTDを含む複数の教師データセットTDの一部(例えば、複数の教師データセットTDの80%)を使用して推論モデルMD1に再学習させるように、学習部71に指示する。その結果、学習部71は、1以上の改変後の教師データセットTDを含む複数の教師データセットTDの一部を推論モデルMD1に入力して、推論モデルMD1を再学習させる。
評価部72は、推論モデルMD1(具体的にはオリジナルの推論モデルMD1)及び推論モデル候補MD2の性能を評価するための評価データ(以下、「評価データEV」と記載する。)を推論モデルMD1及び推論モデル候補MD2の各々に入力して、推論モデルMD1の出力結果と推論モデル候補MD2の出力結果とを評価する。
具体的には、教師データ生成部60は、1以上の改変後の教師データセットTDを含む複数の教師データセットTDの他の一部(例えば、複数の教師データセットTDの残りの20%)を評価データEVとして使用して、推論モデルMD1及び推論モデル候補MD2を評価するように、評価部72に指示する。その結果、評価部72は、1以上の改変後の教師データセットTDを含む複数の教師データセットTDの他の一部を、推論モデルMD1及び推論モデル候補MD2の各々に入力して、推論モデルMD1の出力結果と推論モデル候補MD2の出力結果とを評価する。
そして、評価部72は、推論モデルMD1の評価よりも推論モデル候補MD2の評価が高い場合に、推論モデルMD1に代えて、推論モデル候補MD2を新たに推論モデルに設定する。従って、物体認識部51は、新たに設定された推論モデルによって、対象物Wを認識する。一方、評価部72は、推論モデルMD1の評価が推論モデル候補MD2の評価よりも高いか同じ場合、推論モデルMD1を維持し、推論モデル候補MD2を破棄する。
本実施形態によれば、推論モデルMD1の評価よりも推論モデル候補MD2の評価が高い場合にだけ、推論モデル候補MD2が新たな推論モデルとして設定される。従って、評価の高い新たな推論モデルによって、更に精度良く各対象物Wを認識できる。その結果、ハンド13による各対象物Wの把持位置を精度良く指示できて、ハンド13による対象物Wの把持が失敗する可能性を更に低減できる。
更に具体的は、評価データEVは、推論モデルMD1及び推論モデル候補MD2を評価するための教師データセットTDである。従って、推論モデルMD1及び推論モデル候補MD2の各々は、評価データEVに含まれる入力画像データD1から対象物Wの画像を認識し、認識した対象物Wの画像に対して、ラベルとしての色情報をピクセル単位で付加することでラベル付画像を生成し、ラベル付画像を含む出力画像データを出力する。
そして、評価部72は、評価データEVに含まれる出力画像データD2(つまり、正解データ)と、推論モデルMD1が出力した出力画像データとに基づいて、推論モデルMD1による対象物Wの認識の精度(つまり、推論モデルMD1の性能)を評価する。一方、評価部72は、評価データEVに含まれる出力画像データD2(つまり、正解データ)と、推論モデル候補MD2が出力した出力画像データとに基づいて、推論モデル候補MD2による対象物Wの認識の精度(つまり、推論モデルMD1の性能)を評価する。
対象物Wの認識の精度は、推論モデルMD1が出力した出力画像データに含まれるラベル付画像が、評価データEVに含まれる出力画像データD2(つまり、正解データ)のラベル付画像LBと一致している程度を示す。評価部72は、例えば、評価指標として、IoU(Intersection over Union)を採用する。
そして、評価部72は、推論モデル候補MD2の評価が推論モデルMD1の評価よりも高い場合、つまり、推論モデル候補MD2による対象物Wの認識の精度が推論モデルMD1による対象物Wの認識の精度よりも高い場合に、推論モデルMD1に代えて、推論モデル候補MD2を新たに推論モデルに設定する。一方、評価部72は、推論モデルMD1による対象物Wの認識の精度が推論モデル候補MD2による対象物Wの認識の精度よりも高いか同じ場合、推論モデルMD1を維持し、推論モデル候補MD2を破棄する。
ここで、処理部351はCPUのようなプロセッサーを含む。そして、処理部351のプロセッサーが、記憶部353の記憶装置に記憶されたコンピュータープログラムを実行することによって、物体認識部51、座標出力部52、教師データ生成部60、学習部71、及び、評価部72として機能する。
なお、物体認識部51と座標出力部52と教師データ生成部60と学習部71と評価部72とのうちの一部又は全部が、共通のプロセッサー及び記憶装置によって実現されていてもよいし、異なるプロセッサー及び記憶装置によって実現されていてもよい。例えば、教師データ生成部60を実現するプロセッサー及び記憶装置が、物体認識処理部50及び学習処理部70を実現するプロセッサー及び記憶装置と異なっていてもよい。そして、教師データ生成部60を実現するプロセッサーが、操作部355を制御してもよい。この場合、教師データ生成部60及び操作部355は、物体認識処理部50及び学習処理部70が実装されるコンピューターと異なるコンピューター(例えば、タブレット端末又はパーソナルコンピューター)に実装される。教師データ生成部60及び操作部355が実装されるコンピューターは、例えば、ロボット1から離れた位置に配置されていてもよいし、物体認識処理部50及び学習処理部70が実装されるコンピューターの近傍に配置されていてもよい。
すなわち、物体認識部51と座標出力部52と教師データ生成部60と学習部71と評価部72とが実装されるハードウェアは、単一でもよいし、分散されていてもよい。また、操作部355及び記憶部353の配置も特に限定されない。
以上、図1〜図4を参照して説明したように、本実施形態によれば、推論モデルMD1がピクセル単位でラベルを付加したラベル付画像LBを生成するため、撮像部37が生成した入力画像データD1に複数の対象物Wをそれぞれ示す複数の画像が含まれる場合であっても、各対象物Wを精度良く認識できる。その結果、各対象物Wの認識結果に基づいてロボット1のハンド13による各対象物Wの把持位置を精度良く指示できて、ハンド13による各対象物Wの把持が失敗する可能性を低減できる。
本実施形態では、ハンド13が対象物Wを把持し得る限りにおいては、ハンド13による把持の対象物Wの種類は特に限定されない。
例えば、対象物Wは、画像形成装置の部品である。画像形成装置は、シートに画像を形成する。画像形成装置は、例えば、コピー機能、プリンター機能、スキャナー機能、及びファクシミリ機能のような複数の機能を兼ね備えた複合機である。画像形成装置は、例えば、プリンター、コピー機、又は、ファクシミリ装置である。画像形成装置の部品としての対象物Wは、例えば、シートを搬送するための搬送ローラー、フィードローラー、シートの重送を抑制するためにフィードローラーに圧接して分離ニップを形成するリタードローラー、又は、トナーを収容するトナーコンテナを構成する部品(例えば、容器)である。
例えば、本発明は、対象物Wが画像形成装置に搭載される光学部品である場合に特に有効である。なぜなら、ロボット1のハンド13による各対象物Wの把持位置を精度良く指示できるため、高い配置の精度が要求される光学部品であっても、ロボット1は、精度良く光学部品を把持(ピック)し、光学部品を所定位置まで搬送して精度良く載置(プレース)する動作を繰り返すことができるからである。
画像形成装置の光学部品としての対象物Wは、例えば、画像形成装置の画像読取装置(ISU:Image scanner unit)を構成するレンズ又は撮像素子である。画像読取装置は原稿の画像を読み取る。例えば、画像形成装置の光学部品としての対象物Wは、画像形成装置の露光装置(LSU:Laser Scanner Unit)を構成するレンズ、ポリゴンミラー、コリメーターレンズ、又は、レーザーである。露光装置は感光体ドラムを露光する。
次に、図1、図2、図5、及び、図6を参照して、ロボット制御装置3が実行するロボット1の制御を説明する。図5及び図6は、ロボット制御装置3が実行するロボット1の制御を示すフローチャートである。図5及び図6に示すように、ロボット1の制御は、ステップS1〜ステップS18を含む。つまり、ステップS1〜ステップS18は、ロボット1を制御するロボット制御方法の一部を構成する。
図1、図2、及び、図5に示すように、ステップS1において、撮像部37は対象物Wの撮像を開始する。つまり、撮像部37は、ロボット1による把持の対象物Wを撮像して、対象物Wの画像を含む入力画像データD1(第1入力画像データD11及び第2入力画像データD12)を生成する。
ステップS2において、物体認識部51は、機械学習により生成された学習済みの推論モデルMD1に入力画像データD1(第1入力画像データD11及び第2入力画像データD12)を入力して、出力画像データD2を推論モデルMD1に出力させる。出力画像データD2は、対象物Wを識別するためのラベルをピクセル単位で付加した対象物Wのラベル付画像LBを含む。
ステップS3において、物体認識部51は、出力画像データD2に基づいて対象物Wが存在するか否かを判定する。ステップS3で対象物Wが存在しないと判定された場合(ステップS3でNo)、制御は終了する。物体認識部51は、出力画像データD2にラベル付画像LBが存在しない場合に、対象物Wが存在しないと判定する。一方、ステップS3で対象物Wが存在すると判定された場合(ステップS3でYes)、制御はステップS4に進む。物体認識部51は、出力画像データD2にラベル付画像LBが存在する場合に、対象物Wが存在すると判定する。
ステップS4において、座標出力部52は、深度画像DPを含む第2入力画像データD12と、ラベル付画像LBを含む出力画像データD2とに基づいて、ロボット1のハンド13の目標座標を計算する。目標座標は、対象物Wの把持位置を示す三次元座標である。
ステップS5において、軌道生成部33は、ハンド13の目標座標と、軌道生成アルゴリズムとに基づいて、ハンド13の目標軌道を生成する。
ステップS6において、ロボット制御部31は、目標軌道にハンド13が追従するように、多関節アーム11を駆動する。
ステップS7において、ロボット制御部31は、ハンド13が目標座標に到達したか否かを判定する。ステップS7でハンド13が目標座標に到達していないと判定された場合(ステップS7でNo)、制御はステップS5に進む。一方、ステップS7でハンド13が目標座標に到達したと判定された場合(ステップS7でYes)、制御はステップS8に進む。
ステップS8において、ロボット制御部31は、ハンド13が閉じるように、ハンド13を制御する。
ステップS9において、ロボット制御部31は、ハンド13の動作状態と、把持力センサー15から受信した把持力信号が示す把持力とに基づいて、ハンド13による対象物Wの把持が成功したか否かを判定する。
ステップS9で対象物Wの把持が失敗したと判定された場合(ステップS9でNo)、制御はステップS12に進む。
ステップS12において、ロボット制御部31は、対象物Wの把持が失敗したことを示す把持成否情報を、教師データ生成部60に出力する。また、ロボット制御部31は、対象物Wの把持が失敗したことを、ランプ又は音によってユーザーに報知する。
ステップS13において、教師データ生成部60は、対象物Wの把持が失敗したことを示す把持成否情報と関連付けて教師データセットTD(入力画像データD1及び出力画像データD2を含むデータセット)を記憶するように、記憶部353を制御する。そして、制御は終了する。
一方、ステップS9で対象物Wの把持が成功したと判定された場合(ステップS9でYes)、制御はステップS10に進む。
ステップS10において、ロボット制御部31は、対象物Wの把持が成功したことを示す把持成否情報を、教師データ生成部60に出力する。
ステップS11において、教師データ生成部60は、対象物Wの把持が成功したことを示す把持成否情報と関連付けて教師データセットTD(入力画像データD1及び出力画像データD2を含むデータセット)を記憶するように、記憶部353を制御する。そして、制御は図6に示すステップS14に進む。
図6に示すように、ステップS14において、ロボット制御部31は、ロボット1のハンド13の目標座標を指定する。目標座標は、ハンド13に把持された対象物Wの載置位置を示す三次元座標である。
ステップS15において、軌道生成部33は、ハンド13の目標座標と、軌道生成アルゴリズムとに基づいて、ハンド13の目標軌道を生成する。
ステップS16において、ロボット制御部31は、目標軌道にハンド13が追従するように、多関節アーム11を駆動する。
ステップS17において、ロボット制御部31は、ハンド13が目標座標に到達したか否かを判定する。ステップS17でハンド13が目標座標に到達していないと判定された場合(ステップS17でNo)、制御はステップS15に進む。一方、ステップS17でハンド13が目標座標に到達したと判定された場合(ステップS17でYes)、制御はステップS18に進む。
ステップS18において、ロボット制御部31は、ハンド13が開くように、ハンド13を制御する。その結果、ハンド13に把持された対象物Wが目標座標で示される載置位置に載置される。そして、制御は、図5に示すステップS2に進む。
以上、図5及び図6を参照して説明したように、本実施形態に係るロボット制御方法によれば、ピクセル単位でラベルが付加されるため(ステップS2)、撮像部37によって生成された入力画像データD1に複数の対象物Wをそれぞれ示す複数の画像が含まれる場合であっても、各対象物Wを精度良く認識できる。
次に、図2、図7、及び、図8を参照して、ロボット制御装置3が実行する再学習制御を説明する。図7及び図8は、ロボット制御装置3が実行する再学習制御を示すフローチャートである。図7及び図8に示すように、再学習制御は、ステップS31〜ステップS41を含む。つまり、ステップS31〜ステップS41は、ロボット1を制御するロボット制御方法の一部を構成する。
図2及び図7に示すように、ステップS31において、教師データ生成部60は、教師データセットTDを教師データ改変画面SC(図4)に表示するように、表示部DLを制御する。
ステップS32において、教師データ生成部60は、入力部PT及び改変作業画面82(図4)を介して、ユーザーから教師データセットTD(具体的にはラベル付画像LB)の改変指示を受け付ける。
ステップS33において、教師データ生成部60は、入力部PT及び改変作業画面82を介したユーザーからの改変指示に応じて教師データセットTD(具体的にはラベル付画像LB)を改変する。
ステップS34において、教師データ生成部60は、改変後の教師データセットTDを記憶するように、記憶部353を制御する。
ステップS35において、教師データ生成部60は、再学習ボタン87(図4)を介して推論モデルMD1の再学習指示を受け付けたか否かを判定する。
ステップS35で再学習指示を受け付けていないと判定された場合(ステップS35でNo)、制御はステップS36に進む。
ステップS36において、教師データ生成部60は、選択ボタン88a又は選択ボタン88b(図4)を介して改変対象の教師データセットTDの変更指示を受け付けたか否かを判定する。
ステップS36で改変対象の変更指示を受け付けていないと判定された場合(ステップS36でNo)、制御はステップS35に進む。一方、ステップS36で改変対象の変更指示を受け付けたと判定された場合(ステップS36でYes)、制御はステップS31に進む。
一方、ステップS35で再学習指示を受け付けたと判定された場合(ステップS35でYes)、制御は図8のステップS37に進む。
図8に示すように、ステップS37において、学習部71は、改変後のラベル付画像LBを含む教師データセットTDを推論モデルMD1に入力して、推論モデルMD1に再学習を実行させる。
ステップS38において、推論モデルMD1は再学習を実行する。再学習後の推論モデルMD1は、推論モデル候補MD2として記憶部353に記憶される。
ステップS39において、評価部72は、評価データEVを、推論モデルMD1(具体的には再学習していないオリジナルの推論モデルMD1)と推論モデル候補MD2との各々に入力して、推論モデルMD1の出力結果と推論モデル候補MD2の出力結果とを評価する。
ステップS40において、評価部72は、推論モデル候補MD2の評価が推論モデルMD1の評価よりも高いか否かを判定する。
ステップS40で推論モデル候補MD2の評価が推論モデルMD1の評価よりも高くないと判定された場合(ステップS40でNo)、制御は終了する。この場合は、物体認識部51は、推論モデルMD1(具体的には再学習していないオリジナルの推論モデルMD1)によって対象物Wを認識して、ラベル付画像LBを含む出力画像データD2を生成する。
一方、ステップS40で推論モデル候補MD2の評価が推論モデルMD1の評価よりも高いと判定された場合(ステップS40でYes)、制御はステップS41に進む。
ステップS41において、評価部72は、推論モデルMD1(具体的には再学習していないオリジナルの推論モデルMD1)に代えて、推論モデル候補MD2を新たに推論モデルに設定する。そして、制御は終了する。この場合は、物体認識部51は、新たに設定された推論モデルによって対象物Wを認識して、ラベル付画像LBを含む出力画像データD2を生成する。そして、制御は終了する。
以上、図7及び図8を参照して説明したように、本実施形態に係るロボット制御方法によれば、入力部PTがユーザーから受け付けた入力に応じて、教師データセットTDの出力画像データD2に含まれるラベル付画像をピクセル単位で改変する(ステップS32、S33)。従って、ロボット1が設置される現場において撮像部37によって生成された教師データセットTDを使用して、推論モデルMD1を再学習させることができる(ステップS38)。その結果、ロボット1が設置される現場に応じて再学習した推論モデルMD1である推論モデル候補MD2を、新たな推論モデルに設定できる(ステップS41)。よって、物体認識部51が新たな推論モデルを使用することで、対象物Wの認識精度を更に向上できる。
以上、図面を参照して本発明の実施形態について説明した。ただし、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施できる。また、上記の実施形態に開示される複数の構成要素は適宜改変可能である。例えば、ある実施形態に示される全構成要素のうちのある構成要素を別の実施形態の構成要素に追加してもよく、または、ある実施形態に示される全構成要素のうちのいくつかの構成要素を実施形態から削除してもよい。
また、図面は、発明の理解を容易にするために、それぞれの構成要素を主体に模式的に示しており、図示された各構成要素の厚さ、長さ、個数、間隔等は、図面作成の都合上から実際とは異なる場合もある。また、上記の実施形態で示す各構成要素の構成は一例であって、特に限定されるものではなく、本発明の効果から実質的に逸脱しない範囲で種々の変更が可能であることは言うまでもない。
(1)図2に示す座標出力部52は、撮像部37が生成した深度画像DPを含む第2入力画像データD12と、推論モデルMD1が出力した出力画像データD2とを、機械学習により生成された学習済みの座標推論モデル(以下、「座標推論モデルMDC」と記載する。)に入力して、ロボット1のハンド13の位置を制御するための三次元座標(x、y、z)を座標推論モデルMDCに出力させてもよい。この好ましい例では、機械学習により生成された学習済みの座標推論モデルMDCが三次元座標(x、y、z)を出力するため、ハンド13を更に精度良く制御できて、ハンド13による対象物Wの把持の失敗の可能性を更に低減できる。
また、座標出力部52は、撮像部37が生成した深度画像DPを含む第2入力画像データD12と、推論モデルMD1が出力した出力画像データD2とを、座標推論モデルMDCに入力して、ロボット1のハンド13の回転を制御するための回転角(roll、pitch、yaw)を座標推論モデルMDCに出力させてもよい。この好ましい例では、機械学習により生成された学習済みの座標推論モデルMDCが回転角(roll、pitch、yaw)を出力するため、ハンド13を更に精度良く制御できて、ハンド13による対象物Wの把持の失敗の可能性を更に低減できる。
座標推論モデルMDCを生成する機械学習のアルゴリズムは、推論モデルMD1を生成する機械学習のアルゴリズムと同様である。従って、座標推論モデルMDCは、決定木、最近傍法、単純ベイズ分類器、サポートベクターマシン、又は、ニューラルネットワーク(例えば、ディープニューラルネットワーク、再帰型ニューラルネットワーク、又は、畳み込みニューラルネットワーク)を含む。
(2)図1に示すロボット制御装置3の撮像部37は、深度センサー373を含んでいなくてもよい。従って、撮像部37が生成する入力画像データD1は、第2入力画像データD12(図2〜図4)を含んでいなくてもよい。つまり、教師データセットTDは、第2入力画像データD12(図2〜図4)を含んでいなくてもよい。機械学習によって推論モデルMD1を生成するときの教師データセットの入力画像データも、第2入力画像データを含んでいなくてもよい。