(57)【特許請求の範囲】
【請求項１】
ロボットが移動する領域に存在している障害物の位置を示す観測データと、前記ロボットが移動する領域内での前記ロボットの移動状態のうち、前記ロボットが移動を開始する移動開始点での前記ロボットの移動状態を示す状態データとを第１の学習モデルに与えて、前記第１の学習モデルから、前記ロボットの移動経路を取得する移動経路取得部と、
前記移動経路取得部により取得された移動経路に沿って、前記ロボットが移動するための前記ロボットの制御値を生成する制御値生成部と
を備え、
前記制御値生成部は、前記ロボットが前記領域内を移動しているときのロボットの移動状態を示す状態データと、前記移動経路取得部により取得された移動経路とを第２の学習モデルに与えて、前記第２の学習モデルから、前記ロボットの制御値を取得する
ことを特徴とするロボット制御装置。
【請求項２】
前記制御値生成部により生成されたロボットの制御値のうち、前記ロボットの速度に関する制御値が速度閾値よりも大きければ、前記ロボットの速度に関する制御値を前記速度閾値以下に変更し、前記ロボットの加速度に関する制御値が加速度閾値よりも大きければ、前記ロボットの加速度に関する制御値を前記加速度閾値以下に変更する制御値補正部を備えた
ことを特徴とする請求項１記載のロボット制御装置。
【請求項３】
移動経路取得部が、ロボットが移動する領域に存在している障害物の位置を示す観測データと、前記ロボットが移動する領域内での前記ロボットの移動状態のうち、前記ロボットが移動を開始する移動開始点での前記ロボットの移動状態を示す状態データとを第１の学習モデルに与えて、前記第１の学習モデルから、前記ロボットの移動経路を取得し、
制御値生成部が、前記移動経路取得部により取得された移動経路に沿って、前記ロボットが移動するための前記ロボットの制御値を生成する
ロボット制御方法であって、
前記制御値生成部は、前記ロボットが前記領域内を移動しているときのロボットの移動状態を示す状態データと、前記移動経路取得部により取得された移動経路とを第２の学習モデルに与えて、前記第２の学習モデルから、前記ロボットの制御値を取得する
ことを特徴とするロボット制御方法。
【請求項４】
ロボットが複数の領域のそれぞれに存在している障害物と衝突することなく、前記ロボットがそれぞれの領域を移動することが可能な経路を示す教師データを生成する教師データ生成部と、
前記複数の領域のそれぞれに存在している障害物の位置を示す観測データと、それぞれの領域内での前記ロボットの移動状態のうち、前記ロボットが移動を開始する移動開始点での前記ロボットの移動状態を示す状態データと、前記教師データ生成部により生成された教師データとを用いて、前記ロボットの移動経路を学習し、前記ロボットが移動する領域に存在している障害物の位置を示す観測データと、前記ロボットが移動する領域内での前記ロボットの移動状態のうち、前記ロボットが移動を開始する移動開始点での前記ロボットの移動状態を示す状態データとが与えられると、前記ロボットの移動経路を出力する第１の学習モデルを生成する学習モデル生成部と
を備え、
前記学習モデル生成部は、
前記ロボットがそれぞれの領域内を移動しているときの前記ロボットの移動状態を示す状態データと、前記教師データ生成部により生成された教師データ、又は、前記第１の学習モデルから出力されたロボットの移動経路とを用いて、前記ロボットの制御値を学習し、前記ロボットが或る領域内を移動しているときの前記ロボットの移動状態を示す状態データと、前記第１の学習モデルから出力されたロボットの移動経路とが与えられると、前記ロボットの制御値を出力する第２の学習モデルを生成する
ことを特徴とする学習モデル生成装置。
【請求項５】
前記学習モデル生成部は、
前記第１の学習モデルを生成する代わりに、
前記ロボットがそれぞれの領域内を移動しているときの前記ロボットの移動状態を示す状態データと、前記教師データ生成部により生成された教師データとを用いて、前記ロボットの制御値を学習し、前記ロボットが或る領域内を移動しているときの前記ロボットの移動状態を示す状態データと、前記ロボットの移動経路とが与えられると、前記ロボットの制御値を出力する第２の学習モデルを生成する
ことを特徴とする請求項４記載の学習モデル生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットの制御値を生成するロボット制御装置及びロボット制御方法と、学習モデルを生成する学習モデル生成装置とに関するものである。
【背景技術】
【０００２】
近年、自律的に走行するロボット（以下、「自律走行型ロボット」と称する）が開発されている。自律走行型ロボットには、周囲の環境に存在する障害物に衝突することなく移動することが求められる場合がある。ロボットの制御値を生成するロボット制御装置として、障害物が存在する様々な環境内、言い換えれば、どのような障害物がどこに存在するかが互いに異なる複数の環境内のそれぞれにおいて、ロボットを障害物と衝突することなく移動させることが可能な制御装置の開発が望まれている。
ところで、以下の特許文献１には、いわゆるアーム型ロボットの周辺に何らかの機材等が存在している或る単一の環境内において、ロボットのアームが周辺機材等に当たらないように、アームを動作させるための動作プログラムを学習する機械学習装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−４３３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている機械学習装置を、仮に、上記のような自律走行型ロボットに適用することが可能であるとすれば、障害物と衝突することなく、ロボットを移動させることが可能な動作プログラムを学習できる可能性がある。
しかし、当該機械学習装置は、或る単一の環境内において、アームを動作させるための動作プログラムを学習するものであり、或る単一の環境と異なる他の環境内において、アームを動作させたときに、アームが周辺機材等に当たらないことを保証するものではない。このため、当該機械学習装置により学習された動作プログラムに従って移動するロボットが、他の領域内を移動すると、障害物に衝突してしまうことがあるという課題があった。【０００５】
本開示は、上記のような課題を解決するためになされたもので、障害物が存在している既知の領域と障害物の位置等が異なる領域内を、障害物と衝突することなく、ロボットを移動させることができるロボット制御装置及びロボット制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係るロボット制御装置は、ロボットが移動する領域に存在している障害物の位置を示す観測データと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データとを第１の学習モデルに与えて、第１の学習モデルから、ロボットの移動経路を取得する移動経路取得部と、移動経路取得部により取得された移動経路に沿って、ロボットが移動するためのロボットの制御値を生成する制御値生成部とを備え、制御値生成部は、ロボットが領域内を移動しているときのロボットの移動状態を示す状態データと、移動経路取得部により取得された移動経路とを第２の学習モデルに与えて、第２の学習モデルから、ロボットの制御値を取得する。
【発明の効果】
【０００７】
本開示によれば、障害物が存在している既知の領域と障害物の位置等が異なる領域内を、障害物と衝突することなく、ロボットを移動させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る学習モデル生成装置１を示す構成図である。
【図２】実施の形態１に係る学習モデル生成装置１のハードウェアを示すハードウェア構成図である。
【図３】学習モデル生成装置１が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
【図４】実施の形態１に係る学習モデル生成装置５を示す構成図である。
【図５】実施の形態１に係る学習モデル生成装置５のハードウェアを示すハードウェア構成図である。
【図６】学習モデル生成装置５が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
【図７】実施の形態１に係る他の学習モデル生成装置１を示す構成図である。
【図８】実施の形態１に係るロボット制御装置１１を示す構成図である。
【図９】実施の形態１に係るロボット制御装置１１のハードウェアを示すハードウェア構成図である。
【図１０】ロボット制御装置１１が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
【図１１】図１に示す学習モデル生成装置１の処理手順を示すフローチャートである。
【図１２】図１２Ａ、図１２Ｂ、図１２Ｃ及び図１２Ｄは、障害物が存在している領域を示す説明図である。
【図１３】図４に示す学習モデル生成装置５の処理手順を示すフローチャートである。
【図１４】図８に示すロボット制御装置１１の処理手順を示すフローチャートである。
【図１５】ロボットの移動経路を示す説明図である。
【発明を実施するための形態】
【０００９】
以下、本開示をより詳細に説明するために、本開示を実施するための形態について、添付の図面に従って説明する。
【００１０】
実施の形態１．
図１は、実施の形態１に係る学習モデル生成装置１を示す構成図である。図２は、実施の形態１に係る学習モデル生成装置１のハードウェアを示すハードウェア構成図である。
図１において、学習モデル生成装置１は、教師データ生成部２及び学習モデル生成部３を備えている。
教師データ生成部２は、例えば、図２に示す教師データ生成回路２１によって実現される。
教師データ生成部２は、ロボットがＩ（Ｉは、２以上の整数）個の領域のそれぞれに存在している障害物と衝突することなく、ロボットがそれぞれの領域を移動することが可能な経路を示す教師データｙｉ（ｉ＝１，・・・，Ｉ）を生成する。Ｉ個の領域のそれぞれに存在している障害物は、形状、大きさ、又は、位置のいずれかが異なっている。
教師データ生成部２は、生成した教師データｙｉを学習モデル生成部３に出力する。
【００１１】
学習モデル生成部３は、例えば、図２に示す学習モデル生成回路２２によって実現される。
学習モデル生成部３は、Ｉ個の領域のそれぞれに存在している障害物の位置を示す観測データｄｏｂ，ｉ（ｉ＝１，・・・，Ｉ）と、それぞれの領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データｄｓ，ｉ，０とを取得する。ロボットの移動状態とは、ロボットの位置、ロボットの速度、又は、ロボットの加速度等である。
また、学習モデル生成部３は、教師データ生成部２により生成された教師データｙｉを取得する。
学習モデル生成部３は、観測データｄｏｂ，ｉと状態データｄｓ，ｉ，０と教師データｙｉとを用いて、ロボットの移動経路を学習した第１の学習モデル４（図８を参照）を生成する。
第１の学習モデル４は、例えば、ニューラルネットワークによって実現される。
第１の学習モデル４は、ロボットが移動する領域に存在している障害物の位置を示す観測データｄｏｂと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データｄｓ，０とが与えられると、ロボットの移動経路を示す経路データを出力する。
【００１２】
図１では、学習モデル生成装置１の構成要素である教師データ生成部２及び学習モデル生成部３のそれぞれが、図２に示すような専用のハードウェアによって実現されるものを想定している。即ち、学習モデル生成装置１が、教師データ生成回路２１及び学習モデル生成回路２２によって実現されるものを想定している。
教師データ生成回路２１及び学習モデル生成回路２２のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又は、これらを組み合わせたものが該当する。
【００１３】
学習モデル生成装置１の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、学習モデル生成装置１が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
ソフトウェア又はファームウェアは、プログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、あるいは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）が該当する。
【００１４】
図３は、学習モデル生成装置１が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
学習モデル生成装置１が、ソフトウェア又はファームウェア等によって実現される場合、教師データ生成部２及び学習モデル生成部３におけるそれぞれの処理手順をコンピュータに実行させるためのプログラムがメモリ４１に格納される。そして、コンピュータのプロセッサ４２がメモリ４１に格納されているプログラムを実行する。
【００１５】
また、図２では、学習モデル生成装置１の構成要素のそれぞれが専用のハードウェアによって実現される例を示し、図３では、学習モデル生成装置１がソフトウェア又はファームウェア等によって実現される例を示している。しかし、これは一例に過ぎず、学習モデル生成装置１における一部の構成要素が専用のハードウェアによって実現され、残りの構成要素がソフトウェア又はファームウェア等によって実現されるものであってもよい。
【００１６】
図４は、実施の形態１に係る学習モデル生成装置５を示す構成図である。図５は、実施の形態１に係る学習モデル生成装置５のハードウェアを示すハードウェア構成図である。
図４において、学習モデル生成装置５は、教師データ生成部６及び学習モデル生成部７を備えている。
教師データ生成部６は、例えば、図５に示す教師データ生成回路２３によって実現される。
教師データ生成部６は、図１に示す教師データ生成部２と同様に、ロボットがＩ個の領域のそれぞれに存在している障害物と衝突することなく、ロボットがそれぞれの領域を移動することが可能な経路を示す教師データｙｉ（ｉ＝１，・・・，Ｉ）を生成する。
教師データ生成部６は、生成した教師データｙｉを学習モデル生成部７に出力する。
【００１７】
学習モデル生成部７は、報酬値算出部８及びモデル生成処理部９を備えている。
学習モデル生成部７は、ロボットがそれぞれの領域を移動しているときのロボットの移動状態を示す状態データｄｓ，ｉ，ｔと、教師データ生成部６により生成された教師データｙｉとを用いて、ロボットの制御値ａｔを学習した第２の学習モデル１０（図８を参照）を生成する。ｔは、後述する図８に示すロボット制御装置１１がロボットの移動を制御する制御処理時を示すものである。
【００１８】
報酬値算出部８は、例えば、図５に示す報酬値算出回路２４によって実現される。
報酬値算出部８は、ロボットがそれぞれの領域を移動しているときのロボットの移動状態を示す状態データｄｓ，ｉ，ｔと、教師データ生成部６により生成された教師データｙｉとを取得する。
報酬値算出部８は、状態データｄｓ，ｉ，ｔと教師データｙｉとを報酬項として含む報酬関数を用いて、ロボットが移動を開始する移動開始点から、ロボットが移動を終了する移動終了点に至るまでに、ロボットの移動を制御する複数の制御処理時ｔでの報酬値Ｒｔをそれぞれ算出する。
報酬値算出部８は、それぞれの制御処理時ｔでの報酬値Ｒｔをモデル生成処理部９に出力する。
【００１９】
モデル生成処理部９は、例えば、図５に示すモデル生成処理回路２５によって実現される。
モデル生成処理部９は、報酬値算出部８により算出されたそれぞれの制御処理時ｔでの報酬値Ｒｔの累積和の期待値Ｊを用いて、ロボットの制御値ａｔを学習した第２の学習モデル１０を生成する。
第２の学習モデル１０は、例えば、ニューラルネットワークによって実現される。
第２の学習モデル１０は、ロボットが或る領域内を移動しているときのロボットの移動状態を示す状態データｄｓ，ｔと、ロボットの移動経路を示す経路データとが与えられると、それぞれの制御処理時ｔでのロボットの制御値ａｔを出力する。
【００２０】
図４では、学習モデル生成装置５の構成要素である教師データ生成部６、報酬値算出部８及びモデル生成処理部９のそれぞれが、図５に示すような専用のハードウェアによって実現されるものを想定している。即ち、学習モデル生成装置５が、教師データ生成回路２３、報酬値算出回路２４及びモデル生成処理回路２５によって実現されるものを想定している。
教師データ生成回路２３、報酬値算出回路２４及びモデル生成処理回路２５のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、又は、これらを組み合わせたものが該当する。
【００２１】
学習モデル生成装置５の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、学習モデル生成装置５が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
図６は、学習モデル生成装置５が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
学習モデル生成装置５が、ソフトウェア又はファームウェア等によって実現される場合、教師データ生成部６、報酬値算出部８及びモデル生成処理部９におけるそれぞれの処理手順をコンピュータに実行させるためのプログラムがメモリ４３に格納される。そして、コンピュータのプロセッサ４４がメモリ４３に格納されているプログラムを実行する。
【００２２】
また、図５では、学習モデル生成装置５の構成要素のそれぞれが専用のハードウェアによって実現される例を示し、図６では、学習モデル生成装置５がソフトウェア又はファームウェア等によって実現される例を示している。しかし、これは一例に過ぎず、学習モデル生成装置５における一部の構成要素が専用のハードウェアによって実現され、残りの構成要素がソフトウェア又はファームウェア等によって実現されるものであってもよい。
【００２３】
ここでは、図１に示す学習モデル生成部３が第１の学習モデル４を生成し、図４に示す学習モデル生成部７が第２の学習モデル１０を生成している。しかし、これは一例に過ぎず、例えば、図７に示すように、学習モデル生成部３’が、図１に示す学習モデル生成部３と、図４に示す学習モデル生成部７とを備え、学習モデル生成部３’が、第１の学習モデル４及び第２の学習モデル１０のそれぞれを生成するようにしてもよい。
図７は、実施の形態１に係る他の学習モデル生成装置１を示す構成図である。
学習モデル生成部３’が、第１の学習モデル４及び第２の学習モデル１０のそれぞれを生成する場合、学習モデル生成部７の報酬値算出部８が報酬値Ｒｔの算出に用いる教師データｙｉとして、教師データ生成部６により生成された教師データｙｉの代わりに、第１の学習モデル４から出力された経路データを用いてもよい。報酬値算出部８が、第１の学習モデル４から出力された経路データを用いる場合、第１の学習モデル４と第２の学習モデル１０とを関連させることができる。したがって、学習モデル生成部７が、教師データ生成部６により生成された教師データｙｉの代わりに、第１の学習モデル４から出力された経路データを用いる場合、教師データ生成部６により生成された教師データｙｉを用いる場合よりも、第２の学習モデル１０の生成精度を高めることができる。
【００２４】
図８は、実施の形態１に係るロボット制御装置１１を示す構成図である。図９は、実施の形態１に係るロボット制御装置１１のハードウェアを示すハードウェア構成図である。
図８において、ロボット制御装置１１は、データ取得部１２、移動経路取得部１３、制御値生成部１４及び制御値補正部１５を備えている。
データ取得部１２は、例えば、図９に示すデータ取得回路３１によって実現される。
データ取得部１２は、ロボットが移動する領域に存在している障害物の位置を示す観測データｄｏｂと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データｄｓ，０とを取得する。
また、データ取得部１２は、ロボットが当該領域内を移動しているときのロボットの移動状態を示す状態データｄｓ，ｔを取得する。
データ取得部１２は、観測データｄｏｂ及び状態データｄｓ，０のそれぞれを移動経路取得部１３に出力する。
データ取得部１２は、状態データｄｓ，ｔを制御値生成部１４のそれぞれに出力する。
【００２５】
移動経路取得部１３は、例えば、図９に示す移動経路取得回路３２によって実現される。
移動経路取得部１３は、学習モデル生成装置１の学習モデル生成部３により生成された第１の学習モデル４を有している。
移動経路取得部１３は、データ取得部１２により取得された観測データｄｏｂと、データ取得部１２により取得された移動開始点でのロボットの移動状態を示す状態データｄｓ，０とを第１の学習モデル４に与えて、第１の学習モデル４から、ロボットの移動経路を取得する。
移動経路取得部１３は、ロボットの移動経路を示す経路データを制御値生成部１４に出力する。
【００２６】
制御値生成部１４は、例えば、図９に示す制御値生成回路３３によって実現される。
制御値生成部１４は、移動経路取得部１３により取得された移動経路に沿って、ロボットが移動するためのロボットの制御値ａｔを生成する。
即ち、制御値生成部１４は、学習モデル生成装置５の学習モデル生成部７により生成された第２の学習モデル１０を有している。
制御値生成部１４は、ロボットが領域内を移動しているときのロボットの移動状態を示す状態データｄｓ，ｔと、ロボットの移動経路を示す経路データとを第２の学習モデル１０に与えて、第２の学習モデル１０からロボットの制御値ａｔを取得する。
ロボットの制御値ａｔは、複数の制御値を含んでいる。ロボットの制御値ａｔとしては、例えば、ロボットの移動方向に関する制御値ａｔ，ｄ、ロボットの速度に関する制御値ａｔ，ｖ、又は、ロボットの加速度に関する制御値ａｔ，ａがある。
制御値生成部１４は、ロボットの制御値ａｔを制御値補正部１５に出力する。
【００２７】
制御値補正部１５は、例えば、図９に示す制御値補正回路３４によって実現される。
制御値補正部１５は、制御値生成部１４により生成されたロボットの制御値ａｔのうち、ロボットの速度に関する制御値ａｔ，ｖが速度閾値Ｔｈｖよりも大きければ、ロボットの速度に関する制御値ａｔ，ｖを速度閾値Ｔｈｖ以下に変更する。
制御値補正部１５は、制御値生成部１４により生成されたロボットの制御値ａｔのうち、ロボットの加速度に関する制御値ａｔ，ａが加速度閾値Ｔｈａよりも大きければ、ロボットの加速度に関する制御値ａｔ，ａを加速度閾値Ｔｈａ以下に変更する。
速度閾値Ｔｈｖ及び加速度閾値Ｔｈａのそれぞれは、制御値補正部１５の内部メモリに格納されていてもよいし、ロボット制御装置１１の外部から与えられるものであってもよい。
【００２８】
図８では、ロボット制御装置１１の構成要素であるデータ取得部１２、移動経路取得部１３、制御値生成部１４及び制御値補正部１５のそれぞれが、図９に示すような専用のハードウェアによって実現されるものを想定している。即ち、ロボット制御装置１１が、データ取得回路３１、移動経路取得回路３２、制御値生成回路３３及び制御値補正回路３４によって実現されるものを想定している。
データ取得回路３１、移動経路取得回路３２、制御値生成回路３３及び制御値補正回路３４のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、又は、これらを組み合わせたものが該当する。
【００２９】
ロボット制御装置１１の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、ロボット制御装置１１が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
図１０は、ロボット制御装置１１が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
ロボット制御装置１１が、ソフトウェア又はファームウェア等によって実現される場合、データ取得部１２、移動経路取得部１３、制御値生成部１４及び制御値補正部１５におけるそれぞれの処理手順をコンピュータに実行させるためのプログラムがメモリ４５に格納される。そして、コンピュータのプロセッサ４６がメモリ４５に格納されているプログラムを実行する。
【００３０】
また、図９では、ロボット制御装置１１の構成要素のそれぞれが専用のハードウェアによって実現される例を示し、図１０では、ロボット制御装置１１がソフトウェア又はファームウェア等によって実現される例を示している。しかし、これは一例に過ぎず、ロボット制御装置１１における一部の構成要素が専用のハードウェアによって実現され、残りの構成要素がソフトウェア又はファームウェア等によって実現されるものであってもよい。
【００３１】
次に、図１に示す学習モデル生成装置１の動作について説明する。
図１１は、図１に示す学習モデル生成装置１の処理手順を示すフローチャートである。
図１２Ａ、図１２Ｂ、図１２Ｃ及び図１２Ｄは、障害物が存在している領域を示す説明図である。
図１２Ａ、図１２Ｂ及び図１２Ｃのそれぞれが示す領域に存在している障害物の形状は、互いに異なっている。また、それぞれが示す領域に存在している障害物の大きさは、互いに異なっている。また、それぞれが示す領域に存在している障害物の位置は、互いに異なっている。
図１２Ｃが示す領域と、図１２Ｄが示す領域とは、同じ領域であるが、ロボットの移動開始点と移動終了点とが異なっている。
図１２Ａ、図１２Ｂ、図１２Ｃ及び図１２Ｄにおいて、Ｓｔａｒｔは、ロボットの移動開始点であり、Ｇｏａｌは、ロボットの移動終了点である。破線は、ロボットが障害物と衝突することなく、移動することが可能な学習用の経路である。
【００３２】
教師データ生成部２は、ロボットがＩ（Ｉは、２以上の整数）個の領域のそれぞれに存在している障害物と衝突することなく、ロボットがそれぞれの領域を移動することが可能な経路を示す教師データｙｉを生成する（図１１のステップＳＴ１）。
障害物が存在している複数の領域が同じ領域であっても、例えば、図１２Ｃ及び図１２Ｄに示すように、ロボットの移動開始点Ｓｔａｒｔと移動終了点Ｇｏａｌとが異なっていれば、異なる領域であるとして、教師データ生成部２は、それぞれの領域について、教師データｙｉを生成する。
教師データ生成部２は、Ｉ個の領域のそれぞれに存在している障害物の位置を示す観測データｄｏｂ，ｉ（ｉ＝１，・・・，Ｉ）と、ロボットがそれぞれの領域を移動しているときのロボットの移動状態を示す状態データｄｓ，ｉ，ｔとを用いて、経路生成アルゴリズムを実施することによって、学習用の経路を示す教師データを生成することができる。経路生成アルゴリズムとしては、ＲＲＴ＊（Ｒａｐｉｄｌｙ  ｅｘｐｌｏｒｉｎｇ  Ｒａｎｄｏｍ  Ｔｒｅｅ  ｓｔａｒ）、Ａ＊（Ａ−ｓｔａｒ）、又は、ダイクストラ法等を用いることができる。
【００３３】
ここでは、教師データ生成部２が、経路生成アルゴリズムを実施することによって、学習用の経路を示す教師データｙｉを生成している。しかし、これは一例に過ぎず、例えば、以下のようにして、教師データ生成部２が、教師データｙｉを生成するようにしてもよい。
教師データ生成部２が、それぞれの領域内において、障害物が占有している領域を示す情報を取得する。そして、教師データ生成部２が、コンピュータシミュレーションによって、当該情報から、障害物と衝突することなく、ロボットがそれぞれの領域を移動することが可能な経路を教師データｙｉとして算出する。
【００３４】
障害物の位置の観測は、深度センサ等の距離画像センサ、ＬｉＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  Ａｎｄ  Ｒａｎｇｉｎｇ）、又は、ミリ波レーザ等によって行われる。ロボットの移動状態を示す状態データの測定は、ロボットが実装しているセンサ等によって行われる。
経路生成アルゴリズムの実施は、多くの時間を要するため、ロボットの移動をリアルタイムに制御する際には、経路生成アルゴリズムを実施することは困難である。このため、教師データ生成部２は、図８に示すロボット制御装置１１によって、ロボットの移動がリアルタイムに制御される前に、学習用の経路を生成し、学習用の経路を示す教師データｙｉを学習モデル生成部３に出力する。
【００３５】
学習モデル生成部３は、距離画像センサ等から、Ｉ個の領域のそれぞれに存在している障害物の位置を示す観測データｄｏｂ，ｉ（ｉ＝１，・・・，Ｉ）を取得する。
また、学習モデル生成部３は、ロボットが実装しているセンサ等から、それぞれの領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点Ｓｔａｒｔでのロボットの移動状態を示す状態データｄｓ，ｉ，０を取得する。
また、学習モデル生成部３は、教師データ生成部２から、それぞれの領域についての教師データｙｉを取得する。
学習モデル生成部３は、取得した観測データｄｏｂ，ｉと、取得した状態データｄｓ，ｉ，０と、取得した教師データｙｉと用いて、ロボットの移動経路を学習した第１の学習モデル４を生成する（図１１のステップＳＴ２）。
第１の学習モデル４は、ロボットが移動する領域に存在している障害物の位置を示す観測データｄｏｂと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データｄｓ，０とが与えられると、ロボットの移動経路を示す経路データを出力するものである。
学習モデル生成部３により生成された第１の学習モデル４は、図８に示すロボット制御装置１１の移動経路取得部１３に実装される。
【００３６】
以下、学習モデル生成部３による第１の学習モデル４の生成例を具体的に説明する。
学習モデル生成部３により生成される第１の学習モデル４は、ニューラルネットワーク等の関数近似器ｆθ（ｄｉ）である。
学習モデル生成部３は、学習用の経路を示す教師データｙｉと、入力データｄｉとが与えられると、以下の式（１）に示す回帰問題を解くことによって、関数近似器ｆθ（ｄｉ）が取り得るパラメータθの中で、最適なパラメータθ＊を算出する。
式（１）に示す回帰問題は、例えば、勾配降下法を用いることによって、解くことができる。入力データｄｉは、Ｉ個の領域のうち、ｉ番目の領域に存在している障害物の位置を示す観測データｄｏｂ，ｉと、ロボットがｉ番目の領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点Ｓｔａｒｔでのロボットの移動状態を示す状態データｄｓ，ｉ，０とを含むデータである。
0006815571.tif 000002
学習モデル生成部３は、最適なパラメータθ＊を算出すると、最適なパラメータθ＊を有する学習モデルを、第１の学習モデル４として、図８に示す移動経路取得部１３に与える。
【００３７】
次に、図４に示す学習モデル生成装置５の動作について説明する。
図１３は、図４に示す学習モデル生成装置５の処理手順を示すフローチャートである。
教師データ生成部６は、図１に示す教師データ生成部２と同様に、ロボットがＩ個の領域のそれぞれに存在している障害物と衝突することなく、ロボットがそれぞれの領域を移動することが可能な経路を示す教師データｙｉを生成する（図１３のステップＳＴ１１）。
教師データ生成部６は、図８に示すロボット制御装置１１によって、ロボットの移動がリアルタイムに制御される前に、学習用の経路を生成し、学習用の経路を示す教師データｙｉを学習モデル生成部７に出力する。
【００３８】
学習モデル生成部７の報酬値算出部８は、Ｉ個の領域のそれぞれに存在している障害物の位置を示す観測データｄｏｂ，ｉと、ロボットがそれぞれの領域を移動しているときのロボットの移動状態を示す状態データｄｓ，ｉ，ｔと、教師データ生成部６により生成された教師データｙｉとを取得する。
報酬値算出部８は、取得した観測データｄｏｂ，ｉと、取得した状態データｄｓ，ｉ，ｔと、取得した教師データｙｉとを報酬項として含む、式（２）の報酬関数を用いて、ロボットの移動を制御する複数の制御処理時ｔでの報酬値Ｒｔをそれぞれ算出する（図１３のステップＳＴ１２）。
0006815571.tif 000003
式（２）において、ｗ１、ｗ２、ｗ３、ｗ４のそれぞれは、重みである。
右辺第１項のIIｃｏｌｌｉｓｉｏｎは、制御処理時ｔにおいて、ロボットが障害物と衝突しているか否かを示す判定結果であり、観測データｄｏｂ，ｉ及び状態データｄｓ，ｉ，ｔのそれぞれから得られる報酬項である。
右辺第２項のｘｔドット（電子出願の関係上、明細書の文章中では、ｘの文字の上に“・・”の記号を付することができないため、ｘｔドットのように表記している）は、制御処理時ｔにおけるロボットの加速度であり、状態データｄｓ，ｉ，ｔから得られる報酬項である。右辺第２項は、ロボットが滑らかに動作するように、加速度の大きさに応じた罰則として作用する。
右辺第３項のｄｒｅｆｅｒｅｎｃｅ及び右辺第４項のｎｉｎｄｅｘのそれぞれは、教師データｙｉ及び状態データｄｓ，ｉ，ｔのそれぞれから得られる報酬項である。ｄｒｅｆｅｒｅｎｃｅは、教師データｙｉが示す経路からロボットまでの距離であり、ｗ３＜０であれば、教師データｙｉが示す経路からロボットまでの距離が近いとき、高い報酬値Ｒｔが算出される。
ｎｉｎｄｅｘは、ロボットが移動終了点Ｇｏａｌに向かって進んでいるか否かを示すものであり、ロボットが移動終了点Ｇｏａｌに向かって進んでいれば、高い報酬値Ｒｔが算出される。
モデル生成処理部９により生成される第２の学習モデル１０である関数近似器が取り得るパラメータφは、式（２）の右辺第１項から第４項に応じて変化する。
【００３９】
式（２）は、右辺第１項のIIｃｏｌｌｉｓｉｏｎを報酬項として含む報酬関数を示している。右辺第１項のIIｃｏｌｌｉｓｉｏｎは、観測データｄｏｂ，ｉ及び状態データｄｓ，ｉ，ｔのそれぞれから得られるものであるため、報酬値算出部８が、観測データｄｏｂ，ｉを取得している。報酬値算出部８は、右辺第１項のIIｃｏｌｌｉｓｉｏｎを含まない報酬関数を用いて、制御処理時ｔでの報酬値Ｒｔを算出するようにしてもよい。右辺第１項のIIｃｏｌｌｉｓｉｏｎを含まない報酬関数を用いる場合、報酬値算出部８は、観測データｄｏｂ，ｉを取得する必要がない。
報酬値算出部８は、それぞれの制御処理時ｔでの報酬値Ｒｔをモデル生成処理部９に出力する。
【００４０】
モデル生成処理部９は、報酬値算出部８からそれぞれの制御処理時ｔでの報酬値Ｒｔを受けると、以下の式（３）に示すように、それぞれの制御処理時ｔでの報酬値Ｒｔの累積和の期待値Ｊを算出する（図１３のステップＳＴ１３）。
0006815571.tif 000004
式（３）において、ａｔは、制御処理時ｔでのロボットの制御値である。
γは、モデル生成処理部９が第２の学習モデル１０を生成する際に行う強化学習の割引率である。γの値は、一般的に０＜γ＜１であるため、遠い将来の報酬値Ｒｔが指数的に小さくなる一方、近い将来の報酬値Ｒｔが最大化されるように、ロボットの制御値ａｔが学習される。
Ｔは、制御処理時ｔの最大ステップ数、ｓｔは、現在の状態である。
ｐ（ｓｔ＋１｜ｓｔ，ａｔ）は、次の状態に移行する確率である。
Ｅπ（ａｔ｜ｓｔ），ｐ（ｓｔ＋１｜ｓｔ，ａｔ）［ｘ］は、ｘの期待値である。
【００４１】
モデル生成処理部９は、報酬値Ｒｔの累積和の期待値Ｊを用いて、ロボットの制御値ａｔを学習した第２の学習モデル１０を生成する（図１３のステップＳＴ１４）。
即ち、モデル生成処理部９は、以下の式（４）に示すように、累積和の期待値Ｊが最大になるように、制御処理時ｔでのロボットの制御値ａｔを学習することによって、第２の学習モデル１０を生成する。
0006815571.tif 000005
累積和の期待値Ｊが最大になるように、制御処理時ｔでのロボットの制御値ａｔが学習されると、第２の学習モデル１０が有するパラメータφが、最適なパラメータφ＊になる。
モデル生成処理部９は、最適なパラメータφ＊を有する第２の学習モデル１０を図８に示す制御値生成部１４に与える。
【００４２】
次に、図８に示すロボット制御装置１１の動作について説明する。
図１４は、図８に示すロボット制御装置１１の処理手順を示すフローチャートである。
まず、データ取得部１２は、距離画像センサ等から、ロボットが移動する領域に存在している障害物の位置を示す観測データｄｏｂを取得する（図１４のステップＳＴ２１）。
データ取得部１２は、ロボットが実装しているセンサ等から、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点Ｓｔａｒｔでのロボットの移動状態を示す状態データｄｓ，０を取得する（図１４のステップＳＴ２１）。
また、データ取得部１２は、ロボットが実装しているセンサ等から、ロボットが当該領域内を移動しているときのロボットの移動状態を示す状態データｄｓ，ｔを取得する（図１４のステップＳＴ２１）。
データ取得部１２は、観測データｄｏｂ及び状態データｄｓ，０のそれぞれを移動経路取得部１３に出力する。
データ取得部１２は、状態データｄｓ，ｔを制御値生成部１４に出力する。
学習モデル生成部７の報酬値算出部８が報酬値Ｒｔを算出する際に、観測データｄｏｂ，ｉを用いていれば、データ取得部１２は、観測データｄｏｂも制御値生成部１４に出力する。
【００４３】
移動経路取得部１３は、学習モデル生成装置１の学習モデル生成部３により生成された第１の学習モデル４を有している。
移動経路取得部１３は、データ取得部１２から出力された観測データｄｏｂ及び状態データｄｓ，０のそれぞれを第１の学習モデル４に与えることで、第１の学習モデル４から、ロボットの移動経路を示す経路データを取得する（図１４のステップＳＴ２２）。
図１５は、ロボットの移動経路を示す説明図である。
図１５において、点線における各“・”は、ロボットの移動経路上のそれぞれの位置ｋｔを示している。
経路データは、ロボットの移動経路上のそれぞれの位置ｋｔを示す座標データの集合である。
移動経路取得部１３は、経路データを制御値生成部１４に出力する。
【００４４】
制御値生成部１４は、学習モデル生成装置５の学習モデル生成部７により生成された第２の学習モデル１０を有している。
制御値生成部１４は、データ取得部１２から出力された状態データｄｓ，ｔと、移動経路取得部１３から出力された経路データとを第２の学習モデル１０に与えることで、第２の学習モデル１０から、それぞれの制御処理時ｔでのロボットの制御値ａｔを取得する（図１４のステップＳＴ２３）。
学習モデル生成部７の報酬値算出部８が報酬値Ｒｔを算出する際に、観測データｄｏｂ，ｉを用いていれば、制御値生成部１４は、観測データｄｏｂも第２の学習モデル１０に与える。
ロボットの制御値ａｔは、例えば、ロボットの移動方向に関する制御値ａｔ，ｄ、ロボットの速度に関する制御値ａｔ，ｖ、又は、ロボットの加速度に関する制御値ａｔ，ａを含んでいる。
制御値生成部１４は、それぞれの制御処理時ｔでのロボットの制御値ａｔを制御値補正部１５に出力する。
【００４５】
制御値補正部１５は、制御値生成部１４から、それぞれの制御処理時ｔでのロボットの制御値ａｔを受けると、制御値ａｔの補正処理を行う（図１４のステップＳＴ２４）。
即ち、制御値補正部１５は、ロボットの制御値ａｔのうち、ロボットの速度に関する制御値ａｔ，ｖが速度閾値Ｔｈｖよりも大きければ、ロボットの速度に関する制御値ａｔ，ｖを速度閾値Ｔｈｖ以下に変更する。
また、制御値補正部１５は、ロボットの制御値ａｔのうち、ロボットの加速度に関する制御値ａｔ，ａが加速度閾値Ｔｈａよりも大きければ、ロボットの加速度に関する制御値ａｔ，ａを加速度閾値Ｔｈａ以下に変更する。
制御値補正部１５は、補正処理後のロボットの制御値ａｔ’に従って、ロボットの移動を制御する（図１４のステップＳＴ２４）。
制御値補正部１５が、ロボットの速度に関する制御値ａｔ，ｖ及びロボットの加速度に関する制御値ａｔ，ａのそれぞれを変更することによって、例えば、移動経路がカーブしているときに、ロボットの速度等が速すぎることによる経路逸脱を防ぐことができる。
【００４６】
以上の実施の形態１では、ロボットが移動する領域に存在している障害物の位置を示す観測データと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データとを第１の学習モデル４に与えて、第１の学習モデル４から、ロボットの移動経路を取得する移動経路取得部１３と、移動経路取得部１３により取得された移動経路に沿って、ロボットが移動するためのロボットの制御値を生成する制御値生成部１４とを備えるように、ロボット制御装置１１を構成した。したがって、ロボット制御装置１１は、障害物が存在している既知の領域と障害物の位置等が異なる領域内を、障害物と衝突することなく、ロボットを移動させることができる。
【００４７】
実施の形態２．
実施の形態２では、制御値生成部１４が、第２の学習モデル１０を用いずに、ロボットの制御値ａｔを生成するロボット制御装置１１について説明する。
実施の形態２に係るロボット制御装置１１の構成は、実施の形態１に係るロボット制御装置１１の構成と同様であり、実施の形態２に係るロボット制御装置１１を示す構成図は、図８である。ただし、制御値生成部１４は、第２の学習モデル１０を実装していない。
【００４８】
制御値生成部１４は、データ取得部１２から出力された状態データｄｓ，ｔと、移動経路取得部１３から出力された経路データとを取得する。
制御値生成部１４は、状態データｄｓ，ｔが示す制御処理時ｔでのロボットの位置ｐｔから、経路データが示す制御処理時ｔ＋１でのロボットの位置ｋｔ＋１を向く方向を、ロボットの移動方向として算出する。
制御値生成部１４は、算出したロボットの移動方向を示す制御値を、ロボットの移動方向に関する制御値ａｔ，ｄとして制御値補正部１５に出力する。
また、制御値生成部１４は、例えば、一定の速度を示す制御値を、ロボットの速度に関する制御値ａｔ，ｖとして制御値補正部１５に出力する。一定の速度を示す制御値は、例えば、制御値生成部１４の内部メモリに格納されていてもよいし、ロボット制御装置１１の外部から与えられるものであってもよい。
また、制御値生成部１４は、ロボットの移動開始点及び移動終了点以外では、例えば、０の加速度を示す制御値を、ロボットの加速度に関する制御値ａｔ，ａとして制御値補正部１５に出力する。
【００４９】
実施の形態２に係るロボット制御装置１１でも、実施の形態１に係るロボット制御装置１１と同様に、障害物が存在している既知の領域と障害物の位置等が異なる領域内を、障害物と衝突することなく、ロボットを移動させることができる。
【００５０】
実施の形態１，２に係るロボットは、自律走行型ロボットに適用できるものである。しかし、これは一例に過ぎず、実施の形態１，２に係るロボットは、例えば、ロボットアームにも適用することができる。
【００５１】
なお、本開示は、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００５２】
本開示は、ロボットの制御値を生成するロボット制御装置及びロボット制御方法に適している。
本開示は、学習モデルを生成する学習モデル生成装置に適している。
【符号の説明】
【００５３】
１  学習モデル生成装置、２  教師データ生成部、３，３’  学習モデル生成部、４  第１の学習モデル、５  学習モデル生成装置、６  教師データ生成部、７  学習モデル生成部、８  報酬値算出部、９  モデル生成処理部、１０  第２の学習モデル、１１  ロボット制御装置、１２  データ取得部、１３  移動経路取得部、１４  制御値生成部、１５  制御値補正部、２１  教師データ生成回路、２２  学習モデル生成回路、２３  教師データ生成回路、２４  報酬値算出回路、２５  モデル生成処理回路、３１  データ取得回路、３２  移動経路取得回路、３３  制御値生成回路、３４  制御値補正回路、４１，４３，４５  メモリ、４２，４４，４６  プロセッサ。
【要約】
ロボットが移動する領域に存在している障害物の位置を示す観測データと、ロボットが移動する領域内でのロボットの移動状態のうち、ロボットが移動を開始する移動開始点でのロボットの移動状態を示す状態データとを第１の学習モデル（４）に与えて、第１の学習モデル（４）から、ロボットの移動経路を取得する移動経路取得部（１３）と、移動経路取得部（１３）により取得された移動経路に沿って、ロボットが移動するためのロボットの制御値を生成する制御値生成部（１４）とを備えるように、ロボット制御装置（１１）を構成した。【図１】
0006815571.tif 000006
【図２】
0006815571.tif 000007
【図３】
0006815571.tif 000008
【図４】
0006815571.tif 000009
【図５】
0006815571.tif 000010
【図６】
0006815571.tif 000011
【図７】
0006815571.tif 000012
【図８】
0006815571.tif 000013
【図９】
0006815571.tif 000014
【図１０】
0006815571.tif 000015
【図１１】
0006815571.tif 000016
【図１２】
0006815571.tif 000017
【図１３】
0006815571.tif 000018
【図１４】
0006815571.tif 000019
【図１５】
0006815571.tif 000020