(57)【要約】  ロボットシステム（１００）において、ロボット制御装置（１１１）が制御するロボット（１２０）の動作を調整する動作調整装置（１１２）は、外界センサ（１４２）で検出された、エンドエフェクタ（１３０）に作用する力である作用外力を入力とする学習を行って、ロボットの動作を示す速度パターンの調整を行う指令値学習部（１１３）と、作業の開始から終了までの間を分割した複数の区分のそれぞれに対して、それぞれの区分における速度パターンを調整して試行実験を実施し、複数回実施した試行実験のそれぞれで得られた、動作指令値および外界センサで検出された作用外力に基づいて、ロボットシステムの破損リスク評価値を基準以下とするためにロボットが動作中に満たすべき物理制約条件を計算する物理制約演算部（１５１）と、を備え、指令値学習部は、物理制約条件を満たす範囲で速度パターンを調整して学習を進める。
2020255312.tif 000002
【特許請求の範囲】
【請求項１】
エンドエフェクタが装着されたロボットと、前記ロボットの動作を制御するロボット制御装置とを備え、前記ロボットが作業対象に対して作業を行うロボットシステムにおいて、前記ロボット制御装置が制御する前記ロボットの動作を調整するロボットの動作調整装置であって、
前記ロボットシステムが備える外界センサで検出された、前記エンドエフェクタに作用する力である作用外力を入力とする学習を行って、前記ロボットの動作を示す速度パターンの調整を行う指令値学習部と、
前記作業の開始から終了までの間を分割した複数の区分のそれぞれに対して、それぞれの区分における速度パターンを調整して試行実験を実施し、複数回実施した試行実験のそれぞれで得られた、動作指令値および前記外界センサで検出された作用外力に基づいて、前記ロボットシステムの破損リスク評価値を基準以下とするために前記ロボットが動作中に満たすべき物理制約条件を計算する物理制約演算部と、
を備え、
前記指令値学習部は、前記物理制約条件を満たす範囲で前記速度パターンを調整して前記学習を進める、
ことを特徴とするロボットの動作調整装置。
【請求項２】
前記物理制約演算部で前記物理制約条件が算出される前に前記学習を行うときの前記速度パターンの調整範囲として、前記破損リスク評価値が常に前記基準以下におさまる第１の調整範囲と、前記破損リスク評価値が前記基準を超える場合を含む第２の調整範囲とを定義する調整範囲定義部、
を備え、
前記指令値学習部は、
前記物理制約演算部で前記物理制約条件が算出される前は前記第１の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進め、
前記物理制約演算部で前記物理制約条件が算出された後は前記第２の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める、
ことを特徴とする請求項１に記載のロボットの動作調整装置。
【請求項３】
前記物理制約演算部は、前記指令値学習部が前記第１の調整範囲で前記学習を進める際に使用した複数の速度パターンと、各速度パターンを用いて複数回実施した試行実験のそれぞれで得られた、前記外界センサで検出された作用外力とに基づいて、動作指令値の変化と作用反力の変化の相関が大きい領域である高感度領域を抽出し、抽出した高感度領域に基づいて前記物理制約条件を算出する、
ことを特徴とする請求項２に記載のロボットの動作調整装置。
【請求項４】
前記物理制約演算部は、前記速度パターンおよび前記作用外力を入力情報とする機械学習または統計的手法を利用して前記高感度領域を抽出する、
ことを特徴とする請求項３に記載のロボットの動作調整装置。
【請求項５】
前記速度パターンの調整は、前記ロボットの動作速度に影響を与える複数のパラメータを調整することで実現され、
前記指令値学習部は、前記複数のパラメータを複数のグループに分け、複数のグループの中の１つを調整対象としてパラメータの調整を繰り返して前記学習を進め、調整対象のグループに対する学習が終了すると、調整対象のグループを変更してパラメータの調整および前記学習を行う、
ことを特徴とする請求項１から４のいずれか一つに記載のロボットの動作調整装置。
【請求項６】
前記物理制約演算部は、前記物理制約条件を算出した後、当該物理制約条件を算出したときの第２の調整範囲を新たな第１の調整範囲に定義するとともに新たな第２の調整範囲を定義する処理と、新たに定義した第１の調整範囲で前記指令値学習部が前記学習を進める際に使用した複数の速度パターン、および、各速度パターンを用いて複数回実施した試行実験のそれぞれで得られた、前記外界センサで検出された作用外力、に基づいて、前記高感度領域を抽出し、抽出した高感度領域に基づいて前記物理制約条件を算出する処理と、を繰り返し実行し、
前記指令値学習部は、前記物理制約演算部が前記第１の調整範囲および前記第２の調整範囲を新たに定義するごとに、前記物理制約演算部で前記物理制約条件が算出される前に前記第１の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める処理と、前記物理制約演算部で前記物理制約条件が算出された後に前記第２の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める処理と、を繰り返し実行する、
ことを特徴とする請求項３または４に記載のロボットの動作調整装置。
【請求項７】
請求項１から６のいずれか１項に記載のロボットの動作調整装置と、
前記動作調整装置で調整された速度パターンに基づいて前記ロボットの動作を制御するロボット制御装置と、
を備えることを特徴とする動作制御システム。
【請求項８】
請求項７に記載の動作制御システムと、
前記動作制御システムによって制御されるロボットと、
を備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットや非製造業向けのサービスロボットなどに関する。特に、本発明は、ロボットに装着されたエンドエフェクタを目標となる位置姿勢に到達させるためのロボットの動作を調整するロボットの動作調整装置および動作制御システムと、当該動作調整装置および動作制御システムを備えたロボットシステムに関する。
【背景技術】
【０００２】
従来の産業用ロボットシステムでは、ロボットと作業対象の関係が精密に位置決めされ、位置決めされた環境下でロボットが高速・高精度で作業を繰り返すようなシステム構成が多かった。これに対して近年では、力覚センサあるいはビジョンセンサなどの複数の外界センサを活用するロボットシステムが増加しつつある。このようなロボットシステムは、ロボットと作業対象とが精密に位置決めされていない環境で使用され、外界センサの検出結果に応じてロボットの動作を制御する。【０００３】
例えば、このようなロボットシステムは、作業対象となる物体の位置姿勢あるいは周辺環境が未知の状況で使用される。また、別の例としては、このようなロボットシステムは、作業対象となる物体の位置姿勢あるいは周辺環境が変化する状況で使用される。具体的な事例としては、ビンピッキング作業、表面倣い動作を伴う挿入作業、コネクタ等の部品の嵌め合い作業などが挙げられる。また、非製造業向けのサービスロボットの分野では、様々に変化する環境下での作業が前提とされており、同様に複数のセンサを用いてロボットの動作が制御されている。【０００４】
これらのセンサを活用したロボットの制御系では、ロボットの動作を調整するために、複数の制御パラメータの調整が必要となる。制御パラメータが適切に調整されることで、ロボットの動作が適切となり、ロボットシステムの性能が確保される。しかし、制御パラメータの調整は容易ではなく、専門的な知識が要求されることが多い。そこで、制御パラメータの調整を容易化するために、いくつかの自動調整手段が提案されている。例えば、特許文献１には、学習によってロボットの動作を高速化させるロボットシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−９４４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のロボットシステムでは、学習において、ロボットの動作に起因して作業対象に作用する負荷の大きさが考慮されていない。したがって、学習で得られたロボットの動作において、作業対象に作用する負荷が適切な大きさとならず、作業対象に過大な負荷が作用する場合があった。【０００７】
本発明は、上記に鑑みてなされたものであって、作業対象に過大な負荷が作用するのを防止しつつ、ロボットの動作の調整を容易化できるロボットの動作調整装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、エンドエフェクタが装着されたロボットと、ロボットの動作を制御するロボット制御装置とを備え、ロボットが作業対象に対して作業を行うロボットシステムにおいて、ロボット制御装置が制御するロボットの動作を調整するロボットの動作調整装置であって、ロボットシステムが備える外界センサで検出された、エンドエフェクタに作用する力である作用外力を入力とする学習を行って、ロボットの動作を示す速度パターンの調整を行う指令値学習部を備える。また、ロボットの動作調整装置は、作業の開始から終了までの間を分割した複数の区分のそれぞれに対して、それぞれの区分における速度パターンを調整して試行実験を実施し、複数回実施した試行実験のそれぞれで得られた、動作指令値および外界センサで検出された作用外力に基づいて、ロボットシステムの破損リスク評価値を基準以下とするためにロボットが動作中に満たすべき物理制約条件を計算する物理制約演算部を備える。指令値学習部は、物理制約条件を満たす範囲で速度パターンを調整して学習を進める。
【発明の効果】
【０００９】
本発明にかかるロボットの動作調整装置は、作業対象に過大な負荷が作用するのを防止しつつ、ロボットの動作の調整を容易化できる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１にかかる動作調整装置を備えたロボットシステムのシステム構成の一例を示すブロック図
【図２】ロボット制御装置および動作調整装置を実現するハードウェア構成の一例を示す図
【図３】本発明の実施の形態１にかかる動作調整装置の構成例および周辺のブロックを示すブロック図
【図４】本発明の実施の形態１にかかる動作調整装置の動作を説明するための図
【図５】本発明の実施の形態１にかかるロボットシステムにおける速度パターンの更新動作のイメージを示す図
【図６】本発明の実施の形態１にかかる動作制御システムの処理の流れの一例を示すフローチャート
【図７】学習を用いて速度パターンを調整する過程で過大な負荷を生じるリスクの例を示す図
【図８】本発明の実施の形態１にかかる動作制御システムの動作調整装置が物理制約条件を設定する処理の流れの一例を示すフローチャート
【図９】本発明の実施の形態２にかかるロボットシステムが備える動作調整装置の構成例を示す図
【図１０】本発明の実施の形態２にかかる動作調整装置の動作を説明するための図
【図１１】本発明の実施の形態２にかかる動作調整装置が物理制約条件を設定する動作を説明するための図
【図１２】本発明の実施の形態２にかかる動作調整装置が速度パターンを探索するする動作を説明するための図
【図１３】本発明の実施の形態３にかかる動作調整装置の動作を説明するための図
【図１４】本発明の実施の形態４にかかる動作調整装置の動作の一例を示す図
【図１５】本発明の実施の形態５にかかる動作調整装置の動作の一例を示す第１の図
【図１６】本発明の実施の形態５にかかる動作調整装置の動作の一例を示す第２の図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかるロボットの動作調整装置、動作制御システムおよびロボットシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかる動作調整装置を備えたロボットシステム１００のシステム構成の一例を示すブロック図である。図１に示す通り、ロボットシステム１００は、動作制御システム１１０、ロボット１２０、エンドエフェクタ１３０、内界センサ１４１、及び外界センサ１４２を備える。また、動作制御システム１１０は、ロボット制御装置１１１及び動作調整装置１１２を備える。ロボット制御装置は、ロボットコントローラとも呼ばれる。
【００１３】
ロボット制御装置１１１は、内界センサ１４１及び外界センサ１４２の検出結果に基づいて、ロボット１２０の動作を制御するための動作指令値をロボット１２０に送信し、ロボット１２０の動作を制御する。ロボット１２０には、ロボットハンド等のエンドエフェクタ１３０が装着される。エンドエフェクタ１３０は、作業対象２００に直接働きかける。エンドエフェクタ１３０は、ロボットシステム１００が行う各作業に応じて適切な種類のものが選択される。作業対象２００の周辺には、周辺環境３００が存在する。
【００１４】
周辺環境３００は、例えば、作業対象２００を組み付ける先となる部品、作業対象２００を位置決めするジグ、作業対象２００に加工を施す電動ドライバ等の工具、作業対象２００を供給するパーツフィーダ、ロボット１２０を取り囲む安全カバー、作業対象２００を搬送するベルトコンベア等である。また、作業対象を撮像するカメラなど、外界センサ１４２も周辺環境３００の一部として扱う場合もある。これは、外界センサ１４２がロボット１２０の周辺の所定の位置に固定されている場合などに、ロボット１２０またはエンドエフェクタ１３０が外界センサ１４２に接触する可能性があるためである。
【００１５】
ロボット制御装置１１１から出力される動作指令値は、例えば、ロボット１２０に装着されたエンドエフェクタ１３０の各時刻における目標位置および目標姿勢を表す情報、すなわち位置指令値である。動作指令値が、各時刻におけるエンドエフェクタ１３０の目標位置を表す場合、動作指令値によって各時刻間のエンドエフェクタ１３０の移動速度も表されている。したがって、位置指令値は、ロボット１２０の目標動作速度を表す速度指令値であると考えることもできる。
【００１６】
また、ロボット制御装置１１１から出力される動作指令値は、ロボット１２０の目標動作速度、またはエンドエフェクタ１３０の目標移動速度を表す速度指令値であってもよい。目標動作速度または目標移動速度は、ロボット１２０の動作の各時点の間の速度、または経路の各地点の間の速度で与えられる。さらに、動作指令値は、ロボット１２０の動作の目標加速度、またはエンドエフェクタ１３０の移動の目標加速度を表す加速度指令値であってもよい。動作指令値は、ロボット１２０の動作を直接的に制御するものであればよく、様々な形態が考えられる。
【００１７】
動作調整装置１１２は、外界センサ１４２の検出結果と、外部から与えられる制約条件とに基づいて、ロボット制御装置１１１で生成される動作指令値を調整し、更新する。すなわち、動作調整装置１１２は、ロボット１２０の動作を調整する。言い換えると、動作調整装置１１２は、内界センサ１４１及び外界センサ１４２の検出結果と、ロボット制御装置１１１から出力される動作指令値との対応関係を調整し、調整結果を反映して対応関係を更新することになる。なお、動作指令値の調整は、動作指令値の修正、または動作指令値の補正と言い換えることもできる。
【００１８】
更新された動作指令値が存在する場合、ロボット制御装置１１１は、更新された動作指令値をロボット１２０へと出力する。動作調整装置１１２は、外界センサ１４２の検出結果だけではなく、内界センサ１４１の検出結果も参照して動作指令値を更新してもよい。なお、制約条件は、動作調整装置１１２またはロボット制御装置１１１の内部に予め記憶されていてもよい。
【００１９】
本実施の形態のロボットシステム１００は、動作指令値を調整して更新する調整処理と、更新された動作指令値を用いて作業対象２００に対する作業を行う作業処理との２つの処理を行う。言い換えると、ロボットシステム１００の動作には、調整フェーズと作業フェーズとがあり、調整処理は、調整フェーズにおけるロボットシステム１００の処理である。また、作業処理は、作業フェーズにおけるロボットシステム１００の処理である。動作調整装置１１２は、調整処理において、最適な動作指令値に近づくように動作指令値を調整する。ただし、調整処理と作業処理とは完全に分離される必要はない。例えば、作業対象２００に対する作業が行われている間にも、動作調整装置１１２が最適な動作指令値を随時算出するように、ロボットシステム１００が構成されてもよい。この構成においては、ロボットシステム１００は、現在使用している動作指令値よりも適切な動作指令値を算出した場合など、更新が必要な所定のタイミングで動作指令値を更新する。この点は、以降の実施の形態でも同様である。
【００２０】
図２は、ロボット制御装置１１１および動作調整装置１１２を実現するハードウェア構成の一例を示す図である。ロボット制御装置１１１及び動作調整装置１１２は、メモリ４０２に記憶されるプログラムをプロセッサ４０１で実行することで実現される。プロセッサ４０１とメモリ４０２とは、データバス４０３で接続される。メモリ４０２には、揮発性のメモリ及び非揮発性のメモリが備えられ、一時的な情報は揮発性のメモリに記憶される。なお、ロボット制御装置１１１及び動作調整装置１１２は一体として構成してもよいし、別体として構成してもよい。例えば、ロボット制御装置１１１と動作調整装置１１２とが、ネットワークなどを介して接続されていてもよい。以降の実施の形態においても、ロボット制御装置１１１及び動作調整装置１１２は同様のハードウェア構成で実現できる。
【００２１】
ロボットシステム１００は、内界センサ１４１及び外界センサ１４２で取得されたデータに基づいて動作制御システム１１０が動作指令値を出力し、動作指令値に追従してロボット１２０が動作する制御系を構成している。内界センサ１４１としては、ロボット１２０の関節の位置を取得するセンサ、関節の動作速度を取得するセンサ、関節を動作させるためのモータの電流値を取得するセンサ等がある。ロボットシステム１００は、ロボット制御装置１１１、ロボット１２０、及び内界センサ１４１によって、エンドエフェクタ１３０の位置決めを行う位置制御系を構成している。ロボット１２０の関節の位置を取得するセンサとしては、例えば、モータの回転量を検出するエンコーダ、レゾルバ、ポテンショメータなどが考えられる。また、関節の動作速度を取得するセンサとしては、タコメータなどが考えられる。内界センサ１４１としては、他にも、ロボット１２０自身の情報として、ジャイロセンサ、慣性センサ等が使用される場合がある。
【００２２】
内界センサ１４１に基づくフィードバック制御によって、ロボットシステム１００は、マテハン作業などを行う位置制御ロボットシステムを構成する。ここで、マテハン作業とは、資材および部品といった対象物を移送または搬送する作業である。この位置制御ロボットシステムを内界センサ１４１に基づくフィードバック制御システムと呼ぶ。内界センサ１４１に基づくフィードバック制御において、制御パラメータとしては、位置制御のゲイン、速度制御のゲイン、電流制御のゲイン、フィードバック制御に用いられるフィルタの設計パラメータ等が存在する。フィードバック制御に用いられるフィルタとしては、移動平均フィルタ、ローパスフィルタ、バンドパスフィルタ、ハイパスフィルタ等が考えられる。なお、内界センサ１４１に基づくフィードバック制御は、ロボット１２０が動作指令値に従って動作するための制御となる。言い換えると、内界センサ１４１に基づくフィードバック制御は、動作指令値の調整を実現するために行われる制御となる。
【００２３】
一方で、外界センサ１４２としては、力覚センサ、カメラ等のビジョンセンサ、触覚センサ、タッチセンサ等がある。外界センサ１４２は、ロボット１２０と、作業対象２００または周辺環境３００との接触状態および位置関係の一方または双方を計測する。ロボットシステム１００は、ロボット制御装置１１１、動作調整装置１１２、ロボット１２０、及び外界センサ１４２によって、外界センサ１４２に基づくセンサフィードバック制御システムを構成している。また、ロボットシステム１００は、外界センサ１４２から出力されるセンサ信号に基づいてセンサフィードバック制御を実施するのではなく、外界センサ１４２からのセンサ信号を単にトリガー信号として利用する場合もある。この場合、ロボットシステム１００は、トリガー信号を起点として、内界センサ１４１によるフィードバック制御の制御パラメータを切り替える。外界センサ１４２に基づくセンサフィードバック制御システムは、位置制御ロボットシステムのアウターループとして構築されている。
【００２４】
外界センサ１４２に基づくセンサフィードバック制御システムは、加速度、速度、位置姿勢、距離、力、モーメント等によって、ロボット１２０、ロボットアームまたはエンドエフェクタ１３０と、作業対象２００または周辺環境３００との位置関係、接触挙動等をセンシングする。さらに、外界センサ１４２に基づくセンサフィードバック制御システムは、センシング結果に基づいて、所望の位置関係または力応答を得るようにロボット１２０の動作を制御する。言い換えると、外界センサ１４２に基づくセンサフィードバック制御システムは、所望の位置関係または力応答を得るように動作指令値を修正する。外界センサ１４２に基づくセンサフィードバック制御システムにおいて、制御パラメータとしては、力覚制御に関する力制御ゲイン、インピーダンスパラメータ、ビジュアルサーボ制御に関するゲイン、ビジュアルインピーダンスパラメータ、フィードバック制御に用いられるフィルタの設定パラメータなどがある。
【００２５】
内界センサ１４１および外界センサ１４２に基づいて制御を行う場合に、調整が必要となる制御パラメータを、以後では単にパラメータと呼ぶことがある。ここで、内界センサ１４１または外界センサ１４２として使用されるセンサとしては、具体的には、電流値センサ、関節位置センサ、関節速度センサ、温度距離センサ、カメラ、ＲＧＢ−Ｄセンサ、近接覚センサ、触覚センサ、力センサ等が考えられる。また、内界センサ１４１または外界センサ１４２の計測対象は、ロボット１２０の位置姿勢、エンドエフェクタ１３０の位置姿勢、作業対象２００となるワークの位置姿勢、作業者の位置姿勢等が考えられる。
【００２６】
図３は、本発明の実施の形態１にかかる動作調整装置１１２の構成例および周辺のブロックを示すブロック図である。図３は、ロボットシステム１００の構成の一部を抽出して示したものである。動作調整装置１１２は、指令値学習部１１３および物理制約演算部１５１を備える。なお、図３において、センサ１４０は、図１に示す内界センサ１４１及び外界センサ１４２を１つにまとめたものである。上述のように、センサ１４０としては多様なものが考えられる。しかし、本実施の形態のロボットシステム１００は、センサ１４０として、ロボット１２０の動作に起因してエンドエフェクタ１３０に作用する外力を検出する力覚センサを少なくとも備える。この力覚センサは、外界センサ１４２となる。なお、センサ１４０として少なくとも力覚センサを含むことは、以降の実施の形態でも同様である。
【００２７】
力覚センサは、エンドエフェクタ１３０に作用する外力を計測する。力覚センサによる外力の計測結果は、力制御あるいはインピーダンス制御を実施するのに用いられる。力覚センサで計測される外力は力覚情報の検出値Ｆ(ｔ)として、時刻ｔに関する値として表現できる。ここでは、センサのデータを取得するユニットが取得するデータを制御周期ｔcycごとに演算に利用するものとしてｔ＝ｃｏｕｎｔ＊ｔcyc（ｃｏｕｎｔ＝０，１，２，…）で表現することが出来る。なお、センサのサンプリング周期をｔscycとするとき、ｔ＝ｃｏｕｎｔ＊ｔscyc（ｃｏｕｎｔ＝０，１，２，…）と表現して力覚情報の検出値Ｆ(ｔ)を取扱うことも出来る。動作調整装置１１２は、ロボット１２０の状態量として関節位置またはロボットエンドエフェクタ位置を利用するため、ロボットコントローラの制御周期ｔrcycと力覚情報の検出値Ｆ(ｔ)は同期した形で処理されるのが望ましい。そのため、実施の形態１の中ではｔrcyc＝ｔcycとして処理されるものとする。なお、エンドエフェクタ１３０が作業対象２００または周辺環境３００に与える力を制御することを力制御と呼ぶ。また、力覚センサの検出結果に従ってロボット１２０の動作を制御することを力覚制御と呼ぶ。力制御においては、目標作業力が設定され、作業対象２００または周辺環境３００に与えられる力の大きさが制御される。
【００２８】
一方、インピーダンス制御においては、エンドエフェクタ１３０と作業対象２００とが接触した場合などに発生する接触力に関するインピーダンス特性（バネ、ダンパ、慣性）が定義され、制御に利用される。接触力が発生する場合としては、エンドエフェクタ１３０と周辺環境３００とが接触した場合、エンドエフェクタ１３０に把持された作業対象２００と周辺環境３００とが接触した場合などが考えられる。また、インピーダンス特性は、インピーダンスパラメータで表される。
【００２９】
力制御においては、上述した目標作業力である力制御の目標値を決定する必要がある。また、インピーダンス制御においては、インピーダンスパラメータを用いて制御特性を決定する必要がある。さらに、力制御及びインピーダンス制御のいずれにおいても、制御の応答性に寄与するゲインなども決定する必要があり、調整項目は多い。従来のロボットシステムでは、作業を安定的に行うことを目的としたパラメータ調整が多くなされてきた。この場合、ロボット１２０の動作の応答性、機械剛性等を含めたシステム特性を同定して、条件または状態によらず安定して応答するパラメータセットを１つ見つけることになる。しかし、作業対象２００との接触を伴うロボット１２０の動作では、動作の進行によって、作業対象２００とエンドエフェクタ１３０との間の接触状態が変化する。したがって、パラメータセットの調整は、接触状態の遷移を考慮して行われる必要がある。この調整は試行錯誤的に行われることになり、容易ではなかった。
【００３０】
以下、動作調整装置１１２の各構成による処理について説明する。まず、指令値学習部１１３による基本的な学習処理に関して説明し、その後に物理制約演算部１５１による物理制約条件の演算処理、および、物理制約条件を指令値学習部１１３に反映する処理について説明する。
【００３１】
本実施の形態のロボットシステム１００においては、動作調整装置１１２が動作指令値を更新することで、ロボット１２０の動作が適切となるように制御する。動作調整装置１１２には、制約条件が入力される。制約条件には、力覚センサで検出される力覚情報の上限値または下限値が含まれる。また、制約条件には、目的に応じて大きさが異なる水準が存在する。本実施の形態では、制約条件１（Ｆlim）および制約条件２（ＦlimHW）の２つを定義する。制約条件１は、ユーザが指定する作業品質を保つための条件とする。制約条件１では、組立に必要な最小限の力より大きく、かつ組み立てるパーツに損傷が生じない最大限の力が設定される。後述するとおり、動作調整装置１１２では、制約条件１（Ｆlim）を超えない学習結果となるように、試行実験のたびに作用外力Ｆ(ｔ)の評価を行い、速度パターンの更新を進める。なお、速度パターンの更新を進めることは、学習を進めることに相当する。速度パターンは、ロボット１２０の可動部の動作速度、エンドエフェクタ１３０の移動速度、または作業対象２００の移動速度を時間の経過とともにどのように変化させるかを示す。ロボット制御装置１１１は、速度パターンに従ってロボット１２０の動作を制御する。そのため、速度パターンは、ロボット１２０の動作を示す情報といえる。また、作用外力Ｆ(ｔ)の評価とは、作用外力Ｆ(ｔ)とＦlimを比較し、作用外力Ｆ(ｔ)が制約条件１を満たす状態か否か、すなわち、「Ｆ(ｔ)＜Ｆlim」が成り立つか否かを確認する処理である。
【００３２】
ここで、作用外力Ｆ(ｔ)の値は、動作指令値および制御パラメータの更新が続いている状態、すなわち、学習中には、制約条件１（Ｆlim）を超えることが禁止されていない。動作調整装置１１２が学習を進めるにあたり、速度パターンを評価してより高速な動作を実現可能な速度パターンを探索するために、作業時間が短いということと作用外力Ｆ(ｔ)がＦlimよりも小さいということを同時に満たしている解を探すことになる。ただし、作業時間と作用外力Ｆ(ｔ)の大きさはトレードオフの関係になるため、作業時間を短くしようとすると作用外力Ｆ(ｔ)の値は大きくなる。つまり、作業時間を短くし過ぎると、作用外力Ｆ(ｔ)がＦlimを超えてしまい、組み立てるパーツに損傷が生じるおそれがある。動作指令値および制御パラメータの学習過程では、作用外力Ｆ(ｔ)が、Ｆlimを超えた速度パターンと超えていない速度パターンを比較したときに、作用外力Ｆ(ｔ)がＦlimを超えていない速度パターンがよりよい学習結果であるという高い評価値を与える。作業時間に関しては、作用外力Ｆ(ｔ)がＦlimを超えない範囲で短いものを高い評価値とすることができる。
【００３３】
作用外力Ｆ(ｔ)の評価方法としては、例えば、「Ｆ(ｔ)＜Ｆlim」を満たさない場合は０点、満たす場合はＦ(ｔ)の最大値Ｆ(ｔ)maxを用いてＦ(ｔ)max／Ｆlimを算出し、これを評価点（最大で１）とする方法が考えられる。この評価方法とすることで、満たすべきＦlimをギリギリで超えない高速な速度パターンを高評価して調整を実施することができる。ただし、作用外力Ｆ(ｔ)の評価方法をこれに限定するものではない。
【００３４】
また、制約条件２（ＦlimHW）は、システムに含まれる要素の破損リスクに関する水準とする。すなわち、作業品質ではなく、ロボットシステム１００が破損するリスクを取り扱う制約条件が制約条件２である。高速な動作を実現可能な速度パターンの探索をできるだけ限界に近い速度で行う場合、すなわち、探索処理の所要時間をできるだけ短くする場合、制約条件１（Ｆlim）を超える範囲も探索する方がよいが、一方で、ロボットシステム１００を破損するレベルの高速動作は抑制する必要がある。そこで、制約条件２（ＦlimHW）を「Ｆlim＜ＦlimHW」として設定し、力覚センサで検出される力覚情報が制約条件２（ＦlimHW）を超える場合、センサ、エンドエフェクタ、ロボット本体、対象部品のいずれかに破損するリスクがあるレベルの過大な力がかかっているものとして取扱う。すなわち、Ｆlimに出来るだけ近い解を求めようとして、様々な指令値あるいはパラメータの調整結果を学習により獲得していく際、ロボットシステム１００が破損するのを防止するために、調整の過程ではＦlimHWを超えないという条件の元で学習を進めることが本発明の目的である。なお、破損リスク評価値あるいは破損リスクとは、破損リスク評価値Ｒbrk＝Ｆ／ＦlimHWとして定義することができる。この値が１を超える場合には破損リスクがあるものとして、これを避けるように、動作調整装置１１２は学習を進める。以降では、動作制御システム１１０から出力される動作指令値が速度指令値であるものとして説明する。速度指令値は、エンドエフェクタ１３０の移動経路上の各地点に対する、エンドエフェクタ１３０の目標移動速度とする。この時、時系列の速度指令値は、各地点に対する速度パターンとなる。速度指令値は、作業中の各時点に対するロボット１２０の目標動作速度であってもよい。
【００３５】
以下、指令値学習部１１３の基本的な処理について説明する。
【００３６】
指令値学習部１１３では、試行実験を実施したのちに次に動作を開始する前に速度パターンを調整して所望の作業時間および作用外力を満たすようにする。なお、速度パターンの調整は、動作指令値および制御パラメータの少なくとも一方を調整することを意味する。従来、動作中にセンサの出力に基づいて力制御などのフィードバック制御を行って作用外力を調整する方法もあるが、繰り返し作業においては本実施の形態のように動作開始前に動作指令値を更新することで高速化を図ることが可能となる。速度パターンでは、目標速度Ｖｉ（ｉ＝１，２，３，…）と目標速度の切り替わり位置Ｐｉ（ｉ＝１，２，３，…）が定義される。目標速度Ｖｉはロボット１２０の目標動作速度、または、エンドエフェクタ１３０の目標移動速度である。
【００３７】
なお、切り替わり位置Ｐｉは、切り替わり時間、または、後述する切り替わりのためのパラメータで設定してもよい。ロボット制御装置１１１は、試行実験として動作を行う前に速度パターンを決定し、決定した速度パターンに従ってロボット１２０に動作指令値を出力する。試行実験後に、指令値学習部１１３は、センサ１４０に相当する力覚センサから得られた力覚情報に基づいて評価値を計算し、次の試行実験が開始となる前に、ロボット制御装置１１１から出力される動作指令値を更新する。目標速度Ｖｉと切り替わり位置Ｐｉにより、速度パターンは複数の区間に分かれる。本実施の形態の特徴として複数の区間に分け、複数の区間の切り替わり位置および、当該区間における目標速度が複数回の試行によって学習される。同処理については後述する。
【００３８】
上記の切り替わりのためのパラメータとしては、位置または時間を基準とした動作指令値の進捗率が例示される。このパラメータは図３に示す区分情報として指令値学習部１１３に入力される情報に基づいて定義される。進捗率とは、動作指令値のひとまとまりについて、動作指令値開始から現時点までの移動距離または関節軸の回転量が、動作指令値開始から完了時点までの総移動距離または総回転量に対してどの程度かをパーセンテージで表現した量、あるいは、完了時点までに指令値実行に要する補間命令を出す回数Ｎ回を１００％としたときに、ｋ番目（ｋ＝１，２,…，Ｎ）の補間命令によって実現される移動距離、回転量、あるいはｋ番目の実行に要する補間命令を出す回数ｋ回をパーセンテージで表現した量となる。具体的には、Ｎ＝１００である場合に、ｋ＝１０であれば、動作指令値の進捗率は１０％である。また、エンドエフェクタ１３０が位置Ｐ１から位置Ｐ２に移動する場合であれば、並進方向の補間距離あるいは回転方向については各回転軸周り（Ｘ軸周りＡ[deg.]、Ｙ軸周りＢ[deg.]、Ｚ軸周りＣ[deg.]）の回転量をみて、位置Ｐ１で（Ｘ，Ｙ，Ｚ，Ａ，Ｂ，Ｃ）＝（０，０，０，１８０，０，１８０）、位置Ｐ２で（Ｘ，Ｙ，Ｚ，Ａ，Ｂ，Ｃ）＝（０，０，１００，１８０，３０，１８０）とするとき、指令してきた合計距離について、各軸で進捗率を定義すると、位置Ｐｘ＝（０，０，４０，１８０，１２，１８０）が進捗率４０％である。補間方法はさまざまあり、一定比率で移動する場合だけではなく、指令値は加減速するので、初期位置と目的位置の間の進捗率の定義は以上に挙げたものに限定しない。 
【００３９】
ここでは、距離に基づく進捗率だけを説明したが、速度台形で補間処理を行う場合もある。具体的には、縦軸に速度、横軸に時間をとった場合の位置Ｐ１の動作開始から位置Ｐ２で停止するまでの速度指令パターンに対し、その速度指令の状態に対応する時間経過を速度指令値の全体所要時間で割った比率に基づいて進捗率として表現することも出来る。また、目標速度の切り替わり位置Ｐｉは、目標速度の切り替えの開始点であってもよいし、目標速度の切り替えの完了点であってもよい。また、目標速度の切り替わり位置Ｐｉは、内界センサ１４１で検出される動作速度が、目標速度から所定の誤差範囲内に収まることが保証される点であってもよい。
【００４０】
図４は、本発明の実施の形態１にかかる動作調整装置１１２の動作を説明するための図である。図４に示すように、本実施の形態では、ロボット１２０に装着されたエンドエフェクタ１３０が位置Ｐ０から位置Ｐ３まで移動する場合を想定する。ロボット１２０には、図１に示す外界センサ１４２として力覚センサ１４３が取り付けられ、力覚センサ１４３は、エンドエフェクタ１３０に作用する外力を計測するものとする。なお、後述する他の実施の形態でも同様に、ロボット１２０に装着されたエンドエフェクタ１３０が位置Ｐ０から位置Ｐ３まで移動する場合を想定し、また、力覚センサ１４３がエンドエフェクタ１３０に作用する外力を計測するものとする。以下の説明では、エンドエフェクタ１３０に作用する外力を「作用外力」または単に「力」と表現する場合がある。
【００４１】
図５は、本発明の実施の形態１にかかるロボットシステム１００における速度パターンの更新動作のイメージを示す図である。図５において横軸はエンドエフェクタ１３０の位置Ｐ、縦軸はエンドエフェクタ１３０の目標移動速度Ｖである。図５に示す更新前の速度パターンでは、エンドエフェクタ１３０が位置Ｐ０から位置Ｐ３に移動する間の目標移動速度はＶ１で一定である。一方、更新後の速度パターンでは、エンドエフェクタ１３０が位置Ｐ０から位置Ｐ３に移動する間に、目標移動速度がＶ１からＶ２に変化している。動作調整装置１１２は、力覚センサ１４３の検出結果に基づいて速度パターン、すなわち目標移動速度Ｖを更新する。このとき、速度パターンを示す動作指令値だけでなく、制御パラメータを同時に調整してもよい。具体的には、制御パラメータとして力覚制御におけるインピーダンスパラメータを調整して応答性を上げて、発生する反力を下げるような調整が考えられる。また、この調整は、試行実験を繰り返し実施して、それぞれの試行実験で得られる一連の力の値Ｆ(ｔ)および動作速度の情報を用いて評価値を計算し、評価値に基づいてパラメータを再度更新する、といった手順で行う。このときの評価値は、下記の式（１）を用いて評価関数Ｆqの計算結果として求めることができる。式（１）において、Ｆ(ｔ)は力覚センサ１４３による力の検出値、Ｆlimは制約条件１で制約される力の上限値[Ｎ]、Ｔは作業に要した作業時間[ｓ]、ｗｆおよびｗｔは重み付け係数である。
【００４２】
Ｆq（Ｆ，Ｔ）＝ｗｆ＊Σ（Ｆlim−Ｆ(ｔ)）＋ｗｔ＊Ｔ    …（１）
【００４３】
指令値の調整では、例えば、評価値を最良とする分割点Ｐｉの位置、各地点における目標移動速度、および、力覚制御における制御パラメータを求めるために、評価関数を用いた機械学習あるいは最適化手法を使用する。例えば、強化学習（ＲＬ：Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）、ベイズ最適化、粒子群最適化などの手法が例示される。これらの手法を用いることにより、評価値を最良とする動作指令値になるように試行ごとに制御パラメータを更新することができる。例えば、作業中の各時点で検出されるＦ（ｔ）および作業時間Ｔを用いて式（１）で表される評価関数Ｆqが定義されているとする。指令値学習部１１３は、評価関数Ｆqで算出される評価値が小さくなるように動作指令値を調整することで、作用外力Ｆ（ｔ）および作業時間Ｔが小さくなるような動作指令値を求めることができる。評価関数Ｆqが、ユーザが設定した閾値Ｆqtを下回った際に収束したと判断し、調整は終了する。この評価関数Ｆqの閾値Ｆqtは出荷前にメーカーが設定してもよい。
【００４４】
図６は、本発明の実施の形態１にかかる動作制御システム１１０の処理の流れの一例を示すフローチャートである。ここで、上述の制約条件１としては、力覚センサ１４３で検出される力覚情報に対して、生産システム内で作業品質を管理するための力覚情報の上限値及び下限値と、作業時間の上限値が含まれているものとする。
【００４５】
まず、ステップＳ１０において、ロボット制御装置１１１は、速度パターンの初期値を決定する。次に、ステップＳ１１において、ロボット制御装置１１１が、ロボット１２０の動作を制御して作業を試行する。なお、前述のように調整処理と作業処理とは完全に分離されていない場合など、ロボットシステム１００における通常の作業の一部が試行として扱われる場合もある。
【００４６】
次に、ステップＳ１２において、指令値学習部１１３は、制約条件１が満たされているかを判定する。すなわち、ステップＳ１２において、指令値学習部１１３は、力覚センサ１４３の検出値が制約条件１で規定される上限値と下限値との間に入っているかと、作業時間の制約が満たされているかを判定する。指令値学習部１１３は、力覚センサ１４３の検出値を判定する際には、例えば、検出値Ｆ(ｔ)の最大値を制約条件１の上限値と比較し、検出値の最小値を制約条件１の下限値と比較する。なお、ステップＳ１２において、指令値学習部１１３は、力覚センサ１４３の検出値そのものではなく、検出値から演算によって求められる評価値を用いてもよい。この評価値の一例としては、力覚センサ１４３の検出値と、タクトタイムとを入力とした評価関数で演算される評価値が考えられる。ステップＳ１２において、指令値学習部１１３は、この評価値が制約条件１で示される制限範囲内か否かを判定してもよい。
【００４７】
ステップＳ１２において、制約条件１を満たしていると指令値学習部１１３が判定した場合（ステップＳ１２：Ｙｅｓ）、動作制御システム１１０の処理は一旦終了し、以降は、更新された速度パターンまたは速度パターンの初期値での作業が行われる。一方、ステップＳ１２において、制約条件１を満たしていないと指令値学習部１１３が判定した場合（ステップＳ１２：Ｎｏ）、ステップＳ１３の処理へと移行して速度パターンを更新する。ステップＳ１３において、指令値学習部１１３は、ロボット制御装置１１１が出力する速度パターンを調整し、速度パターンを更新する。ステップＳ１３において、指令値学習部１１３は、例えば補正するための補正係数を算出し、試行を行った際の速度パターンに乗算することで、速度パターンを調整する。ステップＳ１３の処理が終了すると、動作制御システム１１０の処理はステップＳ１１へと戻る。
【００４８】
ところで、学習を用いて速度パターンを調整する過程で、過大な負荷を生じるリスクのある速度パターン近傍を学習におけるパラメータ探索範囲として取らなければ、目標とする作業時間を達成できないことがある。過大な負荷を生じるリスクの例について、図７を用いて説明する。図７は、学習を用いて速度パターンを調整する過程で過大な負荷を生じるリスクの例を示す図である。図７では、３つのパターン（Ｐｔｎ１〜Ｐｔｎ３）が、過大な負荷を生じるリスクを含む３つの事例を表している。図７では、上段に速度パターン（指令値）を示し、この速度パターンで動作したときの力覚情報を下段に示している。
【００４９】
下段に示す力覚情報の波形の立ち上がりは、作業中に想定しなくてはいけない、組み立て作業での作業対象間の接触により生じる反力を例示している。たとえば、従来の速度パターンの探索範囲が図７の上段に示すように０〜Ｖａ[ｍ／ｓ]の範囲であるとする。この場合、Ｐｔｎ１は探索範囲内の非常に高速な速度を学習しており、これを達成することがひとつの優良な解となる。ただし、ステップＳ１３で速度パターンの更新を行う際に、Ｐｔｎ２のように力波形でみると制約条件２を超えてしまい破損リスクを伴う速度パターンになってしまうこともある。一方で、Ｐｔｎ３のように全体として低速で動作しているにもかかわらず、反力が制約条件１を満たさないという場合もある。それぞれのパターン情報を用いることで、次にどういった指令値を候補としたらよいのか、ということを学習アルゴリズム、すなわち、上述した強化学習、ベイズ最適化、粒子群最適化などを使用して決定することが出来る。
【００５０】
学習アルゴリズムは、作業時間Ｔと力覚情報の検出値Ｆ(ｔ)を入力として、上記の式（１）に示す演算を実施して評価値を最小化する勾配降下法を用いたパラメータセットの更新、あるいは、強化学習を用いて報酬が多く得られる方策（Ｐｏｌｉｃｙ）を探索し、次に実施する動作の指令値の候補と制御パラメータの候補を出力することが例示される。このとき、Ｐｔｎ１，Ｐｔｈ３は許容できるが、Ｐｔｎ２は探索中にも試行すべきでないという状況がある。これは、Ｐｔｎ２では、エンドエフェクタ１３０または周辺環境３００に作用する力が制約条件２を超越するため、試行実験時でも避けなければ、センサおよびエンドエフェクタの一方または双方が破損するリスクが高いためである。
【００５１】
このようなリスクを低減するために、本実施の形態にかかる動作調整装置１１２は、図６に示したステップＳ１０〜Ｓ１３で速度パターンを更新するという処理に加えて、図８に示すフローチャートに従った処理を行い、物理制約条件を設定する。この処理は物理制約演算部１５１が行う。図８は、本発明の実施の形態１にかかる動作制御システム１１０の動作調整装置１１２が物理制約条件を設定する処理の流れの一例を示すフローチャートである。
【００５２】
動作調整装置１１２は、図８に示す処理を開始する前に、上述したステップＳ１１での試行実験で得られる複数個の力覚情報およびその時の実際の速度パターン情報を試行結果として記録しておく。一例としてＮ回の試行結果を記録しておく。動作調整装置１１２は、ステップＳ１４において、記録しておいたＮ回の試行結果から制約条件２を超えないために満たさなければならない位置と速度の関係を物理制約条件として演算する。物理制約演算部１５１は、物理制約条件を演算した後、ステップＳ１５において、物理制約条件が存在するか、すなわち、物理制約条件を求めることができたかを確認する。
【００５３】
物理制約条件が存在する場合（ステップＳ１５：Ｙｅｓ）、物理制約演算部１５１は、ステップＳ１６において、図６のステップＳ１３の処理に物理制約条件を入力する。すなわち、物理制約演算部１５１は、求めた物理制約条件を指令値学習部１１３に出力し、ステップＳ１３での速度パターンの更新処理で使用させる。指令値学習部１１３は、速度パターンの更新処理において、物理制約条件を満たしている速度パターンになっているか否かを判別し、満たしている場合はその速度パターン（指令値）となるようにロボット制御装置１１１が出力する速度パターンを更新する。
【００５４】
一方、物理制約条件が存在しない場合（ステップＳ１５：Ｎｏ）、図８に示す処理は終了となる。この場合、上述したステップＳ１１の処理、すなわち、作業の試行を再びＮ回繰り返す。その後、物理制約演算部１５１が、図８に示す処理を再度実施する。これら一連の処理は、物理制約条件が演算できるまで繰り返される。ここで、物理制約条件が演算できないと場合とは、試行の結果の倣い動作開始点Ｐｃとその地点における接触速度Ｖｃとの関係が、力覚情報の検出値Ｆ(ｔ)と相関を持たないと判断した場合である。相関をもつか持たないかは、接触速度Ｖｃおよび動作開始点Ｐｃにおける力覚情報の検出値Ｆ(ｔ)を用いて相関係数を評価して、０．９以上が相関を持つとするような判定方法で判定を行うことができる。
【００５５】
指令値学習部１１３は、ステップＳ１３において、物理制約条件に基づき、速度パターンが制約条件２（ＦlimHW）を超えない範囲で、高速な動作に更新する。この更新動作の一例として、ベアリングに軸を挿入する作業を行う場合の速度パターンの更新動作を説明する。ベアリングに軸を挿入する場合、すなわち、軸をベアリングの穴部に対して挿入する場合、軸心があっていなければ倣い面（テーパなど）において軸心との衝突が生じる。指令値学習部１１３は、まず、この倣い面に対して衝突が生じる位置に向かうようにロボット動作指令値を調整する。すなわち、事前に作業対象であるベアリングと軸が意図的に倣い動作を生じるような、ぶつけ方で挿入動作を実施する。ここでは、速度パターンは速度Ｖ１まで固定可速度Ａ１で加速し、一定速度Ｖ１で移動した後に、そのまま減速して停止する台形速度パターンを例示しておく。ここで例示しているのは一般の台形速度パターンであり、一定速度Ｖ１で移動する区間の長さは、総移動距離Ｓ１に基づいて規定される。具体的には、Ｔ１＝Ｖ１／Ａ１で表される加速時間に基づいて、総移動距離Ｓ１がＴ１＊Ｖ１を超える大きさ（Ｔ１＊Ｖ１＜Ｓ１）である場合、Ｔ２＝（Ｓ１−Ｔ１＊Ｖ１）／Ｖ１の時間だけ一定速度区間を移動する。一方、Ｓ１≦Ｔ１＊Ｖ１である場合、台形速度パターンにおいて加速している区間で距離が半分（Ｓ１／２）の状態に到達した地点から減速が始まる。減速を開始後は速度０に到達するまで−Ａ１の加速度で減速する。
【００５６】
ステップＳ１３において、指令値学習部１１３は、まず、目標移動速度をＶ１に設定して、ステップＳ１１でロボット制御装置１１１が実施する試行実験において、倣い面と軸の衝突を生じさせ、倣いながら軸の挿入が完了するまでの力覚情報の検出値Ｆ(ｔ)を取得する。指令値学習部１１３は、次に、取得したＦ(ｔ)を用いてＦqを求め、Ｆqが閾値Ｆqtを満たすか、すなわちＦqが閾値Ｆqtを下回っているかどうかを確認して速度パターンを更新する。指令値学習部１１３は、Ｆqと閾値Ｆqtとの差が定められた値よりも大きく、Ｆqが閾値Ｆqtよりも十分に小さい状態の場合は、目標移動速度Ｖ１を変化させてステップＳ１１の試行実験を実施する。以上の動作を繰り返すことで、指令値学習部１１３は学習と速度パターンの更新を進める。目標移動速度の調整方法として、指令値学習部１１３は、一定刻み幅ΔＶで目標移動速度を上げて試行実験を実施してＦqを求め、このＦqが閾値Ｆqtよりも小さいかを確認する、という動作を繰り返す。幅ΔＶで目標移動速度を上昇させたことによりＦqが閾値Ｆqtを超えてしまう状態に到達した場合、指令値学習部１１３は、ΔＶ／２だけ目標移動速度を下降させ、ステップＳ１１の試行実験を実施する。指令値学習部１１３は、試行実験の後に、得られたＦqの評価を実施し、Ｆqが閾値Ｆqtを超えてしまう状態の場合には、速度を下降させる調整を行って試行実験を実施した回数（以下、試行回数とする）ｋに応じて、ΔＶ/(ｋ＋１)（ｋ＝１，２，３,…）だけ目標移動速度を下降させてさらに試行実験およびＦqの評価を行う。指令値学習部１１３は、この動作を、Ｆqが閾値Ｆqtを超えなくなるまで繰り返す。再びＦqが閾値Ｆqtを超えない状態になった後、指令値学習部１１３は、さらに、試行回数ｋに基づいてｉ＝ｋ＋１として、ΔＶ／ｉだけ目標移動速度を増やしてステップＳ１１の試行実験およびＦqの評価を繰り返す。また、次に再びＦqが閾値Ｆqtを超える状態になった後には、同一条件のバラつきについて考慮するために、指令値学習部１１３は、それまでに試行実験を実施した条件と同条件で複数回ずつ試行実験を実施する。
【００５７】
指令値学習部１１３は、最後に、それまでに実施した複数回の試行実験および目標移動速度の調整結果から、すなわち、Ｆqが閾値Ｆqtを超えないという条件を満たす目標移動速度の中から、対応する検出値Ｆ(ｔ)が制約条件１（Ｆlim）を超えない目標移動速度を、ステップＳ１１で実施した試行実験の有効な試行結果として抽出する。
【００５８】
物理制約演算部１５１は、複数回の試行実験で得られた有効な試行結果、すなわち、指令値学習部１１３が抽出した試行結果を用いて、物理制約条件を設定する。具体的には、物理制約演算部１５１は、指令値学習部１１３が抽出した目標移動速度を用いて、倣い動作を開始する速度Ｖ１を上昇させたときの、制約条件１（Ｆlim）を満たすＦlim近傍の接触反力、すなわち、Ｆlimを超えないＦlim近傍の接触反力になる接触地点における速度を接触速度Ｖｃとし、このときの接触地点Ｐｃを取得する。そして、物理制約演算部１５１は、取得した接触地点Ｐｃをエンドエフェクタ１３０が通過する際に、接触速度Ｖｃよりも小さい速度で通過するような条件を物理制約条件として設定する。
【００５９】
指令値学習部１１３は、物理制約条件を考慮して速度パターンを更新する場合は、生成する速度パターンが上記の接触位置Ｐｃにおいて上記の接触速度Ｖｃよりも小さい速度を示すかどうかチェックし、接触位置Ｐｃにおける速度パターン（目標移動速度）が接触速度Ｖｃよりも小さい場合、この目標移動速度を指令値として次の試行実験に適用する。指令値学習部１１３は、接触位置Ｐｃにおける速度パターン（目標移動速度）が接触速度Ｖｃ以上の場合、速度パターンを棄却し、速度パターンを再度更新して、更新後の速度パターンが示す、接触位置Ｐｃにおける目標移動速度が接触速度Ｖｃよりも小さいかチェックする。指令値学習部１１３は、以下、同様に、接触位置Ｐｃにおける目標移動速度が接触速度Ｖｃよりも小さい状態となるまで、速度パターンの更新動作を繰り返す。
【００６０】
本実施の形態では、ベアリングに軸を挿入する際のベアリングと軸の衝突を例として物理制約条件を説明したが、ロボットの関節位置の各軸の角度、角速度、角加速度、電流情報、ロボットのエンドエフェクタの手先位置情報、手先加速度情報なども物理制約条件として取扱うことが出来る。ある位置（関節角度、手先位置）における速度、加速度は代表的な物理制約条件であるが、物理制約条件をこれに限定することはない。
【００６１】
本発明の実施の形態１による動作制御システム１１０は、以上のような処理を行う。上述したように、本発明の実施の形態１による動作制御システム１１０は、複数回の試行によって得られるデータに基づいて学習を行いつつ速度パターンの調整を行う。言い換えると、本発明の実施の形態１による動作制御システム１１０は、機械学習または最適化手法を用いて動作指令値である速度パターンの調整を行う。
【００６２】
なお、以上の説明では、作業時間の上限値が制約条件１に含まれているものとしたが、作業時間の上限値は必須の条件ではなく、他の条件であってもよい。また、制約条件１として作業時間の上限値が与えられる代わりに、他の条件を満たした上で作業時間が最短となることを制約条件１としてもよい。さらに、以上の説明では、与えられた制約条件１を満たすように動作制御システム１１０が動作指令値を更新する場合について説明したが、動作制御システム１１０が制御パラメータを調整して更新する構成とすることも考えられる。さらに、図１では、ロボット制御装置１１１と動作調整装置１１２とを別に備える構成例を示しているが、ロボット制御装置１１１が動作調整装置１１２を内蔵するように構成することもできる。
【００６３】
本実施の形態の動作調整装置１１２、動作制御システム１１０及びロボットシステム１００は、以上のように構成される。本実施の形態の動作調整装置１１２、動作制御システム１１０及びロボットシステム１００によれば、力覚センサ１４３の検出値が所定の範囲内となるようにロボット１２０の動作が調整される。ここで、力覚センサ１４３の検出値は、エンドエフェクタ１３０に作用する外力の大きさを表している。言い換えると、力覚センサ１４３の検出値は、ロボット１２０の動作に起因して作業対象２００又は周辺環境３００に加えられる力の大きさを表す情報である。したがって、本実施の形態の動作調整装置１１２、動作制御システム１１０及びロボットシステム１００によれば、作業対象２００または周辺環境３００に加えられる力が適切な大きさとなるように、すなわち作業対象２００または周辺環境３００に過大な負荷が作用することがないようにロボット１２０の動作を調整でき、また、ロボット１２０の動作の調整を容易化できる。
【００６４】
以上のように、本実施の形態にかかるロボットシステム１００においては、力覚センサ１４３を用いて力応答が所望の範囲内に収まる様に動作指令値を学習的に調整することで、作業対象となるアイテムを破損しない高品質なロボット作業を実現することができる。特に、物理制約条件を考慮し、さらに、作業時間を制約条件１に加えて作業時間を考慮して動作を調整することで、高速な作業の実現も可能となる。
【００６５】
また、本実施の形態の動作調整装置１１２、動作制御システム１１０及びロボットシステム１００は、制約条件１として力覚センサ１４３で検出される力の大きさを用いたが、モーメント、トルク、電流値などを検出し、これらの上限あるいは下限のいずれかを制約条件１に用いることもできる。これにより、ロボット１２０またはエンドエフェクタ１３０と外界との接触状況に物理的な制限を設けることができ、所望の範囲内での動作指令値を探索することが可能となる。その結果、作業対象２００を傷つけないような作業を実現することができる。
【００６６】
また、本実施の形態の動作調整装置１１２、動作制御システム１１０及びロボットシステム１００は、ロボット１２０の位置姿勢、エンドエフェクタ１３０の位置姿勢、作業対象の位置姿勢などを検出し、これらの上限あるいは下限のいずれかを制約条件に加えることもできる。これにより、高品質な作業を実現しつつも、周辺環境３００との干渉を抑制したロボット作業を実現できる。その結果として、システムの稼働率を上げるといった、格別の効果を得ることができる。以上で述べた効果は、他の実施の形態でも同様に得られるものである。
【００６７】
実施の形態２．
実施の形態２にかかるロボットシステムについて説明する。実施の形態２にかかるロボットシステムの構成は実施の形態１にかかるロボットシステム１００と同様である。ただし、ロボット１２０の動作を調整する動作調整装置の構成および動作が実施の形態１とは異なる。本実施の形態では、実施の形態１と異なる構成である動作調整装置について説明し、実施の形態１にかかるロボットシステム１００と同様の構成については説明を省略する。以下の説明では、実施の形態２にかかるロボットシステムの動作調整装置を動作調整装置１１２ａと記載する。
【００６８】
図９は、本発明の実施の形態２にかかるロボットシステムが備える動作調整装置１１２ａの構成例を示す図である。図９に示すように、実施の形態２にかかる動作調整装置１１２ａは、実施の形態１にかかる動作調整装置１１２に調整範囲定義部１５２を追加した構成である。
【００６９】
調整範囲定義部１５２は、指令値学習部１１３の学習対象である指令値あるいは制御パラメータについて、ロボット、センサ、エンドエフェクタ等の破損リスクがない第１の調整範囲と、破損リスクがある第２の調整範囲と、を定義し、指令値学習部１１３に出力する。指令値学習部１１３は、物理制約演算部１５１で物理制約条件が演算される前は、調整範囲定義部１５２で定義された第１の調整範囲内で速度パターンの調整を行い、物理制約条件が演算された後は、第２の調整範囲内で速度パターンの調整を行う。なお、以降の説明では、便宜上、調整範囲を探索範囲と表現する場合がある。すなわち、これ以降の説明では、調整範囲と探索範囲とは同じ意味で用いられる。
【００７０】
つづいて、調整範囲定義部１５２を備える動作調整装置１１２ａの動作の具体例について、図１０を参照しながら説明する。図１０は、本発明の実施の形態２にかかる動作調整装置１１２ａの動作を説明するための図である。
【００７１】
動作調整装置１１２ａにおいては、まず、物理制約演算部１５１が、エンドエフェクタ１３０の動作範囲から、図１０に示す高感度領域を抽出する。高感度領域は、制約条件１（Ｆlim）に対して感度が高い位置および近傍、あるいは感度が高い時間および時間幅を示す。高感度領域は、動作指令値あるいは制御パラメータを変更した場合のＦ(ｔ)の変動量が大きい領域である。言い換えると、高感度領域は、動作指令値あるいは制御パラメータの変更が制約条件１を満たすか否かに大きく影響する領域である。高感度領域以外の領域では、動作指令値あるいは制御パラメータを変更した場合のＦ(ｔ)の変動量が小さい。すなわち、本実施の形態では、動作指令値または制御パラメータとＦ(ｔ)との相関が高く、動作指令値または制御パラメータを変更するとＦ(ｔ)が大きく変化する場合に感度が高いといい、動作指令値または制御パラメータとＦ(ｔ)との相関が低い場合に感度が低いという。
【００７２】
物理制約演算部１５１は、図４に示す力覚センサ１４３から出力される力覚情報と、実際の指令値あるいはフィードバック量とを用いて、演算により高感度領域を求める。物理制約演算部１５１は、例えば、力覚センサ１４３から取得した力覚情報と、ロボット制御装置１１１からフィードバックされたエンドエフェクタ１３０の位置の履歴を用いて演算した速度情報と、に基づき、特定の地点Ｐｊについて、速度情報を横軸に、力覚情報を縦軸にプロットする。そして、物理制約演算部１５１は、相関係数を計算し、相関係数が定められた閾値以上の場合、地点Ｐｊを高感度領域に加える。この処理をすべての地点Ｐｊについて繰り返し実行することで、物理制約演算部１５１は高感度領域を算出する。なお、処理を繰り返す際には速度パターンを変更する。すなわち、物理制約演算部１５１は、様々な速度パターンを使用して同じ処理を繰り返し実行することで、高感度領域を算出する。
【００７３】
物理制約を定義する前の状態、すなわち、物理制約演算部１５１による物理制約条件の演算が終了して指令値学習部１１３に物理制約条件が入力される前の状態のときに実施する複数回の試行実験においては、調整範囲定義部１５２が、指令値学習部１１３が速度パターンを探索する範囲を、破損リスクが無い探索範囲である第１の探索範囲に予め設定しておく。第１の探索範囲の設定方法の一例を示す。第１の探索範囲を設定する場合、例えば、予備実験として、組立作業、挿入作業などを実施して、接触反力と速度の関係のデータをユーザが取得する。このデータに基づいて、ユーザが安全率を定義するとともに、安全率を満たすように、破損リスクが無い範囲を第１の探索範囲に設定する。第１の探索範囲は、目標移動速度に関する探索範囲であり、図６に示すステップＳ１０あるいはステップＳ１３で速度パターンを設定する際の目標移動速度の下限値と上限値とで挟まれた範囲である。第１の探索範囲の特徴は、目標移動速度の上限値が、指令値学習部１１３の更新の結果として期待されている目標移動速度Ｖｄに比べて小さいことである。調整範囲定義部１５２は、仮に、第１の探索範囲に含まれる速度で、ロボット１２０のエンドエフェクタ１３０、エンドエフェクタ１３０が把持している部品などの作業対象２００が周辺環境３００に衝突した場合でも、上述した制約条件２を満たすように、第１の探索範囲を定義する。
【００７４】
次に、物理制約演算部１５１が、図１１に示すように、高感度領域において、制約条件１を超えないが、一方で作業時間を最短にするということを同時に満たすための物理制約条件として、ある地点（または時点）における、加速度（または速度）の条件を求める。ここでは、一例として、速度の条件（物理制約条件）を求める場合の物理制約演算部１５１の動作について説明する。速度の条件を求める場合、物理制約演算部１５１は、高感度領域の力のピークが現れる位置よりも時刻的に手前の位置にＰｃという地点を設定し、さらに、地点Ｐｃにおける上限速度をＶｃに設定する。ここでは、高感度領域の力のピークが制約条件１以下の速度パターンを指令値学習部１１３が抽出する場合の物理制約条件（上限速度Ｖｃ）を、物理制約演算部１５１が求めることを想定している。ただし、力のピークが制約条件１を超えたものであっても、地点Ｐｃを設定して上限速度Ｖｃを求め、上限速度Ｖｃに基づいて第１の探索範囲を更新して学習時間を短縮する目的に活用することが出来る。この際、制約条件１に最も近く、かつ制約条件１を超えていない値となる速度を上限速度Ｖｃに設定することも出来る。力のピークは接触開始から少し遅れて現れるため、接触が発生した地点、すなわち、力のピークよりも前の時刻で力が０から立ち上がりの始めた位置をＰｃに設定することができる。また、複数の試行結果から上限速度Ｖｃを求める場合は、複数の試行で得られたＰｃとＶｃの組み合わせの中の最悪条件としてＶｃが最も小さい場合を選ぶことも出来る。ここでの最悪条件は、最も安全側に考えた制約である。
【００７５】
また、図６および図８を用いた指令値の学習を実施する場合における図６のステップＳ１３では、指令値学習部１１３が、Ｐｃ近傍のΔＰの範囲において、速度がＶｃを超えない速度パターンになっているかどうかをチェックし、これを満たしていない速度パターン候補については棄却する。なお「Ｐｃ近傍のΔＰの範囲」とは、Ｐｃとの距離がΔＰ以内となる範囲、すなわち、（Ｐｃ−ΔＰ）〜（Ｐｃ＋ΔＰ）の範囲である。また、このとき、指令値学習部１１３は、Ｐｃ近傍のΔＰの範囲以外の範囲においては図１２に示す第２の探索範囲に含まれる速度パターンを探索する。言い換えると、ステップＳ１３において、指令値学習部１１３は、Ｐｃ近傍のΔＰの範囲ではＶｃ未満であり、かつ、それ以外の範囲では第２の探索範囲内の任意の速度となる速度パターンを生成する。第２の探索範囲は、第１の探索範囲と違い、破損リスクが生じる制約条件２を超える可能性のある速度帯を含む。
【００７６】
このように、本実施の形態にかかる動作調整装置１１２ａにおいて、指令値学習部１１３は、物理制約演算部１５１が物理制約条件を求める前に速度パターンを調整する場合、調整範囲定義部１５２で定義された第１の調整範囲内で速度パターンを調整して学習を進める。これにより、動作調整装置１１２ａは、対象としている作業においてやむをえず発生し得る高感度領域における反力を制約条件１よりも小さく抑え、高感度領域以外の領域では作業時間がより短くなる速度パターンを、比較的少ない試行回数すなわち短い時間で得られるようになる。
【００７７】
実施の形態３．
実施の形態２では、動作調整装置１１２ａの物理制約演算部１５１が抽出する高感度領域が１つの場合の例について説明したが、高感度領域が複数存在する場合も考えられる。すなわち、物理制約演算部１５１が複数の高感度領域を抽出する場合がある。この場合、指令値学習部１１３は、抽出された複数の高感度領域のそれぞれについて物理制約条件を求め、求めた物理制約条件を使用して速度パターンを生成する。
【００７８】
例えば、図１３の下段に示すように、第１の探索範囲内での速度パターンを調整した時の作用外力Ｆ(ｔ)の変動が大きい領域である高感度領域が、２箇所存在することがある。以下の説明では、高感度領域が複数存在する場合は、それぞれについて第１の高感度領域、第２の高感度領域、といった名づけかたをして第ｋの高感度領域と呼ぶものとする。また、速度パターンがそれぞれの高感度領域において制約条件１を満たすようにするため、指令値学習部１１３は、ある地点における速度制限である物理制約条件を算出する場合も、高感度領域ごとに、第１の物理制約条件、第２の物理制約条件、…というかたちで複数定義する。
【００７９】
指令値学習部１１３は、高感度領域のそれぞれに対して個別に物理制約条件を設定し、物理制約条件および第２の探索範囲に基づいて、速度パターンを調整する。速度パターンの調整手順は、実施の形態１と同様である。すなわち、指令値学習部１１３は、速度パターンを更新して試行実験を行い、力覚センサ１４３による検出値Ｆ(ｔ)が制約条件１を満足するか確認する。制約条件１を満足しない場合は、速度パターンの更新、試行実験の実施、および、検出値Ｆ(ｔ)が制約条件１を満足するかの確認を、制約条件１を満足するまで繰り返す。このとき、物理制約条件は位置と速度の経由点の制約条件になっていると解釈できる。すなわち、指令値学習部１１３は、速度パターンを調整する際に、これらの経由点が物理制約条件を満たすあらゆる速度パターンを生成する。
【００８０】
高感度領域か否かの判定については、それぞれの試行実験における速度変化量に対する力変化量の割合が大きいもののみを高感度領域と判定するように構成してもよい。また、高感度領域か否かの判定については、複数回の試行実験で得られた複数のデータを使用し、機械学習を用いて、速度変化量と反力の変化量と地点情報の関係をモデル化しておき、このモデルを使用して高感度領域を求めるようにしてもよい。他にも、他のロボットシステムの試行実験で得られたデータを元にして、高感度領域とするための判定基準を機械学習で事前に獲得し、獲得したモデルと試行実験で取得したデータを比較して高感度領域か否かを判定してもよい。
【００８１】
以上のように、本実施の形態にかかる動作調整装置１１２ａは、複数の高感度領域に対してそれぞれ物理制約条件を求め、これら全ての条件を満たすような速度パターンを求める。これにより、繰り返し行う試行実験の全てにおいて、制約条件２を超える大きな反力をシステムに与えて損傷することがないようにすることができる。
【００８２】
実施の形態４．
本実施の形態では、実施の形態３と同様に、高感度領域が複数存在する場合を想定する。本実施の形態にかかる動作調整装置１１２ａは、実施の形態３とは異なる動作を行い、速度パターンを調整して学習を行う。
【００８３】
本実施の形態にかかる動作調整装置１１２ａにおいて、指令値学習部１１３は、指令値および制御パラメータを調整する際に、複数のパラメータを２つ以上のグループに分けて、交互に、あるいは複数のグループを同時に学習することを繰り返す。これにより、破損リスクを低減させた状態で学習を進めていくことができるという格別の効果が得られる。
【００８４】
図１４は、本発明の実施の形態４にかかる動作調整装置１１２ａの動作の一例を示す図である。図１４に示すように、指令値学習部１１３は、まず、ＳＴＥＰ１において、速度指令値のみを第１の探索範囲を利用して学習する。速度が大きくなるほど力覚センサ１４３で検出される作用外力Ｆ(ｔ)が大きくなる。そこで、指令値学習部１１３は、次に、ＳＴＥＰ２において、インピーダンスパラメータのみを第１の探索範囲を利用して学習する。これにより適切な応答となるようにインピーダンスパラメータが調整され、作用外力Ｆ(ｔ)が低下する。指令値学習部１１３は、次に、ＳＴＥＰ３において、ＳＴＥＰ１およびＳＴＥＰ２で調整を行い得られた結果（速度指令値，インピーダンスパラメータ）を初期値として速度指令値およびインピーダンスパラメータの学習を進める。図１４では、ＳＴＥＰ３において速度指令値とインピーダンスパラメータとを同時に変更する場合を例示しており、それぞれ第２の探索範囲を用いて学習を進める。速度指令値の学習ではより大きなパラメータ（速度指令値）を選択している。インピーダンスパラメータの調整は、例えばダンピングに関する変数を変化させて行う。本実施の形態では、２つ以上のパラメータグループに分けて段階的に調整していくことで破損リスクを下げることを特徴としており、探索範囲の設定方法は特に限定しない。図１４に示す例では、速度指令値が１つ目のパラメータグループに相当し、インピーダンスパラメータが２つ目のパラメータグループに相当する。パラメータグループは３つ以上となる場合もある。
【００８５】
本実施の形態にかかる動作調整装置１１２ａによれば、破損リスクを避けた試行実験が出来るという格別の効果が得られる。また、調整対象のパラメータをグループに分けて調整することで、各グループに対する調整動作において調整するパラメータの数が少数に絞られるため、１つのグループの調整動作に要する時間が短くなる。本実施の形態によれば、多数のパラメータを同時に調整する場合と比較して、トータルの調整時間の短縮化が期待できる。
【００８６】
実施の形態５．
本実施の形態では、実施の形態３，４と同様に、高感度領域が複数存在する場合を想定する。実施の形態２にかかる動作調整装置１１２ａは、高感度領域を抽出して物理制約条件を設定するとともに第１の探索範囲を設定し、第１の探索範囲内で速度パターンの調整を行い、次に、第２の探索範囲内で速度パターンを調整するものであった。
【００８７】
これに対して、本実施の形態にかかる動作調整装置１１２ａは、実施の形態２と同様の手順で第２の探索範囲内で速度パターンを調整した後、さらに、第２の探索範囲を新たな第１の探索範囲に定義しなおし、新たな第１の探索範囲を対象として、同様の処理を繰り返し行う。このようにして、動作調整装置１１２ａは、逐次的に指令値および調整パラメータを調整していく。
【００８８】
図１５および図１６は、本発明の実施の形態５にかかる動作調整装置１１２ａの動作の一例を示す図である。
【００８９】
図１５では、動作調整装置１１２ａが１回目の物理制約条件を演算した後に設定した第２の探索範囲で速度パターンを探索した結果、高感度領域に相当する領域が現れていることを示している。動作調整装置１１２ａは、これらを第２の高感度領域として抽出する処理を実施し、第２の高感度領域（１）および（２）を抽出する。
【００９０】
動作調整装置１１２ａは、第２の高感度領域（１）および（２）を抽出後、図１６に示すように、第２の高感度領域（１）および（２）に対して再度、物理制約条件を求める。図１６では、制約条件１を満たすような第２の物理制約条件を求め、これに伴い、第１の高感度領域における目標移動速度の第２の探索範囲をＶｃ１以下の範囲、第２の高感度領域（１）および（２）における目標移動速度の第２の探索範囲をＶｃ２＿２以上Ｖｃ２＿１以下の範囲に狭めた結果を示している。具体的には、動作調整装置１１２ａは、第２の物理制約条件として、第２の高感度領域（１）および（２）で力のピークよりも時刻的に手前の位置においてＰｃ２＿１およびＰｃ２＿２という地点を設定し、その地点における上限速度Ｖｃ２＿１およびＶｃ２＿２を設定する。地点Ｐｃ２＿１および地点Ｐｃ２＿２の近傍領域ΔＰの範囲に関しては、第２の調整範囲としてＶｃ２＿１およびＶｃ２＿２よりも小さい速度領域を第２の探索範囲として定義する。
【００９１】
このように、本実施の形態にかかる動作調整装置１１２ａは、第１の探索範囲および第２の探索範囲を更新しながら物理制約条件の設定および速度パターンの学習を繰り返し行う。第１の探索範囲および第２の探索範囲の更新では、それまでの第２の探索範囲を第１の探索範囲に設定しなおす。これにより、全ての領域で制約条件１に対して十分小さな反力で作業が出来る学習結果を獲得できるという格別の効果が得られる。
【００９２】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９３】
１００  ロボットシステム、１１０  動作制御システム、１１１  ロボット制御装置、１１２，１１２ａ  動作調整装置、１１３  指令値学習部、１２０  ロボット、１３０  エンドエフェクタ、１４０  センサ、１４１  内界センサ、１４２  外界センサ、１４３  力覚センサ、１５１  物理制約演算部、１５２  調整範囲定義部、２００  作業対象、３００  周辺環境、４０１  プロセッサ、４０２  メモリ、４０３  データバス。
【図１】
2020255312.tif 000003
【図２】
2020255312.tif 000004
【図３】
2020255312.tif 000005
【図４】
2020255312.tif 000006
【図５】
2020255312.tif 000007
【図６】
2020255312.tif 000008
【図７】
2020255312.tif 000009
【図８】
2020255312.tif 000010
【図９】
2020255312.tif 000011
【図１０】
2020255312.tif 000012
【図１１】
2020255312.tif 000013
【図１２】
2020255312.tif 000014
【図１３】
2020255312.tif 000015
【図１４】
2020255312.tif 000016
【図１５】
2020255312.tif 000017
【図１６】
2020255312.tif 000018
【手続補正書】
【提出日】令和3年7月12日(2021.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エンドエフェクタが装着されたロボットと、前記ロボットの動作を制御するロボット制御装置とを備え、前記ロボットが作業対象に対して作業を行うロボットシステムにおいて、前記ロボット制御装置が制御する前記ロボットの動作を調整するロボットの動作調整装置であって、
前記ロボットシステムが備える外界センサで検出された、前記エンドエフェクタに作用する力である作用外力を入力とする学習を行って、前記ロボットの動作を示す速度パターンの調整を行う指令値学習部と、
前記作業の開始から終了までの間を分割した複数の区分のそれぞれに対して、それぞれの区分における速度パターンを調整して試行実験を実施し、複数回実施した試行実験のそれぞれで得られた、動作指令値および前記外界センサで検出された作用外力に基づいて、前記ロボットシステムの破損リスク評価値を基準以下とするために前記ロボットが動作中に満たすべき物理制約条件を計算する物理制約演算部と、
前記物理制約演算部で前記物理制約条件が算出される前に前記学習を行うときの前記速度パターンの調整範囲として、前記破損リスク評価値が常に前記基準以下におさまる第１の調整範囲と、前記破損リスク評価値が前記基準を超える場合を含む第２の調整範囲とを定義する調整範囲定義部と、
を備え、
前記指令値学習部は、前記物理制約演算部で前記物理制約条件が算出される前は前記第１の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進め、前記物理制約演算部で前記物理制約条件が算出された後は前記第２の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める、
ことを特徴とするロボットの動作調整装置。
【請求項２】
前記物理制約演算部は、前記指令値学習部が前記第１の調整範囲で前記学習を進める際に使用した複数の速度パターンと、各速度パターンを用いて複数回実施した試行実験のそれぞれで得られた、前記外界センサで検出された作用外力とに基づいて、動作指令値の変化と作用反力の変化の相関が大きい領域である高感度領域を抽出し、抽出した高感度領域に基づいて前記物理制約条件を算出する、
ことを特徴とする請求項１に記載のロボットの動作調整装置。
【請求項３】
前記物理制約演算部は、前記速度パターンおよび前記作用外力を入力情報とする機械学習または統計的手法を利用して前記高感度領域を抽出する、
ことを特徴とする請求項２に記載のロボットの動作調整装置。
【請求項４】
前記速度パターンの調整は、前記ロボットの動作速度に影響を与える複数のパラメータを調整することで実現され、
前記指令値学習部は、前記複数のパラメータを複数のグループに分け、複数のグループの中の１つを調整対象としてパラメータの調整を繰り返して前記学習を進め、調整対象のグループに対する学習が終了すると、調整対象のグループを変更してパラメータの調整および前記学習を行う、
ことを特徴とする請求項１から３のいずれか一つに記載のロボットの動作調整装置。
【請求項５】
前記物理制約演算部は、前記物理制約条件を算出した後、当該物理制約条件を算出したときの第２の調整範囲を新たな第１の調整範囲に定義するとともに新たな第２の調整範囲を定義する処理と、新たに定義した第１の調整範囲で前記指令値学習部が前記学習を進める際に使用した複数の速度パターン、および、各速度パターンを用いて複数回実施した試行実験のそれぞれで得られた、前記外界センサで検出された作用外力、に基づいて、前記高感度領域を抽出し、抽出した高感度領域に基づいて前記物理制約条件を算出する処理と、を繰り返し実行し、
前記指令値学習部は、前記物理制約演算部が前記第１の調整範囲および前記第２の調整範囲を新たに定義するごとに、前記物理制約演算部で前記物理制約条件が算出される前に前記第１の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める処理と、前記物理制約演算部で前記物理制約条件が算出された後に前記第２の調整範囲で前記速度パターンの調整を繰り返し行って前記学習を進める処理と、を繰り返し実行する、
ことを特徴とする請求項２または３に記載のロボットの動作調整装置。
【請求項６】
請求項１から５のいずれか１項に記載のロボットの動作調整装置と、
前記動作調整装置で調整された速度パターンに基づいて前記ロボットの動作を制御するロボット制御装置と、
を備えることを特徴とする動作制御システム。
【請求項７】
請求項６に記載の動作制御システムと、
前記動作制御システムによって制御されるロボットと、
を備えることを特徴とするロボットシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、エンドエフェクタが装着されたロボットと、ロボットの動作を制御するロボット制御装置とを備え、ロボットが作業対象に対して作業を行うロボットシステムにおいて、ロボット制御装置が制御するロボットの動作を調整するロボットの動作調整装置であって、ロボットシステムが備える外界センサで検出された、エンドエフェクタに作用する力である作用外力を入力とする学習を行って、ロボットの動作を示す速度パターンの調整を行う指令値学習部を備える。また、ロボットの動作調整装置は、作業の開始から終了までの間を分割した複数の区分のそれぞれに対して、それぞれの区分における速度パターンを調整して試行実験を実施し、複数回実施した試行実験のそれぞれで得られた、動作指令値および外界センサで検出された作用外力に基づいて、ロボットシステムの破損リスク評価値を基準以下とするためにロボットが動作中に満たすべき物理制約条件を計算する物理制約演算部と、物理制約演算部で物理制約条件が算出される前に学習を行うときの速度パターンの調整範囲として、破損リスク評価値が常に基準以下におさまる第１の調整範囲と、破損リスク評価値が基準を超える場合を含む第２の調整範囲とを定義する調整範囲定義部と、を備える。指令値学習部は、物理制約演算部で物理制約条件が算出される前は第１の調整範囲で速度パターンの調整を繰り返し行って学習を進め、物理制約演算部で物理制約条件が算出された後は第２の調整範囲で速度パターンの調整を繰り返し行って学習を進める。
【国際調査報告】
2020255312.tif 000019
2020255312.tif 000020
2020255312.tif 000021