(57)【要約】【課題】学習量の増加を抑える。【解決手段】実施形態にかかる障害物回避モデル生成方法は、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、移動体の進行方向ごとに、障害物までの距離と、目標地点に対する向きの一致度と、進行方向を決定する前後での移動体の向きの一致度と、を含む周囲情報を取得する取得ステップと、取得ステップで取得した周囲情報のうち、複数の進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、移動体の進行方向を決定する決定ステップと、決定ステップが決定した進行方向に移動体を走行させる走行ステップと、決定ステップによる進行方向の決定と、走行ステップによる移動体の走行とを繰り返すことで取得したスコアに基づいて、移動体の進行方向の選択方法を障害物回避モデルに学習させる学習ステップと、を含む。【選択図】図２
2020095539.tif 000002
【特許請求の範囲】
【請求項１】
障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得ステップと、
前記取得ステップで取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定ステップと、
前記決定ステップが決定した前記進行方向に前記移動体を走行させる走行ステップと、
前記決定ステップによる前記進行方向の決定と、前記走行ステップによる前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習ステップと、
を含む障害物回避モデル生成方法。
【請求項２】
前記取得ステップは、前記決定ステップが前回の前記決定地点で選択した前記進行方向に前記移動体が走行する前後での前記移動体の向きの変化度を取得する、
請求項１に記載の障害物回避モデル生成方法。
【請求項３】
前記決定ステップは、前記周囲情報を前記進行方向ごとに、前記進行方向の角度の順番で一次元配列に格納した場合に、当該一次元配列の始点と終点とを跨ぐ領域に前記フィルタを適用して畳み込み処理を実行する前記障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する、
請求項１又は２に記載の障害物回避モデル生成方法。
【請求項４】
前記学習ステップは、複数の前記障害物回避モデルが同一の前記空間を走行した場合に、最も前記スコアが高い走行結果を学習させることで前記障害物回避モデルを生成し、生成した前記障害物回避モデルが当該空間を走行した前記走行結果を含めた前記走行結果のうち、最も前記スコアが高い前記走行結果を学習させることで前記障害物回避モデルを生成する、
請求項１又は２に記載の障害物回避モデル生成方法。
【請求項５】
障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得部と、
前記取得部が取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定部と、
前記決定部が決定した前記進行方向に前記移動体を走行させる走行部と、
前記決定部による前記進行方向の決定と、前記走行部による前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習部と、
を備える障害物回避モデル生成装置。
【請求項６】
コンピュータを、
障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得部と、
前記取得部が取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定部と、
前記決定部が決定した前記進行方向に前記移動体を走行させる走行部と、
前記決定部による前記進行方向の決定と、前記走行部による前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習部と、
して機能させる障害物回避モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、障害物回避モデル生成方法、障害物回避モデル生成装置、および障害物回避モデル生成プログラムに関する。
【背景技術】
【０００２】
従来、障害物を回避するように走行する移動体等において、障害物の回避方法を機械学習により障害物回避モデルに学習させる方法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１０６４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した技術では、Ｑ学習の場合について記載されているが、Ｑ学習では制御モデルの出力値、つまり制御モデルの行動が離散的になり、滑らかな制御により障害物を回避させることは困難である。これに対して、進行方向を決定する分解能を高くすることで、滑らかな制御により障害物を回避させる方策も考えられる。ところが、この場合には、障害物回避モデルには、進行方向ごとに経験を積ませなければならないため、多くの学習時間がかかってしまう。
【０００５】
そこで、本開示の課題の一つは、学習量の増加を抑えることができる障害物回避モデル生成方法、障害物回避モデル生成装置、および障害物回避モデル生成プログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態にかかる障害物回避モデル生成方法は、例えば、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得ステップと、前記取得ステップで取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定ステップと、前記決定ステップが決定した前記進行方向に前記移動体を走行させる走行ステップと、前記決定ステップによる前記進行方向の決定と、前記走行ステップによる前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習ステップとを含む。よって、例えば、進行方向の分解能を高くした場合であっても、学習量の増加を抑えることができる。
【０００７】
また、実施形態にかかる障害物回避モデル生成方法の前記取得ステップは、例えば、前記決定ステップが前回の前記決定地点で選択した前記進行方向に前記移動体が走行する前後での前記移動体の向きの変化度を取得する。よって、例えば、この変化度を用いてより高いスコアを得る障害物回避モデルを生成することができる。
【０００８】
また、実施形態にかかる障害物回避モデル生成方法の前記決定ステップは、例えば、前記周囲情報を前記進行方向ごとに、前記進行方向の角度の順番で一次元配列に格納した場合に、当該一次元配列の始点と終点とを跨ぐ領域に前記フィルタを適用して畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する。よって、例えば、より正確に進行方向を決定することができる。
【０００９】
また、実施形態にかかる障害物回避モデル生成方法の前記学習ステップは、複数の前記障害物回避モデルが同一の前記空間を走行した場合に、最も前記スコアが高い前記走行結果を学習させることで前記障害物回避モデルを生成し、生成した前記障害物回避モデルが当該空間を走行した前記走行結果を含めた前記走行結果のうち、最も前記スコアが高い前記走行結果を学習させることで前記障害物回避モデルを生成する。よって、例えば、より高いスコアを得る障害物回避モデルを生成することができる。
【００１０】
実施形態にかかる障害物回避モデル生成装置は、例えば、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得部と、前記取得部が取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定部と、前記決定部が決定した前記進行方向に前記移動体を走行させる走行部と、前記決定部による前記進行方向の決定と、前記走行部による前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習部と、を備える。よって、例えば、進行方向の分解能を高くした場合であっても、学習量の増加を抑えることができる。
【００１１】
実施形態にかかる障害物回避モデル生成プログラムは、例えば、コンピュータを、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、前記移動体の前記進行方向ごとに、前記障害物までの距離と、目標地点に対する向きの一致度と、前記進行方向を決定する前後での前記移動体の向きの一致度と、を含む周囲情報を取得する取得部と、前記取得部が取得した前記周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデルに基づいて、前記移動体の前記進行方向を決定する決定部と、前記決定部が決定した前記進行方向に前記移動体を走行させる走行部と、前記決定部による前記進行方向の決定と、前記走行部による前記移動体の走行とを繰り返すことで取得したスコアに基づいて、前記移動体の前記進行方向の選択方法を前記障害物回避モデルに学習させる学習部と、して機能させる。よって、例えば、進行方向の分解能を高くした場合であっても、学習量の増加を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１実施形態にかかるモデル生成装置の一例を示す構成図である。
【図２】図２は、第１実施形態にかかるモデル生成装置の機能を例示的に示すブロック図である。
【図３】図３は、第１実施形態にかかるモデル生成装置が実行するシミュレーションの概要を説明する説明図である。
【図４】図４は、第１実施形態にかかるモデル生成装置が生成する障害物回避モデルの入出力の一例を示す説明図である。
【図５】図５は、第１実施形態にかかるモデル生成装置が生成する障害物回避モデルの入出力情報を一次元配列で表現した場合の一例を示す説明図である。
【図６】図６は、第１実施形態にかかるモデル生成装置が生成する障害物回避モデルによる一次元配列の両端のサブゴール値の導出方法の一例ついて説明する説明図である。
【図７】図７は、第１実施形態にかかるモデル生成装置が実行する強化学習処理を示した例示的かつ模式的なフローチャートである。
【図８】図８は、第１実施形態にかかるモデル生成装置が実行する反復学習処理の一例を示すフローチャートである。
【図９】図９は、第１実施形態にかかるモデル生成装置が実行する反復学習処理の具体例を示す図である。
【図１０】図１０は、変形例１にかかるモデル生成装置が生成する障害物回避モデルの入出力の一例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下、実施形態を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用、結果および効果は、あくまで一例であって、以下の記載内容に限られるものではない。
【００１４】
（第１実施形態）
図１は、第１実施形態にかかるモデル生成装置１の一例を示す構成図である。モデル生成装置１は、障害物回避モデル１７を生成する。さらに詳しくは、モデル生成装置１は、障害物が設置された空間を移動体に走行させるシミュレーションを実行することで障害物回避モデル１７に学習させる。
【００１５】
モデル生成装置１は、例えば、コンピュータ等の情報処理装置である。モデル生成装置１は、処理部１１と、メモリ１２と、格納部１３と、バス１４とを有する。
【００１６】
処理部１１は、ＣＰＵ（Central  Processing  Unit）等のハードウェアプロセッサである。処理部１１は、メモリ１２または格納部１３に格納されたプログラムを読み込むことによって、各種処理を実行する。例えば、処理部１１は、障害物回避モデル生成プログラム１５を読み込むことで、障害物が設置されたステージを移動体に走行させるシミュレーションを実行する。これにより、処理部１１は、障害物回避モデル１７に障害物が設置された空間の走行を経験させる。
【００１７】
メモリ１２は、例えば、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等の主記憶装置である。メモリ１２は、障害物回避モデル生成プログラム１５等のプログラムの実行の際に処理部１１が用いるデータを記憶する。
【００１８】
格納部１３は、例えばＳＳＤ（Solid  State  Drive）やＨＤＤ（Hard  Disk  Drive）等の補助記憶装置である。例えば、格納部１３は、障害物回避モデル生成プログラム１５と、ステージ情報１６と、障害物回避モデル１７とを格納する。
【００１９】
障害物回避モデル生成プログラム１５は、障害物回避モデル１７を機械学習により生成するプログラムである。ステージ情報１６は、移動体に走行させるシミュレーションのステージに関する各種情報である。例えば、ステージ情報１６は、障害物が設置された位置等を示す情報が含まれる。障害物回避モデル１７は、機械学習により生成された学習済みモデルである。
【００２０】
バス１４は、処理部１１、メモリ１２、及び格納部１３を互いに情報を送受信可能に接続する。
【００２１】
図２は、第１実施形態にかかるモデル生成装置１の機能を例示的に示すブロック図である。図２に示される機能は、ソフトウェアとハードウェアとの協働によって実現される。すなわち、図２に示される例において、モデル生成装置１の機能は、処理部１１がメモリ１２や格納部１３等の記憶媒体に記憶された障害物回避モデル生成プログラム１５等の所定の制御プログラムを読み出して実行した結果として実現される。なお、実施形態では、図２に示される機能の少なくとも一部が専用のハードウェア（回路）によって実現されてもよい。
【００２２】
図２に示されるように、実施形態にかかるモデル生成装置１は、シミュレーション実行部２０、及び学習部３０を備えている。
【００２３】
シミュレーション実行部２０は、障害物が設置された空間を移動体に走行させるシミュレーションを実行する。また、シミュレーション実行部２０は、取得部２１、進行方向決定部２２、走行部２３、及び走行結果記録部２４を備えている。
【００２４】
まず、シミュレーションの概要について説明する。ここで、図３は、第１実施形態にかかるモデル生成装置１が実行するシミュレーションの概要を説明する説明図である。
【００２５】
シミュレーションは、空間に配置された障害物を移動体が回避可能な経路を推定させながらゴールまで走行させるものである。そして、移動体は、サブゴールの設定と、サブゴールまでの走行とを繰り返すことでゴールまで走行する。サブゴールとは、一時的に設定したゴールであって、移動体の進行方向を示している。さらに、シミュレーションは、ステージごとに、異なる位置に障害物が配置されている。
【００２６】
次に、シミュレーション実行部２０が備える各部について説明する。
【００２７】
取得部２１は、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、移動体の進行方向ごとに、障害物までの距離と、目標地点に対する向きの一致度と、進行方向を決定する前後での移動体の向きの一致度と、を含む周囲情報を取得する。さらに詳しくは、取得部２１は、スタート地点又はサブゴールで、移動体の周囲３６０度に対して、移動体の進行方向の分解能ごとに、障害物までの距離を示すセンサ値と、標地点に対する向きの一致度を示すゴール方向値と、進行方向を決定する前後での移動体の向きの一致度を示す自己向き値とを取得する。なお、移動体の進行方向の分解能は、任意であり、例えば、１度であってもよいし、２度以上であってもよいし、０．５度であってもよいし、０．２５度であってもよいし、これ以下であってもよい。
【００２８】
センサ値とは、障害物までの距離を計測するセンサから出力された値である。ここで、移動体には、移動体の周囲３６０度に対して、移動体の進行方向の分解能ごとに、センサが向けられていると想定している。すなわち、センサ値は、移動体から障害物までの距離を示す情報である。
【００２９】
ゴール方向値とは、ゴール等の目標地点に対する移動体の向きの一致度を示す値である。ゴール方向値は、サブゴールを設定する場合において、移動体の正面がゴールに向けられる場合に最も高い値となり、移動体の正面がゴールとは１８０度逆方向に向けられる場合に最も低い値となる。
【００３０】
自己向き値とは、進行方向を決定する前後での移動体の向きの一致度を示す情報である。自己向き値は、サブゴールに向けて走行した場合において、移動体の正面の向きが変化していない場合に最も高い値となり、移動体の正面が１８０度逆方向に向けられる場合に最も低い値となる。
【００３１】
進行方向決定部２２は、取得部２１が取得した周囲情報のうち、複数の進行方向を含む領域にフィルタを適用する畳み込み処理を実行する障害物回避モデル１７に基づいて、移動体の進行方向を決定する。
【００３２】
まず、障害物回避モデル１７について説明する。図４は、第１実施形態にかかるモデル生成装置１が生成する障害物回避モデル１７の入出力の一例を示す説明図である。図５は、第１実施形態にかかるモデル生成装置１が生成する障害物回避モデル１７の入出力情報を一次元配列で表現した場合の一例を示す説明図である。
【００３３】
図４に示すように、障害物回避モデル１７は、所定範囲の領域にフィルタを適用して畳み込み処理を実行するディープ畳み込みニューラルネットワーク（ＤＣＮＮ：deep  convolutional  neural  network）により形成されている。そして、障害物回避モデル１７は、センサ値、ゴール方向値、及び自己向き値が入力された場合に、移動体の進行方向の分解能ごとのサブゴール値を出力する。サブゴール値とは、該当する進行方向にサブゴールを設定すべき値である。そして、進行方向決定部２２は、サブゴール値が最も高い進行方向にサブゴールを設定する。
【００３４】
ここで、図５に示すように、取得部２１は、センサ値と、ゴール方向値と、自己向き値とは、分解能ごとに、例えば一次元配列に格納する。例えば、移動体の周囲３６０度において、取得部２１は、１度ごとに、対応する方向のセンサ値と、ゴール方向値と、自己向き値とを一次元配列に格納する。そして、障害物回避モデル１７は、対応する方向のセンサ値と、ゴール方向値と、自己向き値とを用いて、サブゴール値を導出する。
【００３５】
すなわち、障害物回避モデル１７は、取得部２１が取得した進行方向ごとのセンサ値と、ゴール方向値と、自己向き値とのうち、複数の進行方向を含む領域にフィルタに適用して、畳み込み演算処理を実行する。そして、障害物回避モデル１７は、畳み込み演算処理により、フィルタを適用した領域の特徴量を出力する。また、障害物回避モデル１７は、フィルタを適用させる位置をスライドして再度畳み込み演算処理を実行する。障害物回避モデル１７は、この処理を繰り返し実行することで移動体の周囲３６０度の全ての領域に対して畳み込み演算処理を実行することで、各領域の特徴量を出力する。
【００３６】
さらに、障害物回避モデル１７は、一定の領域に適用させるフィルタを用いて、移動体の周囲３６０度に対して、畳み込み演算処理を実行する。そして、障害物回避モデル１７は、このような畳み込み演算処理を実行することで得られた値をサブゴール値とする。
【００３７】
次に、一次元配列の両端のサブゴール値の導出方法ついて説明する。ここで、図６は、第１実施形態にかかるモデル生成装置１が生成する障害物回避モデル１７による一次元配列の両端のサブゴール値の導出方法の一例ついて説明する説明図である。
【００３８】
取得部２１は、周囲０度（π）から３６０度（−π）までの領域からセンサ値と、ゴール方向値と、自己向き値とを取得する。障害物回避モデル１７は、サブゴール値を導出する場合に、該当する進行方向の角度を含む周囲の情報に対してフィルタを適用する畳み込み処理を実行している。そのため、障害物回避モデル１７は、０度付近のサブゴール値を算出する場合に、０度以降の値だけでは正確なサブゴール値を算出することはできない。そこで、図６に示すように、３６０度以前の値も用いてサブゴール値を算出する。すなわち、進行方向決定部２２は、周囲情報を進行方向ごとに、進行方向の角度の順番で一次元配列に格納した場合に、一次元配列の始点と終点とを跨ぐ領域にフィルタを適用して畳み込み処理を実行する障害物回避モデル１７に基づいて、移動体の進行方向を決定する。
【００３９】
図２に戻り、走行部２３は、進行方向決定部２２が決定した進行方向に移動体を走行させる。
【００４０】
走行結果記録部２４は、シミュレーションによる移動体の走行結果を記録する。さらに詳しくは、走行結果記録部２４は、スタート地点、及び各サブゴール地点で取得部２１が取得したセンサ値と、ゴール方向値と、自己向き値とを記録する。また、走行結果記録部２４は、スタート地点、及び各サブゴール地点で障害物回避モデル１７が出力したサブゴール値を記録する。さらに、走行結果記録部２４は、障害物が設置された空間を走行してのスコアを記録する。ここで、スコアとは、例えばステージの走行にかかった時間等である。
【００４１】
学習部３０は、進行方向決定部２２による進行方向の決定と、走行部２３による移動体の走行とを繰り返すことで取得したスコアに基づいて、移動体の進行方向の選択方法を障害物回避モデル１７に学習させる。さらに詳しくは、学習部３０は、障害物が設置された空間を移動体が走行した時のスコアを障害物回避モデル１７に入力する。障害物回避モデル１７は、入力されたスコアに基づいて、スタート地点、及び各サブゴール地点でのサブゴール値の導出方法を評価する。例えば、あるサブゴール地点において、ある進行方向に不適切なサブゴール値を導出したと評価した場合には、障害物回避モデル１７は、同様の状態には、該当する進行方向を含む周辺の進行方向のサブゴール値が低くなるように、サブゴール値の導出方法を変更する。
【００４２】
ところで、仮に、障害物回避モデル１７が畳み込み処理を実行していない場合、取得部２１が取得した各情報と、サブゴール値とは一対一の関係にある。この場合、障害物回避モデル１７は、該当する進行方向のサブゴール値は低くなるように導出方法を変更するが、該当する進行方向と隣接する進行方向のサブゴール値が低くなるようには導出方法を変更しない。そのため、畳み込み処理を実行していない場合、障害物回避モデル１７は、適切なサブゴール値を導出可能になるには、全ての進行方向について経験する必要ある。よって、進行方向の分解能を細かくするに従い、障害物回避モデル１７に経験させなければならない学習量は飛躍的に増大する。
【００４３】
本実施形態にかかる障害物回避モデル１７は、畳み込み処理を実行することで、該当する進行方向を含む周辺の進行方向のサブゴール値が低くなるように、サブゴール値の導出方法を変更する。よって、本実施形態にかかる障害物回避モデル１７は、学習しなければならない学習量の増大を抑制することができる。
【００４４】
次に、障害物回避モデル１７に対して強化学習により学習させる手順について説明する。図７は、第１実施形態にかかるモデル生成装置１が実行する強化学習処理を示した例示的かつ模式的なフローチャートである。
【００４５】
シミュレーション実行部２０は、実行するステージのステージ情報１６を読み込んでシミュレーションを開始する（Ｓ１１）。
【００４６】
取得部２１は、移動体の周囲の情報を取得する（Ｓ１２）。すなわち、取得部２１は、センサ値と、ゴール方向値と、自己向き値とを取得する。
【００４７】
進行方向決定部２２は、障害物回避モデル１７に基づいて、移動体の進行方向を決定する（Ｓ１３）。すなわち、進行方向決定部２２は、障害物回避モデル１７が進行方向ごとに出力したサブゴール値に基づいて、サブゴールを設定する。
【００４８】
走行部２３は、進行方向決定部２２が決定した進行方向に移動体を走行させる（Ｓ１４）。すなわち、走行部２３は、進行方向決定部２２が決定したサブゴールまで移動体を走行させる。
【００４９】
取得部２１は、ステージのゴールに移動体が到着したか否かを判定する（Ｓ１５）。移動体がゴールに到着していない場合に（Ｓ１５のＮｏ）、取得部２１は、Ｓ１２において移動体の周囲の情報を取得する。
【００５０】
一方、移動体がゴールに到着した場合に（Ｓ１５のＹｅｓ）、走行結果記録部２４は、シミュレーションの走行結果を格納部１３に格納する（Ｓ１６）。
【００５１】
学習部３０は、格納部１３に格納された走行結果を用いて、移動体の進行方向の選択方法を障害物回避モデル１７に学習させる（Ｓ１７）。
【００５２】
シミュレーション実行部２０は、実行予定の全てのステージの走行が完了したか否かを判定する（Ｓ１８）。全てのステージの走行が完了していない場合（Ｓ１８のＮｏ）、シミュレーション実行部２０は、Ｓ１１において未だ走行していないステージのシミュレーションを開始する。
【００５３】
一方、全てのステージの走行が完了した場合（Ｓ１８のＮｏ）、モデル生成装置１は、強化学習処理を終了する。
【００５４】
次に、反復学習処理について説明する。
【００５５】
反復学習処理において、学習部３０は、複数の障害物回避モデル１７が同一の空間を走行した場合に、最もスコアが高い走行結果を模範的な走行であるとして学習させることで障害物回避モデル１７を生成する。ここで、最もスコアが高い走行結果とは、例えばステージの走行にかかった時間が短い走行結果である。また、学習部３０は、生成した障害物回避モデル１７が同一の空間を走行した走行結果を含めた走行結果のうち、最もスコアが高い走行結果を学習させることで障害物回避モデル１７を生成する。このように、反復学習処理は、障害物回避モデル１７の生成と、走行とを反復することにより、より高いスコアで走行可能な障害物回避モデル１７を生成する。
【００５６】
ここで、図８は、第１実施形態にかかるモデル生成装置１が実行する反復学習処理の一例を示すフローチャートである。また、図９は、第１実施形態にかかるモデル生成装置１が実行する反復学習処理の具体例を示す図である。
【００５７】
学習部３０は、２以上の障害物回避モデル１７が一又は複数のステージを走行した走行結果を取得する（Ｓ２１）。図９においては、モデル１及びモデル２に、コース１からコースＮまでを走行させることで、各ステージの走行結果を取得している。例えば、モデル１は、上述した機械学習により生成した障害物回避モデル１７である。モデル２は、ポテンシャル法による機械学習により生成した障害物回避モデル１７である。
【００５８】
学習部３０は、ステージごとに、最も良いスコアで走行した障害物回避モデル１７の走行結果を抽出する（Ｓ２２）。図９においては、学習部３０は、ステージ１では、モデル１とモデル２との走行結果のうち、モデル１の走行結果を抽出している。学習部３０は、ステージ２では、モデル２の走行結果を抽出している。学習部３０は、ステージ３では、モデル２の走行結果を抽出している。学習部３０は、ステージＮでは、モデル２の走行結果を抽出している。
【００５９】
学習部３０は、抽出した走行結果を障害物回避モデル１７に学習させる（Ｓ２３）。すなわち、学習部３０は、各ステージにおけるスタート地点、及び各サブゴール地点でのセンサ値、ゴール方向値、及び自己向き値を入力側の学習用データとして障害物回避モデル１７に入力する。また、学習部３０は、各ステージにおける入力側の学習用データに対応するサブゴール値を出力側の学習用データと障害物回避モデル１７に対して入力する。
【００６０】
図９においては、学習部３０は、障害物回避モデル１７に対して、ステージ１ではモデル１の走行結果を学習させ、ステージ２ではモデル２の走行結果を学習させ、ステージ３ではモデル２の走行結果を学習させ、ステージＮではモデル２の走行結果を学習させる。これにより、学習部３０は、モデル３を生成する。
【００６１】
シミュレーション実行部２０は、生成した障害物回避モデル１７を用いて各ステージを走行させるシミュレーションを実行する（Ｓ２４）。図９においては、ステップＳ３において生成されたモデル３にコース１からコースＮまでを走行させることで、各ステージの走行結果を取得している。
【００６２】
学習部３０は、反復学習処理の終了条件が満たされたか否かを判定する（Ｓ２５）。ここで、終了条件とは、例えば新たに生成した障害物回避モデル１７のスコアが閾値以上であることであってもよいし、新たに生成した障害物回避モデル１７のスコアが他の障害物回避モデル１７のスコアよりも高いことであってもよいし、反復学習の回数であってもよい。
【００６３】
終了条件が満たされた場合（Ｓ２５のＮｏ）、学習部３０は、Ｓ２において、新たに生成した障害物回避モデル１７の走行結果を含めて最も良いスコアの走行結果を抽出する。
【００６４】
図９においては、終了条件を満たしていないと判定して、学習部３０は、モデル１からモデル３の走行結果のうち、最もスコアの良い障害物回避モデル１７の走行結果をステージごとに抽出する。また、学習部３０は、各ステージで最も良いスコアの走行結果を障害物回避モデル１７に学習させる。これにより、学習部３０は、モデル３を生成する。学習部３０は、これら処理を繰り返し実行することで、モデルＮを生成する。
【００６５】
そして、終了条件が満たされた場合（Ｓ２５のＹｅｓ）、モデル生成装置１は、反復学習処理を終了する。
【００６６】
上述したように、第１実施形態に係るモデル生成装置１によれば、障害物回避モデル１７は、障害物が配置された各ステージの走行において、取得部２１が取得した周囲情報のうち、複数の前記進行方向を含む領域にフィルタを適用する畳み込み処理を実行することでサブゴール値を導出する。また、移動体は、サブゴール値に基づいて選択された進行方向に走行する。そして、障害物回避モデル１７は、移動体の走行結果に基づいて、サブゴール値の導出方法を評価し、導出方法を変更する。このように、障害物回避モデル１７は、畳み込み処理を実行することでフィルタの領域の特徴量に対するサブゴール値の導出方法を学習する。よって、障害物回避モデル１７は、進行方向の分解能を高くした場合であっても、学習量の増加を抑えることができる。
【００６７】
（変形例１）
第１実施形態に係る取得部２１は、障害物が配置された空間を走行する移動体が進行方向を決定する決定地点で、移動体の進行方向ごとに、障害物までの距離と、目標地点に対する向きの一致度と、記進行方向を決定する前後での移動体の向きの一致度と、を取得した。そして、障害物回避モデル１７は、これら情報に基づいて、サブゴール値を導出した。変形例１に係る取得部２１は、これら情報に加えて、進行方向決定部２２が前回のスタート地点又はサブゴール地点で選択した進行方向に移動体が走行する前後での移動体の向きの変化度を示す前回方向値を取得する。そして、障害物回避モデル１７は、これら情報に基づいて、サブゴール値を導出する。
【００６８】
ここで、図１０は、変形例１にかかるモデル生成装置１が生成する障害物回避モデル１７の入出力の一例を示す説明図である。変形例１に係る障害物回避モデル１７には、移動体の進行方向ごとに、障害物までの距離を示すセンサ値と、目標地点に対する向きの一致度を示すゴール方向値と、進行方向を決定する前後での移動体の向きの一致度を示す自己向き値と、に加えて前回方向値を入力する。そして、障害物回避モデル１７は、センサ値、ゴール方向値、自己向き値、及び前回方向値が入力された場合に、移動体の進行方向の分解能ごとのサブゴール値を出力する。
【００６９】
このように、前回のスタート地点又はサブゴール地点での移動体の向きの変化度を入力することで、前回の向きの変化度と、今回の向きの変化度とを比較することができる。よって、例えば前回の変化度よりも、今回の変化度が大きい場合に、その判断が適切であったか等を学習することが可能になる。
【００７０】
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。
【符号の説明】
【００７１】
１…モデル生成装置、１１…処理部、１２…メモリ、１３…格納部、１４…バス、１５…障害物回避モデル生成プログラム、１６…ステージ情報、１７…障害物回避モデル、２０…シミュレーション実行部、２１…取得部、２２…進行方向決定部、２３…走行部、２４…走行結果記録部、３０…学習部。
【図１】
2020095539.tif 000003
【図２】
2020095539.tif 000004
【図３】
2020095539.tif 000005
【図４】
2020095539.tif 000006
【図５】
2020095539.tif 000007
【図６】
2020095539.tif 000008
【図７】
2020095539.tif 000009
【図８】
2020095539.tif 000010
【図９】
2020095539.tif 000011
【図１０】
2020095539.tif 000012