(57)【要約】【課題】ロボットにおける各種の設定を行うためには高度なノウハウが必要であり、難易度が高かった。【解決手段】機械学習を用いて、撮像部によって撮像された対象物の画像に対する画像処理に関する画像処理パラメーターを算出する算出部と、算出された前記画像処理パラメーターによって前記画像処理が実行された画像に基づいて、前記対象物を検出する検出部と、前記対象物の検出結果に基づいてロボットを制御する制御部と、を備える制御装置が構成される。【選択図】図１
2018126799.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を用いて、撮像部によって撮像された対象物の画像に対する画像処理に関する
画像処理パラメーターを算出する算出部と、
算出された前記画像処理パラメーターによって前記画像処理が実行された画像に基づい
て、前記対象物を検出する検出部と、
前記対象物の検出結果に基づいてロボットを制御する制御部と、を備える
制御装置。
【請求項２】
前記検出部は、前記対象物の位置姿勢を検出する、
請求項１に記載の制御装置。
【請求項３】
前記算出部は、
状態変数として、少なくとも前記画像処理パラメーターによって前記画像処理が実行
された画像を観測する状態観測部と、
前記状態変数としての画像に基づいて前記画像処理パラメーターを学習する学習部と
、を含む、
請求項１または請求項２のいずれかに記載の制御装置。
【請求項４】
前記学習部は、
前記状態変数としての画像に基づいて前記画像処理パラメーターを変化させる行動を
決定し、前記画像処理パラメーターを最適化する、
請求項３に記載の制御装置。
【請求項５】
前記学習部は、
前記対象物の検出結果の良否に基づいて、前記行動による報酬を評価する、
請求項４に記載の制御装置。
【請求項６】
前記学習部は、
前記対象物の検出結果に基づいて前記ロボットが行った作業の良否に基づいて、前記
行動による報酬を評価する、
請求項４または請求項５のいずれかに記載の制御装置。
【請求項７】
前記算出部は、
前記状態変数の観測と、当該状態変数に応じた前記行動の決定と、当該行動によって
得られる報酬の評価とを繰り返すことによって、前記画像処理パラメーターを最適化する
、
請求項４〜請求項６のいずれかに記載の制御装置。
【請求項８】
前記算出部は、
機械学習を用いて、前記ロボットの動作に関する動作パラメーターを算出し、
前記制御部は、
前記動作パラメーターに基づいて前記ロボットを制御する、
請求項１〜請求項７のいずれかに記載の制御装置。
【請求項９】
前記算出部は、
前記ロボットの作業対象である前記対象物を前記撮像部で撮像した画像に基づいて前
記画像処理パラメーターおよび前記動作パラメーターを算出する、
請求項８に記載の制御装置。
【請求項１０】
請求項１〜請求項９のいずれかに記載された制御装置によって制御されるロボット。
【請求項１１】
請求項１〜請求項９のいずれかに記載された制御装置と、前記制御装置によって制御さ
れる前記ロボットと、前記撮像部と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボットおよびロボットシステムに関する。
【背景技術】
【０００２】
ロボットに作業を行わせるためには、各種の設定が必要であり、従来、各種の設定は人
為的に行われている。
【０００３】
また、従来、工作機械の工具補正の頻度を最適化するために機械学習を利用した技術が
知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９６９６７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットにおける各種の設定を行うためには高度なノウハウが必要であり、難易度が高
かった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために、制御装置は、機械学習を用いて、撮像部
によって撮像された対象物の画像に対する画像処理に関する画像処理パラメーターを算出
する算出部と、算出された画像処理パラメーターによって画像処理が実行された画像に基
づいて、対象物を検出する検出部と、対象物の検出結果に基づいてロボットを制御する制
御部と、を備える。この構成によれば、人為的に決められた画像処理パラメーターよりも
高精度に対象物を検出する画像処理パラメーターを高い確率で算出することができる。
【０００７】
さらに、検出部は、対象物の位置姿勢を検出する構成であっても良い。この構成によれ
ば、高精度に対象物の位置姿勢を検出することができる。
【０００８】
さらに、算出部は、状態変数として、少なくとも画像処理パラメーターによって画像処
理が実行された画像を観測する状態観測部と、状態変数としての画像に基づいて画像処理
パラメーターを学習する学習部と、を含む構成であっても良い。この構成によれば、高精
度に対象物を検出する画像処理パラメーターを容易に算出することができる。
【０００９】
さらに、学習部は、状態変数としての画像に基づいて画像処理パラメーターを変化させ
る行動を決定し、画像処理パラメーターを最適化する構成であっても良い。この構成によ
れば、ロボットの使用環境に応じた画像処理パラメーターとなるように最適化することが
できる。
【００１０】
さらに、学習部は、対象物の検出結果の良否に基づいて、行動による報酬を評価する構
成であっても良い。この構成によれば、対象物の検出精度を高める学習を実行することが
できる。
【００１１】
さらに、学習部は、対象物の検出結果に基づいてロボットが行った作業の良否に基づい
て、行動による報酬を評価する構成であっても良い。この構成によれば、ロボットの作業
を成功させる学習を実行することができる。
【００１２】
さらに、算出部は、状態変数の観測と、当該状態変数に応じた行動の決定と、当該行動
によって得られる報酬の評価とを繰り返すことによって、画像処理パラメーターを最適化
する構成であっても良い。この構成によれば、画像処理パラメーターを自動的に最適化す
ることができる。
【００１３】
さらに、算出部は、機械学習を用いて、ロボットの動作に関する動作パラメーターを算
出し、制御部は、動作パラメーターに基づいてロボットを制御する構成であっても良い。
この構成によれば、対象物の検出精度とともにロボットの動作性能を向上させることがで
きる。
【００１４】
さらに、算出部は、ロボットの作業対象である対象物を光学系で撮像した画像に基づい
て画像処理パラメーターおよび動作パラメーターを算出する構成であっても良い。この構
成によれば、対象物の検出精度が向上するようにロボットを動作させることができる。
【図面の簡単な説明】
【００１５】
【図１】ロボットシステムの斜視図である。
【図２】制御装置の機能ブロック図である。
【図３】パラメーターを示す図である。
【図４】加減速特性を示す図である。
【図５】ピックアップ処理のフローチャートである。
【図６】算出部に関連する構成のブロック図である。
【図７】光学パラメーターを学習する際の例を示す図である。
【図８】多層ニューラルネットワークの例を示す図である。
【図９】学習処理のフローチャートである。
【図１０】動作パラメーターを学習する際の例を示す図である。
【図１１】力制御パラメーターを学習する際の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、
各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）ロボットシステムの構成：
（２）ロボットの制御：
（３）ピックアップ処理：
（４）学習処理：
（４−１）光学パラメーターの学習：
（４−２）光学パラメーターの学習例：
（４−３）動作パラメーターの学習：
（４−４）動作パラメーターの学習例：
（４−５）力制御パラメーターの学習：
（４−６）力制御パラメーターの学習例：
（５）他の実施形態：
【００１７】
（１）ロボットシステムの構成：
図１は本発明の一実施形態にかかる制御装置で制御されるロボットを示す斜視図である
。本発明の一実施例としてのロボットシステムは、図１に示すように、ロボット１〜３を
備えている。ロボット１〜３はエンドエフェクターを備える６軸ロボットであり、ロボッ
ト１〜３には異なるエンドエフェクターが取り付けられている。すなわち、ロボット１に
は、撮像部２１が取り付けられ、ロボット２には照明部２２が取り付けられ、ロボット３
にはグリッパー２３が取り付けられている。なお、ここでは、撮像部２１および照明部２
２を光学系と呼ぶ。
【００１８】
ロボット１〜３は、制御装置４０によって制御される。制御装置４０はケーブルにより
ロボット１〜３と通信可能に接続される。なお、制御装置４０の構成要素がロボット１に
備えられていても良い。また、制御装置４０は複数の装置によって構成されても良い（例
えば、後述する学習部と制御部とが異なる装置に備えられる等）。また、制御装置４０は
、図示しない教示装置をケーブル、または無線通信によって接続可能である。教示装置は
、専用のコンピューターであってもよいし、ロボット１を教示するためのプログラムがイ
ンストールされた汎用のコンピューターであってもよい。さらに、制御装置４０と教示装
置とは、一体に構成されていてもよい。
【００１９】
ロボット１〜３は、アームに各種のエンドエフェクターを装着して使用される単腕ロボ
ットであり、本実施形態において、ロボット１〜３においてアームや軸の構成は同等であ
る。図１においてはロボット３においてアームや軸の構成を説明する符号が付されている
。ロボット３において示されたように、ロボット１〜３は、基台Ｔと、６個のアーム部材
Ａ１〜Ａ６と、６個の関節Ｊ１〜Ｊ６を備える。基台Ｔは作業台に固定されている。基台
Ｔと６個のアーム部材Ａ１〜Ａ６は関節Ｊ１〜Ｊ６によって連結される。アーム部材Ａ１
〜Ａ６とエンドエフェクターは可動部であり、これらの可動部が動作することによってロ
ボット１〜３は各種の作業を行うことができる。
【００２０】
本実施形態において、関節Ｊ２、Ｊ３、Ｊ５は曲げ関節であり、関節Ｊ１、Ｊ４、Ｊ６
はねじり関節である。アームＡのうち最も先端側のアーム部材Ａ６には、力覚センサーＰ
とエンドエフェクターとが装着される。ロボット１〜３は、６軸のアームを駆動させるこ
とによって、可動範囲内においてエンドエフェクターを任意の位置に配置し、任意の姿勢
（角度）とすることができる。
【００２１】
ロボット３が備えるエンドエフェクターはグリッパー２３であり、対象物Ｗを把持する
ことができる。ロボット２が備えるエンドエフェクターは照明部２２であり、照射範囲に
光を照射することができる。ロボット１が備えるエンドエフェクターは撮像部２１であり
、視野内の画像を撮像することができる。本実施形態においては、ロボット１〜３が備え
るエンドエフェクターに対して相対的に固定された位置がツールセンターポイント（ＴＣ
Ｐ）として定義される。ＴＣＰの位置はエンドエフェクターの基準の位置となり、ＴＣＰ
が原点となり、エンドエフェクターに対して相対的に固定された３次元直交座標系である
ＴＣＰ座標系が定義される。
【００２２】
力覚センサーＰは、６軸の力検出器である。力覚センサーＰは、力覚センサー上の点を
原点とした３次元直交座標系であるセンサー座標系において互いに直交する３個の検出軸
と平行な力の大きさと、当該３個の検出軸まわりのトルクの大きさとを検出する。なお、
本実施例では６軸ロボットを例にしているが、ロボットの態様は種々の態様であっても良
いし、ロボット１〜３の態様が異なっていてもよい。また、関節Ｊ６以外の関節Ｊ１〜Ｊ
５のいずれか１つ以上に力検出器としての力覚センサーを備えても良い。
【００２３】
ロボット１〜３が設置された空間を規定する座標系をロボット座標系というとき、ロボ
ット座標系は、水平面上において互いに直交するｘ軸とｙ軸と、鉛直上向きを正方向とす
るｚ軸とによって規定される３次元の直交座標系である（図１参照）。ｚ軸における負の
方向は概ね重力方向と一致する。またｘ軸周りの回転角をＲｘで表し、ｙ軸周りの回転角
をＲｙで表し、ｚ軸周りの回転角をＲｚで表す。ｘ，ｙ，ｚ方向の位置により３次元空間
における任意の位置を表現でき、Ｒｘ，Ｒｙ，Ｒｚ方向の回転角により３次元空間におけ
る任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。
また、力と表記した場合、トルクも意味し得ることとする。
【００２４】
なお、本実施形態においてはロボットに作用する力を制御する力制御が実行可能であり
、力制御においては、任意の点に作用する当該作用力が目標力になるように制御される。
各種の部位に作用する力は、３次元直交座標系である力制御座標系において定義される。
目標力（トルクを含む）は、力制御座標系で表現された力の作用点を起点としたベクトル
で表現可能であり、後述する学習が行われる以前において、目標力ベクトルの起点は力制
御座標系の原点であり、作用力の方向は力制御座標系の１軸方向と一致している。ただし
、後述する学習が行われた場合、目標力ベクトルの起点は力制御座標系の原点と異なり得
るし、目標力ベクトルの方向は力制御座標系の軸方向と異なり得る。
【００２５】
本実施形態において各種の座標系の関係は予め定義されており、各種の座標系での座標
値は互いに変換可能である。すなわち、ＴＣＰ座標系、センサー座標系、ロボット座標系
、力制御座標系における位置やベクトルは互いに変換可能である。ここでは簡単のため、
制御装置４０がＴＣＰの位置およびＴＣＰに作用する作用力をロボット座標系で制御する
説明をするが、ロボット１〜３の位置やロボット１〜３に作用する力は、各種の座標系で
定義でき、互いに変換可能であるため、位置や力がどの座標系で定義され、制御されても
良い。むろん、ここで述べた座標系以外にも他の座標系（例えば対象物に固定されたオブ
ジェクト座標系等）が定義され、変換可能であっても良い。
【００２６】
（２）ロボットの制御：
ロボット１は、教示を行うことにより各種作業が可能となる汎用ロボットであり、図２
に示すようにアクチュエーターとしてのモーターＭ１〜Ｍ６と、センサーとしてのエンコ
ーダーＥ１〜Ｅ６とを備える。アームを制御することはモーターＭ１〜Ｍ６を制御するこ
とを意味する。モーターＭ１〜Ｍ６とエンコーダーＥ１〜Ｅ６とは、関節Ｊ１〜Ｊ６のそ
れぞれに対応して備えられており、エンコーダーＥ１〜Ｅ６はモーターＭ１〜Ｍ６の回転
角度を検出する。また、各モーターＭ１〜Ｍ６には電力を供給する電源線が接続されてお
り、各電源線には電流計が備えられている。従って、制御装置４０は、各モーターＭ１〜
Ｍ６に供給された電流を計測することができる。
【００２７】
制御装置４０は、コンピューター等のハードウェア資源と記憶部４４に記憶された各種
のソフトウェア資源を備え、プログラムを実行可能である。本実施形態において制御装置
４０は、算出部４１、検出部４２、制御部４３として機能する。なお、ハードウェア資源
は、ＣＰＵ，ＲＡＭ，ＲＯＭ等からなる構成であっても良いし、ＡＳＩＣ等によって構成
されても良く、種々の構成を採用可能である。
【００２８】
本実施形態において検出部４２は対象物を検出する処理を実行することが可能であり、
制御部４３はロボット１〜３のアームを駆動することが可能である。検出部４２は、光学
系２０を構成する撮像部２１と照明部２２とに接続されている。検出部４２は、撮像部２
１を制御し、撮像部２１が備える撮像センサーによって撮像された画像を取得することが
できる。また、検出部４２は、照明部２２を制御し、出力光の明るさを変化させることが
できる。
【００２９】
撮像部２１から画像が出力されると、検出部４２は、撮像画像に基づいてテンプレート
マッチング処理を行い、対象物の位置（位置姿勢）を検出する処理を行う。すなわち、検
出部４２は、記憶部４４に記憶されたテンプレートデータ４４ｃに基づいてテンプレート
マッチング処理を実行する。テンプレートデータ４４ｃは複数の位置姿勢毎のテンプレー
トである。従って、テンプレートデータ４４ｃに対して位置姿勢をＩＤ等で対応づけてお
けば、適合したテンプレートデータ４４ｃの種類によって検出部４２から見た対象物の位
置姿勢を特定することができる。
【００３０】
具体的には、検出部４２は、複数の位置姿勢毎のテンプレートデータ４４ｃを順次処理
対象とし、テンプレートデータ４４ｃの大きさを変化させながら、撮像された画像と比較
する。そして、検出部４２は、テンプレートデータ４４ｃと画像との差分が閾値以下の像
を対象物の像として検出する。
【００３１】
対象物の像が検出されると、検出部４２は、予め決められた座標系の関係と適合したテ
ンプレートデータ４４ｃの大きさに基づいて対象物の位置姿勢を特定する。すなわち、テ
ンプレートデータ４４ｃの大きさから撮像部２１と対象物との光軸方向の距離が判明し、
画像内で検出された対象物の位置から光軸に垂直な方向の位置が判明する。
【００３２】
そこで、例えば、撮像部２１の撮像センサーの光軸と撮像平面上の２軸とがＴＣＰ座標
系の各軸に平行に定義されている場合であれば、検出部４２は、テンプレートデータ４４
ｃの大きさと、テンプレートデータ４４ｃが画像と適合した位置とに基づいて、ＴＣＰ座
標系において対象物の位置を特定することができる。また、検出部４２は、適合したテン
プレートデータ４４ｃのＩＤに基づいて、ＴＣＰ座標系における対象物の姿勢を特定する
ことができる。このため、検出部４２は、上述の座標系の対応関係を利用し、任意の座標
系、例えば、ロボット座標系における対象物の位置姿勢を特定することができる。
【００３３】
なお、テンプレートマッチング処理は、対象物の位置姿勢を特定するための処理であれ
ば良く、種々の処理を採用可能である。例えば、テンプレートデータ４４ｃと画像との差
分は、階調値の差分によって評価されても良いし、画像の特徴（例えば、画像の勾配等）
の差分によって評価されても良い。
【００３４】
検出部４２は、パラメーターを参照して当該テンプレートマッチング処理を行う。すな
わち、記憶部４４には、各種のパラメーター４４ａが記憶されており、当該パラメーター
４４ａには、検出部４２の検出に関するパラメーターが含まれている。図３は、パラメー
ター４４ａの例を示す図である。図３に示す例において、パラメーター４４ａは、光学パ
ラメーターと動作パラメーターと力制御パラメーターとを含んでいる。
【００３５】
光学パラメーターは、検出部４２の検出に関するパラメーターである。動作パラメータ
ーと力制御パラメーターとはロボット１〜３を制御する際のパラメーターであり、詳細は
後述する。光学パラメーターは、撮像部２１に関する撮像部パラメーターと、照明部２２
に関する照明部パラメーターと、撮像部２１によって撮像された対象物の画像に対する画
像処理に関する画像処理パラメーターとが含まれる。
【００３６】
図３においては、これらのパラメーターの例が示されている。すなわち、対象物を撮像
する際に撮像部２１が配置される位置が撮像部の位置として定義され、撮像部パラメータ
ーに含まれている。また、撮像部２１は、露光時間と絞りを調整可能な機構を備えており
、対象物を撮像する際の露光時間および絞りの値が撮像部パラメーターに含まれている。
なお、撮像部の位置は、種々の手法で記述されて良く、例えば、撮像部２１のＴＣＰの位
置がロボット座標系で記述される構成等を採用可能である。
【００３７】
検出部４２は、撮像部パラメーターを参照し、撮像部２１の位置を後述する位置制御部
４３ａに受け渡す。この結果、位置制御部４３ａは、目標位置Ｌtを生成し、当該目標位
置Ｌtに基づいてロボット１を制御する。また、検出部４２は、撮像部パラメーターを参
照し、撮像部２１の露光時間と絞りを設定する。この結果、撮像部２１においては当該露
光時間と絞りによって撮像が行われる状態となる。
【００３８】
また、対象物を撮像する際に照明部２２が配置される位置が照明部の位置として定義さ
れ、照明部パラメーターに含まれている。また、照明部２２は、明るさを調整可能な機構
を備えており、対象物を撮像する際の明るさの値が照明部パラメーターに含まれている。
照明部の位置も、種々の手法で記述されて良く、例えば、照明部２２のＴＣＰの位置がロ
ボット座標系で記述される構成等を採用可能である。
【００３９】
検出部４２は、照明部パラメーターを参照し、照明部２２の位置を後述する位置制御部
４３ａに受け渡す。この結果、位置制御部４３ａは、目標位置Ｌtを生成し、当該目標位
置Ｌtに基づいてロボット２を制御する。また、検出部４２は、照明部パラメーターを参
照し、照明部２２の明るさを設定する。この結果、照明部２２においては当該明るさの光
が出力される状態となる。
【００４０】
検出部４２は、撮像部２１によって撮像された画像に対してテンプレートマッチング処
理を適用する際に、画像処理パラメーターを参照する。すなわち、画像処理パラメーター
には、テンプレートマッチング処理を実行する際の処理順序を示す画像処理シーケンスが
含まれている。また、本実施形態において、テンプレートマッチング処理における閾値が
可変であり、現在のテンプレートマッチングの閾値が画像処理パラメーターに含まれてい
る。さらに、検出部４２は、テンプレートデータ４４ｃと画像とを比較する前に各種の処
理を実行可能である。図３においては、各種の処理として平滑化処理と鮮鋭化処理が例示
されており、それぞれの強度が画像処理パラメーターに含まれている。
【００４１】
撮像部２１から画像が出力されると、検出部４２は、画像処理シーケンスに基づいて、
画像処理の順序（実行するか否かを含む）を決定し、当該順序で平滑化処理や鮮鋭化処理
等の画像処理を実行する。このとき、検出部４２は、画像処理パラメーターに記述された
強度で平滑化処理や鮮鋭化処理等の画像処理を実行する。また、画像処理シーケンスに含
まれる比較（テンプレートデータ４４ｃと画像との比較）を実行する際には、画像処理パ
ラメーターが示す閾値に基づいて比較を行う。
【００４２】
なお、以上のように検出部４２は、光学パラメーターに基づいて撮像部２１や照明部２
２の位置を特定し、ロボット１、ロボット２を動作させることが可能であるが、ロボット
１およびロボット２を駆動する際の位置は、後述する動作パラメーターや力制御パラメー
ターによって与えられてもよい。
【００４３】
本実施形態において、制御部４３は、位置制御部４３ａ、力制御部４３ｂ、接触判定部
４３ｃ、サーボ４３ｄを備えている。また、制御部４３においては、モーターＭ１〜Ｍ６
の回転角度の組み合わせと、ロボット座標系におけるＴＣＰの位置との対応関係Ｕ１が図
示しない記憶媒体に記憶され、座標系の対応関係Ｕ２が定義され、図示しない記憶媒体に
記憶されている。従って、制御部４３や後述する算出部４１は、対応関係Ｕ２に基づいて
、任意の座標系におけるベクトルを他の座標系におけるベクトルに変換することができる
。例えば、制御部４３、算出部４１は、力覚センサーＰの出力に基づいてセンサー座標系
でのロボット１〜３への作用力を取得し、ロボット座標系におけるＴＣＰの位置に作用す
る力に変換することができる。また、制御部４３、算出部４１は、力制御座標系で表現さ
れた目標力をロボット座標系におけるＴＣＰの位置における目標力に変換することができ
る。むろん、対応関係Ｕ１，Ｕ２は記憶部４４に記憶されていても良い。
【００４４】
制御部４３は、アームを駆動することによって、ロボット１〜３とともに移動する各種
の部位の位置や各種の部位に作用する力を制御することができ、位置の制御は主に位置制
御部４３ａ、力の制御は主に力制御部４３ｂによって実行される。サーボ４３ｄは、サー
ボ制御を実行することが可能であり、エンコーダーＥ１〜Ｅ６の出力が示すモーターＭ１
〜Ｍ６の回転角度Ｄaと、制御目標である目標角度Ｄtとを一致させるフィードバック制御
を実行する。すなわち、サーボ４３ｄは、回転角度Ｄaと目標角度Ｄtとの偏差、当該偏差
の積分、当該偏差の微分にサーボゲインＫpp，Ｋpi，Ｋpdを作用させたＰＩＤ制御を実行
することができる。
【００４５】
さらに、サーボ４３ｄは、当該サーボゲインＫpp，Ｋpi，Ｋpdが作用した出力と、回転
角度Ｄaの微分との偏差、当該偏差の積分、当該偏差の微分にサーボゲインＫvp，Ｋvi，
Ｋvdを作用させたＰＩＤ制御を実行することができる。当該サーボ４３ｄによる制御は、
モーターＭ１〜Ｍ６のそれぞれに対して実行可能である。従って、各サーボゲインはロボ
ット１〜３が備える６軸のそれぞれについて実行可能である。なお、本実施形態において
、制御部４３は、サーボ４３ｄに制御信号を出力し、サーボゲインＫpp，Ｋpi，Ｋpd，Ｋ
vp，Ｋvi，Ｋvdを変化させることができる。
【００４６】
記憶部４４には、上述のパラメーター４４ａに加え、ロボット１〜３を制御するための
ロボットプログラム４４ｂが記憶される。本実施形態において、パラメーター４４ａおよ
びロボットプログラム４４ｂは、教示によって生成され、記憶部４４に記憶されるが、後
述する算出部４１によって修正され得る。なお、ロボットプログラム４４ｂは、主に、ロ
ボット１〜３が実施する作業のシーケンス（工程の順序）を示し、予め定義されたコマン
ドの組み合わせによって記述される。また、パラメーター４４ａは、主に、各工程を実現
するために必要とされる具体的な値であり、各コマンドの引数として記述される。
【００４７】
ロボット１〜３を制御するためのパラメーター４４ａには、上述の光学パラメーターの
他に、動作パラメーターと力制御パラメーターが含まれる。動作パラメーターは、ロボッ
ト１〜３の動作に関するパラメーターであり、本実施形態においては、位置制御の際に参
照されるパラメーターである。すなわち、本実施形態において、一連の作業は複数の工程
に分けられ、各工程を実施する際のパラメーター４４ａが教示によって生成される。動作
パラメーターには、当該複数の工程における始点と終点を示すパラメーターが含まれてい
る。当該始点と終点は、種々の座標系で定義されて良く、本実施形態においては制御対象
のロボットのＴＣＰの始点および終点がロボット座標系で定義される。すなわち、ロボッ
ト座標系の各軸についての並進位置と回転位置とが定義される。
【００４８】
また、動作パラメーターには、複数の工程におけるＴＣＰの加減速特性が含まれている
。加減速特性は、ロボット１〜３のＴＣＰが各工程の始点から終点まで移動する際の期間
と当該期間内の各時刻におけるＴＣＰの速度を示している。図４は、当該加減速特性の例
を示す図であり、始点におけるＴＣＰの移動開始時刻ｔ1からＴＣＰが終点に到達する時
刻ｔ4までの期間内の各時刻においてＴＣＰの速度Ｖが定義されている。また、本実施形
態において加減速特性には定速期間が含まれる。
【００４９】
定速期間は時刻ｔ2〜ｔ3の期間であり、この期間内に置いて速度は一定である。また、
この期間の前後においてＴＣＰは加速し、また、減速する。すなわち、時刻ｔ1〜ｔ2まで
の期間においてＴＣＰは加速し、時刻ｔ3〜ｔ4までの期間においてＴＣＰは減速する。当
該加減速特性も種々の座標系で定義されて良く、本実施形態においては制御対象のロボッ
トのＴＣＰについての速度であり、ロボット座標系で定義される。すなわち、ロボット座
標系の各軸についての並進速度と回転速度（角速度）とが定義される。
【００５０】
さらに、動作パラメーターには、サーボゲインＫpp，Ｋpi，Ｋpd，Ｋvp，Ｋvi，Ｋvdが
含まれている。すなわち、制御部４３は、動作パラメーターとして記述された値になるよ
うにサーボ４３ｄに制御信号を出力し、サーボゲインＫpp，Ｋpi，Ｋpd，Ｋvp，Ｋvi，Ｋ
vdを調整することができる。本実施形態において当該サーボゲインは、上述の工程毎の値
であるが、後述の学習等によってより短い期間毎の値とされても良い。
【００５１】
力制御パラメーターは、ロボット１〜３の力制御に関するパラメーターであり、本実施
形態においては、力制御の際に参照されるパラメーターである。始点、終点、加減速特性
、サーボゲインは、動作パラメーターと同様のパラメーターであり、始点、終点、加減速
特性はロボット座標系の３軸の並進と回転について定義される。また、サーボゲインはモ
ーターＭ１〜Ｍ６のそれぞれについて定義される。ただし、力制御の場合、始点および終
点の中の少なくとも一部は定義されない場合（任意とされる場合）もある。例えば、ある
方向に作用する力が０になるように衝突回避や倣い制御が行われる場合、当該方向におけ
る始点および終点は定義されず、当該方向の力を０にするように位置が任意に変化し得る
状態が定義される場合もある。
【００５２】
また、力制御パラメーターには、力制御座標系を示す情報が含まれている。力制御座標
系は、力制御の目標力を定義するための座標系であり、後述の学習が行われる前において
は目標力ベクトルの起点が原点であり、目標力ベクトルの方向に１軸が向いている。すな
わち、教示において力制御における各種の目標力が定義される際に、各作業の各工程にお
ける目標力の作用点が教示される。例えば、対象物の一点を他の物体に当て、両者の接触
点で対象物から他の物体に一定の目標力を作用させた状態で対象物の向きを変化させる場
合において、対象物が他の物体と接触する点が目標力の作用点となり、当該作用点を原点
とした力制御座標系が定義される。そこで、力制御パラメーターにおいては、力制御の目
標力が作用する点を原点とし、目標力の方向に１軸が向いている座標系、すなわち、力制
御座標系を特定するための情報を、パラメーターに含んでいる。なお、当該パラメーター
は種々の定義が可能であるが、例えば、力制御座標系と他の座標系（ロボット座標系等）
との関係を示すデータによって定義可能である。
【００５３】
さらに、力制御パラメーターには、目標力が含まれている。目標力は、各種の作業にお
いて、任意の点に作用すべき力として教示される力であり、力制御座標系において定義さ
れる。すなわち、目標力を示す目標力ベクトルが、目標力ベクトルの起点と、起点からの
６軸成分（３軸の並進力、３軸のトルク）として定義され、力制御座標系で表現されてい
る。なお、力制御座標系と他の座標系との関係を利用すれば、当該目標力を任意の座標系
、例えば、ロボット座標系におけるベクトルに変換することが可能である。
【００５４】
さらに、力制御パラメーターには、インピーダンスパラメーターが含まれている。すな
わち、本実施形態において力制御部４３ｂが実施する力制御は、インピーダンス制御であ
る。インピーダンス制御は、仮想の機械的インピーダンスをモーターＭ１〜Ｍ６によって
実現する制御である。この際、ＴＣＰが仮想的に有する質量が仮想慣性係数ｍとして定義
され、ＴＣＰが仮想的に受ける粘性抵抗が仮想粘性係数ｄとして定義され、ＴＣＰが仮想
的に受ける弾性力のバネ定数が仮想弾性係数ｋとして定義される。インピーダンスパラメ
ーターはこれらのｍ，ｄ，ｋであり、ロボット座標系の各軸に対する並進と回転について
定義される。本実施形態において当該力制御座標系、目標力、インピーダンスパラメータ
ーは、上述の工程毎の値であるが、後述の学習等によってより短い期間毎の値とされても
良い。
【００５５】
本実施形態において、一連の作業は複数の工程に分けられ、各工程を実施するロボット
プログラム４４ｂが教示によって生成されるが、位置制御部４３ａは、ロボットプログラ
ム４４ｂが示す各工程をさらに微小時間ΔＴ毎の微小工程に細分化する。そして、位置制
御部４３ａは、パラメーター４４ａに基づいて微小工程毎の目標位置Ｌtを生成する。力
制御部４３ｂは、パラメーター４４ａに基づいて一連の作業の各工程における目標力ｆLt
を取得する。
【００５６】
すなわち、位置制御部４３ａは、動作パラメーターまたは力制御パラメーターが示す始
点、終点、加減速特性を参照し、始点から終点まで当該加減速特性で移動する場合（姿勢
の場合は姿勢が変化する場合）の微小工程毎のＴＣＰの位置を目標位置Ｌtとして生成す
る。力制御部４３ｂは、各工程についての力制御パラメーターが示す目標力を参照し、力
制御座標系とロボット座標系との対応関係Ｕ２に基づいて当該目標力をロボット座標系に
おける目標力ｆLtに変換する。当該目標力ｆLtは、任意の点に作用する力として変換され
得るが、ここでは、後述の作用力がＴＣＰに作用している力として表現されるため、当該
作用力と目標力ｆLtとを運動方程式で解析するため、目標力ｆLtがＴＣＰの位置における
力に変換されるとして説明を行う。むろん、工程によっては、目標力ｆLtが定義されない
場合もあり、この場合、力制御を伴わない位置制御が行われる。
【００５７】
なお、ここでＬの文字は、ロボット座標系を規定する軸の方向（ｘ，ｙ，ｚ，Ｒｘ，Ｒ
ｙ，Ｒｚ）のなかのいずれか１個の方向を表すこととする。また、Ｌは、Ｌ方向の位置も
表すこととする。例えば、Ｌ＝ｘの場合、ロボット座標系にて設定された目標位置のｘ方
向成分がＬt＝ｘtと表記され、目標力のｘ方向成分がｆLt＝ｆxtと表記される。
【００５８】
位置制御や力制御を実行するため、制御部４３は、ロボット１〜３の状態を取得するこ
とができる。すなわち、制御部４３は、モーターＭ１〜Ｍ６の回転角度Ｄaを取得し、対
応関係Ｕ１に基づいて、当該回転角度Ｄaをロボット座標系におけるＴＣＰの位置Ｌ（ｘ
，ｙ，ｚ，Ｒｘ，Ｒｙ，Ｒｚ）に変換することができる。また制御部４３は、対応関係Ｕ
２を参照し、ＴＣＰの位置Ｌと、力覚センサーＰの検出値および位置とに基づいて、力覚
センサーＰに現実に作用している力をＴＣＰに作用している作用力ｆＬに変換してロボッ
ト座標系において特定することができる。
【００５９】
すなわち、力覚センサーＰに作用している力は、センサー座標系で定義される。そこで
、制御部４３は、ロボット座標系におけるＴＣＰの位置Ｌと対応関係Ｕ２と力覚センサー
Ｐの検出値に基づいて、ロボット座標系においてＴＣＰに作用する作用力ｆＬを特定する
。また、ロボットに作用するトルクは、作用力ｆＬと、ツール接触点（エンドエフェクタ
ーとワークの接触点）から力覚センサーＰまでの距離とから算出することができ、図示さ
れないｆＬトルク成分として特定される。なお、制御部４３は、作用力ｆＬに対して重力
補償を行う。重力補償とは、作用力ｆＬから重力成分を除去する処理である。重力補償は
、例えば、ＴＣＰの姿勢ごとにＴＣＰに作用する作用力ｆＬの重力成分を予め調査してお
き、作用力ｆＬから当該重力成分を減算するなどして実現可能である。
【００６０】
ＴＣＰに作用する重力以外の作用力ｆＬと、ＴＣＰに作用すべき目標力ｆLtとが特定さ
れると、力制御部４３ｂは、対象物等の物体がＴＣＰに存在し、当該ＴＣＰに力が作用し
得る状態において、インピーダンス制御による補正量ΔＬ（以後、力由来補正量ΔＬと呼
ぶ。）を取得する。すなわち、力制御部４３ｂはパラメーター４４ａを参照して目標力ｆ
Ltとインピーダンスパラメーターｍ，ｄ，ｋを取得し、運動方程式（１）に代入して力由
来補正量ΔＬを取得する。なお、当該力由来補正量ΔＬは、ＴＣＰが機械的インピーダン
スを受けた場合に、目標力ｆLtと作用力ｆＬとの力偏差ΔｆＬ（ｔ）を解消するために、
ＴＣＰが移動すべき位置Ｌの大きさを意味する。
【数１】
2018126799.tif 000003
【００６１】
（１）式の左辺は、ＴＣＰの位置Ｌの２階微分値に仮想慣性係数ｍを乗算した第１項と
、ＴＣＰの位置Ｌの微分値に仮想粘性係数ｄを乗算した第２項と、ＴＣＰの位置Ｌに仮想
弾性係数ｋを乗算した第３項とによって構成される。（１）式の右辺は、目標力ｆLtから
現実の作用力ｆＬを減算した力偏差ΔｆＬ（ｔ）によって構成される。（１）式における
微分とは、時間による微分を意味する。
【００６２】
力由来補正量ΔＬが得られると、制御部４３は、対応関係Ｕ１に基づいて、ロボット座
標系を規定する各軸の方向の動作位置を、各モーターＭ１〜Ｍ６の目標の回転角度である
目標角度Ｄtに変換する。サーボ４３ｄは、目標角度ＤtからモーターＭ１〜Ｍ６の現実の
回転角度であるエンコーダーＥ１〜Ｅ６の出力（回転角度Ｄa）を減算することにより、
駆動位置偏差Ｄe（＝Ｄt−Ｄa）を算出する。サーボ４３ｄは、パラメーター４４ａを参
照してサーボゲインＫpp，Ｋpi，Ｋpd，Ｋvp，Ｋvi，Ｋvdを取得し、駆動位置偏差Ｄeに
サーボゲインＫpp，Ｋpi，Ｋpdを乗算した値と、現実の回転角度Ｄaの時間微分値である
駆動速度との差である駆動速度偏差に、サーボゲインＫvp，Ｋvi，Ｋvdを乗算した値とを
加算することにより、制御量Ｄcを導出する。制御量Ｄcは、モーターＭ１〜Ｍ６のそれぞ
れについて特定され、各モーターＭ１〜Ｍ６の制御量ＤcでモーターＭ１〜Ｍ６のそれぞ
れが制御される。制御部４３がモーターＭ１〜Ｍ６を制御する信号は、ＰＷＭ（Pulse Wi
dth Modulation）変調された信号である。
【００６３】
以上のように、運動方程式に基づいて目標力ｆLtから制御量Ｄcを導出してモーターＭ
１〜Ｍ６を制御するモードを力制御モードというものとする。また制御部４３は、エンド
エフェクター等の構成要素が対象物Ｗから力を受けない非接触状態の工程では、力制御を
行わず、目標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御する。目
標位置から線形演算で導出する回転角度でモーターＭ１〜Ｍ６を制御するモードを位置制
御モードというものとする。さらに、制御部４３は、目標位置から線形演算で導出する回
転角度と目標力を運動方程式に代入して導出する回転角度とを例えば線型結合によって統
合し、統合した回転角度でモーターＭ１〜Ｍ６を制御するハイブリッドモードでもロボッ
ト１を制御することができる。これらのモードはロボットプログラム４４ｂによって予め
決められる。
【００６４】
位置制御モードまたはハイブリッドモードで制御を行う場合、位置制御部４３ａは、微
小工程毎の目標位置Ｌtを取得する。微小工程毎の目標位置Ｌtが得られると、制御部４３
は、対応関係Ｕ１に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モ
ーターＭ１〜Ｍ６の目標の回転角度である目標角度Ｄtに変換する。サーボ４３ｄは、パ
ラメーター４４ａを参照してサーボゲインＫpp，Ｋpi，Ｋpd，Ｋvp，Ｋvi，Ｋvdを取得し
、目標角度Ｄtに基づいて、制御量Ｄcを導出する。制御量Ｄcは、モーターＭ１〜Ｍ６の
それぞれについて特定され、各モーターＭ１〜Ｍ６の制御量ＤcでモーターＭ１〜Ｍ６の
それぞれが制御される。この結果、各工程において、ＴＣＰは、微小工程毎の目標位置Ｌ
tを経由し、加減速特性に従って始点から終点まで移動する。
【００６５】
なお、ハイブリッドモードでは、制御部４３は、微小工程毎の目標位置Ｌtに、力由来
補正量ΔＬを加算することにより動作位置（Ｌt＋ΔＬ）を特定し、当該動作位置に基づ
いて目標角度Ｄtを取得し、制御量Ｄcを取得する。
【００６６】
接触判定部４３ｃは、ロボット１〜３が作業において想定されていない物体と接触した
か否かを判定する機能を実行する。本実施形態において、接触判定部４３ｃは、ロボット
１〜３のそれぞれが備える力覚センサーＰの出力を取得し、出力が予め決められた基準値
を超えた場合にロボット１〜３が作業において想定されていない物体と接触したと判定す
る。この場合において、種々の処理が行われて良いが、本実施形態において接触判定部４
３ｃは、ロボット１〜３の制御量Ｄcを０としてロボット１〜３を停止させる。なお、停
止させる際の制御量は、種々の制御量であって良く、直前の制御量Ｄcをキャンセルする
制御量でロボット１〜３を動作させる構成等であっても良い。
【００６７】
（３）ピックアップ処理：
次に、以上の構成におけるロボット１〜３の動作を説明する。ここでは、ロボット２の
照明部２２で照明され、ロボット１の撮像部２１で撮像された対象物Ｗをロボット３のグ
リッパー２３でピックアップする作業を例にして説明する。むろん、ロボット１〜３によ
る作業は、ピックアップ作業に限定されず、他にも種々の作業（例えば、ネジ締め作業、
挿入作業、ドリルによる穴あけ作業、バリ取り作業、研磨作業、組み立て作業、製品チェ
ック作業等）に適用可能である。ピックアップ処理は、上述のコマンドによって記述され
たロボット制御プログラムによって検出部４２および制御部４３が実行する処理によって
実現される。本実施形態においてピックアップ処理は、作業台に対象物Ｗが配置した状態
で実行される。
【００６８】
図５は、ピックアップ処理のフローチャートの例を示す図である。ピックアップ処理が
開始されると、検出部４２は、撮像部２１が撮像した画像を取得する（ステップＳ１００
）。すなわち、検出部４２は、パラメーター４４ａを参照して照明部２２の位置を特定し
、当該位置を位置制御部４３ａに対して受け渡す。この結果、位置制御部４３ａは、現在
の照明部２２の位置を始点、パラメーター４４ａが示す照明部２２の位置を終点とした位
置制御を実行し、パラメーター４４ａが示す照明部の位置に照明部２２を移動させる。次
に、検出部４２はパラメーター４４ａを参照して照明部２２の明るさを特定し、照明部２
２を制御して照明の明るさを当該明るさに設定する。
【００６９】
さらに、検出部４２は、パラメーター４４ａを参照して撮像部２１の位置を特定し、当
該位置を位置制御部４３ａに対して受け渡す。この結果、位置制御部４３ａは、現在の撮
像部２１の位置を始点、パラメーター４４ａが示す撮像部２１の位置を終点とした位置制
御を実行し、パラメーター４４ａが示す照明部の位置に撮像部２１を移動させる。次に、
検出部４２はパラメーター４４ａを参照して撮像部２１の露光時間および絞りを特定し、
撮像部２１を制御して露光時間および絞りを当該露光時間および絞りに設定する。露光時
間および絞りの設定が完了すると、撮像部２１は、画像を撮像し、検出部４２に対して出
力する。検出部４２は、当該画像を取得する。
【００７０】
次に、検出部４２は、画像に基づいて、対象物の検出が成功したか否かを判定する（ス
テップＳ１０５）。すなわち、検出部４２は、パラメーター４４ａを参照して画像処理シ
ーケンスを特定し、当該画像処理シーケンスが示す各処理をパラメーター４４ａが示す強
度で実行する。また、検出部４２は、テンプレートデータ４４ｃを参照し、テンプレート
データ４４ｃと画像との差分を閾値と比較し、差分が閾値以下である場合に、対象物の検
出が成功したと判定する。
【００７１】
ステップＳ１０５において、対象物の検出が成功したと判定されない場合、検出部４２
は、テンプレートデータ４４ｃと画像の相対位置、またはテンプレートデータ４４ｃの大
きさ、の少なくとも一方を変化させ、ステップＳ１００以降の処理を繰り返す。一方、ス
テップＳ１０５において、対象物の検出が成功したと判定された場合、制御部４３は、制
御目標を特定する（ステップＳ１１０）。
【００７２】
本例におけるピックアップ処理は、検出部４２が検出した対象物Ｗの位置姿勢に合わせ
てロボット３のグリッパー２３を移動させ、姿勢を変化させ、グリッパー２３で対象物Ｗ
をピックアップし、所定の位置まで対象物Ｗを運んでグリッパー２３から対象物Ｗを離す
作業である。そこで、位置制御部４３ａおよび力制御部４３ｂは、ロボットプログラム４
４ｂに基づいて一連の作業を構成する複数の工程を特定する。
【００７３】
制御目標の特定対象となる工程は、各工程の中で未処理かつ時系列で先に存在する工程
である。制御目標の特定対象となる工程が力制御モードの工程である場合、力制御部４３
ｂは、パラメーター４４ａの力制御パラメーターを参照し、力制御座標系、目標力を取得
する。力制御部４３ｂは、力制御座標系に基づいて、当該目標力をロボット座標系の目標
力ｆLtに変換する。また、力制御部４３ｂは、力覚センサーＰの出力をＴＣＰに作用して
いる作用力ｆＬに変換する。さらに、力制御部４３ｂは、パラメーター４４ａの力制御パ
ラメーターを参照し、インピーダンスパラメーターｍ，ｄ，ｋに基づいて、力由来補正量
ΔＬを制御目標として取得する。
【００７４】
制御目標の特定対象となる工程が位置制御モードである場合、位置制御部４３ａは、当
該工程を微小工程に細分化する。そして、位置制御部４３ａは、パラメーター４４ａの動
作パラメーターを参照し、始点、終点、および加減速特性に基づいて、微小工程毎の目標
位置Ｌtを制御目標として取得する。制御目標の特定対象となる工程がハイブリッドモー
ドである場合、位置制御部４３ａは、当該工程を微小工程に細分化し、パラメーター４４
ａの力制御パラメーターを参照し、始点、終点、および加減速特性に基づいて、微小工程
毎の目標位置Ｌtを取得し、力制御座標系、目標力ｆLt、インピーダンスパラメーター、
作用力ｆＬに基づいて力由来補正量ΔＬを取得する。これらの目標位置Ｌtおよび力由来
補正量ΔＬが制御目標である。
【００７５】
制御目標が特定されると、サーボ４３ｄは、現在の制御目標でロボット３を制御する（
ステップＳ１１５）。すなわち、現在の工程が力制御モードまたはハイブリッドモードの
工程である場合、サーボ４３ｄは、パラメーター４４ａの力制御パラメーターを参照し、
サーボゲインに基づいて、制御目標に対応する制御量Ｄcを特定し、モーターＭ１〜Ｍ６
のそれぞれを制御する。現在の工程が位置制御モードの工程である場合、サーボ４３ｄは
、パラメーター４４ａの動作パラメーターを参照し、サーボゲインに基づいて、制御目標
に対応する制御量Ｄcを特定し、モーターＭ１〜Ｍ６のそれぞれを制御する。
【００７６】
次に、制御部４３は、現在の工程が終了したか否かを判定する（ステップＳ１２０）。
当該判定は、種々の終了判定条件によって実行されてよく、位置制御であれば、例えば、
ＴＣＰが目標位置に達したことや目標位置においてＴＣＰが整定したこと等が挙げられる
。力制御であれば、例えば、作用力が目標力に一致した状態から作用力が指定の大きさ以
上、または指定の大きさ以下に変化したことや、ＴＣＰが指定の範囲外になったこと等が
挙げられる。前者は、例えば、ピックアップ作業における対象物の把持動作の完了や、把
持解除動作の完了等が挙げられる。後者は、例えば、ドリルによる対象物の貫通作業にお
いてドリルが貫通した場合等が挙げられる。
【００７７】
むろん、他にも各工程が失敗したと推定される場合において、工程が終了したと判定さ
れて良い。ただし、この場合には、作業の中止や中断が行われることが好ましい。工程の
失敗を判定するための終了判定条件としては、例えば、ＴＣＰの移動速度や加速度が上限
値を超えた場合やタイムアウトが発生した場合等が挙げられる。終了判定条件を充足した
か否かは、各種のセンサー、力覚センサーＰや撮像部２１、他のセンサー等が利用されて
良い。
【００７８】
ステップＳ１２０において、現在の工程が終了したと判定されない場合、制御部４３は
、微小時間ΔＴ後に、次の微小工程についてステップＳ１１５以降の処理を実行する。す
なわち、現在の工程が位置制御モードまたはハイブリッドモードである場合、位置制御部
４３ａは、次の微小工程における目標位置Ｌtを制御目標としてロボット３を制御する。
また、現在の工程が力制御モードまたはハイブリッドモードである場合、力制御部４３ｂ
は、再度力覚センサーＰの出力に基づいて作用力ｆＬを取得し、最新の作用力ｆＬに基づ
いて特定される力由来補正量ΔＬを制御目標としてロボット３を制御する。
【００７９】
ステップＳ１２０において、現在の工程が終了したと判定された場合、制御部４３は、
作業が終了したか否かを判定する（ステップＳ１２５）。すなわち、ステップＳ１２０で
終了したと判定された工程が最終工程であった場合、制御部４３は、作業が終了したと判
定する。ステップＳ１２５で作業が終了したと判定されなかった場合、制御部４３は、作
業シーケンスの次の工程を現在の工程に変更し（ステップＳ１３０）、ステップＳ１１０
以降の処理を実行する。ステップＳ１２５で作業が終了したと判定された場合、制御部４
３は、作業が終了したと判定し、ピックアップ処理を終了する。
【００８０】
（４）学習処理：
本実施形態にかかる制御装置４０は、以上のように、パラメーター４４ａに基づいてロ
ボット１〜３を制御することができる。上述の実施形態において、パラメーター４４ａは
教示によって生成されたが、人為的な教示によってパラメーター４４ａを最適化すること
は困難である。
【００８１】
例えば、検出部４２による対象物Ｗの検出において、同じ対象物Ｗであっても、光学パ
ラメーターが異なれば対象物Ｗの位置、画像内での対象物の像や位置、対象物Ｗに生じる
影など、様々な要素が変化し得る。従って、光学パラメーターを変化させると、検出部４
２による対象物Ｗの検出精度が変化し得る。そして、光学パラメーターを変化させた場合
に対象物Ｗの検出精度がどのように変化するのかは、必ずしも明らかではない。
【００８２】
また、動作パラメーターや力制御パラメーターはロボット１〜３の制御に利用されるが
、ロボット１〜３のように複数の自由度（可動軸）を有するロボットは極めて多数のパタ
ーンで動作することが可能である。そして、ロボット１〜３においては、振動や異音、オ
ーバーシュート等の好ましくない動作が発生しないようにパターンが決められている必要
がある。さらに、エンドエフェクターとして各種の装置が取り付けられる場合、ロボット
１〜３の重心が変化し得るため、最適な動作パラメーター、力制御パラメーターも変化し
得る。そして、動作パラメーターや力制御パラメーターを変化させた場合に、ロボット１
〜３の動作がどのように変化するのかは、必ずしも明らかではない。
【００８３】
さらに、力制御パラメーターは、ロボット１〜３において力制御が行われる場合に利用
されるが、ロボット１〜３において実施される各作業において、力制御パラメーターを変
化させた場合に、ロボット１〜３の動作がどのように変化するのかは、必ずしも明らかで
はない。例えば、どのような方向においてどのようなインピーダンスパラメーターが最適
であるのか、全ての作業工程において推定することは困難である。このため、検出部４２
の検出精度を高めたり、ロボット１〜３の潜在的な性能を引き出したりするためには極め
て多数の試行錯誤を行う必要がある。
【００８４】
しかし、人為的に極めて多数の試行錯誤を行うことは困難であるため、対象物Ｗの検出
精度が充分に高く、当該検出精度がほぼ上限に達していると推定される状態や、ロボット
１〜３の潜在的な性能が引き出されている状態（所要時間や消費電力等のパフォーマンス
のさらなる向上が困難な状態）を人為的に実現することは困難である。また、パラメータ
ー４４ａの調整を行うためには、パラメーター４４ａの変化による検出精度の変化やロボ
ット１〜３の動作の変化を熟知しているオペレーターが必要になり、熟知していないオペ
レーターがパラメーター４４ａの調整を行うことは困難である。また、常に熟練のオペレ
ーターを必要とするシステムはとても不便である。
【００８５】
そこで、本実施形態においては、人為的なパラメーター４４ａの決定作業を行うことな
く、自動的にパラメーター４４ａを決定するための構成を備えている。なお、本実施形態
によれば、多少のパラメーター４４ａの変更によって検出精度がより向上しないと推定さ
れる（検出精度が極大であると推定される）状態や、多少のパラメーター４４ａの変更に
よってロボット１〜３の性能が高性能化することはないと推定される（性能が極大である
と推定される）状態を実現することができる。本実施形態においては、これらの状態を最
適化された状態と呼ぶ。
【００８６】
本実施形態において制御装置４０は、パラメーター４４ａの自動的な決定のために算出
部４１を備えている。本実施形態において、算出部４１は、機械学習を用いて、光学パラ
メーターと動作パラメーターと力制御パラメーターとを算出することができる。図６は、
算出部４１の構成を示す図であり、図２に示す構成の一部を省略し、算出部４１の詳細を
示した図である。なお、図６に示す記憶部４４は、図２に示す記憶部４４と同一の記憶媒
体であり、各図においては記憶された情報の一部の図示が省略されている。
【００８７】
算出部４１は、状態変数を観測する状態観測部４１ａと、観測された状態変数に基づい
てパラメーター４４ａを学習する学習部４１ｂとを備えている。本実施形態において、状
態観測部４１ａは、パラメーター４４ａを変化させたことによって生じた結果を状態変数
として観測する。このため、状態観測部４１ａは、サーボ４３ｄの制御結果と、エンコー
ダーＥ１〜Ｅ６の値と、力覚センサーＰの出力と、検出部４２が取得する画像とを状態変
数として取得可能である。
【００８８】
具体的には、状態観測部４１ａは、サーボ４３ｄの制御結果として、モーターＭ１〜Ｍ
６に供給される電流値を観測する。当該電流値は、モーターＭ１〜Ｍ６で出力されるトル
クに相当する。エンコーダーＥ１〜Ｅ６の出力は、対応関係Ｕ１に基づいてロボット座標
系におけるＴＣＰの位置に変換される。従って、状態観測部４１ａは、ロボット１であれ
ば撮像部２１の位置、ロボット２であれば照明部２２の位置、ロボット３であればグリッ
パー２３の位置を観測することができる。
【００８９】
力覚センサーＰの出力は、対応関係Ｕ２に基づいてロボット座標系におけるＴＣＰに作
用する作用力に変換される。従って、状態観測部４１ａは、ロボット１〜３への作用力を
状態変数として観測することができる。検出部４２が取得する画像は、撮像部２１で撮像
された画像であり、状態観測部４１ａは、当該画像を状態変数として観測することができ
る。状態観測部４１ａは、学習対象のパラメーター４４ａに応じて観測対象の状態変数を
適宜選択することができる。
【００９０】
学習部４１ｂは、学習によってパラメーター４４ａを最適化することができればよく、
本実施形態においては、強化学習によってパラメーター４４ａを最適化する。具体的には
、学習部４１ｂは、状態変数に基づいてパラメーター４４ａを変化させる行動を決定し、
当該行動を実行する。当該行動後の状態に応じて報酬を評価すれば、当該行動の行動価値
が判明する。そこで、算出部４１は、状態変数の観測と、当該状態変数に応じた行動の決
定と、当該行動によって得られる報酬の評価とを繰り返すことによって、パラメーター４
４ａを最適化する。
【００９１】
本実施形態において、算出部４１は、パラメーター４４ａの中から学習対象のパラメー
ターを選択して学習を行うことができる。本実施形態においては、光学パラメーターの学
習と、動作パラメーターの学習と、力制御パラメーターの学習とのそれぞれを独立して実
行することができる。
【００９２】
（４−１）光学パラメーターの学習：
図７はエージェントと環境とからなる強化学習のモデルに沿って光学パラメーターの学
習例を説明する図である。図７に示すエージェントは、予め決められた方策に応じて行動
ａを選択する機能に相当し、学習部４１ｂによって実現される。環境は、エージェントが
選択した行動ａと現在の状態ｓとに基づいて次の状態ｓ'を決定し、行動ａと状態ｓと状
態ｓ'とに基づいて即時報酬ｒを決定する機能に相当し、状態観測部４１ａおよび学習部
４１ｂによって実現される。
【００９３】
本実施形態においては、予め決められた方策によって学習部４１ｂが行動ａを選択し、
状態観測部４１ａが状態の更新を行う処理を繰り返すことにより、ある状態ｓにおけるあ
る行動ａの行動価値関数Ｑ（ｓ，ａ）を算出するＱ学習が採用される。すなわち、本例に
おいては、下記の式（２）によって行動価値関数を更新する。そして、行動価値関数Ｑ（
ｓ，ａ）が適正に収束した場合には、当該行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａ
が最適な行動であると見なされ、当該行動ａを示すパラメーター４４ａが最適化されたパ
ラメーターであると見なされる。
【数２】
2018126799.tif 000004
【００９４】
ここで、行動価値関数Ｑ（ｓ，ａ）は、状態ｓにおいて行動ａを取った場合において将
来にわたって得られる収益（本例では割引報酬総和）の期待値である。報酬はｒであり、
状態ｓ、行動ａ、報酬ｒの添え字ｔは、時系列で繰り返す試行過程における１回分のステ
ップを示す番号（試行番号と呼ぶ）であり、行動決定後に状態が変化すると試行番号がイ
ンクリメントされる。従って、式（２）内の報酬ｒt+1は状態ｓtで行動ａtが選択され、
状態がｓt+1になった場合に得られる報酬である。αは学習率、γは割引率である。また
、ａ'は、状態ｓt+1で取り得る行動ａt+1の中で行動価値関数Ｑ（ｓt+1，ａt+1）を最大
化する行動であり、ｍａｘａ'Ｑ（ｓt+1，ａ'）は、行動ａ'が選択されたことによって最
大化された行動価値関数である。
【００９５】
光学パラメーターの学習においては、光学パラメーターを変化させることが行動の決定
に相当しており、学習対象のパラメーターと取り得る行動とを示す行動情報４４ｄが記憶
部４４に予め記録される。すなわち、当該行動情報４４ｄに学習対象として記述された光
学パラメーターが学習対象となる。図７においては、光学パラメーターの中の撮像部パラ
メーターと、照明部パラメーターと、画像処理パラメーターとの一部が学習対象となって
いる例を示している。
【００９６】
具体的には、撮像部パラメーターの中で撮像部２１のｘ座標、ｙ座標が学習対象となっ
ている。従って、この例においてｚ座標やｘｙｚ軸に対する回転（姿勢）は学習対象とな
っておらず、撮像部２１は、対象物Ｗが置かれる作業台に向いている状態であるとともに
、撮像部２１のｘ−ｙ平面内での移動が学習対象である。むろん、他の撮像部パラメータ
ー、例えば、撮像部２１の姿勢やｚ座標、露光時間や絞りが学習対象であっても良い。
【００９７】
また、図７に示す例においては、照明部パラメーターの中で、照明部２２のｘ座標、ｙ
座標および照明部の明るさが学習対象となっている。従って、この例においてｚ座標やｘ
ｙｚ軸に対する回転（姿勢）は学習対象となっておらず、照明部２２は、対象物Ｗが置か
れる作業台に向いている状態であるとともに、照明部２２のｘ−ｙ平面内での移動が学習
対象である。むろん、他の照明部パラメーター、例えば、照明部２２の姿勢やｚ座標が学
習対象であっても良い。
【００９８】
さらに、図７に示す例においては、画像処理パラメーターの中で、平滑化処理の強度と
鮮鋭化処理の強度とテンプレートマッチングの閾値が学習対象となっている。従って、こ
の例において、画像処理シーケンスは学習対象となっておらず、撮像部２１で撮像された
画像に対する画像処理の順序は変化しない（むろん、画像処理シーケンスが学習対象であ
る実施形態も採用可能である）。
【００９９】
図７に示す例において行動には値を一定値増加させる行動と、値を一定値減少させる行
動とが存在する。従って、図７に示す全８個のパラメーターにおいて取り得る行動は全１
６個である（行動ａ１〜行動ａ１６）。行動情報４４ｄは、学習対象のパラメーターと取
り得る行動とを示しているため、図７に示す例であれば、図示した８個のパラメーターが
行動情報４４ｄに学習対象として記述される。また、各行動を特定するための情報（行動
のＩＤ、各行動での増減量等）が行動情報４４ｄに記述される。
【０１００】
図７に示す例において、報酬は対象物Ｗの検出の成否に基づいて特定される。すなわち
、学習部４１ｂは、行動ａとして光学パラメーターを変化させた後、当該光学パラメータ
ーによってロボット１，２を動作させ、検出部４２によって撮像部２１が撮像した画像を
取得する。そして、学習部４１ｂは、当該光学パラメーターに基づいてテンプレートマッ
チング処理を実行し、対象物Ｗの検出が成功したか否かを判定する。さらに、学習部４１
ｂは、検出の成否によって行動ａ、状態ｓ、ｓ'の報酬を決定する。当該報酬は、対象物
Ｗの検出の成否に基づいて決定されれば良く、例えば、検出の成功に正（例えば＋１）、
検出の失敗に負（例えば−１）の報酬を与える構成等を採用可能である。この構成によれ
ば、対象物の検出精度を高めるように最適化を行うことができる。
【０１０１】
現在の状態ｓにおいて行動ａが採用された場合における次の状態ｓ'は、行動ａとして
のパラメーターの変化が行われた後にロボット１，２を動作させ、状態観測部４１ａが状
態を観測することによって特定可能である。なお、本例にかかる光学パラメーターの学習
においてロボット３は動作しない。図７に示す例において、状態変数には、撮像部２１の
ｘ座標、ｙ座標と、照明部２２のｘ座用、ｙ座標、照明部２２の明るさと、平滑化処理の
強度、鮮鋭化処理の強度、テンプレートマッチングの閾値と、撮像部２１で撮像された画
像とが含まれている。
【０１０２】
従って、この例において、状態観測部４１ａは、行動ａが実行された後に、ロボット１
のエンコーダーＥ１〜Ｅ６の出力をＵ１に基づいて変換して撮像部２１のｘ座標およびｙ
座標を観測する。また、状態観測部４１ａは、行動ａが実行された後に、ロボット２のエ
ンコーダーＥ１〜Ｅ６の出力をＵ１に基づいて変換して照明部２２のｘ座標およびｙ座標
を観測する。
【０１０３】
本実施形態において、照明部２２の明るさは、パラメーター４４ａによって誤差無く調
整可能であると見なされており（または誤差が影響ないと見なされており）、状態観測部
４１ａは、パラメーター４４ａに含まれる照明部の明るさを取得して状態変数が観測され
たと見なす。むろん、照明部２２の明るさは、センサー等によって実測されても良いし、
撮像部２１が撮像した画像に基づいて（例えば、平均階調値等により）観測されても良い
。状態観測部４１ａは、平滑化処理の強度、鮮鋭化処理の強度、テンプレートマッチング
の閾値についても、パラメーター４４ａを参照して現在の値を取得し、状態変数が観測さ
れたと見なす。
【０１０４】
さらに、状態観測部４１ａにおいては、撮像部２１が撮像し、検出部４２が取得した画
像を状態変数として取得する（図７に示す太枠）。すなわち、状態観測部４１ａは、撮像
部２１が撮像した画像（対象物が存在し得る注目領域等の画像であっても良い）の画素毎
の階調値を状態変数として観測する。撮像部のｘ座標等は、行動であるとともに観測対象
としての状態であるが、撮像部２１が撮像した画像は行動ではない。従って、この意味で
、撮像された画像は、光学パラメーターの変化から直接的に推定することが困難な変化を
し得る状態変数である。また、検出部４２は、当該画像に基づいて対象物を検出するため
、当該画像は検出の成否に直接的に影響を与え得る状態変数である。従って、状態変数と
して、当該画像を観測することにより、人為的に改善することが困難なパラメーターの改
善を行い、効果的に検出部４２の検出精度を高めるように光学パラメーターを最適化する
ことが可能になる。
【０１０５】
（４−２）光学パラメーターの学習例：
次に、光学パラメーターの学習例を説明する。学習の過程で参照される変数や関数を示
す情報は、学習情報４４ｅとして記憶部４４に記憶される。すなわち、算出部４１は、状
態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬の
評価とを繰り返すことによって行動価値関数Ｑ（ｓ，ａ）を収束させる構成が採用されて
いる。そこで、本例において、学習の過程で状態変数と行動と報酬との時系列の値が、順
次、学習情報４４ｅに記録されていく。
【０１０６】
行動価値関数Ｑ（ｓ，ａ）は、種々の手法で算出されて良く、多数回の試行に基づいて
算出されても良いが、本実施形態においては、行動価値関数Ｑ（ｓ，ａ）を近似的に算出
する一手法であるＤＱＮ（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ）が採用されている。ＤＱＮに
おいては、多層ニューラルネットワークを用いて行動価値関数Ｑ（ｓ，ａ）を推定する。
本例においては、状態ｓを入力とし、選択し得る行動の数Ｎ個の行動価値関数Ｑ（ｓ，ａ
）の値を出力とする多層ニューラルネットワークが採用されている。
【０１０７】
図８は、本例において採用されている多層ニューラルネットワークを模式的に示す図で
ある。図８において、多層ニューラルネットワークは、Ｍ個（Ｍは２以上の整数）の状態
変数を入力とし、Ｎ個（Ｎは２以上の整数）個の行動価値関数Ｑの値を出力としている。
例えば、図７に示す例であれば、撮像部のｘ座標〜テンプレートマッチングの閾値までの
８個の状態変数と撮像された画像の画素数との和がＭ個であり、Ｍ個の状態変数の値が多
層ニューラルネットワークに入力される。図８においては、試行番号ｔにおけるＭ個の状
態をｓ1t〜ｓMtとして示している。
【０１０８】
Ｎ個は選択し得る行動ａの数であり、多層ニューラルネットワークの出力は、入力され
た状態ｓにおいて特定の行動ａが選択された場合の行動価値関数Ｑの値である。図８にお
いては、試行番号ｔにおいて選択し得る行動ａ1t〜ａNtのそれぞれにおける行動価値関数
ＱをＱ（ｓt，ａ1t）〜Ｑ（ｓt，ａNt）として示している。当該Ｑに含まれるｓtは入力
された状態ｓ1t〜ｓMtを代表して示す文字である。図７に示す例であれば、１６個の行動
が選択可能であるためＮ＝１６である。むろん、行動ａの内容や数（Ｎの値）、状態ｓの
内容や数（Ｍの値）は試行番号ｔに応じて変化しても良い。
【０１０９】
図８に示す多層ニューラルネットワークは、各層の各ノードにおいて直前の層の入力（
１層目においては状態ｓ）に対する重みｗの乗算とバイアスｂの加算とを実行し、必要に
応じて活性化関数を経た出力を得る（次の層の入力になる）演算を実行するモデルである
。本例においては、層ＤＬがＰ個（Ｐは１以上の整数）存在し、各層において複数のノー
ドが存在する。
【０１１０】
図８に示す多層ニューラルネットワークは各層における重み、とバイアスｂ、活性化関
数、層の順序等によって特定される。そこで、本実施形態においては、当該多層ニューラ
ルネットワークを特定するためのパラメーター（入力から出力を得るために必要な情報）
が学習情報４４ｅとして記憶部４４に記録される。なお、学習の際には、多層ニューラル
ネットワークを特定するためのパラメーターの中で可変の値（例えば，重みｗとバイアス
ｂ）を更新していくことになる。ここでは、学習の過程で変化し得る多層ニューラルネッ
トワークのパラメーターをθと表記する。当該θを使用すると、上述の行動価値関数Ｑ（
ｓt，ａ1t）〜Ｑ（ｓt，ａNt）は、Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）とも表
記できる。
【０１１１】
次に、図９に示すフローチャートに沿って学習処理の手順を説明する。光学パラメータ
ーの学習処理は、ロボット１，２の運用過程において実施されても良いし、実運用の前に
事前に学習処理が実行されてもよい。ここでは、実運用の前に事前に学習処理が実行され
る構成（多層ニューラルネットワークを示すθが最適化されると、その情報が保存され、
次回以降の運用で利用される構成）に従って学習処理を説明する。
【０１１２】
学習処理が開始されると、算出部４１は、学習情報４４ｅを初期化する（ステップＳ２
００）。すなわち、算出部４１は、学習を開始する際に参照されるθの初期値を特定する
。初期値は、種々の手法によって決められて良く、過去に学習が行われていない場合にお
いては、任意の値やランダム値等がθの初期値となっても良いし、ロボット１，２や撮像
部２１，照明部２２の光学特性を模擬するシミュレーション環境を準備し、当該環境に基
づいて学習または推定したθを初期値としてもよい。
【０１１３】
過去に学習が行われた場合は、当該学習済のθが初期値として採用される。また、過去
に類似の対象についての学習が行われた場合は、当該学習におけるθが初期値とされても
良い。過去の学習は、ロボット１，２を用いてユーザーが行ってもよいし、ロボット１，
２の製造者がロボット１，２の販売前に行ってもよい。この場合、製造者は、対象物や作
業の種類に応じて複数の初期値のセットを用意しておき、ユーザーが学習する際に初期値
を選択する構成であっても良い。θの初期値が決定されると、当該初期値が現在のθの値
として学習情報４４ｅに記憶される。
【０１１４】
次に、算出部４１は、パラメーターを初期化する（ステップＳ２０５）。ここでは、光
学パラメーターが学習対象であるため、算出部４１は、光学パラメーターを初期化する。
すなわち、算出部４１は、ロボット１のエンコーダーＥ１〜Ｅ６の出力を対応関係Ｕ１で
変換し、撮像部２１の位置を初期値として設定する。また、算出部４１は、予め決められ
た初期の露光時間（過去に学習が行われた場合には最新の露光時間）を撮像部２１の露光
時間の初期値として設定する。さらに、算出部４１は、撮像部２１に制御信号を出力し、
現在の絞りの値を初期値として設定する。
【０１１５】
さらに、算出部４１は、ロボット２のエンコーダーＥ１〜Ｅ６の出力を対応関係Ｕ１で
変換し、照明部２２の位置を初期値として設定する。また、算出部４１は、予め決められ
た初期の明るさ（過去に学習が行われた場合には最新の明るさ）を照明部２２の明るさの
初期値として設定する。さらに、算出部４１は、平滑化処理の強度、鮮鋭化処理の強度、
テンプレートマッチングの閾値、画像処理シーケンスについて予め決められた初期値（過
去に学習が行われた場合には最新の値）を設定する。初期化されたパラメーターは記憶部
４４に現在のパラメーター４４ａとして記憶される。
【０１１６】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２１０）。すなわち、制
御部４３は、パラメーター４４ａおよびロボットプログラム４４ｂを参照してロボット１
，２を制御する。検出部４２は、制御後の状態で撮像部２１が撮像した画像に基づいて対
象物Ｗの検出処理（上述のステップＳ１００，Ｓ１０５に相当）を実行する。この後、状
態観測部４１ａは、ロボット１のエンコーダーＥ１〜Ｅ６の出力をＵ１に基づいて変換し
て撮像部２１のｘ座標およびｙ座標を観測する。また、状態観測部４１ａは、ロボット２
のエンコーダーＥ１〜Ｅ６の出力をＵ１に基づいて変換して照明部２２のｘ座標およびｙ
座標を観測する。さらに、状態観測部４１ａは、パラメーター４４ａを参照して照明部２
２に設定されるべき明るさを取得して状態変数が観測されたと見なす。
【０１１７】
さらに、状態観測部４１ａは、平滑化処理の強度、鮮鋭化処理の強度、テンプレートマ
ッチングの閾値についても、パラメーター４４ａを参照して現在の値を取得し、状態変数
が観測されたと見なす。さらに、状態観測部４１ａにおいては、撮像部２１が撮像し、検
出部４２が取得した画像を取得し、各画素の階調値を状態変数として取得する。
【０１１８】
次に、学習部４１ｂは、行動価値を算出する（ステップＳ２１５）。すなわち、学習部
４１ｂは、学習情報４４ｅを参照してθを取得し、学習情報４４ｅが示す多層ニューラル
ネットワークに最新の状態変数を入力し、Ｎ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ
（ｓt，ａNt；θt）を算出する。
【０１１９】
なお、最新の状態変数は、初回の実行時においてステップＳ２１０、２回目以降の実行
時においてステップＳ２２５の観測結果である。また、試行番号ｔは初回の実行時におい
て０、２回目以降の実行時において１以上の値となる。学習処理が過去に実施されていな
い場合、学習情報４４ｅが示すθは最適化されていないため、行動価値関数Ｑの値として
は不正確な値となり得るが、ステップＳ２１５以後の処理の繰り返しにより、行動価値関
数Ｑは徐々に最適化していく。また、ステップＳ２１５以後の処理の繰り返しにおいて、
状態ｓ、行動ａ、報酬ｒは、各試行番号ｔに対応づけられて記憶部４４に記憶され、任意
のタイミングで参照可能である。
【０１２０】
次に、学習部４１ｂは、行動を選択し、実行する（ステップＳ２２０）。本実施形態に
おいては、行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な行動であると見なされ
る処理が行われる。そこで、学習部４１ｂは、ステップＳ２１５において算出されたＮ個
の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の値の中で最大の値を特定
する。そして、学習部４１ｂは、最大の値を与えた行動を選択する。例えば、Ｎ個の行動
価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の中でＱ（ｓt，ａNt；θt）が最
大値であれば、学習部４１ｂは、行動ａNtを選択する。
【０１２１】
行動が選択されると、学習部４１ｂは、当該行動に対応するパラメーター４４ａを変化
させる。例えば、図７に示す例において、撮像部のｘ座標を一定値増加させる行動ａ１が
選択された場合、学習部４１ｂは、光学パラメーターの撮像部パラメーターが示す撮像部
の位置においてｘ座標を一定値増加させる。パラメーター４４ａの変化が行われると、制
御部４３は、当該パラメーター４４ａを参照してロボット１，２を制御する。検出部４２
は、制御後の状態で撮像部２１が撮像した画像に基づいて対象物Ｗの検出処理を実行する
。
【０１２２】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２２５）。すなわち、状
態観測部４１ａは、ステップＳ２１０における状態変数の観測と同様の処理を行って、状
態変数として、撮像部２１のｘ座標およびｙ座標、照明部２２のｘ座標およびｙ座標、照
明部２２に設定されるべき明るさ、平滑化処理の強度、鮮鋭化処理の強度、テンプレート
マッチングの閾値、撮像部２１が撮像した画像の各画素の階調値を取得する。なお、現在
の試行番号がｔである場合（選択された行動がａtである場合）、ステップＳ２２５で取
得される状態ｓはｓt+1である。
【０１２３】
次に、学習部４１ｂは、報酬を評価する（ステップＳ２３０）。本例において、報酬は
、対象物Ｗの検出の成否に基づいて決定される。そこで、学習部４１ｂは、検出部４２か
ら対象物の検出結果の成否（ステップＳ１０５の成否）を取得し、検出成功であれば既定
量の正の報酬、検出失敗であれば既定量の負の報酬を取得する。なお、現在の試行番号が
ｔである場合、ステップＳ２３０で取得される報酬ｒはｒt+1である。
【０１２４】
本実施形態においては式（２）に示す行動価値関数Ｑの更新を目指しているが、行動価
値関数Ｑを適切に更新していくためには、行動価値関数Ｑを示す多層ニューラルネットワ
ークを最適化（θを最適化）していかなくてはならない。図８に示す多層ニューラルネッ
トワークによって行動価値関数Ｑを適正に出力させるためには、当該出力のターゲットと
なる教師データが必要になる。すなわち、多層ニューラルネットワークの出力と、ターゲ
ットとの誤差を最小化するようにθを改善することによって、多層ニューラルネットワー
クが最適化されることが期待される。
【０１２５】
しかし、本実施形態において、学習が完了していない段階では行動価値関数Ｑの知見が
なく、ターゲットを特定することは困難である。そこで、本実施形態においては、式（２
）の第２項、いわゆるＴＤ誤差（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）を最小化す
る目的関数によって多層ニューラルネットワークを示すθの改善を実施する。すなわち、
（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））をターゲットとし、ターゲットとＱ（ｓt
，ａt；θt）との誤差が最小化するようにθを学習する。ただし、ターゲット（ｒt+1＋
γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））は、学習対象のθを含んでいるため、本実施形態に
おいては、ある程度の試行回数にわたりターゲットを固定する（例えば、最後に学習した
θ（初回学習時はθの初期値）で固定する）。本実施形態においては、ターゲットを固定
する試行回数である既定回数が予め決められている。
【０１２６】
このような前提で学習を行うため、ステップＳ２３０で報酬が評価されると、学習部４
１ｂは目的関数を算出する（ステップＳ２３５）。すなわち、学習部４１ｂは、試行のそ
れぞれにおけるＴＤ誤差を評価するための目的関数（例えば、ＴＤ誤差の２乗の期待値に
比例する関数やＴＤ誤差の２乗の総和等）を算出する。なお、ＴＤ誤差は、ターゲットが
固定された状態で算出されるため、固定されたターゲットを（ｒt+1＋γｍａｘａ'Ｑ（ｓ
t+1，ａ'；θ-））と表記すると、ＴＤ誤差は（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θ-
）−Ｑ（ｓt，ａt；θt））である。当該ＴＤ誤差の式において報酬ｒt+1は、行動ａtに
よってステップＳ２３０で得られた報酬である。
【０１２７】
また、ｍａｘａ'Ｑ（ｓt+1，ａ'；θ-）は、行動ａtによってステップＳ２２５で算出
される状態ｓt+1を、固定されたθ-で特定される多層ニューラルネットワークの入力とし
た場合に得られる出力の中の最大値である。Ｑ（ｓt，ａt；θt）は、行動ａtが選択され
る前の状態ｓtを、試行番号ｔの段階のθtで特定される多層ニューラルネットワークの入
力とした場合に得られる出力の中で、行動ａtに対応した出力の値である。
【０１２８】
目的関数が算出されると、学習部４１ｂは、学習が終了したか否か判定する（ステップ
Ｓ２４０）。本実施形態においては、ＴＤ誤差が充分に小さいか否かを判定するための閾
値が予め決められており、目的関数が閾値以下である場合、学習部４１ｂは、学習が終了
したと判定する。
【０１２９】
ステップＳ２４０において学習が終了したと判定されない場合、学習部４１ｂは、行動
価値を更新する（ステップＳ２４５）。すなわち、学習部４１ｂは、ＴＤ誤差のθによる
偏微分に基づいて目的関数を小さくするためのθの変化を特定し、θを変化させる。むろ
ん、ここでは、各種の手法でθを変化させることが可能であり、例えば、ＲＭＳＰｒｏｐ
等の勾配降下法を採用可能である。また、学習率等による調整も適宜実施されて良い。以
上の処理によれば、行動価値関数Ｑがターゲットに近づくようにθを変化させることがで
きる。
【０１３０】
ただし、本実施形態においては、上述のようにターゲットが固定されているため、学習
部４１ｂは、さらに、ターゲットを更新するか否かの判定を行う。具体的には学習部４１
ｂは、既定回数の試行が行われたか否かを判定し（ステップＳ２５０）、ステップＳ２５
０において、既定回数の試行が行われたと判定された場合に、学習部４１ｂは、ターゲッ
トを更新する（ステップＳ２５５）。すなわち、学習部４１ｂは、ターゲットを算出する
際に参照されるθを最新のθに更新する。この後、学習部４１ｂは、ステップＳ２１５以
降の処理を繰り返す。一方、ステップＳ２５０において、既定回数の試行が行われたと判
定されなければ、学習部４１ｂは、ステップＳ２５５をスキップしてステップＳ２１５以
降の処理を繰り返す。
【０１３１】
ステップＳ２４０において学習が終了したと判定された場合、学習部４１ｂは、学習情
報４４ｅを更新する（ステップＳ２６０）。すなわち、学習部４１ｂは、学習によって得
られたθを、ロボット１，２による作業や検出部４２による検出の際に参照されるべきθ
として学習情報４４ｅに記録する。当該θを含む学習情報４４ｅが記録されている場合、
ステップ１００〜Ｓ１０５のようにロボット１，２による作業が行われる際に、検出部４
２はパラメーター４４ａに基づいて対象物の検出処理を行う。そして、検出部４２による
検出が成功するまで、撮像部２１による撮像が繰り返される工程においては、状態観測部
４１ａによる現在の状態の観測と、学習部４１ｂによる行動の選択が繰り返される。むろ
ん、この際、学習部４１ｂは、状態を入力として算出された出力Ｑ（ｓ，ａ）の中で最大
値を与える行動ａを選択する。そして、行動ａが選択された場合、行動ａが行われた状態
に相当する値となるようにパラメーター４４ａが更新される。
【０１３２】
以上の構成によれば、検出部４２は、行動価値関数Ｑが最大化される行動ａを選択しな
がら対象物の検出処理を実行することができる。当該行動価値関数Ｑは、上述の処理によ
り、多数の試行が繰り返された結果、最適化されている。そして、当該試行は、算出部４
１によって自動で行われ、人為的に実施不可能な程度の多数の試行を容易に実行すること
ができる。従って、本実施形態によれば、人為的に決められた光学パラメーターよりも高
い確率で対象物を高精度に検出することができる。
【０１３３】
さらに、本実施形態において検出部４２は、対象物の位置姿勢を検出する構成であるた
め、本実施形態によれば高精度に対象物の位置姿勢を検出することができる。さらに、本
実施形態によれば、最適化された行動価値関数Ｑに基づいて、光学パラメーターである撮
像部パラメーターを算出することができる。従って、対象物の検出精度を高めるように撮
像部２１を調整することができる。さらに、本実施形態によれば、最適化された行動価値
関数Ｑに基づいて、光学パラメーターである照明部パラメーターを算出することができる
。従って、対象物の検出精度を高めるように照明部２２を調整することができる。
【０１３４】
さらに、本実施形態によれば、最適化された行動価値関数Ｑに基づいて、光学パラメー
ターである画像処理パラメーターを算出することができる。従って、対象物の検出精度を
高める画像処理を実行することが可能になる。さらに、本実施形態によれば、自動で行動
価値関数Ｑが最適化されるため、高精度に対象物を検出する光学パラメーターを容易に算
出することができる。また、行動価値関数Ｑの最適化は自動的に行われるため、最適な光
学パラメーターの算出も自動的に行うことができる。
【０１３５】
さらに、本実施形態において学習部４１ｂは、状態変数としての画像に基づいて光学パ
ラメーターを変化させる行動を決定し、光学パラメーターを最適化する。従って、照明部
２２によって照明が行われている実環境下において撮像部２１で実際に撮像した画像に基
づいて光学パラメーターを最適化することができる。従って、ロボット１，２の使用環境
に応じた光学パラメーターとなるように最適化することができる。
【０１３６】
本実施形態においては、撮像部２１の位置および照明部２２の位置が行動に含まれてお
り、当該行動に基づいて行動価値関数Ｑを最適化することで撮像部２１の位置および照明
部２２の位置に関するパラメーター４４ａを最適化することができる。従って、学習後に
おいては、少なくとも、撮像部２１と照明部２２の相対位置関係が理想化される。また、
対象物Ｗが作業台の固定位置またはほぼ固定された位置に置かれるのならば、学習後にお
いて、撮像部２１と照明部２２のロボット座標系における位置が理想化されると考えるこ
ともできる。さらに、本実施形態においては、撮像部２１によって撮像された画像が状態
として観測される。従って、本実施形態によれば、各種の画像の状態に対応した撮像部２
１の位置や照明部２２の位置が理想化される。
【０１３７】
（４−３）動作パラメーターの学習：
動作パラメーターの学習においても、学習対象のパラメーターを選択することが可能で
あり、ここでは、その一例を説明する。図１０は、動作パラメーターの学習例を図７と同
様のモデルで説明した図である。本例も式（２）に基づいて行動価値関数Ｑ（ｓ，ａ）を
最適化する。従って、最適化後の行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な
行動であると見なされ、当該行動ａを示すパラメーター４４ａが最適化されたパラメータ
ーであると見なされる。
【０１３８】
動作パラメーターの学習においても、動作パラメーターを変化させることが行動の決定
に相当しており、学習対象のパラメーターと取り得る行動とを示す行動情報４４ｄが記憶
部４４に予め記録される。すなわち、当該行動情報４４ｄに学習対象として記述された動
作パラメーターが学習対象となる。図１０においては、ロボット３における動作パラメー
ターの中のサーボゲインと加減速特性が学習対象であり、動作の始点および終点は学習対
象となっていない。なお、動作の始点および終点は教示位置であるが、本実施形態におい
ては他の位置は教示されない。従って、本実施形態においては、ロボット３に対して教示
された教示位置を含まない構成である。
【０１３９】
具体的には、動作パラメーターの中のサーボゲインＫpp，Ｋpi，Ｋpd，Ｋvp，Ｋvi，Ｋ
vdは、モーターＭ１〜Ｍ６のそれぞれについて定義され、６軸のそれぞれについて増減可
能である。従って、本実施形態においては、１軸あたり６個のサーボゲインのそれぞれを
増加または減少させることが可能であり、増加について３６個の行動、減少についても３
６個の行動、計７２個の行動（行動ａ１〜ａ７２）を選択し得る。
【０１４０】
一方、動作パラメーターの中の加減速特性は図４に示すような特性であり、モーターＭ
１〜Ｍ６のそれぞれについて（６軸について）定義される。本実施形態において加減速特
性は、加速域における加速度、減速域における加速度、車速が０より大きい期間の長さ（
図４に示すｔ4）を変化させることができる。なお、本実施形態において加速域や減速域
におけるカーブは加速度の増減によって定義され、例えば、増減後の加速度がカーブ中央
の傾きを示し、当該中央の周囲のカーブは予め決められた規則に従って変化する。むろん
、加減速特性の調整法は他にも種々の手法が採用可能である。
【０１４１】
いずれにしても、本実施形態においては、１軸あたり３個の要素（加速域、減速域、期
間）で加減速特性を調整可能であり、各要素に応じた数値（加速度、期間長）を増加また
は減少させることが可能である。従って、増加について１８個の行動、減少についても１
８個の行動、計３６個の行動（行動ａ７３〜ａ１０８）を選択し得る。本実施形態におい
ては、以上のようにして予め定義された行動の選択肢に対応するパラメーターが、行動情
報４４ｄに学習対象として記述される。また、各行動を特定するための情報（行動のＩＤ
、各行動での増減量等）が行動情報４４ｄに記述される。
【０１４２】
図１０に示す例において、報酬はロボット３が行った作業の良否に基づいて評価される
。すなわち、学習部４１ｂは、行動ａとして動作パラメーターを変化させた後、当該動作
パラメーターによってロボット３を動作させ、検出部４２によって検出された対象物をピ
ックアップする作業を実行する。さらに、学習部４１ｂは、作業の良否を観測し、作業の
良否を評価する。そして、学習部４１ｂは、作業の良否によって行動ａ、状態ｓ、ｓ'の
報酬を決定する。
【０１４３】
なお、作業の良否は作業の成否（ピックアップ成否等）のみならず、作業の質を含む。
具体的には、学習部４１ｂは、図示しない計時回路に基づいて作業の開始から終了まで（
ステップＳ１１０の開始からステップＳ１２５で終了と判定されるまで）の所要時間を取
得する。そして、学習部４１ｂは、作業の所要時間が基準よりも短い場合に正（例えば＋
１）、作業の所要時間が基準よりも長い場合に負（例えば−１）の報酬を与える。なお、
基準は種々の要素によって特定されて良く、例えば、前回の作業の所要時間であっても良
いし、過去の最短所要時間であっても良いし、予め決められた時間であっても良い。
【０１４４】
さらに、学習部４１ｂは、作業の各工程において、ロボット３のエンコーダーＥ１〜Ｅ
６の出力をＵ１に基づいて変換してグリッパー２３の位置を取得する。そして、学習部４
１ｂは、各工程の目標位置（終点）と、工程終了の際のグリッパー２３の位置とのずれ量
を取得し、グリッパー２３の位置と目標位置とのずれ量が基準よりも小さい場合に正、基
準よりも大きい場合の負の報酬を与える。なお、基準は種々の要素によって特定されて良
く、例えば、前回のずれ量であっても良いし、過去の最短のずれ量であっても良いし、予
め決められたずれ量であっても良い。
【０１４５】
さらに、学習部４１ｂは、作業の各工程において取得したグリッパー２３の位置を、整
定する以前の所定期間にわたって取得し、当該期間における振動強度を取得する。そして
、学習部４１ｂは、当該振動強度の程度が基準よりも小さい場合に正、基準よりも大きい
場合の負の報酬を与える。なお、基準は種々の要素によって特定されて良く、例えば、前
回の振動強度の程度であっても良いし、過去の最小の振動強度の程度であっても良いし、
予め決められた振動強度の程度であっても良い。振動強度の程度は、種々の手法で特定さ
れて良く、目標位置からの乖離の積分値や閾値以上の振動が生じている期間など、種々の
手法を採用可能である。なお、所定期間は、種々の期間とすることが可能であり、工程の
始点から終点にわたる期間であれば、動作中の振動強度による報酬が評価され、工程の終
期が所定期間とされれば、残留振動の強度による報酬が評価される。
【０１４６】
さらに、学習部４１ｂは、作業の各工程の終期において取得したグリッパー２３の位置
を、整定する以前の所定期間にわたって取得し、当該期間における目標位置からの乖離の
最大値をオーバーシュート量として取得する。そして、学習部４１ｂは、当該オーバーシ
ュート量が基準よりも小さい場合に正、基準よりも大きい場合の負の報酬を与える。なお
、基準は種々の要素によって特定されて良く、例えば、前回のオーバーシュート量の程度
であっても良いし、過去の最小のオーバーシュート量であっても良いし、予め決められた
オーバーシュート量であっても良い。
【０１４７】
さらに、本実施形態においては、制御装置４０、ロボット１〜３、作業台等の少なくと
も１カ所に集音装置が取り付けられており、学習部４１ｂは、作業中に集音装置が取得し
た音を示す情報を取得する。そして、学習部４１ｂは、作業中の発生音の大きさが基準よ
りも小さい場合に正、基準よりも大きい場合の負の報酬を与える。なお、基準は種々の要
素によって特定されて良く、例えば、前回の作業または工程の発生音の大きさの程度であ
っても良いし、過去の発生音の大きさの最小値であっても良いし、予め決められた大きさ
であっても良い。また、発生音の大きさは、音圧の最大値で評価されても良いし、所定期
間内の音圧の統計値（平均値等）で評価されても良く、種々の構成を採用可能である。
【０１４８】
現在の状態ｓにおいて行動ａが採用された場合における次の状態ｓ'は、行動ａとして
のパラメーターの変化が行われた後にロボット３を動作させ、状態観測部４１ａが状態を
観測することによって特定可能である。なお、本例にかかる動作パラメーターの学習は、
ロボット１，２による対象物の検出完了後に、ロボット３に関して実行される。
【０１４９】
図１０に示す例において、状態変数には、モーターＭ１〜Ｍ６の電流、エンコーダーＥ
１〜Ｅ６の値、力覚センサーＰの出力が含まれている。従って、状態観測部４１ａは、サ
ーボ４３ｄの制御結果として、モーターＭ１〜Ｍ６に供給される電流値を観測することが
できる。当該電流値は、モーターＭ１〜Ｍ６で出力されるトルクに相当する。また、エン
コーダーＥ１〜Ｅ６の出力は、対応関係Ｕ１に基づいてロボット座標系におけるＴＣＰの
位置に変換される。従って、状態観測部４１ａは、ロボット３が備えるグリッパー２３の
位置情報を観測することになる。
【０１５０】
力覚センサーＰの出力は積分することによってロボットの位置に変換することができる
。すなわち、状態観測部４１ａは、対応関係Ｕ２に基づいてロボット座標系においてＴＣ
Ｐへの作用力を積分することでＴＣＰの位置を取得する。従って、本実施形態において状
態観測部４１ａは、力覚センサーＰの出力も利用してロボット３が備えるグリッパー２３
の位置情報を観測する。なお、状態は、各種の手法で観測されて良く、上述の変換が行わ
れない値（電流値やエンコーダー、力覚センサーの出力値）が状態として観測されても良
い。
【０１５１】
状態観測部４１ａは、行動であるサーボゲインや加減速特性の調整結果を直接的に観測
しているのではなく、調整の結果、ロボット３で得られた変化をモーターＭ１〜Ｍ６の電
流、エンコーダーＥ１〜Ｅ６の値、力覚センサーＰの出力として観測している。従って、
行動による影響を間接的に観測していることになり、この意味で、本実施形態の状態変数
は、動作パラメーターの変化から直接的に推定することが困難な変化をし得る状態変数で
ある。
【０１５２】
また、モーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の値、力覚センサーＰの出
力は、ロボット３の動作を直接的に示しており、当該動作は作業の良否を直接的に示して
いる。従って、状態変数として、モーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の
値、力覚センサーＰの出力を観測することにより、人為的に改善することが困難なパラメ
ーターの改善を行い、効果的に作業の質を高めるように動作パラメーターを最適化するこ
とが可能になる。この結果、人為的に決められた動作パラメーターよりも高性能な動作を
行う動作パラメーターを高い確率で算出することができる。
【０１５３】
（４−４）動作パラメーターの学習例：
次に、動作パラメーターの学習例を説明する。学習の過程で参照される変数や関数を示
す情報は、学習情報４４ｅとして記憶部４４に記憶される。すなわち、算出部４１は、状
態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬の
評価とを繰り返すことによって行動価値関数Ｑ（ｓ，ａ）を収束させる構成が採用されて
いる。そこで、本例において、学習の過程で状態変数と行動と報酬との時系列の値が、順
次、学習情報４４ｅに記録されていく。
【０１５４】
なお、本実施形態において、動作パラメーターの学習は位置制御モードで実行される。
位置制御モードでの学習を実行するためには、位置制御モードのみで構成される作業がロ
ボット３のロボットプログラム４４ｂとして生成されても良いし、任意のモードを含む作
業がロボット３のロボットプログラム４４ｂとして生成されている状況において、その中
の位置制御モードのみを用いて学習してもよい。
【０１５５】
行動価値関数Ｑ（ｓ，ａ）は、種々の手法で算出されて良く、多数回の試行に基づいて
算出されても良いが、ここでは、ＤＱＮによって行動価値関数Ｑを最適化する例を説明す
る。行動価値関数Ｑの最適化に利用される多層ニューラルネットワークは、上述の図８に
おいて模式的に示される。図１０に示すような状態が観測される本例であれば、ロボット
３におけるモーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の値、力覚センサーＰの
出力（６軸の出力）が状態であるため、状態ｓの数Ｍ＝１８である。また、図１０に示す
行動が選択され得る本例であれば、１０８個の行動が選択可能であるためＮ＝１０８であ
る。むろん、行動ａの内容や数（Ｎの値）、状態ｓの内容や数（Ｍの値）は試行番号ｔに
応じて変化しても良い。
【０１５６】
本実施形態においても、当該多層ニューラルネットワークを特定するためのパラメータ
ー（入力から出力を得るために必要な情報）が学習情報４４ｅとして記憶部４４に記録さ
れる。ここでも学習の過程で変化し得る多層ニューラルネットワークのパラメーターをθ
と表記する。当該θを使用すると、上述の行動価値関数Ｑ（ｓt，ａ1t）〜Ｑ（ｓt，ａNt
）は、Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）とも表記できる。
【０１５７】
次に、図９に示すフローチャートに沿って学習処理の手順を説明する。動作パラメータ
ーの学習処理は、ロボット３の運用過程において実施されても良いし、実運用の前に事前
に学習処理が実行されてもよい。ここでは、実運用の前に事前に学習処理が実行される構
成（多層ニューラルネットワークを示すθが最適化されると、その情報が保存され、次回
以降の運用で利用される構成）に従って学習処理を説明する。
【０１５８】
学習処理が開始されると、算出部４１は、学習情報４４ｅを初期化する（ステップＳ２
００）。すなわち、算出部４１は、学習を開始する際に参照されるθの初期値を特定する
。初期値は、種々の手法によって決められて良く、過去に学習が行われていない場合にお
いては、任意の値やランダム値等がθの初期値となっても良いし、ロボット３や対象物を
模擬するシミュレーション環境を準備し、当該環境に基づいて学習または推定したθを初
期値としてもよい。
【０１５９】
過去に学習が行われた場合は、当該学習済のθが初期値として採用される。また、過去
に類似の対象についての学習が行われた場合は、当該学習におけるθが初期値とされても
良い。過去の学習は、ロボット３を用いてユーザーが行ってもよいし、ロボット３の製造
者がロボット３の販売前に行ってもよい。この場合、製造者は、対象物や作業の種類に応
じて複数の初期値のセットを用意しておき、ユーザーが学習する際に初期値を選択する構
成であっても良い。θの初期値が決定されると、当該初期値が現在のθの値として学習情
報４４ｅに記憶される。
【０１６０】
次に、算出部４１は、パラメーターを初期化する（ステップＳ２０５）。ここでは、動
作パラメーターが学習対象であるため、算出部４１は、動作パラメーターを初期化する。
すなわち、学習が行われていない状態であれば、算出部４１は、教示によって生成された
パラメーター４４ａに含まれる動作パラメーターを初期値として設定する。過去に何らか
の学習が行われた状態であれば、算出部４１は、学習の際に最後に利用されていたパラメ
ーター４４ａに含まれる動作パラメーターを初期値として設定する。
【０１６１】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２１０）。すなわち、制
御部４３は、パラメーター４４ａおよびロボットプログラム４４ｂを参照してロボット３
を制御する（上述のステップＳ１１０〜Ｓ１３０に相当）。この後、状態観測部４１ａは
、モーターＭ１〜Ｍ６に供給される電流値を観測する。また、状態観測部４１ａは、エン
コーダーＥ１〜Ｅ６の出力を取得し、対応関係Ｕ１に基づいてロボット座標系におけるＴ
ＣＰの位置に変換する。さらに、状態観測部４１ａは、力覚センサーＰの出力を積分し、
ＴＣＰの位置を取得する。
【０１６２】
次に、学習部４１ｂは、行動価値を算出する（ステップＳ２１５）。すなわち、学習部
４１ｂは、学習情報４４ｅを参照してθを取得し、学習情報４４ｅが示す多層ニューラル
ネットワークに最新の状態変数を入力し、Ｎ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ
（ｓt，ａNt；θt）を算出する。
【０１６３】
なお、最新の状態変数は、初回の実行時においてステップＳ２１０、２回目以降の実行
時においてステップＳ２２５の観測結果である。また、試行番号ｔは初回の実行時におい
て０、２回目以降の実行時において１以上の値となる。学習処理が過去に実施されていな
い場合、学習情報４４ｅが示すθは最適化されていないため、行動価値関数Ｑの値として
は不正確な値となり得るが、ステップＳ２１５以後の処理の繰り返しにより、行動価値関
数Ｑは徐々に最適化していく。また、ステップＳ２１５以後の処理の繰り返しにおいて、
状態ｓ、行動ａ、報酬ｒは、各試行番号ｔに対応づけられて記憶部４４に記憶され、任意
のタイミングで参照可能である。
【０１６４】
次に、学習部４１ｂは、行動を選択し、実行する（ステップＳ２２０）。本実施形態に
おいては、行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な行動であると見なされ
る処理が行われる。そこで、学習部４１ｂは、ステップＳ２１５において算出されたＮ個
の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の値の中で最大の値を特定
する。そして、学習部４１ｂは、最大の値を与えた行動を選択する。例えば、Ｎ個の行動
価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の中でＱ（ｓt，ａNt；θt）が最
大値であれば、学習部４１ｂは、行動ａNtを選択する。
【０１６５】
行動が選択されると、学習部４１ｂは、当該行動に対応するパラメーター４４ａを変化
させる。例えば、図１０に示す例において、モーターＭ１のサーボゲインＫppを一定値増
加させる行動ａ１が選択された場合、学習部４１ｂは、動作パラメーターが示すモーター
Ｍ１のサーボゲインＫppの値を一定値増加させる。パラメーター４４ａの変化が行われる
と、制御部４３は、当該パラメーター４４ａを参照してロボット３を制御し、一連の作業
を実行させる。なお、本実施形態においては、行動選択のたびに一連の作業が実行される
が、行動選択のたびに一連の作業の一部が実行される構成（一連の作業を構成する複数の
工程の少なくとも１工程が実行される構成）であっても良い。
【０１６６】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２２５）。すなわち、状
態観測部４１ａは、ステップＳ２１０における状態変数の観測と同様の処理を行って、状
態変数として、モーターＭ１〜Ｍ６に供給される電流値、エンコーダーＥ１〜Ｅ６の出力
に基づいて特定されるＴＣＰの位置、力覚センサーＰの出力に基づいて特定されるＴＣＰ
の位置を取得する。なお、現在の試行番号がｔである場合（選択された行動がａtである
場合）、ステップＳ２２５で取得される状態ｓはｓt+1である。
【０１６７】
次に、学習部４１ｂは、報酬を評価する（ステップＳ２３０）。すなわち、学習部４１
ｂは、図示しない計時回路に基づいて作業の開始から終了までの所要時間を取得し、作業
の所要時間が基準よりも短い場合に正、作業の所要時間が基準よりも長い場合に負の報酬
を取得する。さらに、学習部４１ｂは、作業の各工程の終了段階におけるグリッパー２３
の位置を取得し、各工程の目標位置とのずれ量を取得する。そして、学習部４１ｂは、グ
リッパー２３の位置と目標位置とのずれ量が基準よりも小さい場合に正、基準よりも大き
い場合の負の報酬を取得する。一連の作業が複数の工程で構成される場合、各工程の報酬
の和が取得されても良いし、統計値（平均値等）が取得されても良い。
【０１６８】
さらに、学習部４１ｂは、作業の各工程において取得したグリッパー２３の位置に基づ
いて振動強度を取得する。そして、学習部４１ｂは、当該振動強度の程度が基準よりも小
さい場合に正、基準よりも大きい場合の負の報酬を取得する。一連の作業が複数の工程で
構成される場合、各工程の報酬の和が取得されても良いし、統計値（平均値等）が取得さ
れても良い。
【０１６９】
さらに、学習部４１ｂは、作業の各工程の終期において取得したグリッパー２３の位置
に基づいてオーバーシュート量を取得する。そして、学習部４１ｂは、当該オーバーシュ
ート量が基準よりも小さい場合に正、基準よりも大きい場合の負の報酬を取得する一連の
作業が複数の工程で構成される場合、各工程の報酬の和が取得されても良いし、統計値（
平均値等）が取得されても良い。
【０１７０】
さらに、学習部４１ｂは、作業中に集音装置が取得した音を示す情報を取得する。そし
て、学習部４１ｂは、作業中の発生音の大きさが基準よりも小さい場合に正、基準よりも
大きい場合の負の報酬を取得する。なお、現在の試行番号がｔである場合、ステップＳ２
３０で取得される報酬ｒはｒt+1である。
【０１７１】
本例においても、式（２）に示す行動価値関数Ｑの更新を目指しているが、行動価値関
数Ｑを適切に更新していくためには、行動価値関数Ｑを示す多層ニューラルネットワーク
を最適化（θを最適化）していかなくてはならない。そして、図８に示す多層ニューラル
ネットワークによって行動価値関数Ｑを適正に出力させるためには、当該出力のターゲッ
トとなる教師データが必要になる。すなわち、多層ニューラルネットワークの出力と、タ
ーゲットとの誤差を最小化するようにθを改善すると、多層ニューラルネットワークが最
適化されることが期待される。
【０１７２】
しかし、本実施形態において、学習が完了していない段階では行動価値関数Ｑの知見が
なく、ターゲットを特定することは困難である。そこで、本実施形態においては、式（２
）の第２項、いわゆるＴＤ誤差を最小化する目的関数によって多層ニューラルネットワー
クを示すθの改善を実施する。すなわち、（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt）
）をターゲットとし、ターゲットとＱ（ｓt，ａt；θt）との誤差が最小化するようにθ
を学習する。ただし、ターゲット（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））は、学
習対象のθを含んでいるため、本実施形態においては、ある程度の試行回数にわたりター
ゲットを固定する（例えば、最後に学習したθ（初回学習時はθの初期値）で固定する）
。本実施形態においては、ターゲットを固定する試行回数である既定回数が予め決められ
ている。
【０１７３】
このような前提で学習を行うため、ステップＳ２３０で報酬が評価されると、学習部４
１ｂは目的関数を算出する（ステップＳ２３５）。すなわち、学習部４１ｂは、試行のそ
れぞれにおけるＴＤ誤差を評価するための目的関数（例えば、ＴＤ誤差の２乗の期待値に
比例する関数やＴＤ誤差の２乗の総和等）を算出する。なお、ＴＤ誤差は、ターゲットが
固定された状態で算出されるため、固定されたターゲットを（ｒt+1＋γｍａｘａ'Ｑ（ｓ
t+1，ａ'；θ-））と表記すると、ＴＤ誤差は（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θ-
）−Ｑ（ｓt，ａt；θt））である。当該ＴＤ誤差の式において報酬ｒt+1は、行動ａtに
よってステップＳ２３０で得られた報酬である。
【０１７４】
また、ｍａｘａ'Ｑ（ｓt+1，ａ'；θ-）は、行動ａtによってステップＳ２２５で算出
される状態ｓt+1を、固定されたθ-で特定される多層ニューラルネットワークの入力とし
た場合に得られる出力の中の最大値である。Ｑ（ｓt，ａt；θt）は、行動ａtが選択され
る前の状態ｓtを、試行番号ｔの段階のθtで特定される多層ニューラルネットワークの入
力とした場合に得られる出力の中で、行動ａtに対応した出力の値である。
【０１７５】
目的関数が算出されると、学習部４１ｂは、学習が終了したか否か判定する（ステップ
Ｓ２４０）。本実施形態においては、ＴＤ誤差が充分に小さいか否かを判定するための閾
値が予め決められており、目的関数が閾値以下である場合、学習部４１ｂは、学習が終了
したと判定する。
【０１７６】
ステップＳ２４０において学習が終了したと判定されない場合、学習部４１ｂは、行動
価値を更新する（ステップＳ２４５）。すなわち、学習部４１ｂは、ＴＤ誤差のθによる
偏微分に基づいて目的関数を小さくするためのθの変化を特定し、θを変化させる。むろ
ん、ここでは、各種の手法でθを変化させることが可能であり、例えば、ＲＭＳＰｒｏｐ
等の勾配降下法を採用可能である。また、学習率等による調整も適宜実施されて良い。以
上の処理によれば、行動価値関数Ｑがターゲットに近づくようにθを変化させることがで
きる。
【０１７７】
ただし、本実施形態においては、上述のようにターゲットが固定されているため、学習
部４１ｂは、さらに、ターゲットを更新するか否かの判定を行う。具体的には学習部４１
ｂは、既定回数の試行が行われたか否かを判定し（ステップＳ２５０）、ステップＳ２５
０において、既定回数の試行が行われたと判定された場合に、学習部４１ｂは、ターゲッ
トを更新する（ステップＳ２５５）。すなわち、学習部４１ｂは、ターゲットを算出する
際に参照されるθを最新のθに更新する。この後、学習部４１ｂは、ステップＳ２１５以
降の処理を繰り返す。一方、ステップＳ２５０において、既定回数の試行が行われたと判
定されなければ、学習部４１ｂは、ステップＳ２５５をスキップしてステップＳ２１５以
降の処理を繰り返す。
【０１７８】
ステップＳ２４０において学習が終了したと判定された場合、学習部４１ｂは、学習情
報４４ｅを更新する（ステップＳ２６０）。すなわち、学習部４１ｂは、学習によって得
られたθを、ロボット３による作業の際に参照されるべきθとして学習情報４４ｅに記録
する。当該θを含む学習情報４４ｅが記録されている場合、ステップ１１０〜Ｓ１３０の
ようにロボット３による作業が行われる際に、制御部４３はパラメーター４４ａに基づい
てロボット３を制御する。そして、当該作業の過程においては、状態観測部４１ａによる
現在の状態の観測と、学習部４１ｂによる行動の選択が繰り返される。むろん、この際、
学習部４１ｂは、状態を入力として算出された出力Ｑ（ｓ，ａ）の中で最大値を与える行
動ａを選択する。そして、行動ａが選択された場合、行動ａが行われた状態に相当する値
となるようにパラメーター４４ａが更新される。
【０１７９】
以上の構成によれば、制御部４３は、行動価値関数Ｑが最大化される行動ａを選択しな
がら作業を実行することができる。当該行動価値関数Ｑは、上述の処理により、多数の試
行が繰り返された結果、最適化されている。そして、当該試行は、算出部４１によって自
動で行われ、人為的に実施不可能な程度の多数の試行を容易に実行することができる。従
って、本実施形態によれば、人為的に決められた動作パラメーターよりも高い確率でロボ
ット３の作業の質を高めることができる。
【０１８０】
さらに、本実施形態においては、行動によってパラメーター４４ａとしてのサーボゲイ
ンが変化する。従って、人為的な調整によって適切な設定を行うことが困難な、モーター
を制御するためのサーボゲインを自動的に調整することができる。さらに、本実施形態に
おいては、行動によってパラメーター４４ａとしての加減速特性が変化する。従って、人
為的な調整によって適切な設定を行うことが困難な加減速特性を自動的に調整することが
できる。
【０１８１】
さらに、本実施形態においては、行動によってロボットの動作の始点および終点が変化
しない。従って、本実施形態においては、ロボット３が予定された始点および終点から外
れ、利用者の意図しない動作が行われることを防止することができる。さらに、本実施形
態においては、行動によってロボットに対する教示位置である始点および終点は変化しな
い。従って、本実施形態においては、ロボット３が教示された位置から外れ、利用者の意
図しない動作が行われることを防止することができる。なお、本実施形態において、教示
位置は始点および終点であるが、他の位置が教示位置となってもよい。例えば、始点と終
点との間で通過すべき位置や取るべき姿勢がある場合、これらが教示位置（教示姿勢）で
あっても良い。
【０１８２】
さらに、本実施形態においては、ロボット３が行った作業の良否に基づいて行動による
報酬を評価するため、ロボット３の作業を成功させるようにパラメーターを最適化するこ
とができる。さらに、本実施形態においては、作業の所要時間が基準よりも短い場合に報
酬を正と評価するため、ロボット３を短い時間で作業させる動作パラメーターを容易に算
出することができる。さらに、本実施形態においては、ロボット３の位置と目標位置との
ずれ量が基準よりも小さい場合に報酬を正と評価するため、ロボット３を目標位置に正確
に移動させる動作パラメーターを容易に算出することができる。
【０１８３】
さらに、本実施形態においては、振動強度が基準よりも小さい場合に報酬を正と評価す
るため、ロボット３の動作による振動を発生させる可能性が低い動作パラメーターを容易
に算出することができる。さらに、本実施形態においては、ロボット３の位置のオーバー
シュートが基準よりも小さい場合に報酬を正と評価するため、ロボット３がオーバーシュ
ートする可能性が低い動作パラメーターを容易に算出することができる。さらに、本実施
形態においては、発生音が基準よりも小さい場合に報酬を正と評価するため、ロボット３
に異常を発生させる可能性が低い動作パラメーターを容易に算出することができる。
【０１８４】
さらに、本実施形態によれば、自動で行動価値関数Ｑが最適化されるため、高性能な動
作を行う動作パラメーターを容易に算出することができる。また、行動価値関数Ｑの最適
化は自動的に行われるため、最適な動作パラメーターの算出も自動的に行うことができる
。
【０１８５】
さらに、本実施形態においては、ロボット３において汎用的に使用される力覚センサー
Ｐによってロボット３の位置情報を取得するため、ロボット３で汎用的に使用されるセン
サーに基づいて位置情報を算出することができる。
【０１８６】
さらに、本実施形態において学習部４１ｂは、状態変数としてのロボット３の動作結果
を実測し、動作パラメーターを最適化する。従って、ロボット３によって作業が行われて
いる実環境下において合わせて動作パラメーターを最適化することができる。従って、ロ
ボット３の使用環境に応じた動作パラメーターとなるように最適化することができる。
【０１８７】
さらに、本実施形態において状態観測部４１ａは、ロボット３にエンドエフェクターと
してのグリッパー２３が設けられた状態で状態変数を観測する。また、学習部４１ｂは、
ロボット３にエンドエフェクターとしてのグリッパー２３が設けられた状態で行動として
のパラメーター４４ａの変更が実行される。この構成によれば、エンドエフェクターとし
てのグリッパー２３を用いた動作を行うロボット３に適した動作パラメーターを容易に算
出することができる。
【０１８８】
さらに、本実施形態において状態観測部４１ａは、エンドエフェクターとしてのグリッ
パー２３が対象物を把持した状態で状態変数を観測する。また、学習部４１ｂは、エンド
エフェクターとしてのグリッパー２３が対象物を把持した状態で行動としてのパラメータ
ー４４ａの変更が実行される。この構成によれば、エンドエフェクターとしてのグリッパ
ー２３で対象物を把持して動作を行うロボット３に適した動作パラメーターを容易に算出
することができる。
【０１８９】
（４−５）力制御パラメーターの学習：
力制御パラメーターの学習においても、学習対象のパラメーターを選択することが可能
であり、ここでは、その一例を説明する。図１１は、力制御パラメーターの学習例を図７
と同様のモデルで説明した図である。本例も式（２）に基づいて行動価値関数Ｑ（ｓ，ａ
）を最適化する。従って、最適化後の行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最
適な行動であると見なされ、当該行動ａを示すパラメーター４４ａが最適化されたパラメ
ーターであると見なされる。
【０１９０】
力制御パラメーターの学習においても、力制御パラメーターを変化させることが行動の
決定に相当しており、学習対象のパラメーターと取り得る行動とを示す行動情報４４ｄが
記憶部４４に予め記録される。すなわち、当該行動情報４４ｄに学習対象として記述され
た力制御パラメーターが学習対象となる。図１１においては、ロボット３における力制御
パラメーターの中のインピーダンスパラメーターと、力制御座標系と、目標力と、ロボッ
ト３の動作の始点および終点が学習対象である。なお、力制御における動作の始点および
終点は教示位置であるが、力制御パラメーターの学習によって変動し得る。また、力制御
座標系の原点は、ロボット３のＴＣＰ（ツールセンターポイント）からのオフセット点で
あり、学習前においては目標力が作用する作用点である。従って、力制御座標系（原点座
標と軸回転角）と目標力とが変化すると、ＴＣＰからのオフセット点の位置が変化するこ
とになり、目標力の作用点が力制御座標系の原点ではない場合も生じ得る。
【０１９１】
力制御パラメーターの中のインピーダンスパラメーターｍ，ｋ，ｄは、ロボット座標系
の各軸に対する並進と回転について定義される。従って、本実施形態においては、１軸あ
たり３個のインピーダンスパラメーターｍ，ｄ，ｋのそれぞれを増加または減少させるこ
とが可能であり、増加について１８個の行動、減少についても１８個の行動、計３６個の
行動（行動ａ１〜ａ３６）を選択し得る。
【０１９２】
一方、力制御座標系は当該座標系の原点座標と、力制御座標系の軸の回転角度と、がロ
ボット座標系を基準として表現されることによって定義される。従って、本実施形態にお
いては、原点座標の３軸方向への増減と、３軸の軸回転角の増減とが可能であり、原点座
標の増加について３個、減少について３個、軸回転角の増加について３個、減少について
３個の行動が可能であり、計１２個の行動（行動ａ３７〜ａ４８）を選択し得る。目標力
は、目標力ベクトルで表現され、目標力の作用点と、力制御座標系の６軸それぞれの成分
の大きさ（３軸の並進力、３軸のトルク）によって定義される。従って、本実施形態にお
いては、目標力の作用点の３軸方向への増減について６個、６軸それぞれの成分の増加に
ついて６個、減少について６個の行動が可能であり、計１８個の行動（行動ａ４９〜ａ６
６）を選択し得る。
【０１９３】
ロボット３の動作の始点および終点は、ロボット座標系の各軸方向に沿って座標の増減
が可能であり、始点の増減について６個、終点の増減について６個の計１２個の行動（行
動ａ６７〜ａ７８）を選択し得る。本実施形態においては、以上のようにして予め定義さ
れた行動の選択肢に対応するパラメーターが、行動情報４４ｄに学習対象として記述され
る。また、各行動を特定するための情報（行動のＩＤ、各行動での増減量等）が行動情報
４４ｄに記述される。
【０１９４】
図１１に示す例において、報酬はロボット３が行った作業の良否に基づいて評価される
。すなわち、学習部４１ｂは、行動ａとして力制御パラメーターを変化させた後、当該力
制御パラメーターによってロボット３を動作させ、検出部４２によって検出された対象物
をピックアップする作業を実行する。さらに、学習部４１ｂは、作業の良否を観測し、作
業の良否を評価する。そして、学習部４１ｂは、作業の良否によって行動ａ、状態ｓ、ｓ
'の報酬を決定する。
【０１９５】
なお、作業の良否は作業の成否（ピックアップ成否等）のみならず、作業の質を含む。
具体的には、学習部４１ｂは、図示しない計時回路に基づいて作業の開始から終了まで（
ステップＳ１１０の開始からステップＳ１２５で終了と判定されるまで）の所要時間を取
得する。そして、学習部４１ｂは、作業の所要時間が基準よりも短い場合に正（例えば＋
１）、作業の所要時間が基準よりも長い場合に負（例えば−１）の報酬を与える。なお、
基準は種々の要素によって特定されて良く、例えば、前回の作業の所要時間であっても良
いし、過去の最短所要時間であっても良いし、予め決められた時間であっても良い。
【０１９６】
さらに、学習部４１ｂは、作業の各工程において、ロボット３のエンコーダーＥ１〜Ｅ
６の出力をＵ１に基づいて変換してグリッパー２３の位置を取得する。そして、学習部４
１ｂは、作業の各工程において取得したグリッパー２３の位置を、整定する以前の所定期
間にわたって取得し、当該期間における振動強度を取得する。そして、学習部４１ｂは、
当該振動強度の程度が基準よりも小さい場合に正、基準よりも大きい場合の負の報酬を与
える。なお、基準は種々の要素によって特定されて良く、例えば、前回の振動強度の程度
であっても良いし、過去の最小の振動強度の程度であっても良いし、予め決められた振動
強度の程度であっても良い。
【０１９７】
振動強度の程度は、種々の手法で特定されて良く、目標位置からの乖離の積分値や閾値
以上の振動が生じている期間など、種々の手法を採用可能である。なお、所定期間は、種
々の期間とすることが可能であり、工程の始点から終点にわたる期間であれば、動作中の
振動強度による報酬が評価され、工程の終期が所定期間とされれば、残留振動の強度によ
る報酬が評価される。なお、力制御においては、前者の振動強度による報酬の方が重要で
ある場合が多い。前者の振動強度による報酬の方が重要であれば、後者の残留振動の強度
による報酬は評価されない構成とされても良い。
【０１９８】
さらに、学習部４１ｂは、作業の各工程の終期において取得したグリッパー２３の位置
を、整定する以前の所定期間にわたって取得し、当該期間における目標位置からの乖離の
最大値をオーバーシュート量として取得する。そして、学習部４１ｂは、当該オーバーシ
ュート量が基準よりも小さい場合に正、基準よりも大きい場合の負の報酬を与える。なお
、基準は種々の要素によって特定されて良く、例えば、前回のオーバーシュート量の程度
であっても良いし、過去の最小のオーバーシュート量であっても良いし、予め決められた
オーバーシュート量であっても良い。
【０１９９】
さらに、本実施形態においては、制御装置４０、ロボット１〜３、作業台等の少なくと
も１カ所に集音装置が取り付けられており、学習部４１ｂは、作業中に集音装置が取得し
た音を示す情報を取得する。そして、学習部４１ｂは、作業中の発生音の大きさが基準よ
りも小さい場合に正、基準よりも大きい場合の負の報酬を与える。なお、基準は種々の要
素によって特定されて良く、例えば、前回の作業または工程の発生音の大きさの程度であ
っても良いし、過去の発生音の大きさの最小値であっても良いし、予め決められた大きさ
であっても良い。また、発生音の大きさは、音圧の最大値で評価されても良いし、所定期
間内の音圧の統計値（平均値等）で評価されても良く、種々の構成を採用可能である。
【０２００】
なお、力制御パラメーターの学習においては、動作パラメーターの学習において報酬と
されていた、目標位置からの乖離は報酬に含まれない。すなわち、力制御パラメーターの
学習においては、工程の始点や終点が学習に応じて変動し得るため、報酬には含まれてい
ない。
【０２０１】
現在の状態ｓにおいて行動ａが採用された場合における次の状態ｓ'は、行動ａとして
のパラメーターの変化が行われた後にロボット３を動作させ、状態観測部４１ａが状態を
観測することによって特定可能である。なお、本例にかかる力制御パラメーターの学習は
、ロボット１，２による対象物の検出完了後に、ロボット３に関して実行される。
【０２０２】
図１１に示す例において、状態変数には、モーターＭ１〜Ｍ６の電流、エンコーダーＥ
１〜Ｅ６の値、力覚センサーＰの出力が含まれている。従って、状態観測部４１ａは、サ
ーボ４３ｄの制御結果として、モーターＭ１〜Ｍ６に供給される電流値を観測する。当該
電流値は、モーターＭ１〜Ｍ６で出力されるトルクに相当する。また、エンコーダーＥ１
〜Ｅ６の出力は、対応関係Ｕ１に基づいてロボット座標系におけるＴＣＰの位置に変換さ
れる。従って、状態観測部４１ａは、ロボット３が備えるグリッパー２３の位置情報を観
測することになる。
【０２０３】
本実施形態においては、ロボットの運動中に力覚センサーＰによって検出された出力を
積分することによってロボットの位置を算出することができる。すなわち、状態観測部４
１ａは、対応関係Ｕ２に基づいてロボット座標系において運動中のＴＣＰへの作用力を積
分することでＴＣＰの位置を取得する。従って、本実施形態において状態観測部４１ａは
、力覚センサーＰの出力も利用してロボット３が備えるグリッパー２３の位置情報を観測
する。なお、状態は、各種の手法で観測されて良く、上述の変換が行われない値（電流値
やエンコーダー、力覚センサーの出力値）が状態として観測されても良い。
【０２０４】
状態観測部４１ａは、行動であるインピーダンスパラメーターや力制御座標系、工程の
始点および終点の調整結果を直接的に観測しているのではなく、調整の結果、ロボット３
で得られた変化をモーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の値、力覚センサ
ーＰの出力として観測している。従って、行動による影響を間接的に観測していることに
なり、この意味で、本実施形態の状態変数は、力制御パラメーターの変化から直接的に推
定することが困難な変化をし得る状態変数である。
【０２０５】
また、モーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の値、力覚センサーＰの出
力は、ロボット３の動作を直接的に示しており、当該動作は作業の良否を直接的に示して
いる。従って、状態変数として、モーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の
値、力覚センサーＰの出力を観測することにより、人為的に改善することが困難なパラメ
ーターの改善を行い、効果的に作業の質を高めるように力制御パラメーターを最適化する
ことが可能になる。この結果、人為的に決められた力制御パラメーターよりも高性能な動
作を行う力制御パラメーターを高い確率で算出することができる。
【０２０６】
（４−６）力制御パラメーターの学習例：
次に、力制御パラメーターの学習例を説明する。学習の過程で参照される変数や関数を
示す情報は、学習情報４４ｅとして記憶部４４に記憶される。すなわち、算出部４１は、
状態変数の観測と、当該状態変数に応じた行動の決定と、当該行動によって得られる報酬
の評価とを繰り返すことによって行動価値関数Ｑ（ｓ，ａ）を収束させる構成が採用され
ている。そこで、本例において、学習の過程で状態変数と行動と報酬との時系列の値が、
順次、学習情報４４ｅに記録されていく。
【０２０７】
なお、本実施形態において、力制御パラメーターの学習は力制御モードで実行される（
位置制御のみが行われる位置制御モードでは力制御パラメーターの学習は行われない）。
力制御モードでの学習を実行するためには、力制御モードのみで構成される作業がロボッ
ト３のロボットプログラム４４ｂとして生成されても良いし、任意のモードを含む作業が
ロボット３のロボットプログラム４４ｂとして生成されている状況において、その中の力
制御モードのみを用いて学習してもよい。
【０２０８】
行動価値関数Ｑ（ｓ，ａ）は、種々の手法で算出されて良く、多数回の試行に基づいて
算出されても良いが、ここでは、ＤＱＮによって行動価値関数Ｑを最適化する例を説明す
る。行動価値関数Ｑの最適化に利用される多層ニューラルネットワークは、上述の図８に
おいて模式的に示される。図１１に示すような状態が観測される本例であれば、ロボット
３におけるモーターＭ１〜Ｍ６の電流、エンコーダーＥ１〜Ｅ６の値、力覚センサーＰの
出力（６軸の出力）が状態であるため、状態ｓの数Ｍ＝１８である。図１１に示すような
行動が選択され得る本例であれば、６０個の行動が選択可能であるためＮ＝７８である。
むろん、行動ａの内容や数（Ｎの値）、状態ｓの内容や数（Ｍの値）は試行番号ｔに応じ
て変化しても良い。
【０２０９】
本実施形態においても、当該多層ニューラルネットワークを特定するためのパラメータ
ー（入力から出力を得るために必要な情報）が学習情報４４ｅとして記憶部４４に記録さ
れる。ここでも学習の過程で変化し得る多層ニューラルネットワークのパラメーターをθ
と表記する。当該θを使用すると、上述の行動価値関数Ｑ（ｓt，ａ1t）〜Ｑ（ｓt，ａNt
）は、Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）とも表記できる。
【０２１０】
次に、図９に示すフローチャートに沿って学習処理の手順を説明する。力制御パラメー
ターの学習処理は、ロボット３の運用過程において実施されても良いし、実運用の前に事
前に学習処理が実行されてもよい。ここでは、実運用の前に事前に学習処理が実行される
構成（多層ニューラルネットワークを示すθが最適化されると、その情報が保存され、次
回以降の運用で利用される構成）に従って学習処理を説明する。
【０２１１】
学習処理が開始されると、算出部４１は、学習情報４４ｅを初期化する（ステップＳ２
００）。すなわち、算出部４１は、学習を開始する際に参照されるθの初期値を特定する
。初期値は、種々の手法によって決められて良く、過去に学習が行われていない場合にお
いては、任意の値やランダム値等がθの初期値となっても良いし、ロボット３や対象物を
模擬するシミュレーション環境を準備し、当該環境に基づいて学習または推定したθを初
期値としてもよい。
【０２１２】
過去に学習が行われた場合は、当該学習済のθが初期値として採用される。また、過去
に類似の対象についての学習が行われた場合は、当該学習におけるθが初期値とされても
良い。過去の学習は、ロボット３を用いてユーザーが行ってもよいし、ロボット３の製造
者がロボット３の販売前に行ってもよい。この場合、製造者は、対象物や作業の種類に応
じて複数の初期値のセットを用意しておき、ユーザーが学習する際に初期値を選択する構
成であっても良い。θの初期値が決定されると、当該初期値が現在のθの値として学習情
報４４ｅに記憶される。
【０２１３】
次に、算出部４１は、パラメーターを初期化する（ステップＳ２０５）。ここでは、力
制御パラメーターが学習対象であるため、算出部４１は、力制御パラメーターを初期化す
る。すなわち、学習が行われていない状態であれば、算出部４１は、教示によって生成さ
れたパラメーター４４ａに含まれる力制御パラメーターを初期値として設定する。過去に
何らかの学習が行われた状態であれば、算出部４１は、学習の際に最後に利用されていた
パラメーター４４ａに含まれる力制御パラメーターを初期値として設定する。
【０２１４】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２１０）。すなわち、制
御部４３は、パラメーター４４ａおよびロボットプログラム４４ｂを参照してロボット３
を制御する（上述のステップＳ１１０〜Ｓ１３０に相当）。この後、状態観測部４１ａは
、モーターＭ１〜Ｍ６に供給される電流値を観測する。また、状態観測部４１ａは、エン
コーダーＥ１〜Ｅ６の出力を取得し、対応関係Ｕ１に基づいてロボット座標系におけるＴ
ＣＰの位置に変換する。さらに、状態観測部４１ａは、力覚センサーＰの出力を積分し、
ＴＣＰの位置を取得する。
【０２１５】
次に、学習部４１ｂは、行動価値を算出する（ステップＳ２１５）。すなわち、学習部
４１ｂは、学習情報４４ｅを参照してθを取得し、学習情報４４ｅが示す多層ニューラル
ネットワークに最新の状態変数を入力し、Ｎ個の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ
（ｓt，ａNt；θt）を算出する。
【０２１６】
なお、最新の状態変数は、初回の実行時においてステップＳ２１０、２回目以降の実行
時においてステップＳ２２５の観測結果である。また、試行番号ｔは初回の実行時におい
て０、２回目以降の実行時において１以上の値となる。学習処理が過去に実施されていな
い場合、学習情報４４ｅが示すθは最適化されていないため、行動価値関数Ｑの値として
は不正確な値となり得るが、ステップＳ２１５以後の処理の繰り返しにより、行動価値関
数Ｑは徐々に最適化していく。また、ステップＳ２１５以後の処理の繰り返しにおいて、
状態ｓ、行動ａ、報酬ｒは、各試行番号ｔに対応づけられて記憶部４４に記憶され、任意
のタイミングで参照可能である。
【０２１７】
次に、学習部４１ｂは、行動を選択し、実行する（ステップＳ２２０）。本実施形態に
おいては、行動価値関数Ｑ（ｓ，ａ）を最大化する行動ａが最適な行動であると見なされ
る処理が行われる。そこで、学習部４１ｂは、ステップＳ２１５において算出されたＮ個
の行動価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の値の中で最大の値を特定
する。そして、学習部４１ｂは、最大の値を与えた行動を選択する。例えば、Ｎ個の行動
価値関数Ｑ（ｓt，ａ1t；θt）〜Ｑ（ｓt，ａNt；θt）の中でＱ（ｓt，ａNt；θt）が最
大値であれば、学習部４１ｂは、行動ａNtを選択する。
【０２１８】
行動が選択されると、学習部４１ｂは、当該行動に対応するパラメーター４４ａを変化
させる。例えば、図１１に示す例において、ロボット座標系のｘ軸に関するインピーダン
スパラメーターｍを一定値増加させる行動ａ１が選択された場合、学習部４１ｂは、力制
御パラメーターが示すｘ軸に関するインピーダンスパラメーターｍを一定値増加させる。
パラメーター４４ａの変化が行われると、制御部４３は、当該パラメーター４４ａを参照
してロボット３を制御し、一連の作業を実行させる。なお、本実施形態においては、行動
選択のたびに一連の作業が実行されるが、行動選択のたびに一連の作業の一部が実行され
る構成（一連の作業を構成する複数の工程の少なくとも１工程が実行される構成）であっ
ても良い。
【０２１９】
次に、状態観測部４１ａは、状態変数を観測する（ステップＳ２２５）。すなわち、状
態観測部４１ａは、ステップＳ２１０における状態変数の観測と同様の処理を行って、状
態変数として、モーターＭ１〜Ｍ６に供給される電流値、エンコーダーＥ１〜Ｅ６の出力
に基づいて特定されるＴＣＰの位置、力覚センサーＰの出力に基づいて特定されるＴＣＰ
の位置を取得する。なお、現在の試行番号がｔである場合（選択された行動がａtである
場合）、ステップＳ２２５で取得される状態ｓはｓt+1である。
【０２２０】
次に、学習部４１ｂは、報酬を評価する（ステップＳ２３０）。すなわち、学習部４１
ｂは、図示しない計時回路に基づいて作業の開始から終了までの所要時間を取得し、作業
の所要時間が基準よりも短い場合に正、作業の所要時間が基準よりも長い場合に負の報酬
を取得する。さらに、学習部４１ｂは、作業の各工程におけるグリッパー２３の位置を取
得し、作業の各工程において取得したグリッパー２３の位置に基づいて振動強度を取得す
る。そして、学習部４１ｂは、当該振動強度の程度が基準よりも小さい場合に正、基準よ
りも大きい場合の負の報酬を取得する。一連の作業が複数の工程で構成される場合、各工
程の報酬の和が取得されても良いし、統計値（平均値等）が取得されても良い。
【０２２１】
さらに、学習部４１ｂは、作業の各工程の終期において取得したグリッパー２３の位置
に基づいてオーバーシュート量を取得する。そして、学習部４１ｂは、当該オーバーシュ
ート量が基準よりも小さい場合に正、基準よりも大きい場合の負の報酬を取得する一連の
作業が複数の工程で構成される場合、各工程の報酬の和が取得されても良いし、統計値（
平均値等）が取得されても良い。
【０２２２】
さらに、学習部４１ｂは、作業中に集音装置が取得した音を示す情報を取得する。そし
て、学習部４１ｂは、作業中の発生音の大きさが基準よりも小さい場合に正、基準よりも
大きい場合の負の報酬を取得する。なお、現在の試行番号がｔである場合、ステップＳ２
３０で取得される報酬ｒはｒt+1である。
【０２２３】
本例においても、式（２）に示す行動価値関数Ｑの更新を目指しているが、行動価値関
数Ｑを適切に更新していくためには、行動価値関数Ｑを示す多層ニューラルネットワーク
を最適化（θを最適化）していかなくてはならない。そして、図８に示す多層ニューラル
ネットワークによって行動価値関数Ｑを適正に出力させるためには、当該出力のターゲッ
トとなる教師データが必要になる。すなわち、多層ニューラルネットワークの出力と、タ
ーゲットとの誤差を最小化するようにθを改善すると、多層ニューラルネットワークが最
適化されることが期待される。
【０２２４】
しかし、本実施形態において、学習が完了していない段階では行動価値関数Ｑの知見が
なく、ターゲットを特定することは困難である。そこで、本実施形態においては、式（２
）の第２項、いわゆるＴＤ誤差を最小化する目的関数によって多層ニューラルネットワー
クを示すθの改善を実施する。すなわち、（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt）
）をターゲットとし、ターゲットとＱ（ｓt，ａt；θt）との誤差が最小化するようにθ
を学習する。ただし、ターゲット（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θt））は、学
習対象のθを含んでいるため、本実施形態においては、ある程度の試行回数にわたりター
ゲットを固定する（例えば、最後に学習したθ（初回学習時はθの初期値）で固定する）
。本実施形態においては、ターゲットを固定する試行回数である既定回数が予め決められ
ている。
【０２２５】
このような前提で学習を行うため、ステップＳ２３０で報酬が評価されると、学習部４
１ｂは目的関数を算出する（ステップＳ２３５）。すなわち、学習部４１ｂは、試行のそ
れぞれにおけるＴＤ誤差を評価するための目的関数（例えば、ＴＤ誤差の２乗の期待値に
比例する関数やＴＤ誤差の２乗の総和等）を算出する。なお、ＴＤ誤差は、ターゲットが
固定された状態で算出されるため、固定されたターゲットを（ｒt+1＋γｍａｘａ'Ｑ（ｓ
t+1，ａ'；θ-））と表記すると、ＴＤ誤差は（ｒt+1＋γｍａｘａ'Ｑ（ｓt+1，ａ'；θ-
）−Ｑ（ｓt，ａt；θt））である。当該ＴＤ誤差の式において報酬ｒt+1は、行動ａtに
よってステップＳ２３０で得られた報酬である。
【０２２６】
また、ｍａｘａ'Ｑ（ｓt+1，ａ'；θ-）は、行動ａtによってステップＳ２２５で算出
される状態ｓt+1を、固定されたθ-で特定される多層ニューラルネットワークの入力とし
た場合に得られる出力の中の最大値である。Ｑ（ｓt，ａt；θt）は、行動ａtが選択され
る前の状態ｓtを、試行番号ｔの段階のθtで特定される多層ニューラルネットワークの入
力とした場合に得られる出力の中で、行動ａtに対応した出力の値である。
【０２２７】
目的関数が算出されると、学習部４１ｂは、学習が終了したか否か判定する（ステップ
Ｓ２４０）。本実施形態においては、ＴＤ誤差が充分に小さいか否かを判定するための閾
値が予め決められており、目的関数が閾値以下である場合、学習部４１ｂは、学習が終了
したと判定する。
【０２２８】
ステップＳ２４０において学習が終了したと判定されない場合、学習部４１ｂは、行動
価値を更新する（ステップＳ２４５）。すなわち、学習部４１ｂは、ＴＤ誤差のθによる
偏微分に基づいて目的関数を小さくするためのθの変化を特定し、θを変化させる。むろ
ん、ここでは、各種の手法でθを変化させることが可能であり、例えば、ＲＭＳＰｒｏｐ
等の勾配降下法を採用可能である。また、学習率等による調整も適宜実施されて良い。以
上の処理によれば、行動価値関数Ｑがターゲットに近づくようにθを変化させることがで
きる。
【０２２９】
ただし、本実施形態においては、上述のようにターゲットが固定されているため、学習
部４１ｂは、さらに、ターゲットを更新するか否かの判定を行う。具体的には学習部４１
ｂは、既定回数の試行が行われたか否かを判定し（ステップＳ２５０）、ステップＳ２５
０において、既定回数の試行が行われたと判定された場合に、学習部４１ｂは、ターゲッ
トを更新する（ステップＳ２５５）。すなわち、学習部４１ｂは、ターゲットを算出する
際に参照されるθを最新のθに更新する。この後、学習部４１ｂは、ステップＳ２１５以
降の処理を繰り返す。一方、ステップＳ２５０において、既定回数の試行が行われたと判
定されなければ、学習部４１ｂは、ステップＳ２５５をスキップしてステップＳ２１５以
降の処理を繰り返す。
【０２３０】
ステップＳ２４０において学習が終了したと判定された場合、学習部４１ｂは、学習情
報４４ｅを更新する（ステップＳ２６０）。すなわち、学習部４１ｂは、学習によって得
られたθを、ロボット３による作業の際に参照されるべきθとして学習情報４４ｅに記録
する。当該θを含む学習情報４４ｅが記録されている場合、ステップ１１０〜Ｓ１３０の
ようにロボット３による作業が行われる際に、制御部４３はパラメーター４４ａに基づい
てロボット３を制御する。そして、当該作業の過程においては、状態観測部４１ａによる
現在の状態の観測と、学習部４１ｂによる行動の選択が繰り返される。むろん、この際、
学習部４１ｂは、状態を入力として算出された出力Ｑ（ｓ，ａ）の中で最大値を与える行
動ａを選択する。そして、行動ａが選択された場合、行動ａが行われた状態に相当する値
となるようにパラメーター４４ａが更新される。
【０２３１】
以上の構成によれば、制御部４３は、行動価値関数Ｑが最大化される行動ａを選択しな
がら作業を実行することができる。当該行動価値関数Ｑは、上述の処理により、多数の試
行が繰り返された結果、最適化されている。そして、当該試行は、算出部４１によって自
動で行われ、人為的に実施不可能な程度の多数の試行を容易に実行することができる。従
って、本実施形態によれば、人為的に決められた力制御パラメーターよりも高い確率でロ
ボット３の作業の質を高めることができる。
【０２３２】
さらに、本実施形態においては、行動によってパラメーター４４ａとしてのインピーダ
ンスパラメーターが変化する。従って、人為的な調整によって適切な設定を行うことが困
難な、インピーダンスパラメーターを自動的に調整することができる。さらに、本実施形
態においては、行動によってパラメーター４４ａとしての始点と終点が変化する。従って
、人為的に設定された始点や終点を、より高性能に力制御を行うように自動的に調整する
ことができる。
【０２３３】
さらに、本実施形態においては、行動によってパラメーター４４ａとしての力制御座標
系が変化する。この結果、ロボット３のＴＣＰからのオフセット点の位置が変化する。従
って、人為的な調整によって適切な設定を行うことが困難な、ＴＣＰからのオフセット点
の位置を自動的に調整することができる。さらに、本実施形態においては、行動によって
パラメーター４４ａとしての目標力が変化し得る。従って、人為的な調整によって適切な
設定を行うことが困難な、目標力を自動的に調整することができる。特に、力制御座標系
と目標力との組み合わせを人為的に理想化することは困難であるため、これらの組が自動
的に調整される構成は、有用である。
【０２３４】
さらに、本実施形態においては、ロボット３が行った作業の良否に基づいて行動による
報酬を評価するため、ロボット３の作業を成功させるようにパラメーターを最適化するこ
とができる。さらに、本実施形態においては、作業の所要時間が基準よりも短い場合に報
酬を正と評価するため、ロボット３を短い時間で作業させる力制御パラメーターを容易に
算出することができる。
【０２３５】
さらに、本実施形態においては、振動強度が基準よりも小さい場合に報酬を正と評価す
るため、ロボット３の動作による振動を発生させる可能性が低い力制御パラメーターを容
易に算出することができる。さらに、本実施形態においては、ロボット３の位置のオーバ
ーシュートが基準よりも小さい場合に報酬を正と評価するため、ロボット３がオーバーシ
ュートする可能性が低い力制御パラメーターを容易に算出することができる。さらに、本
実施形態においては、発生音が基準よりも小さい場合に報酬を正と評価するため、ロボッ
ト３に異常を発生させる可能性が低い力制御パラメーターを容易に算出することができる
。
【０２３６】
さらに、本実施形態によれば、自動で行動価値関数Ｑが最適化されるため、高性能な力
制御を行う力制御パラメーターを容易に算出することができる。また、行動価値関数Ｑの
最適化は自動的に行われるため、最適な力制御パラメーターの算出も自動的に行うことが
できる。
【０２３７】
さらに、本実施形態においては、ロボット３において汎用的に使用される力覚センサー
Ｐによってロボット３の位置情報を取得するため、ロボット３で汎用的に使用されるセン
サーに基づいて位置情報を算出することができる。
【０２３８】
さらに、本実施形態において学習部４１ｂは、状態変数としてのロボット３の動作結果
を実測し、力制御パラメーターを最適化する。従って、ロボット３によって作業が行われ
ている実環境下において合わせて力制御パラメーターを最適化することができる。従って
、ロボット３の使用環境に応じた力制御パラメーターとなるように最適化することができ
る。
【０２３９】
さらに、本実施形態において状態観測部４１ａは、ロボット３にエンドエフェクターと
してのグリッパー２３が設けられた状態で状態変数を観測する。また、学習部４１ｂは、
ロボット３にエンドエフェクターとしてのグリッパー２３が設けられた状態で行動として
のパラメーター４４ａの変更が実行される。この構成によれば、エンドエフェクターとし
てのグリッパー２３を用いた動作を行うロボット３に適した力制御パラメーターを容易に
算出することができる。
【０２４０】
さらに、本実施形態において状態観測部４１ａは、エンドエフェクターとしてのグリッ
パー２３が対象物を把持した状態で状態変数を観測する。また、学習部４１ｂは、エンド
エフェクターとしてのグリッパー２３が対象物を把持した状態で行動としてのパラメータ
ー４４ａの変更が実行される。この構成によれば、エンドエフェクターとしてのグリッパ
ー２３で対象物を把持して動作を行うロボット３に適した力制御パラメーターを容易に算
出することができる。
【０２４１】
（５）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可
能である。例えば、制御装置は、ロボットに内蔵されていても良いし、ロボットの設置場
所と異なる場所、例えば外部のサーバー等に備えられていても良い。また、制御装置は、
複数の装置で構成されていても良く、制御部４３と算出部４１とが異なる装置で構成され
ても良い。また、制御装置は、ロボットコントローラー、ティーチングペンダント、ＰＣ
、ネットワークにつながるサーバー等であっても良いし、これらが含まれていても良い。
さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省
略されてもよい。さらに、上述の実施形態においては、ＴＣＰについて目標位置や目標力
の初期ベクトルが設定されたが、他の位置、例えば力覚センサーＰについてのセンサー座
標系の原点やネジの先端等について目標位置や目標力の初期ベクトルが設定されても良い
。
【０２４２】
ロボットは、任意の態様の可動部で任意の作業を実施できれば良い。エンドエフェクタ
ーは、対象物に関する作業に利用される部位であり、任意のツールが取り付けられて良い
。対象物は、ロボットによる作業対象となる物体であれば良く、エンドエフェクターによ
って把持された物体であっても良いし、エンドエフェクターが備えるツールで扱われる物
体であっても良く、種々の物体が対象物となり得る。
【０２４３】
ロボットに作用させる目標力は、当該ロボットを力制御によって駆動する際にロボット
に作用させる目標力であれば良く、例えば、力覚センサー等の力検出部によって検出され
る力（または当該力から算出される力）を特定の力に制御する際に、当該力が目標力とな
る。また、力覚センサー以外のセンサー、例えば加速度センサーで検出される力（または
当該力から算出される力）が目標力になるように制御されても良いし、加速度や角速度が
特定の値になるように制御されても良い。
【０２４４】
さらに、上述の学習処理においては、試行のたびにθの更新によって行動価値を更新し
、既定回数の試行が行われるまでターゲットを固定したが、複数回の試行が行われてから
θの更新が行われてもよい。例えば、第１既定回数の試行が行われるまでターゲットが固
定され、第２既定回数（＜第１既定回数）の試行が行われるまでθを固定する構成が挙げ
られる。この場合、第２既定回数の試行後に第２既定回数分のサンプルに基づいてθを更
新し、さらに試行回数が第１既定回数を超えた場合に最新のθでターゲットを更新する構
成となる。
【０２４５】
さらに、学習処理においては、公知の種々の手法が採用されてよく、例えば、体験再生
や報酬のＣｌｉｐｐｉｎｇ等が行われてもよい。さらに、図８においては、層ＤＬがＰ個
（Ｐは１以上の整数）存在し、各層において複数のノードが存在するが、各層の構造は、
種々の構造を採用可能である。例えば、層の数やノードの数は種々の数を採用可能である
し、活性化関数としても種々の関数を採用可能であるし、ネットワーク構造が畳み込みニ
ューラルネットワーク構造等になっていても良い。また、入力や出力の態様も図８に示す
例に限定されず、例えば、状態ｓと行動ａとが入力される構成や、行動価値関数Ｑを最大
化する行動ａがｏｎｅ−ｈｏｔベクトルとして出力される構成が少なくとも利用される例
が採用されても良い。
【０２４６】
上述の実施形態においては、行動価値関数に基づいてｇｒｅｅｄｙ方策で行動を行って
試行しながら、行動価値関数を最適化することにより、最適化された行動価値関数に対す
るｇｒｅｅｄｙ方策が最適方策であると見なしている。この処理は、いわゆる価値反復法
であるが、他の手法、例えば、方策反復法によって学習が行われてもよい。さらに、状態
ｓ、行動ａ、報酬ｒ等の各種変数においては、各種の正規化が行われてよい。
【０２４７】
機械学習の手法としては、種々の手法を採用であり、行動価値関数Ｑに基づいたε−ｇ
ｒｅｅｄｙ方策によって試行が行われてもよい。また、強化学習の手法としても上述のよ
うなＱ学習に限定されず、ＳＡＲＳＡ等の手法が用いられても良い。また、方策のモデル
と行動価値関数のモデルを別々にモデル化した手法、例えば、Ａｃｔｏｒ−Ｃｒｉｔｉｃ
アルゴリズムが利用されても良い。Ａｃｔｏｒ−Ｃｒｉｔｉｃアルゴリズムを利用するの
であれば、方策を示すａｃｔｏｒであるμ（ｓ；θ）と、行動価値関数を示すｃｒｉｔｉ
ｃであるＱ（ｓ，ａ；θ）とを定義し、μ（ｓ；θ）にノイズを加えた方策に従って行動
を生成して試行し、試行結果に基づいてａｃｔｏｒとｃｒｉｔｉｃを更新することで方策
と行動価値関数とを学習する構成であっても良い。
【０２４８】
算出部は、機械学習を用いて、学習対象のパラメーターを算出することができればよく
、パラメーターとしては、光学パラメーター、画像処理パラメーター、動作パラメーター
、力制御パラメーターの少なくとも１個であれば良い。機械学習は、サンプルデータを用
いてよりよいパラメーターを学習する処理であれば良く、上述の強化学習以外にも、教師
あり学習やクラスタリングなど種々の手法によって各パラメーターを学習する構成を採用
可能である。
【０２４９】
光学系は、対象物を撮像することができる。すなわち、対象物が含まれる領域を視野に
した画像を取得する構成を備える。光学系の構成要素としては上述のように、撮像部や照
明部を含むことが好ましく、他にも種々の構成要素が含まれていて良い。また、上述のよ
うに、撮像部や照明部はロボットのアームによって移動可能であっても良いし、２次元的
な移動機構によって移動可能であっても良いし、固定的であっても良い。むろん、撮像部
や照明部は交換可能であっても良い。また、光学系で用いる光（撮像部による検出光や照
明部の出力光）の帯域は可視光帯域に限定されず、赤外線や紫外線、Ｘ線等の任意の電磁
波が用いられる構成が採用可能である。
【０２５０】
光学パラメーターは、光学系の状態を変化させ得る値であれば良く、撮像部や照明部等
で構成される光学系において状態を直接的または間接的に特定するための数値等が光学パ
ラメーターとなる。例えば、撮像部や照明部等の位置や角度等を示す値のみならず、撮像
部や照明部の種類を示す数値（ＩＤや型番等）が光学パラメーターとなり得る。
【０２５１】
検出部は、算出された光学パラメーターによる光学系での撮像結果に基づいて、対象物
を検出することができる。すなわち、検出部は、学習された光学パラメーターによって光
学系を動作させて対象物を撮像し、撮像結果に基づいて対象物の検出処理を実行する構成
を備える。
【０２５２】
検出部は対象物を検出することができればよく、上述の実施形態のように、対象物の位
置姿勢が検出される構成の他、対象物の有無が検出される構成であっても良く、種々の構
成を採用可能である。なお、対象物の位置姿勢は、例えば、３軸における位置と３軸に対
する回転角とによる６個のパラメーターによって定義可能であるが、むろん、必要に応じ
て任意の数のパラメーターが考慮されなくても良い。例えば、平面上に設置された対象物
であれば、少なくとも１個の位置に関するパラメーターが既知であるとして検出対象から
除外されても良い。また、平面に固定的な向きで設置された対象物であれば、姿勢に関す
るパラメーターが検出対象から除外されても良い。
【０２５３】
対象物は、光学系で撮像され、検出される対象となる物体であればよく、ロボットの作
業対象となるワークや、ワークの周辺の物体、ロボットの一部など、種々の物体が想定可
能である。また、撮像結果に基づいて対象物を検出する手法としても種々の手法を採用可
能であり、画像の特徴量抽出によって対象物が検出されても良いし、対象物の動作（人等
の可動物体等の検出）によって対象物が検出されても良く、種々の手法が採用されてよい
。
【０２５４】
制御部は、対象物の検出結果に基づいてロボットを制御することができる。すなわち、
制御部は、対象物の検出結果に応じてロボットの制御内容を決定する構成を備える。従っ
て、ロボットの制御は、上述のような対象物をつかむための制御の他にも種々の制御が行
われてよい。例えば、対象物に基づいてロボットの位置決めをする制御や、対象物に基づ
いてロボットの動作を開始または終了させる制御など、種々の制御が想定される。
【０２５５】
ロボットの態様は、種々の態様であって良く、上述の実施形態のような垂直多関節ロボ
ット以外にも直交ロボット、水平多関節ロボット、双腕ロボット等であって良い。また、
種々の態様のロボットが組み合わされても良い。むろん、軸の数やアームの数、エンドエ
フェクターの態様等は種々の態様を採用可能である。例えば、撮像部２１や照明部２２が
ロボット３の上方に存在する平面に取り付けられ、当該平面上で撮像部２１や照明部２２
が移動可能であっても良い。
【０２５６】
状態観測部は、行動等の試行に応じて変化した結果を観測することができればよく、各
種のセンサー等によって状態が観測されても良いし、ある状態から他の状態に変化させる
制御が行われ、制御の失敗（エラー等）が観測されなければ当該他の状態が観測されたと
見なされる構成であっても良い。前者のセンサーによる観測は、位置等の検出の他にも撮
像センサーによる画像の取得も含まれる。
【０２５７】
さらに、上述の実施形態における行動や状態、報酬は例であり、他の行動や状態、報酬
を含む構成や任意の行動や状態が省略された構成であっても良い。例えば、撮像部２１や
照明部２２が交換可能であるロボット１，２において、撮像部２１や照明部２２の種類の
変更を行動として選択可能であり、状態として種類を観測可能であっても良い。接触判定
部４３ｃによる判定結果に基づいて報酬が決定されても良い。すなわち、学習部４１ｂに
おける学習過程において、接触判定部４３ｃが作業において想定されていない物体とロボ
ットとが接触したと判定した場合、当該直前の行動による報酬を負に設定する構成を採用
可能である。この構成によれば、ロボットが想定外の物体に接触しないようにパラメータ
ー４４ａを最適化することができる。
【０２５８】
また、例えば、光学パラメーターの最適化に際して、ロボット１〜３によって対象物の
検出結果に基づいた作業（例えば、上述のピックアップ作業等）を行い、学習部４１ｂが
、対象物の検出結果に基づいてロボット１〜３が行った作業の良否に基づいて、行動によ
る報酬を評価する構成であってもよい。この構成は、例えば、図７に示す報酬の中で、対
象物の検出の替わりに、または、対象物の検出に加えて作業の成否（例えば、ピックアッ
プの成否）を報酬とする構成が挙げられる。
【０２５９】
作業の成否は、例えば、作業の成否を判定可能な工程（ピックアップの工程等）におけ
るステップＳ１２０の判定結果等で定義可能である。この場合、行動や状態において、ロ
ボット１〜３の動作に関する行動や状態が含まれても良い。さらに、この構成においては
、ロボット１〜３の作業対象である対象物を撮像部２１および照明部２２を備える光学系
で撮像した画像を状態とすることが好ましい。この構成によれば、ロボットの作業を成功
させるように光学パラメーターを最適化することができる。なお、光学パラメーターや動
作パラメーター、力制御パラメーターを学習するために観測される状態としての画像は、
撮像部２１で撮像された画像そのものであっても良いし、撮像部２１で撮像された画像に
対して画像処理（例えば、上述の平滑化処理や鮮鋭化処理等）が行われた後の画像であっ
ても良い。
【０２６０】
さらに、光学パラメーター、動作パラメーター、力制御パラメーターのそれぞれを別個
に最適化するのではなく、これらのパラメーターの中の２種以上を最適化する構成が採用
されてもよい。例えば、図７に示す例において、動作パラメーターや力制御パラメーター
を変化させる行動が含まれる構成であれば、光学パラメーターとともに、動作パラメータ
ーや力制御パラメーターを最適化することが可能である。この場合、最適化された動作パ
ラメーターや力制御パラメーターに基づいてロボット１〜３が制御される。この構成によ
れば、対象物の検出を伴う作業を行うパラメーターを最適化することができ、対象物の検
出精度を高める学習を実行することができる。
【０２６１】
画像処理パラメーターは、対象物の撮像結果としての画像を変化させ得る値であれば良
く、図３に示す例に限定されず、追加または削除されてよい。例えば、画像処理の有無や
画像処理の強度、画像処理の順序など、実行される画像処理アルゴリズムを特定するため
の数値（処理順序等を示すフラグ等を含む）等が画像処理パラメーターとなり得る。より
具体的には、画像処理としては、二値化処理、直線検出処理、円検出処理、色検出処理、
ＯＣＲ処理等があげられる。
【０２６２】
さらに、画像処理は、複数の種類の画像処理を組み合わせた処理であってもよい。例え
ば、円検出処理とＯＣＲ処理を組み合わせて、「円内の文字を認識する処理」という処理
が行われてもよい。いずれにしても、各画像処理の有無や強度を示すパラメーターが画像
処理パラメーターとなり得る。また、これらの画像処理パラメーターの変化が行動となり
得る。
【０２６３】
動作パラメーターは、上述の実施形態に挙げられたパラメーターに限定されない。例え
ば、学習対象となる動作パラメーターに、ロボット１〜３が備える慣性センサーに基づい
て制御を行うためのサーボゲインが含まれていても良い。すなわち、慣性センサーの出力
に基づいた制御ループでモーターＭ１〜Ｍ６が制御される構成において、当該制御ループ
におけるサーボゲインが行動によって変化する構成であっても良い。例えば、ロボット１
〜３に取り付けられたエンコーダーＥ１〜Ｅ６に基づいてロボット１〜３の特定の部位の
角速度を算出し、慣性センサーの一種であるジャイロセンサーによって当該特定の部位の
角速度を検出し、両者の差分にジャイロサーボゲインを乗じてフィードバック制御を行う
構成において、当該ジャイロサーボゲインが行動によって変化する構成が挙げられる。こ
の構成であれば、ロボットの特定の部位に生じる角速度の振動成分を抑制する制御を行う
ことができる。むろん、慣性センサーはジャイロセンサーに限定されず、加速度センサー
等において同様のフィードバック制御が行われる構成において加速度ゲインが行動によっ
て変化する構成であっても良い。以上の構成によれば、人為的な調整によって適切な設定
を行うことが困難な、慣性センサーに基づいて制御を行うためのサーボゲインを自動的に
調整することができる。なお、加速度センサーはロボットの運動によって生じる加速度を
検知するセンサーであり、上述の力覚センサーはロボットに作用する力を検知するセンサ
ーである。通常、加速度センサーと力覚センサーとは異なるセンサーであるが、一方が他
方の機能を代替できる場合には、一方が他方として機能しても良い。
【０２６４】
むろん、力制御パラメーターも上述の実施形態に挙げられたパラメーターに限定されな
いし、学習対象となるパラメーターも適宜選択されてよい。例えば、目標力に関し、６軸
中の全成分または一部の成分が行動として選択し得ない（すなわち固定である）構成であ
っても良い。この構成は、固定された固定対象物（細い筒等）に、ロボットが把持した対
象物を挿入する作業において、目標力は固定対象物のある点に対して固定的な成分を有す
るが、ロボットの挿入作業に応じて力制御座標系が変化するように学習する構成等を想定
する事ができる。
【０２６５】
学習部４１ｂは、ロボット３が把持した対象物を作業完了前に落とした場合、ロボット
３の作業対象である対象物の一部が作業完了前に分離した場合、ロボット３が破損した場
合、ロボット３の作業対象である対象物が破損した場合、の少なくとも１つにおいて報酬
を負と評価する構成であっても良い。ロボット３が把持した対象物を作業完了前に落とし
た場合に報酬を負と評価する構成によれば、対象物を落とさずに作業を完了させる可能性
が高い動作パラメーターや力制御パラメーターを容易に算出することができる。
【０２６６】
ロボット３の作業対象である対象物の一部が作業完了前に分離した場合に報酬を負と評
価する構成によれば、対象物を分離させることなく作業を完了させる可能性が高い動作パ
ラメーターや力制御パラメーターを容易に算出することができる。ロボット３が破損した
場合に報酬を負と評価する構成によれば、ロボット３を破損させる可能性が低い動作パラ
メーターや力制御パラメーターを容易に算出することができる。
【０２６７】
ロボット３の作業対象である対象物が破損した場合に報酬を負と評価する構成によれば
、対象物を破損させる可能性が低い動作パラメーターや力制御パラメーターを容易に算出
することができる。なお、ロボット３が把持した対象物を作業完了前に落としたか否か、
ロボット３の作業対象である対象物の一部が作業完了前に分離したか否か、ロボット３が
破損したか否か、ロボット３の作業対象である対象物が破損したか否かは、各種のセンサ
ー、例えば撮像部２１等によって検出される構成を採用可能である。
【０２６８】
さらに、学習部４１ｂは、ロボット３による作業が正常に完了した場合において報酬を
正と評価する構成であっても良い。ロボット３による作業が正常に完了した場合に報酬を
正と評価する構成によれば、ロボット３の作業を成功させる動作パラメーターや力制御パ
ラメーターを容易に算出することができる。
【０２６９】
さらに、ロボット３の位置を検出するための位置検出部は、上述の実施形態のようなエ
ンコーダー、力覚センサーに限定されず、他のセンサー、専用の慣性センサーや撮像部２
１等の光学センサー、距離センサー等であっても良い。また、センサーはロボットに内蔵
されていても良いが、ロボットの外部に配置されても良い。ロボットの外部に配置された
位置検出部を利用すれば、ロボットの動作に影響されることなく位置情報を算出すること
ができる。
【０２７０】
さらに、算出部４１は、ロボットの異なる複数の動作に基づいて、複数の動作に共通の
動作パラメーターや力制御パラメーターを算出する構成であっても良い。複数の動作は、
最適化された動作パラメーターを利用して実行される動作を含んでいれば良い。従って、
複数の動作は、異なる種類の複数の作業（ピックアップ作業、研磨作業、ネジ締め作業な
ど）である構成や、同種の作業（ネジの大きさが異なる複数のネジ締め作業等）である構
成等が挙げられる。この構成によれば、各種の動作に適用可能な汎用的な動作パラメータ
ーや力制御パラメーターを容易に算出することができる。
【符号の説明】
【０２７１】
１〜３…ロボット、２０…光学系、２１…撮像部、２２…照明部、２３…グリッパー、
４０…制御装置、４１…算出部、４１ａ…状態観測部、４１ｂ…学習部、４２…検出部、
４３…制御部、４３ａ…位置制御部、４３ｂ…力制御部、４３ｃ…接触判定部、４３ｄ…
サーボ、４４…記憶部、４４ａ…パラメーター、４４ｂ…ロボットプログラム、４４ｃ…
テンプレートデータ、４４ｄ…行動情報、４４ｅ…学習情報
【図１】
2018126799.tif 000005
【図２】
2018126799.tif 000006
【図３】
2018126799.tif 000007
【図４】
2018126799.tif 000008
【図５】
2018126799.tif 000009
【図６】
2018126799.tif 000010
【図７】
2018126799.tif 000011
【図８】
2018126799.tif 000012
【図９】
2018126799.tif 000013
【図１０】
2018126799.tif 000014
【図１１】
2018126799.tif 000015