(57)【要約】【課題】構造的に特異点を有さず、効率よく機械学習を行うための技術を提供する。【解決手段】作業装置１０１は、把持部１１２と、把持部１１２の向きを調整する角度調整部１１１と、角度調整部１１１が装着される作業ヘッド１０９と、複数の駆動部により作業ヘッド１０９を移動させる位置調整部と、第１の撮像装置１１５と、情報処理装置１０２とを備える。角度調整部１１１は、第１および第２のリンクハブ３２，３３および各リンクハブ間に並列に配置された複数のリンクと、各リンクを駆動させる複数の駆動部とを含む。情報処理装置１０２は、第１の撮像装置１１５が撮影した画像に基づき、把持部１１２が２以上のワークを把持するとき、把持部１１２が把持するワークの個数および角度調整部１１１の各駆動部のトルクを機械学習モデルのパラメータとし、機械学習モデルにより決定された駆動信号に基づき各駆動部を駆動させ、把持部にワークの絡まり解き動作をさせる。【選択図】図１
2020157436.tif 000002
【特許請求の範囲】
【請求項１】
ワークの取り出しを行う作業装置であって、
ワークを容器から取り出して把持する把持部と、
前記把持部が装着され、前記把持部の向きを調整する角度調整部と、
前記角度調整部が装着される作業ヘッドと、
複数の駆動部により前記作業ヘッドを移動させる位置調整部と、
前記把持部の把持するワークを撮影する第１の撮像装置と、
前記作業装置を制御する情報処理装置とを備え、
前記角度調整部は、
第１および第２のリンクハブと、
前記第１および第２のリンクハブの間に並列に配置された複数のリンクと、
前記複数のリンクのそれぞれを駆動させる複数の駆動部とを含み、
前記情報処理装置は、
前記第１の撮像装置が撮影した画像に基づいて、前記把持部が把持するワークの個数を検出し、
前記把持部が把持するワークの個数が２以上であることに基づいて、前記把持部が把持するワークの個数および画像、前記角度調整部の各駆動部のトルクを機械学習モデルのパラメータとし、前記機械学習モデルにより、前記位置調整部および前記角度調整部の各駆動部に送信するそれぞれの駆動信号を決定し、
決定した前記駆動信号に基づいて、前記位置調整部の各駆動部および前記角度調整部の各駆動部を駆動させることにより、前記把持部にワークの絡まり解き動作をさせる、作業装置。
【請求項２】
前記情報処理装置は、
前記把持部が絡まり解き動作を実行した後に、再度、前記第１の撮像装置が撮影した画像に基づいて、前記把持部が把持するワークの個数を検出し、
前記把持部が把持するワークの個数が２以上であることに基づいて、前記把持部にワークの絡まり解き動作を再度実行させる、請求項１に記載の作業装置。
【請求項３】
前記情報処理装置は、
前記第１の撮像装置が撮影した画像に基づいて、前記把持部が把持するワークの個数が１であるか否かを判定し、
前記把持部が把持するワークの個数が１であることに基づいて、ワークの絡まり解き作業が完了したと判定し、
前記機械学習モデルの学習に用いる報酬データを生成し、前記機械学習モデルに入力する学習データに前記報酬データを加える、請求項１または２に記載の作業装置。
【請求項４】
前記情報処理装置は、
前記第１の撮像装置が撮影した画像に基づいて、前記把持部が把持するワークの個数が０であるか否かを判定し、
前記把持部が把持するワークの個数が０個であることに基づいて、前記機械学習モデルの学習に用いる報酬データを生成せずに、絡まり解き作業を終了する、請求項３に記載の作業装置。
【請求項５】
前記容器内のワークを撮影する第２の撮像装置をさらに備え、
前記情報処理装置は、
前記第２の撮像装置が撮影した画像に基づいて、前記容器内にワークがあるか否かを判定し、
前記容器内にワークがあると判定したことに基づいて、前記把持部を予め定められた取り出し作業の位置に移動させるための前記駆動信号を前記位置調整部および前記角度調整部の各駆動部に送信する、請求項１〜４のいずれか１項に記載の作業装置。
【請求項６】
前記情報処理装置は、
前記第２の撮像装置が撮影した画像に基づいて、前記容器内にワークがないと判定すると、前記容器内からのワークの取り出し作業を終了する、請求項５に記載の作業装置。
【請求項７】
前記情報処理装置は、前記位置調整部および前記角度調整部の各駆動部に送信するそれぞれの前記駆動信号を決定するとき、さらに、前記位置調整部の各駆動部のトルクを取得し、前記位置調整部の各駆動部のトルクを前記機械学習モデルのパラメータに加える、請求項１〜６のいずれか１項に記載の作業装置。
【請求項８】
前記位置調整部および前記角度調整部の各駆動部に送信されるそれぞれの前記駆動信号は、各駆動部のそれぞれの指令トルク、回転速度および回転量に関する情報を含む、請求項１〜７のいずれか１項に記載の作業装置。
【請求項９】
前記位置調整部は、３軸の直動機構を含む、請求項１〜８のいずれか１項に記載の作業装置。
【請求項１０】
前記位置調整部の駆動部は、ステッピングモータである、請求項１〜９のいずれか１項に記載の作業装置。
【請求項１１】
前記角度調整部の駆動部は、ステッピングモータである、請求項１〜１０いずれか１項に記載の作業装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ワーク取り出し作業装置に関し、より特定的には、リンク機構による角度調整機能を備えるワーク取り出し作業装置の機械学習を用いた制御に関する。
【背景技術】
【０００２】
自動化された機械加工または組立作業におけるワークピース（以下、ワークと称する）は、ロボットまたは組立装置等（所謂、ワーク取り出し作業装置）によって自動的にピックアップされ、加工装置または組立物にセットされることが多い。
【０００３】
取り出されたワークを後工程の組立作業で別のワークに組み付ける場合、ワーク取り出し作業装置は、ワークを１つずつ取り出す必要がある。しかし、バネやクリップの様に絡みやすいワークを扱う場合、ワーク取り出し作業装置は、２つ以上のワークを同時に把持してしまう可能性がある。そのため、ワーク取り出し作業装置には、ワークの取り出しだけでなく、ワーク同士の絡まりを解く機能（以下、絡まり解き機能と呼ぶ）が求められている。
【０００４】
また、近年、機械学習の手法が進歩してきたこともあり、ワーク取り出し作業装置の制御の精度向上のために、機械学習を導入することが望まれている。
【０００５】
ワークの取り出し制御に関し、例えば、特許文献１（特開２０１７−０３０１３５号公報）は、多関節ロボットを用いた「バラ積みされた状態を含む、乱雑に置かれたワークを取り出すときのロボットの最適な動作が人間の介在無しに選択される機械学習装置」を開示している（［要約］参照）。
【０００６】
また、絡まり取り制御に関し、例えば、特許文献２（特開平０５−１８５３８８号公報）は、「ロボットハンドのワーク把持状態を絡み検出用カメラが撮像し、この撮像した撮像情報に基づいてロボットハンドが把持するワークに絡み状態が発生しているか否かを視覚装置にて判定する」部品供給装置を開示している（［要約］参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−０３０１３５号公報
【特許文献２】特開平０５−１８５３８８号公報
【特許文献３】特開２０１７−０６４９１０号公報
【特許文献４】特開平０６−１４４５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、特許文献１および２に開示された技術はいずれも多関節ロボットを前提としている。多関節ロボットは、一般に特異点と呼ばれる構造的に制御できなくなる姿勢を含む。また、多関節ロボットは、ワークに加わる力やモーメントを検出するためのセンサーが必要であり、機械学習と組み合わせた場合に学習用のパラメータが多くなり、学習効率が悪くなる。
【０００９】
そのため、多関節ロボットと異なり、構造的に特異点を有さず、効率よく機械学習を行うための技術が必要とされている。
【００１０】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、構造的に特異点を有さず、効率よく機械学習を行うための技術を提供することにある。
【課題を解決するための手段】
【００１１】
ある実施の形態に従うワーク取り出しを行う作業装置は、ワークを容器から取り出して把持する把持部と、把持部が装着され、把持部の向きを調整する角度調整部と、角度調整部が装着される作業ヘッドと、複数の駆動部により作業ヘッドを移動させる位置調整部と、把持部の把持するワークを撮影する把持部撮像装置と、作業装置を制御する制御装置とを備える。角度調整部は、第１および第２のリンクハブと、第１および第２のリンクハブの間に並列に配置された複数のリンクと、複数のリンクのそれぞれを駆動させる複数の駆動部とを含む。制御装置は、把持部撮像装置が撮影した画像に基づいて、把持部が把持するワークの個数を検出し、把持部が把持するワークの個数が２以上であることに基づいて、把持部が把持するワークの個数および角度調整部の各駆動部のトルクを機械学習モデルのパラメータとし、機械学習モデルにより、位置調整部および角度調整部の各駆動部に送信するそれぞれの駆動信号を決定し、決定した駆動信号に基づいて、位置調整部の各駆動部および角度調整部の各駆動部を駆動させることにより、把持部にワークの絡まり解き動作をさせる。
【発明の効果】
【００１２】
ある実施の形態によれば、構造的に特異点を有さず、効率よく機械学習を行うことが可能である。
【００１３】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】ある実施の形態に従うワーク取り出し作業システム１００の一構成例を示す図である。
【図２】角度調整機構１１１の一構成例を示す図である。
【図３】角度調整機構１１１の回転軸４２に姿勢制御用の電動アクチュエータ１１を取り付けた一構成例を示す。
【図４】把持機構１１２の一構成例を示す図である。
【図５】把持機構１１２を取り付けた角度調整機構１１１の一例を示す図である。
【図６】情報処理装置１０２のハードウェアの一構成例を示す図である。
【図７】情報処理装置１０２を実現する機能の一構成例を示す図である。
【図８】評価値関数部８０２の動作の一例を示す図である。
【図９】動作パターンテーブル８０３の一例を示す図である。
【図１０】ワーク取り出し作業システム１００の処理の一例を示すフローチャートである。
【図１１】図１０の処理の動作イメージの一例を示す図である。
【図１２】ワーク取り出し作業システム１００の絡まり解き作業の学習処理の一例を示すフローチャートである。
【図１３】絡まり解き作業の初期学習処理（図１２のステップ１２３０に対応）の一例を示すフローチャートである。
【図１４】絡まり解き作業の学習処理（図１２のステップ１２６０に対応）の一例を示すフローチャートである。
【図１５】評価値関数部８０２の評価値関数Ｆの更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１６】
＜Ａ．システム構成＞
図１は、本実施の形態に従うワーク取り出し作業システム１００の一構成例を示す図である。図１を参照して、ワーク取り出し作業システム１００は、ワーク取り出し作業装置１０１と、情報処理装置１０２と、制御装置１０３と、撮像装置１１４，１１５とを備える。
【００１７】
ワーク取り出し作業装置１０１は、架台１０４と、第１の直動ユニット１０５と、第２の直動ユニット１０６と、第３の直動ユニット１０７と、電動アクチュエータ１０８Ａ，１０８Ｂ，１０８Ｃ（以降、総称する場合は電動アクチュエータ１０８と呼ぶ）と、作業ヘッド１０９と、回転ユニット取付部材１１０と、角度調整機構１１１と、把持機構１１２と、ワーク入れ１１３とを備える。
【００１８】
架台１０４は、第１の直動ユニット１０５と、第２の直動ユニット１０６と、第３の直動ユニット１０７と、それぞれの直動ユニットを駆動させる電動アクチュエータ１０８Ａ，１０８Ｂ，１０８Ｃと、作業ヘッド１０９とからなる位置調整装置が装着される台である。
【００１９】
第１の直動ユニット１０５、第２の直動ユニット１０６および第３の直動ユニット１０７は、それぞれ直交するＸ軸、Ｙ軸、Ｚ軸方向に作業ヘッド１０９を移動させる。ある局面において、各直動ユニットは、フレームと、リニアシャフトと、リニアブッシュと、電動アクチュエータ１０８から動力を伝達するための台形ネジおよびボールネジナットとを備えていてもよい。また、ある局面において、各直動ユニットは、リニアシャフトの代わりに、リニアガイドや、フレームの表面を滑るガイドローラーを備えていてもよい。また、ある局面において、各直動ユニットは、台形ネジの代わりに駆動ベルトを備えていてもよい。また、各直動ユニットの端部には、各電動アクチュエータ１０８の初期位置の決定と、安全機構のための、衝突検知センサーが設けられていてもよい。
【００２０】
電動アクチュエータ１０８は、それぞれの直動ユニットを駆動させる。ある局面において、電動アクチュエータ１０８は、ステッピングモータであり、台形ネジや駆動ベルトを介して動力を各直動ユニットに伝達してもよい。また、ある局面において、電動アクチュエータ１０８は、ＡＣサーボモータまたはエンコーダーを備えたギアードモータであってもよい。情報処理装置１０２は、ステッピングモータのステップ数や、エンコーダーの回転数によって、作業ヘッド１０９および把持機構１１２の現在位置を算出してもよい。
【００２１】
作業ヘッド１０９は、上下方向（Ｚ軸方向）に動作するように第３の直動ユニット１０７に取り付けられている。また、作業ヘッド１０９は、作業に必要なパーツを取り付けるためのネジ穴やアタッチメントを備える。
【００２２】
回転ユニット取付部材１１０は、作業ヘッド１０９に取り付けられており、角度調整機構１１１を取り付けるためのネジ穴やアタッチメントを備える。角度調整機構１１１は、把持機構１１２によって把持されたワークの向きを微調整する。また、角度調整機構１１１の根元は電動アクチュエータを用いた回転機構となっている。なお、回転機構は、角度調整機構１１１とは別体でもよい。角度調整機構１１１の詳細については後述する。把持機構１１２は、ワーク取り出し作業におけるワーク、例えば、Ｃ型サークリップや、ばね、コイル等を把持する。把持機構１１２の詳細については後述する。ワーク入れ１１３は、ワークを入れるための箱である。
【００２３】
情報処理装置１０２は、制御装置１０３を介して、ワーク取り出し作業装置１０１に対して制御命令を送信し、また、電動アクチュエータ１０８や角度調整機構１１１の電動アクチュエータのモータトルク値等を取得する。情報処理装置１０２の詳細は後述する。
【００２４】
制御装置１０３は、ワーク取り出し作業装置１０１および情報処理装置１０２の間のデータを相互に変換する。ある局面において、制御装置１０３は、マイクロコンピューターからなる制御基板であり、情報処理装置１０２から、ワーク取り出し作業装置１０１の電動アクチュエータ１０８や角度調整機構１１１の電動アクチュエータに対する指令（指令トルク、回転量、回転速度等）を受信し、それぞれの電動アクチュエータに制御信号を送信してもよい。
【００２５】
撮像装置１１４は、ワーク入れ１１３を上から撮影することによって得られる画像または映像を情報処理装置１０２に送信する。情報処理装置１０２は、撮像装置１１４から受信した画像または映像に基づいて、ワークの位置を検出し、位置調整装置により、把持機構１１２をワークの取り出し位置まで移動させる。
【００２６】
撮像装置１１５は、把持機構１１２が把持するワークを横から撮影することによって得られる画像または映像を情報処理装置１０２に送信する。情報処理装置１０２は、撮像装置１１５から受信した画像または映像に基づいて、把持機構１１２が把持するワークの個数を検出する。
【００２７】
＜Ｂ．システム構成部品のハードウェア構成＞
図２は、角度調整機構１１１の一構成例を示す図である。図２を参照して、角度調整機構１１１は、基端側の第１リンクハブ３２に対し先端側の第２リンクハブ３３を３組のリンク機構３４によって姿勢変更可能に連結したものである。先端側の第２リンクハブ３３には、図１に示された把持機構１１２が取り付けられる。なお、ここでは３組のリンク機構３４を有する角度調整機構１１１について示したが、リンク機構３４の数は、４組以上であってもよい。
【００２８】
各リンク機構３４は、基端側の端部リンク部材３５、先端側の端部リンク部材３６および中央リンク部材３７で構成される。リンク機構３４は、４つの回転対偶からなる４節連鎖のリンク機構である。基端側および先端側の端部リンク部材３５，３６はＬ字状の形状を有する。
【００２９】
基端側の端部リンク部材３５の一端は、回転軸４２を介して、基端側の第１リンクハブ３２に回転自在に連結されている。先端側の端部リンク部材３６の一端は、回転軸７３を介して、先端側の第２リンクハブ３３に回転自在に連結されている。中央リンク部材３７は、回転軸５５，７５を介して、両端に端部リンク部材３５，３６の各他端がそれぞれ回転自在に連結されている。
【００３０】
角度調整機構１１１は、パラレルリンク機構であり、２つの球面リンク機構を組み合わせた構造を有する。端部リンク部材３５，３６と中央リンク部材３７との各回転対偶の中心軸は、ある交差角を持っていてもよいし、平行であってもよい。
【００３１】
角度調整機構１１１は、リンクの動作のみで各リンクハブの中心軸の相対角度を調整可能であり、多関節ロボットのように直列に連結された複数の関節の動作を伴わない。このため、先端のわずかな動きに対して構成部材が大きく動くことは無く素早い動作が可能である。また、角度調整機構１１１は、リンクを駆動させる電動アクチュエータのモータトルク値から、任意の姿勢における把持機構１１２の先端に加わる力を検出できる。
【００３２】
第２リンクハブ３３は、第１リンクハブ３２から見て半球面上で姿勢を変える。そのため、第１リンクハブ３２から見た第２リンクハブ３３の目標位置と、各リンクの姿勢とは、必ず一対一で対応する。よって、角度調整機構１１１は、ロボットアーム等のマルチリンクを持つ構造と異なり、特異点を有さない。
【００３３】
図３は、角度調整機構１１１の回転軸４２に姿勢制御用の電動アクチュエータ１１を取り付けた一構成例を示す。電動アクチュエータ１１は、減速機構６２を備えたロータリアクチュエータ（モータ）である。電動アクチュエータ１１は、基端側の第１リンクハブ３２の上面に、電動アクチュエータ１１の回転軸と回転軸４２とが同軸上に位置するように設置されている。電動アクチュエータ１１および減速機構６２は、一体として設けられてもよい。減速機構６２は、モータ固定部材６３により基端側の第１リンクハブ３２に固定される。ある局面において、電動アクチュエータ１１は、ＡＣサーボモータまたはエンコーダーを備えたギアードモータであってもよい。
【００３４】
図３に示す例では、電動アクチュエータ１１が３組のリンク機構３４の全てに設けられているが、本実施の形態に従う角度調整機構１１１はこれに限られない。角度調整機構１１１は、リンク機構３４のうち少なくとも２組に姿勢制御用の電動アクチュエータ１１が設けられていれば、基端側の第１リンクハブ３２に対する先端側の第２リンクハブ３３の姿勢を確定することができる。
【００３５】
図４は、把持機構１１２の一構成例を示す図である。把持機構１１２は、対向する２枚の爪で対象物を挟み込む。本実施の形態に従う把持機構１１２は、エアシリンダを用いて２枚の爪を開閉させる方式である。状態Ａは把持機構１１２の開放時の状態を示す。状態Ｂは把持機構１１２の閉じた状態を示す。図４に示す把持機構１１２は一例であり、本実施の形態に従う把持機構１１２はこれに限られない。ある局面において、把持機構１１２は、電動式の開閉機構、対象物を吸着する機構または他の挟み込み機構であってもよい。
【００３６】
図５は、把持機構１１２を取り付けた角度調整機構１１１の一例を示す図である。角度調整機構１１１の先端側の第２リンクハブ３３は、把持機構１１２をネジ止めするネジ穴、はめ込み穴またはその他のアタッチメントを備えていてもよい。図５に示す構成によって、ワーク取り出し作業装置１０１は、把持機構１１２が複数のワークを把持したときにおける、絡まり解きの動作を行うことができる。
【００３７】
なお、本実施の例では、位置調整装置は、角度調整機構１１１を移動させているが、本実施の形態に従うワーク取り出し作業装置１０１はこれに限られない。位置調整装置は、角度調整機構１１１、把持機構１１２およびワーク入れ１１３の中のワークを相対的に位置決めできればよく、ある局面において、位置調整装置は、ワーク入れ１１３を移動させる機構を含んでもよい。
【００３８】
＜Ｃ．回路およびソフトウェア構成＞
図６は、情報処理装置１０２のハードウェアの一構成例を示す図である。図６を参照して、情報処理装置１０２は、ＣＰＵ（Central Processing Unit）７０１と、１次記憶装置７０２と、２次記憶装置７０３と、外部機器インターフェース７０４と、入力インターフェース７０５と、出力インターフェース７０６と、通信インターフェース７０７とを備える。
【００３９】
ＣＰＵ７０１は、情報処理装置１０２で動作するプログラムやデータを処理する。１次記憶装置７０２は、ＣＰＵ７０１によって実行されるプログラムおよび参照されるデータを格納する。ある局面において、ＤＲＡＭ（Dynamic Random Access Memory）が１次記憶装置７０２として使用されてもよい。
【００４０】
２次記憶装置７０３は、プログラムやデータ等を長期間記憶する。一般的に２次記憶装置７０３は、１次記憶装置７０２よりも低速であるため、ＣＰＵ７０１で直接使用するデータは、１次記憶装置７０２に配置され、それ以外のデータは、２次記憶装置７０３に配置される。ある局面において、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の不揮発性の記憶装置が２次記憶装置７０３として使用されてもよい。
【００４１】
外部機器インターフェース７０４は、情報処理装置１０２に補助デバイスを接続する場合等に使用される。ある局面において、ＵＳＢ（Universal Serial Bus）インターフェースが、外部機器インターフェース７０４として使用されてもよい。入力インターフェース７０５は、キーボードやマウス等を接続するために使用される。ある局面において、ＵＳＢインターフェースが、入力インターフェース７０５として使用されてもよい。
【００４２】
出力インターフェース７０６は、ディスプレイ等の出力デバイスを接続するために使用される。ある局面において、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）やＤＶＩ（Digital Visual Interface）が出力インターフェース７０６として使用されてもよい。
【００４３】
通信インターフェース７０７は、外部の通信機器と通信するために使用される。ある局面において、ＬＡＮ（Local Area Network）ポートや、Ｗｉ−Ｆｉ（登録商標）（Wireless Fidelity）の送受信装置等が、通信インターフェース７０７として使用されてもよい。また、ある局面において、情報処理装置１０２は、ＰＣ（Personal Computer）またはワークステーションであってもよい。本実施の形態に従う情報処理装置１０２の処理は、図６に示すハードウェア上で、プログラムとして実行されてもよい。
【００４４】
図７は、情報処理装置１０２を実現する機能の一構成例を示す図である。ある局面において、図７に示す機能の一部は、図６に示すハードウェア上で、プログラムが実行されることにより実現され得る。図７を参照して、情報処理装置１０２は、信号入力部８０１と、評価値関数部８０２と、動作パターンテーブル８０３と、動作決定部８０４と、指令生成部８０５と、動作結果判定部８０６と、評価値関数学習部８０７とを含む。
【００４５】
信号入力部８０１は、撮像装置１１４，１１５が撮影することによって取得された画像と、ワーク取り出し作業装置１０１から角度調整機構１１１の電動アクチュエータ１１のモータトルク値とを取得する。ある局面において、信号入力部８０１は、さらに、位置調整装置の電動アクチュエータ１０８のモータトルク値を取得してもよい。
【００４６】
評価値関数部８０２は、後述する評価値関数Ｆを用いて信号入力部に入力された画像から検出されたワークの個数およびモータトルク値等に基づいて各動作パターンに対応するそれぞれの評価値を計算する。
【００４７】
動作パターンテーブル８０３は、位置調整装置および角度調整機構１１１の各電動アクチュエータの移動量および移動速度、加速度、指令トルク値の内の少なくとも１つが対応付けられた複数の動作パターンを保管する。動作パターンテーブル８０３は、角度調整機構１１１に関して、個別のアクチュエータの指令値ではなく、角度調整機構１１１の角度等を動作パターンに含めてもよい。
【００４８】
動作決定部８０４は、動作パターンテーブル８０３の動作パターンの中から、評価値が最大となる動作パターンをワーク取り出し作業装置１０１の次の動作として選択する。指令生成部８０５は、動作決定部８０４により選択された動作パターンに基づいて、ワーク取り出し作業装置１０１の各電動アクチュエータへの指令値を生成し、制御装置１０３を介して、当該指令値をワーク取り出し作業装置１０１に送信する。
【００４９】
動作結果判定部８０６は、前回選択された動作パターンの実行前後における、把持機構１１２が把持しているワーク個数が１のときは報酬１を与え、２つ以上のワークを把持している場合は０を与える。さらに、動作パターンの実行回数が上限回数を超過した場合は−１を与える。
【００５０】
評価値関数学習部８０７は、動作結果判定部が出力した報酬を教師信号として、動作パターンを選択した時の評価値と、教師信号との差に基づいて評価値関数Ｆを更新する。ある局面において、評価値関数学習部８０７は、予め定められた回数だけ評価値関数Ｆを更新するごとに、評価値関数部８０２で使用する評価値関数Ｆを最新状態に更新してもよい。
【００５１】
図８は、評価値関数部８０２の動作の一例を示す図である。評価値関数部８０２は、信号入力部８０１から、各撮像装置１１４，１１５が撮影することによって取得された画像およびモータトルク値等を取得して評価値関数Ｆに入力する。なお、情報処理装置１０２は、画像から検出したワークの個数を評価値関数Ｆに入力してもよい。評価値は動作パターンごとに算出される。図８に示す例では、評価値関数部８０２は、ｎ個の各動作パターンａ１〜ａｎに対してそれぞれ評価値を算出する。ある局面において、評価値関数部８０２は、画像（もしくは、画像に写るワークの個数）やモータトルク値等を評価値関数Ｆの入力として受け付け、各動作パターンのそれぞれの評価値を計算するプログラムであってもよい。
【００５２】
評価値関数Ｆが出力するｎ個の評価値は、次に実行すべき動作パターンを選択するための指標であり、対応する評価値が最大の値を示す動作パターンが、次に実行すべき最適な動作であること示す。
【００５３】
そのため、動作決定部８０４は、ｎ個の動作パターンの中から、最大の評価値に対応する動作パターンを次の動作として選択する。図９に示す例では、「評価値＝０．６１４」が最大のため、動作決定部８０４は、「評価値＝０．６１４」に対応する動作パターンａｎ−３を選択する。
【００５４】
動作決定部８０４は、選択した動作パターンａｎ−３を指令生成部８０５に転送する。指令生成部８０５は、動作パターンテーブル８０３を参照し、ａｎ−３に対応する指令値を生成して制御装置１０３に出力する。
【００５５】
図９は、動作パターンテーブル８０３の一例を示す図である。動作パターンテーブル８０３は、動作パターンごとに、位置調整装置の電動アクチュエータ１０８の移動量、移動速度、加速度および指令トルク値と、角度調整機構１１１の根元の回転機構の回転角度、回転速度、加速度、減速度および指令トルク値と、角度調整機構１１１の折れ角変更量、旋回角変更量、回転速度、加速度、減速度および指令トルク値とを格納する。
【００５６】
ある局面において、動作パターンテーブル８０３は、角度調整機構１１１の個別の電動アクチュエータの移動量、移動速度、加速度、および指令トルク値を格納してもよい。また、ある局面において、動作パターンテーブル８０３は、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって参照されてもよい。
【００５７】
＜Ｄ．ワーク取り出し作業における情報処理装置１０２の内部処理＞
図１０は、ワーク取り出し作業システム１００の処理の一例を示すフローチャートである。ある局面において、図１０の処理を実行するためのプログラムは２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１０の各ステップを実行するものとして当該処理を説明する。
【００５８】
ステップＳ１００５において、情報処理装置１０２は、撮像装置１１４がワーク入れ１１３を上から撮影することによって得られた画像１に基づいて、ワーク入れ１１３の中のワークの位置を検出する。ある局面において、情報処理装置１０２は、画像１からワーク入れ１１３の中のワークの位置を検出するために、既存の画像認識技術を用いてもよい。
【００５９】
ステップＳ１０１０において、情報処理装置１０２は、画像１からワークを検出したか否かを判定する。情報処理装置１０２は、画像１からワークを検出した場合（ステップＳ１０１０にてＹＥＳ）、制御をステップＳ１０１５に移す。そうでない場合（ステップＳ１０１０にてＮＯ）、情報処理装置１０２は、ワーク入れ１１３内から全てのワークの取り出し処理が完了したと判定し、処理を終了する。
【００６０】
ステップＳ１０１５において、情報処理装置１０２は、位置調整装置により、把持機構１１２をワークの取り出し作業のための予め定められた位置に移動させ、ワーク入れ１１３からワークを取り出す。
【００６１】
ステップＳ１０２０において、情報処理装置１０２は、撮像装置１１５が把持機構１１２の先端を側面から撮影することによって取得された画像２を基に、把持機構１１２が把持しているワークの個数を算出する。ある局面において、情報処理装置１０２は、画像２から把持機構１１２が把持しているワークの個数を算出するために、既存の画像認識技術を用いてもよい。
【００６２】
ステップＳ１０２５において、情報処理装置１０２は、画像２の解析結果に基づいて、把持機構１１２がワークを１個だけ把持しているか否かを判定する。情報処理装置１０２は、把持機構１１２がワークを１個だけ把持していると判定した場合（ステップＳ１０２５にてＹＥＳ）、制御をステップＳ１０３０に移す。そうでない場合（ステップＳ１０２５にてＮＯ）、制御をステップＳ１０３５に移す。
【００６３】
ステップＳ１０３０において、情報処理装置１０２は、把持機構１１２が把持するワークを予め定められた位置に置き、処理を終了する。
【００６４】
ステップＳ１０３５において、情報処理装置１０２は、画像２の解析結果に基づいて、把持機構１１２がワークを１個も把持していないか否かを判定する。情報処理装置１０２は、把持機構１１２がワークを１個も把持していないと判定した場合（ステップＳ１０３５にてＹＥＳ）、処理を終了する。そうでない場合（ステップＳ１０３５にてＮＯ）、情報処理装置１０２は制御をステップＳ１０４０に移す。
【００６５】
ステップＳ１０４０において、情報処理装置１０２は、撮像装置１１４，１１５が撮影した各画像と、各電動アクチュエータのモータトルク値とを取得する。ある局面において、情報処理装置１０２は、各画像および各電動アクチュエータのモータトルク値に加えて、各種センサー値を各種センサーから取得してもよい。
【００６６】
ステップＳ１０４５において、情報処理装置１０２は、取得した各画像（もしくは、画像に写るワークの個数）および各電動アクチュエータのモータトルク値を評価値関数部８０２の入力として、動作パターンごとの評価値を算出する。ステップＳ１１５０において、情報処理装置１０２は、動作パターンごとに算出された評価値の中で最大の評価値を選択し、当該最大の評価値に対応する動作パターンａｋを次の動作として選択する。
【００６７】
ステップＳ１１５５において、情報処理装置１０２は、指令生成部８０５により、選択した動作パターンａｋを実行するための指令をワーク取り出し作業装置１０１に送信する。ワーク取り出し作業装置１０１は、受信した指令に基づいて、角度調整機構１１１の電動アクチュエータ１１を駆動させることにより、把持機構１１２に絡まり解き動作をさせる。ある局面において、ワーク取り出し作業装置１０１は、角度調整機構１１１の電動アクチュエータ１１および位置調整装置の電動アクチュエータ１０８を駆動させることにより、把持機構１１２に絡まり解き動作をさせてもよい。
【００６８】
ステップＳ１１６０において、情報処理装置１０２は、再度、撮像装置１１５により把持機構１１２の先端を側面から撮影することによって取得された画像２を基に、把持機構１１２が把持しているワークの個数を算出する。
【００６９】
ステップＳ１１６５において、情報処理装置１０２は、ステップＳ１１６０にて撮影された画像２の解析結果に基づいて、把持機構１１２がワークを１個だけ把持しているか否かを判定する。情報処理装置１０２は、把持機構１１２がワークを１個だけ把持していると判定した場合（ステップＳ１０６５にてＹＥＳ）、絡まり解き作業は完了したため、制御をステップＳ１０３０に移す。そうでない場合（ステップＳ１０６５にてＮＯ）、絡まり解き作業は未完了のため、情報処理装置１０２は制御をステップＳ１０３５に移す。
【００７０】
ステップＳ１０４０〜Ｓ１０６５において、情報処理装置１０２は、把持機構１１２が１個のワークを把持している状態になるまで、評価値に基づいて選択された動作パターンをワーク取り出し作業装置１０１に実行させ続けることで、ワークの絡まりを解くことができる。
【００７１】
図１１は、図１０の処理の動作イメージの一例を示す図である。状態Ｘは、把持機構１１２がワーク入れ１１３からワークを取り出した直後を表している（ステップＳ１０１５に対応）。把持機構１１２は、絡まった状態の３個のワーク（ワークＡ，Ｂ，Ｃ）を把持している。
【００７２】
情報処理装置１０２は、状態Ｘから、図１０のステップＳ１０３５〜ステップＳ１０６５の処理を繰り返すことにより、ワーク取り出し作業装置１０１に絡まり解き作業をさせる。情報処理装置１０２は、状態Ｘのときの各画像（もしくは、画像に写るワークの個数）および各電動アクチュエータのモータトルク値を取得する（ステップＳ１０４０に対応）。次に、情報処理装置１０２は、状態Ｘのときの各画像（もしくは、画像に写るワークの個数）および各電動アクチュエータのモータトルク値を評価値関数Ｆの入力として、各動作パターンのそれぞれの評価値を算出する（ステップＳ１０４５に対応）。そして、情報処理装置１０２は、最も評価値の高い動作パターンａｎ−３を選択し（ステップＳ１０５０に対応）、動作パターンａｎ−３に対応する指令をワーク取り出し作業装置１０１に送信する（ステップＳ１０５５に対応）。
【００７３】
状態Ｙは、ワーク取り出し作業装置１０１が動作パターンａｎ−３を実行した直後の様子を示す。情報処理装置１０２は、把持機構１１２がワークを１個把持しているか否かを判定する（ステップＳ１０６０およびＳ１０６５に対応）。状態Ｙにおいて、把持機構１１２が把持するワークの数は３個のままであり、絡まり解き作業は完了していない。よって、情報処理装置１０２は、再度ステップＳ１０３５からステップＳ１０６５までの処理を繰り返す。
【００７４】
状態Ｚは、ワーク取り出し作業装置１０１が状態Ｙのときに動作パターンａｎ−１を実行した直後の様子を示す。状態Ｚにおいて、ワークＢ，Ｃは落下しており、把持機構１１２が把持するワークの絡まり解き作業は完了していることがわかる。情報処理装置１０２は、撮像装置１１５が把持機構１１２の先端を側面から撮影することによって取得された画像２から、ワークの絡まり解き作業の完了を検出する。ワークの絡まり解き作業が完了した後は、情報処理装置１０２は、ワーク取り出し作業装置１０１に、ワークを予め定められた位置に運ばせる。その後、情報処理装置１０２は、ワーク取り出し作業装置１０１に、次のワークの取り出し作業を行うための指令を送信してもよい。
【００７５】
＜Ｅ．ワーク取り出し作業の学習処理＞
図１０および図１１で説明した例において、情報処理装置１０２は、撮像装置１１４，１１５により撮影することによって取得された画像１，２の撮影した画像（もしくは、画像に写るワークの個数）、角度調整機構１１１および位置調整装置の現在のモータトルク値等に基づいて各動作パターンのそれぞれの評価値を計算し、評価値が最大になる動作パターンを順次実行することで動作を成功させる。そのため、図８の評価値関数Ｆは、画像（もしくは、画像に写るワークの個数）およびモータトルク値等に基づいて次に実行すべき最適な動作パターンに対して最大の評価値を出力するよう最適化されている必要がある。
【００７６】
しかし、ワーク取り出し処理の対象となるワークの初期状態（ワーク同士の絡まり方等）は、把持機構１１２に把持されるごとに変化する可能性ある。また、ワーク取り出し作業装置１０１が動作パターンを実行することで、把持機構１１２により把持されたワークの姿勢や絡まり方も変化する可能性がある。これらのあらゆる状態を想定したルールベースの動作プログラムの構築は困難である。よって、本実施の形態に従うワーク取り出し作業システム１００は、強化学習により、繰り返し動作を試行する過程で評価値関数Ｆを最適化する。
【００７７】
図１２は、ワーク取り出し作業システム１００の絡まり解き作業の学習処理の一例を示すフローチャートである。ある局面において、図１２の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１２の各ステップを実行するものとして当該学習処理を説明する。
【００７８】
ステップＳ１２１０において、情報処理装置１０２は、変数ｊに１を代入する。ステップＳ１２２０において、情報処理装置１０２は、変数ｊの値が定数Ｊ１以下であるか否かを判定する。情報処理装置１０２は、変数ｊの値が定数Ｊ１以下であると判定すると（ステップＳ１２２０にてＹＥＳ）、ステップＳ１２３０に制御を移す。そうでない場合（ステップＳ１２２０にてＮＯ）、情報処理装置１０２は、ステップＳ１２５０に制御を移す。評価値関数Ｆが未学習の初期状態において、情報処理装置１０２は、変数ｊが定数Ｊ１に達するまで、絡まり解き作業初期学習を繰り返し実行する。
【００７９】
ステップＳ１２３０において、情報処理装置１０２は、絡まり解き作業の初期学習処理を実行する。絡まり解き作業の初期学習処理については後述する。ステップＳ１２４０において、情報処理装置１０２は、変数ｊの値をインクリメントする。以降は、情報処理装置１０２は、上限回数として予め定められた回数Ｊ１まで、絡まり解き作業の初期学習処理を繰り返し実行する。
【００８０】
ステップＳ１２５０において、情報処理装置１０２は、変数ｊの値が定数Ｊ２以下であるか否かを判定する。情報処理装置１０２は、変数ｊの値が定数Ｊ２以下であると判定すると（ステップＳ１２５０にてＹＥＳ）、ステップＳ１２６０に制御を移す。そうでない場合（ステップＳ１２５０にてＮＯ）、情報処理装置１０２は、学習処理を終了する。
【００８１】
ステップＳ１２６０において、情報処理装置１０２は、絡まり解き作業の学習処理を実行する。絡まり解き作業の学習処理については後述する。ステップＳ１２７０において、情報処理装置１０２は、変数ｊの値をインクリメントする。以降は、情報処理装置１０２は、変数ｊが上限値として予め定められた定数Ｊ２より大きくなるまで、絡まり解き作業の学習処理を繰り返し実行する。
【００８２】
図１３は、絡まり解き作業の初期学習処理（図１２のステップＳ１２３０に対応）の一例を示すフローチャートである。ある局面において、図１３の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１３の各ステップを実行するものとして当該初期学習処理を説明する。
【００８３】
ステップＳ１３０５において、情報処理装置１０２は、位置調整装置により、把持機構１１２を予め定められた位置（ワーク取り出し開始位置）に移動させるための指令をワーク取り出し作業装置１０１に送信する。
【００８４】
ステップＳ１３１０において、情報処理装置１０２は、変数ｉに１を代入する。ステップＳ１３１５において、情報処理装置１０２は、ワーク取り出し作業装置１０１の撮像装置１１４，１１５の撮影した画像（もしくは、画像に写るワークの個数）と、各電動アクチュエータのモータトルク値とを状態情報Ｓ１として取得する。なお、状態情報Ｓ１は、さらに、情報処理装置１０２が各種センサーから取得した各種センサー値を含んでいてもよい。
【００８５】
ステップＳ１３２０において、情報処理装置１０２は、動作決定部８０４により、乱数を用いて次に実行する動作パターンａｋを選択する。具体的には、情報処理装置１０２は、１〜ｎの間の乱数に基づいて動作パターンのインデックス番号ｋを決定する。
【００８６】
ステップＳ１３２５において、情報処理装置１０２は、状態情報Ｓ１を評価値関数学習部８０７に保管した後、ワーク取り出し作業装置１０１に動作パターンａｋを実行させるための指令を送信する。
【００８７】
ステップＳ１３３０において、情報処理装置１０２は、ワーク取り出し作業装置１０１が動作パターンａｋを実行した後に、ワーク取り出し作業装置１０１の撮像装置１１４，１１５の撮影した画像（もしくは、画像に写るワークの個数）と、各電動アクチュエータのモータトルク値とを状態Ｓ２として取得する。なお、状態Ｓ２は、さらに、情報処理装置１０２が各種センサーから取得した各種センサー値を含んでいてもよい。
【００８８】
ステップＳ１３３５において、情報処理装置１０２は、撮像装置１１５が把持機構１１２の先端を側面から撮影することによって取得された画像２を基に、把持機構１１２が把持しているワークの個数を算出する。ある局面において、情報処理装置１０２は、画像２から把持機構１１２が把持しているワークの個数を算出するために、既存の画像認識技術を用いてもよい。
【００８９】
ステップＳ１３４０において、情報処理装置１０２は、画像２の解析結果に基づいて、把持機構１１２がワークを１個だけ把持しているか否かを判定する。情報処理装置１０２は、把持機構１１２がワークを１個だけ把持していると判定した場合（ステップＳ１３４０にてＹＥＳ）、制御をステップＳ１３４５に移す。そうでない場合（ステップＳ１３４０にてＮＯ）、情報処理装置１０２は制御をステップＳ１３６０に移す。
【００９０】
ステップＳ１３４５において、情報処理装置１０２は、終了判定をＴｒｕｅ（完了）にし、「動作パターンａｋ」に対する報酬Ｒを１にする。なお、本実施の例では、報酬Ｒは、成功のときは１、失敗のときは−１、それ以外のときは０とするが、報酬Ｒの例はこれに限られない。成功時や失敗時のときの報酬ごとに差があればよい。
【００９１】
ステップＳ１３５０において、情報処理装置１０２は、評価値関数学習部８０７に、実行した「動作パターンａｋ」、「状態情報Ｓ１，Ｓ２」、「報酬Ｒ（Ｒ＝１）」および「終了判定Ｔｒｕｅ（完了）」を保存する。ステップＳ１３５５において、情報処理装置１０２は、評価値関数Ｆの更新処理を実行する。
【００９２】
ステップＳ１３６０において、情報処理装置１０２は、画像２の解析結果に基づいて、把持機構１１２がワークを１個も把持していないか否かを判定する。情報処理装置１０２は、把持機構１１２がワークを１個も把持していないと判定した場合（ステップＳ１３６０にてＹＥＳ）、報酬Ｒを生成せず処理を終了する。そうでない場合（ステップＳ１３６０にてＮＯ）、情報処理装置１０２は制御をステップＳ１３６５に移す。
【００９３】
ステップＳ１３６５において、情報処理装置１０２は、変数ｉの値が定数Ｎ１より大きいか否かを判定する。定数Ｎ１は、絡まり解き作業中に繰り返してよい動作パターンの実行回数の上限値である。情報処理装置１０２は、変数ｉの値が定数Ｎ１より大きいと判定した場合（ステップＳ１３６５にてＹＥＳ）、動作パターンの実行回数が上限に達したと判断し、制御をステップＳ１３７０に移す。そうでない場合（ステップＳ１３６５にてＮＯ）、情報処理装置１０２は制御をステップＳ１３７５に移す。
【００９４】
ステップＳ１３７０において、情報処理装置１０２は、終了判定をＴｒｕｅにし、動作パターンａｋに対する報酬Ｒを−１にする。ステップＳ１３５０以降の処理は前述した通りになる。ステップＳ１３７５において、情報処理装置１０２は、変数ｉの値をインクリメントする。ステップＳ１３８０において、情報処理装置１０２は、終了判定をＦａｌｓｅにし、実行した「動作パターンａｋ」に対する報酬Ｒを０にする。
【００９５】
ステップＳ１３８５において、情報処理装置１０２は、評価値関数学習部８０７に、実行した「動作パターンａｋ」、「状態情報Ｓ１，Ｓ２」、「報酬Ｒ（Ｒ＝０）」および「終了判定Ｆａｌｓｅ（未完了）」を保存する。ステップＳ１３９０において、情報処理装置１０２は、評価値関数Ｆの更新処理を実行する。
【００９６】
図１４は、絡まり解き作業の学習処理（図１２のステップＳ１２６０に対応）の一例を示すフローチャートである。ある局面において、図１４の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１４の各ステップを実行するものとして当該学習処理を説明する。また、図１４において、前述の処理と同一の処理には、同一の符号を付してある。したがって、同一の処理の説明は繰り返さない。
【００９７】
ステップＳ１４１０において、情報処理装置１０２は、評価値関数部８０２により、状態情報Ｓ１に基づいて、各動作パターンのそれぞれの評価値を算出する。ステップＳ１４２０において、情報処理装置１０２は、動作パターンテーブル８０３を参照して、最も評価値が高い動作パターンを選択する。
【００９８】
図１３の絡まり解きの初期学習処理においては、学習情報が十分にないため、情報処理装置１０２は、ステップＳ１３２０において、乱数で次の動作パターンを選択している。これに対して、図１４の絡まり解きの学習処理においては、一定量以上の学習情報が評価値関数学習部８０７に蓄積されているため、情報処理装置１０２は、ステップＳ１４１０において、評価値関数Ｆに基づいて各動作パターンの評価値を算出する。情報処理装置１０２は、図１４の処理においても、随時、評価値関数Ｆを更新することで絡まり解き作業の精度を向上させる。
【００９９】
図１５は、評価値関数部８０２の評価値関数Ｆの更新処理の一例を示すフローチャートである。ある局面において、図１５の処理を実行するためのプログラムは２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１５の各ステップを実行するものとして更新処理を説明する。
【０１００】
ステップＳ１５１０において、情報処理装置１０２は、評価値関数学習部８０７に保存されている各動作パターンａｋの「状態情報Ｓ１，Ｓ２」、「報酬Ｒ」および「終了判定」を読み出す。
【０１０１】
ステップＳ１５２０において、情報処理装置１０２は、ステップＳ１５１０にて読み出した各種データを用いて、学習用の評価値関数Ｆ’の内部パラメータを更新する。評価値関数Ｆ’は、評価値の算出に使用される評価値関数Ｆとは別に用意する学習用の評価値関数である。評価値関数Ｆ’は、評価値関数学習部８０７によって使用される。評価値関数Ｆは、評価値関数部８０２によって使用される。
【０１０２】
ステップＳ１５３０において、情報処理装置１０２は、学習処理を予め定められた回数繰り返すごとに、評価値関数Ｆ’を評価値関数Ｆにコピーする。情報処理装置１０２は、図１２〜図１４の処理中においても、図１５の処理を随時実行してもよい。
【０１０３】
以下に、評価値関数Ｆの学習処理の詳細について説明する。評価値関数Ｆはニューラルネットワークのため、学習には教師信号が必要になる。情報処理装置１０２は、終了判定に応じて教師信号ｙを次のように決定する。
【０１０４】
絡まり解き処理の終了判定がＴｒｕｅの場合の教師信号ｙは以下のようになる。
【０１０５】
【数１】
2020157436.tif 000003
【０１０６】
絡まり解き処理の終了判定がＦａｌｓｅの場合の教師信号ｙは以下のようになる。
【０１０７】
【数２】
2020157436.tif 000004
【０１０８】
ここで、「ｓ'＝Ｔ２、ａ'」は「Ｑ（ｓ，ａ）」が最大になる動作パターンを意味する。情報処理装置１０２は、上記の教師信号ｙと、評価値関数Ｆとの２乗誤差Ｅを求め、誤差逆伝搬法によりニューラルネットワークの学習を行う。評価値関数Ｆは、下記の式（３）の式で表される。
【０１０９】
【数３】
2020157436.tif 000005
【０１１０】
また、情報処理装置１０２は、式（３）を下記の式（４）に代入して誤差を算出する。
【０１１１】
【数４】
2020157436.tif 000006
【０１１２】
誤差逆伝搬法は、上記Ｅが０になるようにニューラルネットワークの内部パラメータを最適化する。よって、学習が進むにしたがって下記の式（５）の値が０に近づいていく。
【０１１３】
【数５】
2020157436.tif 000007
【０１１４】
強化学習も同様に、学習が十分に行われると、下記の式（６）が成り立つので、誤差逆伝搬法によるニューラルネットワークの学習は強化学習の学習結果と同様になる。
【０１１５】
【数６】
2020157436.tif 000008
【０１１６】
以上説明したように、本実施の形態に従うワーク取り出し作業装置１０１は、直列多関節の構造を有さず、代わりに直動機構およびパラレルリンクのみの構成を有する。その結果、多関節ロボットが持つ特異点の問題が発生せず、多関節ロボットよりも少ないスペースでの作業を可能にする。また、ワーク取り出し作業装置１０１は、機械学習においても、パラレルリンクの基端側リンクハブに取付けられた電動アクチュエータおよび位置調整装置の電動アクチュエータのモータトルク値のみを学習データとすることができる。そのため、ワーク取り出し作業装置１０１は、多関節ロボットと比較して、ワークの絡まり解き処理における学習パラメータが少なく機械学習が容易になる。よって、Ｃ型サークリップや、ばね、コイル等の絡まりやすいワークの取り出し作業における絡まり解き処理の精度を向上させることが可能となる。
【０１１７】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。
【符号の説明】
【０１１８】
１１，１０８Ａ，１０８Ｂ，１０８Ｃ  電動アクチュエータ、３２  第１リンクハブ、３３  第２リンクハブ、３４  リンク機構、３５，３６  端部リンク部材、３７  中央リンク部材、４２，５５，７３，７５  回転軸、６２  減速機構、６３  モータ固定部材、１００  合作業システム、１０１  合作業装置、１０２  情報処理装置、１０３  制御装置、１０４  架台、１０５  第１の直動ユニット、１０６  第２の直動ユニット、１０７  第３の直動ユニット、１０９  作業ヘッド、１１０  回転ユニット取付部材、１１１  角度調整機構、１１２  把持機構、１１３  ワーク入れ、１１４，１１５  撮像装置、７０２  １次記憶装置、７０３  ２次記憶装置、７０４  外部機器インターフェース、７０５  入力インターフェース、７０６  出力インターフェース、７０７  通信インターフェース、８０１  信号入力部、８０２  評価値関数部、８０３  動作パターンテーブル、８０４  動作決定部、８０５  指令生成部、８０６  動作結果判定部、８０７  評価値関数学習部。
【図１】
2020157436.tif 000009
【図２】
2020157436.tif 000010
【図３】
2020157436.tif 000011
【図４】
2020157436.tif 000012
【図５】
2020157436.tif 000013
【図６】
2020157436.tif 000014
【図７】
2020157436.tif 000015
【図８】
2020157436.tif 000016
【図９】
2020157436.tif 000017
【図１０】
2020157436.tif 000018
【図１１】
2020157436.tif 000019
【図１２】
2020157436.tif 000020
【図１３】
2020157436.tif 000021
【図１４】
2020157436.tif 000022
【図１５】
2020157436.tif 000023