(57)【要約】  移動体（１００）を制御する移動体制御装置（１）であって、移動体（１００）の制御コマンドと、移動体（１００）の移動方向前方の画像とを取得する取得器（１０）と、機械学習モデル（３０）を利用して、取得器（１０）によって取得された制御コマンドと画像とを入力として、移動体（１００）を制御するための制御パラメータを出力する情報処理器（２０）と、を備える。
2020525331.tif 000002
【特許請求の範囲】
【請求項１】
移動体を制御する移動体制御装置であって、
前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する取得器と、
機械学習モデルを利用して、前記取得器によって取得された前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する情報処理器と、を備える
移動体制御装置。
【請求項２】
前記情報処理器は、前記取得器によって取得された前記画像から、前記取得器によって取得された前記制御コマンドに応じた被写体の特徴を示す特徴量を算出し、当該特徴量と前記取得器によって取得された前記制御コマンドとに基づいて、前記制御パラメータの出力を行う
請求項１に記載の移動体制御装置。
【請求項３】
前記機械学習モデルは、ニューラルネットワークモデルである
請求項１又は請求項２に記載の移動体制御装置。
【請求項４】
前記制御コマンドは、左折、右折、停止、直進、Ｕターン、車線変更のうち少なくとも１つを含み、
前記制御パラメータは、速度、操舵角のうちの少なくとも１つを含む
請求項１〜請求項３のいずれか１項に記載の移動体制御装置。
【請求項５】
移動体を制御する移動体制御方法であって、
前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する第１ステップと、
機械学習モデルを利用して、取得した前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する第２ステップとを含む
移動体制御方法。
【請求項６】
機械学習モデルを利用して移動体を制御する移動体制御装置の学習方法であって、
前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを入力とし、前記移動体を制御する制御パラメータを正解とする第１訓練データを用いて、前記機械学習モデルを学習させる第１ステップを含む
学習方法。
【請求項７】
さらに、前記画像を入力とし、前記制御コマンドを正解とする第２訓練データを用いて、前記機械学習モデルを学習させる第２ステップを含み、
前記第２ステップは、前記第１ステップの実行に先立って実行される
請求項６に記載の学習方法。
【請求項８】
さらに、前記移動体の取り得る動作状態を制限する拘束条件を用いて、前記機械学習モデルを学習させる第３ステップを含み、
前記第３ステップは、前記第２ステップの実行の後に実行される
請求項７に記載の学習方法。
【請求項９】
さらに、前記移動体が順守すべき交通ルールを用いて、前記機械学習モデルを学習させる第４ステップを含み、
前記第４ステップは、前記第２ステップの実行の後に実行される
請求項７に記載の学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体を制御する移動体制御装置に関する。
【背景技術】
【０００２】
従来、車、ロボット等に代表される移動体を制御する技術が知られている。
【０００３】
例えば、特許文献１には、予め用意された３次元地図に基づいて車の自動運転を制御する技術が記載されている。また、例えば、特許文献２には、設定された走行ルートに従って車の自動運転を制御する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９９５７２号公報
【特許文献２】特開平１１−２８２５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術では、車の自動運転の制御は、予め用意された３次元地図の対象範囲内に限定される。また、特許文献２に記載された技術では、車の自動運転の制御は、設定された走行ルートに限定される。
【０００６】
そこで、本発明は、従来よりも、より自由度の高い移動体の自動運転を実現し得る移動体制御装置、移動体制御方法、及び学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る移動体制御装置は、移動体を制御する移動体制御装置であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する取得器と、機械学習モデルを利用して、前記取得器によって取得された前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する情報処理器とを備える。
【０００８】
また、本開示の一態様に係る移動体制御方法は、移動体を制御する移動体制御方法であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する第１ステップと、機械学習モデルを利用して、取得した前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する第２ステップとを含む。
【０００９】
また、本開示の一態様に係る学習方法は、機械学習モデルを利用して移動体を制御する移動体制御装置の学習方法であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを入力とし、前記移動体を制御する制御パラメータを正解とする第１訓練データを用いて、前記機械学習モデルを学習させる第１ステップを含む。
【発明の効果】
【００１０】
本開示の一態様に係る移動体制御装置、移動体制御方法、及び学習方法によれば、従来よりも、より自由度の高い自動運転を実現し得る。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係る移動体制御装置の構成を示すブロック図である。
【図２】図２は、実施の形態に係る移動体制御装置が制御対象の移動体に搭載されている様子の一例を示す模式図である。
【図３】図３は、実施の形態に係る機械学習モデルの構成を示す模式図である。
【図４】図４は、実施の形態に係る機械学習モデルを学習させる学習方法のフローチャートである。
【図５Ａ】図５Ａは、第２訓練データを用いて実施の形態に係る機械学習モデルを学習させる様子を示す模式図である。
【図５Ｂ】図５Ｂは、一般画像訓練データを用いて実施の形態に係る機械学習モデルを学習させる様子を示す模式図である。
【図６】図６は、第１訓練データを用いて実施の形態に係る機械学習モデルを学習させる様子を示す模式図である。
【図７】図７は、拘束条件を用いて実施の形態に係る機械学習モデルを学習させる実験を行った際の実験結果を示す図である。
【図８】図８は、実施の形態に係る移動体制御処理のフローチャートである。
【発明を実施するための形態】
【００１２】
本開示の一態様に係る移動体制御装置は、移動体を制御する移動体制御装置であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する取得器と、機械学習モデルを利用して、前記取得器によって取得された前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する情報処理器とを備える。
【００１３】
ここで、制御コマンドは、例えば、左折、右折、停止、直進、Ｕターン、車線変更といった、移動体を操縦する意図を示す信号であり、制御パラメータは、例えば、速度、操舵角といった、移動体を制御する物理量を示す信号である。
【００１４】
上記移動体制御装置は、移動体の制御コマンドと移動体の移動方向前方の画像とを利用して、移動体を制御する。
【００１５】
このため、上記移動体制御装置を用いて移動体の自動運転を行う場合には、従来の移動体の自動運転において必要であった、予め用意された３次元地図、及び具体的な走行位置の指定を必要としない。また、固定された走行ルート以外の選択が可能となる。
【００１６】
従って、上記移動体制御装置によると、従来よりも、より自由度の高い移動体の自動運転を実現し得る。
【００１７】
本開示の一態様に係る移動体制御方法は、移動体を制御する移動体制御方法であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを取得する第１ステップと、機械学習モデルを利用して、取得した前記制御コマンドと前記画像とを入力として、前記移動体を制御するための制御パラメータを出力する第２ステップとを含む。
【００１８】
上記移動体制御方法は、移動体の制御コマンドと移動体の移動方向前方の画像とを利用して、移動体を制御する。
【００１９】
このため、上記移動体制御方法を用いて移動体の自動運転を行う場合には、従来の移動体の自動運転において必要であった、予め用意された３次元地図、及び具体的な走行位置の指定を必要としない。また、固定された走行ルート以外の選択が可能となる。
【００２０】
従って、上記移動体制御方法によると、従来よりも、より自由度の高い移動体の自動運転を実現し得る。
【００２１】
本開示の一態様に係る学習方法は、機械学習モデルを利用して移動体を制御する移動体制御装置の学習方法であって、前記移動体の制御コマンドと、前記移動体の移動方向前方の画像とを入力とし、前記移動体を制御する制御パラメータを正解とする第１訓練データを用いて、前記機械学習モデルを学習させる第１ステップを含む。
【００２２】
上記学習方法により学習した機械学習モデルは、移動体の制御コマンドと移動体の移動方向前方の画像とを利用して、移動体を制御する。
【００２３】
これにより、上記学習方法により学習した機械学習モデルを用いて移動体の自動運転を行う場合には、従来の移動体の自動運転において必要であった、予め用意された３次元地図、及び具体的な走行位置の指定を必要としない。また、固定された走行ルート以外の選択が可能となる。
【００２４】
このため、上記学習方法によると、従来よりも、より自由度の高い移動体の自動運転を実現し得る。
【００２５】
以下、本開示の一態様に係る移動体制御装置の具体例について、図面を参照しながら説明する。ここで示す実施の形態は、本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００２６】
（実施の形態）
［１．移動体制御装置の構成］
図１は、実施の形態に係る移動体制御装置１の構成を示すブロック図である。
【００２７】
図２は、移動体制御装置１が、制御対象の移動体１００に搭載されている様子の一例を示す模式図である。図２において、移動体１００が自動車であるように図示されているが、移動体制御装置１の制御対象は、制御可能に移動する移動体であれば、必ずしも自動車に限定される必要はなく、例えば、自走するロボット等であっても構わない。また、移動体制御装置１の一部又は全部は、必ずしも制御対象とする移動体１００に搭載される必要はない。
【００２８】
図１に示されるように、移動体制御装置１は、取得器１０と、情報処理器２０とを含んで構成される。
【００２９】
取得器１０は、移動体１００の制御コマンドと、移動体１００の移動方向前方の画像とを取得する。制御コマンドは、例えば、左折、右折、停止、直進、Ｕターン、車線変更といった、移動体１００を操縦する意図を示す信号である。ここでは、制御コマンドには、左折、右折、停止、直進、Ｕターン、車線変更のうちの少なくとも１つが含まれるとする。
【００３０】
取得器１０は、例えば、移動体制御装置１のユーザによる、移動体１００の制御コマンドの入力操作を受け付けることで移動体１００の制御コマンドを取得する入力装置を含んで構成されてもよい。また、取得器１０は、例えば、通信可能な外部の装置から出力された移動体１００の制御コマンドを受信することで移動体１００の制御コマンドを取得する受信装置を含んで構成されてもよい。また、取得器１０は、移動体１００の前方に設置され、移動体１００の移動方向前方の画像を撮像することで移動体１００の移動方向前方の画像を取得する撮像装置を含んで構成されてもよい。撮像装置としては、例えば、イメージセンサを備えるデジタルビデオカメラであっても構わない。この場合には、取得器１０は、デジタルビデオカメラで撮像された動画を構成する各フレームを、移動体１００の移動方向前方の画像として取得する。また、取得器１０は、例えば、通信可能な外部の撮像装置から、その撮像装置によって撮像された移動体１００の移動方向前方の画像を受信することで移動体１００の移動方向前方の画像を取得する受信装置を含んで構成されるとしてもよい。
【００３１】
情報処理器２０は、機械学習モデルを利用して、取得器１０によって取得された制御コマンドと画像とを入力として、移動体１００を制御するための制御パラメータを出力するする。制御パラメータは、例えば、速度、操舵角といった、移動体１００を制御する物理量を示す信号である。ここでは、制御パラメータには、速度、操舵角のうちの少なくとも１つが含まれるとする。情報処理器２０から制御パラメータが出力されると、移動体１００は、移動体１００の動作状態が、制御パラメータによって示される物理量となるように、加速、減速、操舵等を行う。
【００３２】
また、情報処理器２０は、訓練データ又は拘束条件を用いて機械学習モデルを学習させる。
【００３３】
情報処理器２０は、例えば、取得器１０と通信可能なプロセッサと、メモリとを含んで構成されてもよい。この場合には、情報処理器２０は、メモリに記憶されたプログラムを、プロセッサが実行することで、各種処理を実現する。
【００３４】
機械学習モデルは、制御コマンドと、移動体１００の移動方向前方の画像とが入力されると、制御パラメータを出力するように学習されたモデルである。機械学習モデルは、例えば、ニューラルネットワークモデルであってよい。ここでは、機械学習モデルが、ニューラルネットワークモデルであるとする。
【００３５】
［２．機械学習モデルの構成］
図３は、情報処理器２０が利用する機械学習モデル３０の構成を示す模式図である。
【００３６】
図３に示されるように、機械学習モデル３０は、第１機械学習モデル４０と、第２機械学習モデル５０とを含んで構成される。
【００３７】
第１機械学習モデル４０は、移動体１００の移動方向前方の画像が入力されると、入力された画像から、被写体の特徴量を算出するように学習されたモデルである。
【００３８】
第２機械学習モデル５０は、第１機械学習モデル４０から出力された特徴量と、制御コマンドとが入力されると、制御パラメータを算出するように学習されたモデルである。
【００３９】
第２機械学習モデル５０は、機械学習モデル３０の入力対象とするＮ（Ｎは２以上の整数）個の制御コマンドのそれぞれに対応する、第１制御コマンド対応機械学習モデル５１Ａ、第２制御コマンド対応機械学習モデル５１Ｂ〜第Ｎ制御コマンド対応機械学習モデル５１Ｎを含んで構成される。以下、第１制御コマンド対応機械学習モデル５１Ａ、第２制御コマンド対応機械学習モデル５１Ｂ〜第Ｎ制御コマンド対応機械学習モデル５１Ｎを明示的に区別する必要がない場合には、第１制御コマンド対応機械学習モデル５１Ａ、第２制御コマンド対応機械学習モデル５１Ｂ〜第Ｎ制御コマンド対応機械学習モデル５１Ｎのことを、制御コマンド対応学習モデル５１とも呼ぶ。制御コマンド対応学習モデル５１のそれぞれは、対応する制御コマンドに応じた特徴量が入力されると、制御パラメータを算出するように学習されたモデルである。第２機械学習モデル５０は、制御コマンドが入力されると、入力された制御コマンドに対応する制御コマンド対応学習モデル５１を選択する。そして、第２機械学習モデル５０は、選択した制御コマンド対応学習モデル５１利用して、第１機械学習モデル４０から出力された、制御コマンドに応じた特徴量を入力として、制御パラメータを出力する。
【００４０】
［３．機械学習モデルの学習方法］
以下、上記構成の機械学習モデル３０を学習させる学習方法について説明する。
【００４１】
図４は、情報処理器２０が機械学習モデル３０を学習させる学習方法のフローチャートである。
【００４２】
図４に示されるように、最初に、情報処理器２０は、第１段階として、画像を入力とし、画像に付与されたラベルを正解とする訓練データを用いて、第１機械学習モデル４０を識別機として学習させる（ステップＳ１０）。訓練データは、移動体１００の移動方向前方の画像を入力とし、制御コマンドを正解とする訓練データ（以下、「第２訓練データ」と呼ぶ）と、移動体１００とは必ずしも関係の無い一般画像を入力とし、その一般画像に付与されたラベル情報を正解とする訓練データ（以下、「一般画像訓練データ」と呼ぶ）とが利用可能である。また、この第２訓練データと一般画像訓練データとの両方を用いて学習しても良い。なお、このステップＳ１０においては、第２訓練データを利用することが望ましい。また、第２訓練データと一般画像訓練データとの両方を用いて学習を行う場合は、まず一般画像訓練データでの学習を行い、次に第２訓練データでの学習を行う、段階的な学習が望ましい。
【００４３】
ここで、第２訓練データで使用する、移動体１００の移動方向前方の画像と、制御コマンドとの組は、予め、移動体制御装置１を利用するユーザが、移動体１００を操縦することで取得しておいたものを利用する。すなわち、移動体制御装置１を利用するユーザは、移動体１００に対して、予め、機械学習モデル３０の入力対象とするＮ個の制御コマンドのそれぞれに対応する操縦を繰り返し行うことで、Ｎ個の制御コマンドのそれぞれに対応する複数の、移動体１００の移動方向前方の画像を取得する。そして、移動体制御装置１を利用するユーザは、Ｎ個の制御コマンドのそれぞれと、対応する複数の、移動体１００の移動方向前方の画像とを組み合わせることで、第２訓練データを作成する。
【００４４】
図５Ａは、ステップＳ１０の処理において、情報処理器２０が、第２訓練データを用いて、第１機械学習モデル４０を識別機として学習させる様子を示す模式図である。また、図５Ｂは、ステップＳ１０の処理において、情報処理器２０が、一般画像訓練データを用いて、第１機械学習モデル４０を識別機として学習させる様子を示す模式図である。
【００４５】
図５Ａに示されるように、ステップＳ１０の処理では、情報処理器２０は、第１機械学習モデル４０に対して、Ｎ個の制御コマンドそれぞれについて、各制御コマンドを正解とする複数の、移動体１００の移動方向前方の画像を入力する。そして、情報処理器２０は、第１機械学習モデル４０を、入力された複数の、移動体１００の移動方向前方の画像から、対応する制御コマンドを識別する識別機として学習させる。
【００４６】
次に、情報処理器２０は、第２段階として、制御コマンドと、移動体１００の移動方向前方の画像とを入力とし、制御パラメータを正解とする訓練データ（以下、「第１訓練データ」と呼ぶ。）を用いて、機械学習モデル３０を回帰学習させる（ステップＳ２０）。
【００４７】
ここで、第１訓練データで使用する、制御コマンドと、移動体１００の移動方向前方の画像と、制御パラメータとの組は、予め、移動体制御装置１を利用するユーザが、移動体１００を操縦することで取得しておいたものを利用する。すなわち、移動体制御装置１を利用するユーザは、移動体１００に対して、機械学習モデル３０の入力対象とするＮ個の制御コマンドのそれぞれに対応する操縦を繰り返し行うことで、Ｎ個の制御コマンドのそれぞれに対応する複数の、移動体１００の移動方向前方の画像と、Ｎ個の制御コマンドのそれぞれに対応する複数の制御パラメータとを取得する。そして、移動体制御装置１を利用するユーザは、移動体１００の移動方向前方の画像のそれぞれと、対応する制御コマンドと、対応する制御パラメータとを組み合わせることで、第１訓練データを作成する。
【００４８】
図６は、ステップＳ２０の処理において、情報処理器２０が、第１訓練データを用いて、機械学習モデル３０を回帰学習させる様子を示す模式図である。
【００４９】
図６に示されるように、ステップＳ２０の処理では、情報処理器２０は、機械学習モデル３０に対して、移動体１００の移動方向前方の画像のそれぞれについて、移動体１００の移動方向前方の画像と、対応する制御コマンドとを入力とし、対応する制御パラメータを正解として回帰学習させる。ステップＳ１０の処理とステップＳ２０の処理とが終了すると、機械学習モデル３０は、情報処理器２０が、機械学習モデル３０を利用して、移動体１００を制御することが可能となるレベル（以下、「制御可能レベル」とも呼ぶ。）にまで学習した状態となる。
【００５０】
なお、ステップＳ２０の処理では、情報処理器２０は、第１機械学習モデル４０を学習済みであるとして固定した状態（つまり、第１機械学習モデル４０を学習の対象から除外した状態）で、第１訓練データを用いて、機械学習モデル３０を回帰学習させるとしてもよい。
【００５１】
次に、情報処理器２０は、第３段階として、移動体１００の動作状態に制限する拘束条件を用いて、機械学習モデル３０を回帰学習させる（ステップＳ３０）。このステップＳ３０の処理は、移動体１００に、よりスムースな動きをさせるために行う学習である。ここで、移動体１００のスムースな動きとは、急激な移動速度の変化、及び急激な操舵角の変化を伴わない動きのことをいう。
【００５２】
拘束条件は、例えば、移動体１００の移動速度ｖの単位時間当たりの変化率であるｄｖ／ｄｔ（すなわち、加速度）に上限を与える条件（以下、「拘束条件１」とも呼ぶ。）であってもよい。
【００５３】
また、拘束条件は、例えば、白線が引かれた走行路を走行する移動体１００が、白線を超えないという条件（以下、「拘束条件２」とも呼ぶ。）であってもよい。
【００５４】
また、拘束条件は、例えば、移動体１００の操舵角の単位時間または単位移動距離当たりの変化率に上限を与える条件であってもよい。
【００５５】
図７は、情報処理器２０に、拘束条件１及び拘束条件２を用いて、機械学習モデル３０を回帰学習させる実験を行った際の実験結果を示す図である。
【００５６】
図７において、スムースネス７１は、移動体１００の移動速度の単位時間当たりの変化率と、移動体１００の操舵角の単位時間当たりの変化率とを反映する、移動体１００の移動におけるスムースさの程度示す指標であって、数値がより小さい程、移動体１００の移動がよりスムースである旨を示す指標である。また、白線オーバ回数７２は、白線が引かれた走行路を走行する移動体１００が、白線を超えた回数を示す。
【００５７】
図７に示されるように、情報処理器２０が、拘束条件１及び拘束条件２を用いて、機械学習モデル３０を回帰学習させることで、機械学習モデル３０は、移動体１００がよりスムースな動きをするように、そして、移動体１００が白線を超えた動きをしないように、移動体１００を制御できるようになることがわかる。
【００５８】
なお、ステップＳ３０の処理では、情報処理器２０は、第１機械学習モデル４０を学習済みであるとして固定した状態で、拘束条件を用いて、機械学習モデル３０を回帰学習させるとしてもよい。
【００５９】
最後に、情報処理器２０は、第４段階として、移動体１００が順守すべき交通ルールを用いて、機械学習モデル３０を回帰学習させる（ステップＳ４０）。このステップＳ４０の処理は、移動体１００に、交通ルールを順守する動きをさせるために行う学習である。
【００６０】
交通ルールは、例えば、信号を守るといという条件であってもよい。
【００６１】
また、交通ルールは、例えば、走行レーンを変更しないという条件であってもよい。
【００６２】
なお、ステップＳ４０の処理では、情報処理器２０は、第１機械学習モデル４０を学習済みであるとして固定した状態で、交通ルールを用いて、機械学習モデル３０を回帰学習させるとしてもよい。
【００６３】
ステップＳ４０の処理が終了すると、情報処理器２０は、機械学習モデル３０の学習を終了する。
【００６４】
なお、ここでは、機械学習モデル３０を学習させる学習方法の一例として、情報処理器２０は、ステップＳ３０の処理が終了した後に、ステップＳ４０の処理を行うとして説明した。これに対して、別の学習方法の一例として、情報処理器２０は、ステップＳ４０の処理が終了した後に、ステップＳ３０の処理を行うとしてもよい。
【００６５】
また、機械学習モデル３０を学習させる学習方法において、ステップＳ３０の処理、及びステップＳ４０の処理は、いずれも、移動体１００の動きの質を向上させるために行う処理である。このため、要求される移動体１００の動きの質によっては、情報処理器２０は、ステップＳ３０の処理とステップＳ４０の処理とのいずれか一方、又は双方の処理を行わないこともあり得る。
【００６６】
また、情報処理器２０は、ステップＳ１０の処理とステップＳ２０の処理とを行う替わりに、ステップＳ２０の処理の一部を変更したステップＳ２５（後述）の処理を行うとしても、機械学習モデル３０を制御可能レベルにまで学習させることが可能である。但し、実験を繰り返した結果、ステップＳ１０の処理とステップＳ２０の処理との替わりにステップＳ２５の処理を行う学習方法の方が、ステップＳ１０の処理とステップＳ２０の処理とを行う学習方法よりも、機械学習モデル３０の学習効率が低下する傾向にあることが判明している。このため、ステップＳ１０の処理とステップＳ２０の処理とを行う学習方法の方が、より好ましい。ここで、ステップＳ２５の処理とは、情報処理器２０が、第１機械学習モデル４０を事前に学習しない状態（つまり、ステップＳ１０を行っていない状態）で、第１訓練データを用いて、機械学習モデル３０全体を回帰学習させる処理である。
【００６７】
［４．移動体制御方法］
移動体制御装置１は、上記学習方法で学習させた機械学習モデル３０を利用して移動体１００を制御する移動体制御処理を行う。
【００６８】
以下、移動体制御装置１が行う移動体制御処理について説明する。
【００６９】
図８は、移動体制御処理のフローチャートである。
【００７０】
移動体制御処理は、例えば、移動体制御装置１を利用するユーザが、移動体制御装置１に対して、移動体制御処理を開始する旨の操作を行うことで開始される。
【００７１】
移動体制御処理が開始されると、取得器１０は、移動体１００の移動方向前方の画像の逐次取得を開始する（ステップＳ１００）。
【００７２】
その後、取得器１０が、移動体１００の制御コマンドを取得すると（ステップＳ１１０：Ｎｏの処理を繰り返した後にステップＳ１１０：Ｙｅｓ）、情報処理器２０は、機械学習モデル３０に、取得器１０によって取得された制御コマンドと、取得器１０によって取得された最新の移動体１００の移動方向前方の画像とを入力する（ステップＳ１２０）。
【００７３】
機械学習モデル３０に、制御コマンドと画像とが入力されると、第１機械学習モデル４０は、画像から、被写体の特徴を示す特徴量であって、制御コマンドに応じた特徴量を算出する（ステップＳ１３０）。
【００７４】
制御コマンドに応じた特徴量が算出されると、第２機械学習モデル５０は、制御コマンドに対応する制御コマンド対応学習モデル５１を選択する（ステップＳ１４０）。そして、選択された制御コマンド対応学習モデル５１は、制御コマンドに応じた特徴量から、制御パラメータを算出する（ステップＳ１５０）。制御パラメータが算出されると、情報処理器２０は、現在の制御パラメータと算出した制御パラメータとの差分が小さくなるよう制御パラメータを更新し（ステップＳ１６０）、更新した制御パラメータを出力する。この際の更新幅の決定方法は、例えば、ＰＩＤ（Proportional Integral Differential）制御であってもよい。また、段階的な変化はさせず、算出パラメータを制御パラメータへと即座に反映させても良い。
【００７５】
制御パラメータが出力されると、情報処理器２０は、現在の制御パラメータと算出した制御パラメータとが等しいか否かを判定する（ステップＳ１７０）。
【００７６】
ステップＳ１７０の処理において、現在の制御パラメータと算出した制御パラメータとが等しいと判定された場合（ステップＳ１７０：Ｙｅｓ）、移動体制御装置１は、再びステップＳ１１０の処理に進み、ステップＳ１１０以降の処理を行う。
【００７７】
ステップＳ１７０の処理において、現在の制御パラメータと算出した制御パラメータとが等しくないと判定された場合（ステップＳ１７０：Ｎｏ）、移動体制御装置１は、再びステップＳ１６０の処理に進み、ステップＳ１６０以降の処理を行う。
【００７８】
［５．考察］
上述したように、上記構成の移動体制御装置１は、移動体１００の制御コマンドと、移動体１００の移動方向前方の画像を利用して、移動体１００を制御する。
【００７９】
このため、移動体制御装置１を用いて移動体１００の自動運転を行う場合には、予め用意された３次元地図、及び具体的な走行位置の指定を必要としない。また、固定された走行ルート以外の選択が可能となる。
【００８０】
従って、移動体制御装置１によると、従来よりも、より自由度の高い移動体１００の自動運転を実現し得る。
【００８１】
（他の実施の形態）
以上、本開示の一態様に係る移動体制御装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の１つまたは複数の態様の範囲内に含まれてもよい。
【００８２】
例えば、情報処理器２０は、互いに通信可能な複数のコンピュータ装置を含んで構成され、情報処理器２０によって実現される各種処理は、分散コンピューティング又はクラウドコンピューティングによって実現されてもよい。
【００８３】
また、情報処理器２０に含まれる構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。
【００８４】
システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。ＲＯＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【００８５】
なお、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、あるいはＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【００８６】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【００８７】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【産業上の利用可能性】
【００８８】
本開示は、移動体を制御する制御装置に広く利用可能である。
【符号の説明】
【００８９】
１  移動体制御装置
１０  取得部
２０  情報処理部
３０  機械学習モデル
４０  第１機械学習モデル
５０  第２機械学習モデル
５１Ａ  第１制御コマンド対応機械学習モデル
５１Ｂ  第２制御コマンド対応機械学習モデル
５１Ｎ  第Ｎ制御コマンド対応機械学習モデル
１００  移動体
【図１】
2020525331.tif 000003
【図２】
2020525331.tif 000004
【図３】
2020525331.tif 000005
【図４】
2020525331.tif 000006
【図５Ａ】
2020525331.tif 000007
【図５Ｂ】
2020525331.tif 000008
【図６】
2020525331.tif 000009
【図７】
2020525331.tif 000010
【図８】
2020525331.tif 000011
【国際調査報告】
2020525331.tif 000012
2020525331.tif 000013