(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-26
(45)【発行日】2025-01-10
(54)【発明の名称】移動体制御装置
(51)【国際特許分類】
B60W 50/06 20060101AFI20241227BHJP
B60W 30/095 20120101ALI20241227BHJP
B60W 40/02 20060101ALI20241227BHJP
G08G 1/16 20060101ALI20241227BHJP
G05D 1/43 20240101ALI20241227BHJP
G05D 1/46 20240101ALI20241227BHJP
G05B 13/04 20060101ALI20241227BHJP
【FI】
B60W50/06
B60W30/095
B60W40/02
G08G1/16 C
G05D1/43
G05D1/46
G05B13/04
(21)【出願番号】P 2024521319
(86)(22)【出願日】2023-11-16
(86)【国際出願番号】 JP2023041239
【審査請求日】2024-04-09
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100088672
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】亀岡 翔太
(72)【発明者】
【氏名】細江 陽平
【審査官】藤村 泰智
(56)【参考文献】
【文献】特開2018-181166(JP,A)
【文献】中国特許第110244759(CN,B)
【文献】中国特許第113128826(CN,B)
【文献】特開2009-184497(JP,A)
【文献】特開2023-157528(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00 ~ 50/16
G08G 1/00 ~ 1/16
G05D 1/40 ~ 1/495
G05B 13/04
(57)【特許請求の範囲】
【請求項1】
移動体を制御するための移動体制御量を演算する制御演算部を備え、
前記制御演算部は、
確率分布をもつ確率的なパラメータに依存する前記移動体の動特性をモデル化した状態方程式を制約条件とし、評価関数に基づく確率計画問題を逐次解くことによって最適系列を演算する確率系最適化演算部と、
前記最適系列を前記移動体制御量に変換する制御決定部と、
を有し、
前記確率系最適化演算部は、
確率的なパラメータの確率過程モデルに基づいて、
確率的なパラメータを含む確率的な評価関数を確定的な評価関数に変換する確率系評価関数変換部と、
確定的な最適化問題を解く確定系最適化演算部と、
を有する、移動体制御装置。
【請求項2】
前記確率系評価関数変換部は、前記確率過程モデルに基づいて定義される写像および漸
化式を用いて、前記確率的な評価関数を前記確定的な評価関数に変換する、請求項1に記載の移動体制御装置。
【請求項3】
前記移動体周辺の障害物に関する障害物情報から一定期間未来における前記障害物の移動を予測し、障害物予測情報として出力する障害物移動予測部をさらに備え、
前記確率系最適化演算部は、参照経路および前記障害物予測情報に基づいて、前記確定系最適化演算部で制約条件として扱われる確定系制約条件を生成し、
前記確定系最適化演算部は、前記確定系評価関数を前記確定系制約条件の下で最適化する、請求項1または2に記載の移動体制御装置。
【請求項4】
前記制御演算部は、
前記移動体の前後方向の制御を行うための前後方向系列を出力する前後方向制御部と、
前記移動体の横方向の制御を行うための横方向最適系列を出力する横方向制御部と、
を有し、
前記横方向制御部は、前記確率系最適化演算部を含み、
前記確率系最適化演算部は、前記前後方向制御部が出力した前記前後方向系列を確定的なパラメータとして参照して前記横方向最適系列を演算する、請求項1または2に記載の移動体制御装置。
【請求項5】
前記前後方向制御部は、前記移動体の前後方向の動特性に基づいて前後方向の最適化系列を演算する、請求項4に記載の移動体制御装置。
【請求項6】
最適化問題の計算時間のばらつきを確率分布として表現し、ランダムなサンプリング時間として前記状態方程式に組み込む、請求項1または2に記載の移動体制御装置。
【請求項7】
前記確率系評価関数変換部は、前記確率過程モデルとして独立同分布または隠れマルコフモデルを用いる、請求項1または2に記載の移動体制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体を制御する移動体制御装置に関する。
【背景技術】
【0002】
移動体を制御する場合、移動体が走行する際の参照となる経路に追従させるために、移動体の位置および姿勢に関する情報を利用することがある。しかし、移動体の位置および姿勢に関する情報は、ノイズ等の影響を受けて確率的になることがある。
【0003】
従来、特許文献1に示すような技術が開示されている。特許文献1では、対象の移動体の存在確率を示す移動分布と、周辺物体の存在確率を示す周辺物体分布とに基づいて潜在危険度を算出し、潜在危険度マップを生成する。また、潜在危険度マップに基づいて、相対的に潜在危険度が低い経路を走行経路として選択する。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Yohei Hosoe and Tomomichi Hagiwara, “Equivalent Stability Notions, Lyapunov Inequality, and Its Application in Discrete-Time Linear Systems With Stochastic Dynamics Determined by an i.i.d. Process”, IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 64, NO. 11, NOVEMBER 2019.
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、潜在危険度マップにおける潜在危険度が低い経路を探索し、探索した経路を走行経路として選択している。しかし、特許文献1に開示されている手法では、潜在危険度のみを考慮しているため、例えば車線中央などの参照経路への追従性を考慮することができない。
【0007】
本開示は、このような問題を解決するためになされたものであり、移動体の位置および姿勢が確率的な場合においても、参照経路への追従性を高くすることが可能な移動体制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本開示による移動体制御装置は、移動体を制御するための移動体制御量を演算する制御演算部を備え、制御演算部は、確率分布をもつ確率的なパラメータに依存する移動体の動特性をモデル化した状態方程式を制約条件とし、評価関数に基づく確率計画問題を逐次解くことによって最適系列を演算する確率系最適化演算部と、最適系列を移動体制御量に変換する制御決定部とを有し、確率系最適化演算部は、確率的なパラメータの確率過程モデルに基づいて、確率的なパラメータを含む確率的な評価関数を確定的な評価関数に変換する確率系評価関数変換部と、確定的な最適化問題を解く確定系最適化演算部とを有する。
【発明の効果】
【0009】
本開示によれば、移動体の位置および姿勢が確率的な場合においても、参照経路への追従性を高くすることが可能となる。
【0010】
本開示の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る移動体制御装置の構成の一例を示すブロック図である。
【
図2】実施の形態1に係る移動体の構成の一例を示すブロック図である。
【
図3】実施の形態1に係る制御演算部の構成の一例を示すブロック図である。
【
図4】実施の形態1に係る移動体の構成の一例を示す図である。
【
図5】実施の形態1に係る移動体の状態方程式を説明するための図である。
【
図6】実施の形態1に係るGNSSで計測される位置の確率過程モデルの一例を示す図である。
【
図7】実施の形態2に係る移動体制御装置の構成の一例を示すブロック図である。
【
図8】実施の形態2に係る確率系最適化演算部の構成の一例を示すブロック図である。
【
図9】実施の形態2に係る制約を説明するための図である。
【
図10】実施の形態3に係る制御演算部の構成の一例を示すブロック図である。
【
図11】実施の形態3に係る速度計画部の出力を説明するための図である。
【
図12】実施の形態3に係る制御演算部の構成の一例を示すブロック図である。
【
図13】実施の形態1~3に係る移動体制御装置のハードウェア構成の一例を示すブロック図である。
【
図14】実施の形態1~3に係る移動体制御装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0012】
<実施の形態1>
<移動体制御装置1の全体構成>
図1は、実施の形態1に係る移動体制御装置1の構成の一例を示すブロック図である。
図1に示すように、移動体制御装置1は、内界センサ5、位置姿勢推定装置6、地図データベース7、および移動体8に接続されている。
【0013】
位置姿勢推定装置6は、移動体8の周辺環境に対する移動体8の位置および姿勢を推定し、位置姿勢情報として出力する機能を有する。位置姿勢推定装置6には、例えば、カメラ、LiDAR(Light Detection and Ranging)、またはレーダなどの外界センサ(図示せず)が接続されている。
【0014】
カメラ(例えば、
図4のカメラ80)は、移動体8の前方、側方、および後方を撮影可能な位置に設置されており、撮影した画像から、例えば移動体8の周辺環境の特徴量を抽出するために使用される。
【0015】
LiDARは、レーザを周辺に照射し、レーザが周辺の物体に反射して戻ってくるまでの時間差を検出することによって、移動体8の周辺環境の特徴量を抽出する。
【0016】
レーダは、周囲にレーダ照射を行い、その反射波を検出することによって、移動体8の周辺に存在する物体の相対距離および相対速度を測定し、これらを特徴量として抽出する。
【0017】
位置姿勢推定装置6は、
図1に示す地図データベース7が設置されている場合は、外界センサの値と地図データベース7とを照合することによって、移動体8の位置および姿勢を推定する。なお、
図1に示す地図データベース7が設定されていない場合は、移動体8自身が環境を移動して地図を生成しながら位置推定を行うSLAM(Simultaneous Localization and Mapping)などの処理が位置姿勢推定装置6の内部で行われ、移動体8の位置および姿勢が推定される。
【0018】
移動体8が屋外を移動する場合は、位置姿勢推定装置6としてGNSS(Global Navigation Satellite System)センサなどのセンサが、移動体8の位置および姿勢を推定するために用いられる。
【0019】
内界センサ5は、移動体8に設置されており、移動体8の内界情報を出力する。内界情報とは、移動体8の加速度、速度、角加速度、角速度などの慣性に関する情報に加え、移動体8の内部の状態を把握するために必要な情報である。例えば移動体8が自動車である場合、内界センサ5は、例えば車速センサ、IMU(Inertial Measurement Unit)センサ、操舵角センサ、および操舵トルクセンサなどである。
【0020】
地図データベース7は、移動体8の周囲の地図データを格納しており、地図情報として出力する。
図1では、参照経路生成部3が地図データベース7に接続されているが、参照経路生成部3に限らず、移動体制御装置1内の各構成要素が地図データベース7にアクセスすることができる。地図データベース7には、移動体8の位置および姿勢を把握するための移動体環境の特徴量等が含まれている。移動体8が自動車である場合は、道路の中央座標情報、停止線の情報、白線の情報、および走行可能領域などの走行に関するデータが地図データベース7に含まれることが多い。
【0021】
地図データベース7は、位置姿勢推定装置6および参照経路生成部3においてその情報が必要ないのであれば設けなくてもよい。例えば、移動体8が両側区画線の中央を走行するような場合は、カメラで両側区画線を検出し、その中央を参照経路とすることがある。この場合、区画線の検出自体が位置および姿勢の推定と同等であるため、地図データベース7は不要となる。
【0022】
移動体制御装置1は、状態量推定部2、参照経路生成部3、および制御演算部4を備えている。移動体制御装置1は、内界センサ5から取得した内界情報、位置姿勢推定装置6から取得した位置姿勢情報、および地図データベース7から取得した地図情報に基づいて、移動体8を制御するための移動体制御量を出力する機能を有する。
【0023】
移動体制御量は、移動体8を制御するための信号であり、目標経路、目標軌道、および移動体8のアクチュエータへの指令値などを含む。
【0024】
なお、本開示では、移動体8に追従させる位置座標を含む経路を「目標経路」とし、経路の各点に到達時間の指示など位置座標以外の指示が含まれている場合は「目標軌道」とする。目標軌道には、目標速度(到達時間の指示と同等)が含まれている場合もある。なお、目標軌道は、目標速度または目標位置に限らず、移動体8の状態量であれば何でもよい。
【0025】
状態量推定部2は、制御演算部4で使用する、内界センサ5等で直接取得されない状態量を推定する機能を有する。状態量推定部2は、内界情報、位置姿勢情報、および移動体8の動特性を表す状態方程式に基づいて、オブザーバ、カルマンフィルタ、またはパーティクルフィルタなどの広く普及している手法を用いて移動体8の状態量を推定する。なお、制御演算部4で使用する状態量が全てセンサ等で検出される場合、状態量推定部2は不要となる。
【0026】
参照経路生成部3は、地図情報および位置姿勢情報に基づいて、参照となる経路として参照経路を生成する。移動体8が自動車である場合、参照経路は、車線の中央を表す経路などである。ダイクストラ法またはA*法などの一般的な方法によって、移動体8の初期の位置および姿勢から、目標の位置および姿勢に至るまでの経路を計算し、計算した経路を参照経路とすることもできる。
【0027】
制御演算部4については、
図3を用いて後に説明する。
【0028】
<移動体8>
移動体とは、自身が持つ車輪、プロペラ、脚、またはクローラなどの移動機構によって、基準座標系に対する自身のボディ座標系の位置および姿勢を変化せることができる物体である。移動体としては、例えば、自動車、飛行体、ドローン、脚ロボット、探査機、および農作機などが挙げられる。これら以外にも、移動できる物体は移動体として扱うことができる。
【0029】
移動体8の基本的な構成を
図2に示す。移動体8は、指令値演算部9およびアクチュエータ10を備えている。
【0030】
アクチュエータ10は、移動体8の移動機構を駆動するための駆動源である。移動体8が自動車である場合、アクチュエータ10は、電動モータ、自動車駆動装置、およびブレーキ制御装置などである。
【0031】
指令値演算部9は、移動体制御装置1からの移動体制御量に基づいて、実際にアクチュエータ10を駆動するための指令値をアクチュエータ10に出力する機能を有する。なお、指令値演算部9で指令値を演算するために、位置姿勢推定装置6からの位置姿勢推定情報、および内界センサ5からの内界情報を使用する場合もある。
【0032】
<制御演算部4>
制御演算部4について、
図3を用いて説明する。
図3に示すように、制御演算部4は、確率系最適化演算部11および制御決定部12を備えている。
【0033】
確率系最適化演算部11は、状態量および参照経路に基づいて、予め定められた評価関数を最小化または最大化する最適化演算を行い、最適系列を制御決定部12に出力する機能を有する。
【0034】
制御決定部12は、確率系最適化演算部11からの最適系列を用いて、移動体制御量を決定する機能を有する。
【0035】
<確率モデル予測制御>
本開示は、確率モデル予測制御と呼ばれる技術に関する。ここでは、確率モデル予測制御の説明を行う。
【0036】
なお、以下では、確率変数で表される量を扱う場合は「確率的」とし、確率変数で表されない確定的な量を扱う場合は「確定的」とする。また、確率分布として、確率変数が実数を取る場合に使用される確率密度関数を前提に説明するが、確率変数が離散値を取る離散確率分布なども同様である。また、以下では、ξkは各要素がそれぞれの確率分布に従って値が変動するZ次元の確率的なベクトルであるものとする。
【0037】
通常のモデル予測制御は、有限の評価区間であるホライズン間の望ましい挙動を評価関数として表現し、状態方程式で表される制御対象(本開示では移動体に相当)の動特性、および、状態や入力の制約を制約条件とした制約付き最適制御問題を時々刻々と解くことによって、制御入力を逐次決定する制御手法である。
【0038】
確率モデル予測制御は、この考えをベースとして、制御対象の状態変数および外乱を確率変数として扱う制御手法である。以下では、次の離散時間状態方程式(式(1))を考える。
【0039】
【0040】
式(1)において、xkは時刻k(kは整数)における制御対象の状態を表すn次元のベクトル、ukは制御入力を表すm次元のベクトル、zkは評価出力を表すr次元のベクトルである。以下では、下付きのkは時刻kを表すものとする。A(ξk)、Bu(ξk)、Bw(ξk)、C(ξk)、Du(ξk)、Dw(ξk)をそれぞれ、ξkによって定まるn×n、n×m、n×1、r×n、r×m、r×1の行列であり、これらの行列はその要素がξkに依存するような確率的な行列となる。式(1)では、Ak:=A(ξk)、Bu,k:=Bu(ξk)、Bw,k:=Bw(ξk)、Ck:=C(ξk)、Du,k:=Du(ξk)、Dw,k:=Dw(ξk)としている。これらの行列が確率的なため、xk、zkは確率変数となる。
【0041】
確率モデル予測制御は、前述のように時々刻々と制約付き最適制御問題を解く。そのためにまず、長さがN(Nは1以上の自然数)のホライズンを考え、ホライズンの初期時刻k=k0から終端時刻k=k0+Nまでの式(1)の応答に関する評価関数Jを下記の式(2)のように表す。
【0042】
【0043】
ここで、PNはn×n、Qはr×r、Rはm×mの確定的な正定な対称行列である。正定とは、その固有値が0以上の実数の固有値を持つ行列のことである。PNは、制御対象が安定となるように設定され、QとRはホライズン間でzkおよびukをどのような挙動とさせるかの仕様によって設定される。上付きのTは転置を表す。ホライズンの初期の状態xk0は状態量推定部により推定される。E[f]は写像fに関する期待値演算を表している。すなわち、fが依存している確率変数の同時確率密度関数pとfを掛けた量の多重積分を意味している。より具体的には、xk0+Nはξk0からξk0+Nに依存するため、例えば、下記の式(3)で表される。
【0044】
【0045】
期待値演算は線形性を持つため、写像fとgの線形和に対する期待値演算は下記の式(4)で表される。
【0046】
【0047】
以下では、式(2)のような形の評価関数を「確率系評価関数」と呼称する。
【0048】
以下、ホライズン間での入力系列UNを式(5)のように表し、最適化対象の変数ベクトルとして扱う。
【0049】
【0050】
このとき、UNはN・m次元のベクトルとなる。また、同様にホライズンN間の状態系列Xs,Nを下記の式(6)とする。このとき、Xs,Nはn・(N-1)次元のベクトルとなる。
【0051】
【0052】
確率モデル予測制御の場合、状態系列は確率変数となるため、状態系列に対するnp個の制約は下記の式(7)のように確率的となる。
【0053】
【0054】
ここで、Hpはnp×n・(N-1)の確定的な行列である。hpはnp次元のベクトルである。βpはnp次元のベクトルであり、その要素がそれぞれ0から1の範囲の実数を取る。Prはその事象が生じる確率を表しており、式(7)はHpXs,Nの各要素がhp以下となる確率が、βp以上であることを示している。本開示では、式(7)のような制約を「機会制約」と呼称する。
【0055】
一方、下記の式(8)のような状態系列の期待値に対するne個の確定的な制約条件も課すことができる。
【0056】
【0057】
ここで、Heはne×n・(N-1)の確定的な行列である。heはne次元のベクトルである。本開示では、式(8)のような制約を「期待値制約」と呼称する。
【0058】
また、下記の式(9)のように、入力系列自体にもnc個の確定的な制約条件を課すことができる。
【0059】
【0060】
ここで、Hcはnc×N・mの確定的な行列である。hcはnc次元のベクトルである。本開示では、式(9)のような制約を「入力制約」と呼称する。
【0061】
これらをまとめると、確率モデル予測制御問題は、式(1)の状態方程式、および式(7),(8),(9)の制約条件とし、式(2)の評価関数Jを最小化するUNを探索する最適化問題となる。すなわち、下記の式(10)で表される。
【0062】
【0063】
ここで、式(10)はJの最小化として記載したが、Jを-Jとすれば最大化問題となるため、以降ではJの最小化と最大化は区別せず、最小化で統一する。なお、式(2)の確率的な最適化問題は最適化変数UNについて2次形式で書かれているため、確率的な2次計画問題となっている。また、制約条件を式(7),(8),(9)としたが、すべて用いる必要はなく、問題に適切な制約条件を設定する。
【0064】
式(10)を解く方法については、様々な手法が提案されているが、その解法やアルゴリズムによっては解が近似解となる場合や、最適化演算に時間がかかるなどの課題がある。本開示では、確率変数ξkの確率分布が既知であるとして、確率的な最適化問題である式(10)を、写像を用いて確定的な最適化問題に変換する技術について開示する。
【0065】
確定的な制約付き最適化問題は、Active Set法や内点法など効率的かつ高速で最適解を得ることができるアルゴリズムやソルバが多数存在する。以下、これらを「確定的ソルバ」と呼称する。確率的な最適化問題である式(10)を解くことによって、一度確定的な最適化問題に変換してから確定的ソルバを用いて解くことで、効率的かつ高速に確率的な最適化問題を解くことができる。
【0066】
<確率系最適化演算部>
図3に戻り、確率系最適化演算部11について説明する。確率系最適化演算部11は、確率系評価関数変換部13および確定系最適化演算部14を備える。
【0067】
確率系評価関数変換部13は、移動体8の状態量および参照経路に基づいて、確率系評価関数を、下記の式(11)のようなUNに関する2次形式の確定的な評価関数に変換する機能を有する。
【0068】
【0069】
ここで、HNはN・m×N・mの行列、cNはN・m次元のベクトルである。const.はUNに関する最適化に寄与しない定数項であり、以下では無視する。なお、以下では、式(11)で表せる評価関数を「確定系評価関数」と呼称する。
【0070】
確定系最適化演算部14は、確率系評価関数変換部13からの確定系評価関数を、前述した確定的ソルバを用いて、確定系評価関数を最小化するUNを求め、最適系列として出力する。
【0071】
以下では、具体的に確率系評価関数変換部13の機能である、式(2)の確率系評価関数を、式(11)の確定的な評価関数に変換する具体的な計算方法について説明する。ここでは例として、式(2)の1項目(下記の式(12)の項)の計算について説明する。
【0072】
【0073】
式(1)の離散時間状態方程式より、xk0+Nは、下記の式(13)のように表される。
【0074】
【0075】
ここで、下記の式(14)とすると、式(13)は、下記の式(15)と表すことができる。
【0076】
【0077】
【0078】
従って、式(12)は、下記の式(16)のようにUNに関する2次形式で表すことができる。
【0079】
【0080】
ここでは式(2)のうち、式(12)の項について述べたが、残りの項についても同様にUNに関する2次形式で表すことができるため、式(2)は最終的に式(12)の2次形式に変換できる。
【0081】
式(16)に含まれる期待値演算Eの部分をオフライン処理もしくはオンライン処理で計算することによって、確定的ソルバで解ける形となる。なお、期待値演算Eには、例えば下記の式(17)などの計算が含まれるが、AT
k0とAk0が独立でないことから下記の式(18)であることに注意が必要である。
【0082】
【0083】
【0084】
このことが、確率系評価関数を確定系評価関数に変換することを困難にしている。本開示の方法によれば、式(17)のような計算を、写像を用いることで厳密にかつ高速に計算することが可能になる。
【0085】
なお、式(16)に含まれるようなEの計算については大きく分けて2つの方法がある。1つ目は、確率変数ξkの従う確率分布を用いてξk0からξk0+Nまでのサンプルパスを複数生成し、式(17)の標本平均を求める方法である。これは大数の法則に基づく計算であるが、サンプルパスの数が十分でなければ精度が悪く、また計算効率も非常に悪いため、オンライン処理での計算には不向きである。また、サンプルパスによっては、確率的にほぼ生じない事象が含まれる場合もあり、サンプルパスが少ない場合、これがEの計算に悪影響を及ぼす可能性もある。
【0086】
ただし、オフライン処理で事前に標本平均により期待値演算Eの部分を計算しメモリに記録しておき、オンライン処理で該当部分を読み出して使用することは可能である。
【0087】
2つ目の方法は、ξkの時刻kに関する関係、すなわち確率過程モデルを用いて解析的に計算する方法である。この方法については、確率過程モデルごとに写像を定義することによって、高速に期待値を計算することが可能となる。この写像は確率過程モデルによって異なるが、本開示では例として、ξkが時刻kに対して独立同分布(Independent and identical distribution、以下では「i.i.d.」と略記する)に従う場合と、隠れマルコフモデル(Hidden Markov Model、以下では「HMM」と略記する)に従う場合について説明する。その他の確率過程モデルも、モデルごとに同様に写像を定義することが可能である。
【0088】
以下では、写像の説明のため、式(2)の確率系評価関数を、式(11)の確定系評価関数に変換する際に生じる項(下記の式(19))の計算について説明をする。
【0089】
【0090】
<i.i.d.の場合の評価関数の計算>
ξkがi.i.d.に従う場合、ξkの確率分布の形状は、時間的に不変であり、かつ値の出方に関して時間的依存性を有しない。i.i.d.の場合、非特許文献1に記載の補題2を使用することができる。すなわち、任意のn×nの対称行列Mに対して、下記の式(20)が成り立つことを利用する。式(20)において、丸で囲まれたバツはクロネッカ積を表す。
【0091】
【0092】
ここで、GAは、下記の式(21)を満たすn’×n2の行フルランク行列HAを、下記の式(22)のようにn’×nの行列HAi(i=1,…,n)に分解し、さらに下記の式(23)としたn’・n×nの行列である。
【0093】
【0094】
【0095】
【0096】
ここで、row(A0)は、行列A0の各要素を1行目から順番に並べた行ベクトルである。なお、式(20)でA0(すなわちk=0の場合)のみを考慮しているのは、ξkがi.i.d.であり、k=0の場合を考慮すれば十分なためである。式(20)を用いて、下記の式(24)に表される写像VAAを定義する。
【0097】
【0098】
式(24)の写像を用いて式(19)を計算する。i.i.d.の場合、異なる時刻ではξkは独立であるため、下記の式(25)が成り立つ。
【0099】
【0100】
また、式(3)を考慮すれば、下記の式(26)のように表される。
【0101】
【0102】
ここで、式(24)の写像を用いれば、下記の式(27)のようになる。
【0103】
【0104】
これを繰り返すとXNを式(19)、X0=Pとした漸化式(下記の式(28))が得られ、効率的にかつ厳密に式(19)の計算が可能になる。
【0105】
【0106】
ここでは、式(19)の計算について写像を用いた方法を説明したが、式(2)の確率系評価関数を、式(11)の確定系評価関数に変換する際に生じる他の項についても同様に写像を定義することで効率的に計算することが可能となる。例えば、下記の式(29)の項などが生じるが、式(20)と同様に、下記の式(30)を満たすGBuを用いて、下記の式(31)の写像を定義する。
【0107】
【0108】
【0109】
【0110】
この写像を用いると、式(29)は下記の式(32)のように計算することが可能である。
【0111】
【0112】
なお、GBuは、Bu,0を用いて式(21),(22),(23)と同様の手順で求めることができる。
【0113】
i.i.d.の場合は、このようにして写像を定義することによって、確率系評価関数を確定系評価関数に変換することができる。
【0114】
<HMMの場合の評価関数の計算>
次に、ξkがHMMに従う場合について説明する。HMMは、離散もしくは連続の確率分布に従う系列を出力するモード(状態)が、各モード間で定められた遷移確率に従って遷移するとして構築された確率モデルである。以下、HMMにおける各モードに対応した確率分布を「出力分布」と呼称する。
【0115】
HMMの出力およびモードの遷移について説明する。例えば、HMMがある時刻において「モードA」であった場合、「モードA」の確率分布に従った系列を出力する。一方、モードは他のモードへある遷移確率に従って遷移し、出力の確率分布が変化する場合もある。例えば、「モードA」から「モードB」に遷移した場合、「モードB」である時間区間では、「モードB」の確率分布に従った系列が出力される。HMM内では、現在どのモードであるのかを直接観測することできず、その出力系列のみ観測されるため、「隠れ」とされている。
【0116】
以下では、HMMはL個のモードで構成されているとし、それぞれのモードをモード1、モード2、・・・、モードLと呼称する。各モードの出力分布はそれぞれD1、D2、...、DLであり、各時刻kにおけるモードをσk(すなわち、σkは1,2,...,Lをとる)とする。また、ηkは時刻kにおけるHMMが出力する出力系列とし、ηkは各時刻においてD1、D2、...、DLのいずれかの出力分布に従うとする。分布Djに従うηkは、確率変数η(j)と書くこととする。なお、以下では、同じモードになる時刻でのηkは各時刻で独立であるものとする。また、確率変数ξkを下記の式(33)で表し、σkによりその出力分布が異なることを表す。
【0117】
【0118】
「モードi」から「モードj」への遷移確率をpijとし、HMMの各モード間の遷移は、既約かつ非周期的なマルコフ連鎖に従うとすると、下記の式(34)で表される。
【0119】
【0120】
下記の式(35),(36)のように表される遷移行列Πと、時刻kにおける確率ベクトルakを用いると、モードの時間遷移は、下記の式(37)のように表される。
【0121】
【0122】
【0123】
【0124】
次にi.i.d.の場合の説明と同様に、式(19)を例にHMMで定義される写像について述べる。HMMの場合、ξkが1時刻前のξk-1のみに依存することから、条件付き確率を用いて、下記の式(38)のように表すことができる。
【0125】
【0126】
式(3)を考慮すれば、式(19)は条件付き期待値を用いて、下記の式(39)のように表すことができる。
【0127】
【0128】
なお、式(39)の条件付き期待値は、ξkのうちηkには依存せずσkのみに依存することから、条件としてσkのみを記載している。なお、σk0-1はk0より1時刻前のモードである。
【0129】
式(39)の計算は、HMMのモードがホライズン間でどのようなパスを経由するかを考慮する必要がある。その考慮のため、時刻kにおけるL個のモードに対応したn×nの行列Mk
(i)(i=1,2,...,L)、および、Mk
(i)を並べた順序列Mt,k(下記の式(40))を定義する。
【0130】
【0131】
また、下記の式(41),(42)に表す写像を定義する。
【0132】
【0133】
【0134】
なお、GAiは、「モードi」での確率分布Diおよびその出力η(i)を用いて、下記の式(43)で表される行列である。GAiは式(21),(22),(23)と同様の手順で求めることができる。
【0135】
【0136】
式(40),(41),(42)を用いて、式(39)を計算する。まず、下記の式(44)とすると、式(39)の最も内部の部分は、下記の式(45)で表すことができる。
【0137】
【0138】
【0139】
ここで、下記の式(46)で表される漸化式を用いると、式(39)はさらに下記の式(47)となる。
【0140】
【0141】
【0142】
これを繰り返すと、下記の式(48)のように計算することができる。
【0143】
【0144】
上式は、σk0-1で条件付けられている。この計算のため、時刻k0-1での確率ベクトルak0-1を考える。時刻k0-1でHMMがどのモードかを観測できる場合、例えば時刻k0-1で「モード1」であった場合は、ak0-1=[1 0 ... 0]Tで与えられる。また時刻k0-1でのHMMが観測できない場合は、各モードの初期確率によりak0-1が与えられ、例えば各モードの確率は一様として下記の式(49)などが利用される。
【0145】
【0146】
このようにして与えられる時刻k0-1での確率ベクトルak0-1を用いれば、下記の式(50)のように計算することができる。
【0147】
【0148】
このようにして、効率的かつ厳密に式(19)を計算することが可能になる。ただし、ak0-1,iは確率ベクトルak0-1のi番目の要素である。
【0149】
式(39)のようなその他の項についても同様に、写像と漸化式を定義すれば良い。HMMの場合は、このようにして写像を定義することで、確率系評価関数を確定系評価関数に変換することができる。
【0150】
また、ホライズン長さNやHMMの遷移行列Πの要素pijは固定値ではなく、移動体周辺の環境に合わせてオンラインで変化させても良い。
【0151】
ここで説明した確率系評価関数変換部13での処理は、状態xk0、HMMの初期確率ak0-1や遷移確率pijなどのオンラインで異なる値を取る項に関わる部分を除けば、多くの部分で確定的な行列や数値となる。そのため、オンライン時に変化しない行列や数値は、オフラインで計算後、メモリに記憶しておき、オンライン時に読み出して利用することで、オンライン処理の高速化が可能である。これにより、ホライズン長さNの増減に対しても高速に処理が可能となる。
【0152】
例えば、i.i.d.の場合、ξkの確率分布の形状が変わらない限り、式(24)の写像で使用されるGAは、オンラインで得られる情報によって変化しない。そのため、オフライン処理でGAを計算しておき、オンライン処理の際にはGAを読み出し後、式(28)の漸化式を用いることによって、確率系評価関数を確定系評価関数に変換することが可能となる。式(28)の漸化式の計算自体は処理負荷が小さいため、高速に確率系評価関数を確定系評価関数に変換することが可能となる。
【0153】
また、HMMの場合も同様に、η(i)
kの確率分布の形状が変わらない限り、式(41)の写像で使用されるGAiはオンラインで得られる情報で変化しない。そのため、i.i.d.の場合と同様に、オフラインで計算し記録されたGAiをオンライン時に読み出して、式(47)の漸化式を計算することによって、高速に確率系評価関数を確定系評価関数に変換することが可能となる。
【0154】
以下で説明する制御決定部12も同様に、オンラインで得られる情報で変化しない行列や数値については、オフライン計算とメモリへの記録、オンライン処理時に読み出すことによって処理の高速化が可能である。
【0155】
なお、移動体8の周囲環境によっては、移動体8の制御時にξkやη(i)kの確率分布の形状が変化する場合も考えられる。その際は、写像に使用されるGAやGAiをオンライン処理で再度計算し直すか、事前に確率分布のパターンが複数あることが分かっている場合は、それぞれのパターンでの確率分布でGAやGAiを計算しておき、オンライン処理では確率分布のパターンに合わせたGAやGAiを読み出して使用すれば良い。
【0156】
このように、確率系評価関数変換部13は、ξkの確率過程モデルを用いることによって、確率系評価関数を確定系評価関数に変換する。
【0157】
<制御決定部12>
図3に戻り、制御決定部12の具体的な動作について説明する。制御決定部12は、確率系最適化演算部11から出力されるU
Nの最適系列を用いて、移動体8を制御するための移動体制御量に変換する。
【0158】
前述の通り、移動体制御量は、目標経路、目標軌道、および移動体8のアクチュエータへの指令値を含む。移動体制御量がアクチュエータへの指令値である場合は、UNに含まれるuk0が制御決定部12から出力されるが、計算の遅れなどを考慮して、UNに含まれる項、例えばuk0+1などを出力しても良い。
【0159】
移動体制御量が目標経路または目標軌道である場合は、UNと式(1)の移動体8の状態方程式から求める。すなわち、下記の式(51)を用いる。
【0160】
【0161】
ここで、ΨN、Θu,N、およびΘw,Nのそれぞれは、下記の式(52),(53),(54)で表される。
【0162】
【0163】
【0164】
【0165】
制御決定部12では、Xs,Nから移動体8の制御に必要な量を抽出し、目標経路もしくは目標軌道として移動体制御量を出力する。しかし、Xs,Nはξkの確率分布に依存するため、目標経路や目標軌道も確率分布を持つ。移動体8がそのような確率分布を持った目標経路や目標軌道に対応して制御可能であればそのままでよいが、通常は確率分布から、確定的な目標経路や目標軌道に変換する必要がある。変換の方法は期待値を取る方法や分布の最大値を取る方法など様々あるが、ここではXs,Nの期待値、すなわち下記の式(55)を取り、E[Xs,N]から目標経路や目標軌道を生成する方法について述べる。
【0166】
【0167】
なお、ここでもξkがi.i.d.の場合とHMMの場合について説明し、例としてE[ΨN]の計算について述べる。
【0168】
<i.i.d.の場合>
ξkがi.i.d.の場合、式(25)に示したように、ξkは時刻kに対して独立であるため、E[ΨN]は下記の式(56)のような計算が可能である。
【0169】
【0170】
<H.M.Mの場合>
ξkがHMMの場合、式(38)に示したように、ξkはξk-1に依存する。そのため、例えば、下記の式(57)となる。
【0171】
【0172】
確率系評価関数変換部13の場合と同様に、時刻kにおけるL個のモードに対応したn×nの行列Nk
(i)(i=1,2,...,L)および、Nk
(i)を並べた順序列Nt,kを用いる(下記の式(58)を参照)。
【0173】
【0174】
ここで、下記の式(59)の写像を定義する。
【0175】
【0176】
式(59)の写像により、下記の式(60)として、下記の式(61)の漸化式が得られる。
【0177】
【0178】
【0179】
式(59)の写像と、式(61)の漸化式とによって、式(57)は、各モードの初期確率ak0-1を用いて、下記の式(62)のように計算することが可能である。
【0180】
【0181】
上記では、i.i.d.やHMMのE[ΨN]の計算方法について説明した。E[Θu,N]およびE[Θw,N]についても同様に計算が可能であるため、E[Xs,N]を計算することができる。
【0182】
制御決定部12は、このように最適系列UNの一部の抽出や、E[Xs,N]を求めることによって、目標経路や目標軌道を生成する。
【0183】
<移動体8が自動車である場合>
これまでに、
図1,3を用いて移動体制御装置1の処理について説明した。ここでは、より具体的な例を提示するために、移動体8が自動車である場合について説明する。
【0184】
図4は、移動体8が自動車である場合の構成の一例を示す図である。
【0185】
ドライバー(すなわち運転者)が自動車を操作するために設置されているステアリングホイール50は、ステアリング軸51に結合されている。ステアリング軸51は、ラックアンドピニオン機構53のピニオン軸62が連接されている。ラックアンドピニオン機構53のラック軸63は、ピニオン軸62の回転に応じて往復移動自在であり、その左右両端にはタイロッド54を介してフロントナックル55が接続されている。フロントナックル55は、操舵輪としての前輪64を回転自在に支持すると共に、車体フレームに転舵自在に支持されている。
【0186】
ドライバーがステアリングホイール50を操作して発生したトルクはステアリング軸51を回転させ、ラックアンドピニオン機構53がステアリング軸51の回転に応じてラック軸63を左右方向へ移動させる。ラック軸63の移動により、フロントナックル55が図示しないキングピン軸を中心に回動し、それにより前輪64が左右方向へ転蛇する。よって、ドライバーは、自動車が前進または後進する際にステアリングホイール50を操作することによって、自動車の横移動量を変化させることができる。
【0187】
なお、完全自動運転などの非搭乗型の移動体8の場合は、ステアリングホイール50のようなドライバー操作のための構成要素は不要となる。
【0188】
自動車には、自動車の内界を認識するための内界センサとして、車速センサ70、IMUセンサ71、操舵角センサ72、および操舵トルクセンサ73などが設置されている。
【0189】
また、自動車には、自動車の横方向の運動を実現するための電動モータ52、自動車の前後方向の運動を制御するための車両駆動装置56、およびブレーキ制御装置59などのアクチュエータが設置されている。
【0190】
電動モータ52は、一般的にはモータとギアとで構成され、操舵制御装置61からの指示に従って、ステアリング軸51にトルクを与えることによって、ステアリング軸51を自在に回転させることができる。つまり、電動モータ52は、ドライバーのステアリングホイール50の操作と独立して、前輪64を自在に転舵させることができる。
【0191】
車両駆動装置56は、自動車を前後方向に駆動するためのアクチュエータである。車両駆動装置56は、加減速制御装置58からの指示に従って、例えばエンジンやモータなどの駆動源で得られた駆動力を、図示しないトランシミッションとシャフト57とを介して、前輪64および後輪65を回転させる。これにより、車両駆動装置56は、自動車の駆動力を自在に制御することが可能である。
【0192】
一方、ブレーキ制御装置59は、自動車を制動するためのアクチュエータであり、加減速制御装置58からの指示に従って、自動車の前輪64および後輪65のそれぞれに設置されたブレーキ60のブレーキ量を制御する。一般的なブレーキ60は、前輪64および後輪65と共に回転するディスクロータに、油圧を用いてパッドを押し付けることによって、制動力を発生させる。
【0193】
内界センサ、および上記で説明した複数の装置は、自動車内のCAN(Controller Area Network)やLAN(Local Area Network)などを用いてネットワークを構成しているものとする。各装置は、ネットワークを介してそれぞれの情報を取得することが可能である。また、内界センサは、ネットワークを介して相互にデータの送受信が可能である。
【0194】
移動体8の動特性ごとにその動特性をモデル化した連続時間状態方程式が求まる。本開示では、各種の移動体8へ適用可能な移動体制御装置1を提供するが、ここでは自動車を例として詳細に説明する。なお、移動体8を制御する方法は数多く提案されているが、実施の形態1では参照経路に対する横方向の運動の制御方法ついて説明する。
【0195】
まず、移動体8の横方向の動特性を表す連続時間状態方程式について
図5を用いて説明する。
図5中のX軸、Y軸を持つ座標系は基準座標系であり、xb軸、yb軸を持つ座標系はボディ座標系である。基準座標系で表された参照経路に対する移動体の横偏差および偏角をそれぞれ、e
y、e
θとすると、移動体8の横方向の連続時間状態方程式は下記の式(63)のようになる。
【0196】
【0197】
ここで、xc、Ac、Bcu、Bcwのそれぞれは、下記の式(64)のように表される。
【0198】
【0199】
上付きの「’」は時間微分を表す。また、各記号は以下を表す。
【0200】
vx:車速[m/s]
δ:舵角[rad]
κ:参照経路の曲率[1/m]
m:質量[kg]
Lf:重心-前車輪軸間距離[m]
Lr:重心-後車輪軸間距離[m]
Iz:ヨー軸周りの慣性モーメント[kg・m^2]
Cf:前輪コーナリングスティフネス[N/rad]
Cr:後輪コーナリングスティフネス[N/rad]
ey:参照経路から自動車の重心までの横偏差[m]
e‘
y:eyの時間微分[m/s]
eθ:参照経路から自動車の重心までの偏角[rad]
e'
θ:eθの時間微分[rad/s]
コーナリングスティフネスとは、移動体に発生する横力と横滑り角との関係を表す比例係数であり、例えば、乾燥面、湿潤面、凍結面などと移動体との接触面の状態によって変化する値である。
【0201】
なお、参照経路の曲率κについてはホライズンN間の予測値が必要となる。その予測の方法としては複数考えられるが、ホライズンN間でκは一定値をとると仮定し、ホライズン間で同じκの値を用いるのが最も簡単な方法である。
【0202】
その他の方法として、移動体8は等速で参照経路上を運動するなどと仮定することによって、ホライズンN間での移動体8の参照経路上の予測位置を求める。参照経路の情報として、参照経路上の各点の曲率が含まれている場合は、その予測位置での参照経路の曲率を読み出して使用すればよい。また、参照経路がスプラインや多項式などで表現されている場合は、予測位置での曲率を計算することができる。すなわち、例えば、参照経路がY=fr(X)等で表現されている場合は、下記の式(65)によって予測位置での曲率が求まる。
【0203】
【0204】
なお、参照経路がX点群、Y点群などで表現されている場合は、点群を一度スプラインや多項式の滑らかな関数で近似し、式(65)を計算することにより曲率が求まる。また、曲率をばらつきのあるパラメータとして扱い、確率分布をもつ確率変数としてξkに含め、式(1)に組み入れることが可能である。
【0205】
式(63)の連続時間状態方程式を式(1)の離散時間状態方程式に変換する。このとき、ホライズン間でのサンプリング間隔をhkとすると、下記の式(66),(67)となる。
【0206】
【0207】
【0208】
なお、hkは通常一定値とするが、確定系最適化演算部14は、その処理時間にばらつきが生じるため、hkにそのばらつきを表す確率変数(すなわちξk)を加えても良い。
【0209】
次に、式(1)のzkを設計する。まず、自動車を参照経路に追従させるために、xkの要素をすべて0に収束させる必要がある。また同時に、自動車の位置および姿勢の確率分布を考えるため、eyとeθに確率変数ξ1k、ξ2kを加法的ノイズとして加える。すなわち、zkを下記の式(68)のようにとる。
【0210】
【0211】
これにより、自車の位置および姿勢の確率分布を考慮することが可能となる。
【0212】
なお、ここではeyとeθの加法的ノイズのみ考慮したが、乗法的ノイズも考慮可能である。その場合、確率変数を新たに考慮し、Ckのeyとeθにかかる要素にその確率変数を設定すれば良い。また、同様にしてey’やeθ’の確率分布も考慮することができる。
【0213】
ξ1kおよびξ2kは、位置姿勢推定装置6からの位置姿勢情報がどのような確率分布で表現できるかで設計するのがよい。多くの場合は、i.i.d.が仮定され、かつその確率分布は正規分布等で表現されることが多いが、本開示の方法では、確率分布の形に制限がないためその他の形状の確率分布でも適用が可能である。
【0214】
i.i.d.かつ正規分布以外の例として、GNSSで検出した位置の確率モデルがHMMで表現できることについて説明する。
図6は、GNSSで計測される位置の確率過程モデルである。GNSSで高精度に位置を計測する方法としてRTK(Real Time Kinematic)がよく利用される。RTKは、移動体8に設置されたアンテナの位置を、移動体8から数kmの範囲に設置される基準点の情報、および測位衛星からの測位信号を用いて高精度かつ高速に計測する方法である。RTKには、基本的にFix、Float、DGNSS(Differential-GNSS)、および誤Fixの4つのモードがある。その他に未測位というモードがあるが、この場合は位置情報が出ないので無視する。また、慣性センサを用いる場合はDR(Dead Reckoning)のモードがあるが、ここでは無いものとする。
【0215】
詳細な説明は省略するが、Fixは、搬送波位相の情報を用いて、測位衛星からの電波の波数(整数)が精度良く求まったモードであり、最も位置精度が良い。Floatは、Fixの前段階で計算される暫定的な位置であり、波数の整数解が求まらなかった場合に出力される。DGPSは、搬送波位相情報が得られない場合の推定位置である。誤Fixは、波数が間違って求められた場合に出力される。
【0216】
図6は、さらにそれぞれのモードごとの確率分布のイメージを示している。図の破線が真の位置であるとすると、Fixは、真の位置に近く、またばらつきも小さい。Floatは、Fixに比べてばらつきが大きくなるが、DGNSSよりは小さい。誤Fixは、ばらつきは小さいが、真の位置からオフセットを持った位置が出力される。これらのモード間の遷移は、式(35)のように遷移行列Πで表現される。
【0217】
なお、GNSSの場合、遷移行列Πは移動体8の周辺環境によって、その要素の値であるpijが変化する場合がある。例えば、衛星からの電波の遮蔽物や、ビルなど電波を反射する構造体が少ない環境では、Fixのモードに遷移しやすい。また、都市部などのビルが多い環境では、Floatや誤Fixに遷移しやすくなる。本開示の移動体制御装置1では、遷移行列Πが移動体8の周辺環境に合わせてpijを変化させても問題はない。
【0218】
このようにして、移動体8の存在確率がHMMで表せる場合においても、本開示の移動体制御装置1は、精度を維持したまま移動体8を参照経路へ追従させることができる。
【0219】
なお、本開示では、評価関数を式(2)のように最適化変数UNに対して2次計画問題としているが、1次の計画問題、すなわち評価関数をUNに対して1次となるようにしても良い。この場合は線形計画問題と呼ばれるが、本開示で示した方法と同様の方法で、確率計画問題から確定的な最適化問題に変換することが可能である。この場合、確定的ソルバとして線形計画法などを用いた効率的なソルバを用いれば良い。
【0220】
また、本開示では、式(64)のような状態方程式を使用したが、移動体8に合わせて変更する必要がある。
【0221】
なお、式(64)で使用されている質量mや慣性モーメントIz、コーナリングスティフネスCfやCrのパラメータは、乗員の数や自動車と路面との接触面の状態によって変化する場合がある。これらについて、直接観測することはできないが、確率分布が分かっている場合、その確率分布を持つ確率変数をξkに含め、式(1)に組み入れることが可能である。これにより、より高精度な移動体制御が可能となる。なお、自動車以外の移動体8についても、移動体8の動特性の不確かな部分を確率変数に加えることよって、より高精度な移動体制御が可能となる。
【0222】
本開示に示す方法により、特許文献1では考慮ができなかった、自車の位置および姿勢の確率分布を考慮しつつ経路追従性を向上させることが可能な移動体制御装置1を提供することができる。
【0223】
<実施の形態2>
実施の形態2では、移動体8の周辺に障害物が存在する場合でも障害物を回避することによって安全を確保することが可能な移動体制御装置を提供する。なお、実施の形態1と同内容については説明を省略する。
【0224】
図7は、実施の形態2に係る移動体制御装置15の機能ブロック図である。実施の形態1に係る移動体制御装置1に対して、障害物センサ18が接続され、障害物移動予測部16が追加されている。
【0225】
障害物センサ18は、1以上のカメラ、LiDAR、Ladarなどのセンサで構成される。障害物センサ18は、移動体8と障害物との相対的な位置を障害物情報として出力する。また、障害物センサ18は、移動体8と障害物との相対速度を出力可能な場合もある。この場合は、移動体8と障害物との相対位置および相対速度を障害物情報として出力する。移動体8が自動車である場合は、他の自動車、自転車、歩行者などの障害物の位置および速度が障害物情報となる。障害物センサ18は、移動体8自身に設置されることが多いが、環境センサとして移動体8が走行する環境に複数個設置されることもある。この場合、移動体8は環境センサとの通信により、障害物情報を取得する。
【0226】
障害物移動予測部16は、障害物センサ18からの障害物情報を用いて、ホライゾンNの間の障害物の位置を予測し、障害物予測情報として出力する機能を有する。障害物の移動の予測方法として、例えば障害物センサ18から障害物の速度情報が出力される場合は、障害物が等速直線運動を行うと仮定して予測する方法、機械学習により学習された障害物移動予測モデルを用いて予測する方法など既存の様々な方法が適用できる。障害物移動予測部16は、ホライゾンN間の障害物の位置が予測できれば、どのような方法を用いても良い。
【0227】
<制約演算部20>
図8は、実施の形態2に係る確率系最適化演算部19の機能ブロック図である。実施の形態1と比較して、制約演算部20が追加されている。確率系最適化演算部19および制御決定部12は、制御演算部17が有している。
【0228】
制約演算部20は、参照経路および障害物情報を用いて、障害物を回避するための確定的な制約条件を生成する機能を有する。ここで、確定的な制約条件とは、下記の式(69)のように確率を含まないnu個の制約条件であり、本開示では「確定系制約条件」と呼称する。
【0229】
【0230】
ここで、Huはnu×m・Nの確定的な行列であり、huはnu次元のベクトルである。
【0231】
確率モデル予測制御における制約条件として、式(7),(8),(9)のように、機会制約、期待値制約、および入力制約などがあることは既に説明した。このうち、入力制約については、式(7)をそのまま利用すればよい。また、期待値制約については、式(8)におけるE[Xs,N]を、式(55)を用いて計算すればよい。このとき、既に説明したようにi.i.d.やHMMなどの確率過程モデルを用いれば高速かつ厳密に計算することが可能となる。
【0232】
機会制約を確定的な制約条件に変換する方法は、チェビシェフの不等式、カンテリの不等式などの確率不等式を用いる方法、一般化多項式カオスによる方法、期待値制約へ変換する方法(保守的近似)など、様々提案されている。これらの手法を用いれば、式(7)の機会制約は、確定的な制約条件に変換することができる。
【0233】
制約演算部20は、機会制約、期待値制約、および入力制約を合わせて、式(69)のような確定系制約条件を演算し、確定系最適化演算部21に出力する。
【0234】
確定系最適化演算部21は、確率系評価関数変換部13からの確定系評価関数を、制約演算部20からの確定系制約条件のもとで最適化を行い、最適系列を出力する。
【0235】
<障害物回避の例>
制約演算部20の動作の説明について、
図9を用いて説明する。
図9は、移動体8(自動車)の参照経路として幅2L
lの区画線の中心を用いており、静止している障害物が参照経路上付近に存在するシーンを示している。この場合、移動体8は静止障害物に近寄らないような制約を守る必要がある。図中の黒点はホライズンNの間の、参照経路近傍の移動体の予測位置であり、移動体8が参照経路上を等速で運動するなどの仮定により求まる。
【0236】
このような場合、制約演算部20は、移動体8が静止障害物に必要以上に近寄らないようにするために、静止障害物を含むような大きさの回避領域を設定し、この回避領域に対して制約を設定する。
図9の例では、区画線の幅L
lに対して、L
oだけ内側に回避領域を設定している。ホライズンN間の時刻、k=k0+i1、k=k0+i2、k=k0+i3に静止障害物の回避領域に近づくような予測がされたとする。これらの時刻での横位置偏差e
y,k0+i1、e
y,k0+i2、e
y,k0+i3について、下記の式(70)のような機会制約を設定する。
【0237】
【0238】
βcについては、例えば0.95のように設定すれば95%以上の確率で、移動体8が回避領域に入らないようにすることができる。また、期待値制約で問題ない場合は、下記の式(71)とすればよい。
【0239】
【0240】
なお、その他の時刻でのeyについては、区画線からはみ出さないような制約を設定する。このように、ey,k0+i1、ey,k0+i2、ey,k0+i3に関する制約は、適当なDcと、Xs,Nにより表現することができるため、式(7)のように書くことができる。
【0241】
実施の形態2では、静止障害物の回避の例について述べたが、障害物が移動する場合でも同様に障害物を回避することができる。具体的には、ホライズンN間の障害物の予測位置に合わせて、制約を設ければ良い。
【0242】
実施の形態2に係る構成により、障害物を回避可能な移動体制御装置15を提供することができる。
【0243】
<実施の形態3>
実施の形態3では、移動体8の横方向の制御と前後方向の制御とを分離することによって、前後方向と横方向の移動の制御を同時に行うことが可能な移動体制御装置を提供する。なお、実施の形態1,2と同内容については説明を省略する。ここで前後方向とは、
図5のボディ座標系においてx
b軸方向を示し、横方向とは、y
b軸方向を示す。このような移動体制御装置が必要な理由は、一般に移動体の場合はその運動拘束により、前後方向の移動と横方向の移動とが連成する。そのため、前後方向と横方向の運動を同時に制御することが望ましいが、この場合、移動体の状態方程式が状態に対して非線形となり、扱いが複雑になる。実際に、式(64)のように横方向の状態方程式に速度v
xが含まれていることがわかる。そのため、まず前後方向について制御を行い、その情報を用いて横方向の制御を行うことが好適である。
【0244】
<構成例1>
図10に実施の形態3に係る制御演算部22の構成例1を示す。制御演算部22は、実施の形態1での制御演算部4とは異なり、前後方向制御部23、横方向制御部25、および制御決定部27で構成される。
【0245】
前後方向制御部23は、参照経路、障害物情報、および状態量を用いて、ホライズンN間の前後方向系列を出力する機能を有する。
【0246】
横方向制御部25は、前後方向系列、参照経路、障害物情報、および状態量を用いて、ホライズンN間の横方向最適系列を出力する機能を有する。
【0247】
制御決定部27は、前後方向系列および横方向最適系列から、移動体8を制御するための移動体制御量を決定する。
【0248】
前後方向制御部23は、速度計画部24で構成される。速度計画部24の出力について
図11を用いて説明する。図中の横軸は時刻、縦軸はその時刻での速度を表している。速度計画部24は、ホライズンの開始時刻k0からk0+Nまでのそれぞれの時刻での速度を前後方向系列として演算し、出力する。特に
図11では、通常走行区間、カーブ区間、アプローチ区間、および停車区間での速度系列を示しており、通常走行では指定された速度、カーブ区間では参照経路の曲率に合わせた減速、アプローチ区間では障害物手前で停止するための減速、停車区間では停車を維持するような速度系列の例を示している。前後方向制御部23は、このような動作をする速度計画部24から前後方向系列を出力する。
【0249】
横方向制御部25は、前後方向制御部23からの前後方向系列を反映し、横方向最適系列を演算する。ここで、前後方向系列を考慮するため、式(1)を外部からのパラメータqkに依存するように書き直す。すなわち、下記の式(72)のように書き直す。
【0250】
【0251】
式(72)では、A、Bu、Bw、C、Du、Dwの行列が、確率変数ξkと外部からの確定的なパラメータqkに依存していることを表している。本開示の場合、qkは前後方向制御部23からの前後方向系列に相当する。より具体的には、式(64)のように状態方程式が速度vxに依存しているため、qkをホライズン間のvxとみなすことに相当する。
【0252】
この場合、確率系評価関数変換部13で使用される式(24)および式(41)の写像を変更する必要がある。例えば、式(24)の場合、GAがqkに依存するようになる。すなわち、下記の式(73)となる。
【0253】
【0254】
GA(qk)の計算方法については、式(21),(22),(23)の計算の過程において、A0(ξk)ではなくA0(ξk,qk)として計算すれば良い。GA(qk)については、qkが得られた際に逐次計算するとしても良いが、計算に時間がかかるためオンライン処理に向かない。そのため、事前にqkの範囲、例えば0[km/h]から100[km/h]の範囲でしか制御しない場合には、その速度間をNq点で分割し、その分割された点をq1,q2,...,qNqとし、それぞれの分割点でのGA(q)のマップをオフライン処理で求める。オンライン処理では、オフライン処理で求めたマップを用いて内挿等により効率的にGA(qk)を用いることができる。これにより、qkに応じて写像を定義することができる。なお、ここではi.i.d.の場合の写像について述べたが、HMMの場合の写像についても同様の方法でqkに応じて写像を定義することができる。
【0255】
制御決定部27は、前後方向系列および横方向最適系列から、移動体制御量を出力する。具体的には、実施の形態1と同様に、目標経路や目標軌道、移動体のアクチュエータへの指令値を出力する。
【0256】
実施の形態3に係る構成により、移動体の横方向のみではなく、前後方向も同時に制御可能な移動体制御装置を提供することができる。
【0257】
<構成例2>
図12は、実施の形態3に係る制御演算部28の構成例2を示す。この構成では、前後方向の制御に確率モデル予測制御を適用することによって、さらに性能向上が可能な移動体制御装置を提供する。構成例2によって、加速度の変化を抑えるなど、乗り心地を向上させることができる。構成例1との違いは、前後方向制御部29が確率系最適化演算部30と前後方向制御決定部31で構成されている点である。本構成では、前後方向制御部29においても確率モデル予測制御を用いることが特徴となる。
【0258】
確率系最適化演算部30は、参照経路、障害物情報、状態量を用いて、前後方向最適系列を出力する。
【0259】
移動体8の前後方向の状態方程式は、目標加速度uaから車速vxまでの連続時間状態方程式を、時定数Taの一次遅れ系としてモデル化すると、前後方向加速度αxおよび重力加速度g、参照経路の勾配θaを用いて、下記の式(74)のように表される。
【0260】
【0261】
ここで、xa、Aa、およびBauのそれぞれは、下記の式(75)で表される。
【0262】
【0263】
なお、θaは地図データベースなどに含まれるものとする。
【0264】
実施の形態1で説明した横方向の連続時間状態方程式の場合と同様に、サンプリング間隔をhkとした場合の式(67)を用いた離散化の後、式(68)のような出力を考慮し、式(2)の評価関数を構築すれば良い。
【0265】
このとき、評価関数のQについてαxを抑えるように調整を行えば、乗り心地を向上させることができる。また、障害物が前方にある場合には、制約条件を適切に設定することによって、障害物の手前で停止させることや、障害物が移動している場合はその速度に追従させるなどの挙動を実現することができる。
【0266】
確率系最適化演算部30のその他の処理については、実施の形態1に説明した内容と同様であり、ホライズンN間の移動体8の前後方向最適系列UaNが出力される。
【0267】
前後方向制御決定部31は、前後方向最適系列から、前後方向系列を出力する機能を有する。具体的には、前後方向最適系列UaN、式(74)、および式(51)を用いて、ホライズンN間の速度の系列を出力する。
【0268】
また、本開示では、式(75)のような状態方程式を使用したが、移動体8に合わせて変更する必要がある。
【0269】
実施の形態3の構成により、前後方向の乗り心地を考慮可能な移動体制御装置を提供することができる。
【0270】
<ハードウェア構成>
実施の形態1で説明した移動体制御装置1における状態量推定部2、参照経路生成部3、および制御演算部4の各機能は、処理回路により実現される。すなわち、移動体制御装置1は、状態量を推定し、参照経路を生成し、移動体制御量を演算するための処理回路を備える。処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサ(CPU、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)であってもよい。
【0271】
処理回路が専用のハードウェアである場合、
図13に示すように、処理回路100は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。状態量推定部2、参照経路生成部3、および制御演算部4の各機能をそれぞれ処理回路100で実現してもよく、各機能をまとめて1つの処理回路100で実現してもよい。
【0272】
処理回路100が
図14に示すプロセッサ200である場合、状態量推定部2、参照経路生成部3、および制御演算部4の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアは、プログラムとして記述され、メモリ201に格納される。プロセッサ200は、メモリ201に記録されたプログラムを読み出して実行することにより、各機能を実現する。すなわち、移動体制御装置1は、状態量を推定するステップ、参照経路を生成するステップ、移動体制御量を演算するステップが結果的に実行されることになるプログラムを格納するためのメモリ201を備える。また、これらのプログラムは、状態量推定部2、参照経路生成部3、および制御演算部4の手順または方法をコンピュータに実行させるものであるともいえる。ここで、メモリとは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD(Digital Versatile Disc)等、または、今後使用されるあらゆる記憶媒体であってもよい。
【0273】
なお、状態量推定部2、参照経路生成部3、および制御演算部4の各機能について、一部の機能を専用のハードウェアで実現し、他の機能をソフトウェアまたはファームウェアで実現するようにしてもよい。
【0274】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【0275】
上記では、実施の形態1に係る移動体制御装置1について説明したが、実施の形態2に係る移動体制御装置15(
図7,8)、および実施の形態3に係る移動体制御装置(
図10,12)についても同様である。
【0276】
なお、本開示の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【0277】
本開示は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、限定的なものではない。例示されていない無数の変形例が想定され得るものと解される。
【符号の説明】
【0278】
1 移動体制御装置、2 状態量推定部、3 参照経路生成部、4 制御演算部、5 内界センサ、6 位置姿勢推定装置、7 地図データベース、8 移動体、9 指令値演算部、10 アクチュエータ、11 確率系最適化演算部、12 制御決定部、13 確率系評価関数変換部、14 確定系最適化演算部、15 移動体制御装置、16 障害物移動予測部、17 制御演算部、18 障害物センサ、19 確率系最適化演算部、20 制約演算部、21 確定系最適化演算部、22 制御演算部、23 前後方向制御部、24 速度計画部、25 横方向制御部、26 確率系最適化演算部、27 制御決定部、28 制御演算部、29 前後方向制御部、30 確率系最適化演算部、31 前後方向制御決定部、50 ステアリングホイール、51 ステアリング軸、52 電動モータ、53 ラックアンドピニオン機構、54 タイロッド、55 フロントナックル、56 車両駆動装置、57 シャフト、58 加減速制御装置、59 ブレーキ制御装置、60 ブレーキ、61 操舵制御装置、62 ピニオン軸、63 ラック軸、64 前輪、65 後輪、70 車速センサ、71 IMUセンサ、72 操舵角センサ、73 操舵トルクセンサ、80 カメラ、100 処理回路、200 プロセッサ、201 メモリ。
【要約】
本開示は、移動体の位置および姿勢が確率的な場合においても、参照経路への追従性を高くすることが可能な移動体制御装置を提供することを目的とする。本開示による移動体制御装置は、移動体を制御するための移動体制御量を演算する制御演算部を備え、制御演算部は、確率分布をもつ確率的なパラメータに依存する移動体の動特性をモデル化した状態方程式を制約条件とし、評価関数に基づく確率計画問題を逐次解くことによって最適系列を演算する確率系最適化演算部と、最適系列を移動体制御量に変換する制御決定部とを有し、確率系最適化演算部は、確率的なパラメータの確率過程モデルに基づいて、確率的な評価関数を確定的な評価関数に変換する確率系評価関数変換部と、確定的な最適化問題を解く確定系最適化演算部とを有する。