(57)【要約】【課題】構造的に特異点を有さず、効率よく機械学習を行うための技術を提供する。【解決手段】作業装置１０１は、嵌合部品を把持する把持部１１２と、把持部１１２の向きを調整する角度調整部１１１と、角度調整部１１１が装着される作業ヘッド１０９と、作業ヘッド１０９を移動させる位置調整部と、作業装置１０１を制御する情報処理装置１０２とを備える。角度調整部１１１は、第１および第２のリンクハブ３２，３３と、第１および第２のリンクハブ３２，３３の間に並列に配置された複数のリンクと、各リンクを駆動させる複数の駆動部とを含む。情報処理装置１０２は、嵌合作業中の角度調整部１１１の各駆動部のトルクを機械学習モデルのパラメータとし、機械学習モデルにより、位置調整部および角度調整部１１１の各駆動部に送信するそれぞれの駆動信号を決定し、駆動信号に基づき各駆動部を駆動させ、嵌合部品の水平および上下方向の位置、嵌合部品の向きを調整する。【選択図】図１
2020157380.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）またはワークステーションであってもよい。本実施の形態に従う情報処理装置１０２の処理は、図７に示すハードウェア上で、プログラムとして実行されてもよい。
【００４５】
図８は、情報処理装置１０２を実現する機能の一構成例を示す図である。ある局面において、図８に示す機能の一部は、図７に示すハードウェア上で、プログラムが実行されることにより実現され得る。図８を参照して、情報処理装置１０２は、信号入力部８０１と、評価値関数部８０２と、動作パターンテーブル８０３と、動作決定部８０４と、指令生成部８０５と、動作結果判定部８０６と、評価値関数学習部８０７とを含む。
【００４６】
信号入力部８０１は、嵌合作業装置１０１から角度調整機構１１１の電動アクチュエータ１１のモータトルク値を取得する。ある局面において、信号入力部８０１は、さらに、位置調整装置の電動アクチュエータ１０８のモータトルク値を取得してもよい。また、信号入力部８０１は、ワークおよび把持機構１１２をカメラ（図示しない）により撮影した画像や、任意のセンサーの出力値を取得してもよい。
【００４７】
評価値関数部８０２は、後述する評価値関数Ｆを用いて信号入力部に入力されたモータトルク値等に基づいて各動作パターンに対応する評価値を計算する。
【００４８】
動作パターンテーブル８０３は、位置調整装置および角度調整機構１１１の各電動アクチュエータの移動量および移動速度、加速度、指令トルク値の内の少なくとも１つが対応付けられた複数の動作パターンを保管する。動作パターンテーブル８０３は、角度調整機構１１１に関して、個別のアクチュエータの指令値ではなく、角度調整機構１１１の角度等を動作パターンに含めてもよい。
【００４９】
動作決定部８０４は、動作パターンテーブル８０３の動作パターンの中から、評価値が最大となる動作パターンを嵌合作業装置１０１の次の動作として選択する。指令生成部８０５は、動作決定部８０４により選択された動作パターンに基づいて、嵌合作業装置１０１の各電動アクチュエータへの指令値を生成し、制御装置１０３を介して嵌合作業装置１０１に送信する。
【００５０】
動作結果判定部８０６は、前回選択された動作パターンの実行前後における、角度調整機構１１１の各電動アクチュエータのモータトルク値を比較する。前回選択された動作パターンの実行後のモータトルク値が、前回選択された動作パターンの実行前のモータトルク値より小さい場合は、動作結果判定部８０６は高い報酬を出力する。他方、当該実行後のモータトルク値が当該実行前のトルク値よりも大きい場合は、動作結果判定部８０６は低い報酬を出力する。ここでの報酬とは、評価値関数Ｆを更新するための機械学習における報酬である。ある局面において、動作結果判定部８０６は、位置調整装置の各電動アクチュエータ１０８のモータトルク値も前回選択された動作パターンの実行前後における比較対象としてもよい。
【００５１】
評価値関数学習部８０７は、動作結果判定部が出力した報酬を教師信号として、動作パターンを選択した時の評価値と、教師信号との差に基づいて評価値関数Ｆを更新する。ある局面において、評価値関数学習部８０７は、予め定められた回数だけ評価値関数Ｆを更新するごとに、評価値関数部８０２で使用する評価値関数Ｆを最新状態に更新してもよい。
【００５２】
図９は、評価値関数部８０２の動作の一例を示す図である。評価値関数部８０２は、信号入力部８０１からモータトルク値等を取得して評価値関数Ｆに入力する。評価値は動作パターンごとに算出される。図９に示す例では、評価値関数部８０２は、ｎ個の各動作パターンａ１〜ａｎに対して評価値を算出する。ある局面において、評価値関数部８０２は、モータトルク値等を評価値関数Ｆの入力として受け付け、各動作パターンの評価値を計算するプログラムであってもよい。
【００５３】
評価値関数Ｆが出力するｎ個の評価値は、次に実行すべき動作パターンを選択するための指標であり、対応する評価値が最大の値を示す動作パターンが、次に実行すべき最適な動作であること示す。
【００５４】
そのため、動作決定部８０４は、ｎ個の動作パターンの中から、最大の評価値に対応する動作パターンを次の動作として選択する。図９に示す例では、「評価値＝０．６１４」が最大のため、動作決定部８０４は、「評価値＝０．６１４」に対応する動作パターンａｎ−３を選択する。
【００５５】
動作決定部８０４は、選択した動作パターンａｎ−３を指令生成部８０５に転送する。指令生成部８０５は、動作パターンテーブル８０３を参照し、ａｎ−３に対応する指令値を生成して制御装置１０３に出力する。
【００５６】
図１０は、動作パターンテーブル８０３の一例を示す図である。動作パターンテーブル８０３は、動作パターンごとに、位置調整装置の電動アクチュエータ１０８の移動量、移動速度、加速度および指令トルク値と、角度調整機構１１１の根元の回転機構の回転角度、回転速度、加速度および指令トルク値と、角度調整機構１１１の折れ角変更量、旋回角変更量、回転速度、加速度および指令トルク値とを格納する。
【００５７】
ある局面において、動作パターンテーブル８０３は、角度調整機構１１１の個別の電動アクチュエータの移動量、移動速度、加速度、および指令トルク値を格納してもよい。また、ある局面において、動作パターンテーブル８０３は、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって参照されてもよい。
【００５８】
＜Ｄ．嵌合作業における情報処理装置１０２の内部処理＞
図１１は、嵌合作業システム１００の処理の一例を示すフローチャートである。ある局面において、図１１の処理を実行するためのプログラムは２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１１の各ステップを実行するものとして当該処理を説明する。
【００５９】
ステップＳ１１０５において、情報処理装置１０２は、嵌合作業装置１０１がワークを把持した状態で、位置調整装置により、把持機構１１２で把持したワークを予め定められた位置（嵌合開始位置）に移動させるための指令を嵌合作業装置１０１に送信する。ステップＳ１１１０において、情報処理装置１０２は、変数ｉに１を代入する。
【００６０】
ステップＳ１１１５において、情報処理装置１０２は、変数ｉの値が、定数Ｎ以下であるか否かを判定する。情報処理装置１０２は、変数ｉの値が定数Ｎ以下であると判定した場合（ステップＳ１１１５にてＹＥＳ）、制御をステップＳ１１２０に移す。そうでない場合（ステップＳ１１１５にてＮＯ）、情報処理装置１０２は制御をステップＳ１１５５に移す。ステップＳ１１１５は、情報処理装置１０２がステップＳ１１２０からＳ１１５０までの処理を最大で定数Ｎまで繰り返すための判定処理である。
【００６１】
ステップＳ１１２０において、情報処理装置１０２は、嵌合作業装置１０１から、各電動アクチュエータのモータトルク値を取得する。ある局面において、情報処理装置１０２は、各電動アクチュエータのモータトルク値に加えて、画像や各種センサー値をカメラや各種センサーから取得してもよい。
【００６２】
ステップＳ１１２５において、情報処理装置１０２は、取得した各電動アクチュエータのモータトルク値を評価値関数部８０２の入力として、評価値を算出する。ある局面において、情報処理装置１０２は、角度調整機構１１１の電動アクチュエータ１１のモータトルク値を評価値関数部８０２の入力として評価値を算出してもよい。また、ある局面において、情報処理装置１０２は、角度調整機構１１１の電動アクチュエータ１１のモータトルク値および位置調整装置の電動アクチュエータ１０８のモータトルク値を評価値関数部８０２の入力として評価値を算出してもよい。
【００６３】
ステップＳ１１３０において、情報処理装置１０２は、動作パターンごとに算出された評価値の中で最大の評価値を選択し、当該最大の評価値に対応する動作パターンａｋを次の動作として選択する。
【００６４】
ステップＳ１１３５において、情報処理装置１０２は、指令生成部８０５により、選択した動作パターンａｋを実行するための指令を嵌合作業装置１０１に送信する。嵌合作業装置１０１は、受信した指令に基づいて、位置調整装置の電動アクチュエータ１０８を駆動させることにより、把持機構１１２の水平方向および上下方向の位置を調整し、さらに、角度調整機構１１１の電動アクチュエータ１１を駆動させることにより、把持機構１１２の向きを調整する。ステップＳ１１４０において、情報処理装置１０２は、位置調整装置の各電動アクチュエータ１０８の位置情報を取得する。
【００６５】
ステップＳ１１４５において、情報処理装置１０２は、取得した位置調整装置の各電動アクチュエータ１０８の位置情報から、把持機構１１２の把持するワークが目標位置に到達したか否か（すなわち、嵌合作業が完了したか否か）を判定する。到達の判定は、たとえば、目標位置と現在位置との差分が閾値以下であるとき、到達したなどと判定する。情報処理装置１０２は、把持機構１１２の把持するワークが目標位置に到達したと判定した場合（ステップＳ１１４５にてＹＥＳ）、処理を終了する。そうでない場合（ステップＳ１１４５にてＮＯ）、情報処理装置１０２は制御をステップＳ１１５０に移す。
【００６６】
ある局面において、情報処理装置１０２は、把持機構１１２の把持するワークが目標位置に到達したか否かを判定するために、位置調整装置の上下方向の電動アクチュエータ１０８Ｃの位置情報のみを参照してもよいし、全ての電動アクチュエータ１０８の位置情報を参照してもよい。ある局面において、電動アクチュエータ１０８がステッピングモーターの場合、情報処理装置１０２は、電動アクチュエータ１０８のステップ数に基づいて作業ヘッド１０９および把持機構１１２の現在位置を算出してもよい。また、ある局面において、情報処理装置１０２は、電動アクチュエータ１０８のエンコーダーの回転数に基づいて作業ヘッド１０９および把持機構１１２の現在位置を算出してもよい。
【００６７】
ステップＳ１１５０において、情報処理装置１０２は、変数ｉの値をインクリメントして（変数ｉに１を加算する）、制御をステップＳ１１１５に移す。ステップＳ１１５５において、情報処理装置１０２は、動作パターンを予め定められた回数（Ｎ回）実行したが嵌合作業が完了しなかったと判定し、動作失敗の判定を行い、処理を終了する。なお、情報処理装置１０２は、各ワークに対して、図１１の処理を順次実行する。
【００６８】
図１２は、図１１の処理の動作イメージの一例を示す図である。最初に、嵌合作業装置１０１は、位置調整装置により、把持機構１１２が把持したワークを予め定められた嵌合位置に移動させる（ステップＳ１１０５に対応）。
【００６９】
状態Ａは、把持機構１１２が把持したワークが予め定められた嵌合位置に移動した直後の状態を表す。状態Ａに示す例では、１１３に設置されたワークＨの中心軸Ｃと、把持機構１１２により把持されるワークＰの中心軸Ｃ'とが一致していない。
【００７０】
情報処理装置１０２は、状態Ａから、図１１のステップＳ１１１５〜ステップＳ１１４５の処理を繰り返すことにより、嵌合作業装置１０１に嵌合作業をさせる。情報処理装置１０２は、状態Ａのときの各電動アクチュエータのモータトルク値を取得する（ステップＳ１１２０に対応）。次に、情報処理装置１０２は、状態Ａのときの各電動アクチュエータのモータトルク値を評価値関数Ｆの入力として、各動作パターンの評価値を算出する（ステップＳ１１２５に対応）。そして、情報処理装置１０２は、最も評価値の高い動作パターンａｎ−３を選択し（ステップＳ１１３０に対応）、動作パターンａｎ−３に対応する指令を嵌合作業装置１０１に送信する（ステップＳ１１３５に対応）。
【００７１】
状態Ｂは、嵌合作業装置１０１が動作パターンａｎ−３を実行した直後の様子を示す。情報処理装置１０２は、状態Ｂのときの各電動アクチュエータの現在位置を取得する（ステップＳ１１４０に対応）。さらに、情報処理装置１０２は、取得した各電動アクチュエータの現在位置から、嵌合作業が完了したか否か（ワークが目標位置に到達したか否か）を判定する（ステップＳ１１４５に対応）。状態Ｂにおいて、嵌合作業は完了していないので、情報処理装置１０２は、再度ステップＳ１１１５からステップＳ１１４５までの処理を繰り返す。
【００７２】
情報処理装置１０２は、状態Ａのときと同様にステップＳ１１２０からステップＳ１１２５までの処理を実行する。そして、情報処理装置１０２は、最も評価値の高い動作パターンａｎ−１を選択し（ステップＳ１１３０に対応）、動作パターンａｎ−１に対応する指令を嵌合作業装置１０１に送信する（ステップＳ１１３５に対応）。
【００７３】
状態Ｃは、嵌合作業装置１０１が動作パターンａｎ−１を実行した直後の様子を示す。以下同様に、情報処理装置１０２は、嵌合作業の完了判定を行い、嵌合作業が完了していないと判定する間は、評価値の算出と、動作パターンを嵌合作業装置１０１に実行させる処理とを繰り返す。
【００７４】
状態Ｆは、嵌合作業装置１０１が状態Ｅのときに動作パターンａ３を実行した直後の様子を示す。状態Ｆにおいて、嵌合作業は完了していることがわかる。情報処理装置１０２は、位置調整装置の電動アクチュエータ１０８Ｃの位置情報等から、嵌合作業の完了を検出する。嵌合作業が完了した後は、情報処理装置１０２は、嵌合作業装置１０１に、次のワークの嵌合作業を行うための指令を送信してもよい。
【００７５】
＜Ｅ．嵌合作業の学習処理＞
図１１および図１２で説明した例において、情報処理装置１０２は、角度調整機構１１１および位置調整装置の現在のモータトルク値等に基づいて各動作パターンの評価値を計算し、評価値が最大になる動作パターンを順次実行することで動作を成功させる。そのため、図９の評価値関数Ｆは、モータトルク値等に基づいて次に実行すべき最適な動作パターンに対して最大の評価値を出力するよう最適化されている必要がある。
【００７６】
しかし、嵌合処理の対象となるワークの初期状態は、把持機構１１２に把持されるごとに変化する可能性ある。また、嵌合作業装置１０１が動作パターンを実行することで、把持機構１１２により把持されたワークの姿勢も変化する可能性がある。これらのあらゆる状態を想定したルールベースの動作プログラムの構築は困難である。よって、本実施の形態に従う嵌合作業システム１００は、強化学習により、繰り返し動作を試行する過程で評価値関数Ｆを最適化する。
【００７７】
図１３は、嵌合作業システム１００の嵌合作業の学習処理の一例を示すフローチャートである。ある局面において、図１３の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１３の各ステップを実行するものとして当該学習処理を説明する。
【００７８】
ステップＳ１３１０において、情報処理装置１０２は、変数ｊに１を代入する。ステップＳ１３２０において、情報処理装置１０２は、変数ｊの値が定数Ｊ１以下であるか否かを判定する。情報処理装置１０２は、変数ｊの値が定数Ｊ１以下であると判定すると（ステップＳ１３２０にてＹＥＳ）、ステップＳ１３３０に制御を移す。そうでない場合（ステップＳ１３２０にてＮＯ）、情報処理装置１０２は、ステップＳ１３５０に制御を移す。評価値関数Ｆが未学習の初期状態において、情報処理装置１０２は、変数ｊが定数Ｊ１に達するまで、嵌合動作初期学習を繰り返し実行する。
【００７９】
ステップＳ１３３０において、情報処理装置１０２は、嵌合作業の初期学習処理を実行する。嵌合作業の初期学習処理については後述する。ステップＳ１３４０において、情報処理装置１０２は、変数ｊの値をインクリメントする。以降は、情報処理装置１０２は、上限回数として予め定められた回数Ｊ１まで、嵌合作業の初期学習処理を繰り返し実行する。
【００８０】
ステップＳ１３５０において、情報処理装置１０２は、変数ｊの値が定数Ｊ２以下であるか否かを判定する。情報処理装置１０２は、変数ｊの値が定数Ｊ２以下であると判定すると（ステップＳ１３５０にてＹＥＳ）、ステップＳ１３６０に制御を移す。そうでない場合（ステップＳ１３５０にてＮＯ）、情報処理装置１０２は、学習処理を終了する。
【００８１】
ステップＳ１３６０において、情報処理装置１０２は、嵌合作業の学習処理を実行する。嵌合作業の学習処理については後述する。ステップＳ１３７０において、情報処理装置１０２は、変数ｊの値をインクリメントする。以降は、情報処理装置１０２は、変数ｊが上限値として予め定められた定数Ｊ２より大きくなるまで、嵌合作業の学習処理を繰り返し実行する。
【００８２】
図１４は、嵌合作業の初期学習処理（図１３のステップＳ１３３０に対応）の一例を示すフローチャートである。ある局面において、図１４の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１４の各ステップを実行するものとして当該初期学習処理を説明する。
【００８３】
ステップＳ１４０５において、情報処理装置１０２は、嵌合作業装置１０１がワークを把持した状態で、位置調整装置により、把持機構１１２で把持したワークを予め定められた位置（嵌合開始位置）に移動させるための指令を嵌合作業装置１０１に送信する。
【００８４】
ステップＳ１４１０において、情報処理装置１０２は、変数ｉに１を代入する。ステップＳ１４１５において、情報処理装置１０２は、嵌合作業装置１０１の各電動アクチュエータのモータトルク値Ｔ１を取得する。
【００８５】
ステップＳ１４２０において、情報処理装置１０２は、動作決定部８０４により、乱数を用いて次に実行する動作パターンａｋを選択する。具体的には、情報処理装置１０２は、１〜ｎの間の乱数に基づいて動作パターンのインデックス番号ｋを決定する。
【００８６】
ステップＳ１４２５において、情報処理装置１０２は、動作開始前の角度調整機構１１１の各電動アクチュエータのモータトルク値Ｔ１を評価値関数学習部８０７に保管した後、嵌合作業装置１０１に動作パターンａｋを実行させるための指令を送信する。ある局面において、モータトルク値Ｔ１は、位置調整装置の各電動アクチュエータ１０８のモータトルク値を含んでいてもよい。
【００８７】
ステップＳ１４３０において、情報処理装置１０２は、嵌合作業装置１０１が動作パターンａｋを実行した後に、位置調整装置の電動アクチュエータ１０８の現在位置と、角度調整機構１１１の各電動アクチュエータのモータトルク値Ｔ２とを取得する。ある局面において、モータトルク値Ｔ２は、位置調整装置の各電動アクチュエータ１０８のモータトルク値を含んでいてもよい。
【００８８】
ステップＳ１４３５において、情報処理装置１０２は、位置調整装置の電動アクチュエータ１０８の現在位置が、目標位置と一致しているか否かを判定する。情報処理装置１０２は、位置調整装置の電動アクチュエータ１０８の現在位置が、目標位置と一致していると判定した場合（ステップＳ１４３５にてＹＥＳ）、制御をステップＳ１４４０に移す。そうでない場合（ステップＳ１４３５にてＮＯ）、情報処理装置１０２は制御をステップＳ１４５５に移す。
【００８９】
ステップＳ１４４０において、情報処理装置１０２は、終了判定をＴｒｕｅ（完了）にし、「動作パターンａｋ」に対する報酬Ｒを１にする。なお、本実施の例では、報酬Ｒは、成功のときは１、失敗のときは−１、それ以外のときは０とするが、報酬Ｒの例はこれに限られない。成功時や失敗時のときの報酬ごとに差があればよい。
【００９０】
ステップＳ１４４５において、情報処理装置１０２は、評価値関数学習部８０７に、実行した「動作パターンａｋ」、「動作パターンａｋ実行前のモータトルク値Ｔ１」、「動作パターンａｋ実行後のモータトルク値Ｔ２」、「報酬Ｒ（Ｒ＝１）」および「終了判定Ｔｒｕｅ（完了）」を保存する。ステップＳ１４５０において、情報処理装置１０２は、評価値関数Ｆの更新処理を実行する。
【００９１】
ステップＳ１４５５において、情報処理装置１０２は、変数ｉの値が定数Ｎ１より大きいか否かを判定する。定数Ｎ１は、嵌合作業中に繰り返してよい動作パターンの実行回数の上限値である。情報処理装置１０２は、変数ｉの値が定数Ｎ１より大きいと判定した場合（ステップＳ１４５５にてＹＥＳ）、動作パターンの実行回数が上限に達したと判断し、制御をステップＳ１４６０に移す。そうでない場合（ステップＳ１４４５にてＮＯ）、情報処理装置１０２は制御をステップＳ１４６５に移す。
【００９２】
ステップＳ１４６０において、情報処理装置１０２は、終了判定をＴｒｕｅにし、動作パターンａｋに対する報酬Ｒを−１にする。ステップＳ１４４５以降の処理は前述した通りになる。ステップＳ１４６５において、情報処理装置１０２は、変数ｉの値をインクリメントする。ステップＳ１４７０において、情報処理装置１０２は、終了判定をＦａｌｓｅにし、実行した「動作パターンａｋ」に対する報酬Ｒを０にする。
【００９３】
ステップＳ１４７５において、情報処理装置１０２は、評価値関数学習部８０７に、実行した「動作パターンａｋ」、「動作パターンａｋ実行前のモータトルク値Ｔ１」、「動作パターンａｋ実行後のモータトルク値Ｔ２」、「報酬Ｒ（Ｒ＝０）」および「終了判定Ｆａｌｓｅ（未完了）」を保存する。ステップＳ１４８０において、情報処理装置１０２は、評価値関数Ｆの更新処理を実行する。
【００９４】
図１５は、嵌合作業の学習処理（図１３のステップＳ１３６０に対応）の一例を示すフローチャートである。ある局面において、図１５の処理を実行するためのプログラムは、２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１５の各ステップを実行するものとして当該学習処理を説明する。また、図１５において、図１４と同一の処理に関しては、同一の符号を付し、説明は繰り返さないものとする。
【００９５】
ステップＳ１５１０において、情報処理装置１０２は、評価値関数部８０２により、各電動アクチュエータのモータトルク値Ｔ１に基づいて、各動作パターンの評価値を算出する。ステップＳ１５２０において、情報処理装置１０２は、動作パターンテーブル８０３を参照して、最も評価値が高い動作パターンを選択する。
【００９６】
図１４の嵌合の初期学習処理においては、学習情報が十分にないため、情報処理装置１０２は、ステップＳ１４２０において、乱数で次の動作パターンを選択している。これに対して、図１５の嵌合の学習処理においては、一定量以上の学習情報が評価値関数学習部８０７に蓄積されているため、情報処理装置１０２は、ステップＳ１５１０において、評価値関数Ｆに基づいて評価値を算出する。情報処理装置１０２は、図１５の処理においても、随時、評価値関数Ｆを更新することで嵌合作業の精度を向上させる。
【００９７】
図１６は、評価値関数部８０２の評価値関数Ｆの更新処理の一例を示すフローチャートである。ある局面において、図１６の処理を実行するためのプログラムは２次記憶装置７０３に記憶され、１次記憶装置７０２に読み出されることにより、ＣＰＵ７０１によって実行されてもよい。これ以降、情報処理装置１０２が図１６の各ステップを実行するものとして更新処理を説明する。
【００９８】
ステップＳ１６１０において、情報処理装置１０２は、評価値関数学習部８０７に保存されている各動作パターンａｋの「動作パターンａｋ実行前のモータトルク値Ｔ１」、「動作パターンａｋ実行後のモータトルク値Ｔ２」、「報酬Ｒ」および「終了判定」を読み出す。
【００９９】
ステップＳ１６２０において、情報処理装置１０２は、ステップＳ１６１０にて読み出した各種データを用いて、学習用の評価値関数Ｆ’の内部パラメータを更新する。評価値関数Ｆ’は、評価値の算出に使用される評価値関数Ｆとは別に用意する学習用の評価値関数である。評価値関数Ｆ’は、評価値関数学習部８０７によって使用される。評価値関数Ｆは、評価値関数部８０２によって使用される。ステップＳ１６３０において、情報処理装置１０２は、学習処理を予め定められた回数繰り返すごとに、評価値関数Ｆ’を評価値関数Ｆにコピーする。情報処理装置１０２は、図１３〜図１５の処理中においても、図１６の処理を随時実行してもよい。
【０１００】
以下に、評価値関数Ｆの学習処理の詳細について説明する。評価値関数Ｆはニューラルネットワークのため、学習には教師信号が必要になる。情報処理装置１０２は、終了判定に応じて教師信号ｙを次のように決定する。
【０１０１】
嵌合処理の終了判定がＴｒｕｅの場合の教師信号ｙは以下のようになる。
【０１０２】
【数１】
2020157380.tif 000003
【０１０３】
嵌合処理の終了判定がＦａｌｓｅの場合の教師信号ｙは以下のようになる。
【０１０４】
【数２】
2020157380.tif 000004
【０１０５】
ここで、「ｓ'＝Ｔ２、ａ'」は「Ｑ（ｓ，ａ）」が最大になる動作パターンを意味する。情報処理装置１０２は、上記の教師信号ｙと、評価値関数Ｆとの２乗誤差Ｅを求め、誤差逆伝搬法によりニューラルネットワークの学習を行う。評価値関数Ｆは、下記の式（３）の式で表される。
【０１０６】
【数３】
2020157380.tif 000005
【０１０７】
また、情報処理装置１０２は、式（３）を下記の式（４）に代入して誤差を算出する。
【０１０８】
【数４】
2020157380.tif 000006
【０１０９】
誤差逆伝搬法は、上記Ｅが０になるようにニューラルネットワークの内部パラメータを最適化する。よって、学習が進むにしたがって下記の式（５）の値が０に近づいていく。
【０１１０】
【数５】
2020157380.tif 000007
【０１１１】
強化学習も同様に、学習が十分に行われると、下記の式（６）が成り立つので、誤差逆伝搬法によるニューラルネットワークの学習は強化学習の学習結果と同様になる。
【０１１２】
【数６】
2020157380.tif 000008
【０１１３】
以上説明したように、本実施の形態に従う嵌合作業装置１０１は、直列多関節の構造を有さず、代わりに直動機構およびパラレルリンクのみの構成を有する。その結果、多関節ロボットが持つ特異点の問題が発生せず、多関節ロボットよりも少ないスペースでの作業を可能にする。また、嵌合作業装置１０１は、機械学習においても、パラレルリンクの基端側リンクハブに取付けられた電動アクチュエータおよび位置調整装置の電動アクチュエータのモータトルク値のみを学習データとすることができる。そのため、嵌合作業装置１０１は、多関節ロボットと比較して、学習パラメータが少なく機械学習が容易になる。よって、高い精度を要求されるコネクタ等の嵌合作業における精度を向上させることが可能となる。
【０１１４】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。
【符号の説明】
【０１１５】
１１，１０８Ａ，１０８Ｂ，１０８Ｃ  電動アクチュエータ、３２  第１リンクハブ、３３  第２リンクハブ、３４  リンク機構、３５，３６  端部リンク部材、３７  中央リンク部材、４２，５５，７３，７５  回転軸、６２  減速機構、６３  モータ固定部材、１００  合作業システム、１０１  合作業装置、１０２  情報処理装置、１０３  制御装置、１０４  架台、１０５  第１の直動ユニット、１０６  第２の直動ユニット、１０７  第３の直動ユニット、１０９  作業ヘッド、１１０  回転ユニット取付部材、１１１  角度調整機構、１１２  把持機構、１１３  ワーク設置台、１１４  ワーク、７０２  １次記憶装置、７０３  ２次記憶装置、７０４  外部機器インターフェース、７０５  入力インターフェース、７０６  出力インターフェース、７０７  通信インターフェース、８０１  信号入力部、８０２  評価値関数部、８０３  動作パターンテーブル、８０４  動作決定部、８０５  指令生成部、８０６  動作結果判定部、８０７  評価値関数学習部。
【図１】
2020157380.tif 000009
【図２】
2020157380.tif 000010
【図３】
2020157380.tif 000011
【図４】
2020157380.tif 000012
【図５】
2020157380.tif 000013
【図６】
2020157380.tif 000014
【図７】
2020157380.tif 000015
【図８】
2020157380.tif 000016
【図９】
2020157380.tif 000017
【図１０】
2020157380.tif 000018
【図１１】
2020157380.tif 000019
【図１２】
2020157380.tif 000020
【図１３】
2020157380.tif 000021
【図１４】
2020157380.tif 000022
【図１５】
2020157380.tif 000023
【図１６】
2020157380.tif 000024