(57)【要約】【課題】動的環境下において、安全かつ最適な行動系列を獲得可能な学習システム及び学習方法を提供する。【解決手段】ロボット１０の状態の初期値と障害物３０の位置とからなる複数のコンディションのそれぞれについて、最適制御によりロボット１０が障害物３０を回避して目標地Ｔａへ到達する軌跡Ｔｒを生成す出力生成部と、コンディションごとに、最適制御による軌跡Ｔｒの生成の収束性を判定する判定部と、収束しないと判定されたコンディションについて、例外制御による軌跡Ｔｒを生成する例外生成部と、ニューラルネットワークの汎化性能を利用して、コンディションごとに生成された軌跡Ｔｒを統合する統合部と、統合部による統合結果を最適制御にフィードバックして、前記コンディションごとの軌跡Ｔｒの生成と、コンディションごとに生成された軌跡Ｔｒの統合とを、予め設定された学習回数繰り返して学習する学習部と、を備える。【選択図】図７
2019005834.tif 000002
【特許請求の範囲】
【請求項１】
ロボット（１０）の状態と、前記ロボットの観察画像とから、前記ロボットの制御信号を生成する学習システム（１００）であって、
前記ロボットの状態の初期値と障害物（３０）の互いに異なる位置とからなる予め設定された複数のコンディションのそれぞれについて、最適制御により前記ロボットが前記障害物を回避して目標位置へ到達する制御出力を生成するように構成された出力生成部（５０，Ｓ３０，Ｓ１２０）と、
前記コンディションごとに、前記最適制御による制御出力の生成の収束性を判定するように構成された判定部（５０）と、
前記判定部により収束しないと判定された前記コンディションについて、例外制御による制御出力を生成するように構成された例外生成部（５０，Ｓ５０）と、
ニューラルネットワークの汎化性能を利用して、前記コンディションごとに生成された前記制御出力を統合するように構成された統合部（５０，Ｓ８０）と、
前記統合部による統合結果を前記最適制御にフィードバックして、前記コンディションごとの前記制御出力の生成と、前記コンディションごとに生成された前記制御出力の統合とを、予め設定された学習回数繰り返して学習するように構成された学習部（５０，Ｓ９０）と、
を備える、学習システム。
【請求項２】
前記判定部（Ｓ１３０）は、前記学習部により前記学習回数のうちの予め設定された回数の学習が経過した後で、前記収束性の判定を行うように構成されている、
請求項１に記載の学習システム。
【請求項３】
前記判定部（Ｓ１４０）は、前記最適制御のコスト関数の値を用いて、前記収束性を判定するように構成されている、
請求項１又は２に記載の学習システム。
【請求項４】
前記例外生成部（Ｓ５０）は、前記例外制御として、その場に留まる制御出力を生成するように構成されている、
請求項１〜３のいずれか１項に記載の学習システム。
【請求項５】
前記例外生成部は、
センシングにより前記ロボットと前記障害物との距離を算出するように構成された距離算出部（Ｓ２４０）と、
前記距離算出部により算出された距離が、予め設定された距離閾値未満の場合に、前記障害物を回避しつつ、前記目標位置へ到達可能な回避目標位置を算出するように構成された回避目標算出部（Ｓ２５０）と、
前記回避目標算出部により算出された前記回避目標位置に到達する制御出力を生成するように構成された回避出力生成部（Ｓ２６０）と、を備え、
前記距離算出部、前記回避目標算出部、及び前記回避出力生成部が、前記例外制御を実行する、
請求項１〜３のいずれか１項に記載の学習システム。
【請求項６】
前記回避出力生成部（Ｓ４６０）は、前記最適制御により、前記回避目標算出部により算出された前記回避目標位置に到達する前記制御出力を生成するように構成されている、
請求項５に記載の学習システム。
【請求項７】
ロボット（１０）の状態と、前記ロボットの観察画像とから、前記ロボットの制御信号を生成する学習方法であって、
前記ロボットの状態の初期値と障害物（３０）の互いに異なる位置とからなる予め設定された複数のコンディションのそれぞれについて、最適制御により前記ロボットが前記障害物を回避して目標位置へ到達する制御出力を生成し、
前記コンディションごとに、前記最適制御による制御出力の生成の収束性を判定し、
収束しないと判定された前記コンディションについて、例外制御による制御出力を生成し、
ニューラルネットワークの汎化性能を利用して、コンディションごとに生成された前記制御出力を統合し、
前記制御出力の統合結果を前記最適制御にフィードバックして、前記コンディションごとの前記制御出力の生成と、前記コンディションごとに生成された前記制御出力の統合とを、予め設定された学習回数繰り返して学習する、
学習方法。
【請求項８】
前記学習回数のうちの予め設定された回数の学習が経過した後で、前記収束性を判定する、
請求項７に記載の学習方法。
【請求項９】
前記収束性を判定する際に、前記最適制御のコスト関数の値を用いて、前記収束性を判定する、
請求項７又は８に記載の学習方法。
【請求項１０】
収束しないと判定された前記コンディションについて、前記例外制御により、その場に留まる制御出力を生成する、
請求項７〜９のいずれか１項に記載の学習方法。
【請求項１１】
収束しないと判定された前記コンディションについて、前記例外制御として、
センシングにより前記ロボットと前記障害物との距離を算出し、
算出された前記距離が、予め設定された距離閾値未満の場合に、前記障害物を回避しつつ、前記目標位置へ到達可能な回避目標位置を算出し、
算出された前記回避目標位置に到達する制御出力を生成する、
請求項７〜９のいずれか１項に記載の学習方法。
【請求項１２】
収束しないと判定された前記コンディションについて、前記例外制御として、
前記最適制御により、算出された前記回避目標位置に到達する前記制御出力を生成する、
請求項１１に記載の学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットの行動を学習する技術に関する。
【背景技術】
【０００２】
近年、ロボットの複雑行動を実現可能な自律制御手法として、Guided Policy Search（以下、ＧＰＳ）という手法が提案されている。ＧＰＳは、深層強化学習手法の一つである。ＧＰＳは、最適制御により軌道を生成し、最適制御により生成された軌道を教師データとしてニューラルネットワークの学習を行うことで、ニューラルネットワークの学習での探索範囲を限定して、複雑行動の獲得を可能とする手法である。
【０００３】
ＧＰＳをロボットに適用した例として、非特許文献１に記載のものがある。非特許文献１は、ロボットの複数の初期状態を設定して、初期状態ごとに、最適制御により目標までの軌道を生成している。そして、非特許文献１は、ニューラルネットワークの学習により初期状態ごとに生成した複数の軌道を統合して、どのような初期状態からでも目標に到達する行動系列を獲得している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】End-to-End Training of Deep Visuomotor Policies. Sergey Levine, Chelsea Finn, Trevor Darrell, Pieter Abbeel. JMLR 17, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、非特許文献１の手法を応用して、動的な障害物を回避して目標へ到達する行動系列を獲得することが考えられる。詳しくは、動的な障害物の位置を所定数抽出し、抽出した障害物の位置ごとに、最適制御により、静的な障害物を回避して目標へ到達する軌道を生成する。そして、ニューラルネットワークの学習により、生成された所定数の軌道を統合して、障害物がどのような位置に存在しても目標に到達する行動系列を獲得することが考えられる。しかしながら、最適制御の性質上、ロボットの初期状態と静的な障害物の位置関係によっては、軌道の生成が収束しない状態が存在する。このような収束しない状態を考慮しないで獲得した行動系列に従って制御すると、不安定な行動につながるという問題がある。
【０００６】
本開示は、上記実情に鑑みてなされたものであり、動的環境下において、安全かつ最適な行動系列を獲得可能な学習システム及び学習方法を提供する。
【課題を解決するための手段】
【０００７】
本開示は、ロボット（１０）の状態と、ロボットの観察画像とから、ロボットの制御信号を生成する学習システム（１００）であって、出力生成部（５０，Ｓ３０，Ｓ１２０）と、判定部（５０）と、例外生成部（５０，Ｓ５０）と、統合部（５０，Ｓ８０）と、学習部（５０，Ｓ９０）と、を備える。
【０００８】
出力生成部は、ロボットの状態の初期値と障害物（３０）の互いに異なる位置とからなる予め設定された複数のコンディションのそれぞれについて、最適制御によりロボットが障害物を回避して目標位置へ到達する制御出力を生成する。判定部は、コンディションごとに、最適制御による制御出力の生成の収束性を判定する。例外生成部は、判定部により収束しないと判定されたコンディションについて、例外制御による制御出力を生成する。統合部は、ニューラルネットワークの汎化性能を利用して、コンディションごとに生成された制御出力を統合する。学習部は、統合部による統合結果を最適制御にフィードバックして、コンディションごとの制御出力の生成と、コンディションごとに生成された制御出力の統合とを、予め設定された学習回数繰り返して学習する。
【０００９】
本開示によれば、ロボットの初期状態と障害物の互いに異なる位置とからなる複数のコンディションのそれぞれについて、最適制御により目標位置までの制御出力が生成される。そして、ロボットの挙動が不安になりやすいコンディションである、最適制御による制御出力の生成が収束しないコンディションについて、例外制御により制御出力が生成される。さらに、生成された各コンディションについての制御出力がニューラルネットワークの汎化性能により一般化されて、制御信号の系列が獲得される。制御出力の生成が収束しない状態を考慮したことにより、障害物３０が移動する動的環境下において、安全かつ最適な行動系列を獲得することができる。
【００１０】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】学習システムの構成を示す図である。
【図２】ＧＰＳの概要を示す図である。
【図３】最適制御及びニューラルネット学習の入力を示す図である。
【図４】動的な障害物の位置を複数の静的な位置に分解して学習する様子を模式化した図である。
【図５】最適制御が収束しないコンディションについて例外制御を実施しない場合の学習時及び制御時の状態を模式化した図である。
【図６】最適制御が収束しないコンディションについて例外制御を実施する場合の学習時及び制御時の状態を模式化した図である。
【図７】第１実施形態に係る行動系列を学習する処理手順を示すフローチャートである。
【図８】獲得した行動系列に基づいた制御時の動作を説明する図である。
【図９】第２実施形態に係る行動系列を学習する処理手順を示すフローチャートである。
【図１０】最適制御の収束性を判定する期間を示す図である。
【図１１】第３実施形態に係る行動系列を学習する処理手順を示すフローチャートである。
【図１２】ロボットの手先と、障害物と、目標と、回避目標との位置関係を示す図である。
【図１３】第４実施形態に係る行動系列を学習する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、発明を実施するための形態を説明する。
（第１実施形態）
＜１−１．構成＞
まず、本実施形態に係る学習システム１００の構成について、図１を参照して説明する。学習システム１００は、ロボットの手先１０と、ＰＣ５０と、カメラ６０と、を備える。学習システム１００は、直線運動する動的な障害物３０を回避して、手先１０で掴んだ物体１１を目標地Ｔａまで運ぶための手先１０の行動系列を獲得することを想定している。
【００１３】
手先１０は、複数の関節と、間接ごとに設置された関節を動かすモータと、を備える。
カメラ６０は、所定周期で手先１０を観察した観察画像を撮影し、観察画像をＰＣ５０へ入力する。観察画像は、手先１０と物体１１と障害物３０と目標地Ｔａを撮影した画像データである。本実施形態では、行動系列として、各モータに対する制御信号であるトルク値の系列を獲得するが、トルク値以外の制御信号の系列を獲得してもよい。
【００１４】
ＰＣ５０は、ＣＰＵ、ＲＯＭ、ＲＡＭ及びＩ／Ｏ等を備えたコンピュータである。ＰＣ５０には、手先１０の状態と、障害物３０の座標値と、画像データとが入力される。手先１０の状態は、複数の関節のそれぞれの関節角である。
【００１５】
ＰＣ５０は、学習時に、ＧＰＳ手法を用いて、各関節の関節角と、障害物３０の座標値と、画像データとから、手先１０に対する行動系列を獲得する。障害物３０の座標値は、障害物３０の中心の座標値とする。そして、ＰＣ５０は、制御時に、学習時に獲得した行動系列と画像データとから、各モータに対するトルク値を算出し、算出したトルク値を指令値として各モータの制御部へ出力する。
【００１６】
本実施形態では、ＰＣ５０のＣＰＵが非遷移的実体的記録媒体に格納されているプログラムを実行することにより、特許請求の範囲の出力生成部、判定部、例外生成部、距離算出部、回避目標算出部、回避出力生成部、統合部、及び学習部の機能を実現する。なお、これらの機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
【００１７】
図２に示すように、ＧＰＳは、主として、最適制御とニューラルネット学習の２つの要素から構成されている。図３に示すように、最適制御は、障害物３０の座標値及び間接角を入力とし、ニューラルネット学習は画像データ及び関節角を入力とする。最適制御は、コスト関数を最小化するような軌道を生成し、生成した軌道を教師データとしてニューラルネット学習に提供する。軌道は、障害物３０の座標値及び間接角に対する各モータのトルク値の系列である。ニューラルネット学習は、ディープニューラルネットワーク（以下、ＤＮＮ）を用いて、出力と教師データとの誤差が最小になるような行動系列を獲得する。ＧＰＳでは、ニューラルネット学習で獲得した行動系列を、最適制御へフィードバックする。そして、ＧＰＳでは、最適制御とニューラルネット学習とを交互に繰り返して所定回数学習して、最終的な行動系列を獲得する。学習回数は、予め経験則に基づいて学習が収束するような回数が設定されている。なお、ＧＰＳの詳細については、非特許文献１を参照されたい。また、本実施形態では、最適制御により生成される軌道が、特許請求の範囲の制御出力に相当する。
【００１８】
ここで、最適制御では、iterative Linear Quadratic Gaussian（以下、iLQG）を用いて最適化するが、iLQCは可制御性を前提としているため、基本的に動的環境には対応していない。つまり、iLQCは、本実施形態のように、障害物３０の座標値が変化する環境には対応していない。そこで、図４に示すように、ＰＣ５０は、直線運動をする障害物３０の位置をＮ点ピックアップする。Ｎは自然数である。そして、ＰＣ５０は、ピックアップした位置ごとに、手先１０の状態の初期値と障害物３０の位置とからなるコンディションを設定し、各コンディションについて、最適制御により軌道Ｔｒを生成する。さらに、ＰＣ５０は、生成したＮ個の軌道Ｔｒを教師データとしてニューラルネット学習を行い、ニューラルネットワークの汎化性能を利用して、Ｎ個の軌道Ｔｒを統合して一般化する。これにより、障害物３０がどのような位置に存在しても、物体１１を目的地Ｔａへ運ぶことが可能な手先１０の行動系列が獲得される。
【００１９】
ただし、図５及び図６のコンディション２に示すように、目標地Ｔａと障害物３０が近い場合などには、iLQGが収束しない。図５は、iLQGが収束しないコンディションが存在する場合に、ＰＣ５０が、収束していない軌道Ｔｒを含めて軌道Ｔｒを統合して、行動系列を獲得した場合の図である。この場合、獲得した行動系列を用いて手先１０を制御すると、瞬間的にコンディション２の状態になった際に、手先１０の不安定な動作が起きる可能性がある。
【００２０】
そこで、本実施形態では、図６に示すように、iLQGが収束しないコンディションが存在する場合に、ＰＣ５０は、当該コンディションについて、例外制御によりその場に停止する軌道Ｔｒを生成する。そして、ＰＣ５０は、例外制御により生成した軌道Ｔｒを含めた軌道Ｔｒを統合して行動系列を獲得する。これにより、ＰＣ５０がこの行動系列を用いて手先１０を制御した場合に、瞬間的にコンディション２の状態になった際には、手先１０はその場に停止するため、手先１０の動作が安定する。なお、ここでは、手先１０を移動させる場合だけでなく、その場に停止させる場合も含めて軌道Ｔｒとしている。
【００２１】
＜１−２．処理＞
次に、第１実施形態に係る手先１０の行動系列を学習する処理手順について、図７のフローチャートを参照して説明する。本処理手順は、ＰＣ５０が実行する。
【００２２】
まず、Ｓ１０では、１回目の学習としてitrに１を設定する。実行する学習回数は、予めmax_itr回に設定されている。
続いて、Ｓ２０では、condに１を設定する。コンディションは、予めコンディション１からコンディションmax_condの異なるmax_cond個のコンディションが設定されている。
【００２３】
続いて、Ｓ３０では、コンディションcondについて、最適制御により軌道Ｔｒを生成する。
続いて、Ｓ４０では、コンディションcondについて、最適制御による軌道Ｔｒの生成の収束性を判定する。最適制御による軌道Ｔｒの生成が収束しなかった場合には、Ｓ５０へ進み、最適制御による軌道Ｔｒの生成が収束した場合には、Ｓ６０へ進む。
【００２４】
Ｓ５０では、例外制御によりその場に停止する軌道Ｔｒを生成し、例外制御により生成した軌道Ｔｒをコンディションcondの軌道Ｔｒとする。具体的には、すべての関節のモータに対するトルク値を０にする。制御値として、トルク値ではなく目標関節角度を用いる場合は、すべての関節の目標関節角度を現在の関節角度にする。そして、Ｓ６０へ進む。
【００２５】
続いて、Ｓ６０では、コンディションcondについて生成した軌道Ｔｒを、教師データとして記憶する。具体的には、最適制御による軌道Ｔｒの生成が収束した場合には、Ｓ３０で生成した軌道Ｔｒを教師データとして記憶し、最適制御による軌道Ｔｒの生成が収束しなかった場合には、Ｓ５０で生成した軌道Ｔｒを教師データとして記憶する。
【００２６】
続いて、Ｓ７０では、condがmax_cond未満か否か判定する。condがmax_cond未満の場合は、condの値を「１」増加させて、Ｓ３０へ戻り、次のコンディションについて、Ｓ３０〜Ｓ７０の処理を繰り返し実行する。一方、condがmax_condと一致する場合は、Ｓ８０へ進む。
【００２７】
Ｓ８０では、コンディション１〜max_condについて生成したmax_cond個の軌道Ｔｒを教師データとして、ニューラルネット学習を行い、一般化した行動系列を取得する。
続いて、Ｓ９０では、itrがmax_itr未満か否か判定する。itrがmax_itr未満の場合には、itrの値を「１」増加させて、Ｓ２０の処理へ戻り、Ｓ２０〜Ｓ９０の処理を繰り返し実行する。一方、itrがmax_itrと一致する場合、つまり、予め設定された学習回数の学習を終了した場合には、本処理を終了する。
【００２８】
＜１−３．動作＞
図７のフローチャートに示す処理手順により獲得された行動系列を用いて、手先１０を制御した場合における手先１０の動作について、図８を参照して説明する。時刻Ｔ及びＴ＋１のコンディションは、障害物３０が目標地Ｔａに近く、学習時に最適制御による軌道Ｔｒの生成が収束しないコンディションである。また、時刻Ｔ＋１のコンディションは、障害物３０が目標地Ｔａから遠ざかり、学習時に最適制御による軌道Ｔｒの生成が収束するコンディションである。学習時に、時刻Ｔ及びＴ＋１のような収束しないコンディションについは、例外制御によりその場に停止する軌道Ｔｒが生成された。これにより、制御時に、障害物３０が目的地Ｔａの近くに存在する時刻Ｔ及びＴ＋１では、手先１０はその場に留まり、障害物３０が目標地Ｔａから遠ざかった時刻Ｔ＋２になってから、手先１０目標Ｔａへ向かって移動する。すなわち、手先１０の安定した動作が実現される。
【００２９】
＜１−４．効果＞
以上説明した第１実施形態によれば、以下の効果が得られる。
（１）動的な障害物３０の異なる位置とロボットの初期状態とからなる複数のコンディションのそれぞれについて、最適制御により目標地Ｔａまでの軌道Ｔｒが生成される。そして、ロボットの挙動が不安になりやすいコンディションである、最適制御による軌道Ｔｒの生成が収束しないコンディションについて、例外制御により軌道Ｔｒが生成される。そして、生成された各コンディションについての軌道Ｔｒがニューラルネット学習により一般化されて、行動系列が獲得される。したがって、障害物３０が移動する動的環境下において、安全かつ最適な行動系列を獲得することができる。
【００３０】
（２）収束しないコンディションについては、その場に停止する軌道Ｔｒが生成されるため、制御時には、動的な障害物３０が過ぎ去るまでその場に留まるといった安全な行動を取ることができる。
【００３１】
（第２実施形態）
＜２−１．第１実施形態との相違点＞
第２実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００３２】
第２実施形態では、ＰＣ５０は、最適制御による軌道Ｔｒの生成の収束性の判定を、予め設定された回数Ｎｉの学習が経過した後で行う点で第１実施形態と異なる。また、ＰＣ５０は、最適制御のコスト関数の値を用いて上記判定を行い、コスト関数の値が予め設定された閾値未満となる場合に、収束したと判定する。
【００３３】
＜２−２．処理＞
次に、第２実施形態に係る手先１０の行動系列を学習する処理手順について、図９のフローチャートを参照して説明する。本処理手順は、ＰＣ５０が実行する。
【００３４】
まず、Ｓ１００〜Ｓ１２０では、Ｓ１０〜Ｓ３０と同様の処理を行う。
続いて、Ｓ１３０では、itrが予め設定された回数であるＮｉ以上か否か判定する。Ｎｉは自然数である。図１０に、コンディション１〜３について、学習回数に対するコスト関数の値を示す。コンディション１〜３のうち、コンディション１及び２は収束するコンディションであり、コンディション３は収束しないコンディションである。図１０に示すように、コンディション１及び２は、学習の経過に伴い収束に向かうが、学習の初期では収束していない。そのため、学習の初期に収束性を判定すると、収束するようなコンディションも収束しないと判定してしまう可能性がある。
【００３５】
よって、itrがＮｉ未満の場合には、収束性の判定をすることなく、Ｓ１６０へ進む。一方、itrがＮｉ以上の場合には、Ｓ１４０へ進む。なお、収束性の判定が学習の後半で行われるように、Ｎｉはmax_itr／２以上とするとよい。
【００３６】
Ｓ１４０では、収束性を判定する。具体的には、コスト関数の値が閾値未満か否か判定する。コスト関数の値が閾値以上の場合には、収束していないと判定して、Ｓ１５０へ進む。Ｓ１５０では、Ｓ５０と同様の処理を行う。
【００３７】
一方、コスト関数の値が閾値未満の場合には、収束していると判定して、Ｓ１６０へ進む。Ｓ１６０〜Ｓ１９０では、Ｓ６０〜Ｓ９０と同様の処理を行う。以上で本処理を終了する。
【００３８】
＜２−３．効果＞
以上説明した第２実施形態によれば、前述した第１実施形態の効果（１），（２）に加え、以下の効果が得られる。
【００３９】
（３）学習の初期では、収束するはずのコンディションでも収束していない可能性があるため、学習の初期に収束性の判定を行うと、誤判定するおそれがある。よって、予め設定された回数Ｎｉの学習が経過した後で、収束性の判定が行われる。これにより、誤判定を抑制することができる。
（４）最適制御のコスト関数の値が閾値未満となる場合に、収束したと判定することで、適切に収束性を判定することができる。
【００４０】
（第３実施形態）
＜３−１．第１実施形態との相違＞
第３実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００４１】
第３実施形態は、第１実施形態と例外制御による軌道Ｔｒの生成が異なる。第１実施形態では、ＰＣ５０は、例外制御によりその場に停止する軌道Ｔｒを生成した。これに対して、第３実施形態では、ＰＣ５０は、例外制御により、手先１０と障害物３０との距離Ｌに応じて、軌跡Ｔｒを生成する。
【００４２】
＜３−２．処理＞
次に、第３実施形態に係る手先１０の行動系列を学習する処理手順について、図１１のフローチャートを参照して説明する。本処理手順は、ＰＣ５０が実行する。
【００４３】
まず、Ｓ２００〜Ｓ２３０では、Ｓ１０〜Ｓ４０と同様の処理を行う。Ｓ２３０で収束していないと判定した場合は、Ｓ２４０で、センシングにより手先１０と障害物３０との距離Ｌを算出する。具体的には、図１に破線で示すように、３Ｄ物体認識装置７０を用いて手先１０の座標を取得し、距離Ｌを算出してもよいし、ニューラルネットワーク学習とは別のＤＮＮを用いて、カメラ６０で撮影された画像データから手先１０の座標を取得し、距離Ｌを算出してもよい。
【００４４】
続いて、Ｓ２５０では、Ｓ２４０で算出した距離Ｌが予め設定された距離閾値未満の場合、すなわち、手先１０が障害物３０の近くに位置している場合には、図１２に示すように、手先１０が障害物３０に接触しないように、回避目標地Ｔａａを算出する。回避目標Ｔａａは、障害物３０を回避しつつ、回避目標地Ｔａａから目標地Ｔａへ到達可能な位置である。
【００４５】
続いて、Ｓ２６０では、Ｓ２４０で算出した距離Ｌが距離閾値以上の場合には、その場に停止する軌跡Ｔｒを生成する。一方、Ｓ２４０で算出した距離Ｌが距離閾値未満の場合には、Ｓ２５０で算出した回避目標地Ｔａａまでの軌跡Ｔｒを生成する。回避目標地Ｔａａまでの軌跡Ｔｒは、逆運動学や逆動力学により算出してもよいし、他の方法で算出してもよい。あるいは、回避目標地Ｔａａまでの軌跡Ｔｒは、人間が与えてもよい。
【００４６】
続いて、Ｓ２７０〜Ｓ３００では、Ｓ６０〜Ｓ９０と同様の処理を行う。以上で本処理を終了する。なお、Ｓ２３０の収束判定において、第２実施形態の収束判定を適用してもよい。つまり、Ｓ２３０において、Ｓ１３０及びＳ１４０の処理を行ってもよい。
【００４７】
＜３−３．効果＞
以上説明した第３実施形態によれば、前述した第１実施形態及び第２実施形態の効果（１），（３），（４）に加え、以下の効果が得られる。
【００４８】
（５）手先１０と障害物３０との距離Ｌが距離閾値未満で、手先１０が障害物３０に近い場合には、障害物３０を回避しつつ、目標地Ｔａに到達可能な回避目標地Ｔａａが算出される。よって、手先１０が障害物３０と接近し且つ収束しないコンディションにおいて、制御時により安全な行動を取ることができる。
【００４９】
（第４実施形態）
＜４−１．第３実施形態との相違＞
第４実施形態は、基本的な構成は第３実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第３実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。第４実施形態は、回避目標地Ｔａａまでの軌跡Ｔｒの生成手法が第３実施形態と異なる。
【００５０】
第４実施形態に係る手先１０の行動系列を学習する処理手順について、図１３のフローチャートを参照して説明する。本処理手順は、ＰＣ５０が実行する。
まず、Ｓ４００〜Ｓ４５０では、Ｓ２００〜Ｓ２５０と同様の処理を行う。
【００５１】
続いて、Ｓ４６０では、最適制御により回避目標地Ｔａａまでの軌跡Ｔｒを生成する。つまり、Ｓ４２０において、収束性の判定前に軌跡Ｔｒを生成した場合と同様に、最適制御により回避目標地Ｔａａまでの軌跡Ｔｒを生成する。
【００５２】
続いて、Ｓ４７０〜Ｓ５００では、Ｓ２７０〜Ｓ３００と同様の処理を行う。以上で本処理手順を終了する。なお、Ｓ４３０の収束判定において、第２実施形態の収束判定を適用してもよい。つまり、Ｓ４３０において、Ｓ１３０及びＳ１４０の処理を行ってもよい。
【００５３】
＜４−２．効果＞
以上説明した、説明した第４実施形態によれば、前述した第１〜第３実施形態の効果（１），（３），（４），（５）に加え、以下の効果が得られる。
（６）最適制御により回避目標地Ｔａａまでの軌跡Ｔｒが生成されるため、逆運動学や逆動力学による計算を解く必要がない。すなわち、ロボットモデルが必要ない。
【００５４】
（他の実施形態）
以上、本開示を実施するための形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００５５】
（ａ）上記各実施形態では、ロボットをロボットの手先１０としたが、これに限定されるものではない。ロボットは、手先１０以外のロボットの部分でもよい。
（ｂ）上記各実施形態では、最適制御は、障害物３０の座標値と各関節の間接角を入力としたが、これに限定されるものではない。例えば、最適制御は、障害物３０の座標値と各間接角の角速度を入力としてもよい。
【００５６】
（ｃ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００５７】
（ｄ）上述した学習システム及び学習方法の他、当該学習方法をコンピュータに実行させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００５８】
１０…手先、３０…障害物、５０…ＰＣ、１００…学習システム。
【図１】
2019005834.tif 000003
【図２】
2019005834.tif 000004
【図３】
2019005834.tif 000005
【図４】
2019005834.tif 000006
【図５】
2019005834.tif 000007
【図６】
2019005834.tif 000008
【図７】
2019005834.tif 000009
【図８】
2019005834.tif 000010
【図９】
2019005834.tif 000011
【図１０】
2019005834.tif 000012
【図１１】
2019005834.tif 000013
【図１２】
2019005834.tif 000014
【図１３】
2019005834.tif 000015