(57)【要約】【課題】チャタリングの発生を防止し、且つ、応答性を向上することのできる予測制御装置及び推奨操作提示装置を提供する。【解決手段】システムの現在状態と、システムに対して予測された未来の操作量に基づいて、このシステムの挙動を予測する予測応答計算手段３ｂ−１と、システムに対する未来の操作量と、未来の操作量に対して予測応答計算手段３ｂ−１にて求められる予測応答に基づいて、未来の操作量の望ましさを評価する評価関数を有する操作量評価手段３ｂ−２と、評価関数を最小にするための必要条件に基づいて、現在から所定時間経過後の未来までの、望ましい操作量を計算する最適操作量演算手段３ｂ−３と、を備え、更に、新たな最適操作量が求められ、システムへの入力操作量を切り換える際に、この切り換えに伴って入力操作量が急激に変化する場合には、入力操作量の変化が所定のしきい値を越えないようにシステムに入力する操作量を修正する操作量修正手段３ｂ−４を具備する。【選択図】　　　図３
2004118723.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間間隔毎に最適操作量計算を行い、求められた最適操作量に基づいて、システムに対する操作量を入力操作量として設定し、当該システムを予測制御する予測制御装置において、
前記システムの現在状態と、当該システムに対して予測された未来の操作量に基づいて、このシステムの挙動を予測する予測応答計算手段と、
前記システムに対する未来の操作量と、当該未来の操作量に対して前記予測応答計算手段にて求められる予測応答に基づいて、前記未来の操作量の望ましさを評価する評価関数を有する操作量評価手段と、
前記未来の操作量を最適とするべく、前記評価関数を最小にするための必要条件に基づいて、現在から所定時間経過後の未来までの、望ましい操作量を計算する最適操作量演算手段と、
を備え、
更に、新たな最適操作量が求められ、前記システムへの入力操作量を切り換える際に、当該切り換えに伴って入力操作量が急激に変化する場合には、前記入力操作量の変化が所定のしきい値を越えないように前記システムに入力する操作量を修正する操作量修正手段を具備したこと
を特徴とする予測制御装置。
【請求項２】
前記操作量修正手段は、前記最適操作量を前記所定の時間間隔の１ステップ前に求めた時刻から、現在までにシステムに入力された操作量を参照して、この操作量に所定の幅を有する更新可能領域を設定し、
前記評価関数を最小にするための必要条件に基づいて、新たに求められる最適操作量が、前記更新可能領域内に留まらない場合には、前記システムに入力する操作量が前記更新可能領域内に留まるように、修正することを特徴とする請求項１に記載の予測制御装置。
【請求項３】
前記操作量修正手段は、前記最適操作量を前記所定の時間間隔の１ステップ前に求めた操作量を参照して、この操作量に所定の幅を有する更新可能領域を設定し、
前記評価関数を最小にするための必要条件に基づいて、新たに求められる最適操作量が、前記更新可能領域内に留まらない場合には、前記システムに入力する操作量が前記更新可能領域内に留まるように当該操作量を修正し、修正後の操作量を前記システムに入力することを特徴とする請求項２に記載の予測制御装置。
【請求項４】
前記システムに実際に入力された操作量の時系列データを記録する操作量記録手段と、該操作量記録手段に記録された操作量の時系列データに基づいて、操作量に生じる振動の程度を求めるチャタリング検出手段と、を更に備え、
前記操作量修正手段は、前記チャタリング検出手段にて求められた振動の程度に基づいて、前記更新可能領域の幅を設定することを特徴とする請求項２または請求項３のいずれかに記載の予測制御装置。
【請求項５】
前記チャタリング検出手段は、前記操作量記録手段に記録された操作量の時系列的な差分を演算し、この差分データに基づいて、前記操作量に生じる振動の程度を求めることを特徴とする請求項４に記載の予測制御装置。
【請求項６】
前記チャタリング検出手段は、前記操作量に生じる振動の程度を数値的に算出し、この算出した数値に基づいて、前記更新可能領域の幅の増減量を決定することを特徴とする請求項４または請求項５のいずれかに記載の予測制御装置。
【請求項７】
システムの最適な操作を推奨操作として提示する推奨操作提示装置において、
前記請求項１〜請求項６のいずれか１項に記載の予測制御装置を具備し、
前記操作量修正手段にて修正された操作量を前記予測応答計算手段に入力し、該予測応答計算手段は、前記システムの未来の状態を予測し、
該予測応答計算手段にて予測された所定時間後の状態を新たな初期状態と見なし、これに対して、前記最適操作量演算手段にて新たな最適操作量を計算する、という予測制御のプロセスを、システムに実際に操作量を加えることなく演算処理のみで仮想的に繰り返し、予測応答計算手段に仮想的に入力された操作量に基づいて、現在から所定時間経過後の未来までの推奨操作を求め、この推奨操作を提示することを特徴とする推奨操作提示装置。
【請求項８】
システムの最適な操作を推奨操作として提示する推奨操作装置において、
前記請求項１〜請求項６のいずれか１項に記載の予測制御装置を具備し、
前記操作量修正手段にて修正された操作量を前記予測応答計算手段に入力し、該予測応答計算手段は、前記システムの未来の状態を予測し、
該予測応答計算手段にて予測された所定時間後の状態を新たな初期状態と見なし、これに対して、前記最適操作量演算手段にて新たな最適操作量を計算する、という予測制御のプロセスを、システムに実際に操作量を加えることなく演算処理のみで想的に繰り返し、予測応答計算手段が算出した予測状態量に基づいて、現在から所定時間経過後の未来までの推奨操作を求め、この推奨操作を提示することを特徴とする推奨操作提示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、予測制御装置及び推奨操作提示装置に関する。
【０００２】
【従来の技術】
制御対象の動特性モデルに基づいて制御応答の未来の動きを予測し、それを考慮しながら最適操作量を算出するという予測制御の手法は、主にプロセス制御の分野で盛んに研究開発が行なわれ、多くの応用実績をあげている手法として広く知られている。
【０００３】
従来の予測制御の手法では、主にアクチュエータの動作に関する制約を考慮して、ある時点での操作量系列を求める際に操作量の変化率が所定の制約条件を満たすように新たな操作量系列を計算するという構成になっている例が多い。例えば、特開平６−２６６４０９号公報（以下、従来例１という）には、ノイズに対する予測制御系の応答の乱れを改善することを目的とした内容が記載され、操作量の変化率に制約を課すことが示されている。
【０００４】
予測制御系は、これまでプロセス制御のような制御量の変化が遅い対象に対して適用されることが多かった。一方で近年、予測制御の手法をより制御量の変化が速い機械系の制御に適用する例が現れ始めている。機械系の制御はプロセス制御よりもずっと素早い応答が求められる適用対象であり、プロセス制御の場合とは異なる問題が発生する。そのような問題の一つに、操作量のチャタリングが挙げられる。
【０００５】
チャタリングは、予測制御系に限らず、多くの制御系で発生し得る問題であり、対策も数多く提案されている。例えば、不感帯の導入による制御系の低感度化を代表的な対策として挙げることができる。特開平５−１３４７０４号公報（以下、従来例２という）はそのような発明の例であり、制御出力のハンチングを減少させるために、制御出力値が変化するたびに制御出力値の近傍に不感帯を設定し、不感帯幅を時間の経過と共に徐々に減少させ、出力値が変化した直後のしばらくの間は出力値が保持されるような効果を持つ構成となっている。
【０００６】
【特許文献１】
特開平６−２６６４０９号公報
【０００７】
【特許文献２】
特開平５−１３４７０４号公報
【０００８】
【発明が解決しようとする課題】
予測制御においては、一度の計算である所定の時間区間にわたる操作量系列が生成され、生成された操作量が実際にシステムに入力される一方、ある一定の時間間隔ごとに操作量を更新しながら制御を続けるという構成となっている。
【０００９】
プロセス制御のように時定数の長い制御対象の場合には、操作量の更新もそれほど頻繁に実施する必要がないので、従来例１に示されているような、操作量の変化率に制約条件を課す、という対策だけで、十分に操作量のチャタリングを防止することができる。しかし、自動車の運転のように状況の変化に素早く対応する必要がある対象の場合には、操作量の更新を短い周期で繰り返す必要がある。
【００１０】
その結果、生成された操作量系列のうち実際にシステムの入力として用いられるのは最初のごくわずかな区間だけであり、大半は次に生成される操作量で置き換えられてしまう。従って、従来のような操作量の変化率に制約を課す、という対策では十分にチャタリングを防止することができない、という問題点がある。
【００１１】
チャタリングの防止には、前述の通り不感帯のような低感度化策が有効である。不感帯の導入に際してしばしば問題となるのは不感帯の幅である。従来例２にも記述があるように、不感帯幅が大きすぎるとチャタリング（ハンチング）は生じにくくなる代わりに応答性が悪化し、逆に小さすぎるとチャタリング（ハンチング）防止策としての効果がなくなってしまう。
【００１２】
従来例２はそのような問題点を鑑みてなされた発明であるが、目標値への追従制御を行なう時に使用することを前提とした発明であり、目標値が設定されない予測制御の問題にそのままの形では適用することができないという問題点がある。
【００１３】
更に、出力の変化に応じて新たな不感帯を設定し、時間の経過と共に不感帯幅を小さくするという方法では、出力自体が初期不感帯幅を超える振幅でハンチング（チャタリング）を始めてしまった場合には、ハンチング（チャタリング）防止効果がなくなってしまうという問題点もある。
【００１４】
本発明はこのような従来の課題を解決するためになされたものであり、その目的とするところは、チャタリングの発生を防止し、且つ、応答特性の良い予測制御装置及び推奨操作提示装置を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、本発明は、所定の時間間隔毎に最適操作量計算を行い、求められた最適操作量に基づいて、システムに対する操作量を入力操作量として設定し、当該システムを予測制御する予測制御装置において、前記システムの現在状態と、当該システムに対して予測された未来の操作量に基づいて、このシステムの挙動を予測する予測応答計算手段と、前記システムに対する未来の操作量と、当該未来の操作量に対して前記予測応答計算手段にて求められる予測応答に基づいて、前記未来の操作量の望ましさを評価する評価関数を有する操作量評価手段と、前記未来の操作量を最適とするべく、前記評価関数を最小にするための必要条件に基づいて、現在から所定時間経過後の未来までの、望ましい操作量を計算する最適操作量演算手段と、を備え、更に、新たな最適操作量が求められ、前記システムへの入力操作量を切り換える際に、当該切り換えに伴って入力操作量が急激に変化する場合には、前記入力操作量の変化が所定のしきい値を越えないように前記システムに入力する操作量を修正する操作量修正手段を具備したことを特徴とする。
【００１６】
【発明の効果】
本発明によれば、予測制御系における操作量系列の切り換えの際に発生する入力操作量の急変化を防止することができるので、入力操作量の急激な変化によって引き起こされるチャタリングを防止することができる。これにより、応答特性を向上させることができる。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。本実施形態では、自動車の自動運転に、本発明に係る予測制御装置を適用した場合を例に挙げて説明する。
【００１８】
図１は、本発明に係る予測制御装置を用いた自動運転装置を、自動車に搭載したときの構成を示す配置図であり、自動運転装置及びその周辺機器を示している。同図に示すように、自動運転装置は、前方レーダー１ａと、画像センサ１ｂと、後方レーダー１ｃと、側方センサ１ｄと、車速センサ２と、演算部３と、を具備している。また、周辺機器として、スロットル４と、エンジン５と、変速機６と、ブレーキ７と、ステアリングアクチュエータ８と、を具備している。
【００１９】
前方レーダー１ａは、車両前面に取り付けられ、自車両前方に存在する複数の車両の位置を測定する。
【００２０】
画像センサ１ｂも同様に、車両前面の適所に取り付けられ、前方レーダー１ａの測定情報を補完するとともに、道路上に引かれた車線を検出する。
【００２１】
後方レーダー１ｃは、車両背面に取り付けられ、自車両後方に存在する複数の車両の位置を測定する。
【００２２】
側方センサ１ｄは、左右の車両後部端面にそれぞれ１個ずつ取り付けられ、前方レーダー１ａ、及び後方レーダー１ｃの死角となる車両側方に存在する他車両の位置を検出する。なお、側方センサ１ｄとしては、レーダーを用いることもできるが、超音波センサや画像センサを用いることができる。
【００２３】
車速センサ２は、ロータリーエンコーダーをホイールに取り付けることで実現することができる。そして、ホイールの回転速度に応じた周期のパルス列を出力することにより、車速の計測値を得ることができる。
【００２４】
演算部３は、マイクロコンピュータとその周辺部品から構成され、各レーダー１ａ、１ｃ、及び各センサ１ｂ、１ｄ、２からの信号が与えられると、内蔵メモリに記録されたプログラムに従って処理を行い、計算結果をステアリングアクチュエータ８、スロットル４、変速機６、ブレーキ７等の各アクチュエータに対応する指令信号に変換し、この指令信号を各アクチュエータに出力する。
【００２５】
スロットル４は、演算部３より出力されるスロットルバルブ開度信号（指令信号）に応じて、スロットルバルブを開閉し、エンジン５の出力を調整する。
【００２６】
変速機６は、演算部３より出力される指令信号に基づき、変速比を変化させる。ブレーキ７は、演算部３からの指令信号を受けて、ソレノイドバルブを開閉し、必要な制動力を発生させる。
【００２７】
ステアリングアクチュエータ８は、演算部３からの指令信号を受けて、自動操舵用のモータを駆動し、ステアリングを自動で操舵して車両の進行方向を変化させる。
【００２８】
図２は、演算部３の具体的な構成を示す機能ブロック図であり、周囲地図生成部３ａと、予測制御装置３ｂと、アクチュエータ指令値演算部３ｃと、を具備している。
【００２９】
周囲地図生成部３ａは、各レーダ、或いはセンサより与えられる信号を処理して、自車から周囲車両までの車間距離、及び各車の車線位置と速度の情報を含む周囲地図情報を生成し、この地図情報を予測制御装置３ｂに出力する。
【００３０】
予測制御装置３ｂは、本発明の主要部であり、与えられた周囲地図情報に基づいて、自車に対する操作量を計算する。
【００３１】
アクチュエータ指令値演算部３ｃでは、予測制御装置３ｂが算出した操作量を実現するために必要な各アクチュエータの動作量を算出し、その結果を各アクチュエータ（ステアリングアクチュエータ８、スロットル４、変速機６、ブレーキ７等）に出力する。
【００３２】
図３は、予測制御装置３ｂの構成をより詳細に示す機能ブロック図である。以下、図３を参照しながら、本実施形態に係る予測制御装置３ｂの動作の詳細について説明する。
【００３３】
予測応答計算手段３ｂ−１は、自車の操作に対する他車の応答を予測する計算式を有しており、通常微分方程式か、或いは差分方程式のいずれかで記述される。ここで、「ｘ」を自車も含む周囲車両すべての状態量、「ｕ」を自車に対する操作量とすると、予測応答計算手段３ｂ−１は、例えば、以下の（１）式に示す微分方程式で表現することができる。
【００３４】
【数１】
2004118723.tif 000003
ここで、ｆ（ｘ，ｕ，ｔ）は、微分可能な関数である。
【００３５】
以下、図４に示す如くの、具体的な適用場面に基づいて、（１）式に示した関数の具体的な構成方法について説明する。
【００３６】
図４は、左車線を走行している自車Ａが前方に自車よりも遅い速度で走行する先行車Ｂと、右車線後方に自車と略同一の速度で走行する隣接車Ｃを検出した場面を示している。
【００３７】
いま、自車Ａの位置、及び速度をそれぞれｘＡ、ｖＡ、先行車Ｂの位置、及び速度をそれぞれｘＢ、ｖＢ、隣接車Ｃの位置、及び速度をそれぞれｘＣ、ｖＣとする。また、横方向をｙ座標方向とし、左車線中央をｙ＝−１、右車線中央をｙ＝１とする座標をとり、車両Ａ、Ｂ、Ｃのｙ座標をそれぞれ、ｙＡ、ｙＢ、ｙＣで示す。
【００３８】
簡単のため、先行車Ｂ及び隣接車Ｃは車線変更しないものとすると、ｙＡとｙＣの値は一定値となるので、状態量から省略することが可能となる。よって、状態ｘを以下の（２）式に示すベクトルとして定義することができる。
【００３９】
【数２】
2004118723.tif 000004
ここで、Ｔは転置を示す。
【００４０】
この時、自車Ａの位置ｘＡの値を適当に定めれば（例えば、ｘＡ＝０）、周囲地図生成部３ａは、自車Ａと先行車Ｂの車間距離、相対速度、及び自車Ａと隣接車Ｃとの車間距離、相対速度、自車Ａの車速、車線情報から、各座標の値を具体的に定めることができる。以下、現在時刻において、周囲地図生成部が算出した周囲状態ｘを、ｘ０と表記する。
【００４１】
予測のための微分方程式は、各車両の動作モデルを結合することで得られる。まず、自車Ａであるが、操作量として前後方向の加速度ｕｘと、横方向の車線位置の指令値ｕｙをとれるものとし、横方向の車両移動を時定数１／ωの一次遅れ系としてモデル化すると、次の（３）、（４）式に示す動作モデルを得ることができる。
【００４２】
【数３】
2004118723.tif 000005
【数４】
2004118723.tif 000006
また、自車Ａ以外の車両は、直接操作することはできないので、システムの操作量はこの場合、ｕｘとｕｙのみである。そこで、これら２つの操作量をまとめることにより、（５）式を得ることができる。
【００４３】
【数５】
2004118723.tif 000007
次に、先行車Ｂであるが、先行車Ｂは前方に先行車（先行車Ｂに対する先行車）が存在せず、該先行車Ｂの希望車速ｖｄＢを保持できるような走行をしているものとしてモデル化する。このとき、先行車Ｂの動作モデルとしては、例えば次の（６）式に示すものが考えられる。
【００４４】
【数６】
2004118723.tif 000008
次に、隣接車Ｃについて考える。隣接車Ｃについても先行車が存在しない場面では、先行車Ｂと同様の希望車速を保持する動作をするものとしてモデル化することができる。
【００４５】
一方、自車Ａが隣接車Ｃの前方に車線変更した場合には、隣接車Ｃは希望車速で走行を続けられるとは限らなくなるので、自車Ａとの車間距離を所定の値に維持するような動作をするものとしてモデル化する。
【００４６】
即ち、隣接車Ｃに対する先行車が存在する場合には、該隣接車Ｃの動作モデルは、下記の（７）式となり、先行車がいる場合には（８）式となる。
【００４７】
【数７】
2004118723.tif 000009
【数８】
2004118723.tif 000010
以上で、各車両の動作モデルを定義することができた。
【００４８】
上述した（３）式から（８）式までをまとめたものが、（１）式で示した関数ｆ（ｘ，ｕ，ｔ）である。ここで、関数ｆ（ｘ，ｕ，ｔ）は、微分可能な関数でなければならないので、（７）、（８）式のような不連続性をそのまま放置することはできない。（７）式と（８）式を何らかの方法で微分可能になるように連結する必要がある。隣接車Ｃの先行車の有無は、自車Ａの車線変更と直接結びついていることに注目し、次の（９）式に示すような連続関数を導入する。
【００４９】
【数９】
2004118723.tif 000011
（９）式において、ｓ（ｙＡ）は、ｓ（−１）＝０、ｓ（１）＝１を満たす微分可能な連続関数となっている。この関数を用いて、（７）、（８）式から、次の（１０）式に示すモデルを作成する。
【００５０】
【数１０】
2004118723.tif 000012
（１０）式はｙＡ＝−１のときは、（７）式と一致し、ｙＡ＝１のときは、（８）式と一致するようになっている。更に、（１０）式の右辺は微分可能な連続関数となっているので、ｆ（ｘ，ｕ，ｔ）の成分として用いることができる。
【００５１】
以上の内容をまとめると、この場合の関数の具体形は、次の（１１）式に示すようになる。
【００５２】
【数１１】
2004118723.tif 000013
図３に示した操作量評価手段３ｂ−２は、自車の操作と、それに対して予想される他車の応答の望ましさを数値的に評価する評価関数を有している。予測制御においては、予測区間全体にわたって評価を行なうので、評価関数は通常、次の（１２）式に示す積分関数で表される。
【００５３】
【数１２】
2004118723.tif 000014
ここで、τは予測区間の長さ、Ｌ（ｘ，ｕ，ｔ）は、時刻ｔにおける瞬間的な評価を表す微分可能な関数である。自動運転へ適用する場合、τの実際の値としては、例えば１０秒程度の値が現実的な数値例として挙げられる。
【００５４】
評価関数の具体形としては、様々なものが考えられるが、ここではその一例を示す。まず、加減速はなるべく小さい方がいいという要請を考えることができる。評価関数としては、値が小さいほどよい評価であると定義すると、加減速に対する要請を数学的に表現するものとして、次の（１３）式に示す評価関数Ｌｘ（ｕｘ）を考えることができる。
【００５５】
【数１３】
2004118723.tif 000015
また、車線位置に関しては、特別な状況でない限り、中央を走行することが望ましい。そこで、車線位置に関する要請を表現したものとして、次の（１４）式に示す評価関数ＬＹ（ｕｙ）が考えられる。
【００５６】
【数１４】
2004118723.tif 000016
その外には、なるべく希望車速付近で走り続けたいという要請も考えることができる。そのような要請を表現するものとして、（１５）式に示す評価関数Ｌｖ（ｖＡ）が考えられる。
【００５７】
【数１５】
2004118723.tif 000017
但し、ｖｄＡは、自車Ａの希望車速である。
【００５８】
更に、他の車両に接近しすぎないという要請も基本的な要請として考慮する必要がある。同一車線上の車両のみ考慮するとすれば、このような要請を表現するものの例としては次の、（１６）式に示す評価関数ＬＲ（ｘ）が考えられる。
【００５９】
【数１６】
2004118723.tif 000018
以上のような、様々な要請を表現した評価関数の線形加重和をとることで、全体の評価関数を構成する。すなわち、次の（１７）式が得られる。
【００６０】
【数１７】
2004118723.tif 000019
ここで、ｗＸ、ｗＹ、ｗＶ、ｗＲは、重みパラメータである。
【００６１】
前述の（１）式に示した微分方程式に従う系において、（１２）式に示す評価関数を最小にするような操作量ｕを求める問題は、最適制御問題として定式化されており、最適な操作量ｕが満たすべき必要条件が導かれている。最適性の条件を書き下すために、次の（１８）式のような関数（ハミルトニアン）を導入する。
【００６２】
【数１８】
2004118723.tif 000020
ここで、λ（ｔ）は、最適制御問題を解くために導入された補助変数である。この時、最適性の必要条件は、以下の（１９）〜（２１）式に示す如くとなる。
【００６３】
【数１９】
2004118723.tif 000021
【数２０】
2004118723.tif 000022
【数２１】
2004118723.tif 000023
最適制御問題の一般的な解法は、次のようなものである。まず、（２０）、（２１）式で定義されるｘ・、λ・に関する２点境界値問題を解く。得られた解ｘ＊、λ＊を、（１９）式に示した方程式に代入する。この時、下記（２２）式とおく。
【００６４】
【数２２】
2004118723.tif 000024
すると、（１９）式は、下記の（２３）式に示す方程式に帰着することができる。
【００６５】
【数２３】
2004118723.tif 000025
（２３）式をｕに関して解くことで、最適な操作量ｕを得ることができる。
【００６６】
最適操作量演算手段３ｂ−３は、以上のような計算を行なうソフトウェアである。なお、２点境界値問題の解法については、文献１：「加藤寛一郎著　工学的最適制御　非線形へのアプローチ」、では解法の１つとして、ダイレクトシュート法に言及しており、それを用いてもよい。また、２点境界値問題を直接解くことなく最適操作量を近似的に求める方法が、例えば、文献２：「Ｔ．　Ｏｈｔｓｕｋａ，　’’Ｃｏｎｔｉｎｕａｔｉｏｎ／ＧＭＲＥＳ　ｍｅｔｈｏｄ　ｆｏｒ　ｆａｓｔ　ａｌｇｏｒｉｔｈｍ　ｏｆ　ｎｏｎｌｉｎｅａｒ　ｒｅｃｅｄｉｎｇ　ｈｏｒｉｚｏｎｃｏｎｔｒｏｌ’’　Ｐｒｏｃ．　３９ｔｈ　ＩＥＥＥ　Ｃｏｎｆｅｒｅｎｃｅ　ｏｎ　Ｄｅｃｉｓｉｏｎ　ａｎｄ　Ｃｏｎｔｒｏｌ，　ｐｐ．７６６−７７１，　２０００．　」に示されているので、そのような方法を利用することもできる。
【００６７】
文献１、文献２の方法はどちらも反復計算に基づく解法となっているので、アルゴリズムの実行に初期系列が必要になる場合が多い。従って、請求項３に示すような１ステップ前の操作量系列を初期系列として利用することは、有効な方法になる場合がある。
【００６８】
求められた最適操作量ｕは、図２に示した順次アクチュエータ指令値演算部３ｃに送られ、そこで指令された加減速と横方向位置を実現するために、必要なアクチュエータに対する指令値に変換される。
【００６９】
変換された指令値は、スロットル４、変速機６、ブレーキ７、ステアリング８を制御するコントローラに送られて、制御が実行される。
【００７０】
以上の制御サイクルが所定の時間間隔ごとに繰り返される。通常、この時間間隔は予測時間よりも短くとられるので、生成された最適操作量は途中までしか実行されない。新たな制御サイクルにおいて生成された最適操作量が、生成された時点から実際の操作量として用いられる。以上の制御の様子を、図５に模式的に示す。
【００７１】
以上の３つの構成要素があれば、予測制御系の構成は可能である。しかしながら、（２３）式の解をそのまま操作量として用いると、不都合が生じる場合がある。
【００７２】
図４に示した場面を考えると、自車Ａには、同一車線上の他車に近づきすぎないこと、なるべく一定の車速で走行し続けること、なるべく少ない加減速で走行すること、などの要請を関数の形で表現した（１７）式の如くの評価関数が組み込まれており、予測制御系の算出する指令値に従って走行するものとする。
【００７３】
この時、自車Ａの最適操作量としては、加速して隣接車Ｃとの車間距離を開けた上で、右車線に車線変更し、車速を元に戻しながら先行車Ｂを追い越していく、といったものが予想される。実際にある最適化のアルゴリズムを実装した上で、予測制御系の生成した操作量をプロットした結果を図６に示す。
【００７４】
同図において、上段の図は加減速の指令値を示しており、下段の図は車線変更の指令値（−１が左車線、１が右車線）を示している。図６に示したように、最初の数秒間は予想通り加速指令が出ているものの、車線変更に移る場面で操作量が激しく振動するチャタリング現象が発生している。
【００７５】
最終的には、チャタリングは収まって、当初期待されたような右車線に車線変更して先行車Ｂを追い越していくような操作量が得られているものの、このようなチャタリングを放置した場合には、車両に激しい振動が加わる恐れがあり、制御系としては好ましくない。
【００７６】
このようなチャタリングが発生する原因の一つを、図７に基づいて説明する。図７は、チャタリングが起きているある時刻ｔｎにおいて生成された操作量（加減速指令ｕｘ）系列と、次の操作量更新時刻ｔｎ＋１において生成された操作量系列を同じ時間軸上に並べてプロットした図である。このように、時刻においては加速を促す指令が生成されていたにも関わらず、次のステップにおいては減速を促す指令が生成されている。
【００７７】
これは、加速して車線変更を実行する操作と、減速して隣接車Ｃをやり過ごす操作の評価の間に大きな差がないために、最適化計算においても初期状態に対する計算結果の数値的感度が高くなって、わずかな初期状態の違いによって加速と減速というまったく異なる指令が出てしまうものと推測される。
【００７８】
自動車の自動運転のような制御においては、速い周期で操作量の更新を行なっていく必要があるので、生成された操作量は最初のごく一部が操作量として加えられるだけで、すぐに新しい操作量に置き換えられる。その結果、加速から減速への急激な操作量の変化が発生する。このような数値的な感度が高い状態が続くことで、チャタリングが発生しているものと考えられる。
【００７９】
チャタリングの原因が、このような生成される操作量の急激な変化によるものであるならば、生成される操作量の範囲を制限することが一つの解決法として考えられる。具体的な解決法を、図８に基づいて説明する。以下、時刻ｔｎにおいて生成される最適操作量系列を、ｕ＊（ｔ；ｔｎ）、ｔｎ≦ｔ≦ｔｎ＋τと表記する。
【００８０】
新たな最適操作量を計算するにあたり、１ステップ前の操作量ｕ＊（ｔ；ｔｎ）を参照し、ｕ（ｔ；ｔｎ）の近傍に最適操作量の更新可能領域Ｕｎを設定する。Ｕｎとしては、例えば、以下の（２４）式に示すような領域を考えることができる。
【００８１】
【数２４】
2004118723.tif 000026
ここで、Ｗｎは時刻０におけるＵｎの幅に相当する量である。もし、最適性の条件（２３）式から算出された最適操作量ｕ＊（ｔ；ｔｎ＋１）が、区間［０　τ］の中でＵｎの外側に出てしまう場合には、その区間の操作量の値Ｕｎをの内部に収まるように修正する。
【００８２】
図８のように、時刻ｔｎにおいて加速を促す操作量が生成されていたのに、時刻ｔｎ＋１において減速を促す操作量が生成された場合には、Ｕｎの下端ｕ＊（ｔ；ｔｎ＋１）までの値を引き上げる。
【００８３】
以上のような修正演算を行なうのが、図３における操作量修正演算３ｂ−４の具体的な処理内容である。加減速指令ｕｘに対してこのような修正を加えると、時刻ｔｎ＋１において加えられる操作量は、１ステップ前に加えられた操作量よりも小さな値にはなるものの、加速から減速まで急激に変化するような操作量にはならない。
【００８４】
この後も数値的な感度の高い状態が続くかもしれないが、解の変化を制限しているので、図６に示したような大きな振幅のチャタリングは起こらない。チャタリングは、もし起きたとしてもその振幅はずっと小さなものになるはずであり、振幅の小さなチャタリングであれば実際の制御では問題にならない場合も多い。
【００８５】
このような、解の変化を制限する手法は、図４、図６に示したような場面においては、一度加速を始めたら、数値的に微妙な場面においても加速し続けるように促す効果をもっており、例えば隣接車Ｃとの車間距離が十分開かないまま先行車Ｂに近づきすぎてしまうような操作量が生成される懸念が生じる。
【００８６】
しかし、評価関数が適切に設計されていれば、先行車Ｂとの車間距離が衝突の懸念が生じるほど小さくなれば、その時点で数値的な不安定性は消滅して、一貫して減速を促す操作量が生成され続けるようになるはずである。一貫して減速を促す操作量が生成されるのであれば、拘束がない場合に比べればゆるやかではあっても、印加される操作量も減速方向へと修正されていくので、衝突するまで加速してしまうような事態には陥らない。
【００８７】
ただ、ここで問題になるのは更新可能領域の幅Ｗｎである。Ｗｎが小さいほど、チャタリング防止効果は高く、チャタリングが起きた場合の振幅も小さくなる。しかし、Ｗｎが小さすぎると、チャタリングではない本来の操作量の変化も強く抑制してしまうことになる。
【００８８】
例えば、上記の説明で出てきたような、本来加速から減速への切り替えが必要な場面においても、加速から減速に切り替わるまでに時間がかかってしまう。その結果、制御系としての応答性が悪化し、きわめて鈍重な制御結果をもたらす可能性がある。逆にＷｎが大きすぎれば、十分なチャタリング防止効果が得られなくなる。
【００８９】
応答性とチャタリング防止効果を両立させるためには、場面に応じて更新可能領域の幅を変えることが必要である。即ち、チャタリングが発生していたり、発生する兆候が現れている場面では更新可能領域の幅を小さくしてチャタリングを防止し、そうでない通常の場面では更新可能領域の幅を大きくして素早い応答性を確保する、という機構が必要である。
【００９０】
チャタリングの検出方法には様々なものが考えられるが、ここではその一例を示す。チャタリングとは、操作量が激しく増加と減少を繰り返す現象であるから、実際にシステムの入力として加えられた操作量系列の増減を調べることで、検出することができる。
【００９１】
最も簡単な例を示すと、新たな操作量の計算にあたって、過去３ステップにおいて生成、入力された操作量系列を、図３に示した操作量記録手段３ｂ−５にあらかじめ記録しておき、それらの増分を計算する。現在の時刻がｔｎであるとすると、操作量ｕ（ｔｎ−３）、ｕ（ｔｎ−２）、ｕ（ｔｎ−１）を記録しておいて、以下に示す（２５）式、（２６）式に示すように、それらの増分を計算する。
【００９２】
【数２５】
2004118723.tif 000027
【数２６】
2004118723.tif 000028
もし、チャタリングが発生している場合には、操作量系列は大きな増加と減少を繰り返しているので、Δｕｎ−２とΔｕｎ−１の符号は異なっているはずである。従って、Δｕｎ−２とΔｕｎ−１の積が大きな負の値を示している場合には、チャタリングが発生していることが懸念される。逆に、Δｕｎ−２とΔｕｎ−１が同符号であるならば、それは操作量が一貫して増加または減少していることを示しており、チャタリングの状態ではないと判断できる。
【００９３】
従って、時刻ｔｎにおける更新可能領域の幅Ｗｎの更新ルールとして、以下の（２７）式、（２８）式に示すようなものを考えることができる。
【００９４】
【数２７】
2004118723.tif 000029
【数２８】
2004118723.tif 000030
ただし、ｋは更新可能領域の幅の拡大縮小の倍率を定める１以上の値を持つ定数、Ｗｍｉｎ、Ｗｍａｘはそれぞれ更新可能領域の最小値と最大値、Ｄｔｈｒはチャタリング状態の判断の閾値を表す正の定数である。即ち、Ｄｎの値が正であるならば、チャタリング状態ではないと判断して更新可能領域の幅を拡大し、Ｄｎの値が大きな負の値となった場合には、チャタリング状態であると判断して、更新可能領域の幅を縮小し、Ｄｎの値が負ではあってもあまり大きな値ではないときには、判断を保留して更新可能領域の幅を変えない、というルールとなっている。
【００９５】
自動運転への適用例では、拘束される操作量は加減速指令値であるので、運転者のジャークに対する感度が具体的なＷｍｉｎ、Ｗｍａｘ、Ｄｔｈｒの設定の際には参考となる。即ち、一般的な運転者が許容できる最大ジャークをＪｍａｘ、運転者が検知できる最小ジャークをＪｍｉｎ、半数程度の運転者が不快感を感じ始めるジャークをＪｕｃｆとするならば、例えば、次の（２９）、（３０）、（３１）式に示す設定を用いれば良い。
【００９６】
【数２９】
2004118723.tif 000031
【数３０】
2004118723.tif 000032
【数３１】
2004118723.tif 000033
ただし、Δｔは操作量の更新周期である。
【００９７】
以上に記述したような処理が図３に示したチャタリング検出手段３ｂ−６で行なわれる。
【００９８】
図９に、以上で説明したチャタリング防止策を施した場合に、図６と同じ条件で操作量を算出した結果を示す。チャタリングが抑制され、滑らかな操作量が得られていることがわかる。図１０には、この時の更新可能領域の幅が変化する様子を描いた図を示す。加速して隣接車Ｃとの車間距離が開き、車線変更の機会をうかがう微妙な場面において、更新可能領域の幅が自動的に小さくなり、チャタリングを防止している様子を確認することができる。
【００９９】
図１１に、以上で説明した予測制御装置の動作を記述したフローチャートを示す。
【０１００】
同図に示すステップ１では、周囲センサ（１ａ、１ｃ、１ｄ）、車線検出器１ｂ、車速センサ２の信号が読み込まれる。ステップ２では、読み込まれたセンサ情報を処理して周囲地図情報ｘ０に変換する。
【０１０１】
ステップ３では、得られた周囲地図情報ｘ０を用いて、最適操作量演算手段のアルゴリズムを起動して、最適操作量を求める。ステップ４では、チャタリング検出手段の処理が呼び出され、チャタリングが生じているか否かを判定する。ステップ５では、チャタリング検出手段の結果を受けて更新可能領域の幅を更新する。
【０１０２】
ステップ６では、現在実行中の最適操作量と更新された更新可能領域の幅から更新可能領域を定義し、最適操作量演算手段で求められた最適操作量と照合し、求められた最適操作量を必要に応じて修正する。ステップ７では、修正された最適操作量で現在実行中の最適操作量を更新し、新たな実行予定操作量系列を得る。
【０１０３】
ステップ８では、得られた実行予定操作量系列に従って、アクチュエータ指令値演算部に操作量を出力し、算出された操作を実行させる。ステップ９では出力された操作量を記録し、操作量記録部に記録されている操作量系列を更新する。以上の処理が所定の時間間隔ごとに繰り返される。
【０１０４】
このようにして、本実施形態によれば、予測制御系における操作量系列の切り換えの際に発生する入力操作量の急変化を防止することができるので、入力操作量の急激な変化によって引き起こされるチャタリングを防止することができる。
【０１０５】
また、予測制御系において最適性の条件を満たすように生成された最適操作量系列のうち、実際にシステムの入力として加えられる操作量が取りうる値の範囲を、１ステップ前の操作量系列の近傍に拘束することで、実際にその時点でシステムに印加している操作量と大きく異なる操作量を加えることができなくなるので、チャタリングを防止することができる。
【０１０６】
更に、予測制御系において最適性の条件を満たすように生成された最適操作量系列全体を、１ステップ前に算出された操作量系列の近傍に拘束することで、上記と同様の効果が得られる一方で、１ステップ前の操作量系列を用いて新たな最適操作量系列を計算するような最適化計算のアルゴリズムを利用する場合に、実際にシステムに入力している操作量系列をもとに新たな操作量系列を生成することになり、修正前の操作量系列をそのまま用いる方法と比較して現実との乖離の少ない計算方法となるので、より安定した数値計算が実行できるようになり、チャタリング防止効果を高めることができる。
【０１０７】
また、チャタリング検出手段によって現在のチャタリング防止効果の必要性を考慮しながら更新可能領域の幅を決定しているので、必要な場面でのみチャタリング防止効果が増強され、応答性と実際のチャタリング防止効果を両立することができる。
【０１０８】
更に、過去に実際に印加された操作量系列の増分系列というチャタリングの生起と直接的に関係のある指標を用いて、チャタリング状態の検出を行なっているので、チャタリングの発生を精度よく検出することができる。
【０１０９】
また、判定結果を数値的に評価することで、きめ細かく更新可能領域の幅を設定することができるので、より適切なチャタリング防止効果を得ることができる。
【０１１０】
上述した実施形態では、生成された操作量を実際にアクチュエータに送って、自動制御することを前提として説明を行なったが、請求項７および８に示したように、生成された操作量をアクチュエータではなく、予測応答計算手段に入力し、計算機の内部で仮想的に制御シミュレーションを行なうという構成とすれば、現在から未来までの推奨操作量を生成、提示する、推奨操作量生成装置として用いることができる。そのような推奨操作量生成装置の動作を、図１２に示すフローチャートに従って説明する。
【０１１１】
ステップ１１では、現在時刻ｔをｔ＝０に初期化する。ステップ１２では、周囲センサ、車線検出器、車速センサの信号のが読み込みが行われて周囲情報が取得され、ステップ１３において、周囲地図情報ｘ（ｔ）に変換される。ステップ１４では、ｘ（ｔ）をもとに最適操作量演算手段のアルゴリズムが起動され、最適操作量系列が生成される。
【０１１２】
ステップ１５では、チャタリングの検出から生成操作量系列の修正演算まで、図１１のステップ４〜ステップ６と同様の処理が行なわれる。ステップ１６では、修正された操作量系列で時刻ｔ以降の推奨操作量系列を更新する。
【０１１３】
ステップ１７では、時刻ｔと推奨操作量提示時間の長さＴｆとが比較され、ｔ≧Ｔｆであれば（ステップ１７でＹＥＳ）、ステップ８へ進み、生成された推奨操作量系列をドライバーに提示して、処理を終了する。また、ｔ＜Ｔｆであれば（ステップ１７でＮＯ）、ステップ１９へ進み、ｘ（ｔ）を初期条件、時刻ｔからｔ＋Δｔまでの推奨操作量系列を入力として、予測応答計算手段（１）式を積分し、ｘ（ｔ＋Δｔ）の予測値を求める。
【０１１４】
ステップ２０では、時刻を更新して、ステップ１３に戻る。ステップ１３では、ステップ１９で計算された状態量の予測値が新たな周囲地図として用いられることになる。
【０１１５】
推奨操作量生成装置は、自動車の運転において運転者に適切な運転操作を指示する運転補助システムを構成する一要素として利用することができる。
【０１１６】
このようにして、本実施形態で示した予測制御装置を用いれば、制御系としての応答性とチャタリング防止効果を両立させた予測制御系を構成することができる。また、演算装置の構成を変更することにより、同様の性質をもった推奨操作量生成装置を構成することもできる。
【０１１７】
また、システムに実際に操作量を加えることなく、応答予測に基づいて操作量の系列を生成していくので、自動制御可能なアクチュエータが利用できない場合でも、オペレータに適切な操作方法を示すことで望ましい制御の実現を支援することができる。
【０１１８】
更に、推奨操作に従った場合に予想される状態量の推移をオペレータに提示するので、適用場面によってはオペレータの直感により適合した情報提示を行なうことができる。
【図面の簡単な説明】
【図１】本発明に係る予測制御装置を適用した自動運転装置の全体の配置を示す構成図である。
【図２】図１に示した演算部の詳細な構成を示すブロック図である。
【図３】図２に示した予測制御装置の詳細な構成を示すブロック図である。
【図４】自車の前に先行車が存在し、且つ側方に隣接車が存在する場面を示す説明図である。
【図５】予測制御系の動作を示す特性図であり、時間の経過に伴う操作量の変化を示している。
【図６】従来における予測制御方法を適用した場合の、操作量の変化を示す特性図である。
【図７】操作量にチャタリングが発生する原因を示す説明図である。
【図８】チャタリング防止の原理を示す説明図である。
【図９】本発明に係る予測制御装置を適用した場合の、操作量を変化を示す特性図である。
【図１０】本実施形態に係る予測制御装置において、更新可能領域の幅が変化する様子を示す説明図である。
【図１１】本発明の一実施形態に係る予測制御装置の処理動作を示すフローチャートである。
【図１２】本発明の一実施形態に係る推奨操作量生成装置の処理動作を示すフローチャートである。
【符号の説明】
１ａ　前方レーダー
１ｂ　画像センサ（車線検出器）
１ｃ　後方レーダー
１ｄ　側方センサ
２　　車速センサ
３　　演算部
３ａ　周囲地図生成部
３ｂ　予測制御装置
３ｂ−１　予測応答計算手段
３ｂ−２　操作量評価手段
３ｂ−３　最適操作量演算手段
３ｂ−４　操作量修正手段
３ｂ−５　操作量記録手段
３ｂ−６　チャタリング検出器
３ｃ　アクチュエータ指令値演算部
４　　スロットル
５　　エンジン
６　　変速機
７　　ブレーキ
８　　ステアリングアクチュエータ
【図１】
2004118723.tif 000034
【図２】
2004118723.tif 000035
【図３】
2004118723.tif 000036
【図４】
2004118723.tif 000037
【図５】
2004118723.tif 000038
【図６】
2004118723.tif 000039
【図７】
2004118723.tif 000040
【図８】
2004118723.tif 000041
【図９】
2004118723.tif 000042
【図１０】
2004118723.tif 000043
【図１１】
2004118723.tif 000044
【図１２】
2004118723.tif 000045