JP4435467B2 - Control device for throttle valve drive device - Google Patents
Control device for throttle valve drive device Download PDFInfo
- Publication number
- JP4435467B2 JP4435467B2 JP2002246235A JP2002246235A JP4435467B2 JP 4435467 B2 JP4435467 B2 JP 4435467B2 JP 2002246235 A JP2002246235 A JP 2002246235A JP 2002246235 A JP2002246235 A JP 2002246235A JP 4435467 B2 JP4435467 B2 JP 4435467B2
- Authority
- JP
- Japan
- Prior art keywords
- throttle valve
- model parameter
- value
- control
- predetermined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、内燃機関のスロットル弁を駆動するスロットル弁駆動装置の制御装置に関し、特にスロットル弁の基準位置を学習する機能を備える制御装置に関する。
【0002】
【従来の技術】
内燃機関のスロットル弁をモータで駆動するスロットル弁駆動装置において、スロットル弁の全閉位置または全開位置を学習する手法が、特許第2778827号公報に示されている。この公報に示された手法によれば、スロットル弁を駆動するモータの制御量が所定の値以上の値をとり、かつスロットル弁位置が所定の限界値に達している状態が、所定時間継続すると、そのときのスロットル弁位置が全閉位置または全開位置として記憶される。
【0003】
またプラント(制御対象)をモデル化した制御対象モデルに基づいてプラントを制御する制御装置は、例えば特開2000−230451号公報に示されている。この制御装置は、内燃機関を制御対象とし、その制御対象をモデル化した制御対象モデルのモデルパラメータを同定する同定器を備え、同定器により同定されたモデルパラメータを用いて、内燃機関の制御を行う。
【0004】
【発明が解決しようとする課題】
上記特許第2778827号公報に示された、スロットル弁の全閉位置または全開位置を学習する手法を、同定器により同定されたモデルパラメータを用いてスロットル弁駆動装置を制御する制御装置に適用した場合、以下のような課題があった。
スロットル弁を全閉ストッパに押しつけるべく、制御目標値を全閉ストッパの位置よりさらに閉じ側の値に設定すると、制御目標値と、実際のスロットル弁開度とが一致しない状態となり、全閉位置を学習するためにその状態が所定時間に亘って維持される。そのため、同定器により同定されるモデルパラメータが、全閉位置学習を行っている間に大きく変化する場合がある。その結果、全閉位置学習が終了した直後において、通常のスロットル弁開度制御を行うときに、モデルパラメータの値が通常の値から大きく変化しているために制御性が悪化することがあった。また全開位置の学習終了時においても同様の課題がある。
【0005】
本発明は、この点に着目してなされたものであり、スロットル弁の基準位置(全閉位置または全開位置)の学習が終了した直後における制御性の悪化を防止することができるスロットル弁駆動装置の制御装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため請求項1に記載の発明は、内燃機関のスロットル弁(3)と、該スロットル弁(3)を駆動する駆動手段(6)とを備えるスロットル弁駆動装置(10)の制御装置において、前記スロットル弁(3)の基準位置(THL1VZ0)を前記スロットル弁駆動装置(10)の作動中に学習する学習手段と、前記スロットル弁駆動装置(10)をモデル化した制御対象モデルのモデルパラメータ(θ)を前記スロットル弁駆動装置(10)の作動中に所定時間毎に同定演算を行って同定する同定手段(22)と、該同定手段(22)により同定されたモデルパラメータを用いて、前記スロットル弁の開度(TH)が目標開度(THR)と一致するように前記スロットル弁駆動装置(10)を制御する制御手段(21)とを備え、前記同定手段(22)は、前記スロットル弁駆動装置の出力に関わる第1のモデルパラメータ(a1”,a2”)と、前記スロットル弁駆動装置の入力に関わる第2のモデルパラメータ(b1”)と、前記スロットル弁駆動装置に加わる外乱を示し、前記スロットル弁開度(TH)と目標開度(THR)との差が「0」に収束しない状態が継続すると前記同定演算を実行する毎に増加する第3のモデルパラメータ(c1”)を同定し、前記学習手段は、前記第3のモデルパラメータ(c1”)が所定閾値(C1TH)を超えたとき、その時点の前記スロットル弁(3)の開度を前記基準位置(THL1VZ0)と判断する判断手段を備え、前記学習手段による学習が終了したときに、前記第3のモデルパラメータ(c1”)を所定値(C1X)に設定する設定手段が設けられていることを特徴とする。
【0007】
この構成によれば、学習手段によりスロットル弁の基準位置の学習が終了したときに、スロットル弁駆動装置に加わる外乱を示す第3のモデルパラメータが所定値に設定される。ここで「所定値」を例えば、通常制御時の平均的な値、あるいはゼロ近傍の値とすることにより、前記第3のモデルパラメータが学習実行中に大きく変化した場合でも、学習直後におけるスロットル弁開度の制御性が悪化することを防止することができる。また、第3のモデルパラメータが所定閾値を超えたとき、その時点のスロットル弁の開度が前記基準位置と判断される。第3のモデルパラメータは、制御偏差が「0」に収束しない状態が継続すると同定演算を実行する毎に増加するので、第3のモデルパラメータが所定閾値を超えたことにより、スロットル弁が基準位置に達したと判断することができる。
【0010】
また前記同定手段は、モデルパラメータの基準値(θbase)に更新成分(dθ)を加算することにより、モデルパラメータの同定を行い、前記学習手段による学習が終了した直後におけるモデルパラメータの演算においては、前記制御対象モデルの入出力に関わらないモデルパラメータ(c1”)の過去の更新成分を用いないことが望ましい。
これにより、学習手段による学習実行中の過去値が、学習終了直後のモデルパラメータ値に反映されなくなり、モデルパラメータの同定精度を向上させることができる。
【0011】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の一実施形態にかかるスロットル弁制御装置の構成を示す図である。内燃機関(以下「エンジン」という)1の吸気通路2には、スロットル弁3が設けられている。スロットル弁3には、該スロットル弁3を閉弁方向に付勢する第1付勢手段としてのリターンスプリング4と、該スロットル弁3を開弁方向に付勢する第2付勢手段としてのデフォルトスプリング5とが取り付けられている。またスロットル弁3は、駆動手段としてのモータ6によりギヤ(図示せず)を介して駆動できるように構成されている。モータ6による駆動力がスロットル弁3に加えられない状態では、スロットル弁3の開度THは、リターンスプリング4の付勢力と、デフォルトスプリング5の付勢力とが釣り合うデフォルト開度THDEF(例えば11度)に保持される。
【0012】
モータ6は、電子制御ユニット(以下「ECU」という)7に接続されており、その作動がECU7により制御される。スロットル弁3には、スロットル弁開度THを検出するスロットル弁開度センサ8が設けられており、その検出信号は、ECU7に供給される。
【0013】
またECU7には、エンジン1が搭載された車両の運転者の要求出力を検出するアクセルペダルの踏み込み量ACCを検出するアクセルセンサ9、及びモータ6に電力を供給するバッテリ(図示せず)の出力電圧VBを検出するバッテリ電圧センサ11が接続されており、これらのセンサの検出信号がECU7に供給される。
ECU7は、スロットル弁開度センサ8及びアクセルセンサ9の検出信号が供給される入力回路、入力信号をディジタル信号に変換するAD変換回路、各種演算処理を実行する中央演算ユニット(CPU)、CPUが実行するプログラムやプログラムで参照されるマップやテーブルなどを格納するメモリ回路、及びモータ6に駆動電流を供給する出力回路を備えている。ECU7は、アクセルペダルの踏み込み量ACCに応じてスロットル弁3の目標開度THRを決定し、検出したスロットル弁開度THが目標開度THRと一致するようにモータ6の制御量DUTを決定する。ECU7は、さらにバッテリ電圧VBに応じて、制御量DUTの電圧補正を行い、補正制御量MDUTYBを算出し、さらに補正制御量MDUTYBのリミット処理を行って最終制御量MDUTYFを算出する。そしてECU7は、最終制御量MDUTYFに応じた応じた電気信号をモータ6に供給する。
【0014】
制御量DUTは、モータ6に供給する電気信号の極性及びデューティ比を示すので、デューティ比ともいう。制御量DUTは、スロットル弁開度THがデフォルト開度THDEFより大きいときは、正の値をとり、モータ6はスロットル弁3を開弁方向に駆動する駆動力を発生する。また、スロットル弁開度THがデフォルト開度THDEFより小さいときは、負の値をとり、モータ6はスロットル弁3を閉弁方向に駆動する駆動力を発生する。
【0015】
本実施形態では、スロットル弁3、リターンスプリング4、デフォルトスプリング5及びモータ6からなるスロットル弁駆動装置10を制御対象とし、該制御対象に対する入力をモータ6に印加する電気信号のデューティ比MDUTYFとし、制御対象の出力をスロットル弁開度センサ8により検出されるスロットル弁開度THとする。
【0016】
スロットル弁駆動装置10の応答周波数特性に応じて、下記式(1)で定義されるモデルを制御対象モデルとして設定する。このモデルの応答周波数特性は、スロットル弁駆動装置10の特性に近似させることが可能であることが確認されている。
ここで、nは同定周期ΔTIDで離散化されたサンプリング時刻または制御時刻を表すパラメータであり、DTH(n)は下記式(2)により定義されるスロットル弁開度偏差量である。
DTH(n)=TH(n)−THDEF (2)
ここで、THは検出したスロットル弁開度、THDEFは前記デフォルト開度である。
【0017】
本実施形態では、制御対象モデルを定義する離散化時刻は、同定周期ΔTIDに対応したサンプリングリング時刻または制御時刻を表す「n」を用いるが、制御入力DUTを算出し、出力する周期は、同定周期ΔTIDより短い制御周期ΔTCTL(例えば同定周期ΔTIDの1/5程度とする)としており、制御周期ΔTCTLに対応する離散化時刻は「k」で表すこととする。このように同定周期ΔTIDを制御周期ΔTCTLより長くするのは、制御対象の出力の変化速度(変化周期)と比較して、短いサンプリング周期でサンプリングしたデータに基づいてモデルパラメータの同定を行うと、その精度が著しく低下し、制御対象特性のばらつきや変化に対する適応能力が不十分となるからである。
【0018】
また式(1)のa1,a2,b1,c1は、制御対象モデルの特性を決めるモデルパラメータであり、dはむだ時間である。演算量低減のためには、むだ時間dを「0」とした下記式(1a)で制御対象モデルを定義することが有効である。むだ時間dを「0」とすることに起因するモデル化誤差(制御対象モデルの特性と、実際の制御対象(プラント)の特性との差)は、ロバスト性のあるスライディングモード制御を採用することにより補償する。
【0019】
式(1a)においては、制御対象の出力であるスロットル弁開度偏差量DTHに関わるモデルパラメータa1,a2、制御対象の入力MDUTYFに対応するデューティ比DUT(電圧補正及びリミット処理前の制御入力)に関わるモデルパラメータb1の他に、制御対象の入出力に関わらないモデルパラメータc1が採用されている。このモデルパラメータc1は、デフォルト開度THDEFのずれやスロットル弁駆動装置に加わる外乱を示すパラメータである。すなわち、後述するモデルパラメータ同定器により、モデルパラメータa1,a2,b1と同時にモデルパラメータc1を同定することにより、デフォルト開度ずれや外乱を同定できるようにしている。
【0020】
図2は、ECU7により実現されるスロットル弁制御装置の機能ブロック図であり、この制御装置は、適応スライディングモードコントローラ21と、モデルパラメータ同定器22と、モデルパラメータスケジューラ25と、アクセルペダル踏み込み量ACCに応じてスロットル弁3の目標開度THRを設定する目標開度設定部24と、減算器26,27と、バッテリ電圧VBに応じて制御量DUTの補正を行う電圧補正部28と、補正制御量MDUTYBのリミット処理を行うリミッタ29と、スロットル弁開度偏差量DTHの変化量DDTHに応じてデューティ補正量DUTYEMFを算出するDUTYEMF算出部30と、加算器31と、電圧補正部28による補正と逆の補正を行う逆電圧補正部32とからなる。
【0021】
適応スライディングモードコントローラ21は、検出したスロットル弁開度THが目標開度THRと一致するように、適応スライディングモード制御によりデューティ比DUTを算出し、該算出したデューティ比DUTを出力する。
適応スライディングモードコントローラ21を用いることにより、スロットル弁開度THの目標開度THRに対する応答特性を、所定のパラメータ(後述する切換関数設定パラメータVPOLE)を用いて適宜変更する(指定する)ことが可能となる。その結果、スロットル弁開度に応じて最適な応答特性を指定することができ、例えばスロットル弁3を開弁位置から全閉位置に移動させる際の衝撃(スロットル全閉ストッパへの衝突)の回避、及びアクセル操作に対するエンジンレスポンスの可変化が可能となる。また、スライディングモード制御により、モデルパラメータの誤差に対する安定性を確保することが可能となる。
【0022】
モデルパラメータ同定器22は、修正モデルパラメータベクトルθL(θLT=[a1,a2,b1,c1])を算出し、適応スライディングモードコントローラ21に供給する。より具体的には、モデルパラメータ同定器22は、スロットル弁開度偏差量DTH及び後述する補正制御入力DUTVLに基づいて、モデルパラメータベクトルθを算出する。さらに、そのモデルパラメータベクトルθに対して第1リミット処理、オーバサンプリング及び移動平均化処理、並びに第2リミット処理を行うことにより修正モデルパラメータベクトルθLを算出し、該修正モデルパラメータベクトルθLを適応スライディングモードコントローラ21に供給する。このようにしてスロットル弁開度THを目標開度THRに追従させるために最適なモデルパラメータa1,a2,b1が得られ、さらに外乱及びデフォルト開度THDEFのずれを示すモデルパラメータc1が得られる。第1リミット処理、オーバサンプリング及び移動平均化処理、並びに第2リミット処理については、後述する。
【0023】
リアルタイムでモデルパラメータを同定するモデルパラメータ同定器22を用いることにより、エンジン運転条件の変化への適応、ハードウエアの特性ばらつきの補償、電源電圧変動の補償、及びハードウエア特性の経年変化への適応が可能となる。
【0024】
モデルパラメータスケジューラ25は、下記式(3)により目標開度THR(n)とデフォルト開度THDEFとの偏差量として定義される目標値DTHRに応じて、基準モデルパラメータベクトルθbase(θbaseT=[a1base,a2base,b1base,c1base])を算出し、モデルパラメータ同定器22に供給する。基準モデルパラメータベクトルθbaseの算出は、同定周期ΔTID毎に実行される。
DTHR(n)=THR(n)−THDEF (3)
【0025】
減算器26及び27は、デフォルト開度THDEFと、スロットル弁開度TH及び目標開度THRとの偏差量を、スロットル弁開度偏差量DTH及び目標値DTHRとして算出する(式(2)及び式(3)参照)。
【0026】
電圧補正部28は、バッテリ電圧VBのなまし値VBADFTと、基準電圧VBRとの比(VBR/VBADFT)をデューティ比DUTに乗算することにより、バッテリ電圧補正を行い、補正制御量MDUTYBを算出する。
リミッタ29は、補正制御量MDUTYBの絶対値が所定制限範囲内に入るようにリミット処理を行い、最終制御量MDUTYFを算出する。
【0027】
DUTYEMF算出部30は、スロットル弁開度偏差量DTHの変化量DDTHに応じて、デューティ比に換算したデューティ補正量DUTYEMFを算出し、加算器31は、デューティ補正量DUTYEMFと最終制御量MDUTYFとを加算する。
逆電圧補正部32は、加算器31の出力(MDUTYF+DUTYEMF)に対して、電圧補正部28で乗算される比の逆数(VBADFT/VBR)を乗算し、電圧補正部28による補正の逆補正を行う。これにより、制御対象への入力である最終制御量MDUTYFが、制御対象からの出力であるスロットル弁開度偏差量DTHの変化量に応じて補正され、補正制御入力DUTVLが算出される。
【0028】
次に適応スライディングモードコントローラ21の動作原理を説明する。
スロットル弁開度偏差量DTHと、目標値DTHRとの偏差e(k)を下記式(4)で定義すると、適応スライディングモードコントローラの切換関数値σ(k)は、下記式(5)にように設定される。
ここで、VPOLEは、−1より大きく1より小さい値に設定される切換関数設定パラメータである。
【0029】
縦軸を偏差e(n)とし、横軸を前回偏差e(n-1)として定義される位相平面上では、σ(n)=0を満たす偏差e(n)と、前回偏差e(n-1)との組み合わせは、直線となるので、この直線は一般に切換直線と呼ばれる。スライディングモード制御は、この切換直線上の偏差e(n)の振る舞いに着目した制御であり、切換関数値σ(n)が0となるように、すなわち偏差e(n)と前回偏差e(n-1)の組み合わせが位相平面上の切換直線上に載るように制御を行い、外乱やモデル化誤差に対してロバストな制御を実現するものである。その結果、スロットル弁開度偏差量DTHは、目標値DTHRに追従するように、良好なロバスト性を持って制御される。
【0030】
また式(5)の切換関数設定パラメータVPOLEの値を変更することにより、偏差e(n)の減衰特性、すなわちスロットル弁開度偏差量DTHの目標値DTHRへの追従特性を変更することができる。具体的には、VPOLE=−1とすると、全く追従しない特性となり、切換関数設定パラメータVPOLEの絶対値を小さくするほど、追従速度を速めることができる。このようにスライディングモードコントローラは、偏差e(n)の減衰特性を所望の特性に指定可能であるので、応答指定型コントローラと呼ばれる。
【0031】
スライディングモード制御によれば、切換関数設定パラメータVPOLEを変更することにより、容易に収束速度を変更できるので、本実施形態では、スロットル弁開度偏差量DTHに応じて、切換関数設定パラメータVPOLEを設定し、スロットル弁3の作動状態に適した応答特性を得られるようにしている。
【0032】
上述したようにスライディングモード制御では、偏差e(n)と前回偏差e(n-1)の組み合わせ(以下「偏差状態量」という)を切換直線上に拘束することにより、偏差e(n)を指定した収束速度で、かつ外乱やモデル化誤差に対してロバストに、「0」に収束させる。したがって、スライディングモード制御では、如何にして偏差状態量を切換直線に載せ、そこに拘束するかが重要となる。
【0033】
そのような観点から、制御対象への入力(コントローラの出力)DUT(k)(Usl(k)とも表記する)は、下記式(6)に示すように、等価制御入力Ueq(k)、到達則入力Urch(k)、適応則入力Uadp(k)、非線形入力Unl(k)、及びダンピング入力Udamp(k)の和として算出される。
【0034】
等価制御入力Ueq(k)は、偏差状態量を切換直線上に拘束するための入力であり、到達則入力Urch(k)は、偏差状態量を切換直線上へ載せるための入力であり、適応則入力Uadp(k)は、モデル化誤差や外乱の影響を抑制し、偏差状態量を切換直線へ載せるための入力である。
また非線形入力Unlは、スロットル弁3の弁体を駆動する減速ギヤのバックラッシなどの非線形モデル化誤差を抑制し、偏差状態量を切換直線上に載せるための入力である。ダンピング入力Udampは、スロットル弁開度偏差量DTHの目標値DTHRに対するオーバシュートを防止するための入力である。
以下各入力Ueq(k),Urch(k)、Uadp(k)、Unl(k)、及びUdamp(k)の算出方法を説明する。
【0035】
等価制御入力Ueq(k)は、偏差状態量を切換直線上に拘束するための入力であるから、満たすべき条件は下記式(7)で与えられる。
σ(n)=σ(n+1) (7)
式(1)並びに式(4)及び(5)を用いて式(7)を満たすデューティ比DUT(n)を求めると、下記式(8)が得られ、これが等価制御入力Ueq(n)となる。
【0036】
実際には目標値の未来値であるDTHR(n+1)を得ることは困難であるので、本実施形態では、目標値DTHRに関わる項を除き、さらに離散化時刻nを離散化時刻kに変換した下記式(8a)により、等価制御入力Ueq(k)が算出される。
Ueq(k)=(1/b1){(1−a1−VPOLE)DTH(k)+(VPOLE−a2)DTH(k-k0)−c1} (8a)
ここで、k0は、同定周期ΔTIDと制御周期ΔTCTLの比(ΔTID/ΔTCTL、例えば「5」)である。
【0037】
また、到達則入力Urch(k)及び適応則入力Uadp(k)は、それぞれ下記式(9)及び(10)により算出する。
【0038】
【数1】
ここで、F及びGは、それぞれ到達則制御ゲイン及び適応則制御ゲインであり、偏差状態量が安定に切換直線上に載せられるように設定される。また、σ(k)は、前記切換関数値σ(n)を離散化時刻kを用いて表したものであり、下記式(5a)により算出される。
【0039】
非線形入力Unlは、下記式(11)により算出される。
Unl(k)=−Knl×sgn(σ(k))/b1 (11)
ここで、sgn(σ(k))は、σ(k)が正の値のとき「1」となり、σ(k)が負の値のとき「−1」となる符号関数であり、Knlはスロットル弁開度偏差量DTHに応じて設定される非線形入力ゲインである。
非線形入力Unl(k)を用いることにより、目標値DTHRが微小変化する場合において、定常偏差の収束が遅れることが防止される。
【0040】
ダンピング入力Udampは、下記式(13)により算出される。
Udamp=−Kdamp(DTH(k)−DTH(k-1))/b1 (13)
ここで、Kdampは、ダンピング制御ゲインであり、下記式(14)により算出される。
Kdamp=Kdampbs×Kkdamp (14)
ここで、Kdampbsは、スロットル弁開度偏差量DTHに応じて設定される基本値であり、Kkdampは、目標値DTHRの変化量の移動平均値DDTHRAVに応じて設定される補正係数である。
移動平均値DDTHRAVは下記式(15)により算出される。
【数2】
ここでiAVは、例えば「50」に設定される所定数である。
【0041】
以上のように、等価制御入力Ueq(k)、到達則入力Urch(k)、適応則入力Uadp(k)、非線形入力Unl(k)、及びダンピング入力Udamp(k)を算出し、それらの入力の総和として、デューティ比DUT(k)を算出することができる。
【0042】
次にモデルパラメータ同定器22の動作原理を説明する。
モデルパラメータ同定器22は、前述したように制御対象の入力MDUTYFを補正することにより得られる補正制御入力DUTVL及び制御対象の出力(DTH(n))に基づいて、制御対象モデルのモデルパラメータベクトルを算出する。具体的には、モデルパラメータ同定器22は、下記式(16)による逐次型同定アルゴリズム(一般化逐次型最小2乗法アルゴリズム)により、モデルパラメータベクトルθ(n)を算出する。
θ(n)=θ(n-1)+KP(n)ide(n) (16)
θ(n)T=[a1”,a2”,b1”,c1”] (17)
【0043】
ここで、a1”,a2”,b1”及びc1”は、後述する第1リミット処理を実施する前のモデルパラメータである。またide(n)は、下記式(18)、(19)及び(20)により定義される同定誤差である。DTHHAT(n)は、最新のモデルパラメータベクトルθ(n-1)を用いて算出される、スロットル弁開度偏差量DTH(n)の推定値(以下「推定スロットル弁開度偏差量」という)である。KP(n)は、下記式(21)により定義されるゲイン係数ベクトルである。また、式(21)のP(n)は、下記式(22)により算出される4次の正方行列である。
【0044】
【数3】
【数4】
式(20)に示すように、本実施形態では、デューティ比DUTに代えて補正制御入力DUTVLを用いて、モデルパラメータベクトルθの同定が行われる。
【0045】
式(22)の係数λ1,λ2の設定により、式(16)〜(22)による同定アルゴリズムは、以下のような4つの同定アルゴリズムのいずれかになる。
λ1=1,λ2=0 固定ゲインアルゴリズム
λ1=1,λ2=1 最小2乗法アルゴリズム
λ1=1,λ2=λ 漸減ゲインアルゴリズム(λは0,1以外の所定値)
λ1=λ,λ2=1 重み付き最小2乗法アルゴリズム(λは0,1以外の所定値)
【0046】
演算量の低減のために固定ゲインアルゴリズムを採用すると、式(21)は、下記式(21a)にように簡略化される。式(21a)においてPは、定数を対角要素とする正方行列である。
【数5】
【0047】
式(16)〜(20),及び(21a)により演算されるモデルパラメータは、所望値から徐々にずれていく場合がある。すなわち、モデルパラメータがある程度収束した後に、スロットル弁の摩擦特性などの非線形特性によって生じる残留同定誤差が存在したり、平均値がゼロでない外乱が定常的に加わるような場合には、残留同定誤差が蓄積し、モデルパラメータのドリフトが引き起こされる。このようなモデルパラメータのドリフトを防止すべく、モデルパラメータベクトルθ(n)は、上記式(16)に代えて、下記式(16a)により算出される。
【0048】
ここで、DELTAは下記式(23)で示すように、忘却係数δi(i=1〜4)を対角要素とし、他の要素がすべて「0」である忘却係数行列である。
【数6】
忘却係数δi(i=1〜3)は、0から1の間の値に設定され(0<δi<1)、過去の同定誤差の影響を徐々に減少させる機能を有する。式(23)では、モデルパラメータc1”の演算にかかる忘却係数δ4は、通常は「1」に設定されており、過去値の影響が保持されるようになっている。このように、忘却係数行列DELTAの対角要素の一部、すなわちモデルパラメータc1”の演算にかかる忘却係数δ4を「1」とすることにより、目標値DTHRと、スロットル弁開度偏差量DTHとの定常偏差が発生することを防止することができる。ただし、後述するようにスロットル弁3の全閉位置の学習処理が終了した直後においては、学習処理中のモデルパラメータc1”の同定値の影響を排除するために、係数δ4は「0」に設定される。また忘却係数行列DELTAの他の対角要素δ1,δ2及びδ3を「0」より大きく「1」より小さい値に設定することにより、モデルパラメータのドリフトが防止される。
【0049】
式(16a)を漸化式形式に書き直すと、下記式(16b)(16c)が得られる。前記式(16)に代えて下記式(16b)及び(16c)を用いてモデルパラメータベクトルθ(n)を算出する手法を、以下δ修正法といい、式(16c)で定義されるdθ(n)を「更新ベクトル」という。
θ(n)=θ(0)+dθ(n) (16b)
dθ(n)=DELTA・dθ(n-1)+KP(n)ide(n) (16c)
【0050】
δ修正法を用いたアルゴリズムによれば、ドリフト防止効果とともに、モデルパラメータの安定化効果も得られる。すなわち、初期値ベクトルθ(0)が常に保存され、更新ベクトルdθ(n)も忘却係数行列DELTAの働きにより、その要素のとりうる値が制限されるので、各モデルパラメータを初期値近傍に安定させることができる。
【0051】
さらに実際の制御対象の入出力データに基づいた同定により更新ベクトルdθ(n)を調整しつつモデルパラメータを算出するので、実際の制御対象に適合したモデルパラメータを算出できる。
さらに上記式(16b)の初期値ベクトルθ(0)に代えて、基準モデルパラメータベクトルθbaseを用いる下記式(16d)により、モデルパラメータベクトルθ(n)を算出することが望ましい。
θ(n)=θbase+dθ(n) (16d)
【0052】
基準モデルパラメータベクトルθbaseは、モデルパラメータスケジューラ25により目標値DTHRに応じて設定されるので、スロットル弁開度THの変化に対応する動特性の変化に適応させることができる。
【0053】
本実施形態では、さらに同定誤差ide(n)のローパスフィルタ処理を行う。ローパス特性(高周波成分が減衰する特性)を有する制御対象について、モデルパラメータ同定器22によりモデルパラメータを同定すると、同定されたモデルパラメータは高周波域阻止特性に大きく影響されたものとなるため、低周波域での制御対象モデルのゲインが実際の特性より低くなる。その結果、スライディングモードコントローラ21による制御入力の補正が過補正となる。
【0054】
そこで、ローパスフィルタ処理により、制御対象モデルの周波数特性を実際の周波数特性と一致させ、あるいは制御対象モデルの低域ゲインが実際の低域ゲインよりやや高くなるように修正することとした。これにより、コントローラ21による過補正を防止し、制御系のロバスト性を高めて制御系をより安定化させることができる。
【0055】
なお、ローパスフィルタ処理は、同定誤差の過去値ide(n-i)(例えばi=1〜10に対応する10個の過去値)をリングバッファに記憶し、それらの過去値に重み係数を乗算して加算することにより実行する。
【0056】
ローパスフィルタ処理を施した同定誤差を下記式(30)で示すように、idef(n)と表すこととすると、前記式(16c)に代えて、下記式(16e)を用いて更新ベクトルdθ(n)が算出される。
idef(n)=LF(ide(n)) (30)
dθ(n)=DELTA・dθ(n-1)+KP(n)idef(n) (16e)
【0057】
上述したように本実施形態では、適応スライディングモードコントローラ21,モデルパラメータ同定器22及びモデルパラメータスケジューラ25を同定周期ΔTIDをサンプリング周期(制御周期)とするモデルに基づいて構成され、適応スライディングモードコントローラ21は制御周期ΔTCTL毎に、制御入力を演算し、モデルパラメータ同定器22は、同定周期ΔTID毎にモデルパラメータベクトルθを同定し、モデルパラメータスケジューラ25は、同定周期ΔTID毎に基準モデルパラメータベクトルθbaseを算出するようにした。
【0058】
このような演算タイミングを採用すると、コントローラ21による制御入力DUTの更新周期より、制御入力DUTの演算に用いるモデルパラメータの更新周期の方が長くなるため、モデルパラメータの更新周期が制御入力DUTに影響し、制御系の共振が発生する可能性がある。
【0059】
そこで、本実施形態ではそのような共振を防止すべく、同定周期ΔTIDで同定されるモデルパラメータを、制御周期ΔTCTLでサンプリング(オーバサンプリング)してリングバッファに格納し、そのリングバッファに格納したデータを移動平均化処理して得られる値をモデルパラメータとして使用している。
【0060】
式(16d)により算出されるモデルパラメータベクトルθ(n)の要素a1”,a2”,b1”,及びc1”は、制御系のロバスト性を高めるために、以下に説明するリミット処理が施される。
【0061】
図3は、モデルパラメータa1”及びa2”のリミット処理を説明するための図であり、モデルパラメータa1”を横軸とし、モデルパラメータa2”を縦軸として定義される平面が示されている。モデルパラメータa1”及びa2”は、同図にハッチングを付して示す安定領域の外側にあるときには、安定領域の外縁部に対応する値に変更するリミット処理が行われる。
【0062】
またモデルパラメータb1”は、上限値XIDB1Hと下限値XIDB1Lの範囲外であるときは、上限値XIDB1Hまたは下限値XIDB1Lに変更するリミット処理が行われ、モデルパラメータc1”は、上限値XIDC1Hと下限値XIDC1Lの範囲外であるときは、上限値XIDC1Hまたは下限値XIDC1Lに変更するリミット処理が行われる。
【0063】
以上のリミット処理(第1リミット処理)を数式では下記式(31)のように表現する。θ*(n)は、リミット処理後のモデルパラメータベクトルであり、その要素は下記式(32)のように表す。
θ*(n)=LMT(θ(n)) (31)
θ*(n)T=[a1*(n),a2*(n),b1*(n),c1*(n)] (32)
【0064】
従来は、式(16e)により更新ベクトルdθ(n)を算出する際に用いる、前回の更新ベクトルdθ(n-1)と、式(19)により推定スロットル弁開度偏差量DTHHATを算出する際に用いる前回のモデルパラメータベクトルθ(n-1)とは、上記リミット処理を行う前のモデルパラメータを用いていたが、本実施形態では、前回の更新ベクトルdθ(n-1)としては、下記式(33)で算出されるものを用い、推定スロットル弁開度偏差量DTHHATの算出に使用する前回のモデルパラメータベクトルとしては、下記式(19a)に示すように、リミット処理後のモデルパラメータベクトルθ*(n-1)を用いることとした。
dθ(n-1)=θ*(n-1)−θbase(n-1) (33)
DTHHAT(n)=θ*(n-1)Tζ(n) (19a)
【0065】
次にその理由を説明する。
モデルパラメータa1”及びa2”で決まる座標(以下「モデルパラメータ座標」という)が図3(b)の点PA1にある場合には、リミット処理により、モデルパラメータ座標が安定領域の外縁に位置する点PALに移動する。このときスロットル弁開度偏差量DTHが変化し、モデルパラメータa1”及びa2”が収束すべきモデルパラメータ座標が、点PA2へ変化した場合には、点PA1から点PA2への移動は、点PALからPA2への移動に比べて遅くなる。つまり、適応スライディングモードコントローラ21による制御を、制御対象の動特性変化へ適応させる際にむだ時間が生じ、制御性が低下するおそれがある。
【0066】
そこで本実施形態では、リミット処理後のモデルパラメータベクトルθ*(n-1)を式(33)及び(19a)に適用して、今回のモデルパラメータベクトルθ(n)を算出するようにした。
第1リミット処理後のモデルパラメータベクトルθ*(n)を時刻kでオーバサンプリングすることにより得られるモデルパラメータベクトルθ*(k)は、下記式(32a)で表される。
【0067】
このオーバサンプリングしたモデルパラメータベクトルθ*(k)の移動平均化演算を行うことにより得られるモデルパラメータベクトルθ’(k)を下記式(32b)で表すこととすると、θ’(k)の要素a1’(k),a2’(k),b1’(k),及びc1’(k)は、下記式(34)〜(37)により算出される。
【0068】
【数7】
ここで(m+1)は、移動平均化演算を行うデータの数であり、「m」は例えば「4」に設定される。
【0069】
次に下記式(38)に示すように、モデルパラメータベクトルθ’(k)に対して、前述したリミット処理と同様のリミット処理(第2リミット処理)を行うことにより、修正モデルパラメータベクトルθL(k)(式(39))を算出する。移動平均化演算により、モデルパラメータa1’及び/またはa2’が、図3に示した安定領域から外れる場合があるからである。モデルパラメータb1’及びc1’については、移動平均化演算によりリミット範囲から外れることはないので、実質的にはリミット処理は行われない。
θL(k)=LMT(θ’(k)) (38)
θL(k)T=[a1,a2,b1,c1] (39)
【0070】
次に上述した適応スライディングモードコントローラ21、モデルパラメータ同定器22、モデルパラメータスケジューラ25、電圧補正部28、リミッタ29、DUTYEMF算出部30、加算器31、及び逆電圧補正部32の機能を実現するための、ECU7のCPUにおける演算処理を説明する。
【0071】
図4は、スロットル弁開度制御の全体フローチャートであり、この処理は所定時間(例えば2msec)毎にECU7のCPUで実行される。
ステップS11では、図5に示す状態変数設定処理を実行する。すなわち、式(2)及び(3)の演算を実行し、スロットル弁開度偏差量DTH(k)及び目標値DTHR(k)を算出する(図5,ステップS31及びS32)。なお、今回値であることを示す(k)または(n)は、省略して示す場合がある。
【0072】
ステップS12では、カウンタIDCOUNTの値が「0」であるか否かを判別する。カウンタIDCOUNTは、最初は「0」に設定されているので、ステップS12からステップS14に進み、図6に示すモデルパラメータの同定演算処理、すなわちモデルパラメータベクトルθ(n)の算出処理を実行する。次いで、図9に示す第1リミット処理を実行し、モデルパラメータベクトルθ*(n)を算出する(ステップS15)。具体的には、モデルパラメータベクトルθ(n)のリミット処理が実行され、モデルパラメータベクトルθ*(n)が算出される。算出されたモデルパラメータベクトルの要素a1*(n),a2*(n),b1*(n),及びc1*(n)は、オーバサンプリング処理のためにそれぞれ所定数Nずつリングバッファに格納される。すなわち、θ*(k),θ*(k+1),…,θ*(k+N-1)が、リングバッファに格納される。所定数Nは、制御周期ΔTCTLと同定周期ΔTIDとの比(ΔTID/ΔTCTL)であり、例えば「5」に設定される。
【0073】
ステップS16では、カウンタIDCOUNTに所定数Nが設定される。したがって、本処理の次の実行時には、ステップS12の答が否定(NO)となり、カウンタIDCOUNTの値が「1」だけデクリメントされ(ステップS13)、ステップS17に進む。すなわち、ステップS14〜S16の処理は、N回に1回の割合で実行される。
【0074】
ステップS17では、リミット処理後のモデルパラメータベクトルθ*(n)の移動平均化演算によりモデルパラメータベクトルθ’(k)を算出する。具体的には、前記リングバッファに格納されたモデルパラメータを式(34)〜(37)に適用して、モデルパラメータa1’(k),a2’(k),b1’(k),及びc1’(k)が算出される。
【0075】
ステップS18では、図14に示す第2リミット処理を実行する。すなわち、ステップS17で算出されたモデルパラメータa1’(k)及びa2’(k)のリミット処理が実行され、修正モデルパラメータベクトルθL(k)が算出される。尚、モデルパラメータb1’(k)及びc1’(k)は、それぞれそのまま修正モデルパラメータベクトルθL(k)の要素b1(k)及びc1(k)となる。
【0076】
ステップS19では、図15に示す制御量Usl(k)の演算処理を実行する。すなわち、等価制御入力Ueq(k)、到達則入力Urch(k)、適応則入力Uadp(k)、非線形入力Unl(k)、及びダンピング入力Udamp(k)を算出し、それらの入力の総和として、制御量Usl(k)(=デューティ比DUT(k))を算出する。
【0077】
ステップS20では、図23に示すスライディングモードコントローラの安定判別処理を実行する。すなわち、リアプノフ関数の微分値に基づく安定判別を行い、安定判別フラグFSMCSTABの設定を行う。この安定判別フラグFSMCSTABは、制御量Usl(k)の演算実行時に参照される。
【0078】
ステップS21では、図24に示す電圧補正及びリミット処理を実行する。すなわち、バッテリ電圧VBに応じたデューティ比DUTの補正を行い、補正制御量MDUTYBを算出し、さらに補正制御量MDUTYBのリミット処理を行って最終制御量MDUTYFを算出する。
【0079】
ステップS21では、図25に示すDUTVL算出処理を実行する。すなわち、デューティ補正量DUTYEMFの算出、デューティ補正量DUTYEMFによる最終制御量MDUTYFの補正、及び逆電圧補正を行い、補正制御入力DUTVLを算出する。
【0080】
図6は、図4のステップS14においてモデルパラメータの同定演算を行う処理のフローチャートである。
ステップS41では、式(21a)によりゲイン係数ベクトルKP(n)を算出し、次いで式(19a)により推定スロットル弁開度偏差量DTHHAT(n)を算出する(ステップS42)。
【0081】
ステップS43では、図8に示すide(n)の演算処理を実行し、同定誤差ide(n)を算出する。ステップS44では、式(16e)及び(33)により更新ベクトルdθ(n)を算出し、次いで目標値DTHRに応じて図7に示すθbaseテーブルを検索し、基準モデルパラメータベクトルθbaseを算出する(ステップS45)。θbaseテーブルには、実際には基準モデルパラメータa1base及びa2baseが設定されており、基準モデルパラメータb1baseは、モデルパラメータb1の最小値XIDB1Lに設定される。また、基準モデルパラメータc1baseは、「0」に設定される。
ステップS46では、式(16d)によりモデルパラメータベクトルθ(n)を算出し、本処理を終了する。
【0082】
図8は、図6のステップS43で実行される同定誤差ide(n)の演算処理のフローチャートである。
ステップS51では、式(18)により同定誤差ide(n)を算出する。次いで、ステップS53でインクリメントされるカウンタCNTIDSTの値が、制御対象のむだ時間dに応じて設定される所定値XCNTIDST(本実施形態では、むだ時間dを「0」と近似しているので、「2」に設定される)より大きいか否かを判別する(ステップS52)。カウンタCNTIDSTの初期値は「0」であるので、最初はステップS53に進み、カウンタCNTIDSTを「1」だけインクリメントし、同定誤差ide(k)を「0」に設定して(ステップS54)、ステップS55に進む。モデルパラメータベクトルθ(n)の同定を開始した直後は、式(18)による演算で正しい同定誤差が得られないので、ステップS52〜S54により、式(18)による演算結果を用いずに同定誤差ide(n)を「0」に設定するようにしている。
【0083】
ステップS52の答が肯定(YES)となると、直ちにステップS55に進む。
ステップS55では、同定誤差ide(n)のローパスフィルタ処理を行う。すなわち、制御対象モデルの周波数特性を修正するための処理が実行される。
【0084】
ステップS56では、同定誤差ide(n)が所定上限値IDEMAX(例えば0.2)より大きいか否かを判別し、ide(n)>IDEMAXであるときは、同定誤差ide(n)をその所定上限値IDEMAXに設定する(ステップS57)。
ステップS56で同定誤差ide(n)が所定上限値IDEMAX以下であるときは、同定誤差ide(n)が所定下限値IDEMIN(例えば−0.15)より小さいか否かを判別する(ステップS58)。ide(n)<IDEMINであるときは、同定誤差ide(n)をその所定下限値IDEMINに設定する(ステップS59)。
ステップS58の答が否定(NO)であるときは、直ちに本処理を終了する。
【0085】
図9は、図4のステップS15で実行される第1リミット処理のフローチャートである。
ステップS71では、この処理で使用されるフラグFA1STAB,FA2STAB,FB1LMT及びFC1LMTをそれぞれ「0」に設定することにより、初期化を行う。そして、ステップS72では、図10に示すa1”及びa2”のリミット処理を実行し、ステップS73では、図12に示すb1”のリミット処理を実行し、ステップS74では、図13に示すc1”のリミット処理を実行する。
【0086】
図10は、図9のステップS72で実行されるa1”及びa2”のリミット処理のフローチャートである。図11は、図10の処理を説明するための図であり、図10とともに参照する。
図11においては、リミット処理が必要なモデルパラメータa1”とa2”の組み合わせが「×」で示され、また安定なモデルパラメータa1”及びa2”の組み合わせの範囲がハッチングを付した領域(以下「安定領域」という)で示されている。図10の処理は、安定領域外にあるモデルパラメータa1”及びa2”の組み合わせを、安定領域内(「○」で示す位置)に移動させる処理である。
【0087】
ステップS81では、モデルパラメータa2”が、所定a2下限値XIDA2L以上か否かを判別する。所定a2下限値XIDA2Lは、「−1」より大きい負の値に設定される。所定a2下限値XIDA2Lは、「−1」に設定しても、安定なモデルパラメータa1*,a2*が得られるが、下記式(40)で定義される行列Aのn乗が不安定となる(これは、a1”及びa2”が発散はしないが振動することを意味する)場合があるので、「−1」より大きな値に設定される。
【数8】
【0088】
ステップS81でa2”<XIDA2Lであるときは、モデルパラメータa2*を、この下限値XIDA2Lに設定するとともに、a2安定化フラグFA2STABを「1」に設定する(ステップS82)。a2安定化フラグFA2STABは「1」に設定されると、モデルパラメータa2*を下限値XIDA2Lに設定したことを示す。図11においては、ステップS81及びS82のリミット処理P1によるモデルパラメータの修正が、「P1」を付した矢線(矢印を付した線)で示されている。
【0089】
ステップS81の答が肯定(YES)、すなわちa2”≧XIDA2Lであるときは、モデルパラメータa2*はモデルパラメータa2”に設定される(ステップS83)。
ステップS84及びステップS85では、モデルパラメータa1”が、所定a1下限値XIDA1Lと所定a1上限値XIDA1Hできまる範囲内にあるか否かを判別する。所定a1下限値XIDA1Lは、−2以上且つ0より小さい値に設定され、所定a1上限値XIDA1Hは、例えば2に設定される。
【0090】
ステップS84及びS85の答がいずれも肯定(YES)であるとき、すなわちXIDA1L≦a1”≦XIDA1Hであるときは、モデルパラメータa1*はモデルパラメータa1”に設定される(ステップS88)。
一方a1”<XIDA1Lであるときは、モデルパラメータa1*を下限値XIDA1Lに設定するとともに、a1安定化フラグFA1STABを「1」に設定する(ステップS84,S86)。またa1”>XIDA1Hであるときは、モデルパラメータa1*を上限値XIDA1Hに設定するとともに、a1安定化フラグFA1STABを「1」に設定する(ステップS85,S87)。a1安定化フラグFA1STABは、「1」に設定されると、モデルパラメータa1*を下限値XIDA1Lまたは上限値XIDA1Hに設定したことを示す。図11においては、ステップS84〜S87のリミット処理P2によるモデルパラメータの修正が、「P2」を付した矢線で示されている。
【0091】
ステップS90では、モデルパラメータa1*の絶対値とモデルパラメータa2*の和が、所定安定判定値XA2STAB以下であるか否かを判別する。所定安定判定値XA2STABは、「1」に近く「1」より小さい値(例えば0.99)に設定される。
【0092】
図11に示す直線L1及びL2は、下記式(41)を満たす直線である。
a2*+|a1*|=XA2STAB (41)
したがって、ステップS90は、モデルパラメータa1*及びa2*の組み合わせが、図11に示す直線L1及びL2の線上またはその下側にあるか否かを判別している。ステップS90の答が肯定(YES)であるときは、モデルパラメータa1*及びa2*の組み合わせは、図11の安定領域内にあるので、直ちに本処理を終了する。
【0093】
一方ステップS90の答が否定(NO)であるときは、モデルパラメータa1*が、所定安定判定値XA2STABから所定a2下限値XIDA2Lを減算した値(XIDA2L<0であるので、XA2STAB−XIDA2L>XA2STABが成立する)以下か否かを判別する(ステップS91)。そしてモデルパラメータa1*が(XA2STAB−XIDA2L)以下であるときは、モデルパラメータa2*を(XA2STAB−|a1*|)に設定するとともに、a2安定化フラグFA2STABを「1」に設定する(ステップS92)。
【0094】
ステップS91でモデルパラメータa1*が(XA2STAB−XIDA2L)より大きいときは、モデルパラメータa1*を(XA2STAB−XIDA2L)に設定し、モデルパラメータa2*を所定a2下限値XIDA2Lに設定するとともに、a1安定化フラグFA1STAB及びa2安定化フラグFA2STABをともに「1」に設定する(ステップS93)。
【0095】
図11においては、ステップS91及びS92のリミット処理P3によるモデルパラメータの修正が、「P3」を付した矢線で示されており、またステップS91及びS93のリミット処理P4によるモデルパラメータの修正が、「P4」を付した矢線で示されている。
【0096】
以上のように図10の処理により、モデルパラメータa1”及びa2”が図11に示す安定領域内に入るようにリミット処理が実行され、モデルパラメータa1*及びa2*が算出される。
【0097】
図12は、図9のステップS73で実行されるb1”のリミット処理のフローチャートである。
ステップS101及びS102では、モデルパラメータb1”が、所定b1下限値XIDB1Lと所定b1上限値XIDB1Hできまる範囲内にあるか否かを判別する。所定b1下限値XIDB1Lは、正の所定値(例えば0.1)に設定され、所定b1上限値XIDB1Hは、例えば「1」に設定される。
【0098】
ステップS101及びS102の答がいずれも肯定(YES)であるとき、すなわちXIDB1L≦b1”≦XIDB1Hであるときは、モデルパラメータb1*はモデルパラメータb1”に設定される(ステップS105)。
【0099】
一方b1”<XIDB1Lであるときは、モデルパラメータb1*を下限値XIDB1Lに設定するとともに、b1リミットフラグFB1LMTを「1」に設定する(ステップS101,S104)。またb1”>XIDB1Hであるときは、モデルパラメータb1*を上限値XIDB1Hに設定するとともに、b1リミットフラグFB1LMTを「1」に設定する(ステップS102,S103)。b1リミットフラグFB1LMTは、「1」に設定されると、モデルパラメータb1*を下限値XIDB1Lまたは上限値XIDB1Hに設定したことを示す。
【0100】
図13は、図9のステップS74で実行されるモデルパラメータc1”のリミット処理のフローチャートである。
ステップS111及びS112では、モデルパラメータc1”が、所定c1下限値XIDC1Lと所定c1上限値XIDC1Hできまる範囲内にあるか否かを判別する。所定c1下限値XIDC1Lは、例えば−60に設定され、所定c1上限値XIDC1Hは、例えば60に設定される。
【0101】
ステップS111及びS112の答がいずれも肯定(YES)であるとき、すなわちXIDC1L≦c1”≦XIDC1Hであるときは、モデルパラメータc1*はモデルパラメータc1”に設定される(ステップS115)。
【0102】
一方c1”<XIDC1Lであるときは、モデルパラメータc1*を下限値XIDC1Lに設定するとともに、c1リミットフラグFC1LMTを「1」に設定する(ステップS111,S114)。またc1”>XIDC1Hであるときは、モデルパラメータc1*を上限値XIDC1Hに設定するとともに、c1リミットフラグFC1LMTを「1」に設定する(ステップS112,S113)。c1リミットフラグFC1LMTは、「1」に設定されると、修正モデルパラメータc1を下限値XIDC1Lまたは上限値XIDC1Hに設定したことを示す。
【0103】
図14は、図4のステップS18で実行される第2リミット処理のフローチャートである。この処理は、図10の処理の「a1”」及び「a2”」をそれぞれ「a1’」及び「a2’」に置換し、「a1*」及び「a2*」をそれぞれ「a1」及び「a2」に置換したものであり、処理の内容は実質的に同一である。すなわち、移動平均化処理されたモデルパラメータa1’及びa2’について、図10と同様のリミット処理がステップS121〜S133で実行され、修正モデルパラメータa1及びa2が算出される。
【0104】
図15は、図4のステップS19で実行されるUsl算出処理のフローチャートである。
ステップS201では、図16に示す切換関数値σの演算処理を実行し、ステップS202では、前記式(8a)により、等価制御入力Ueqを算出する。ステップS203では、図19に示す到達則入力Urchの演算処理を実行し、ステップS204では、図20に示す適応則入力Uadpの演算処理を実行する。ステップS205では、図21に示す非線形入力Unlの演算処理を実行し、ステップS207では、図22に示すダンピング入力Udampの演算処理を実行する。
【0105】
ステップS208では、後述する図23の処理で設定される安定判別フラグFSMCSTABが「1」であるか否かを判別する。安定判別フラグFSMCSTABは、「1」に設定されると、適応スライディングモードコントローラ21が不安定となっていることを示す。
【0106】
ステップS208でFSMCSTAB=0であって適応スライディングモードコントローラ21が安定であるときは、ステップS202〜S207で算出された制御入力Ueq,Urch,Uadp,Unl,及びUdampを加算することにより、制御量Uslを算出する(ステップS209)。
【0107】
一方FSMCSTAB=1であって適応スライディングモードコントローラ21が不安定となっているときは、到達則入力Urch及び適応則入力Uadpの和を、制御量Uslとして算出する。すなわち、等価制御入力Ueq、非線形入力Unl,及びダンピング入力Udampを、制御量Uslの算出に使用しないようにする。これにより、制御系が不安定化することを防止することができる。
【0108】
続くステップS211及びS212では、算出した制御量Uslが所定上下限値XUSLH及びXUSLLの範囲内にあるか否かを判別し、制御量Uslが所定上下限値の範囲内にあるときは、直ちに本処理を終了する。一方、制御量Uslが所定下限値XUSLL以下であるときは、制御量Uslを所定下限値XUSLLに設定し(ステップS211,S214)、制御量Uslが所定上限値XUSLH以上であるときは、制御量Uslを所定上限値XUSLHに設定する(ステップS212,S213)。
【0109】
図16は、図15のステップS201で実行される切換関数値σの演算処理のフローチャートである。
ステップS221では、図17に示すVPOLE演算処理実行し、切換関数設定パラメータVPOLEを算出する。次いで前記式(5a)により、切換関数値σ(k)を算出する(ステップS222)。
【0110】
続くステップS223及びS224では、算出した切換関数値σ(k)が所定上下限値XSGMH及びXSGMLの範囲内にあるか否かを判別し、切換関数値σ(k)が所定上下限値の範囲内にあるときは、直ちに本処理を終了する。一方、切換関数値σ(k)が所定下限値XSGML以下であるときは、切換関数値σ(k)を所定下限値XSGMLに設定し(ステップS223,S225)、切換関数値σ(k)が所定上限値XSGMH以上であるときは、切換関数値σ(k)を所定上限値XSGMHに設定する(ステップS224,S226)。
【0111】
図17は、図16のステップS221で実行されるVPOLE演算処理のフローチャートである。
ステップS231では、安定判別フラグFSMCSTABが「1」であるか否かを判別し、FSMCSTAB=1であって適応スライディングモードコントローラ21が不安定となっているときは、切換関数設定パラメータVPOLEを安定化所定値XPOLESTBに設定する(ステップS232)。安定化所定値XPOLESTBは、「−1」より大きく「−1」に非常に近い値(例えば−0.999)に設定される。
【0112】
FSMCSTAB=0であって適応スライディングモードコントローラ21が安定であるときは、スロットル弁開度偏差量DTHに応じて図18に示すVPOLEテーブルを検索し、切換関数設定パラメータVPOLEを算出する(ステップS234)。VPOLEテーブルは、スロットル弁開度偏差量DTHが0近傍の値をとるとき(スロットル弁開度THがデフォルト開度THDEF近傍の値をとるとき)、VPOLE値が増加し、0近傍以外の値ではスロットル弁開度偏差量DTHの変化に対してはほぼ一定の値となるように設定されている。したがって、スロットル弁開度THがデフォルト開度THDEF近傍にあるときは、切換関数設定パラメータVPOLEが比較的大きな値に設定され、デフォルト開度THDEF近傍における制御性を向上させることができる。
【0113】
続くステップS235及びS236では、算出した切換関数設定パラメータVPOLEが所定上下限値XPOLEH及びXPOLELの範囲内にあるか否かを判別し、切換関数設定パラメータVPOLEが所定上下限値の範囲内にあるときは、直ちに本処理を終了する。一方、切換関数設定パラメータVPOLEが所定下限値XPOLEL以下であるときは、切換関数設定パラメータVPOLEを所定下限値XPOLELに設定し(ステップS236,S238)、切換関数設定パラメータVPOLEが所定上限値XPOLEH以上であるときは、切換関数設定パラメータVPOLEを所定上限値XPOLEHに設定する(ステップS235,S237)。
【0114】
図19は、図15のステップS203で実行される到達則入力Urchの演算処理のフローチャートである。
ステップS251では、切換関数値σが所定下限値−XSGMSL以下であるか否かを判別し、σ≦−XSGMSLであるときは、切換関数パラメータSGMSをその所定下限値−XSGMSLに設定する(ステップS252)。σ>−XSGMSLであるときは、切換関数値σが所定上限値XSGMSL以上であるか否かを判別する(ステップS253)。そして、σ≧XSGMSLであるときは、切換関数パラメータSGMSをその上限値XSGMSLに設定する(ステップS254)。また切換関数値σが所定下限値−XSGMSLと所定上限値XSGMSLとの間にあるときは、切換関数パラメータSGMSを切換関数値σに設定する(ステップS255)。
【0115】
ステップS251〜S255により、到達則入力Urchの算出に使用する切換関数値σのリミット処理が行われる。切換関数パラメータSGMSは、リミット処理後の切換関数値σに相当するパラメータである。このリミット処理により、目標値DTHRが急変した場合において、スロットル弁開度偏差量DTHの目標値DTHRに対するオーバシュートが発生することを防止することができる。
【0116】
続くステップS261では、安定判別フラグFSMCSTABが「1」であるか否かを判別する。安定判別フラグFSMCSTABが「0」であって適応スライディングモードコントローラ21が安定であるときは、切換関数値σに応じて制御ゲインFを設定する(ステップS262)。
【0117】
次いで、下記式(42)に、切換関数パラメータSGMS、制御ゲインFを適用して、到達則入力Urch(k)を算出する(ステップS263)。式(42)は、前記式(9)の切換関数値σ(k)を切換関数パラメータSGMSに置き換えたものである。
Urch=−F×SGMS/b1 (42)
一方安定判別フラグFSMCSTABが「1」であって適応スライディングモードコントローラ21が不安定となったときは、制御ゲインFを、所定安定化ゲインXKRCHSTBに設定し(ステップS264)、モデルパラメータb1を使わない下記式(43)により到達則入力Urchを算出する(ステップS265)。
Urch=−F×SGMS (43)
【0118】
続くステップS266及びS267では、算出した到達則入力Urchが所定上下限値XURCHH及びXURCHLの範囲内にあるか否かを判別し、到達則入力Urchが所定上下限値の範囲内にあるときは、直ちに本処理を終了する。一方、到達則入力Urchが所定下限値XURCHL以下であるときは、到達則入力Urchを所定下限値XURCHLに設定し(ステップS266,S268)、到達則入力Urchが所定上限値XURCHH以上であるときは、到達則入力Urchを所定上限値XURCHHに設定する(ステップS267,S269)。
【0119】
このように適応スライディングモードコントローラ21が不安定となったときは、制御ゲインFを所定安定化ゲインXKRCHSTBに設定するとともに、モデルパラメータb1を使用しないで到達則入力Urchを算出することにより、適応スライディングモードコントローラ21を安定な状態に戻すことができる。モデルパラメータ同定器22による同定が不安定となった場合に、適応スライディングモードコントローラ21が不安定となるので、不安定となったモデルパラメータb1を使わないことによって、適応スライディングモードコントローラ21を安定化することができる。
【0120】
図20は、図15のステップS204で実行される適応則入力Uadpの演算処理のフローチャートである。
ステップS271では、切換関数値σが所定下限値−XSGMSL以下であるか否かを判別し、σ≦−XSGMSLであるときは、切換関数パラメータSGMSをその所定下限値−XSGMSLに設定する(ステップS272)。σ>−XSGMSLであるときは、切換関数値σが所定上限値XSGMSL以上であるか否かを判別する(ステップS273)。そして、σ≧XSGMSLであるときは、切換関数パラメータSGMSをその上限値XSGMSLに設定する(ステップS274)。また切換関数値σが所定下限値−XSGMSLと所定上限値XSGMSLとの間にあるときは、切換関数パラメータSGMSを切換関数値σに設定する(ステップS275)。
【0121】
ステップS271〜S275により、適応則入力Uadpに使用する切換関数値σのリミット処理が行われる。切換関数パラメータSGMSは、リミット処理後の切換関数値σに相当するパラメータである。このリミット処理により、目標値DTHRが急変した場合において、スロットル弁開度偏差量DTHの目標値DTHRに対するオーバシュートが発生することを防止することができる。
【0122】
続くステップS276では、安定判別フラグFSMCSTABが「1」であるか否かを判別し、FSMCSTAB=0であって適応スライディングモードコントローラ21が安定であるときは、切換関数値σに応じて制御ゲインGを設定する(ステップS279)。
【0123】
次いで下記式(44)に切換関数パラメータSGMS、制御ゲインGを適用して、適応則入力Uadp(k)を算出する(ステップS280)。式(44)は、前記式(10)の切換関数値σ(k)を切換関数パラメータSGMSに置き換えたものである。
Uadp(k)=Uadp(k-1)−G×SGMS×ΔTCTL/b1 (44)
【0124】
一方ステップS276でFSMCSTAB=1であって適応スライディングモードコントローラ21が不安定であるときは、制御ゲインGを所定安定化ゲインXKADPSTBに設定し(ステップS277)、下記式(45)により、適応則入力Uadp(k)を算出する(ステップS278)。式(45)は式(44)のモデルパラメータb1を削除することにより得られる式である。
Uadp(k)=Uadp(k-1)−G×SGMS×ΔTCTL (45)
【0125】
続くステップS281及びS282では、算出した適応則入力Uadpが所定上下限値XUADPH及びXUADPLの範囲内にあるか否かを判別し、適応則入力Uadpが所定上下限値の範囲内にあるときは、直ちに本処理を終了する。一方、適応則入力Uadpが所定下限値XUADPL以下であるときは、適応則入力Uadpを所定下限値XUADPLに設定し(ステップS282,S284)、適応則入力Uadpが所定上限値XUADPH以上であるときは、適応則入力Uadpを所定上限値XUADPHに設定する(ステップS281,S283)。
【0126】
図21は、図15のステップS205で実行される非線形入力Unlの演算処理のフローチャートである。
ステップS301では、スロットル弁開度偏差量DTHに応じて非線形入力ゲインKnlを算出する。ステップS302では、切換関数値σが所定下限値−XNLTH以下であるか否かを判別し、σ>−XNLTHであるときは、切換関数値σが所定上限値XNLTH以上であるか否かを判別する(ステップS304)。切換関数値σが所定上限値XNLTHと所定下限値−XNLTHの間にあるときは、非線形入力パラメータSNLを切換関数値σに設定する(ステップS306)。
【0127】
切換関数値σが所定下限値−XNLTH以下であるときは、非線形入力パラメータSNLを「−1」に設定し(ステップS303)、切換関数値σが所定上限値XNLTH以上であるときは、非線形入力パラメータSNLを「1」に設定する(ステップS305)
続くステップS307では、下記式(46)により、非線形入力Unl(k)を算出する。
Unl(k)=−Knl×SNL/b1 (46)
【0128】
図21の処理では、前記式(11)の符号関数sgn(σ(k))に代えて、非線形入力パラメータSNLを用い、切換関数値σの絶対値が小さい所定範囲内では、切換関数値σをそのまま適用される。これにより、非線形入力Unlに起因する微少振動(チャタリング)を抑制することができる。
【0129】
図22は、図15のステップS207で実行されるダンピング入力Udampの演算処理のフローチャートである。
【0130】
ステップS331では、前記式(15)により、目標値DTHRの変化量の移動平均値DDTHRAVを算出する。ステップS332では、スロットル弁開度偏差量DTHに応じてダンピング制御ゲインの基本値Kdampbsを算出する。ステップS333では、移動平均値DDTHRAVに応じてダンピング制御ゲインの補正係数Kkdampを算出する。
【0131】
ステップS334では、基本値Kdampbsに補正係数Kkdampを乗算することによりダンピング制御ゲインKdampを算出する。次いで下記式(13)(再掲)により、ダンピング入力Udamp(k)を算出する。
【0132】
図23は、図4のステップS20で実行されるスライディングモードコントローラの安定判別処理のフローチャートである。この処理では、リアプノフ関数の微分項に基づく安定判別を行い、安定判別結果に応じて安定判別フラグFSMCSTABの設定を行う。
【0133】
ステップS351では下記式(50)により、切換関数変化量Dσを算出し、次いで下記式(51)により、安定性判別パラメータSGMSTABを算出する(ステップS352)。
Dσ=σ(k)−σ(k-k0) (50)
SGMSTAB=Dσ×σ(k) (51)
【0134】
ステップS353では、安定性判別パラメータSGMSTABが安定性判定閾値XSGMSTAB以下か否かを判別し、SGMSTAB>XSGMSTABであるときは、コントローラ21が不安定である可能性があると判定して不安定検知カウンタCNTSMCSTを「1」だけインクリメントする(ステップS355)。また、SGMSTAB≦XSGMSTABであるときは、コントローラ21が安定であると判定して不安定検知カウンタCNTSMCSTのカウント値をインクリメントすることなく保持する(ステップS354)。
【0135】
ステップS356では、不安定検知カウンタCNTSMCSTの値が所定カウント値XSSTAB以下か否かを判別する。CNTSMCST≦XSSTABであるときは、コントローラ21は安定していると判定し、第1判定フラグFSMCSTAB1を「0」に設定する(ステップS357)。一方CNTSMCST>XSSTABであるときは、コントローラ21は不安定となっていると判定し、第1判定フラグFSMCSTAB1を「1」に設定する(ステップS358)。なお、不安定検知カウンタCNTSMCSTは、イグニッションスイッチオン時にそのカウント値が「0」に初期化される。
【0136】
続くステップS359では、安定判別期間カウンタCNTJUDSTを「1」だけデクリメントし、次いでその安定判別期間カウンタCNTJUDSTの値が「0」であるか否かを判別する(ステップS360)。安定判別期間カウンタCNTJUDSTは、イグニッションスイッチオン時に所定判別カウント値XCJUDSTに初期化される。したがって、最初はステップS360の答は否定(NO)となり、直ちにステップS365に進む。
【0137】
その後安定判別期間カウンタCNTJUDSTが「0」となると、ステップS360からステップS361に進み、第1判定フラグFSMCSTAB1が「1」であるか否かを判別する。そして、第1判定フラグFSMCSTAB1が「0」であるときは、第2判定フラグFSMCSTAB2を「0」に設定し(ステップS363)、第1判定フラグFSMCSTAB1が「1」であるときは、第2判定フラグFSMCSTAB2を「1」に設定する(ステップS362)。
【0138】
続くステップS364では、安定判別期間カウンタCNTJUDSTの値を所定判別カウント値XCJUDSTに設定するとともに、不安定検知カウンタCNTSMCSTの値を「0」に設定し、ステップS365に進む。
ステップS365では、安定判別フラグFSMCSTABを、第1判定フラグFSMCSTAB1と第2判定フラグFSMCSTAB2の論理和に設定する。第2判定フラグFSMCSTAB2は、ステップS356の答が肯定(YES)となり、第1判定フラグFSMCSTAB1が「0」に設定されても、安定判別期間カウンタCNTJUDSTの値が「0」となるまでは、「1」に維持される。したがって、安定判別フラグFSMCSTABも、安定判別期間カウンタCNTJUDSTの値が「0」となるまでは、「1」に維持される。
【0139】
図24は、図4のステップS21で実行される電圧補正及びリミット処理のフローチャートである。
ステップS401では、下記式(52)により、バッテリ電圧補正を行い、補正制御量MDUTYBを算出する。
MDUTYB=DUT×VBR/VBADFT (52)
ここでDUTは、図4のステップS19で算出される制御量Uslと等しいデューティ比、VBRはバッテリ電圧の基準電圧であり、例えば14Vに設定される。VBADFTは、検出されるバッテリ電圧VBを下記式(53)によりなまし処理したなましバッテリ電圧である。
ここで、CVBは0から1の間の値に設定されるなまし係数である。
バッテリ電圧補正を行うことにより、バッテリ電圧VBが変化しても、良好な制御性を維持することができる。
【0140】
ステップS402では、補正制御量MDUTYBが正の所定上限値DUTYLMTH(例えば90%)以上であるか否かを判別し、MDUTYB≧DUTYLMTHであるときは、補正制御量MDUTYBを正の所定上限値DUTYLMTHに設定する(ステップS404)。次いで、リミット処理フラグFDUTYLMTを「1」に設定し(ステップS406)、本処理を終了する。リミット処理フラグFDUTYLMTは、補正制御量MDUTYBの絶対値がリミット範囲を超える場合に「1」に設定される。
【0141】
ステップS402で、MDUTYB<DUTYLMTHであるときは、補正制御量MDUTYBが負の所定下限値DUTYLMTL(例えば−90%)以下か否かを判別する(ステップS403)。MDUTYB≦DUTYLMTLであるときは、補正制御量MDUTYBを負の所定下限値DUTYLMTLに設定し(ステップS405)、前記ステップS406に進む。
【0142】
ステップS403で、MDUTYB>DUTYLMTLであるときは、リミット処理フラグFDUTYLMTを「0」に設定し(ステップS407)、補正制御量MDUTYBが正の所定下限値MDFH(例えば2%)以上であるか否かを判別する(ステップS408)。MDUTYB≧MDFHであるときは、直ちにステップS411に進み、最終制御量MDUTYFを補正制御量MDUTYBに設定する。
【0143】
ステップS408でMDUTYB<MDFHであるときは、補正制御量MDUTYBが「0」以上であるか否かを判別する(ステップS409)。MDUTYB≧0であるときは、最終制御量MDUTYFを正の所定下限値MDFHに設定する(ステップS413)。一方補正制御量MDUTYBが負の値であるときは、ステップS410に進み、補正制御量MDUTYBが負の所定上限値MDFL以上であるか否かを判別する。そしてMDUTYB<MDFLであるときは、前記ステップS411に進み、MDUTYB≧MDFLであるときは、最終制御量MDUTYFを負の所定上限値MDFLに設定する(ステップS412)。
【0144】
図24の処理によれば、補正制御量MDUTYBの絶対値が大きい場合だけでなく、絶対値が小さい場合(MDFL<MDUTYB<MDFHであるとき)にもリミット処理が行われ、最終制御量MDUTYFが「0」近傍の値に設定されないように処理される。これにより、補正制御量MDUTYBが「0」近傍の「0」でない値となる場合に、実際にモータ6に供給される電流が「0」となってしまうことに起因して、モデルパラメータの同定誤差が増加することを防止することができる。その結果、良好な制御性を維持することができる。
【0145】
図25は、図4のステップS22で実行されるDUTVL算出処理のフローチャートである。
ステップS421では、スロットル弁開度変化量DDTHを下記式(54)により算出し、このスロットル弁変化量DDTHを下記式(55)に適用して、スロットル弁開度変化量DDTHに対応するモータ6の回転数(回転速度)NMOT(rpm)を算出する。
DDTH=DTH(k)−DTH(k-1) (54)
NMOT=KDEG2RPM×DDTH (55)
ここで、KDEG2RPMは、モータ6の回転をスロットル弁3の駆動軸に伝達するギヤのギヤ比に応じて設定される換算係数である。
【0146】
ステップS422では、下記式(56)により、補正電圧VEMFを算出する。
VEMF=KEMF×NMOT (56)
ここで、KEMFはモータ回転数NMOTを、対応するモータ6の起電力に換算する係数であり、例えば2.1mV/rpmに設定される。
ステップS423では、下記式(57)により、補正電圧VEMFをデューティ補正量DUTYEMFに変換する。
DUTYEMF=VEMF/VBADFT (57)
ここで、VBADFTは、前記式(53)により算出されるなましバッテリ電圧である。
【0147】
ステップS424では、下記式(58)に、最終制御量MDUTYF、デューティ補正量DUTYEMFを適用し、補正制御入力DUTVLを算出する。(VBADFT/VBR)を乗算する点が、逆電圧補正に相当する。
【0148】
図26は、スロットル弁3の全閉位置を学習する処理のフローチャートである。この処理は、ECU7のCPUにより、所定時間(例えば2ミリ秒)毎に実行される。なお、本実施形態では、スロットル弁3が全閉位置にあるとき、スロットル弁開度THは、「0」より大きい値となるようにスロットル弁開度センサ8が構成されている。したがって、目標開度THRを「0」に設定することにより、スロットル弁3は、確実に全閉位置へ制御される。
【0149】
ステップS440では、学習終了フラグFCLSTHENDが「1」であるか否かを判別する。イグニッションスイッチがオンされたとき、学習終了フラグFCLSTHENDは「0」に設定されているので、最初はこの答が否定(NO)となり、ステップS441に進む。ステップS441では、初期化フラグFCLSTHCMDが「1」であるか否かを判別する。初期化フラグFCLSTHCMDも最初は「0」に設定されているので、ステップS442に進み、目標開度THRをデフォルト開度THDEFに設定する。次いで初期化フラグFCLSTHCMDを「1」に設定する(ステップS443)。初期化フラグFCLSTHCMDが「1」に設定されると、次回以降はステップS441から直ちにステップS444に進む。
【0150】
ステップS444では、目標開度THRを、所定変化量ΔTHRだけデクリメントする。所定変化量ΔTHRは、スロットル弁開度THの減少速度が、0.1deg/ms程度となるように設定される。ステップS445では、目標開度THRが「0」より小さいか否かを判別し、THR<0であるときは、目標開度THRを「0」に設定する(ステップS446)。THR≧0であるときは、直ちにステップS447に進む。ステップS444〜S446により、スロットル弁開度THは、デフォルト開度THDEFから徐々に減少し、スロットル弁3は全閉位置に達する。目標開度THRが「0」に設定されると、実際のスロットル弁開度THは、正の全閉開度以下にはならない(「0」にはならない)ので、制御偏差e(=TH−THR)が「0」に収束しない状態が継続する。
【0151】
ステップS447では、スロットル弁開度THの変化量ΔTH(=TH(k)−TH(k-1))が算出され、次いで変化量ΔTHの絶対値が所定変化量DTHSTB(例えば0.5度)より小さいか否かを判別する(ステップS448)。|ΔTH|≧DTHSTBである間は、ダウンカウントタイマtTHSTBを所定待機時間tmTHSTB(例えば60ミリ秒)にセットしてスタートさせ(ステップS450)、直ちに本処理を終了する。
【0152】
ステップS448の答が肯定(YES)となると、モデルパラメータc1”が所定閾値C1THより大きいか否かを判別する(ステップS449)。制御対象モデルの入出力に関わらないモデルパラメータc1”は、制御偏差eが「0」に収束しない状態が継続すると徐々に増加するので、ステップS449の答が否定(NO)の間は、スロットル弁3が全閉位置に達していないと判定し、前記ステップS450に進む。その後ステップS449の答が肯定(YES)となると、スロットル弁3が全閉位置に達したと判定し、タイマtTHSTBの値が「0」であるか否かを判別する(ステップS451)。tTHSTB>0である間は、直ちに本処理を終了し、tTHSTB=0となると、そのときのスロットル弁開度THを全閉位置を示す全閉開度TH1VZR0として記憶し(ステップS452)、学習終了フラグFCLSTHENDを「1」に設定する(ステップS453)。次いでモデルパラメータc1”を所定値C1Xに設定するとともに、モデルパラメータc1”の演算にかかる忘却係数δ4を「0」に設定する(ステップS454)。所定値C1Xは、例えば通常制御中におけるモデルパラメータc1”の平均値に設定される。あるいは、モデルパラメータc1”は、外乱やデフォルト開度THDEFのずれを示すので、本来はその中心値は「0」であるので、所定値C1Xは、「0」またはその近傍の値に設定される。
【0153】
モデルパラメータc1”を所定値C1Xに設定することにより、学習処理実行中に制御偏差eの増加とともに増加したc1”値が、直ちに通常制御に適した値に戻されるので、学習処理終了直後における制御性の悪化を防止することができる。また、忘却係数δ4を一時的に「0」とすることにより、学習処理実行中のc1”値の影響を排除することができる。この点も制御性の悪化防止に貢献する。なお、忘却係数δ4は、モデルパラメータベクトルの1回の演算だけ「0」に設定され、次に演算からは「1」に戻される。
【0154】
ステップS453で、学習終了フラグFCLSTHENDが「1」に設定されると、ステップS440の答が肯定(YES)となるので、図26の処理は実質的に実行されなくなる。すなわち、図26の全閉位置学習処理は、イグニッションスイッチがオンされた直後に、学習終了フラグFCLSTHENDが「1」となるまでの間、所定時間毎に実行される。
【0155】
なお、スロットル弁3の全開位置の学習も図26の処理と同様に行うことができる。全開位置学習処理では、目標開度THRはデフォルト開度THDEFから例えば90degに達するまで徐々に増加させる。実際の全開位置は90degより小さいので、これによってスロットル弁3は全開位置に達する。そして全開値位置に達した時点から所定待機時間経過後のスロットル弁開度THを、全開開位置として記憶する。
【0156】
本実施形態では、ECU7が制御手段、同定手段、学習手段、設定手段、及び判断手段を構成する。より具体的には、図4のステップS19(図15の処理)が制御手段に相当し、図4のステップS12〜S18が同定手段に相当し、図26のステップS440〜453が学習手段に相当し、ステップS454が設定手段に相当し、ステップS449が判断手段に相当する。
【0157】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば上述した実施形態では、電圧補正部28、リミッタ29、及び逆電圧補正部32を備えた構成を示したが、これらの構成要素はなくてもよい。すなわち加算器31には、デューティ比DUT(制御量Usl)が入力され、加算器31の出力が、補正制御入力DUTVLとして、モデルパラメータ同定器22に入力されるようにしてもよい。
また電圧補正部28及びリミッタ29の何れか一方のみを備える構成としてもよい。電圧補正部28を設ける場合には、それに対応して逆電圧補正部32を設ける必要がある。
【0158】
また、制御対象の出力を目標値に一致させるフィードバック制御を実行し、その制御偏差の減衰特性を指定可能な応答指定型コントローラは、適応スライディングモードコントローラに限らず、スライディングモード制御と同様な制御結果を実現するバックステッピング制御を行うコントローラであってもよい。
【0159】
【発明の効果】
以上詳述したように請求項1に記載の発明によれば、学習手段によりスロットル弁の基準位置の学習が終了したときに、スロットル弁駆動装置に加わる外乱を示す第3のモデルパラメータが所定値に設定される。ここで「所定値」を例えば、通常制御時の平均的な値、あるいはゼロ近傍の値とすることにより、前記第3のモデルパラメータが学習実行中に大きく変化した場合でも、学習直後におけるスロットル弁開度の制御性が悪化することを防止することができる。また、第3のモデルパラメータが所定閾値を超えたとき、その時点のスロットル弁の開度が前記基準位置と判断される。第3のモデルパラメータは、制御偏差が「0」に収束しない状態が継続すると同定演算を実行する毎に増加するので、第3のモデルパラメータが所定閾値を超えたことにより、スロットル弁が基準位置に達したと判断することができる。
【図面の簡単な説明】
【図1】図1は本発明の第1の実施形態にかかるスロットル弁駆動装置及びその制御装置の構成を示す図である。
【図2】図1の電子制御ユニット(ECU)により実現される機能を示す機能ブロック図である。
【図3】モデルパラメータ(a1”,a2”)のリミット処理を説明するための図である。
【図4】スロットル弁開度制御処理の全体構成を示すフローチャートである。
【図5】図4の処理で実行される状態変数設定処理のフローチャートである。
【図6】図4の処理で実行されるモデルパラメータの同定演算処理のフローチャートである。
【図7】θbaseテーブルを示す図である。
【図8】図6の処理で実行される同定誤差(ide)の演算処理のフローチャートである。
【図9】図4の処理で実行される第1リミット処理のフローチャートである。
【図10】図9の処理で実行されるモデルパラメータ(a1”,a2”)のリミット処理のフローチャートである。
【図11】図10の処理を説明するための図である。
【図12】図9の処理で実行されるモデルパラメータ(b1”)のリミット処理のフローチャートである。
【図13】図9の処理で実行されるモデルパラメータ(c1”)のリミット処理のフローチャートである。
【図14】図4の処理で実行される第2リミット処理のフローチャートである。
【図15】図4の処理で実行される制御量(Usl)の算出処理のフローチャートである。
【図16】図15の処理で実行される切換関数値(σ)の演算処理のフローチャートである。
【図17】図16の処理で実行される切換関数設定パラメータ(VPOLE)の演算処理のフローチャートである。
【図18】図17の処理で使用されるテーブルを示す図である。
【図19】図15の処理で実行される到達則入力(Urch)の演算処理のフローチャートである。
【図20】図15の処理で実行される適応則入力(Uadp)の演算処理のフローチャートである。
【図21】図15の処理で実行される非線形入力(Unl)の演算処理のフローチャートである。
【図22】図15の処理で実行されるダンピング入力(Udamp)の演算処理のフローチャートである。
【図23】図4の処理で実行されるスライディングモードコントローラの安定判別処理のフローチャートである。
【図24】図4の処理で実行される電圧補正及びリミット処理のフローチャートである。
【図25】図4の処理で実行されるDUTVL算出処理のフローチャートである。
【図26】全閉開度を学習する処理のフローチャートである。
【符号の説明】
1 内燃機関
3 スロットル弁
7 電子制御ユニット(制御手段、同定手段、学習手段、設定手段、判断手段)
10 スロットル弁駆動装置
21 適応スライディングモードコントローラ(制御手段)
22 モデルパラメータ同定器(同定手段)
24 目標開度設定部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a control device for a throttle valve driving device that drives a throttle valve of an internal combustion engine, and more particularly to a control device having a function of learning a reference position of a throttle valve.
[0002]
[Prior art]
Japanese Patent No. 2778827 discloses a method of learning a fully closed position or a fully opened position of a throttle valve in a throttle valve driving device that drives a throttle valve of an internal combustion engine with a motor. According to the technique disclosed in this publication, when the control amount of the motor that drives the throttle valve takes a value equal to or greater than a predetermined value and the throttle valve position reaches a predetermined limit value, the state continues for a predetermined time. The throttle valve position at that time is stored as a fully closed position or a fully opened position.
[0003]
A control device for controlling a plant based on a control target model obtained by modeling a plant (control target) is disclosed in, for example, Japanese Patent Application Laid-Open No. 2000-230451. The control apparatus includes an internal combustion engine as a control target and includes an identifier for identifying a model parameter of a control target model obtained by modeling the control target, and controls the internal combustion engine using the model parameter identified by the identifier. Do.
[0004]
[Problems to be solved by the invention]
When the method for learning the fully closed position or the fully opened position of the throttle valve disclosed in the above-mentioned Japanese Patent No. 2778827 is applied to a control device that controls the throttle valve driving device using the model parameter identified by the identifier There were the following problems.
If the control target value is set to a value closer to the closing side than the position of the fully closed stopper to press the throttle valve against the fully closed stopper, the control target value and the actual throttle valve opening will not match, and the fully closed position The state is maintained for a predetermined time to learn. For this reason, the model parameter identified by the identifier may change greatly during the fully closed position learning. As a result, when the normal throttle valve opening degree control is performed immediately after the learning of the fully closed position is completed, the controllability may be deteriorated because the value of the model parameter is greatly changed from the normal value. . There is a similar problem at the end of learning of the fully open position.
[0005]
The present invention has been made paying attention to this point, and is capable of preventing deterioration of controllability immediately after learning of the reference position (fully closed position or fully opened position) of the throttle valve is completed. An object of the present invention is to provide a control device.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, an invention according to
[0007]
According to this configuration, when learning of the reference position of the throttle valve is completed by the learning means, the disturbance applied to the throttle valve driving device is indicated.ThirdThe model parameter is set to a predetermined value. Here, the “predetermined value” is, for example, an average value during normal control, or a value near zero.ThirdEven when the model parameters change greatly during execution of learning, it is possible to prevent the controllability of the throttle valve opening immediately after learning from being deteriorated.When the third model parameter exceeds a predetermined threshold value, the throttle valve opening at that time is determined as the reference position. Since the third model parameter increases every time the identification calculation is performed if the control deviation does not converge to “0”, the throttle valve is moved to the reference position when the third model parameter exceeds a predetermined threshold value. Can be determined to have reached.
[0010]
In addition, the identification means identifies the model parameter by adding the update component (dθ) to the reference value (θbase) of the model parameter, and in the calculation of the model parameter immediately after the learning by the learning means ends, It is desirable not to use past update components of model parameters (c1 ″) that are not related to input / output of the controlled object model.
As a result, the past value during execution of learning by the learning means is not reflected in the model parameter value immediately after the end of learning, and the identification accuracy of the model parameter can be improved.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a throttle valve control device according to an embodiment of the present invention. A
[0012]
The motor 6 is connected to an electronic control unit (hereinafter referred to as “ECU”) 7, and its operation is controlled by the
[0013]
The ECU 7 also includes an
The
[0014]
Since the control amount DUT indicates the polarity and duty ratio of the electric signal supplied to the motor 6, it is also called a duty ratio. The control amount DUT takes a positive value when the throttle valve opening TH is larger than the default opening THDEF, and the motor 6 generates a driving force for driving the
[0015]
In the present embodiment, a throttle
[0016]
A model defined by the following equation (1) is set as a control target model according to the response frequency characteristic of the throttle
Here, n is a parameter representing sampling time or control time discretized by the identification period ΔTID, and DTH (n) is a throttle valve opening deviation amount defined by the following equation (2).
DTH (n) = TH (n) −THDEF (2)
Here, TH is the detected throttle valve opening, and THDEF is the default opening.
[0017]
In this embodiment, the discretization time that defines the control target model uses “n” representing the sampling ring time or control time corresponding to the identification period ΔTID, but the period for calculating and outputting the control input DUT is the identification period. The control period ΔTCTL is shorter than the period ΔTID (for example, about 1/5 of the identification period ΔTID), and the discretization time corresponding to the control period ΔTCTL is represented by “k”. In this way, the identification period ΔTID is made longer than the control period ΔTCTL when the model parameter is identified based on the data sampled at a short sampling period compared to the change rate (change period) of the output of the controlled object. This is because the accuracy is remarkably lowered, and the ability to adapt to variations and changes in the characteristics to be controlled becomes insufficient.
[0018]
Also, a1, a2, b1, and c1 in equation (1) are model parameters that determine the characteristics of the controlled object model, and d is a dead time. In order to reduce the amount of calculation, it is effective to define the control target model by the following equation (1a) where the dead time d is “0”. The modeling error (difference between the characteristics of the controlled object model and the characteristics of the actual controlled object (plant)) caused by setting the dead time d to “0” should adopt a sliding mode control with robustness. To compensate.
[0019]
In the equation (1a), model parameters a1 and a2 related to the throttle valve opening deviation amount DTH, which is the output of the control target, and the duty ratio DUT corresponding to the input MDUTYF of the control target (control input before voltage correction and limit processing) In addition to the model parameter b1 related to the model parameter c1, the model parameter c1 not related to the input / output of the controlled object is employed. The model parameter c1 is a parameter indicating a deviation of the default opening THDEF and a disturbance applied to the throttle valve driving device. That is, by identifying the model parameter c1 at the same time as the model parameters a1, a2 and b1 with a model parameter identifier which will be described later, it is possible to identify the default opening degree deviation and disturbance.
[0020]
FIG. 2 is a functional block diagram of a throttle valve control device realized by the
[0021]
The adaptive sliding
By using the adaptive sliding
[0022]
The
[0023]
By using a
[0024]
The
DTHR (n) = THR (n) −THDEF (3)
[0025]
The
[0026]
The
The
[0027]
The
The reverse
[0028]
Next, the operation principle of the adaptive sliding
When the deviation e (k) between the throttle valve opening deviation amount DTH and the target value DTHR is defined by the following equation (4), the switching function value σ (k) of the adaptive sliding mode controller is expressed by the following equation (5). Set to
Here, VPOLE is a switching function setting parameter set to a value larger than -1 and smaller than 1.
[0029]
On the phase plane defined with the vertical axis as the deviation e (n) and the horizontal axis as the previous deviation e (n-1), the deviation e (n) satisfying σ (n) = 0 and the previous deviation e (n Since the combination with -1) is a straight line, this straight line is generally called a switching straight line. The sliding mode control is control paying attention to the behavior of the deviation e (n) on the switching line so that the switching function value σ (n) becomes 0, that is, the deviation e (n) and the previous deviation e (n Control is performed so that the combination of -1) is placed on the switching line on the phase plane, and robust control is realized against disturbances and modeling errors. As a result, the throttle valve opening deviation amount DTH is controlled with good robustness so as to follow the target value DTHR.
[0030]
Further, by changing the value of the switching function setting parameter VPOLE in the equation (5), the attenuation characteristic of the deviation e (n), that is, the follow-up characteristic of the throttle valve opening deviation amount DTH to the target value DTHR can be changed. . Specifically, when VPOLE = -1, the characteristic does not follow at all, and the follow-up speed can be increased as the absolute value of the switching function setting parameter VPOLE is reduced. As described above, the sliding mode controller is called a response designation type controller because the attenuation characteristic of the deviation e (n) can be designated as a desired characteristic.
[0031]
According to the sliding mode control, the convergence speed can be easily changed by changing the switching function setting parameter VPOLE. Therefore, in this embodiment, the switching function setting parameter VPOLE is set according to the throttle valve opening deviation amount DTH. Thus, response characteristics suitable for the operating state of the
[0032]
As described above, in the sliding mode control, the deviation e (n) is restricted by constraining the combination of the deviation e (n) and the previous deviation e (n−1) (hereinafter referred to as “deviation state quantity”) on the switching line. It converges to “0” at the specified convergence speed and robustly against disturbances and modeling errors. Therefore, in the sliding mode control, it is important how to put the deviation state quantity on the switching straight line and restrain it there.
[0033]
From such a viewpoint, the input to the controlled object (controller output) DUT (k) (also expressed as Usl (k)) is equivalent to the equivalent control input Ueq (k), as shown in the following equation (6). It is calculated as the sum of the law input Urch (k), the adaptive law input Uadp (k), the nonlinear input Unl (k), and the damping input Udamp (k).
[0034]
The equivalent control input Ueq (k) is an input for constraining the deviation state quantity on the switching line, and the reaching law input Urch (k) is an input for placing the deviation state quantity on the switching line. The law input Uadp (k) is an input for suppressing the influence of modeling error and disturbance and placing the deviation state quantity on the switching line.
The non-linear input Unl is an input for suppressing non-linear modeling errors such as backlash of the reduction gear that drives the valve body of the
Hereinafter, a method of calculating each input Ueq (k), Urch (k), Uadp (k), Unl (k), and Udamp (k) will be described.
[0035]
Since the equivalent control input Ueq (k) is an input for constraining the deviation state quantity on the switching straight line, the condition to be satisfied is given by the following equation (7).
σ (n) = σ (n + 1) (7)
When the duty ratio DUT (n) satisfying the equation (7) is obtained using the equations (1) and (4) and (5), the following equation (8) is obtained, which is equivalent to the equivalent control input Ueq (n): Become.
[0036]
In practice, since it is difficult to obtain DTHR (n + 1) which is the future value of the target value, in the present embodiment, the term relating to the target value DTHR is excluded, and the discretization time n is further changed to the discretization time k. The equivalent control input Ueq (k) is calculated by the following formula (8a) converted.
Ueq (k) = (1 / b1) {(1-a1-VPOLE) DTH (k) + (VPOLE-a2) DTH (k-k0) -c1} (8a)
Here, k0 is a ratio (ΔTID / ΔTCTL, for example, “5”) between the identification period ΔTID and the control period ΔTCTL.
[0037]
The reaching law input Urch (k) and the adaptive law input Uadp (k) are calculated by the following equations (9) and (10), respectively.
[0038]
[Expression 1]
Here, F and G are a reaching law control gain and an adaptive law control gain, respectively, and are set so that the deviation state quantity is stably placed on the switching line. Further, σ (k) represents the switching function value σ (n) using the discretization time k, and is calculated by the following equation (5a).
[0039]
The nonlinear input Unl is calculated by the following equation (11).
Unl (k) = − Knl × sgn (σ (k)) / b1 (11)
Here, sgn (σ (k)) is a sign function that is “1” when σ (k) is a positive value and “−1” when σ (k) is a negative value, and Knl is It is a nonlinear input gain set according to the throttle valve opening deviation amount DTH.
By using the nonlinear input Unl (k), it is prevented that the convergence of the steady deviation is delayed when the target value DTHR changes slightly.
[0040]
The damping input Udamp is calculated by the following equation (13).
Udamp = −Kdamp (DTH (k) −DTH (k−1)) / b1 (13)
Here, Kdamp is a damping control gain, and is calculated by the following equation (14).
Kdamp = Kdampbs × Kkdamp (14)
Here, Kdampbs is a basic value set according to the throttle valve opening deviation amount DTH, and Kkdamp is a correction coefficient set according to the moving average value DDTHRAV of the change amount of the target value DTHR.
The moving average value DDTHRAV is calculated by the following equation (15).
[Expression 2]
Here, iAV is a predetermined number set to “50”, for example.
[0041]
As described above, the equivalent control input Ueq (k), the reaching law input Urch (k), the adaptive law input Uadp (k), the nonlinear input Unl (k), and the damping input Udamp (k) are calculated, and these inputs are calculated. The duty ratio DUT (k) can be calculated as the sum of.
[0042]
Next, the operation principle of the
As described above, the
θ (n) = θ (n−1) + KP (n) ide (n) (16)
θ (n)T= [A1 ", a2", b1 ", c1"] (17)
[0043]
Here, a1 ″, a2 ″, b1 ″, and c1 ″ are model parameters before the first limit process described later is performed. Ide (n) is an identification error defined by the following equations (18), (19), and (20). DTHHAT (n) is an estimated value of the throttle valve opening deviation amount DTH (n) calculated using the latest model parameter vector θ (n-1) (hereinafter referred to as “estimated throttle valve opening deviation amount”). It is. KP (n) is a gain coefficient vector defined by the following equation (21). Further, P (n) in the equation (21) is a quartic square matrix calculated by the following equation (22).
[0044]
[Equation 3]
[Expression 4]
As shown in Expression (20), in this embodiment, the model parameter vector θ is identified by using the correction control input DUTVL instead of the duty ratio DUT.
[0045]
Depending on the setting of the coefficients λ1 and λ2 in Equation (22), the identification algorithm according to Equations (16) to (22) is one of the following four identification algorithms.
λ1 = 1, λ2 = 0 Fixed gain algorithm
λ1 = 1, λ2 = 1 Least square algorithm
λ1 = 1, λ2 = λ Decreasing gain algorithm (λ is a predetermined value other than 0, 1)
λ1 = λ, λ2 = 1 Weighted least square algorithm (λ is a predetermined value other than 0 and 1)
[0046]
When a fixed gain algorithm is employed to reduce the amount of calculation, equation (21) is simplified to equation (21a) below. In the formula (21a), P is a square matrix having constants as diagonal elements.
[Equation 5]
[0047]
The model parameters calculated by the equations (16) to (20) and (21a) may gradually deviate from desired values. In other words, after the model parameters have converged to some extent, if there is a residual identification error caused by nonlinear characteristics such as the friction characteristics of the throttle valve, or if disturbances with an average value other than zero are constantly added, the residual identification error Accumulate and cause model parameter drift. In order to prevent such model parameter drift, the model parameter vector θ (n) is calculated by the following equation (16a) instead of the above equation (16).
[0048]
Here, as shown in the following formula (23), DELTA is a forgetting coefficient matrix in which the forgetting coefficient δi (i = 1 to 4) is a diagonal element and all other elements are “0”.
[Formula 6]
The forgetting factor δi (i = 1 to 3) is set to a value between 0 and 1 (0 <δi <1), and has a function of gradually reducing the influence of past identification errors. In the equation (23), the forgetting factor δ4 for the calculation of the model parameter c1 ″ is normally set to “1”, and the influence of the past value is held. In this way, by setting a part of the diagonal elements of the forgetting coefficient matrix DELTA, that is, the forgetting coefficient δ4 for calculating the model parameter c1 ″ to “1”, the target value DTHR, the throttle valve opening deviation amount DTH, and Can be prevented from occurring. However, as will be described later, immediately after the learning process of the fully closed position of the
[0049]
When the equation (16a) is rewritten in the recurrence form, the following equations (16b) and (16c) are obtained. A method of calculating the model parameter vector θ (n) using the following equations (16b) and (16c) instead of the equation (16) is hereinafter referred to as a δ correction method, and dθ (d defined by the equation (16c) n) is referred to as an “update vector”.
θ (n) = θ (0) + dθ (n) (16b)
dθ (n) = DELTA · dθ (n−1) + KP (n) ide (n) (16c)
[0050]
According to the algorithm using the δ correction method, a model parameter stabilization effect can be obtained as well as a drift prevention effect. That is, the initial value vector θ (0) is always stored, and the update vector dθ (n) is also limited to the values that can be taken by the elements due to the action of the forgetting coefficient matrix DELTA. Can be made.
[0051]
Furthermore, since the model parameter is calculated while adjusting the update vector dθ (n) by identification based on the input / output data of the actual control target, the model parameter suitable for the actual control target can be calculated.
Further, it is desirable to calculate the model parameter vector θ (n) by the following equation (16d) using the reference model parameter vector θbase instead of the initial value vector θ (0) of the equation (16b).
θ (n) = θbase + dθ (n) (16d)
[0052]
Since the reference model parameter vector θbase is set according to the target value DTHR by the
[0053]
In the present embodiment, low-pass filter processing of the identification error ide (n) is further performed. When a model parameter is identified by the
[0054]
Therefore, the low-pass filter processing is performed so that the frequency characteristic of the controlled object model matches the actual frequency characteristic, or the low frequency gain of the controlled object model is corrected to be slightly higher than the actual low frequency gain. Thereby, the overcorrection by the
[0055]
In the low-pass filter processing, identification error past values ide (ni) (for example, 10 past values corresponding to i = 1 to 10) are stored in a ring buffer, and these past values are multiplied by a weighting coefficient. Execute by adding.
[0056]
Assuming that the identification error subjected to the low-pass filter processing is expressed as idef (n) as shown in the following equation (30), an update vector dθ () is substituted using the following equation (16e) instead of the equation (16c). n) is calculated.
idef (n) = LF (ide (n)) (30)
dθ (n) = DELTA · dθ (n−1) + KP (n) idef (n) (16e)
[0057]
As described above, in the present embodiment, the adaptive sliding
[0058]
When such calculation timing is employed, the update cycle of the model parameter used for calculation of the control input DUT is longer than the update cycle of the control input DUT by the
[0059]
Therefore, in this embodiment, in order to prevent such resonance, the model parameter identified by the identification period ΔTID is sampled (oversampled) by the control period ΔTCTL and stored in the ring buffer, and the data stored in the ring buffer is stored. The value obtained by moving average processing is used as a model parameter.
[0060]
The elements a1 ″, a2 ″, b1 ″, and c1 ″ of the model parameter vector θ (n) calculated by the equation (16d) are subjected to limit processing described below in order to improve the robustness of the control system. The
[0061]
FIG. 3 is a diagram for explaining the limit processing of the model parameters a1 ″ and a2 ″, and shows a plane defined with the model parameter a1 ″ as the horizontal axis and the model parameter a2 ″ as the vertical axis. When the model parameters a1 ″ and a2 ″ are outside the stable region indicated by hatching in the drawing, limit processing is performed to change the value to a value corresponding to the outer edge of the stable region.
[0062]
When the model parameter b1 ″ is outside the range between the upper limit value XIDB1H and the lower limit value XIDB1L, limit processing is performed to change the upper limit value XIDB1H or the lower limit value XIDB1L, and the model parameter c1 ″ When it is out of the range of XIDC1L, a limit process for changing to the upper limit value XIDC1H or the lower limit value XIDC1L is performed.
[0063]
The above limit process (first limit process) is expressed by the following equation (31) in a mathematical expression. θ*(n) is a model parameter vector after limit processing, and its elements are expressed as in the following equation (32).
θ*(n) = LMT (θ (n)) (31)
θ*(n)T= [A1*(n), a2*(n), b1*(n), c1*(n)] (32)
[0064]
Conventionally, the previous update vector dθ (n−1) used when calculating the update vector dθ (n) using the equation (16e) and the estimated throttle valve opening deviation amount DTHHAT using the equation (19). The previous model parameter vector θ (n−1) used in the above is the model parameter before the limit processing is performed, but in the present embodiment, the previous update vector dθ (n−1) is as follows: As the previous model parameter vector used for calculating the estimated throttle valve opening deviation amount DTHHAT using the one calculated by the equation (33), as shown in the following equation (19a), the model parameter vector after the limit processing is used. θ*(n-1) was used.
dθ (n-1) = θ*(n-1) -θbase (n-1) (33)
DTHHAT (n) = θ*(n-1)Tζ (n) (19a)
[0065]
Next, the reason will be described.
When the coordinates determined by the model parameters a1 ″ and a2 ″ (hereinafter referred to as “model parameter coordinates”) are located at the point PA1 in FIG. Move to PAL. At this time, when the throttle valve opening deviation amount DTH changes and the model parameter coordinates where the model parameters a1 "and a2" should converge are changed to the point PA2, the movement from the point PA1 to the point PA2 is the point PAL. Compared to the movement from PA2 to PA2. That is, when the control by the adaptive sliding
[0066]
Therefore, in this embodiment, the model parameter vector θ after the limit process*The model parameter vector θ (n) of this time is calculated by applying (n-1) to the equations (33) and (19a).
Model parameter vector θ after the first limit process*Model parameter vector θ obtained by oversampling (n) at time k*(k) is represented by the following formula (32a).
[0067]
This oversampled model parameter vector θ*When the model parameter vector θ ′ (k) obtained by performing the moving average operation of (k) is expressed by the following equation (32b), elements a1 ′ (k), a2 ′ ( k), b1 ′ (k), and c1 ′ (k) are calculated by the following equations (34) to (37).
[0068]
[Expression 7]
Here, (m + 1) is the number of data to be subjected to moving average calculation, and “m” is set to “4”, for example.
[0069]
Next, as shown in the following formula (38), the model parameter vector θ ′ (k) is subjected to limit processing (second limit processing) similar to the limit processing described above, thereby correcting the model parameter vector θL ( k) (Equation (39)) is calculated. This is because the model parameters a1 'and / or a2' may deviate from the stable region shown in FIG. Since the model parameters b1 'and c1' are not out of the limit range by the moving average calculation, the limit process is not substantially performed.
θL (k) = LMT (θ ′ (k)) (38)
θL (k)T= [A1, a2, b1, c1] (39)
[0070]
Next, in order to realize the functions of the above-described adaptive sliding
[0071]
FIG. 4 is an overall flowchart of throttle valve opening control, and this processing is executed by the CPU of the
In step S11, the state variable setting process shown in FIG. 5 is executed. That is, the calculations of equations (2) and (3) are executed to calculate the throttle valve opening deviation amount DTH (k) and the target value DTHR (k) (FIG. 5, steps S31 and S32). Note that (k) or (n) indicating the current value may be omitted.
[0072]
In step S12, it is determined whether or not the value of the counter IDCOUNT is “0”. Since the counter IDCOUNT is initially set to “0”, the process proceeds from step S12 to step S14, and the model parameter identification calculation process shown in FIG. 6, that is, the model parameter vector θ (n) calculation process is executed. Next, the first limit process shown in FIG. 9 is executed, and the model parameter vector θ*(n) is calculated (step S15). Specifically, the limit processing of the model parameter vector θ (n) is executed, and the model parameter vector θ*(n) is calculated. Element a1 of the calculated model parameter vector*(n), a2*(n), b1*(n) and c1*(n) is stored in the ring buffer by a predetermined number N for oversampling processing. That is, θ*(k), θ*(k + 1), ..., θ*(k + N-1) is stored in the ring buffer. The predetermined number N is a ratio (ΔTID / ΔTCTL) between the control period ΔTCTL and the identification period ΔTID, and is set to “5”, for example.
[0073]
In step S16, a predetermined number N is set in the counter IDCOUNT. Accordingly, at the next execution of this process, the answer to step S12 is negative (NO), the value of the counter IDCOUNT is decremented by “1” (step S13), and the process proceeds to step S17. That is, the processes of steps S14 to S16 are executed once every N times.
[0074]
In step S17, the model parameter vector θ after the limit process*The model parameter vector θ ′ (k) is calculated by the moving average calculation of (n). Specifically, model parameters a1 ′ (k), a2 ′ (k), b1 ′ (k), and c1 are applied by applying the model parameters stored in the ring buffer to the equations (34) to (37). '(k) is calculated.
[0075]
In step S18, the second limit process shown in FIG. 14 is executed. That is, the limit processing of the model parameters a1 ′ (k) and a2 ′ (k) calculated in step S17 is executed, and the corrected model parameter vector θL (k) is calculated. Note that the model parameters b1 '(k) and c1' (k) become the elements b1 (k) and c1 (k) of the modified model parameter vector θL (k), respectively.
[0076]
In step S19, the control amount Usl (k) shown in FIG. 15 is calculated. That is, the equivalent control input Ueq (k), the reaching law input Urch (k), the adaptive law input Uadp (k), the nonlinear input Unl (k), and the damping input Udamp (k) are calculated, and the sum of those inputs is calculated. Then, the control amount Usl (k) (= duty ratio DUT (k)) is calculated.
[0077]
In step S20, the stability determination process of the sliding mode controller shown in FIG. 23 is executed. That is, stability determination based on the differential value of the Lyapunov function is performed, and the stability determination flag FSMCSTAB is set. The stability determination flag FSMCSTAB is referred to when the control amount Usl (k) is calculated.
[0078]
In step S21, the voltage correction and limit process shown in FIG. 24 is executed. That is, the duty ratio DUT is corrected according to the battery voltage VB, the correction control amount MDUTYB is calculated, and the correction control amount MDUTYB is further limited to calculate the final control amount MDUTYF.
[0079]
In step S21, the DUTVL calculation process shown in FIG. 25 is executed. That is, calculation of the duty correction amount DUTYEMF, correction of the final control amount MDUTYF by the duty correction amount DUTYEMF, and reverse voltage correction are performed to calculate the correction control input DUTVL.
[0080]
FIG. 6 is a flowchart of the process for performing the model parameter identification calculation in step S14 of FIG.
In step S41, the gain coefficient vector KP (n) is calculated from equation (21a), and then the estimated throttle valve opening deviation amount DTHHAT (n) is calculated from equation (19a) (step S42).
[0081]
In step S43, the calculation process of ide (n) shown in FIG. 8 is executed to calculate the identification error ide (n). In step S44, the update vector dθ (n) is calculated by the equations (16e) and (33), and then the θbase table shown in FIG. 7 is searched according to the target value DTHR to calculate the reference model parameter vector θbase (step). S45). The reference model parameters a1base and a2base are actually set in the θbase table, and the reference model parameter b1base is set to the minimum value XIDB1L of the model parameter b1. Further, the reference model parameter c1base is set to “0”.
In step S46, the model parameter vector θ (n) is calculated by the equation (16d), and this process is terminated.
[0082]
FIG. 8 is a flowchart of the calculation process of the identification error ide (n) executed in step S43 of FIG.
In step S51, the identification error ide (n) is calculated from equation (18). Next, the value of the counter CNTIDST incremented in step S53 is a predetermined value XCNTIDST set according to the dead time d to be controlled (in this embodiment, the dead time d is approximated to “0”. It is determined whether it is larger than (set to 2) (step S52). Since the initial value of the counter CNTIDST is “0”, the process first proceeds to step S53, the counter CNTIDST is incremented by “1”, the identification error ide (k) is set to “0” (step S54), and the step Proceed to S55. Immediately after the identification of the model parameter vector θ (n) is started, a correct identification error cannot be obtained by the calculation according to the equation (18). Therefore, the identification error can be obtained without using the calculation result according to the equation (18) in steps S52 to S54. ide (n) is set to “0”.
[0083]
If the answer to step S52 is affirmative (YES), the process immediately proceeds to step S55.
In step S55, low-pass filter processing of the identification error ide (n) is performed. That is, a process for correcting the frequency characteristics of the controlled object model is executed.
[0084]
In step S56, it is determined whether or not the identification error ide (n) is larger than a predetermined upper limit value IDEMAX (for example, 0.2). If ide (n)> IDEMAX, the identification error ide (n) is set to the predetermined error value ide (n). The upper limit value IDEMAX is set (step S57).
If the identification error ide (n) is less than or equal to the predetermined upper limit value IDEMAX in step S56, it is determined whether or not the identification error ide (n) is smaller than a predetermined lower limit value IDEMIN (for example, −0.15) (step S58). . If ide (n) <IDEMIN, the identification error ide (n) is set to the predetermined lower limit value IDEMIN (step S59).
If the answer to step S58 is negative (NO), the process immediately ends.
[0085]
FIG. 9 is a flowchart of the first limit process executed in step S15 of FIG.
In step S71, initialization is performed by setting the flags FA1STAB, FA2STAB, FB1LMT, and FC1LMT used in this process to “0”. In step S72, the limit processing of a1 "and a2" shown in FIG. 10 is executed, in step S73, the limit processing of b1 "shown in FIG. 12 is executed, and in step S74, the limit processing of c1" shown in FIG. 13 is executed. Perform limit processing.
[0086]
FIG. 10 is a flowchart of a1 ″ and a2 ″ limit processing executed in step S72 of FIG. FIG. 11 is a diagram for explaining the processing of FIG. 10 and is referred to together with FIG.
In FIG. 11, the combination of model parameters a1 ″ and a2 ″ that require limit processing is indicated by “x”, and the range of the combination of stable model parameters a1 ″ and a2 ″ is hatched (hereinafter “ "Stable region"). The process of FIG. 10 is a process of moving the combination of the model parameters a1 ″ and a2 ″ outside the stable region into the stable region (position indicated by “◯”).
[0087]
In step S81, it is determined whether or not the model parameter a2 ″ is equal to or greater than a predetermined a2 lower limit value XIDA2L. The predetermined a2 lower limit value XIDA2L is set to a negative value greater than “−1”. Even if the predetermined a2 lower limit value XIDA2L is set to “−1”, the stable model parameter a1*, A2*However, there is a case where the nth power of the matrix A defined by the following formula (40) becomes unstable (this means that a1 ″ and a2 ″ do not diverge but oscillate). A value larger than “−1” is set.
[Equation 8]
[0088]
If a2 ″ <XIDA2L in step S81, the model parameter a2*Is set to the lower limit value XIDA2L, and the a2 stabilization flag FA2STAB is set to “1” (step S82). When the a2 stabilization flag FA2STAB is set to “1”, the model parameter a2*Is set to the lower limit value XIDA2L. In FIG. 11, the correction of the model parameter by the limit processing P1 in steps S81 and S82 is indicated by an arrow line (line with an arrow) marked with “P1”.
[0089]
If the answer to step S81 is affirmative (YES), that is, if a2 ″ ≧ XIDA2L, the model parameter a2*Is set to the model parameter a2 ″ (step S83).
In step S84 and step S85, it is determined whether or not the model parameter a1 ″ is within a range that can be formed by the predetermined a1 lower limit value XIDA1L and the predetermined a1 upper limit value XIDA1H. The predetermined a1 lower limit value XIDA1L is −2 or more and from 0. The predetermined a1 upper limit value XIDA1H is set to 2 for example.
[0090]
When the answer to steps S84 and S85 is affirmative (YES), that is, when XIDA1L ≦ a1 ″ ≦ XIDA1H, the model parameter a1*Is set to the model parameter a1 ″ (step S88).
On the other hand, when a1 ″ <XIDA1L, the model parameter a1*Is set to the lower limit value XIDA1L, and the a1 stabilization flag FA1STAB is set to “1” (steps S84 and S86). When a1 ″> XIDA1H, the model parameter a1*Is set to the upper limit value XIDA1H, and the a1 stabilization flag FA1STAB is set to “1” (steps S85 and S87). When the a1 stabilization flag FA1STAB is set to “1”, the model parameter a1*Is set to the lower limit value XIDA1L or the upper limit value XIDA1H. In FIG. 11, the correction of the model parameter by the limit process P2 in steps S84 to S87 is indicated by an arrow line with “P2”.
[0091]
In step S90, the model parameter a1*Absolute value and model parameter a2*Is determined to be less than or equal to a predetermined stability determination value XA2STAB. The predetermined stability determination value XA2STAB is set to a value close to “1” and smaller than “1” (for example, 0.99).
[0092]
The straight lines L1 and L2 shown in FIG. 11 are straight lines that satisfy the following formula (41).
a2*+ | A1*| = XA2STAB (41)
Therefore, the step S90 is performed with the model parameter a1.*And a2*It is determined whether or not the combination is on or below the straight lines L1 and L2 shown in FIG. If the answer to step S90 is affirmative (YES), the model parameter a1*And a2*Since this combination is within the stable region of FIG. 11, this processing is immediately terminated.
[0093]
On the other hand, when the answer to step S90 is negative (NO), the model parameter a1*Is less than or equal to a value obtained by subtracting the predetermined a2 lower limit value XIDA2L from the predetermined stability determination value XA2STAB (since XIDA2L <0, XA2STAB−XIDA2L> XA2STAB is satisfied) (step S91). And model parameter a1*Is less than (XA2STAB-XIDA2L), the model parameter a2*(XA2STAB- | a1*|) And the a2 stabilization flag FA2STAB is set to “1” (step S92).
[0094]
In step S91, the model parameter a1*Is greater than (XA2STAB-XIDA2L), the model parameter a1*Is set to (XA2STAB-XIDA2L), and the model parameter a2*Is set to the predetermined a2 lower limit value XIDA2L, and both the a1 stabilization flag FA1STAB and the a2 stabilization flag FA2STAB are set to “1” (step S93).
[0095]
In FIG. 11, the correction of the model parameter by the limit process P3 in steps S91 and S92 is indicated by an arrow with “P3”, and the correction of the model parameter by the limit process P4 in steps S91 and S93 is It is indicated by an arrow with “P4”.
[0096]
As described above, the limit processing is performed by the processing of FIG. 10 so that the model parameters a1 ″ and a2 ″ fall within the stable region shown in FIG.*And a2*Is calculated.
[0097]
FIG. 12 is a flowchart of the b1 ″ limit process executed in step S73 of FIG.
In steps S101 and S102, it is determined whether or not the model parameter b1 ″ is within a range that can be formed by the predetermined b1 lower limit value XIDB1L and the predetermined b1 upper limit value XIDB1H. The predetermined b1 lower limit value XIDB1L is a positive predetermined value (for example, 0). .1), and the predetermined b1 upper limit value XIDB1H is set to “1”, for example.
[0098]
When the answer to steps S101 and S102 is affirmative (YES), that is, when XIDB1L ≦ b1 ″ ≦ XIDB1H, the model parameter b1*Is set to the model parameter b1 ″ (step S105).
[0099]
On the other hand, when b1 ″ <XIDB1L, the model parameter b1*Is set to the lower limit value XIDB1L, and the b1 limit flag FB1LMT is set to “1” (steps S101 and S104). When b1 ″> XIDB1H, the model parameter b1*Is set to the upper limit value XIDB1H, and the b1 limit flag FB1LMT is set to “1” (steps S102 and S103). When the b1 limit flag FB1LMT is set to “1”, the model parameter b1*Is set to the lower limit value XIDB1L or the upper limit value XIDB1H.
[0100]
FIG. 13 is a flowchart of the limit process of the model parameter c1 ″ executed in step S74 of FIG.
In steps S111 and S112, it is determined whether or not the model parameter c1 ″ is within a range that can be generated by the predetermined c1 lower limit value XIDC1L and the predetermined c1 upper limit value XIDC1H. The predetermined c1 lower limit value XIDC1L is set to −60, for example. The predetermined c1 upper limit value XIDC1H is set to 60, for example.
[0101]
When the answers to steps S111 and S112 are both affirmative (YES), that is, when XIDC1L ≦ c1 ″ ≦ XIDC1H, the model parameter c1*Is set to the model parameter c1 ″ (step S115).
[0102]
On the other hand, when c1 ″ <XIDC1L, the model parameter c1*Is set to the lower limit value XIDC1L, and the c1 limit flag FC1LMT is set to “1” (steps S111 and S114). If c1 ″> XIDC1H, the model parameter c1*Is set to the upper limit value XIDC1H, and the c1 limit flag FC1LMT is set to “1” (steps S112 and S113). When the c1 limit flag FC1LMT is set to “1”, it indicates that the modified model parameter c1 is set to the lower limit value XIDC1L or the upper limit value XIDC1H.
[0103]
FIG. 14 is a flowchart of the second limit process executed in step S18 of FIG. In this processing, “a1 ″” and “a2 ″” in the processing of FIG. 10 are replaced with “a1 ′” and “a2 ′”, respectively, and “a1”*"And" a2*"Is replaced with" a1 "and" a2 ", respectively, and the content of the processing is substantially the same. That is, with respect to the model parameters a1 'and a2' subjected to the moving averaging process, limit processing similar to that shown in FIG. 10 is executed in steps S121 to S133, and corrected model parameters a1 and a2 are calculated.
[0104]
FIG. 15 is a flowchart of the Usl calculation process executed in step S19 of FIG.
In step S201, the calculation process of the switching function value σ shown in FIG. 16 is executed, and in step S202, the equivalent control input Ueq is calculated by the equation (8a). In step S203, the reaching law input Urch calculation process shown in FIG. 19 is executed. In step S204, the adaptive law input Uadp calculation process shown in FIG. 20 is executed. In step S205, calculation processing of the nonlinear input Unl shown in FIG. 21 is executed, and in step S207, calculation processing of the damping input Udamp shown in FIG. 22 is executed.
[0105]
In step S208, it is determined whether or not a stability determination flag FSMCSTAB set in the process of FIG. 23 described later is “1”. When the stability determination flag FSMCSTAB is set to “1”, it indicates that the adaptive sliding
[0106]
When FSMCSTAB = 0 in step S208 and the adaptive sliding
[0107]
On the other hand, when FSMCSTAB = 1 and the adaptive sliding
[0108]
In subsequent steps S211 and S212, it is determined whether or not the calculated control amount Usl is within the range of the predetermined upper and lower limit values XUSLH and XUSLL. If the control amount Usl is within the range of the predetermined upper and lower limit values, The process ends. On the other hand, when the control amount Usl is less than or equal to the predetermined lower limit value XUSLL, the control amount Usl is set to the predetermined lower limit value XUSLL (steps S211, S214), and when the control amount Usl is greater than or equal to the predetermined upper limit value XUSLH. Usl is set to a predetermined upper limit value XUSLH (steps S212 and S213).
[0109]
FIG. 16 is a flowchart of the calculation process of the switching function value σ executed in step S201 of FIG.
In step S221, the VPOLE calculation process shown in FIG. 17 is executed to calculate the switching function setting parameter VPOLE. Next, the switching function value σ (k) is calculated by the equation (5a) (step S222).
[0110]
In subsequent steps S223 and S224, it is determined whether or not the calculated switching function value σ (k) is within the predetermined upper and lower limit values XSGMH and XSGML, and the switching function value σ (k) is within the predetermined upper and lower limit value range. If it is, the process is immediately terminated. On the other hand, when the switching function value σ (k) is less than or equal to the predetermined lower limit value XSGML, the switching function value σ (k) is set to the predetermined lower limit value XSGML (steps S223 and S225), and the switching function value σ (k) is When it is equal to or greater than the predetermined upper limit value XSGMH, the switching function value σ (k) is set to the predetermined upper limit value XSGMH (steps S224 and S226).
[0111]
FIG. 17 is a flowchart of the VPOLE calculation process executed in step S221 of FIG.
In step S231, it is determined whether or not the stability determination flag FSMCSTAB is “1”. If FSMCSTAB = 1 and the adaptive sliding
[0112]
When FSMCSTAB = 0 and the adaptive sliding
[0113]
In subsequent steps S235 and S236, it is determined whether or not the calculated switching function setting parameter VPOLE is within the predetermined upper and lower limit values XPOLEH and XPOLE, and when the switching function setting parameter VPOLE is within the predetermined upper and lower limit value range. Immediately ends this processing. On the other hand, when the switching function setting parameter VPOLE is less than or equal to the predetermined lower limit value XPOLE, the switching function setting parameter VPOLE is set to the predetermined lower limit value XPOLE (steps S236 and S238), and the switching function setting parameter VPOLE is greater than or equal to the predetermined upper limit value XPOLEH. If there is, the switching function setting parameter VPOLE is set to a predetermined upper limit value XPOLEH (steps S235 and S237).
[0114]
FIG. 19 is a flowchart of the reaching law input Urch calculation process executed in step S203 of FIG.
In step S251, it is determined whether or not the switching function value σ is equal to or less than a predetermined lower limit value −XSGMSL. If σ ≦ −XSGMSL, the switching function parameter SGMS is set to the predetermined lower limit value −XSGMSL (step S252). ). If σ> −XSGMSL, it is determined whether or not the switching function value σ is greater than or equal to a predetermined upper limit value XSGMSL (step S253). If σ ≧ XSGMSL, the switching function parameter SGMS is set to the upper limit value XSGMSL (step S254). When the switching function value σ is between the predetermined lower limit value −XSGMSL and the predetermined upper limit value XSGMSL, the switching function parameter SGMS is set to the switching function value σ (step S255).
[0115]
In steps S251 to S255, limit processing of the switching function value σ used for calculating the reaching law input Urch is performed. The switching function parameter SGMS is a parameter corresponding to the switching function value σ after limit processing. By this limit processing, it is possible to prevent an overshoot of the throttle valve opening deviation amount DTH with respect to the target value DTHR from occurring when the target value DTHR changes suddenly.
[0116]
In a succeeding step S261, it is determined whether or not the stability determination flag FSMCSTAB is “1”. When the stability determination flag FSMCSTAB is “0” and the adaptive sliding
[0117]
Next, the reaching function input Urch (k) is calculated by applying the switching function parameter SGMS and the control gain F to the following equation (42) (step S263). Equation (42) is obtained by replacing the switching function value σ (k) of Equation (9) with the switching function parameter SGMS.
Urch = −F × SGMS / b1 (42)
On the other hand, when the stability determination flag FSMCSTAB is “1” and the adaptive sliding
Urch = −F × SGMS (43)
[0118]
In subsequent steps S266 and S267, it is determined whether or not the calculated reaching law input Urch is within the predetermined upper and lower limit values XURCHH and XURCHL, and when the reaching law input Urch is within the predetermined upper and lower limit values, Immediately end this process. On the other hand, when the reaching law input Urch is less than or equal to the predetermined lower limit value XURCHL, the reaching law input Urch is set to the predetermined lower limit value XURCHL (steps S266 and S268), and when the reaching law input Urch is greater than or equal to the predetermined upper limit value XURCHH The reaching law input Urch is set to a predetermined upper limit value XURCHH (steps S267 and S269).
[0119]
Thus, when the adaptive sliding
[0120]
FIG. 20 is a flowchart of the calculation process of the adaptive law input Uadp executed in step S204 of FIG.
In step S271, it is determined whether or not the switching function value σ is equal to or smaller than a predetermined lower limit value −XSGMSL. If σ ≦ −XSGMSL, the switching function parameter SGMS is set to the predetermined lower limit value −XSGMSL (step S272). ). When σ> −XSGMSL, it is determined whether or not the switching function value σ is greater than or equal to a predetermined upper limit value XSGMSL (step S273). If σ ≧ XSGMSL, the switching function parameter SGMS is set to the upper limit value XSGMSL (step S274). When the switching function value σ is between the predetermined lower limit value −XSGMSL and the predetermined upper limit value XSGMSL, the switching function parameter SGMS is set to the switching function value σ (step S275).
[0121]
By steps S271 to S275, limit processing of the switching function value σ used for the adaptive law input Uadp is performed. The switching function parameter SGMS is a parameter corresponding to the switching function value σ after limit processing. By this limit processing, it is possible to prevent an overshoot of the throttle valve opening deviation amount DTH with respect to the target value DTHR from occurring when the target value DTHR changes suddenly.
[0122]
In subsequent step S276, it is determined whether or not the stability determination flag FSMCSTAB is “1”. When FSMCSTAB = 0 and the adaptive sliding
[0123]
Next, the adaptive function input Uadp (k) is calculated by applying the switching function parameter SGMS and the control gain G to the following equation (44) (step S280). Expression (44) is obtained by replacing the switching function value σ (k) of Expression (10) with the switching function parameter SGMS.
Uadp (k) = Uadp (k−1) −G × SGMS × ΔTCTL / b1 (44)
[0124]
On the other hand, when FSMCSTAB = 1 in step S276 and the adaptive sliding
Uadp (k) = Uadp (k−1) −G × SGMS × ΔTCTL (45)
[0125]
In subsequent steps S281 and S282, it is determined whether or not the calculated adaptive law input Uadp is within the predetermined upper and lower limit values XUADPH and XUADPL, and when the adaptive law input Uadp is within the predetermined upper and lower limit values, Immediately end this process. On the other hand, when the adaptive law input Uadp is less than or equal to the predetermined lower limit value XUADPL, the adaptive law input Uadp is set to the predetermined lower limit value XUADPL (steps S282 and S284), and when the adaptive law input Uadp is greater than or equal to the predetermined upper limit value XUADPH The adaptive law input Uadp is set to a predetermined upper limit value XUADPH (steps S281 and S283).
[0126]
FIG. 21 is a flowchart of the non-linear input Unl calculation process executed in step S205 of FIG.
In step S301, a nonlinear input gain Knl is calculated according to the throttle valve opening deviation amount DTH. In step S302, it is determined whether or not the switching function value σ is equal to or smaller than a predetermined lower limit value −XNLTH. If σ> −XNLTH, it is determined whether or not the switching function value σ is equal to or larger than a predetermined upper limit value XNLTH. (Step S304). When the switching function value σ is between the predetermined upper limit value XNLTH and the predetermined lower limit value −XNLTH, the nonlinear input parameter SNL is set to the switching function value σ (step S306).
[0127]
When the switching function value σ is equal to or smaller than the predetermined lower limit value −XNLTH, the nonlinear input parameter SNL is set to “−1” (step S303). When the switching function value σ is equal to or larger than the predetermined upper limit value XNLTH, the nonlinear input parameter is set. The parameter SNL is set to “1” (step S305).
In subsequent step S307, the nonlinear input Unl (k) is calculated by the following equation (46).
Unl (k) = − Knl × SNL / b1 (46)
[0128]
In the process shown in FIG. 21, a nonlinear input parameter SNL is used instead of the sign function sgn (σ (k)) of the equation (11), and the switching function value σ is within a predetermined range where the absolute value of the switching function value σ is small. Apply as is. Thereby, the minute vibration (chattering) resulting from the nonlinear input Unl can be suppressed.
[0129]
FIG. 22 is a flowchart of the calculation process of the damping input Udamp executed in step S207 of FIG.
[0130]
In step S331, the moving average value DDTHRAV of the change amount of the target value DTHR is calculated by the above equation (15). In step S332, a basic value Kdampbs of the damping control gain is calculated according to the throttle valve opening deviation amount DTH. In step S333, a damping control gain correction coefficient Kkdamp is calculated according to the moving average value DDTHRAV.
[0131]
In step S334, the damping control gain Kdamp is calculated by multiplying the basic value Kdampbs by the correction coefficient Kkdamp. Next, the damping input Udamp (k) is calculated by the following formula (13) (re-post).
[0132]
FIG. 23 is a flowchart of the stability determination process of the sliding mode controller executed in step S20 of FIG. In this process, stability determination is performed based on the differential term of the Lyapunov function, and the stability determination flag FSMCSTAB is set according to the stability determination result.
[0133]
In step S351, the switching function change amount Dσ is calculated by the following equation (50), and then the stability determination parameter SGMSTAB is calculated by the following equation (51) (step S352).
Dσ = σ (k) −σ (k−k0) (50)
SGMSTAB = Dσ × σ (k) (51)
[0134]
In step S353, it is determined whether or not the stability determination parameter SGMSTAB is equal to or less than the stability determination threshold value XSGMSTAB. If SGMSTAB> XSGMSTAB, it is determined that the
[0135]
In step S356, it is determined whether or not the value of the instability detection counter CNTSMCST is equal to or smaller than a predetermined count value XSSTAB. If CNTSMCST ≦ XSSTAB, the
[0136]
In the subsequent step S359, the stability determination period counter CNTJUDST is decremented by “1”, and then it is determined whether or not the value of the stability determination period counter CNTJUDST is “0” (step S360). The stability determination period counter CNTJUDST is initialized to a predetermined determination count value XCJUDST when the ignition switch is turned on. Therefore, initially, the answer to step S360 is negative (NO), and the process immediately proceeds to step S365.
[0137]
Thereafter, when the stability determination period counter CNTJUDST becomes “0”, the process proceeds from step S360 to step S361 to determine whether or not the first determination flag FSMCSTAB1 is “1”. When the first determination flag FSMCSTAB1 is “0”, the second determination flag FSMCSTAB2 is set to “0” (step S363), and when the first determination flag FSMCSTAB1 is “1”, the second determination flag FSMCSTAB1 is set to “0”. The flag FSMCSTAB2 is set to “1” (step S362).
[0138]
In the subsequent step S364, the value of the stability determination period counter CNTJUDST is set to a predetermined determination count value XCJUDST, the value of the instability detection counter CNTSMCST is set to “0”, and the process proceeds to step S365.
In step S365, the stability determination flag FSMCSTAB is set to the logical sum of the first determination flag FSMCSTAB1 and the second determination flag FSMCSTAB2. The second determination flag FSMCSTAB2 is affirmative (YES) in step S356, and even when the first determination flag FSMCSTAB1 is set to “0”, the value of the stability determination period counter CNTJUDST becomes “0”. 1 "is maintained. Therefore, the stability determination flag FSMCSTAB is also maintained at “1” until the value of the stability determination period counter CNTJUDST becomes “0”.
[0139]
FIG. 24 is a flowchart of the voltage correction and limit process executed in step S21 of FIG.
In step S401, the battery voltage is corrected by the following equation (52), and the correction control amount MDUTYB is calculated.
MDUTYB = DUT × VBR / VBADFT (52)
Here, DUT is a duty ratio equal to the control amount Usl calculated in step S19 of FIG. 4, and VBR is a reference voltage of the battery voltage, and is set to 14 V, for example. VBADFT is an annealed battery voltage obtained by subjecting the detected battery voltage VB to an annealing process according to the following equation (53).
Here, CVB is an annealing coefficient set to a value between 0 and 1.
By performing the battery voltage correction, good controllability can be maintained even if the battery voltage VB changes.
[0140]
In step S402, it is determined whether or not the correction control amount MDUTYB is equal to or greater than a positive predetermined upper limit value DUTYLMTH (for example, 90%). If MDUTYB ≧ DUTYLMTH, the correction control amount MDUTYB is set to the positive predetermined upper limit value DUTYLMTH. Setting is performed (step S404). Next, the limit process flag FDUTYLMT is set to “1” (step S406), and this process ends. The limit processing flag FDUTYLMT is set to “1” when the absolute value of the correction control amount MDUTYB exceeds the limit range.
[0141]
If MDUTYB <DUTYLMTH in step S402, it is determined whether or not the correction control amount MDUTYB is equal to or less than a predetermined negative lower limit value DUTYLMTL (for example, −90%) (step S403). When MDUTYB ≦ DUTYLMTL, the correction control amount MDUTYB is set to the negative predetermined lower limit value DUTYLMTL (step S405), and the process proceeds to step S406.
[0142]
If MDUTYB> DUTYLMTL in step S403, the limit processing flag FDUTYLMT is set to “0” (step S407), and whether or not the correction control amount MDUTYB is greater than or equal to a predetermined positive lower limit value MDFH (for example, 2%). Is discriminated (step S408). When MDUTYB ≧ MDFH, the process immediately proceeds to step S411, and the final control amount MDUTYF is set to the correction control amount MDUTYB.
[0143]
If MDUTYB <MDFH in step S408, it is determined whether or not the correction control amount MDUTYB is “0” or more (step S409). When MDUTYB ≧ 0, the final control amount MDUTYF is set to a positive predetermined lower limit value MDFH (step S413). On the other hand, when the correction control amount MDUTYB is a negative value, the process proceeds to step S410, and it is determined whether or not the correction control amount MDUTYB is greater than or equal to a predetermined negative upper limit value MDFL. If MDUTYB <MDFL, the process proceeds to step S411. If MDUTYB ≧ MDFL, the final control amount MDUTYF is set to a predetermined negative upper limit value MDFL (step S412).
[0144]
According to the processing of FIG. 24, the limit processing is performed not only when the absolute value of the correction control amount MDUTYB is large but also when the absolute value is small (when MDFL <MDUTYB <MDFH), and the final control amount MDUTYF is Processing is performed so that a value in the vicinity of “0” is not set. As a result, when the correction control amount MDUTYB is a value other than “0” in the vicinity of “0”, the current actually supplied to the motor 6 becomes “0”, thereby identifying the model parameter. An increase in error can be prevented. As a result, good controllability can be maintained.
[0145]
FIG. 25 is a flowchart of the DUTVL calculation process executed in step S22 of FIG.
In step S421, the throttle valve opening change amount DDTH is calculated by the following equation (54), and the throttle valve opening change amount DDTH is applied to the following equation (55) so that the motor 6 corresponding to the throttle valve opening change amount DDTH is applied. The number of rotations (rotational speed) NMOT (rpm) is calculated.
DDTH = DTH (k) −DTH (k−1) (54)
NMOT = KDEG2RPM × DDTH (55)
Here, KDEG2RPM is a conversion coefficient set in accordance with the gear ratio of the gear that transmits the rotation of the motor 6 to the drive shaft of the
[0146]
In step S422, the correction voltage VEMF is calculated by the following equation (56).
VEMF = KEMF × NMOT (56)
Here, KEMF is a coefficient for converting the motor rotation speed NMOT into the electromotive force of the corresponding motor 6, and is set to 2.1 mV / rpm, for example.
In step S423, the correction voltage VEMF is converted into the duty correction amount DUTYEMF by the following equation (57).
DUTYEMF = VEMF / VBADFT (57)
Here, VBADFT is the annealed battery voltage calculated by the equation (53).
[0147]
In step S424, the final control amount MDUTYF and the duty correction amount DUTYEMF are applied to the following equation (58) to calculate the correction control input DUTVL. The point of multiplying (VBADFT / VBR) corresponds to reverse voltage correction.
[0148]
FIG. 26 is a flowchart of a process for learning the fully closed position of the
[0149]
In step S440, it is determined whether or not a learning end flag FCLSTEND is “1”. Since the learning end flag FCLSTEND is set to “0” when the ignition switch is turned on, this answer is initially negative (NO), and the process proceeds to step S441. In step S441, it is determined whether or not the initialization flag FCLSTHCMD is “1”. Since the initialization flag FCLSTHCMD is also initially set to “0”, the process proceeds to step S442, and the target opening degree THR is set to the default opening degree THDEF. Next, the initialization flag FCLSTHCMD is set to “1” (step S443). When the initialization flag FCLSTHCMD is set to “1”, the process proceeds from step S441 to step S444 immediately after the next time.
[0150]
In step S444, the target opening degree THR is decremented by a predetermined change amount ΔTHR. The predetermined change amount ΔTHR is set so that the rate of decrease of the throttle valve opening TH is about 0.1 deg / ms. In step S445, it is determined whether or not the target opening degree THR is smaller than “0”. If THR <0, the target opening degree THR is set to “0” (step S446). If THR ≧ 0, the process immediately proceeds to step S447. Through steps S444 to S446, the throttle valve opening TH gradually decreases from the default opening THDEF, and the
[0151]
In step S447, a change amount ΔTH (= TH (k) −TH (k−1)) of the throttle valve opening TH is calculated, and then the absolute value of the change amount ΔTH is a predetermined change amount DTHSTB (for example, 0.5 degrees). It is determined whether it is smaller (step S448). While | ΔTH | ≧ DTHSTB, the downcount timer tTHSTB is set to a predetermined standby time tmTHSTB (for example, 60 milliseconds) and started (step S450), and this process is immediately terminated.
[0152]
If the answer to step S448 is affirmative (YES), it is determined whether or not the model parameter c1 ″ is greater than a predetermined threshold C1TH (step S449). The model parameter c1 ″ that is not related to the input / output of the controlled object model is a control deviation. The state where e does not converge to “0” continuesYouThen, since it gradually increases, while the answer to step S449 is negative (NO), it is determined that the
[0153]
The learning process is executed by setting the model parameter c1 ″ to the predetermined value C1X.During ~Since the c1 ″ value increased with the increase in the control deviation e is immediately returned to a value suitable for normal control, it is possible to prevent deterioration of controllability immediately after the end of the learning process. Further, the forgetting factor δ4 is temporarily set. By setting “0” to “0”, it is possible to eliminate the influence of the c1 ″ value during execution of the learning process. This also contributes to prevention of deterioration of controllability. The forgetting factor δ4 is 1 of the model parameter vector. Only one operation is set to “0”, and then the operation returns to “1”.
[0154]
If the learning end flag FCLSTEND is set to “1” in step S453, the answer to step S440 becomes affirmative (YES), so the process of FIG. 26 is not substantially executed. That is, the fully closed position learning process of FIG. 26 is executed at predetermined intervals immediately after the ignition switch is turned on until the learning end flag FCLSTEND becomes “1”.
[0155]
Note that learning of the fully open position of the
[0156]
In this embodiment, ECU7 comprises a control means, an identification means, a learning means, a setting means, and a judgment means. More specifically, step S19 in FIG. 4 (process in FIG. 15) corresponds to the control means, steps S12 to S18 in FIG. 4 correspond to the identification means, and steps S440 to 453 in FIG. 26 correspond to the learning means. Step S454 corresponds to setting means, and step S449 corresponds to determination means.
[0157]
The present invention is not limited to the embodiment described above, and various modifications can be made. For example, in the above-described embodiment, the configuration including the
Further, only one of the
[0158]
In addition, the response specification type controller that executes the feedback control that matches the output of the control target with the target value and can specify the attenuation characteristic of the control deviation is not limited to the adaptive sliding mode controller, and the same control result as the sliding mode control. It may be a controller that performs backstepping control to realize the above.
[0159]
【The invention's effect】
As described in detail above, according to the first aspect of the present invention, when learning of the reference position of the throttle valve is completed by the learning means, the disturbance applied to the throttle valve driving device is indicated.ThirdThe model parameter is set to a predetermined value. Here, the “predetermined value” is, for example, an average value during normal control, or a value near zero.ThirdEven when the model parameters change greatly during execution of learning, it is possible to prevent the controllability of the throttle valve opening immediately after learning from being deteriorated.The thirdWhen the model parameter exceeds a predetermined threshold, the opening of the throttle valve at that time is determined as the reference position.Since the third model parameter increases every time the identification calculation is performed if the state in which the control deviation does not converge to “0” continues,When the model parameter exceeds the predetermined threshold value, it can be determined that the throttle valve has reached the reference position.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a throttle valve driving device and a control device thereof according to a first embodiment of the present invention.
2 is a functional block diagram showing functions realized by an electronic control unit (ECU) of FIG. 1; FIG.
FIG. 3 is a diagram for explaining model parameter (a1 ″, a2 ″) limit processing;
FIG. 4 is a flowchart showing an overall configuration of throttle valve opening control processing.
5 is a flowchart of a state variable setting process executed in the process of FIG.
6 is a flowchart of a model parameter identification calculation process executed in the process of FIG. 4;
FIG. 7 is a diagram illustrating a θbase table.
FIG. 8 is a flowchart of an identification error (ide) calculation process executed in the process of FIG. 6;
FIG. 9 is a flowchart of a first limit process executed in the process of FIG.
10 is a flowchart of model parameter (a1 ″, a2 ″) limit processing executed in the processing of FIG. 9;
FIG. 11 is a diagram for explaining the processing of FIG. 10;
12 is a flowchart of a model parameter (b1 ″) limit process executed in the process of FIG. 9;
13 is a flowchart of a model parameter (c1 ″) limit process executed in the process of FIG. 9;
FIG. 14 is a flowchart of a second limit process executed in the process of FIG.
FIG. 15 is a flowchart of control amount (Usl) calculation processing executed in the processing of FIG. 4;
16 is a flowchart of switching function value (σ) calculation processing executed in the processing of FIG. 15;
17 is a flowchart of switching function setting parameter (VPOLE) calculation processing executed in the processing of FIG. 16;
18 is a diagram showing a table used in the process of FIG.
FIG. 19 is a flowchart of a reaching law input (Urch) calculation process executed in the process of FIG. 15;
20 is a flowchart of an adaptive law input (Uadp) calculation process executed in the process of FIG. 15;
FIG. 21 is a flowchart of a non-linear input (Unl) calculation process executed in the process of FIG. 15;
FIG. 22 is a flowchart of a damping input (Udamp) calculation process executed in the process of FIG. 15;
FIG. 23 is a flowchart of the stability determination process of the sliding mode controller executed in the process of FIG. 4;
24 is a flowchart of voltage correction and limit processing executed in the processing of FIG.
25 is a flowchart of DUTVL calculation processing executed in the processing of FIG.
FIG. 26 is a flowchart of processing for learning a fully closed opening.
[Explanation of symbols]
1 Internal combustion engine
3 Throttle valve
7 Electronic control unit (control means, identification means, learning means, setting means, judgment means)
10 Throttle valve drive device
21 Adaptive sliding mode controller (control means)
22 Model parameter identifier (identification means)
24 Target opening setting part
Claims (1)
前記スロットル弁の基準位置を前記スロットル弁駆動装置の作動中に学習する学習手段と、
前記スロットル弁駆動装置をモデル化した制御対象モデルのモデルパラメータを前記スロットル弁駆動装置の作動中に所定時間毎に同定演算を行って同定する同定手段と、
該同定手段により同定されたモデルパラメータを用いて、前記スロットル弁の開度が目標開度と一致するように前記スロットル弁駆動装置を制御する制御手段とを備え、
前記同定手段は、前記スロットル弁駆動装置の出力に関わる第1のモデルパラメータと、前記スロットル弁駆動装置の入力に関わる第2のモデルパラメータと、前記スロットル弁駆動装置に加わる外乱を示し、前記スロットル弁開度と目標開度との差が「0」に収束しない状態が継続すると前記同定演算を実行する毎に増加する第3のモデルパラメータを同定し、
前記学習手段は、前記第3のモデルパラメータが所定閾値を超えたとき、その時点の前記スロットル弁の開度を前記基準位置と判断する判断手段を備え、
前記学習手段による学習が終了したときに、前記第3のモデルパラメータを所定値に設定する設定手段が設けられていることを特徴とするスロットル弁駆動装置の制御装置。In a control device for a throttle valve drive device comprising a throttle valve for an internal combustion engine and drive means for driving the throttle valve,
Learning means for learning a reference position of the throttle valve during operation of the throttle valve driving device ;
An identification means for identifying a model parameter of a control target model obtained by modeling the throttle valve driving device by performing an identification calculation every predetermined time during operation of the throttle valve driving device ;
Control means for controlling the throttle valve drive device so that the opening degree of the throttle valve matches the target opening degree using the model parameter identified by the identification means;
Said identification means, indicates a first model parameter of relating to an output of the throttle valve actuating device, and the second model parameters relating to the input of the throttle valve driving apparatus, the disturbance applied to the throttle valve driving apparatus, wherein If a state where the difference between the throttle valve opening and the target opening does not converge to “0” continues, a third model parameter that increases each time the identification calculation is executed is identified,
When the third model parameter exceeds a predetermined threshold, the learning unit includes a determination unit that determines an opening of the throttle valve at that time as the reference position.
A control device for a throttle valve driving device, comprising: setting means for setting the third model parameter to a predetermined value when learning by the learning means is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002246235A JP4435467B2 (en) | 2002-08-27 | 2002-08-27 | Control device for throttle valve drive device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002246235A JP4435467B2 (en) | 2002-08-27 | 2002-08-27 | Control device for throttle valve drive device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004084544A JP2004084544A (en) | 2004-03-18 |
JP4435467B2 true JP4435467B2 (en) | 2010-03-17 |
Family
ID=32054175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002246235A Expired - Lifetime JP4435467B2 (en) | 2002-08-27 | 2002-08-27 | Control device for throttle valve drive device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4435467B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4450228B2 (en) * | 2005-10-28 | 2010-04-14 | 株式会社デンソー | Engine control device |
US10436106B2 (en) * | 2015-12-24 | 2019-10-08 | Mitsubishi Electric Corporation | Control apparatus and control method for internal combustion engine |
-
2002
- 2002-08-27 JP JP2002246235A patent/JP4435467B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004084544A (en) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4223489B2 (en) | Plant control device | |
JP3977199B2 (en) | Control device for throttle valve drive device | |
KR100552579B1 (en) | Plant control apparatus | |
JP4064159B2 (en) | Plant control equipment | |
JP3863069B2 (en) | Plant control equipment | |
JP4002460B2 (en) | Control device for throttle valve drive device | |
JP2004102441A (en) | Controller for plant | |
JP4435467B2 (en) | Control device for throttle valve drive device | |
JP3857169B2 (en) | Plant control equipment | |
JP3686383B2 (en) | Plant control device | |
JP3964284B2 (en) | Control device for throttle valve drive device | |
JP4060148B2 (en) | Plant control equipment | |
JP2004257361A (en) | Control device for exhaust gas recirculation valve | |
JP3949470B2 (en) | Plant control equipment | |
JP3949540B2 (en) | Plant control equipment | |
JP4549569B2 (en) | Plant control equipment | |
JP3602811B2 (en) | Plant control equipment | |
JP3995899B2 (en) | Plant control equipment | |
JP3902504B2 (en) | Plant control equipment | |
JP3602809B2 (en) | Plant control equipment | |
JP3701600B2 (en) | Plant control device | |
JP3819258B2 (en) | Control device for throttle valve drive device | |
JP3819257B2 (en) | Control device for throttle valve drive device | |
JP3819259B2 (en) | Control device for throttle valve drive device | |
JP4464010B2 (en) | Control device for throttle valve drive device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071030 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071128 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080111 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080229 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4435467 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140108 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |