説明

非線形ダイナミクスを有する制御対象のためのモデル化装置、非線形ダイナミクスを有する制御対象のための制御装置、非線形ダイナミクスを有する車両のための制御装置及び非線形ダイナミクスを有する制御対象のためのモデル化プログラム。

【課題】非線形ダイナミクスを有する制御対象についてモデル化を容易にし、求められたモデルを用いて非線形ダイナミクスを有する制御対象の制御を可能とすることである。
【解決手段】車両制御システム30は、大別して2つの機能及び構成に分けて考えることができる。その1つは、モデル化コンピュータ40によって実現されるもので、車両10の制御特性を模擬した模擬車両20から、制御に関するパラメータを多数収集し、それを用いて、非線形状態変数xと線形入力変数uについて


の形式で車両10のモデル化を行う。その2は、車両制御コンピュータ70によって実現されるもので、モデル化コンピュータ40によって得られた車両10のモデルを用い、実際の車両10について、姿勢制御が行われる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非線形ダイナミクスを有する制御対象のモデル化装置及びその上で実行されるプログラムと、モデル化装置等によって求められるモデルを用いた非線形ダイナミクスを有する制御対象のための制御装置、非線形ダイナミクスを有する制御対象のモデル化プログラム、及び非線形ダイナミクスを有する車両のための制御装置に係り、特に、制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とする非線形ダイナミクスを有する制御対象について、そのモデル化装置及びその上で実行されるプログラムと、モデル化装置等によって求められるモデルを用いた非線形ダイナミクスを有する制御対象のための制御装置、非線形ダイナミクスを有する制御対象のモデル化プログラム、及び非線形ダイナミクスを有する車両のための制御装置に関する。
【背景技術】
【0002】
車両の操作と走行状態のように、非線形のダイナミクスを有するシステムが数多くあるが、これらのシステムを制御するコントローラ、すなわち制御装置を設計することは容易ではない。すなわち、従来の制御システムの構築を行う際のモデリング手法は、力学的な方程式表現を用いる解析的な手法であるが、この解析的手法を用いて非線形系に対するコントローラを設計しようとすると、次のような問題に直面する。第1に、非線形ダイナミクスをモデリングすることが困難で、常に精度のよい解析的モデルを得られる保証がないこと、第2に、仮に精度のよいモデリングが求められたとしても、そのモデルはコントローラの構築に適した形ではなく、コントローラの作成に容易な形への変換が困難である。
【0003】
これらの問題に対し、1960年代に、アレクセイ・イヴァクネンコによりGMDH(Group Method of Data Handling)が提案された。このアルゴリズムは、未知のダイナミクスを自己組織化手法により多項式モデルに近似するものである。非特許文献1には、このGMDHの1つの適用例として、人間の運転技能が多項式表現によってモデル化されることが述べられており、また、非特許文献2には、他の適用例としては、気象のモデル化が報告されている。
【0004】
【非特許文献1】Jong-Hae Kim, Yoshimichi Matsui, Shoichiro Hayakawa, Tatsuya Suzuki, Shigeru Okuma and Nuio Tsuchida, 「Acquisition and Modeling of Driving Skills by using Three Dimensional Driving Simulator」, IEICE Trans. Fundamentals, Vol.E88-A, No.3, Mar. 2005, p 770-778
【非特許文献2】William M. Lebow, Ramam K. Mehra and Paul M. Toldalagi, 「Forecasting Application of GMDH in Agriculture and Meteorological Time Series」,SELF-ORGANIZING METHODS IN MODELING, Dekker, vol. 54, p121-147
【発明の開示】
【発明が解決しようとする課題】
【0005】
このように、GMDHの手法は、非線形ダイナミクスを有するシステムにとって注目に値するものである。しかし、GMDHは、例えば状態方程式の入力変数のように線形的に展開する変数と、例えば状態方程式の状態変数のように非線形的に展開する変数の指定がなく、すべての観測可能な変数に対して同じ部分多項式をもって展開するので、GMDHによって得られる多項式モデルは非常に高次のものになりやすく、伝達関数や状態方程式に代表される現代制御理論による制御系設計の枠組の中での応用が困難である。したがって、これらは、特定の変数に対する解析、推定、認識、クラスタリング等、信号処理的な応用のみについて報告されており、制御系に直接応用された例はない。
【0006】
本発明は、非線形ダイナミクスを有する制御対象についてモデル化を容易にする非線形ダイナミクスを有する制御対象のモデル化装置及びその上で実行されるプログラムを提供することである。また、求められたモデルを用いて非線形ダイナミクスを有する制御対象の制御を可能とする非線形ダイナミクスを有する制御対象のための制御装置、非線形ダイナミクスを有する制御対象のモデル化プログラム、及び非線形ダイナミクスを有する車両の制御装置を提供することである。
【課題を解決するための手段】
【0007】
請求項1における本発明に係る非線形ダイナミクスを有する制御対象のモデル化装置は、非線形ダイナミクスを有する制御対象について、制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とするときに、制御対象の状態方程式を式(1)
【数1】

の形式にモデル化するモデル化装置であって、制御対象について、dx/dt、x、uを一組としたデータセットを複数収集し、その一部を複数のトレーニングセットとし、残りを複数のチェッキングセットとするデータセット収集手段と、式(2)に示されるuについてはたかだか1次形式とし、
【数2】

式(3)に示されるxについては高次形式を含み得るものとして、
【数3】

x、uについての複数の部分多項式を生成する部分多項式生成手段と、複数のトレーニングセットのデータに基き、複数の部分多項式のそれぞれの多項式係数を算出する多項式係数算出手段と、算出された多項式係数を有する複数の部分多項式のそれぞれについてdx/dtの代表性を評価する手段であって、チェッキングセットの1のデータセットのx、uを部分多項式に適用して求められる値とそれに対応するdx/dtとの値との間の誤差を求め、これを複数のチェッキングセット全体について統計的に行うことで代表性を評価する評価手段と、各部分多項式のそれぞれについて算出された代表性評価を比較し、制御対象の状態方程式として最も代表性の高い部分多項式を決定し、これを式(4)
【数4】

の形式で表現するモデル化手段と、を含むことを特徴とする。
【0008】
また、本発明に係る非線形ダイナミクスを有する制御対象のための制御装置は、制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とする非線形ダイナミクスを有する制御対象を、任意に設定される目標制御状態に制御する制御装置であって、請求項1に記載の非線形ダイナミクスを有する制御対象のモデル化装置によって求められ、式(5)で示される
【数5】

のモデルのf(x)とg(x)の関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、uの制御適用範囲を表す集合であるPx、Puと、を記憶する記憶部と、記憶部から読み出されたf(x)とg(x)の関数形を用いて式(6)に示される
【数6】

の関係式に基いて制御対象のモデルを生成するモデル生成手段と、制御対象から任意の時間kにおけるx(k)を取得する観察手段と、記憶部からPuを読み出してその要素である各uのそれぞれについて、式(7)に示される
【数7】

の関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)を算出し、算出されたx(k+1)が記憶部から読み出されたPxの要素であるか否かを判断する判断手段と、を含み、x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象に対する入力変数u(k)として用いることを特徴とする。
【0009】
また、本発明に係る非線形ダイナミクスを有する制御対象のための制御装置において、さらに、算出されたx(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)に対応するuをu(k)として制御対象に出力する評価手段を含むことが好ましい。
【0010】
また、評価手段は、算出されたx(k+1)を目標制御状態に対し、二次計画法に基いて評価することが好ましい。
【0011】
また、本発明に係る非線形ダイナミクスを有する車両のための制御装置は、車両の長手方向に沿った速度成分である縦方向速度xを検出する手段と、車両の幅方向に沿った速度成分である横方向速度xを検出する手段と、車両の長手方向を基準として車両の進行方向の角度uを変更するステアリング手段と、を有する車両に対し、任意に設定された目標制御状態になるように車両の進行方向姿勢を制御する車両の制御装置であって、x、xを車両の観察可能な非線形状態変数とし、角度uを車両に対する線形の入力変数とし、dx/dt、dx/dtを算出対象として、請求項1に記載の非線形ダイナミクスを有する制御対象のモデル化装置によって求められ、式(8)で示される
【数8】

のモデルを、dx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uとして、f(x,x)、g(x,x)、f(x,x)、g(x,x)の各関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、x、uの制御適用範囲を表す集合であるPx、Px、Puと、を記憶する記憶部と、記憶部から読み出されたf(x,x)、g(x,x)、f(x,x)、g(x,x)の各関数形を用いてdx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uの関係式に基いて車両のモデルを生成するモデル生成手段と、車両から任意の時間kにおけるx(k)、x(k)を取得する観察手段と、記憶部からPuを読み出してその要素である各uのそれぞれについて、dx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uの関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)、x(k+1)を算出し、算出されたx(k+1)、x(k+1)が記憶部から読み出されたPx、Pxの要素であるか否かを判断する判断手段と、x(k+1)がPxの要素であり、x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象である車両に対する入力変数u(k)として用いることを特徴とする。
【0012】
また、本発明に係る非線形ダイナミクスを有する車両のための制御装置において、さらに、算出されたx(k+1)、x(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)、x(k+1)に対応するuをu(k)として制御対象である車両に出力する評価手段を含むことが好ましい。
【0013】
また、本発明に係る非線形ダイナミクスを有する車両のための制御装置において、目標制御状態は、駐車操作における目標縦方向速度x1dと目標横方向速度x2dであることが好ましい。
【0014】
また、モデル生成手段は、車両のモデルを、連続的値を有する状態変数及び入力変数と、離散的値を有する状態変数及び遷移変数とで表現されるハイブリッドモデルとして生成することが好ましい。
【0015】
また、本発明に係る非線形ダイナミクスを有する制御対象のモデル化プログラムは、非線形ダイナミクスを有する制御対象について、制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とするときに、制御対象の状態方程式を式(9)で示される
【数9】

の形式にモデル化するモデル化装置上で実行されるモデル化プログラムであって、制御対象について、dx/dt、x、uを一組としたデータセットを複数収集し、その一部を複数のトレーニングセットとし、残りを複数のチェッキングセットとするデータセット収集処理手順と、uについてはたかだか1次形式とし、xについては高次形式を含み得るものとして、x、uについての複数の部分多項式を生成する部分多項式生成処理手順と、複数のトレーニングセットのデータに基き、複数の部分多項式のそれぞれの多項式係数を算出する多項式係数算出処理手順と、算出された多項式係数を有する複数の部分多項式のそれぞれについてdx/dtの代表性を評価する手段であって、チェッキングセットの1のデータセットのx、uを部分多項式に適用して求められる値とそれに対応するdx/dtとの値との間の誤差を求め、これを複数のチェッキングセット全体について統計的に行うことで代表性を評価する評価処理手順と、各部分多項式のそれぞれについて算出された代表性評価を比較し、制御対象の状態方程式として最も代表性の高い部分多項式を決定し、これを式(10)で示される
【数10】

の形式で表現するモデル化処理手順と、を実行することを特徴とする。
【0016】
また、本発明に係る非線形ダイナミクスを有する制御対象のための制御プログラムは、制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とする非線形ダイナミクスを有する制御対象を、任意に設定される目標制御状態に制御する制御装置上で実行される制御プログラムであって、請求項1に記載の非線形ダイナミクスを有する制御対象のモデル化装置によって求められ、式(11)で示される
【数11】

のモデルのf(x)とg(x)の関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、uの制御適用範囲を表す集合であるPx、Puと、を記憶する記憶部から、f(x)とg(x)の関数形とPx、Puとを読み出す読出処理手順と、記憶部から読み出されたf(x)とg(x)の関数形を用いて式(12)で示される
【数12】

の関係式に基いて制御対象のモデルを生成するモデル生成処理手順と、制御対象から任意の時間kにおけるx(k)を取得する観察処理手順と、記憶部からPuを読み出してその要素である各uのそれぞれについて、式(13)で示される
【数13】

の関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)を算出し、算出されたx(k+1)が記憶部から読み出されたPxの要素であるか否かを判断する判断処理手順と、を実行し、x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象に対する入力変数u(k)として用いることを特徴とする。
【0017】
また、本発明に係る非線形ダイナミクスを有する制御対象のための制御プログラムにおいて、さらに、算出されたx(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)に対応するuをu(k)として制御対象に出力する評価処理手順を含むことが好ましい。
【発明の効果】
【0018】
上記構成の少なくとも1つにより、制御対象の状態方程式を式(14)で示される
【数14】

の形式にモデル化する。この形式は、従来の制御理論の枠組みの中で容易に解析でき、又制御装置として容易に実現できるものである。
【0019】
この式(15)で示される
【数15】

の形式にモデル化するために、x、uについての複数の部分多項式を生成する。これらの部分多項式はいずれも、uについてはたかだか1次形式とし、xについては高次形式を含み得るものとする。ここで、uについてはたかだか1次形式とするとは、uの多項式展開が線形的であることを意味する。これに対しxについては高次形式を含み得るものとするとは、xの多項式展開が非線形的であってもよいことを意味する。そして、制御対象からdx/dt、x、uを一組としたデータセットを複数収集する。これらのデータセットは、2つの目的に用いられる。1つ目の目的は、トレーニングセットとして各部分多項式の多項式係数を定めるために用いられ、2つ目の目的は、チェッキングセットとして多項式係数が定められた各部分多項式のそれぞれについてdx/dtの代表性を評価するために用いられる。そして、最もdx/dtの代表性の高い部分多項式が決定される。この決定された部分多項式は、上記のようにuについて線形的に展開され、xについて非線形的に展開されているので、これは式(16)で示される
【数16】

の形式に整理でき、かくてこの形式でのモデル化が実現される。
【0020】
また、上記構成の少なくとも1つにより、上記のようにしてモデル化された式(17)で示される
【数17】

のモデルのf(x)とg(x)の関数形を用いて、制御対象のシステムのモデルが生成される。そして、そのモデルの下で、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、uの制御適用範囲を表す集合であるPx、Puを用いて、制御対象の制御が行われる。ここでPx、Puを用いることとしたのは、Pxの要素でないx、Puの要素でないuを以後の解析に用いると、解析結果と実際の結果との乖離が生じうるので、以後の解析にはPxの要素であるx、Puの要素であるuを用いることとするためである。
【0021】
制御対象の制御を行う制御装置において、まず、制御対象から任意の時間kにおけるx(k)が取得される。そして、Puの要素であるuを変数として、式(18)で示される
【数18】

の関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)を算出する。ここで算出されたx(k+1)がPxの要素であれば、そのuは、制御対象に対する入力変数u(k)として用いることができることになる。そこでそのu(k)を制御対象に入力し、制御対象が応答した結果を実際のx(k+1)として取得する。これを繰り返せば、制御対象に次々と入力変数uを与えることができる。入力変数uに対する制御対象の応答は、トレーニングセット及びチェッキングセットによってモデル化されているものであるから、Pxの要素であるx、Puの要素であるuを用いることで、制御対象の応答がモデル化された結果に近くなることが期待できる。このようにして、制御対象の制御が自動的に行われる。
【0022】
ここで、Puの要素であるuが複数あることがあり、したがって、x(k+1)もまた複数ありえる。そこで、算出されたx(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)に対応するuをu(k)として制御対象に出力することとする。これにより、かかるu(k)が入力された制御対象は目標制御状態に対し近い結果を応答することが期待される。
【0023】
また、評価手段は、算出されたx(k+1)を目標制御状態に対し、二次計画法に基いて評価することとするので、よく知られた方法で評価することができる。
【0024】
また、上記構成の少なくとも1つにより、上記のようにしてモデル化された式(19)で示される
【数19】

のモデルを車両に適用し、車両の進行方向姿勢を制御することができる。すなわち、観察可能な状態変数として車両の縦方向速度xと車両の横方向速度xを取り、入力変数として車両の進行方向の角度uを取る。そして、式(20)で示される
【数20】

のモデルを、dx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uとする。したがって、f(x,x)、g(x,x)、f(x,x)、g(x,x)の各関数形を用いて車両のモデルを生成し、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、x、uの制御適用範囲を表す集合であるPx、Px、Puを用いて車両の進行方向姿勢を自動的に制御することができる。
【0025】
また、目標制御状態を、駐車操作における目標縦方向速度x1dと目標横方向速度x2dとするので、車両の駐車、並列駐車における車両の進行方向姿勢制御を自動的に行うことができる。
【0026】
また、モデル生成にあたっては、車両のモデルを、連続的値を有する状態変数及び入力変数と、離散的値を有する状態変数及び遷移変数とで表現されるハイブリッドモデルとして生成する。例えば駐車制御における車両については、前進、停止、後退の3つの状態と、状態間の遷移とでモデル化ができるが、3つの状態の区別、各状態間の遷移は、連続的変数よりも離散的変数で表現する方が現実に近い。したがって、連続的値を有する変数と、離散的値を有する変数との表現を用いることで、現実の状態に適したシステムのモデル化を行うことができる。
【0027】
上記のように、本発明に係る非線形ダイナミクスを有する制御対象のモデル化装置及びその上で実行されるプログラムによれば、非線形ダイナミクスを有する制御対象についてモデル化が容易となる。また、本発明に係る非線形ダイナミクスを有する制御対象のための制御装置、非線形ダイナミクスを有する制御対象のモデル化プログラムによれば、求められたモデルを用いて非線形ダイナミクスを有する制御対象の制御が可能となる。また、本発明に係る非線形ダイナミクスを有する車両のための制御装置によれば、求められたモデルを用いて非線形ダイナミクスを有する車両の制御が可能となる。
【発明を実施するための最良の形態】
【0028】
以下に図面を用いて本発明に係る実施の形態につき詳細に説明する。以下において、制御対象は車両とし、より具体的には、並列駐車において前進、後退、停止を繰り返して車両の進行方向の姿勢を自動的に制御することを説明するが、駐車制御以外の車両制御であってもよく、また、車両以外の制御対象であってもよい。例えば、宇宙ロボットや医療用ロボットの高性能制御に用いられる制御装置及び制御プログラムのように、高精度の制御系の設計が必要なものについて適用されてもよい。
【0029】
図1は、車両10の進行方向における姿勢を制御する車両制御システム30の全体構成を示す図である。具体的には、車両10を駐車場において他の車両駐車スペースに対し並列駐車させるために、所定の低速度で、前進、停止、後退を繰り返させる無人操作自動制御を行う機能を車両制御システム30は有する。ここで無人操作自動制御とは、運転者のステアリング操作なしで、車両10を姿勢制御することを意味している。そして、低速下における駐車操作状態は、非線形のダイナミクスであるので、車両制御システム30は、非線形ダイナミクスを制御対象とする制御システムである。
【0030】
なお図1では、車両制御システム30自体の構成要素ではないが、制御対象である車両10と、車両制御システム30を構築するために予め車両10の制御に関するパラメータを収集するための模擬車両20が図示されている。
【0031】
制御対象である車両10は、前輪12及び後輪14を備え、車両10の進行方向の姿勢の変更を行うためのステアリング機構16と、車両10の長手方向に沿った速度成分である縦方向速度xと、車両10の幅方向に沿った速度成分である横方向速度xとを検出する状態検出センサ18とを有している。状態検出センサ18はその他に車両10の前進、停止、後退等を区別して検出する機能を有するものとすることができる。ステアリング機構16は、ステアリング指令を受けて、車両10の進行方向の姿勢を変更するものであるが、具体的には、車両の長手方向を基準として前輪12の角度uを変更する機能を有する。
【0032】
模擬車両20は、もちろん制御対象である車両10そのものを用いることができる。また、すでにシミュレーション実績が確立されている車両シミュレータを用いることができる。そのような車両シミュレータとして、米国ミシガン交通研究院大学(University of Michigan Transportation Research Institute)によって開発された車両運転シミュレータであるCarSimを用いることができる。
【0033】
車両制御システム30は、大別して2つの機能及び構成に分けて考えることができる。その1つは、車両10の制御特性を模擬した模擬車両20から、制御に関するパラメータを多数収集し、それを用いて車両10の無人操作並列駐車の姿勢制御に関するモデル化を行う機能及び構成である。このモデル化機能は、モデル化コンピュータ40によって実現される。その2は、モデル化コンピュータ40によって得られた車両10のモデルを用い、実際の車両10について、無人操作並列駐車の姿勢制御を行う機能及び構成である。この車両制御機能は、車両制御コンピュータ70によって実現される。以下では、最初にモデル化コンピュータ40により実行されるモデル化機能について説明し、次に車両制御コンピュータ70により実行される車両制御機能について説明する。なお、モデル化コンピュータ40と車両制御コンピュータ70とは別個独立のコンピュータとして説明するが、もちろん、モデル化機能と車両制御機能とを併せもつ1つのコンピュータで構成してもよい。
【0034】
1.モデル化機能
図1にはモデル化機能を実行するためのモデル化コンピュータ40の構成が示されている。モデル化コンピュータ40は、CPU42と、模擬車両20から収集されるデータセットを取得する等の機能を有する入力部44と、モデル化の結果を車両制御コンピュータ70に出力する等の機能を有する出力部46と、プログラムやデータ等を記憶する記憶部48を含んで構成され、これらの要素は内部バスによって相互に接続される。なお、取得されたデータセットはファイル50として記憶部48に記憶される。また、入力部44は、他の入力データを入力するためのキーボード等を含むことができ、出力部46はディスプレイやプリンタを含むものとすることができる。
【0035】
CPU42は、模擬車両20からモデル化に必要なデータセットを収集し取得するデータセット収集モジュール52と、縦方向速度x、横方向速度x、車両姿勢角度uについて複数の部分多項式を設定し、収集されたデータセットに基いて各部分多項式についてその多項式係数を算出する多項式係数算出モジュール54と、算出された多項式係数を有する複数の部分多項式について、算出すべきdx/dt、dx/dtに対する代表性を評価する部分多項式評価モジュール56と、評価に基き、式(21)で示される
【数21】

の形式でモデル化を行うモデル化モジュール58と、モデル化された内容を出力する出力モジュール60とを含んで構成される。これらの機能はソフトウェアで実現でき、具体的には、対応するモデル化プログラムを実行することで実現できる。これらの機能の一部をハードウェアで実現することもできる。
【0036】
かかる構成の作用、特にCPU42の各機能について図2のフローチャート及び図3のデータファイルを用いて詳細に説明する。図2は、非線形ダイナミクスを有する車両のモデル化の手順を示すフローチャートで、各手順は、モデル化プログラムの各処理手順に相当する。
【0037】
モデル化コンピュータ40においてモデル化プログラムを立ち上げると、最初に、模擬車両20から、できるだけ多くのデータセットを収集し、これらを取得する(S10)。具体的には、CPU42のデータセット収集モジュール52の機能により、模擬車両20であるシミュレータCarSimに指令が与えられ、様々な条件の組み合わせのデータセットの収集を実行させ、その結果をモデル化コンピュータ40に伝送させて、これを取得する。取得された各データセットは、一旦記憶部48に記憶される。
【0038】
シミュレータCarSimには、車両10を模擬するための車両データが予め与えられる。一例を上げると、車両10の長手方向寸法として3800mm、車両10の質量として1527kg、車両10の重心から前輪12及び後輪14までの距離としてそれぞれ1014mm及び1676mm、前輪12及び後輪14の半径としてそれぞれ277.566mm及び286.387mm、車両10のロール慣性、ピッチ慣性、ヨー慣性としてそれぞれ606.1kg・m、2741.9kg・m、2741.9kg・m等がCarSimに与えられる。CarSimはこれらの車両条件が与えられると、車両10についてシミュレーションを実行し、車両10の縦方向速度x、横方向速度x、車両10の進行方向の角度u、dx/dt、dx/dtを1組のデータセットとして、上記車両条件を満たす多くのデータセットを算出することができる。
【0039】
例えば、車両10を所定の低速度下で走行状態とし、その条件の下で任意のステアリング操作を表す角度uをサンプリングサイクルに合わせて変化させ、その応答としてx、x、dx/dt、dx/dtをサンプリングサイクルに合わせて出力させ、同じサンプリングサイクルの角度uと対応付けてデータセットとすることができる。角度uの変化は、ステアリングの急旋回の限度範囲等を想定して設定することができる。
【0040】
ここで、図1の車両10で説明したように、車両10のモデル化においては、x、xが観察可能な状態変数に対応し、uが車両10に入力される入力変数に対応し、dx/dt、dx/dtがモデル化において算出すべき状態変数に対応する。
【0041】
図3のデータファイル100は、収集されたデータセットを用いて車両10のモデル化を行うときの各データの様子を模擬的に示す図である。ここでは、収集されたデータセットの用途を示すセット102の欄と、収集された各データセットを識別するための番号104の欄と、収集されたデータセットの内容が書き込まれるデータ収集106の欄等が設けられている。
【0042】
なお、上記のように、モデル化において算出すべき状態変数は、dx/dt、dx/dtの2つがあり、図3に示される例は、このうちのdx/dtに関するデータファイルである。したがって、モデル化のためのデータファイルとしては、図3と同様の内容のdx/dtに関するデータファイルがもう1つあることになる。また、車両10の動作モデルが複数あるときは、各モデルについてそれぞれデータ収集を行うので、その場合には、動作モデルごとに図3のようなデータファイルがあることになる。例えば、無人並列駐車のモデルを、前進モデル、停止モデル、後退モデルのように分けて構築する場合には、それぞれのモデルについてデータセットの収集を行い、したがってそれぞれに図3のようなデータファイルがあることになる。
【0043】
図3の例では、データ収集106の欄に、収集されたデータセットとして合計50,000セットが書き込まれている。収集されるデータセットの数は、できるだけ多い方が後の車両制御のときの適用範囲が広くなる。しかしデータ収集の時間がその分長くなるので、適当な数を予め定めておくことができる。所定の数のデータセットの収集がなされると、これをトレーニングセットとチェッキングセットに2分する(S12)。トレーニングセットは、部分多項式の多項式係数を算出するために用いるものであり、チェッキングセットは算出された多項式係数を有する部分多項式の評価を行うものであるので、後者に比して前者のデータセットの数が多い方が好ましい。例えば、トレーニングセット:チェッキングセット=7:3程度に二分することができる。図3の例では、トレーニングセットを35,000セット、チェッキングセットを15,000セットとして二分し、それぞれの区分がセット欄102に示されている。
【0044】
次に、状態変数x、x、入力変数u について部分多項式zを設定する(S14)。この部分多項式zは、算出すべき状態変数dx/dtを、観察可能な状態変数xと、入力変数uとの多項式zで表現しようとするものである。なお、一般的には、xと表記すればこれは位置であり、dx/dtと表記すればこれは速度を示すことが多いが、ここでは、状態変数をxとし、その時間微分をdx/dtとしているので、状態変数xを速度にとれば、dx/dtは、加速度を示していることになるので、注意が必要である。
【0045】
ここで、制御対象は、観察可能な状態変数は非線形であり、入力変数は線形である非線形ダイナミクスを有するものとする。この場合、多項式展開は、非線形状態変数については非線形展開となり、線形入力変数については線形展開にすることがよい。具体的には、部分多項式zは、2つの変数の多項式展開の形式とし、各変数が非線形の属性を有するか、線形の属性を有するかで、次のような4通りの形式の部分多項式を用いる。
【0046】
以下の式では、ζ、ζを変数とし、ζとξを非線形の属性を有する変数により構成される集合、ζとξを線形の属性を有する変数により構成される集合とし、akiを多項式係数とする。kは、状態変数を区別する添字符号で、上記の例では、状態変数xに対応するものがk=1、状態変数xに対応するものがk=2と考えてよい。iは、複数ある多項式係数をそれぞれ区別する添字符号である。
【数22】

【数23】

【数24】

【数25】

【0047】
式(22)は、2つの変数とも非線形の属性を有する場合の部分多項式の形式を示す。式(22)の次の記述は、この場合の部分多項式の結果物であるzが、非線形の属性を有する集合に加えられることを示す。つまり、2つの非線形変数の部分多項式の結果物は、非線形である。
【0048】
式(23)、式(24)は、一方の変数が非線形の属性を有し、他方の変数が線形の属性を有する場合の部分多項式の形式を示す。この場合に、線形の属性を有する変数は、たかだか1次形式で展開されるのに対し、非線形の属性を有する変数は2次形式まで展開される。このときの部分多項式の結果物は、線形の属性を有する集合に加えられる。
【0049】
式(25)は、2つの変数とも線形の属性を有する場合の部分多項式の形式を示す。この場合も、線形の属性を有する変数は、たかだか1次形式で展開される。このときの部分多項式の結果物は、線形の属性を有する集合に加えられる。
【0050】
再び図3に戻って説明すると、第1世代部分多項式108の欄に、式(22)から式(25)の結果が書き込まれる。ここで、第1世代部分多項式では、変数として、データ収集106の欄の3つの変数x、x、uを用い、その3つの変数のうち2つを用いて部分多項式を構成する。図3において、線形・非線形120の欄は、部分多項式zの属性を示し、部分多項式122の欄は、複数の部分多項式を符号で示し、構成要素124の欄は、部分多項式の展開要素である2つの変数を示す。
【0051】
例えば、部分多項式zは、変数x、xで展開され、ここで変数x、xはいずれも非線形の属性を有するので、式(1)の展開形式となり、その結果物の属性は非線形である。線形・非線形120の欄でNとは非線形の属性を有することを示す。また、部分多項式zは、変数x、uで展開され、ここで変数xは非線形、uは線形の属性を有するので、式(23)又は式(24)の展開形式となり、その結果物の属性は線形である。線形・非線形120の欄でLとは線形の属性を有することを示す。同様に、部分多項式zは、変数x、uで展開され、ここで変数xは非線形、uは線形の属性を有するので、式(23)又は式(24)の展開形式となり、その結果物の属性は線形である。
【0052】
ここで、後述する第2世代、第3世代等の部分多項式について先に説明する。第2世代以降の部分多項式は、チェッキングセットでの評価において、第1世代部分多項式の形式では算出すべき状態変数dx/dtを代表するのにまだ十分でないとされるときに用いられる、さらに高次の部分多項式である。例えば第2世代部分多項式は、データ収集された変数と、第1世代部分多項式の結果物との中の2つの変数を展開要素として構成される。すなわち、図3の例では、x、x、uに加え、z、z、zも部分多項式の展開要素となる。したがって、図3の第2世代部分多項式110の欄に示されるように、第2世代部分多項式はzからzまでの6種類あることになる。
【0053】
例えば、部分多項式zは、変数x、zで展開され、ここで変数x、zはいずれも非線形の属性を有するので、式(22)の展開形式となり、その結果物の属性は非線形である。また、部分多項式zは、変数x、zで展開され、ここで変数xは非線形、zは上記のように線形の属性を有するので、式(23)又は式(24)の展開形式となり、その結果物の属性は線形である。この場合でも、zについての式(23)又は式(24)を注意深く観察してわかるように、線形の属性を有する変数uは、たかだか1次形式でしか展開されていない。他の部分多項式z以下の内容も同様に説明できる。図3の線形・非線形120の欄、部分多項式122の欄、構成要素124の欄には、これらの内容が書き込まれている。
【0054】
第3世代多項式は、データ収集されたx、x、u、第1世代部分多項式の結果物z、z、zに加え、第2部分多項式の結果物z、z、z、z、z、zも部分多項式の展開要素となる。なお、z11のように、部分多項式の結果物が線形の属性を有するものは、その部分多項式に対応する式(23)又は式(24)、あるいは式(25)を注意深く観察してわかるように、線形の属性を有する変数uは、たかだか1次形式でしか展開されていない。
【0055】
再び図2に戻り、部分多項式の設定が終わると、トレーニングセットのデータを用いて、各部分多項式の多項式係数akiの算出が行われる(S16)。具体的には、CPU42の多項式係数算出モジュール54の機能により、各部分多項式の基本展開要素であるx、x、uにトレーニングセットのデータセットの値を代入する。図3の例では35,000セットのデータセットの値を1つの部分多項式に対し適用し、未知の多項式係数を統計的に算出する。統計的算出には、算出すべき状態変数と、部分多項式の結果物との差の二乗の累積が最小になるような最小二乗法を用いることができる。すなわち、式(1)から式(4)と同様の表記を用いて、算出すべき状態変数をdζ/dtとして、トレーニングセットの全データセットについて式(26)を最小にするような多項式係数を算出する。
【数26】

式(26)において累積範囲の1からjは、トレーニングセットの複数のデータセットの全部を示すものであり、図3の例ではj=35,000である。
【0056】
図3において、処理130はそのことを示している。このようにして、トレーニングセットのデータセットに基き、複数の部分多項式のすべてについて、その多項式係数を算出することができ、ここにおいて、すべての部分多項式の内容を統計的に確定できる。
【0057】
次に、チェッキングセットによる各部分多項式の評価が行われる(S18)。評価には、次の式(27)で算出される評価指標rが用いられる。
【数27】

式(27)において累積範囲のj+1からnは、チェッキングセットの複数のデータセットの全部を示すものであり、図3の例ではj+1=35,001であり、n=50,000である。式(27)の評価指標rは、標準偏差に類似の無次元数であり、値が小さいほど算出すべき状態変数dζ/dtからの誤差が少ない。
【0058】
図3において処理140はそのことを示している。そして、評価142の欄には、算出されたrを用いて、算出すべき状態変数dζ/dtを最も代表する部分多項式を絞る手順が示されている。すなわち、各部分多項式z、z、z、z等について算出された評価指数rが欄144に書き込まれ、つぎに、適当な閾値Rを用いて、異常な値のrを除外した結果が欄146に示される。欄146において×マークは、閾値R以上のrであり、これらは以後の評価において考慮されないことを示す。そして、第1世代多項式の中で最も評価指標rの値がよいもの、第2世代多項式の中で最も評価指標rの値がよいものを選び、これを欄148に書き込む。図3の例では、第1世代多項式の中で最も評価指標rの値がよいものがrで、第2世代多項式の中で、最も評価指標rの値がよいものがrであることが示されている。
【0059】
そして、評価が十分か否かを判断する(S20)。具体的には、第1世代多項式の中で最も評価がよい部分多項式の評価指標の値と、第2世代多項式の中で最も評価がよい部分多項式の評価指標の値とを比較する。図3の例ではrの値とrの値を比較する。ここでr>rであると、評価が十分であるとは判断されず、さらに高次の部分多項式を設定する(S22)。上記の例では、さらに第3世代部分多項式について評価指標rを求める。すなわち、その世代多項式の評価より次世代多項式の評価の方が良い場合は、さらに高次の世代の部分多項式を評価する。これを繰り返し、次世代多項式の評価が改善されなくなるまで上記の処理を行う。最も、適当な繰り返し数で評価を打ち切ることもできる。このようにして、最も評価指標が良い部分多項式を、算出すべき状態変数の代表性の高いものとして決定することができる。
【0060】
評価が十分であるとして最も代表性の高い部分多項式が決定されると、これを整理して、式(28)の形式に整え、制御対象を式(28)でモデル化する(S24)。具体的には、CPU42のモデル化モジュール58の機能により、式(28)の形式に整理されてモデル化が行われる。ここで、観察可能な状態変数はx、xの2つであるが、式(28)では、代表的に状態変数を単にxで示してある。
【数28】

【0061】
上記のように、各部分多項式の展開において、線形の属性を有する入力変数uはたかだか1次形式でしか展開されないので、どの部分多項式の形式が最も代表性の高い部分多項式として決定されても、式(28)の形式に整理することができる。例えば図3の例で、評価指標rが最も良いとすると、最も代表性の高い部分多項式はzであり、その部分多項式の形式は式(29)のようになる。
【数29】

【0062】
このようにしてモデル化が行われると、その成果として、式(7)における関数形f(x)、g(x)と、データ収集されたデータセットの集合を示すPx、Puとが出力される(S26)。具体的には、CPU42の出力モジュール60の機能により、f(x)、g(x)と、Px、Puとが、出力部46から出力され、適当なデータ伝送媒体を介して車両制御コンピュータ70に入力される。車両制御コンピュータ70は、入力されたf(x)、g(x)と、Px、Puとを取得し、その記憶部78に記憶する。
【0063】
ここでPx、Puを説明する。車両10のモデル化として必要なものは、関数形f(x)、g(x)であるが、この関数形f(x)、g(x)は、収集された複数のデータセットに基いて統計的処理によって得られたものである。したがって、収集されたデータセットがカバーする範囲を超える状態変数、入力変数の場合には、この関数形f(x)、g(x)を用いたモデル化が十分でないことが生じえる。特に非線形ダイナミクスを取り扱う場合には、そのような注意が必要である。そこで、関数形f(x)、g(x)を用いたモデル化は、収集されたデータセットの範囲の状態変数x、入力変数uの中で十分有効であることを示すため、状態変数x、入力変数uの適用可能範囲として、Px、Puを示すことが望ましい。
【0064】
したがって、Px、Puとは、制御モデルに適用可能な、いわゆるパーミッシブルな変数の集合を示すものである。具体的には、収集されたデータセットの中の状態変数xの最大値と最小値等でPxを表すことができ、収集されたデータセットの中の入力変数uの最大値と最小値等でPuを表すことができる。
【0065】
さらに数式化してPxを示すには式(30)を用いることができる。
【数30】

ここで、iは、上記の例でx、xを区別する符号であり、i=1,2である。kはサンプリングの順番を示す符号であり、現在がk、次のサンプリングサイクルのときがk+1、現在の1つ過去のサンプリングサイクルのときがk−1である。Tsはサンプリング間隔である。添字のMとmとは、それぞれ、収集されたデータセットの範囲における最大値と最小値とを意味している。
【0066】
同様に、数式化してPuを示すには式(31)を用いることができる。
【数31】

ここで、k−2は、k−1よりも1つ過去のサンプリングタイムのときである。
【0067】
以上がモデル化機能についての説明であり、次に、モデル化機能により得られた関数形f(x)、g(x)と、パーミッシブルなの集合を示すPx、Puを用いた車両10の制御について説明する。
【0068】
2.車両制御機能
再び図1に戻ると、図1には、モデル化機能により得られたf(x)、g(x)と、Px、Puとを用いて車両10の姿勢制御を実行するための車両制御コンピュータ70の構成が示されている。車両制御コンピュータ70は、CPU72と、モデル化コンピュータ40から出力されるf(x)、g(x)と、Px、Puとを取得する等の機能を有する入力部74と、ディスプレイやプリンタ等の出力部76と、プログラムやデータ等を記憶する記憶部78と、車両10の状態検出センサ18との間のインタフェース回路であるセンサI/F82と、ステアリング機構16との間のインタフェース回路であるステアリングI/F84とを含んで構成され、これらの要素は内部バスによって相互に接続される。なお、取得されたf(x)、g(x)、Px、Puは、ファイル80として、記憶部78に記憶される。また、入力部44は、他の入力データを入力するためのキーボード等を含むことができる。
【0069】
CPU72は、記憶部78からf(x)、g(x)、Px、Puを読み出す読出モジュール86と、f(x)、g(x)に基いて車両10のモデルを生成するモデル生成モジュール88と、車両10から状態変数x(k)を取得する取得モジュール90と、生成された車両10のモデルに従ってx(k+1)を算出するx(k+1)算出モジュール92と、算出されたx(k+1)を目標制御状態に対し評価する評価モジュール94と、評価に基き入力変数u(k)を車両10に出力する入力変数u(k)出力モジュール96とを含んで構成される。これらの機能はソフトウェアで実現でき、具体的には、対応する車両制御プログラムを実行することで実現できる。これらの機能の一部をハードウェアで実現することもできる。
【0070】
かかる構成の作用、特にCPU72の各機能について図4のフローチャートを用いて詳細に説明する。図4は、非線形ダイナミクスを有する車両の制御の手順を示すフローチャートで、各手順は、車両制御プログラムの各処理手順に相当する。
【0071】
車両制御コンピュータ70の記憶部78には、予めモデル化コンピュータ40から入力されたf(x)、g(x)、Px、Puがファイル80に記憶されている(S30)。Px、Puは、上記のように、モデル化コンピュータ40によって収集された多数のデータセットの範囲を表すものであるが、記憶部78は、この収集された多数のデータセットの内容全部を記憶するのではなく、式(9)、式(10)で表される内容のみを記憶する。すなわち、上記の例で言えば、50,000セットのデータセットの内容の記憶の代わりに、状態変数x、入力変数uの最大値、最小値を表すデータのみを記憶する。このことにより、記憶部78の記憶負荷を軽くすることができる。
【0072】
そして、車両制御コンピュータ70において車両制御プログラムが立ち上げられると、このf(x)、g(x)、Px、Puが読み出される(S32)。この機能はCPU72の読出モジュール86によって実行される。ここで、車両10の無人操作並列駐車の姿勢制御を行う場合には、並列駐車の制御モデルに対応するf(x)、g(x)、Px、Puが読み出される。すなわち、駐車の制御は、車両10を前進、停止、後退させることを含むので、車両10の前進の場合に用いられるf(x)、g(x)、Px、Pu、停止の場合に用いられるf(x)、g(x)、Px、Pu、後退の場合に用いられるf(x)、g(x)、Px、Puがそれぞれ読み出される。換言すれば、モデル化コンピュータ40におけるモデル化は、車両10の駐車の際の前進、停止、後退についてデータを収集し、モデル化を行っている。なお、状態変数はx、xの2つがあるので、f(x)、g(x)、Pxもそれぞれ2つあることになるが、ここでは説明の便宜上、xで代表させている。
【0073】
次に、読み出されたf(x)、g(x)を用いて、車両10のモデルが生成され、いわゆるシステムのモデル化が行われる(S34)。この機能は、CPU72のモデル生成モジュール88によって実行される。並列駐車の制御モデルは、車両10の前進、停止、後退の3つの状態と、その間の遷移とを含むように生成される。
【0074】
図5は、並列駐車の制御のための車両10のモデルを示す図である。ここで、前進、停止、後退の各状態における制御モデルには、式(28)に従って、これをサンプリングサイクルで表現した式(32)の形式を用いている。
【数32】

そして、前進、停止、後退の各状態を示すものとして、2値の状態変数xを用い、各状態の間の遷移を示すものとして、2値の遷移変数δを用いている。つまり、式(7)で用いられる連続的値を有する状態変数x及び入力変数uとともに、離散的な値を有する状態変数xと遷移変数δとを合わせて用いて、車両10のモデルが生成されている。連続的値の変数と離散的値の変数とを合わせ用いていることから、このモデルをハイブリッドモデルと呼ぶことができる。
【0075】
2値の状態変数xは、目標制御状態を示すもので、x=[0 1]が前進を、x=[1 1]が停止を、x=[1 0]が後退をそれぞれ表している。これを数式化して示すには、式(33)を用いることができる。ここで、f(x(k))、g(x(k))に付けられた添字は、fが前進、sが停止、bが後退を示している。すなわち、f(x(k))、g(x(k))は、前進、停止、後退においてそれぞれ異なるものが用いられている。
【数33】

【0076】
遷移変数δは、前進から停止へ遷移するとき、停止から後退へ遷移するときには、δ=[0 1]を用い、逆に後退から停止へ遷移するとき、停止から前進へ遷移するときには、δ=[1 0]を用い、各状態で留まっているときには、δ=[0 0]を用いて、状態間の遷移を表している。これを数式化して示すには、式(34)を用いることができる。ここで、s(k)は、車両10の状態検出センサ18において検出される方向ベクトルであり、YSF、YFS、YSB、YBS、YSS、YFF、YBBは、それぞれ車両10が停止から前進への切り替え、前進から停止への切り替え、停止から後退への切り替え、後退から停止への切り替え、停止、前進、後退を続けるための必要な状態検出センサ18の状態を示す。
【数34】

【0077】
また、各状態の遷移を数式で示すには式(35)を用いることができる。
【数35】

【0078】
再び図4に戻り、車両10のシステムモデル化がなされると、次に車両10から状態変数x(k)が取得される(S36)。具体的には、CPU72の状態変数x(k)取得モジュール90の機能により、センサI/F82を介して車両10の状態検出センサ18に指令が出され、状態変数x(k)として、車両10の縦方向速度x(k)、横方向速度x(k)が各サンプルサイクルごとに検出され、再びセンサI/F82を介し伝送されて、CPU72がこれを取得する。
【0079】
次に、取得された状態変数x(k)のサンプルサイクルkの次のサンプルサイクル(k+1)における状態変数x(k+1)を算出する(S38)。具体的には、CPU72のx(k+1)算出モジュール92の機能により次のようにして実行される。すなわち、車両10のモデルを示す式(7)をサンプルサイクルにおける形式に書き換え、式(36)で示される形式を用い、Puの要素である入力変数uについてx(k+1)を算出する。
【数36】

そして、算出されたx(k+1)が、Pxの要素であるか否か判断される(S40)。x(k+1)がPxの要素であると判断されると、次の評価工程(S42)に進み、そうでなければ、入力変数uを変更してS38、S40の工程が繰り返される。このときも、入力変数uはPuの要素でなければならないことはもちろんである。
【0080】
このようにして、入力変数uがPuの要素であり、状態変数x(k+1)がPxの要素である条件を満たすx(k+1)が得られると、目標制御状態に対するx(k+1)の評価が行われる(S42)。評価は、CPU72の評価モジュール94の機能によって実行される。具体的には、x(k+1)、x(k+1)の総合評価が二次計画法基準によって行われる。すなわち、xの目標制御状態をx1d、xの目標制御状態をx2dとして、式(37)で示される二次計画法評価基準が計算され、その値を最小とするx(k+1)、x(k+1)に対応する入力変数u(k)を求めることが行われる。
【数37】

【0081】
ここで目標制御状態x1d、x2dは、それぞれ縦方向速度及び横方向速度の目標値である。すなわち、並列駐車の場合には、ごく低速で制御が行われるので、その速度を目標制御状態とすることが好ましい。目標制御状態としてはこのほかに、駐車目標位置等を設定することができる。その場合には、駐車目標位置を速度等に変換して二次計画法基準を計算することができる。
【0082】
求められたu(k)は、次のサンプルサイクルにおける車両10に対する入力変数として、ステアリングI/F84を介し、車両10のステアリング機構16に出力される(S44)。この機能は、CPU72の入力変数u(k)出力モジュール96によって実行される。
【0083】
このようにして、車両制御コンピュータ70は、車両10からの状態変数x(k)に基いて、次々と入力変数uを車両10に出力する。これによって、車両10の並列駐車の無人操作が行われる。
【実施例1】
【0084】
車両として、その長手方向寸法が3800mm、質量が1527kg、重心から前輪及び後輪までの距離がそれぞれ1014mm及び1676mm、前輪及び後輪の半径がそれぞれ277.566mm及び286.387mm、ロール慣性、ピッチ慣性、ヨー慣性がそれぞれ606.1kg・m、2741.9kg・m、2741.9kg・mを有するものについて、式(38)に示される形式となるモデル化を行った。
【数38】

この諸元は、模擬車両としてのCarSimに与えられた。データ収集に際し用いた入力変数uの様子を図6に示す。図6は、縦軸が車両の進行方向に沿った車両の角度uで、横軸は時間である。ここでは車両の並列駐車のときのステアリング機構の操作のように、時間と共に、右旋回、左旋回を交互に繰り返し、その角度uの大きさも時間と共に次第に大きくしその後次第に小さくして変化させている。このような入力変数uの下で、サンプリングサイクルを細かくして、50,000セットのx、x、dx/dt、dx/dtのデータセットを収集し、これに基いて、モデル化コンピュータ40によってf(x)、g(x)、Px、Puを求めた。求められたf(x)、g(x)、Px、Puは車両制御コンピュータ70に与えられた。具体的なf(x、x)、g(x、x)、f(x、x)、g(x、x)は、式(39)から(42)に示す通りである。
【数39】

【数40】

【数41】

【数42】

【0085】
車両制御コンピュータ70では、求められたf(x)、g(x)に基いて車両のモデルが生成され、そして、Px、Puの下で、二次計画法評価基準が最小となる入力変数u(k)が求められて、各サンプルサイクルで車両に入力された。車両の状態検出センサによって、車両の実際の状態が実測され、その値と、式(43)に示されるモデルで計算される値とが比較された。
【数43】

【0086】
図7、図8は、それぞれ車両の縦方向加速度、横方向加速度の実測と計算との比較を示す図である。いずれの図も横軸は時間で、縦軸は図7が縦方向加速度、図8が横方向加速度である。実際には、実測と計算とはきわめて近く、その相関係数は図7において0.99468、図8において0.999568であった。したがって、図7、図8上で実測と計算との差異を見出すことは実際上困難であった。
【図面の簡単な説明】
【0087】
【図1】本発明に係る実施の形態において、車両の進行方向における姿勢を制御する車両制御システムの全体構成を示す図である。
【図2】本発明に係る実施の形態において、非線形ダイナミクスを有する車両のモデル化の手順を示すフローチャートである。
【図3】本発明に係る実施の形態において、収集されたデータセットを用いて車両のモデル化を行うときの各データの様子を示す図である。
【図4】本発明に係る実施の形態において、非線形ダイナミクスを有する車両の制御の手順を示すフローチャートである。
【図5】本発明に係る実施の形態において、並列駐車の制御のための車両のモデルを示す図である。
【図6】本発明に係る実施の形態において、データ収集に際し用いる入力変数の様子を示す図である。
【図7】本発明に係る実施の形態において、車両の縦方向加速度の実測と計算との比較を示す図である。
【図8】本発明に係る実施の形態において、車両の横方向加速度の実測と計算との比較を示す図である。
【符号の説明】
【0088】
10 車両、12 前輪、14 後輪、16 ステアリング機構、18 状態検出センサ、20 模擬車両、30 車両制御システム、40 モデル化コンピュータ、42,72 CPU、44,74 入力部、46,76 出力部、48,78 記憶部、50,80 ファイル、70 車両制御コンピュータ、100 データファイル、82 センサI/F、84 ステアリングI/F。

【特許請求の範囲】
【請求項1】
非線形ダイナミクスを有する制御対象について、
制御対象の観察可能な非線形状態変数をxとし、
制御対象に対する線形の入力変数をuとし、
dx/dtを算出対象とするときに、制御対象の状態方程式を
【数1】

の形式にモデル化するモデル化装置であって、
制御対象について、dx/dt、x、uを一組としたデータセットを複数収集し、その一部を複数のトレーニングセットとし、残りを複数のチェッキングセットとするデータセット収集手段と、
各u
【数2】

についてはたかだか1次形式とし、各x
【数3】

については高次形式を含み得るものとして、x、uについての複数の部分多項式を生成する部分多項式生成手段と、
複数のトレーニングセットのデータに基き、複数の部分多項式のそれぞれの多項式係数を算出する多項式係数算出手段と、
算出された多項式係数を有する複数の部分多項式のそれぞれについてdx/dtの代表性を評価する手段であって、チェッキングセットの1のデータセットのx、uを部分多項式に適用して求められる値とそれに対応するdx/dtとの値との間の誤差を求め、これを複数のチェッキングセット全体について統計的に行うことで代表性を評価する評価手段と、
各部分多項式のそれぞれについて算出された代表性評価を比較し、制御対象の状態方程式として最も代表性の高い部分多項式を決定し、これを
【数4】

の形式で表現するモデル化手段と、
を含むことを特徴とする非線形ダイナミクスを有する制御対象のためのモデル化装置。
【請求項2】
制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とする非線形ダイナミクスを有する制御対象を、任意に設定される目標制御状態に制御する制御装置であって、
請求項1に記載の非線形ダイナミクスを有する制御対象のためのモデル化装置によって求められる
【数5】

のモデルのf(x)とg(x)の関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、uの制御適用範囲を表す集合であるPx、Puと、を記憶する記憶部と、
記憶部から読み出されたf(x)とg(x)の関数形を用いて
【数6】

の関係式に基いて制御対象のモデルを生成するモデル生成手段と、
制御対象から任意の時間kにおけるx(k)を取得する観察手段と、
記憶部からPuを読み出してその要素である各uのそれぞれについて、
【数7】

の関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)を算出し、算出されたx(k+1)が記憶部から読み出されたPxの要素であるか否かを判断する判断手段と、
を含み、
x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象に対する入力変数u(k)として用いることを特徴とする非線形ダイナミクスを有する制御対象のための制御装置。
【請求項3】
請求項2に記載の非線形ダイナミクスを有する制御対象のための制御装置において、さらに、
算出されたx(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)に対応するuをu(k)として制御対象に出力する評価手段を含むことを特徴とする非線形ダイナミクスを有する制御対象のための制御装置。
【請求項4】
請求項3に記載の非線形ダイナミクスを有する制御対象のための制御装置において、
評価手段は、算出されたx(k+1)を目標制御状態に対し、二次計画法に基いて評価することを特徴とする非線形ダイナミクスを有する制御対象のための制御装置。
【請求項5】
車両の長手方向に沿った速度成分である縦方向速度xを検出する手段と、
車両の幅方向に沿った速度成分である横方向速度xを検出する手段と、
車両の長手方向を基準として車両の進行方向の角度uを変更するステアリング手段と、
を有する車両に対し、任意に設定された目標制御状態になるように車両の進行方向姿勢を制御する車両のための制御装置であって、
、xを車両の観察可能な非線形状態変数とし、角度uを車両に対する線形の入力変数とし、dx/dt、dx/dtを算出対象として、請求項1に記載の非線形ダイナミクスを有する制御対象のモデル化装置によって求められる
【数8】

のモデルを、dx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uとして、f(x,x)、g(x,x)、f(x,x)、g(x,x)の各関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、x、uの制御適用範囲を表す集合であるPx、Px、Puと、を記憶する記憶部と、
記憶部から読み出されたf(x,x)、g(x,x)、f(x,x)、g(x,x)の各関数形を用いてdx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uの関係式に基いて車両のモデルを生成するモデル生成手段と、
車両から任意の時間kにおけるx(k)、x(k)を取得する観察手段と、
記憶部からPuを読み出してその要素である各uのそれぞれについて、dx/dt=f(x,x)+g(x,x)u及びdx/dt=f(x,x)+g(x,x)uの関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)、x(k+1)を算出し、算出されたx(k+1)、x(k+1)が記憶部から読み出されたPx、Pxの要素であるか否かを判断する判断手段と、
(k+1)がPxの要素であり、x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象である車両に対する入力変数u(k)として用いることを特徴とする非線形ダイナミクスを有する車両のための制御装置。
【請求項6】
請求項5に記載の非線形ダイナミクスを有する車両のための制御装置において、さらに、
算出されたx(k+1)、x(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)、x(k+1)に対応するuをu(k)として制御対象である車両に出力する評価手段を含むことを特徴とする非線形ダイナミクスを有する車両のための制御装置。
【請求項7】
請求項6に記載の非線形ダイナミクスを有する車両のための制御装置において、
目標制御状態は、駐車操作における目標縦方向速度x1dと目標横方向速度x2dであることを特徴とする非線形ダイナミクスを有する車両のための制御装置。
【請求項8】
請求項6に記載の非線形ダイナミクスを有する車両のための制御装置において、
モデル生成手段は、車両のモデルを、連続的値を有する状態変数及び入力変数と、離散的値を有する状態変数及び遷移変数とで表現されるハイブリッドモデルとして生成することを特徴とする非線形ダイナミクスを有する車両のための制御装置。
【請求項9】
非線形ダイナミクスを有する制御対象について、
制御対象の観察可能な非線形状態変数をxとし、
制御対象に対する線形の入力変数をuとし、
dx/dtを算出対象とするときに、制御対象の状態方程式を
【数9】

の形式にモデル化するモデル化装置上で実行されるモデル化プログラムであって、
制御対象について、dx/dt、x、uを一組としたデータセットを複数収集し、その一部を複数のトレーニングセットとし、残りを複数のチェッキングセットとするデータセット収集処理手順と、
uについてはたかだか1次形式とし、xについては高次形式を含み得るものとして、x、uについての複数の部分多項式を生成する部分多項式生成処理手順と、
複数のトレーニングセットのデータに基き、複数の部分多項式のそれぞれの多項式係数を算出する多項式係数算出処理手順と、
算出された多項式係数を有する複数の部分多項式のそれぞれについてdx/dtの代表性を評価する手段であって、チェッキングセットの1のデータセットのx、uを部分多項式に適用して求められる値とそれに対応するdx/dtとの値との間の誤差を求め、これを複数のチェッキングセット全体について統計的に行うことで代表性を評価する評価処理手順と、
各部分多項式のそれぞれについて算出された代表性評価を比較し、制御対象の状態方程式として最も代表性の高い部分多項式を決定し、これを
【数10】

の形式で表現するモデル化処理手順と、
を実行することを特徴とする非線形ダイナミクスを有する制御対象のためのモデル化プログラム。
【請求項10】
制御対象の観察可能な非線形状態変数をxとし、制御対象に対する線形の入力変数をuとし、dx/dtを算出対象とする非線形ダイナミクスを有する制御対象を、任意に設定される目標制御状態に制御する制御装置上で実行される制御プログラムであって、
請求項1に記載の非線形ダイナミクスを有する制御対象のためのモデル化装置によって求められる
【数11】

のモデルのf(x)とg(x)の関数形と、データセット収集工程で収集されたデータセットの範囲に基いて規定されるx、uの制御適用範囲を表す集合であるPx、Puと、を記憶する記憶部から、f(x)とg(x)の関数形とPx、Puとを読み出す読出処理手順と、
記憶部から読み出されたf(x)とg(x)の関数形を用いて
【数12】

の関係式に基いて制御対象のモデルを生成するモデル生成処理手順と、
制御対象から任意の時間kにおけるx(k)を取得する観察処理手順と、
記憶部からPuを読み出してその要素である各uのそれぞれについて、
【数13】

の関係式に基いて、任意の時間kの後の時間(k+1)におけるx(k+1)を算出し、算出されたx(k+1)が記憶部から読み出されたPxの要素であるか否かを判断する判断処理手順と、
を実行し、
x(k+1)がPxの要素であり、uがPuの要素であるときに、そのuを制御対象に対する入力変数u(k)として用いることを特徴とする非線形ダイナミクスを有する制御対象のための制御プログラム。
【請求項11】
請求項10に記載の非線形ダイナミクスを有する制御対象のための制御プログラムにおいて、さらに、
算出されたx(k+1)を目標制御状態に対して評価し、最も評価の高いx(k+1)に対応するuをu(k)として制御対象に出力する評価処理手順を含むことを特徴とする非線形ダイナミクスを有する制御対象のための制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−141121(P2007−141121A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−336712(P2005−336712)
【出願日】平成17年11月22日(2005.11.22)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(592032636)学校法人トヨタ学園 (57)
【Fターム(参考)】