(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024174588
(43)【公開日】2024-12-17
(54)【発明の名称】制御装置、制御プログラム及び制御方法
(51)【国際特許分類】
B60W 50/023 20120101AFI20241210BHJP
B60W 60/00 20200101ALI20241210BHJP
G05D 1/43 20240101ALI20241210BHJP
G05B 11/36 20060101ALI20241210BHJP
【FI】
B60W50/023
B60W60/00
G05D1/02 H
G05B11/36 G
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023092485
(22)【出願日】2023-06-05
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】高橋 祐希
(72)【発明者】
【氏名】右立 真輝
【テーマコード(参考)】
3D241
5H004
5H301
【Fターム(参考)】
3D241BA30
3D241BA64
3D241CD02
5H004GA02
5H004GB12
5H004KC38
5H004KD62
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG09
(57)【要約】
【課題】手動操作による制御の発生頻度を抑えるための制御技術を提供する。
【解決手段】本開示の一側面に係る制御装置は、第1制御モデルを使用して、第1制御指令の導出を試行し、第1制御モデルによる第1制御指令の導出が正常である場合、導出された第1制御指令に従って、移動体を制御する。第1制御モデルによる第1制御指令の導出に異常が生じた場合、制御装置は、第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、移動体を制御する。第2制御モデルは、タイプ及び入力データの少なくともいずれかが第1制御モデルと異なることで、第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成されている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1制御モデル及び第2制御モデルを記憶する記憶部、並びに
制御部、
を備える制御装置であって、
前記第2制御モデルは、タイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成されており、
前記制御部は、
前記第1制御モデルを使用して、第1制御指令の導出を試行すること、
前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、
前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
を実行するように構成される、
制御装置。
【請求項2】
前記第1制御モデルは、訓練済み機械学習モデルにより構成され、
前記第2制御モデルは、ルールベースモデルにより構成される、
請求項1に記載の制御装置。
【請求項3】
前記第1制御モデルは、訓練済み機械学習モデルにより構成され、
前記第2制御モデルは、前記第1制御モデルとは少なくとも部分的に入力データが相違する訓練済み機械学習モデルにより構成される、
請求項1に記載の制御装置。
【請求項4】
前記第2制御指令又は前記第3制御指令に従って、前記移動体の移動を制御することは、
前記移動体の移動の環境に応じて、前記第2制御モデル及び前記手動操作のいずれを採用するかを決定すること、
前記第2制御モデルを採用することを決定した場合、前記第2制御モデルを使用して、前記第2制御指令を導出し、かつ導出された前記第2制御指令に従って、前記移動体の移動を制御すること、並びに
前記手動操作を採用することを決定した場合、前記手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
により構成される、
請求項1に記載の制御装置。
【請求項5】
前記移動体は、車両であり、
前記移動体の移動の環境は、前記車両の走行する道路の種類を含む、
請求項4に記載の制御装置。
【請求項6】
前記第2制御指令又は前記第3制御指令に従って、前記移動体の移動を制御することは、
前記第2制御モデルによる前記第2制御指令の導出が正常である場合、導出された前記第2制御指令に従って、前記移動体の移動を制御すること、及び
前記第2制御モデルによる前記第2制御指令の導出に異常が生じた場合、前記手動操作に由来する前記第3制御指令に従って、前記移動体の移動を制御すること、
により構成される、
請求項1に記載の制御装置。
【請求項7】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力不全が生じることを含む、
請求項1に記載の制御装置。
【請求項8】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力の信頼度が閾値未満であることを含む、
請求項1に記載の制御装置。
【請求項9】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力の単位時間当たりの変化量が閾値を超えていることを含む、
請求項1に記載の制御装置。
【請求項10】
第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置に、
前記第1制御モデルを使用して、第1制御指令の導出を試行すること、
前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、
前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
を実行させるための、
制御プログラム。
【請求項11】
前記第1制御モデルは、訓練済み機械学習モデルにより構成され、
前記第2制御モデルは、ルールベースモデルにより構成される、
請求項10に記載の制御プログラム。
【請求項12】
前記第1制御モデルは、訓練済み機械学習モデルにより構成され、
前記第2制御モデルは、前記第1制御モデルとは少なくとも部分的に入力データが相違する訓練済み機械学習モデルにより構成される、
請求項10に記載の制御プログラム。
【請求項13】
前記第2制御指令又は前記第3制御指令に従って、前記移動体の移動を制御することは、
前記移動体の移動の環境に応じて、前記第2制御モデル及び前記手動操作のいずれを採用するかを決定すること、
前記第2制御モデルを採用することを決定した場合、前記第2制御モデルを使用して、前記第2制御指令を導出し、かつ導出された前記第2制御指令に従って、前記移動体の移動を制御すること、並びに
前記手動操作を採用することを決定した場合、前記手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
により構成される、
請求項10に記載の制御プログラム。
【請求項14】
前記移動体は、車両であり、
前記移動体の移動の環境は、前記車両の走行する道路の種類を含む、
請求項13に記載の制御プログラム。
【請求項15】
前記第2制御指令又は前記第3制御指令に従って、前記移動体の移動を制御することは、
前記第2制御モデルによる前記第2制御指令の導出が正常である場合、導出された前記第2制御指令に従って、前記移動体の移動を制御すること、及び
前記第2制御モデルによる前記第2制御指令の導出に異常が生じた場合、前記手動操作に由来する前記第3制御指令に従って、前記移動体の移動を制御すること、
により構成される、
請求項10に記載の制御プログラム。
【請求項16】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力不全が生じることを含む、
請求項10に記載の制御プログラム。
【請求項17】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力の信頼度が閾値未満であることを含む、
請求項10に記載の制御プログラム。
【請求項18】
前記第1制御指令の導出に異常が生じることは、前記第1制御モデルの出力の単位時間当たりの変化量が閾値を超えていることを含む、
請求項10に記載の制御プログラム。
【請求項19】
第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置が、
前記第1制御モデルを使用して、第1制御指令の導出を試行すること、
前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、
前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
を実行する、
制御方法。
【請求項20】
前記第2制御指令又は前記第3制御指令に従って、前記移動体の移動を制御することは、
前記移動体の移動の環境に応じて、前記第2制御モデル及び前記手動操作のいずれを採用するかを決定すること、
前記第2制御モデルを採用することを決定した場合、前記第2制御モデルを使用して、前記第2制御指令を導出し、かつ導出された前記第2制御指令に従って、前記移動体の移動を制御すること、並びに
前記手動操作を採用することを決定した場合、前記手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、
により構成される、
請求項19に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、制御プログラム及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、訓練済みのニューラルネットワークを使用して、ルート、GPSデータ及びセンサデータから車両のコマンドを決定するように構成された自律的車両制御のためのシステムが提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の目的の一つは、手動操作による制御の発生頻度を抑えるための制御技術を提供することである。
【課題を解決するための手段】
【0005】
本開示の第1態様に係る制御装置は、第1制御モデル及び第2制御モデルを記憶する記憶部、並びに制御部を備える。前記第2制御モデルは、タイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成されている。前記制御部は、前記第1制御モデルを使用して、第1制御指令の導出を試行すること、前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、を実行するように構成される。なお、一例では、第1制御モデル及び第2制御モデルの少なくともいずれかは、訓練済み機械学習モデルにより構成されてよい。
【0006】
本開示の第2態様に係る制御プログラムは、第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置に、前記第1制御モデルを使用して、第1制御指令の導出を試行すること、前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、を実行させるためのプログラムである。
【0007】
本開示の第3態様に係る制御方法は、第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置が、前記第1制御モデルを使用して、第1制御指令の導出を試行すること、前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデル
により導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、を実行する情報処理方法である。
【発明の効果】
【0008】
本開示によれば、手動操作による制御の発生頻度の低減を期待することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示が適用される場面の一例を模式的に示す。
【
図2A】
図2Aは、本実施形態に係る第1制御モデル及び第2制御モデルの関係の一例を模式的に示す。
【
図2B】
図2Bは、本実施形態に係る第1制御モデル及び第2制御モデルの関係の一例を模式的に示す。
【
図3】
図3は、本実施形態における制御過程の一例を模式的に示す。
【
図4A】
図4Aは、本実施形態において制御指令の導出に異常が生じた場面の一例を模式的に示す。
【
図4B】
図4Bは、本実施形態において制御指令の導出に異常が生じた場面の一例を模式的に示す。
【
図4C】
図4Cは、本実施形態において制御指令の導出に異常が生じた場面の一例を模式的に示す。
【
図5】
図5は、本実施形態に係る制御装置のハードウェア構成の一例を模式的に示す。
【
図6】
図6は、本実施形態に係る制御装置のソフトウェア構成の一例を模式的に示す。
【
図7】
図7は、本実施形態に係る制御装置による制御に関する処理手順の一例を示すフローチャートである。
【
図8】
図8は、他の形態における制御過程の一例を模式的に示す。
【
図9】
図9は、他の形態に係る制御装置による制御に関する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
従来、ルールベースによる自動運転システムが知られている。また、特許文献1等の方法によれば、訓練済み機械学習モデルを使用することで、自動運転システムを構築することができる。しかしながら、本件発明者らは、これらの従来の方法には、次のような問題点があることを見出した。
【0011】
すなわち、ルールベースモデル及び機械学習モデルのいずれの形態でも、制御指令を常に正常に導出可能とは限らない。一例では、カメラにより得られる画像を制御指令の導出に使用する場合、カメラのレンズに汚れ(例えば、雨、泥等)が付着したり、周囲が暗闇であったりすることで、周囲環境が画像に写らず、制御指令を正常に導出できないことがあり得る。他の一例では、位置情報を制御指令の導出に使用する場合に、位置情報を計測できず、制御指令を正常に導出できないことがあり得る。このような場合、自動運転を実行することはできないため、手動運転により車両を制御することになる。配備された制御モデルにおいて正常に制御指令を導出不能な状態が頻発する場合には、手動運転による制御の頻度が多くなってしまう。
【0012】
なお、この問題点は、車両の種類を問わず生じ得る。また、このような問題点が生じるのは、車両を制御する場面に限られない。移動の動作を制御する点では、車両以外の移動体でも同様である。そのため、車両以外のあらゆる移動体(例えば、飛行体、船舶、ロボット装置等)を制御する場面でも、同様の問題点が生じ得る。
【0013】
これに対して、本開示の第1態様に係る制御装置は、第1制御モデル及び第2制御モデルを記憶する記憶部、並びに制御部を備える。第2制御モデルは、タイプ及び入力データの少なくともいずれかが第1制御モデルと異なることにより、第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成されている。制御部は、第1制御モデルを使用して、第1制御指令の導出を試行すること、第1制御モデルによる第1制御指令の導出が正常である場合、導出された第1制御指令に従って、移動体の移動を制御すること、第1制御モデルによる第1制御指令の導出に異常が生じた場合、第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、移動体の移動を制御すること、を実行するように構成される。
【0014】
本開示の第1態様では、モデルのタイプ及び受け付ける入力の少なくともいずれかが相違することにより、異なる観点で制御指令を導出可能な第2制御モデルが、第1制御モデルと共に配備される。異なる観点で制御指令を導出するように構成されていることで、第2制御モデルにより正常に制御指令を導出可能な範囲は、第1制御モデルと相違し得る。つまり、第2制御モデルは、第1制御モデルでは制御指令を正常に導出不能な場面の少なくとも一部で、制御指令を正常に導出可能であることを期待することができる。そのため、第1制御モデルでは制御指令を正常に導出不能な場面の少なくとも一部で、第2制御モデルによる自動制御が実行可能である。すなわち、第1制御モデルの運用が困難な範囲の少なくとも一部を第2制御モデルによりサポートすることができる。したがって、本開示の第1態様によれば、手動操作による制御頻度の低減を図ることができる。
【0015】
上記態様に係る制御装置の別の形態として、本開示の一側面は、以上の各構成要素の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等の機械が読み取り可能な記憶媒体であってもよい。ここで、機械が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【0016】
例えば、本開示の第2態様に係る制御プログラムは、第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置に、前記第1制御モデルを使用して、第1制御指令の導出を試行すること、前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、を実行させるためのプログラムである。
【0017】
また、本開示の第3態様に係る制御方法は、第1制御モデル、並びにタイプ及び入力データの少なくともいずれかが前記第1制御モデルと異なることにより、前記第1制御モデルによる制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される第2制御モデルを保持する制御装置が、前記第1制御モデルを使用して、第1制御指令の導出を試行すること、前記第1制御モデルによる前記第1制御指令の導出が正常である場合、導出された前記第1制御指令に従って、移動体の移動を制御すること、前記第1制御モデルによる前記第1制御指令の導出に異常が生じた場合、前記第2制御モデルにより導出される第2制御指令又はユーザによる手動操作に由来する第3制御指令に従って、前記移動体の移動を制御すること、を実行する情報処理方法である。
【0018】
以下、本開示の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図
面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形が行われてよい。本開示の実施にあたって、実施の形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0019】
[1 適用例]
図1は、本開示を適用した場面の一例を模式的に示す。本実施形態に係る制御装置1は、対象の移動体Mの自動的な移動を制御するように構成された1台以上のコンピュータである。
【0020】
本実施形態では、制御装置1は、移動体Mに搭載され、第1制御モデル30及び第2制御モデル35を保持する。第1制御モデル30及び第2制御モデル35はそれぞれ、移動体Mの移動を自動制御するため、制御指令を導出可能に構成されている。第2制御モデル35は、モデルのタイプ及び受け付ける入力データの少なくともいずれかが第1制御モデル30と異なることにより、第1制御モデル30による制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成されている。
【0021】
本実施形態では、制御装置1は、第1制御モデル30を使用して、第1制御指令50の導出を試行する。この試行において、第1制御モデル30の適正な条件下で第1制御モデル30が運用されている場合には、第1制御指令50が正常に導出され得る。これに対して、例えば、正常に画像が得られない、位置情報が得られない等のように、適正な条件下で第1制御モデル30が運用されていない場合には、第1制御指令50が正常に導出されない(すなわち、第1制御指令50の導出に異常が生じる)可能性がある。
【0022】
第1制御モデル30による第1制御指令50の導出が正常である場合、制御装置1は、導出された第1制御指令50に従って、移動体Mの移動を制御する。一方で、第1制御モデル30による第1制御指令50の導出に異常が生じた場合、制御装置1は、第2制御モデル35により導出される第2制御指令55又はユーザによる手動操作40に由来する第3制御指令60に従って、移動体Mの移動を制御する。
【0023】
以上のとおり、本実施形態では、異なる観点で制御指令を導出可能な第2制御モデル35が、第1制御モデル30と共に配備される。これにより、第1制御モデル30では制御指令(第1制御指令50)を正常に導出不能な場面の少なくとも一部で、第2制御モデル35により制御指令(第2制御指令55)を正常に導出可能であることを期待することができる。そのため、第1制御モデル30による第1制御指令50の導出に異常が生じても、第2制御モデル35による自動制御の継続を見込むことができる。すなわち、第1制御モデル30の運用が困難な範囲の少なくとも一部を第2制御モデル35によりサポートすることができる。第2制御モデル35により自動制御を継続可能な場合には、手動操作40による制御に切り替えずに済む。したがって、本実施形態によれば、手動操作による制御頻度の低減を図ることができる。
【0024】
(移動体)
機械制御により自動的に移動可能であれば、移動体Mの種類は、実施の形態に応じて適宜選択されてよい。移動体Mは、例えば、車両、飛行体、船舶、ロボット装置等の移動可能な装置であってよい。飛行体は、ドローン等の無人機及び有人機の少なくともいずれかであってよい。
【0025】
一例では、
図1に示されるとおり、移動体Mは、車両であってよい。この場合、車両の
自動走行を実施する場面で、手動操作による制御頻度の低減を図ることができる。なお、移動体Mが車両である場合に、車両の種類(車輪数、動力源、大きさ等)は任意に選択されてよい。車両は、例えば、二輪車、三輪車、四輪車等から選択されてよい。車両の動力源は、例えば、電気、燃料等から選択されてよい。車両が自動車である場合、車両の大きさは、大型、中型、準中型、普通、大型特殊、小型特殊等から選択されてよい。車両が二輪車である場合、車両の大きさは、大型、普通等から選択されてよい。典型例として、移動体Mは、レベル2以上の自動運転の能力を有した自動車であってよい。なお、ユーザは、移動体Mに関与する任意の者であってよい。移動体Mが車両の場合、典型的には、ユーザは、ドライバであってよい。
【0026】
(制御すること)
一例では、対象の移動体Mの動作を制御することは、対象の移動体Mを直接的に制御することにより構成されてよい。すなわち、制御装置1は、対象の移動体Mを直接的に制御するように構成されてよい。他の一例では、移動体Mは、例えば、コントローラ等の専用の制御装置を備えてよい。この場合、制御装置1による対象の移動体Mの動作を制御することは、当該専用の制御装置に導出結果を与えることで、対象の移動体Mを間接的に制御することにより構成されてよい。
【0027】
なお、制御装置1は任意の場所に配備されてよい。一例では、
図1に示されるように、制御装置1は、移動体Mに搭載されてよい。搭載場所は任意に決定されてよく、例えば、制御装置1は、移動体Mの内部又は外部に取り付けられてよい。他の一例では、制御装置1は、移動体Mから離れて配置され、移動体Mを遠隔的に制御するように構成されてよい。制御装置1は、有線又は無線で移動体Mに接続されてよい。
【0028】
(制御モデル)
第1制御モデル30及び第2制御モデル35はそれぞれ、移動体Mの環境に応じて制御指令を導出するように構築される。環境は、移動体M自身及び周囲の少なくとも一方で観測される事象である。一例では、少なくとも一部の環境は、移動体Mの内部又は外部に配置された1つ以上のセンサSにより観測されてよい。センサSは、移動体Mの移動する任意の環境を観測可能であれば、その種類は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。一例では、1つ以上のセンサSは、カメラ(画像センサ)、レーダ、LiDAR(Light Detection And Ranging)、ソナー(超音波センサ)、赤外線センサ、GNSS(Global Navigation Satellite System)/GPS(Global Positioning Satellite)モジュール等を含んでよい。
【0029】
移動体(移動体M)の環境から制御指令を導出可能であれば、制御モデル(第1制御モデル30、第2制御モデル35)の入出力の形態は、特に限られなくてよく、実施の形態に応じて適宜選択されてよい。一例では、第1制御モデル30及び第2制御モデル35の少なくともいずれかは、1時点以上のセンサの観測データから制御指令を導出するように構成されてよい。他の一例では、第1制御モデル30及び第2制御モデル35の少なくともいずれかは、周辺環境の認識結果から制御指令を導出するように構成されてよい。周辺環境の認識結果は、センサの観測データを任意の方法で解析する(すなわち、解析モデルを使用する)ことで得られてよい。制御装置1は、センサの観測データから周辺環境の認識結果を推論する解析モデルを更に備えてよい。一例では、解析モデルは、パターンマッチング、エッジ検出等の解析処理を実行することでルールベースにより、観測データから周辺環境の認識結果を得るように構成されてよい。他の一例では、解析モデルは、訓練済み機械学習モデルにより構成されてよい。解析モデルは、制御モデルの一部とみなされてもよいし、或いは制御モデルとは別個の構成要素とみなされてもよい。制御モデルの入力には、その他の情報が任意で追加されてよい。制御モデルは、例えば、設定速度、制限速度、位置、地図情報、ナビ情報等の任意の情報の入力を更に受け付けるように構成されて
よい。
【0030】
また、一例では、制御モデル(第1制御モデル30、第2制御モデル35)は、制御指令を直接的に出力するように構成されてよい。他の一例では、制御モデルは、制御指令を間接的に出力するように構成され、制御モデルの出力に対して任意の情報処理(例えば、判定、選択等の解釈処理)を実行することで制御指令が得られてもよい。制御指令は、例えば、アクセル制御量、ブレーキ制御量、ハンドル操舵角等の移動体Mの制御量(制御指示値、制御出力量)を直接的に示すように構成されてもよい。或いは、制御指令は、例えば、パス、制御後の状態等のように、移動体Mの制御量を間接的に示すように構成されてよい。この場合、任意の情報処理を実行することで、制御指令から移動体Mの制御量が得られてよい。一例では、移動体Mが車両の場合、制御モデルから得られた推論結果を車両モデルに適用することで、車両の制御量が得られてよい。車両モデルは、アクセル、ブレーキ、ハンドル操舵等の各種パラメータを有してよく、間接情報(パス、制御後状態等)から制御量を導出するよう適宜構成されてよい。第1制御モデル30及び第2制御モデル35それぞれの出力形式は任意に選択されてよい。一例では、第1制御モデル30及び第2制御モデル35の一方が制御指令を直接的に出力するように構成され、他方が制御指令を間接的に出力するように構成されてもよい。
【0031】
第1制御モデル30及び第2制御モデル35それぞれの構成は、実施の形態に応じて適宜選択されてよい。一例では、制御モデル(第1制御モデル30、第2制御モデル35)は、訓練済み機械学習モデル(例えば、end-to-endモデル)、ルールベースモデル又はこれらの組み合わせで構成されてよい。
【0032】
ルールベースモデルは、与えられた入力(例えば、観測データ、周辺環境の認識結果等の環境を示す情報)をルールに照合し、照合の結果に応じて(適合するルールに従って)、制御指令を導出するように構成される。ルールは、手動又は少なくとも一部自動で設定されてよい。
【0033】
機械学習モデルは、機械学習により調整可能な1つ以上の演算パラメータを有するように構成される。1つ以上の演算パラメータは、目的とする推論(本開示では、制御指令の導出)の演算に使用される。機械学習は、学習データを使用して、演算パラメータの値を調整(最適化)することである。機械学習モデルは、例えば、ニューラルネットワーク、サポートベクタマシン、回帰モデル、決定木モデル等により構成されてよい。機械学習の方法は、採用する機械学習モデルに応じて、適宜選択されてよい(例えば、誤差逆伝播法等)。
【0034】
一例として、第1制御モデル30及び第2制御モデル35の少なくともいずれかは、ニューラルネットワークにより構成されてよい。ニューラルネットワークの構造は、実施の形態に応じて適宜決定されてよく、例えば、入力層から出力層までの層の数、各層の種類、各層に含まれるノード(ニューロン)の数、各層のノード同士の結合関係等により特定されてよい。一例では、ニューラルネットワークは、再帰構造を有してよい。また、ニューラルネットワークは、例えば、全結合層、畳み込み層、プーリング層、逆畳み込み層、アンプーリング層、正規化層、ドロップアウト層、LSTM(Long short-term memory)等の任意の層を含んでよい。ニューラルネットワークは、Attention機構等の任意の機構を有
してよい。ニューラルネットワークは、GNN(Graph neural network)、diffusionモ
デル、生成モデル(例えば、Generative Adversarial Network、Transformer等)等の任
意のモデルを含んでよい。ニューラルネットワークを制御モデルに使用する場合、制御モデルに含まれる各ノード間の結合の重み及び各ノードの閾値が、演算パラメータの一例である。なお、機械学習モデルを採用する場合、制御モデルは、end-to-endモデルの構造で構成されてよい。
【0035】
(第1制御モデル及び第2制御モデルの関係)
本実施形態では、第1制御モデル30は移動体Mの制御にメインで使用され、第2制御モデル35は、第1制御モデル30の出力不良(異常)時の代替手段として移動体Mの制御にサブで使用される。つまり、第2制御モデル35は、第1制御モデル30のサポートで使用される。第1制御モデル30及び第2制御モデル35は、モデルのタイプ及び受け付ける入力データ(与えられるデータ)の少なくともいずれかが互いに異なるように構成される。これにより、第2制御モデル35は、第1制御モデル30による制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される。
【0036】
モデルのタイプが異なるとは、推論処理の演算工程が相違することである。推論処理の演算工程が相違すれば、制御指令の導出不良の生じる条件が相違し得る。モデルのタイプが異なることは、例えば、第1制御モデル30に機械学習モデルを採用し、第2制御モデル35にルールベースモデルを採用する、第1制御モデル30及び第2制御モデル35に互いに異なる構造の機械学習モデルを採用する等の方法で実現されてよい。一例では、再帰型の構造を有するニューラルネットワークを第1制御モデル30に採用し、再帰型の構造を有さないニューラルネットワークを第2制御モデル35に採用してよい。
【0037】
与えられる入力データが異なることは、制御モデルに与える入力データの少なくとも一部の種類が相違すること、及び入力データの種類は同一であるが、解像度(情報量)が相違することの少なくとも一方で構成されてよい。入力データの少なくとも一部の種類が異なれば、入力データが正常に得られる条件が相違し得るため、制御指令の導出不良の生じる条件も相違し得る。解像度が相違する場合も同様である(一般的に、低解像度のデータは高解像度のデータより正常に得られやすい)。一例として、第1制御モデル30及び第2制御モデル35の一方は、画像データ及び他のデータ(例えば、位置情報、地図情報、ナビ情報等)が入力されるように構成されるのに対して、他方は画像データのみ入力されるように構成されてよい。他の一例として、第1制御モデル30及び第2制御モデル35の一方は、高解像度のデータ(例えば、位置情報、画像データ等)が入力されるように構成されるのに対して、他方は低解像度のデータが入力されるように構成されてよい。この場合、第1制御モデル30が高解像度のデータの入力を受け付けるように構成され、第2制御モデル35が低解像度のデータの入力を受け付けるように構成されてよい。本実施形態では、上記モデルのタイプが異なること及び入力データが異なることの少なくともいずれかにより、第1制御モデル30及び第2制御モデル35は、制御指令を正常に導出可能な場面の少なくとも一部が相違し得るように構成されてよい。
【0038】
図2Aは、本実施形態に係る第1制御モデル30及び第2制御モデル35の関係の一例を模式的に示す。
図2Aの一例では、第1制御モデル30は、訓練済み機械学習モデル30Aにより構成され、第2制御モデル35は、ルールベースモデル35Aにより構成される。一例では、訓練済み機械学習モデル30Aは、end-to-endモデルの構造を有してよい。また、一例では、ルールベースモデル35Aは、センサにより得られる観測データの少なくとも一部から周辺環境を認識し、周辺環境の認識結果をルールに照合し、照合の結果に応じて(適合するルールに従って)、制御指令を導出するように構成されてよい。周辺環境を認識するため、ルールベースモデル35Aは、解析モデルを含んでよい。
【0039】
一般的に、ルールベースモデルは、ルールに従って制御指令を導出するため、機械学習モデルと比べて、制御指令を導出する過程が明瞭であり、ルールベースモデルの動作は予測し易い。そのため、この例によれば、第1制御モデル30による制御指令の導出に不良が生じる場面で、動作の予測性の高い第2制御モデル35による安定的な移動体Mの自動制御の継続を期待することができる。なお、訓練済み機械学習モデル30A及びルールベースモデル35Aの入力は実施の形態に応じて適宜選択されてよい。訓練済み機械学習モ
デル30A及びルールベースモデル35Aの入力は同一であってもよいし、又は互いに異なっていてもよい。
【0040】
図2Bは、本実施形態に係る第1制御モデル30及び第2制御モデル35の関係の他の一例を模式的に示す。
図2Bの一例では、第1制御モデル30は、訓練済み機械学習モデル30Bにより構成される。第2制御モデル35は、第1制御モデル30(訓練済み機械学習モデル30B)とは少なくとも部分的に入力データが相違する訓練済み機械学習モデル35Bにより構成される。
【0041】
一例では、訓練済み機械学習モデル30B及び訓練済み機械学習モデル35Bの一方の入力データは、他方の入力データの一部のみで構成されてよい。具体例として、
図2Bに示されるとおり、訓練済み機械学習モデル30Bは、複数種類のデータ(例えば、画像データ及び他のデータ)の入力を受け付けるように構成されるのに対して、訓練済み機械学習モデル35Bは、一部のデータ(例えば、画像データのみ)のみの入力を受け付けるように構成されてよい。
【0042】
他の一例では、訓練済み機械学習モデル30B及び訓練済み機械学習モデル35Bの入力データは一部分で重複し、他の部分で相違するように構成されてよい。具体例として、訓練済み機械学習モデル30Bは、第1データ及び第2データ(例えば、画像データ及び位置情報)の入力を受け付けるように構成されるのに対して、訓練済み機械学習モデル35Bは、第1データ及び第3データ(例えば、画像データ及びLiDARデータ)の入力を受
け付けるように構成されてよい。第1~第3データはそれぞれ、1種類以上のデータで構成されてよい。
【0043】
更に他の一例では、訓練済み機械学習モデル30B及び訓練済み機械学習モデル35Bの入力データは完全に相違するように構成されてよい。具体例として、訓練済み機械学習モデル30Bは、第1データ(例えば、画像データ/位置情報)のみの入力を受け付けるように構成されるのに対して、訓練済み機械学習モデル35Bは、第2データ(例えば、位置情報/画像データ)のみの入力を受け付けるように構成されてよい。第1及び第2データはそれぞれ、1種類以上のデータで構成されてよい。
【0044】
訓練済み機械学習モデル(30B、35B)の入力データの種類が重複する形態を採用する場合、それぞれの入力データの解像度(情報量)は相違してもよい。具体例として、訓練済み機械学習モデル(30B、35B)の一方は高解像度のデータ(例えば、画像データ、位置情報等)の入力を受け付けるように構成されるのに対して、他方は低解像度のデータの入力を受け付けるように構成されてよい。一例では、訓練済み機械学習モデル30Bは高解像度のデータの入力を受け付けるように構成されるのに対して、訓練済み機械学習モデル35Bは低解像度のデータの入力を受け付けるように構成されてよい。高解像度及び低解像度は、互いに入力されるデータの関係を指し、一方に入力される同一種類のデータの量が他方と相違することにより構成される。解像度が相違する形態を採用する場合、訓練済み機械学習モデル(30B、35B)の入力データの種類は完全に一致していてもよい。
【0045】
第1制御モデル30(訓練済み機械学習モデル30B)及び第2制御モデル35(訓練済み機械学習モデル35B)の間で少なくとも部分的に入力データが相違していることで、制御指令の導出(推論)に使用するデータ(説明変数)が異なる。これにより、制御指令の正常な導出に使用可能な入力データの得られる条件が相違し得る。そのため、第1制御モデル30及び第2制御モデル35の間で、制御指令の導出不良が生じる範囲を相違させることができる。したがって、この例によれば、第1制御モデル30による制御指令の導出に不良が生じる少なくとも一部の場面で、第2制御モデル35による自動制御の継続
を期待することができる。
【0046】
なお、この形態を採用する場合、一例では、第2制御モデル35(訓練済み機械学習モデル35B)は、第1制御モデル30(訓練済み機械学習モデル30B)と比べて、入力データの量が少ない及び演算パラメータの数が少ないの少なくともいずれかにより、演算負荷が小さくなるように構成されてよい。これにより、演算負荷の増大を抑えつつ、手動操作による制御頻度の低減を図ることができる。
【0047】
また、一例では、第1制御モデル30(訓練済み機械学習モデル30B)は、汎用的に訓練されるのに対して、第2制御モデル35(訓練済み機械学習モデル35B)は、専用的に訓練されてよい。或いは、第1制御モデル30も専用的に訓練されるが、第2制御モデル35は、第1制御モデル30と比べてより専用的に訓練されてよい。専用的に訓練することは、例えば、訓練サンプルのドメインを限定する(局所的なドメイン由来の訓練サンプルを機械学習に使用する)等、第1制御モデル30と比べて第2制御モデル35が特定のドメインで性能を発揮しやすいように訓練することにより構成されてよい。具体例として、移動体Mが車両の場合、トンネルの走行に関する訓練サンプルを優先的に訓練する、特定の地域の走行に関する訓練サンプルを優先的に訓練する等により、訓練サンプルのドメインが限定されてよい。機械学習に使用される訓練サンプルのドメインには、汎用的に訓練された制御モデル(訓練済み機械学習モデル30B)が導出不良に陥りやすいドメインが選択されてよい。これにより、特定のドメインで第1制御モデル30(訓練済み機械学習モデル30B)が導出不良に陥った際に、第2制御モデル35(訓練済み機械学習モデル35B)により自動制御を継続できる確率を高めることができる。
【0048】
(制御指令)
制御指令(第1制御指令50、第2制御指令55、第3制御指令60)は、移動体Mの動作に関する。制御指令の構成は、実施の形態に応じて適宜選択されてよい。一例では、制御指令は、加速、減速、操舵又はこれらの組み合わせにより構成されてよい。加速及び減速は、ギアチェンジを含んでよい。加速、減速及び操舵の少なくともいずれかを含む場合、制御指令は、パスにより表現されてよい。これに応じて、制御モデル(第1制御モデル30及び第2制御モデル35)は、パスプランナと表現されてよい。また、制御指令は、移動体Mの操作に関する指令を更に含んでよい。一例として、移動体Mが車両である場合、制御指令は、ウインカー、ハザード、クラクション、通信処理(例えば、センタにデータを送信する、緊急コールを発信する等)等の車両操作を含んでよい。
【0049】
(第2制御モデル及び手動操作の振り分け)
第1制御モデル30による第1制御指令50の導出に異常が生じた際における、第2制御モデル35による自動制御を実行するか手動操作40による制御を実行するかの振り分けは実施の形態に応じて適宜決定されてよい。単純な一例として、第2制御指令55又は第3制御指令60に従って、移動体Mの移動を制御することは、第2制御モデル35による第2制御指令55の導出が正常である場合、導出された第2制御指令55に従って、移動体Mの移動を制御すること、及び第2制御モデル35による第2制御指令55の導出に異常が生じた場合、手動操作40に由来する第3制御指令60に従って、移動体Mの移動を制御すること、により構成されてよい。
【0050】
図3は、本実施形態に係る制御装置1における制御過程の一例を模式的に示す。
図3の一例では、制御装置1は、第1制御モデル30による第1制御指令50の導出を試行する。第1制御指令50の導出を試行した結果、第1制御指令50が正常に導出された場合、制御装置1は、導出された第1制御指令50に従って、移動体Mの動作を制御する。一方で、第1制御指令50の導出に異常が生じた場合、制御装置1は、第2制御モデル35による第2制御指令55の導出を試行する。第2制御モデル35による第2制御指令55の
導出の試行は、第1制御指令50の導出の成否に関係なく実行されてよい。
【0051】
第2制御指令55の導出を試行した結果、第2制御指令55が正常に導出された場合、制御装置1は、導出された第2制御指令55に従って、移動体Mの動作を制御する。他方、第2制御指令55の導出に異常が生じた場合、制御装置1は、手動操作40の入力を受け付けて、入力された手動操作40に由来する第3制御指令60に従って、移動体Mの動作を制御する。これにより、第1制御モデル30、第2制御モデル35及び手動操作40の順で制御モードが切り替えられるため、第2制御モデル35による自動制御の実行継続の可能性を確保することができる。その結果、手動操作による制御頻度の低減を図ることができる。
【0052】
なお、手動操作40の受け付けは任意のタイミングで実行されてよい。第1制御モデル30又は第2制御モデル35による自動制御を実行している間に、制御装置1は、手動操作40の入力を受け付けてもよい。制御装置1は、ユーザによる任意の操作に応じて、第1制御モデル30又は第2制御モデル35による自動制御モードから手動操作40による制御モードに切り替えてよい。第1制御モデル30又は第2制御モデル35による自動制御から手動操作40による手動制御に切り替える場合、制御装置1は、制御モデルにより導出された制御指令を破棄(無視)又は導出された制御指令にオーバーラップして、手動操作40に由来する第3制御指令60に従って、移動体Mの動作を制御してよい。破棄は、自動制御から手動制御に即時に切り替えること、すなわち、制御モデルにより導出された制御指令による制御からユーザの手動操作40に従った制御に即時に切り替えることであってよい。一方、オーバーラップは、自動制御から手動制御(ユーザ制御)に徐々に切り替えることであってよい。
【0053】
(異常)
制御モデル(第1制御モデル30、第2制御モデル35)による制御指令(第1制御指令50、第2制御指令55)の導出に異常が生じることは、正常な制御指令が得られないあらゆるケースを含んでよい。
【0054】
図4A、
図4B及び
図4Cはそれぞれ、本実施形態に係る制御装置1において制御指令の導出に異常が生じる場面の一例を模式的に示す。
【0055】
図4Aの例では、第1制御モデル30による第1制御指令50の導出に異常が生じることは、第1制御指令50の出力不全が生じることを含んでいる。出力不全は、制御指令を導出可能な意味ある出力がなされないこと、エラー信号が出力されること、及び何の出力もなされないことの少なくともいずれかであってよい。
【0056】
図4Bの例では、第1制御モデル30による第1制御指令50の導出に異常が生じることは、第1制御モデル30の出力の信頼度が閾値未満であることを含んでいる。閾値は任意に決定されてよい。信頼度が閾値と等しいケースは、異常又は正常のいずれのケースに分類されてよい。
【0057】
信頼度は、任意の方法で獲得されてよい。一例では、
図4Bに示されるとおり、機械学習の訓練時に信頼度が教師信号として与えられる(すなわち、訓練データに信頼度が付与されている)等の任意の方法で、第1制御モデル30は、推論結果と共に、推論結果の信頼度を出力可能に構成されてよい。
【0058】
他の一例では、第1制御モデル30の出力から信頼度が算定されてよい。例えば、第1制御モデル30がオートエンコーダを含む場合、制御装置1は、オートエンコーダの再構成誤差を信頼度として算出してよい。この場合、制御装置1は、再構成誤差が大きいほど
信頼度は低いと評価してよい。また、例えば、第1制御モデル30の出力がクラス識別の結果を含む場合、制御装置1は、クラス間エントロピーを信頼度として算出してよい。この場合、制御装置1は、エントロピーの値が大きいほど信頼度は低いと評価してよい。更に他の一例では、制御装置1は、シミュレーション等の任意の解析処理で、第1制御モデル30により導出される第1制御指令50から信頼度を算出してよい。
【0059】
図4Cの例では、第1制御モデル30による第1制御指令50の導出に異常が生じることは、第1制御モデル30の出力の単位時間当たりの変化量が閾値を超えていることを含んでいる。閾値は任意に決定されてよい。変化量が閾値と等しいケースは、異常又は正常のいずれのケースに分類されてよい。基本的には、安定的な自動制御のために、制御モデルにより導出される制御指令の変化量は大きくならない。そのため、制御モデルの出力の変化量に応じて制御指令の導出の成否を判定することができる。
【0060】
一例では、
図4Cに示されるとおり、出力の変化量は、第1制御指令50の導出結果の変動から算出されてもよい。
図4Cは、加速又は減速の速度の変化量を出力の変化量として算出する例を示している。他の一例では、単純な方法として、出力の変化量は、第1制御モデル30の出力値の変動から算出されてもよい。また、出力の変化量は任意の方法で計算されてよい。一例では、出力の変化量は、所定期間における差分の時間積分(t-t+1間の差分の合計)で計算されてよい。
【0061】
本実施形態では、第1制御指令50の導出に異常が生じることは、上記3つのケースの少なくともいずれかを含んでよい。これにより、上記3つの少なくともいずれかのケースで、第1制御モデル30による制御指令の導出不良を判別し、判別の結果に応じて、第1制御モデル30による自動制御から第2制御モデル35による自動制御に切り替えることができる。なお、第1制御モデル30を第2制御モデル35に置き換えて、第2制御指令55の導出に異常が生じることも同様であってよい。
【0062】
[2 構成例]
[ハードウェア構成例]
図5は、本実施形態に係る制御装置1のハードウェア構成の一例を模式的に示す。本実施形態に係る制御装置1は、制御部11、記憶部12、外部インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。
【0063】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、
RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて任意の情報処理を実行するように構成される。制御部11(CPU)は、プロセッサ・リソースの一例である。
【0064】
記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等により構成されてよい。記憶部12(及びRAM、ROM)は、メモリ・リソースの一例である。本実施形態では、記憶部12は、制御プログラム81、第1モデルデータ300、第2モデルデータ350等の各種情報を記憶する。
【0065】
制御プログラム81は、移動体Mの制御に関する情報処理(後述の
図7、9)を制御装置1に実行させるためのプログラムである。制御プログラム81は、当該情報処理の一連の命令を含む。第1モデルデータ300は、第1制御モデル30に関する情報を含むように構成される。第2モデルデータ350は、第2制御モデル35に関する情報を含むように構成される。一例では、第1制御モデル30及び第2制御モデル35の少なくとも一方が訓練済み機械学習モデルにより構成される場合、第1モデルデータ300及び第2モデルデータ350の少なくとも一方は、機械学習により調整された演算パラメータの値を示
す情報を含んでよい。場合によって、第1モデルデータ300及び第2モデルデータ350の少なくとも一方は、機械学習モデルの構成(例えば、ニューラルネットワークの構造等)を示す情報を更に含んでもよい。他の一例では、第1制御モデル30及び第2制御モデル35の少なくとも一方がルールベースモデルにより構成される場合、第1モデルデータ300及び第2モデルデータ350の少なくとも一方は、ルールベースモデルにおけるルールを示す情報を含んでよい。
【0066】
外部インタフェース13は、例えば、USB(Universal Serial Bus)ポート、専用ポート、無線通信ポート等であってよく、有線又は無線で外部装置と接続するように構成される。本実施形態では、制御装置1は、外部インタフェース13を介して、センサSに接続されてよい。制御装置1は、外部インタフェース13を介して、移動体Mの任意の構成(例えば、操作具)と接続されてもよい。
【0067】
入力装置14は、例えば、マウス、キーボード、操作子等の入力を行うための装置である。出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザは、入力装置14及び出力装置15を利用することで、制御装置1を操作することができる。入力装置14及び出力装置15は、例えば、タッチパネルディスプレイ等により一体的に構成されてもよい。
【0068】
ドライブ16は、記憶媒体91に記憶されたプログラム等の各種情報を読み込むための装置である。上記制御プログラム81、第1モデルデータ300及び第2モデルデータ350の少なくともいずれかは、記憶部12に代えて又は記憶部12と共に、記憶媒体91に格納されていてもよい。記憶媒体91は、コンピュータ等の機械が各種情報(記憶されたプログラム等)を読み取り可能なように、電気的、磁気的、光学的、機械的又は化学的作用により当該情報を蓄積するように構成される。制御装置1は、上記制御プログラム81、第1モデルデータ300及び第2モデルデータ350の少なくともいずれかを記憶媒体91から取得してよい。なお、記憶媒体91は、CD、DVD等のディスク型の記憶媒体であってもよいし、或いは半導体メモリ(例えば、フラッシュメモリ)等のディスク型以外の記憶媒体であってもよい。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。
【0069】
なお、制御装置1の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)、ECU
(Electronic Control Unit)、GPU(Graphics Processing Unit)等により構成され
てよい。外部インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。制御装置1は、提供されるサービス専用に設計されたコンピュータの他、汎用のコンピュータ、スマートフォンを含む携帯電話、タブレットPC(Personal Computer)、その他端末装置等であってよい。移動体Mが車両の場合、
制御装置2は、車載装置であってよい。
【0070】
[ソフトウェア構成例]
図6は、本実施形態に係る制御装置1のソフトウェア構成の一例を模式的に示す。制御装置1の制御部11は、記憶部12に記憶された制御プログラム81をRAMに展開し、制御プログラム81に含まれる命令をCPUにより実行する。これにより、制御装置1は、取得部111、第1導出部112、第2導出部113、判定部114、操作受付部115、及び動作制御部116をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、制御装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0071】
取得部111は、センサSの観測データ125を取得するように構成される。第1導出部112は、第1モデルデータ300を保持することで、第1制御モデル30を備えている。第1導出部112は、第1制御モデル30を使用して、第1制御指令50を導出するように構成される。本実施形態では、第1導出部112は、第1制御モデル30を使用して、取得された観測データ125の少なくとも一部から第1制御指令50を導出するように構成されてよい。第2導出部113は、第2モデルデータ350を保持することで、第2制御モデル35を備えている。第2導出部113は、第2制御モデル35を使用して、第2制御指令55を導出するように構成される。本実施形態では、第2導出部113は、第2制御モデル35を使用して、取得された観測データ125の少なくとも一部から第2制御指令55を導出するように構成されてよい。
【0072】
判定部114は、制御モデル(第1制御モデル30、第2制御モデル35)による制御指令(第1制御指令50、第2制御指令55)の導出が正常であるか否かを判定するように構成される。操作受付部115は、ユーザによる手動操作40の入力を受け付け、入力された手動操作40に由来する第3制御指令60を取得するように構成される。動作制御部116は、第1制御モデル30による第1制御指令50の導出が正常である場合に、導出された第1制御指令50に従って、移動体Mの移動を制御するように構成される。更に、動作制御部116は、第1制御モデル30による第1制御指令50の導出に異常が生じた場合に、第2制御モデル35により導出される第2制御指令55又はユーザによる手動操作40に由来する第3制御指令60に従って、移動体Mの移動を制御するように構成される。
【0073】
なお、本実施形態では、制御装置1の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部は、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。制御装置1のソフトウェア構成に関して、適宜、モジュールの省略、置換及び追加が行われてもよい。
【0074】
[3 動作例]
図7は、本実施形態に係る制御装置1による移動体Mの制御に関する処理手順の一例を示す。以下の処理手順は、コンピュータにより実行される制御方法の一例である。ただし、以下の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0075】
(ステップS101)
ステップS101では、制御部11は、取得部111として動作し、センサSの観測データ125を取得する。観測データ125の取得経路は任意に選択されてよい。一例では、制御装置1はセンサSと直接的に接続されてよく、制御部11は、センサSから直接的に観測データ125を取得してよい。他の一例では、制御部11は、他のコンピュータを介してセンサSから間接的に観測データ125を取得してよい。観測データ125を取得すると、制御部11は、次のステップS102に処理を進める。
【0076】
(ステップS102)
ステップS102では、制御部11は、第1導出部112として動作し、第1制御モデル30を使用して、第1制御指令50の導出を試行する。第1制御指令50を導出する処理は、実施の形態に応じて適宜決定されてよい。
【0077】
一例として、第1制御モデル30が訓練済み機械学習モデルを含む場合、制御部11は
、取得された観測データ125の少なくとも一部を第1制御モデル30に入力し、第1制御モデル30の演算処理(例えば、順伝播の演算処理)を実行してよい。この演算処理の結果、制御部11は、推論結果(直接的又は間接的な制御指令の導出結果)に対応する出力値を第1制御モデル30から取得してよい。この場合、制御部11は、ステップS102を処理する前の任意のタイミングで、第1モデルデータ300を参照して、演算処理を実行可能な状態に第1制御モデル30(訓練済み機械学習モデル)をセットアップしてよい。
【0078】
他の一例として、第1制御モデル30がルールベースモデルを含む場合、制御部11は、第1モデルデータ300を参照し、ルールベースモデルにより規定されるルールに従って、観測データ125の少なくとも一部により示される環境から第1制御指令50を導出してよい。ルールベースモデルが解析モデルを含む場合、制御部11は、解析モデルを使用して、観測データ125の少なくとも一部から移動体Mの周辺環境を認識し、認識した結果からルールに従って第1制御指令50を導出してよい。
【0079】
第1制御指令50の導出を試行すると、制御部11は、次のステップS103に処理を進める。
【0080】
(ステップS103)
ステップS103では、制御部11は、判定部114として動作し、第1制御モデル30により第1制御指令50が正常に導出されたか否かを判定する。本実施形態では、第1制御指令50の導出に異常が生じることは、第1制御指令50の出力不全が生じること、第1制御モデル30の出力の信頼度が閾値未満であること、及び第1制御モデル30の出力の単位時間当たりの変化量が閾値を超えていることの少なくともいずれかを含んでよい。第1制御指令50が正常に導出されたと判定した場合、制御部11は、ステップS104に処理を進める。一方、第1制御指令50の導出に異常が生じたと判定した場合、制御部11は、ステップS105に処理を進める。
【0081】
(ステップS104)
ステップS104では、制御部11は、動作制御部116として動作し、導出された第1制御指令50に従って、移動体Mの動作を制御する。制御部11は、対象の移動体Mの動作を直接的又は間接的に制御してよい。対象の移動体Mの制御が完了すると、制御部11は、本動作例に係る制御装置1の処理手順を終了する。
【0082】
(ステップS105)
ステップS105では、制御部11は、第2導出部113として動作し、第2制御モデル35を使用して、第2制御指令55の導出を試行する。本実施形態では、第2制御モデル35は、タイプ及び入力データの少なくともいずれかが第1制御モデル30と異なることにより、第1制御モデル30による制御指令の導出に異常が生じる少なくとも一部の場面で制御指令を正常に導出可能に構成される。一例では、第1制御モデル30は、訓練済み機械学習モデルにより構成されるのに対して、第2制御モデル35は、ルールベースモデルにより構成されてよい。他の一例では、第1制御モデル30は、訓練済み機械学習モデルにより構成され、第2制御モデル35は、第1制御モデル30とは少なくとも部分的に入力データが相違する訓練済み機械学習モデルにより構成されてよい。
【0083】
第2制御指令55を導出する処理は、第1制御指令50と同様に、実施の形態に応じて適宜決定されてよい。一例として、第2制御モデル35が訓練済み機械学習モデルを含む場合、制御部11は、取得された観測データ125の少なくとも一部を第2制御モデル35に入力し、第2制御モデル35の演算処理を実行することで、第2制御指令55の導出結果を取得してよい。制御部11は、ステップS105を処理する前の任意のタイミング
で、第2モデルデータ350を参照して、演算処理を実行可能な状態に第2制御モデル35をセットアップしてよい。他の一例として、第2制御モデル35がルールベースモデルを含む場合、制御部11は、第2モデルデータ350を参照し、ルールベースモデルにより規定されるルールに従って、観測データ125の少なくとも一部により示される環境から第2制御指令55を導出してよい。ルールベースモデルが解析モデルを含む場合、制御部11は、解析モデルを使用して、観測データ125の少なくとも一部から移動体Mの周辺環境を認識し、認識した結果からルールに従って第2制御指令55を導出してよい。
【0084】
第2制御指令55の導出を試行すると、制御部11は、次のステップS106に処理を進める。なお、
図7の例では、ステップS103の判定の結果、第1制御指令50の導出に異常が生じたことに応じて、ステップS105の処理が実行される。しかしながら、ステップS105の処理タイミングは、このような例に限られなくてよい。ステップS105の処理は、ステップS103の判定結果に関係なく任意のタイミングで実行されてよい。他の一例として、ステップS105の処理は、ステップS102の処理と少なくとも部分的に並列に実行されてよい。
【0085】
(ステップS106)
ステップS106では、制御部11は、判定部114として動作し、第2制御モデル35により第2制御指令55が正常に導出されたか否かを判定する。本実施形態では、第1制御指令50と同様に、第2制御指令55の導出に異常が生じることは、第2制御指令55の出力不全が生じること、第2制御モデル35の出力の信頼度が閾値未満であること、及び第2制御モデル35の出力の単位時間当たりの変化量が閾値を超えていることの少なくともいずれかを含んでよい。第2制御指令55が正常に導出されたと判定した場合、制御部11は、ステップS107に処理を進める。一方、第2制御指令55の導出に異常が生じたと判定した場合、制御部11は、ステップS108に処理を進める。
【0086】
(ステップS107)
ステップS107では、制御部11は、動作制御部116として動作し、導出された第2制御指令55に従って、移動体Mの動作を制御する。制御部11は、対象の移動体Mの動作を直接的又は間接的に制御してよい。対象の移動体Mの制御が完了すると、制御部11は、本動作例に係る制御装置1の処理手順を終了する。
【0087】
(ステップS108)
ステップS108では、制御部11は、操作受付部115として動作し、ユーザによる手動操作40の入力を受け付け、入力された手動操作40に由来する第3制御指令60を取得する。手動操作40の入力を受け取り、第3制御指令60を取得すると、制御部11は、次のステップS109に処理を進める。
【0088】
なお、
図7の例では、ステップS103及びステップS106の判定の結果、第1制御指令50の導出及び第2制御指令55の導出共に異常が生じたことに応じて、ステップS108の処理が実行される。しかしながら、ステップS108の処理タイミングは、このような例に限られなくてよい。ステップS108の処理は、ステップS103及びステップS106の少なくとも一方の判定結果に関係なく任意のタイミングで実行されてよい。他の一例では、ステップS108の処理は、ステップS101~ステップS107のいずれの処理とも無関係に実行されてよい。
【0089】
また、本実施形態では、ステップS108に到達した段階で、移動体Mの動作モードは、制御モデル(第1制御モデル30、第2制御モデル35)による自動制御から手動制御に切り替えられる。制御部11は、手動制御に切り替える際、任意の移行処理(例えば、手動制御に切り替える旨の通知処理)を実行してよい。任意の移行処理の実行タイミング
は、実施の形態に応じて適宜決定されてよい。更に、例えば、ユーザが操作不能な状態である等により、手動操作40が得られない場合、制御部11は、任意の緊急処理(例えば、車両を路肩に停める等)を実行してよい。この場合、制御部11は、次のステップS109の処理を省略してよい。
【0090】
(ステップS109)
ステップS109では、制御部11は、動作制御部116として動作し、受け付けた手動操作40に応じて、移動体Mの動作を制御する。すなわち、制御部11は、取得された第3制御指令60に従って、移動体Mの動作を制御する。制御部11は、対象の移動体Mの動作を直接的又は間接的に制御してよい。対象の移動体Mの制御が完了すると、制御部11は、本動作例に係る制御装置1の処理手順を終了する。
【0091】
(その他)
なお、制御部11は、ステップS101~ステップS109の一連の情報処理を繰り返し実行してよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、所定期間(例えば、移動体Mの動力源が起動されてから停止されるまで)の間、ステップS101~ステップS109の一連の情報処理を繰り返し実行してよい。これにより、制御装置1は、移動体Mの動作制御を継続的に遂行してよい。
【0092】
[特徴]
本実施形態では、異なる観点で制御指令を導出可能な第2制御モデル35が、第1制御モデル30と共に配備される。これにより、第1制御モデル30では制御指令を正常に導出不能な場面の少なくとも一部で、第2制御モデル35による制御指令の正常な導出を期待することができる。ステップS102の処理において、第1制御モデル30による第1制御指令50の導出に異常が生じても、第2制御モデル35を使用するステップS105及びステップS107の処理により、自動制御の継続を見込むことができる。これにより、第1制御モデル30の自動制御が継続困難な場合でも、ステップS108及びステップS109の手動操作40による制御に切り替えなくてもよい場合があり得る。したがって、本実施形態によれば、手動操作による制御頻度の低減を図ることができる。
【0093】
[4 変形例]
以上、本開示の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本開示の例示に過ぎない。本開示の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0094】
<4.1>
上記実施形態では、第2制御指令55の導出の成否に応じて、第2制御モデル35及び手動操作40のいずれの制御を実行するかの振り分けを決定している。しかしながら、振り分け方法は、このような例に限られなくてよく、実施の形態に応じて適宜決定されてよい。他の一例では、上記実施形態と共に又は上記実施形態に代えて、第2制御指令55又は第3制御指令60に従って、移動体Mの移動を制御することは、移動体Mの移動の環境に応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定すること、第2制御モデル35を採用することを決定した場合、第2制御モデル35を使用して、第2制御指令55を導出し、かつ導出された第2制御指令55に従って、移動体Mの移動を制御すること、並びに手動操作40を採用することを決定した場合、手動操作40に由来する第3制御指令60に従って、移動体Mの移動を制御すること、により構成されてよい。この形態において、移動体Mは車両であってよく、移動体Mの移動の環境は、車両の走行する道路の種類を含んでよい。
【0095】
図8は、本変形例に係る制御装置1における制御過程の一例を模式的に示す。
図8の例では、制御装置1は、第1制御モデル30による第1制御指令50の導出を試行する。第1制御指令50の導出を試行した結果、第1制御指令50が正常に導出された場合、制御装置1は、導出された第1制御指令50に従って、移動体Mの動作を制御する。一方で、第1制御指令50の導出に異常が生じた場合、制御装置1は、制御時点における移動体Mの移動の環境に応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定する。一例では、上記判定部114が、第2制御モデル35及び手動操作40のいずれを採用するかを決定するように構成されてよい。
【0096】
第2制御モデル35を採用することを決定した場合、制御装置1は、第2制御モデル35を使用して、第2制御指令55を導出する。そして、制御装置1は、導出された第2制御指令55に従って、移動体Mの動作を制御する。一方で、手動操作40を採用することを決定した場合、制御装置1は、手動操作40の入力を受け付け、入力された手動操作40に由来する第3制御指令60を取得する。そして、制御装置1は、取得された第3制御指令60に従って、移動体Mの動作を制御する。
【0097】
図9は、本変形例に係る制御装置1による移動体Mの制御に関する処理手順の一例を示す。以下の処理手順は、コンピュータにより実行される制御方法の一例である。ただし、以下の処理手順は、一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0098】
図9に示される処理手順は、ステップS103の処理で第1制御指令50の導出に異常が生じたと判定された後、ステップS105の処理の前にステップS200の処理が実行される点を除き、上記実施形態(
図7)と同様であってよい。
【0099】
ステップS200では、制御部11は、判定部114として動作し、制御時点における移動体Mの移動の環境に応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定する。一例では、制御部11は、取得された観測データ125の少なくとも一部により示される環境に応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定してよい。
【0100】
本変形例では、第2制御モデル35には、対応可能な環境の範囲が設定されてよい。制御部11は、移動体Mの移動の環境がその範囲内か否かに応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定してよい。すなわち、制御部11は、移動体Mの移動の環境が第2制御モデル35の使用可能な範囲内であれば、第2制御モデル35を採用すると決定し、そうでなければ、手動操作40を採用すると決定してよい。
【0101】
一例では、移動体Mが車両の場合、第2制御モデル35は、特定の種類の道路での自動走行を遂行可能に構成されてよい。この場合、制御部11は、車両の走行する道路の種類に応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定してよい。具体例として、第2制御モデル35は、高速道路において定速走行及び車間距離制御(例えば、ACC: Adaptive cruise control等)を遂行するように構成されてよい。この場合、制御部11は、制御時点において、車両(移動体M)の走行している道路の種類が高速道路であれば、第2制御モデル35を採用すると決定し、そうでなければ、手動操作40を採用すると決定してよい。また、制御装置1は、高速道路において、定速走行及び車間距離制御を実行しない範囲を規定するブラックリストを保持してよい。ブラックリストは適宜生成されてよい(例えば、ユーザの設定により得られてよい)。この場合、制御部11は、制御時点において、車両(移動体M)の走行している道路がブラックリストに入って
いない高速道路の範囲であれば、第2制御モデル35を採用すると決定してよい。一方で、制御部11は、車両の走行している道路がブラックリストに入っている高速道路の範囲である又は車両の走行している道路の種類は高速道路以外(例えば、一般道路)であれば、手動操作40を採用すると決定してよい。
【0102】
他の一例では、制御部11は、移動体Mの移動の環境が第2制御モデル35の使用するデータを取得可能な範囲であるか否かに応じて、第2制御モデル35及び手動操作40のいずれを採用するかを決定してよい。具体例として、第2制御モデル35が第2制御指令55の導出に地図情報を使用する場合、制御部11は、車両(移動体M)の現在位置が地図情報の対応範囲であれば、第2制御モデル35を採用すると決定し、そうでなければ、手動操作40を採用すると決定してよい。また、センサSがGPSモジュールを含み、第2制御モデル35が、GPSモジュールにより計測された位置情報を第2制御指令55の導出に使用する場合、制御部11は、車両(移動体M)の現在位置がGPSモジュールの計測区間内であれば、第2制御モデル35を採用すると決定し、そうでなければ、手動操作40を採用すると決定してよい。
【0103】
第2制御モデル35を採用すると決定した場合、制御部11は、ステップS105に処理を進める。一方で、手動操作40を採用すると決定した場合、制御部11は、ステップS108に処理を進める。なお、
図9の例では、ステップS103の判定の結果、第1制御指令50の導出に異常が生じたことに応じて、ステップS200の処理が実行される。しかしながら、ステップS200の処理タイミングは、このような例に限られなくてよい。ステップS200の処理は、ステップS103の判定結果に関係なく任意のタイミングで実行されてよい。他の一例として、ステップS200の処理は、ステップS101~ステップS103の少なくともいずれかの処理と少なくとも部分的に並列に実行されてよい。本変形例によれば、第2制御モデル35による自動制御が確実に不能な場面で、ステップS106の判定処理を省略し、手動操作40による制御に切り替えることができる。これにより、制御処理の効率化を図ることができる。
【0104】
<4.2>
上記実施形態では、説明の便宜上、第1制御モデル30及び第2制御モデル35の数はそれぞれ1つである。しかしながら、第1制御モデル30及び第2制御モデル35の数は、1つに限られなくてよく、任意に決定されてよい。制御装置1に配備される第1制御モデル30及び第2制御モデル35の少なくとも一方の数は、2つ以上であってよい。
【0105】
一例では、制御装置1は、シーン毎に異なる第1制御モデル30及び第2制御モデル35を保持してよい。移動体Mが車両の場合、シーンは、例えば、車線変更、車線維持、緊急停車(EDSS:Emergency Driving Stop System)等であってよい。この場合、制御装置
1は、使用する第1制御モデル30及び第2制御モデル35をシーン毎に切り替えてよい。
【0106】
また、制御装置1は、1つの第1制御モデル30に対して複数の第2制御モデル35を保持してもよい。すなわち、1つの第1制御モデル30に対してサポートで使用される第2制御モデル35の数は、1つに限られなくてよく、任意に決定されてよい。1つの第1制御モデル30に対して複数の第2制御モデル35がサポートとして配備されてよい。本変形例では、制御装置1は、第1制御モデル30による第1制御指令50の導出に異常が生じた場合に、複数の第2制御モデル35のうちの1つ以上の第2制御モデル35により第2制御指令55を導出してよい。なお、複数の第2制御モデル35は、第2制御モデル、第3制御モデル、・・・、第N制御モデル等と順番で称されてもよい。
【0107】
[5 補足]
本開示において説明した処理及び手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【0108】
また、1つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。或いは、異なる装置が行うものとして説明した処理が、1つの装置によって実行されても構わない。コンピュータシステムにおいて、各機能をどのようなハードウェア構成によって実現するかは柔軟に変更可能である。
【0109】
本開示は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する1つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよいし、ネットワークを介してコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ(HDD)等)、光ディスク(CD-ROM、DVDディスク、ブルーレイディスク等)など任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、半導体ドライブ(ソリッドステートドライブ等)、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【0110】
1…制御装置、
11…制御部、12…記憶部、13…外部インタフェース、
14…入力装置、15…出力装置、16…ドライブ、
81…制御プログラム、91…記憶媒体、
111…取得部、112…第1導出部、113…第2導出部、
114…判定部、115…操作受付部、116…動作制御部、
125…観測データ、
30…第1制御モデル、300…第1モデルデータ、
35…第2制御モデル、350…第2モデルデータ、
40…手動操作、
50…第1制御指令、55…第2制御指令、
60…第3制御指令、
M…移動体、S…センサ