(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】制御装置、制御方法、制御プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20241210BHJP
G05D 1/24 20240101ALI20241210BHJP
G08G 1/16 20060101ALI20241210BHJP
G01C 21/28 20060101ALI20241210BHJP
B60W 30/10 20060101ALI20241210BHJP
【FI】
G05D1/43
G05D1/24
G08G1/16 C
G01C21/28
B60W30/10
(21)【出願番号】P 2022166989
(22)【出願日】2022-10-18
【審査請求日】2024-03-05
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】保海 佳佑
(72)【発明者】
【氏名】河内 太一
【審査官】田中 友章
(56)【参考文献】
【文献】特開2021-176052(JP,A)
【文献】特開2018-169319(JP,A)
【文献】国際公開第2018/181974(WO,A1)
【文献】国際公開第2018/212292(WO,A1)
【文献】米国特許出願公開第2020/0124421(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/43
G05D 1/24
G08G 1/16
G01C 21/28
B60W 30/10
(57)【特許請求の範囲】
【請求項1】
移動体の自己位置推定を行う処理と、
前回処理で推定された前記移動体の位置に対する変位量が所定範囲内となるように前記自己位置推定で得られた推定位置を補正する処理と、
前記推定位置の補正により得られた補正推定位置を今回処理の前記移動体の位置とみなし、前記補正推定位置に基づいて前記移動体の制御を行う処理と、
前記推定位置と前記補正推定位置の差分の大きさに基づいて前記自己位置推定の精度不良を検出する処理と、
前記自己位置推定の精度不良が検出されたことを受けて、前記差分の大きさに応じた非常制御を行う処理と、
を実行するように構成されたことを特徴とする制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記推定位置を補正することは、前回処理で推定された前記移動体の位置に対する変位率に一定の上限値を設けて、前記推定位置を制限するように補正することを含む
ことを特徴とする制御装置。
【請求項3】
請求項1又は2に記載の制御装置であって、
前記自己位置推定の精度不良を検出する処理は、前記差分の大きさが第1閾値を超えたことを受けて、前記自己位置推定が精度不良であると検出することを含み、
前記非常制御は、
前記差分の大きさが前記第1閾値を超えて第2閾値を超えないときに実行される警報を発する第1制御と、
前記差分の大きさが前記第2閾値を超えて第3閾値を超えないときに実行される減速による退避を行わせる第2制御と、
前記差分の大きさが前記第3閾値を超えるときに実行される停止による退避を行わせる第3制御と、
を含む
ことを特徴とする制御装置。
【請求項4】
移動体の自己位置推定を行うことと、
前回処理で推定された前記移動体の位置に対する変位量が所定範囲内となるように前記自己位置推定で得られた推定位置を補正することと、
前記推定位置の補正により得られた補正推定位置を今回処理の前記移動体の位置とみなし、前記補正推定位置に基づいて前記移動体の制御を行う処理と、
前記推定位置と前記補正推定位置の差分の大きさに基づいて前記自己位置推定の精度不良を検出することと、
前記自己位置推定の精度不良が検出されたことを受けて、前記差分の大きさに応じた非常制御を行うことと、
を含むことを特徴とする制御方法。
【請求項5】
移動体の制御を行う処理をコンピュータに実行させる制御プログラムであって、
前記移動体の自己位置推定を行う処理と、
前回処理で推定された前記移動体の位置に対する変位量が所定範囲内となるように前記自己位置推定で得られた推定位置を補正する処理と、
前記推定位置の補正により得られた補正推定位置を今回処理の前記移動体の位置とみなし、前記補正推定位置に基づいて前記移動体の制御を行う処理と、
前記推定位置と前記補正推定位置の差分の大きさに基づいて前記自己位置推定の精度不良を検出する処理と、
前記自己位置推定の精度不良が検出されたことを受けて、前記差分の大きさに応じた非常制御を行う処理と、
を前記コンピュータに実行させるように構成されたことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、推定位置に基づいて移動体を制御する技術に関する。
【背景技術】
【0002】
特許文献1は、車両の周囲の物標の認識結果から算出される観測位置と車両の内部センサの検出結果から算出される予測位置とに基づいて、車両の地図上の位置を推定する自車位置推定装置を開示している。自車位置推定装置は、推定結果のふらつきが生じているか否かを判定する処理と、推定結果のふらつきが生じていると判定された場合、推定結果が予測位置に近くなるように位置の推定における予測位置の重み付けを重くする処理と、を実行する。
【0003】
その他、本開示に係る技術分野の技術レベルを示す文献として、以下の特許文献2及び特許文献3がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-034441号公報
【文献】特開2020-001668号公報
【文献】特開2021-099384号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
移動体の位置を推定する自己位置推定は、自律走行制御等の移動体の制御において重要な処理の1つである。自己位置推定による推定位置は、センサの異常等を要因として急激な変動が生じることがある。推定位置に急激な変動が生じた場合、移動体の制御は、推定位置に追従できなくなる虞がある。延いては、移動体の位置を誤ったまま移動体の制御が継続される虞がある。このような制御が継続されることは、制御性能を確保する上で望ましくない。また乗客を乗せて走行する車両等の移動体においては、安全性の観点でも問題となる。
【0006】
特許文献1に開示される技術によれば、推定位置に急激な変動が生じた場合、推定結果がふらついているとして、位置の推定における予測位置の重み付けが重くなる。しかしながら、内部センサの検出結果から算出される予測位置は、一般に履歴的な誤差が生じる。このため、予測位置の重み付けを大きくすると、移動体の位置を大きく誤ったまま移動体の制御が継続される虞がある。
【0007】
本開示の1つの目的は、上記の課題を鑑み、推定位置に基づく移動体の制御に関して、移動体の位置を誤ったまま制御が継続されることを抑止することができる技術を提供することにある。
【課題を解決するための手段】
【0008】
本開示の第1の観点は、制御装置に関する。
【0009】
第1の観点に係る制御装置は、移動体の自己位置推定を行う処理と、前回処理で推定された移動体の位置に対する変位量が所定範囲内となるように自己位置推定で得られた推定位置を補正する処理と、推定位置の補正により得られた補正推定位置を今回処理の移動体の位置とみなし、補正推定位置に基づいて移動体の制御を行う処理と、推定位置と補正推定位置の差分の大きさに基づいて自己位置推定の精度不良を検出する処理と、自己位置推定の精度不良が検出されたことを受けて、推定位置と補正推定位置の差分の大きさに応じた非常制御を行う処理と、を実行するように構成されたことを特徴とする。
【0010】
本開示の第2の観点は、制御方法に関する。
【0011】
第2の観点に係る制御方法は、移動体の自己位置推定を行うことと、前回処理で推定された移動体の位置に対する変位量が所定範囲内となるように自己位置推定で得られた推定位置を補正することと、推定位置の補正により得られた補正推定位置を今回処理の移動体の位置とみなし、補正推定位置に基づいて移動体の制御を行う処理と、推定位置と補正推定位置の差分の大きさに基づいて自己位置推定の精度不良を検出することと、自己位置推定の精度不良が検出されたことを受けて、差分の大きさに応じた非常制御を行うことと、を含むことを特徴とする。
【0012】
本開示の第3の観点は、移動体の制御を行う処理をコンピュータに実行させる制御プログラムに関する。
【0013】
第3の観点に係る制御プログラムは、移動体の自己位置推定を行う処理と、前回処理で推定された移動体の位置に対する変位量が所定範囲内となるように自己位置推定で得られた推定位置を補正する処理と、推定位置の補正により得られた補正推定位置を今回処理の移動体の位置とみなし、補正推定位置に基づいて移動体の制御を行う処理と、推定位置と補正推定位置の差分の大きさに基づいて自己位置推定の精度不良を検出する処理と、自己位置推定の精度不良が検出されたことを受けて、推定位置と補正推定位置の差分の大きさに応じた非常制御を行う処理と、をコンピュータに実行させるように構成されたことを特徴とする。
【発明の効果】
【0014】
本開示によれば、自己位置推定で得られた推定位置は、前回処理で推定された移動体の位置に対する変位量が所定範囲内となるように補正される。そして、補正により得られた補正推定位置に基づいて移動体の制御が行われる。これにより、推定位置に急激な変動が生じた場合においても移動体の制御の追従性を担保することができる。さらに本開示によれば、推定位置と補正推定位置の差分の大きさに基づいて自己位置推定の精度不良が検出される。そして、自己位置推定の精度不良が検出されたことを受けて、差分の大きさに応じた非常制御が実行される。これにより、移動体の位置を誤ったまま制御が継続されることを抑止することができる。
【図面の簡単な説明】
【0015】
【
図1】本実施形態に係る制御システムの構成を示すブロック図である。
【
図3】推定位置と補正推定位置の差分の大きさに応じた非常制御の切り換え判断の例を示す概念図である。
【
図4】制御装置が実行する処理の一例を示すフローチャートである。
【
図5】本実施形態に係る制御システムの実施例を示す概念図である。
【発明を実施するための形態】
【0016】
本開示は、移動体の制御に関連する。移動体としては、車両、ロボット、等が例示される。移動体は、自律走行可能であってもよい。車両は、自動運転車両であってもよい。一例として、以下の説明においては、移動体が車両である場合について考える。一般化する場合には、以下の説明における「車両」を「移動体」で読み替えるものとする。
【0017】
1.制御システム
図1は、本実施形態に係る制御システム10の構成を示すブロック図である。制御システム10は、車両1を制御する。制御システム10は、内部センサ20、外部センサ30、GNSS(Global Navigation Satellite System)センサ40、走行装置50、HMI60、及び制御装置100を含んでいる。
【0018】
内部センサ20は、車両1に搭載され、車両1の走行状態を検出する。内部センサ20としては、車速センサ(車輪速センサ)、操舵角センサ、加速度センサ、ヨーレートセンサ、等が例示される。
【0019】
外部センサ30は、車両1に搭載され、車両1の周囲の状況を検出する。外部センサ30としては、LiDAR(Laser Imaging Detection and Ranging)、カメラ、レーダ、等が挙げられる。
【0020】
GNSSセンサ40は、衛星から信号を受信することにより車両1の位置を測定する。
【0021】
走行装置50は、操舵装置、駆動装置、及び制動装置を含んでいる。操舵装置は、車輪を転舵する。駆動装置は、駆動力を発生させる。制動装置は、制動力を発生させる。
【0022】
HMI60は、車両1のHMI機能を提供する装置を含んでいる。HMI60として、ディスプレイ、スピーカ、タッチパネル、等が例示される。
【0023】
制御装置100は、車両1を制御するコンピュータである。少なくとも、制御装置100は、車両1の位置を推定し、推定された車両1の位置に基づいて車両1の走行を制御する機能を提供する。例えば、制御装置100は、車両1の自動運転機能を提供するECU(Electronic Control Unit)である。
【0024】
制御装置100は、1又は複数のプロセッサ110(以下、単にプロセッサ110と呼ぶ)と1又は複数の記憶装置120(以下、単に記憶装置120と呼ぶ)を含んでいる。プロセッサ110は、後述する各種処理を実行する。例えば、プロセッサ110は、演算装置やレジスタ等を含むCPU(Central Processing Unit)で構成することができる。記憶装置120は、各種情報を格納する。例えば、記憶装置120は、揮発性メモリ、不揮発性メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記録媒体で構成することができる。典型的には、制御装置100は、車両1に搭載される。あるいは、制御装置100の一部は、車両1の外部の外部装置に配置され、リモートで車両1を制御してもよい。
【0025】
記憶装置120には、制御プログラム210、車両走行情報220、センサ検出情報230、地図情報240、推定位置情報250、等が格納される。
【0026】
制御プログラム210は、車両1を制御するためのコンピュータプログラムである。プロセッサ110が制御プログラム210を実行することにより、制御装置100による各種処理が実現される。制御プログラム210は、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【0027】
車両走行情報220は、内部センサ20によって検出される情報であり、車両1の走行状態を示す。車両1の走行状態としては、車速、操舵角、加速度、ヨーレート、等が挙げられる。
【0028】
センサ検出情報230は、外部センサ30によって検出される情報である。例えば、センサ検出情報230は、LiDARによって得られる点群情報を含む。他の例として、センサ検出情報230は、カメラによって撮影される画像を含んでいてもよい。
【0029】
更に、センサ検出情報230は、車両1の周囲の物体に関する物体情報を含む。車両1の周囲の物体としては、歩行者、他車両、特徴物、等が例示される。特徴物としては、白線、縁石、ポール、電信柱、看板、標識、建物の角、等が例示される。特徴物は、後述される自己位置推定において利用される。物体情報は、少なくとも車両1に対する物体の相対位置を含む。例えば、LiDARによって得られた点群情報に基づいて、物体を認識し、その物体の相対位置及び相対速度を取得することができる。
【0030】
地図情報240は、一般的なナビゲーション地図を含む。また後述される自己位置推定を行うため、地図情報240は、地図上の特徴物の情報を管理する特徴物地図情報241を含んでいる。特徴物地図情報241は、少なくとも、地図上の絶対座標系における特徴物の位置(絶対位置)の情報を管理する。さらに特徴物地図情報241は、特徴物を特定するための情報(分類、属性、形状等)を管理しても良い。特徴物地図情報241は、本実施形態に係る制御システム10を適用する環境に応じてあらかじめ与えられて良い。
【0031】
その他、地図情報240は、車両1の制御に用いられる情報を含んでいて良い。例えば、地図情報240は、地図上の路面の形状、高さ、輝度等の情報や、地図上の構造物の形状や属性等の情報を含んでいて良い。
【0032】
後述するように、プロセッサ110は、所定の周期で車両1の位置を推定する処理を繰り返し実行する。推定位置情報250は、プロセッサ110が実行する処理により推定された車両1の位置の時系列データを管理する。
【0033】
2.処理
以下、制御装置100が実行する処理、より具体的にはプロセッサ110が実行する処理について説明する。
【0034】
2-1.自己位置推定処理
プロセッサ110は、車両1の位置(絶対位置)を推定する自己位置推定に係る処理(自己位置推定処理)を実行する。車両1の位置は、以下、単に「車両位置」と称する。車両位置の初期値は、例えば、GNSSセンサ40により得られる。
【0035】
ここで、車両位置は、典型的には、地図上の絶対座標系における座標位置で表される。さらに車両位置は、車両1の姿勢(ロール角、ピッチ角、及びヨー角)を含んでいても良い。この場合、車両位置は、一般に、6つの要素をもつベクトルで表されることとなる。あるいは、車両位置は、基準となる座標位置及び姿勢に対する剛体変換行列で表すことも可能である。例えば、基準となる3次元の座標位置に対する平行移動を表す3×1のサイズの並進ベクトルをrとし、基準となる3軸の車両1の姿勢に対する回転を表す3×3のサイズの回転行列をRとすると、車両位置は、以下の式の4×4のサイズの剛体変換行列Mで表すことができる。この場合、車両位置の座標位置のベクトル表現は、基準となる座標位置を表すベクトルに剛体変換行列を作用させることで得られる。また車両位置の車両1の姿勢は、基準となる車両1の姿勢に回転行列Rを作用させることで得られる。
【0036】
【0037】
以下、プロセッサ110が実行する自己位置推定処理の一例について説明する。
【0038】
まずプロセッサ110は、車両走行情報220と、前回処理で推定された車両位置とに基づいて、大まかな車両位置(以下、「事前推定位置」と称する。)を算出する。例えば、プロセッサ110は、車両1の操舵角及び車速に基づいて車両1の移動量(変位量)を算出し、その移動量に基づいて事前推定位置を算出する。また例えば、プロセッサ110は、車両位置を状態とし車両走行情報220を説明変数として構成された状態方程式から事前推定位置を算出する。なお、プロセッサ110は、推定位置情報250を参照することにより、前回処理で推定された車両位置を取得することができる。前回処理で推定された車両位置を、以下単に「前回位置」と称する。
【0039】
次にプロセッサ110は、センサ検出情報230に基づいて、車両1の周囲の特徴物を認識する。さらに、プロセッサ110は、算出された事前推定位置と認識された特徴物の相対位置とを組み合わせることにより、認識された特徴物の絶対位置を推定する。また、プロセッサ110は、認識された特徴物の物体情報に基づいて、認識された特徴物と、特徴物地図情報241で管理される特徴物と、の紐づけを行う。そしてプロセッサ110は、認識された特徴物について、推定された絶対位置と、特徴物地図情報241から得られる絶対位置と、がなるべく一致するように事前推定位置を修正する。例えば、プロセッサ110は、車両位置を状態、認識された特徴物の絶対位置を観測データとして、パーティクルフィルタやカルマンフィルタ等により事前推定位置を修正する。プロセッサ110は、事前推定位置の修正によって得られた車両位置を自己位置推定処理の処理結果とする。
【0040】
一例としてこのように、プロセッサ110は、自己位置推定処理を実行する。なお、本実施形態に係る制御システム10において、プロセッサ110は、上記で説明する自己位置推定処理とは異なるアルゴリズムを採用していても良い。プロセッサ110が自己位置推定処理を実行することにより得られた車両位置を、以下単に「推定位置」と称する。なお、推定位置は、車両位置の各要素を確率変数とする確率分布で与えられていても良い。
【0041】
2-2.フィルタ処理
本実施形態に係る制御システム10において、プロセッサ110は、さらに推定位置を補正する処理(フィルタ処理)を実行する。フィルタ処理において、プロセッサ110は、前回位置に対する変位量が所定範囲内となるように推定位置を補正する。ここで、所定範囲は、本実施形態に係る制御システム10を適用する環境に応じて好適に与えられて良い。典型的には、所定範囲は、車両1の制御において追従することのできる範囲である。ただし、不必要に所定範囲を狭めることは、制御のノミナル性能を著しく低下させるため望ましくない。プロセッサ110がフィルタ処理を実行することにより得られた車両位置を、以下単に「補正推定位置」と称する。
【0042】
以下、プロセッサ110が実行するフィルタ処理のいくつかの例について説明する。
【0043】
第1の例は、前回位置の各要素に対する変位量に一定の上限値を設けて、推定位置の各要素を制限するように補正推定位置を算出することである。第1の例によれば、車両位置の1つの要素について、推定位置をxest、前回位置をxlp、一定の上限値をxmaxとすると、プロセッサ110は、補正推定位置を以下の式のxoutで算出することができる。車両位置が複数の要素を含む場合、各要素について以下の式を適用すれば良い。この場合、一定の上限値は、各要素で異なっていても良い。
【0044】
【0045】
図2の(A)は、車両位置が2次元の座標位置(x,y)で表される場合において、フィルタ処理の第1の例による推定位置の補正の例を示す概念図である。
図2の(A)では、推定位置のいくつかの例(EPi(i=0,1,・・・,9))について、フィルタ処理の第1の例による補正の様子と補正推定位置(CPi(i=0,1,・・・,9))が概念的に示されている。なお、
図2の(A)において、LPは、前回位置を示す。
【0046】
図2の(A)に示すように、フィルタ処理の第1の例により、補正推定位置は、前回位置LPに対する変位量が所定範囲PR内となる。ここで、第1の例において、所定範囲PRは、前回位置LPを中心として、一定の上限値(x
max,y
max)で規定される矩形の範囲となる。なお、推定位置が所定範囲PR内となっている場合、推定位置と補正推定位置は一致する。例えば
図2の(A)において、推定位置EP1、EP2、及びEP3は、補正推定位置CP1、CP2、及びCP3と一致する。
【0047】
第2の例は、前回位置を含む所定範囲を規定し、規定された所定範囲内となるように補正推定位置を算出することである。前回位置を含む所定範囲は、例えば、前回位置を中心とする楕円が挙げられる。この場合、第2の例によれば、車両位置が2次元の座標位置であるとして、推定位置を(x
est,y
est)、前回位置を(x
lp,y
lp)、楕円の長軸及び短軸の長さを規定するパラメータを(x
max,y
max)とすると、プロセッサ110は、補正推定位置を以下の式の(x
out,y
out)で算出することができる。車両位置が3次元の座標位置である場合の拡張は容易である。また、車両位置が車両1の姿勢を含む場合は、車両1の姿勢について同様に以下の式を適用すれば良い。
【数3】
【0048】
図2の(B)は、車両位置が2次元の座標位置(x,y)で表される場合において、フィルタ処理の第2の例による推定位置の補正の例を示す概念図である。ここで、前回位置LPを含む所定範囲PRは、前回位置LPを中心として、パラメータ(x
max,y
max)で規定される楕円である。
図2の(B)に示すように、第2の例によっても、補正推定位置は、前回位置LPに対する変位量が所定範囲PR内となる。
【0049】
第2の例において、所定範囲は、前回位置に対する変位率に一定の上限値を与えるように規定することも可能である。例えば、上記の式において、楕円の長軸及び短軸の長さを規定するパラメータを(xmax,ymax)=(Δt×vxmax,Δt×vymax)とすれば、車両位置の各要素について前回位置に対する変位率に一定の上限値(vxmax,vymax)を与える所定範囲を規定することができる。なお、Δtは、前回処理と今回処理の時間差である。
【0050】
第3の例は、前回位置の各要素に対する変位率に一定の上限値を設けて、推定位置の各要素を制限するように補正推定位置を算出することである。第3の例によれば、車両位置の1つの要素について、一定の上限値をvmax、前回処理と今回処理の時間差をΔtとし、その他は第1の例と同様の表現を採用すると、プロセッサ110は、補正推定位置を以下の式のxoutで算出することができる。
【0051】
【0052】
第3の例によっても、補正推定位置は、前回位置に対する変位量を所定範囲内とすることができる。特に、変位率の観点で、車両1の制御において追従することのできる範囲としての所定範囲を与えることができる。第3の例における所定範囲は、
図2の(A)に示す場合と同等であり、前回位置LPを中心として、一定の上限値v
maxで規定される矩形の範囲となる。
【0053】
以上説明したように、プロセッサ110は、フィルタ処理を実行することにより、前回位置に対する変位量が所定範囲内となるように推定位置を補正した補正推定位置を算出する。本実施形態に係る制御システム10では、補正推定位置が最終的に車両1の位置と推定される。つまり、前回位置は、前回処理において算出された補正推定位置である。プロセッサ110は、フィルタ処理の実行により算出した補正推定位置を、今回処理において推定された車両1の位置として、記憶装置120の推定位置情報250に格納する。
【0054】
2-3.精度不良検出処理
プロセッサ110は、自己位置推定処理の実行により得られた推定位置とフィルタ処理の実行により得られた補正推定位置の差分の大きさに基づいて自己位置推定の精度不良を検出する処理(精度不良検出処理)を実行する。補正推定位置は、前回位置に対する変位量が所定範囲内となるように算出されている。従って、推定位置と補正推定位置の差分が大きいことは、推定位置が前回位置に対して急激に変動していることを示すと考えられる。このため、推定位置と補正推定位置の差分の大きさは、自己位置推定の精度を評価する指標となる。
【0055】
ここで、推定位置と補正推定位置の差分は、例えば、次のように与えられる。
【0056】
車両位置がベクトルで表される場合、推定位置と補正推定位置の差分は、推定位置を表すベクトルと補正推定位置を表すベクトルの差のベクトルとすることができる。なお、車両位置が座標位置及び車両1の姿勢を要素とするベクトルである場合、推定位置と補正推定位置の差分は、座標位置と車両1の姿勢で別個に算出されて良い。
【0057】
車両位置が剛体変換行列で表される場合、推定位置と補正推定位置の差分は、推定位置を表す剛体変換行列をMest、補正推定位置を表す剛体変換行列をMoutとすると、以下の式のMdifで算出することができる。なお、Mdifの並進ベクトルrを抽出することにより、座標位置に関する推定位置と補正推定位置の差分のベクトル表現を得ることができる。また、Mdifの回転行列Rを抽出してオイラー角への変換を行うことにより、車両1の姿勢に関する推定位置と補正推定位置の差分のベクトル表現を得ることができる。
【0058】
【0059】
精度不良検出処理において、プロセッサ110は、例えば、推定位置と補正推定位置の差分の大きさが所定の閾値(第1閾値)を超えたことを受けて、自己位置推定が精度不良であると検出するように構成することができる。差分の大きさが第1閾値を超えたことは、例えば、第1閾値をスカラー値として、差分を表すベクトルのノルムが第1閾値を超えたことから判断することができる。あるいは、第1閾値をベクトル空間上の領域の境界として、差分を表すベクトルが領域外となることから判断することもできる。また、プロセッサ110は、差分の大きさが第1閾値を超えた状態が一定期間継続したこと、あるいは差分の大きさが一定期間の間に第1閾値を所定回数以上超えたことを条件として、自己位置推定が精度不良であると検出するように構成されていても良い。
【0060】
2-4.走行制御処理
プロセッサ110は、フィルタ処理の実行により得られた補正推定位置に基づいて車両1の走行を制御する処理(走行制御処理)を実行する。プロセッサ110は、走行制御処理の実行により走行装置50又はHMI60に対する制御信号を生成する。例えば、車両1の自動運転を行う場合、プロセッサ110は、補正推定位置と地図情報240から運転判断や走行軌道を含む走行計画を生成する。そして、プロセッサ110は、生成した走行計画に沿って車両1が走行するように加速、制動、操舵に係る制御信号を生成する。
【0061】
特にプロセッサ110は、精度不良検出処理において自己位置推定の精度不良が検出されたことを受けて、推定位置と補正推定位置の差分の大きさに応じた非常制御を行う処理を実行する。非常制御として、自動運転の中断手続、車両1のオペレータへの警報の発報、減速による退避を行わせる制御、停止による退避を行わせる制御、等が挙げられる。
【0062】
プロセッサ110は、推定位置と補正推定位置の差分の大きさに応じて、これらの非常制御を切り替えるように構成されていても良い。例えば、推定位置と補正推定位置の差分のベクトルについて、プロセッサ110は、
図3に示すように非常制御の切り換えを判断する。
図3において、第1閾値、第2閾値、及び第3閾値は、ベクトル空間上の領域の境界である。
図3に示す場合、プロセッサ110は、差分のベクトル(DV1,DV2,DV3)の大きさが、第1閾値を超えて第2閾値を超えないとき(DV1)に第1制御を実行し、第2閾値を超えて第3閾値を超えないとき(DV2)に第2制御を実行し、第3閾値を超えるとき(DV3)に第3制御を実行することとなる。なお、第1閾値を超えないときは、プロセッサ110は、通常制御を行う。このように構成することで、自己位置推定の精度不良を段階的に判断し、精度不良の程度に応じた適切な制御を実行することができる。例えば、第1制御を警報の発報、第2制御を減速による退避、第3制御を停止による退避とすることで、警報によるオペレータへの対処の求め、減速による制御性能の確保、停止による安全性の確保、を段階的に行うことができる。
【0063】
プロセッサ110が走行制御処理の実行により生成する制御信号に従って走行装置50及びHMI60が動作することで、制御装置100による車両1の制御が実現される。
【0064】
2-5.フローチャート
図4は、プロセッサ110が実行する処理の一例を示すフローチャートである。
図4に示すフローチャートは、所定の周期で繰り返し実行されて良い。
【0065】
ステップS100で、プロセッサ110は、記憶装置120に格納される各種情報を取得する。
【0066】
ステップS110で、プロセッサ110は、自己位置推定処理を実行し、推定位置を算出する。
【0067】
ステップS120で、プロセッサ110は、フィルタ処理を実行し、補正推定位置を算出する。
【0068】
ステップS130で、プロセッサ110は、ステップS110において算出した推定位置とステップS120において算出した補正推定位置の差分を算出する。
【0069】
ステップS130において算出した差分の大きさが第1閾値を超えない場合(ステップS141;No)、プロセッサ110は、走行制御処理において通常制御を実行する(ステップS150)。
【0070】
ステップS130において算出した差分の大きさが第1閾値を超える場合(ステップS141;Yes)、プロセッサ110は、自己位置推定が精度不良であると検出する。そして、差分の大きさが第1閾値を超えて(ステップS141;Yes)第2閾値を超えない場合(ステップS142;No)、プロセッサ110は、警報を発する第1制御を実行する(ステップS151)。また差分の大きさが第2閾値を超えて(ステップS142;Yes)第3閾値を超えない場合(ステップS143;No)、減速による退避を行わせる第2制御を実行する(ステップS152)。また差分の大きさが第3閾値を超える場合(ステップS143;Yes)、プロセッサ110は、停止による退避を行わせる第3制御を実行する(ステップS153)。
【0071】
このように、制御装置100は処理を実行する。またこのように制御装置100が処理を実行することにより、車両1の制御に係る制御方法が実現される。
【0072】
3.効果
以上説明したように、本実施形態によれば、自己位置推定で得られた推定位置は、前回処理で推定された車両1の位置に対する変位量が所定範囲内となるように補正される。そして、補正により得られた補正推定位置に基づいて車両1の制御が行われる。これにより、推定位置に急激な変動が生じた場合においても車両1の制御の追従性を担保することができる。延いては、車両1のなめらかな挙動を実現することができる。さらに本実施形態によれば、推定位置と補正推定位置の差分の大きさに基づいて自己位置推定の精度不良が検出される。そして、自己位置推定の精度不良が検出されたことを受けて、差分の大きさに応じた非常制御が実行される。これにより、推定位置と補正推定位置の差分の大きさが過大であり、車両1の位置を誤ったまま制御が継続される虞がある場合に、自動運転の中断等を行うことができる。延いては、車両1の位置を誤ったまま制御が継続されることを抑止することができる。
【0073】
図5は、本実施形態に係る制御システム10による車両1の制御の実施例を示す概念図である。
図5は、車両1が自動運転により車線変更を行おうとするシーンを示している。
図5では、各時刻(t1,・・・,t6)において算出される推定位置EPと補正推定位置CPが示されている。
【0074】
時刻t1では、推定位置EPと補正推定位置CPは一致している。次に時刻t2では、推定位置EPと補正推定位置CPは、多少の差はあるがほぼ一致している。従って、時刻t1からt2で、制御装置100は、通常制御により車両1の制御を行う。
【0075】
次に時刻t3において、推定位置EPに急激な変動が生じている。一方で、制御装置100は、補正推定位置CPに基づいて制御を行うため、急激な変動の制御への影響は抑制される。さらに時刻t3において、推定位置EPと補正推定位置CPの差分が一定程度大きいことから、制御装置100は、自己位置推定の精度不良を検出し非常制御により車両1を減速させる。これにより、時刻t3以降において、推定位置EPと補正推定位置CPの差分が小さくなることが期待される。なお、このとき、制御装置100は、車両1のオペレータへの警報を行うことにより、自己位置推定の精度不良が検出され車両1を減速させる制御が行われていることをオペレータに通知するように構成されていても良い。
【0076】
次に時刻t5において、推定位置EPと補正推定位置CPの差分が一定程度小さくなっている。このとき、制御装置100は、通常制御に復帰して車両1の制御を行うように構成されていて良い。あるいは、制御装置100は、オペレータに自己位置推定の精度不良が解消されたことを通知するように構成されていても良い。この場合、オペレータが安全性を考慮して通常制御への復帰の判断を行うことが想定される。そして、制御装置100は、オペレータによる通常制御への復帰の判断を受けて、通常制御に復帰して車両1の制御を行う。なお、時刻t3以降において、さらに推定位置EPと補正推定位置CPの差分が大きくなる場合は、制御装置100は、車両1の停止等の安全性を確保するための非常制御を実行して良い。
【0077】
このように、本実施形態によれば、車両1のなめらかな挙動を実現しつつ、車両1の位置を誤ったまま制御が継続されることを抑止することができる。
【符号の説明】
【0078】
1 車両,10 制御システム,100 制御装置,110 プロセッサ,120 記憶装置,210 制御プログラム,EP 推定位置,CP 補正推定位置,LP 前回位置,PR 所定範囲