JP2004084544A - Control device for throttle valve drive - Google Patents
Control device for throttle valve drive Download PDFInfo
- Publication number
- JP2004084544A JP2004084544A JP2002246235A JP2002246235A JP2004084544A JP 2004084544 A JP2004084544 A JP 2004084544A JP 2002246235 A JP2002246235 A JP 2002246235A JP 2002246235 A JP2002246235 A JP 2002246235A JP 2004084544 A JP2004084544 A JP 2004084544A
- Authority
- JP
- Japan
- Prior art keywords
- throttle valve
- value
- model parameter
- 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.)
- Granted
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)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、内燃機関のスロットル弁を駆動するスロットル弁駆動装置の制御装置に関し、特にスロットル弁の基準位置を学習する機能を備える制御装置に関する。
【0002】
【従来の技術】
内燃機関のスロットル弁をモータで駆動するスロットル弁駆動装置において、スロットル弁の全閉位置または全開位置を学習する手法が、特許第2778827号公報に示されている。この公報に示された手法によれば、スロットル弁を駆動するモータの制御量が所定の値以上の値をとり、かつスロットル弁位置が所定の限界値に達している状態が、所定時間継続すると、そのときのスロットル弁位置が全閉位置または全開位置として記憶される。
【0003】
またプラント(制御対象)をモデル化した制御対象モデルに基づいてプラントを制御する制御装置は、例えば特開2000−230451号公報に示されている。この制御装置は、内燃機関を制御対象とし、その制御対象をモデル化した制御対象モデルのモデルパラメータを同定する同定器を備え、同定器により同定されたモデルパラメータを用いて、内燃機関の制御を行う。
【0004】
【発明が解決しようとする課題】
上記特許第2778827号公報に示された、スロットル弁の全閉位置または全開位置を学習する手法を、同定器により同定されたモデルパラメータを用いてスロットル弁駆動装置を制御する制御装置に適用した場合、以下のような課題があった。
スロットル弁を全閉ストッパに押しつけるべく、制御目標値を全閉ストッパの位置よりさらに閉じ側の値に設定すると、制御目標値と、実際のスロットル弁開度とが一致しない状態となり、全閉位置を学習するためにその状態が所定時間に亘って維持される。そのため、同定器により同定されるモデルパラメータが、全閉位置学習を行っている間に大きく変化する場合がある。その結果、全閉位置学習が終了した直後において、通常のスロットル弁開度制御を行うときに、モデルパラメータの値が通常の値から大きく変化しているために制御性が悪化することがあった。また全開位置の学習終了時においても同様の課題がある。
【0005】
本発明は、この点に着目してなされたものであり、スロットル弁の基準位置(全閉位置または全開位置)の学習が終了した直後における制御性の悪化を防止することができるスロットル弁駆動装置の制御装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため請求項1に記載の発明は、内燃機関のスロットル弁(3)と、該スロットル弁(3)を駆動する駆動手段(6)とを備えるスロットル弁駆動装置(10)の制御装置において、前記スロットル弁(3)の基準位置(THL1VZ0)を学習する学習手段と、前記スロットル弁駆動装置(10)をモデル化した制御対象モデルのモデルパラメータ(θ)を同定する同定手段(22)と、該同定手段(22)により同定されたモデルパラメータを用いて前記スロットル弁駆動装置(10)を制御する制御手段(21)とを備え、前記同定手段(22)は、前記制御対象モデルの入出力に関わらないモデルパラメータ(c1”)を同定し、前記学習手段による学習が終了したときに、前記制御対象モデルの入出力に関わらないモデルパラメータ(c1”)を所定値(C1X)に設定する設定手段が設けられていることを特徴とする。
【0007】
この構成によれば、学習手段によりスロットル弁の基準位置の学習が終了したときに、制御対象モデルの入出力に関わらないモデルパラメータが所定値に設定される。ここで「所定値」を例えば、通常制御時の平均的な値、あるいはゼロ近傍の値とすることにより、前記モデルパラメータが学習実行中に大きく変化した場合でも、学習直後におけるスロットル弁開度の制御性が悪化することを防止することができる。
【0008】
請求項2に記載の発明は、請求項1に記載のスロットル弁駆動装置の制御装置において、前記学習手段は、前記制御対象モデルの入出力に関わらないモデルパラメータ(c1”)が所定閾値(C1TH)を超えたことにより、前記スロットル弁(3)が前記基準位置(THL1VZ0)にあると判断する判断手段をさらに備えることを特徴とする。
【0009】
この構成によれば、制御対象モデルの入出力に関わらないモデルパラメータが所定閾値を超えたことにより、スロットル弁が前記基準位置に達したと判断される。制御対象モデルの入出力に関わらないモデルパラメータは、制御偏差が大きくなると、それに伴って増加するので、制御対象モデルの入出力に関わらないモデルパラメータが所定閾値を超えたことにより、スロットル弁が基準位置に達したと判断することができる。
【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の特性に近似させることが可能であることが確認されている。
DTH(n+1)=a1×DTH(n)+a2×DTH(n−1)
+b1×DUT(n−d)+c1 (1)
ここで、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」とすることに起因するモデル化誤差(制御対象モデルの特性と、実際の制御対象(プラント)の特性との差)は、ロバスト性のあるスライディングモード制御を採用することにより補償する。
DTH(n+1)=a1×DTH(n)+a2×DTH(n−1)
+b1×DUT(n)+c1 (1a)
【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)にように設定される。
e(n)=DTH(n)−DTHR(n) (4)
σ(n)=e(n)+VPOLE×e(n−1) (5)
=(DTH(n)−DTHR(n))
+VPOLE×(DTH(n−1)−DTHR(n−1))
ここで、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)の和として算出される。
DUT(k)=Usl(k)
=Ueq(k)+Urch(k)+Uadp(k)
+Unl(k)+Udamp(k) (6)
【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)となる。
DUT(n)=(1/b1){(1−a1−VPOLE)DTH(n)
+(VPOLE−a2)DTH(n−1)−c1+DTHR(n+1)
+(VPOLE−1)DTHR(n)−VPOLE×DTHR(n−1)}
=Ueq(n) (8)
【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)により算出される。
σ(k)=e(k)+VPOLE×e(k−k0)
=DTH(k)−DTHR(k)
+VPOLE×(DTH(k−k0)−DTHR(k−k0)) (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)により算出される。
θ(n)=θ(0)+DELTAn−1×KP(1)ide(1)
+DELTAn−2×KP(2)ide(2)+……
+DELTA×KP(n−1)ide(n−1)+KP(n)ide(n)
(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)で表される。
θ*(k)T=[a1*(k),a2*(k),b1*(k),c1*(k)](32a)
【0067】
このオーバサンプリングしたモデルパラメータベクトルθ*(k)の移動平均化演算を行うことにより得られるモデルパラメータベクトルθ’(k)を下記式(32b)で表すこととすると、θ’(k)の要素a1’(k),a2’(k),b1’(k),及びc1’(k)は、下記式(34)〜(37)により算出される。
θ’(k)T=[a1’(k),a2’(k),b1’(k),c1’(k)](32b)
【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)を算出する。
Udamp(k)=−Kdamp×(DTH(k)−DTH(k−1))/b1(13)
【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)によりなまし処理したなましバッテリ電圧である。
VBADFT=CVB×VB+(1−CVB)×VBADFT(k−1)(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)を乗算する点が、逆電圧補正に相当する。
DUTVL=(MDUTYF+DUTYEMF)×VBADFT/VBR(58)
【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に記載の発明によれば、学習手段によりスロットル弁の基準位置の学習が終了したときに、制御対象モデルの入出力に関わらないモデルパラメータが所定値に設定される。ここで「所定値」を例えば、通常制御時の平均的な値、あるいはゼロ近傍の値とすることにより、前記モデルパラメータが学習実行中に大きく変化した場合でも、学習直後におけるスロットル弁開度の制御性が悪化することを防止することができる。
請求項2に記載の発明によれば、制御対象モデルの入出力に関わらないモデルパラメータが所定閾値を超えたことにより、スロットル弁が前記基準位置に達したと判断される。制御対象モデルの入出力に関わらないモデルパラメータは、制御偏差が大きくなると、それに伴って増加するので、制御対象モデルの入出力に関わらないモデルパラメータが所定閾値を超えたことにより、スロットル弁が基準位置に達したと判断することができる。
【図面の簡単な説明】
【図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]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a control device of a throttle valve driving device for driving 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 open position of a throttle valve in a throttle valve driving device that drives a throttle valve of an internal combustion engine by 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 state in which the throttle valve position reaches a predetermined limit value 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 that controls a plant based on a control target model obtained by modeling a plant (control target) is disclosed in, for example, JP-A-2000-230451. The control device has 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 parameters identified by the identifier. Do.
[0004]
[Problems to be solved by the invention]
When the technique of 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 a throttle valve driving device using a model parameter identified by an identifier. However, there were the following problems.
When the control target value is set to a value closer to the closing side than the position of the fully closed stopper in order to press the throttle valve against the fully closed stopper, the control target value does not match the actual throttle valve opening, and the fully closed position is set. Is maintained for a predetermined time in order to learn. Therefore, the model parameters identified by the identifier may change significantly during learning of the fully closed position. As a result, immediately after the learning of the fully closed position, when performing the normal throttle valve opening control, the controllability may be deteriorated because the value of the model parameter greatly changes 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 by paying attention to this point, and a throttle valve driving device capable of preventing deterioration of controllability immediately after learning of a reference position (fully closed position or fully opened position) of a throttle valve is completed. It is an object of the present invention to provide a control device.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to
[0007]
According to this configuration, when learning of the reference position of the throttle valve is completed by the learning means, model parameters irrelevant to the input / output of the control target model are set to the predetermined values. Here, the “predetermined value” is, for example, an average value during normal control, or a value near zero, so that even when the model parameter greatly changes during the learning execution, the throttle valve opening degree immediately after the learning is changed. Deterioration of controllability can be prevented.
[0008]
According to a second aspect of the present invention, in the control device for a throttle valve driving device according to the first aspect, the learning means sets a model parameter (c1 ″) irrelevant to the input / output of the control target model to a predetermined threshold (C1TH). ), Further comprising a judging means for judging that the throttle valve (3) is at the reference position (THL1VZ0) by exceeding the threshold value.
[0009]
According to this configuration, it is determined that the throttle valve has reached the reference position when a model parameter that is not related to the input / output of the control target model exceeds the predetermined threshold. Model parameters that are not related to the input / output of the controlled model increase as the control deviation increases, so the model parameters that are not related to the input / output of the controlled model exceed a predetermined threshold. It can be determined that the position has been reached.
[0010]
The identification means identifies the model parameter by adding an update component (dθ) to the reference value (θbase) of the model parameter. In the calculation of the model parameter immediately after the learning by the learning means is completed, It is desirable not to use a past update component of the model parameter (c1 ″) irrespective of the input / output of the control target model.
As a result, the past value during the execution of learning by the learning means is not reflected on the model parameter value immediately after the end of learning, and the identification accuracy of the model parameter can be improved.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a throttle valve control device according to one embodiment of the present invention. A throttle valve 3 is provided in an
[0012]
The
[0013]
Further, the ECU 7 includes an
The ECU 7 includes an input circuit to which the detection signals of the throttle
[0014]
Since the control amount DUT indicates the polarity and the duty ratio of the electric signal supplied to 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 characteristics of the throttle
DTH (n + 1) = a1 × DTH (n) + a2 × DTH (n−1)
+ B1 × DUT (nd) + c1 (1)
Here, n is a parameter representing a sampling time or control time discretized at 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 the present embodiment, the discretization time defining the control target model uses “n” representing the sampling time or the control time corresponding to the identification cycle ΔTID. However, the control input DUT is calculated and the output cycle is determined by the identification. 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”. The reason why the identification period ΔTID is made longer than the control period ΔTCTL in this way is that, when the model parameters are identified based on data sampled at a short sampling period as compared with the change speed (change period) of the output of the controlled object, This is because the accuracy is remarkably reduced, and the ability to adapt to variations and changes in the characteristics of the control target becomes insufficient.
[0018]
Further, a1, a2, b1, and c1 in the equation (1) are model parameters that determine the characteristics of the control target 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 control target model and the characteristics of the actual control target (plant)) caused by setting the dead time d to “0” is to adopt the robust sliding mode control. To compensate.
DTH (n + 1) = a1 × DTH (n) + a2 × DTH (n−1)
+ B1 × DUT (n) + c1 (1a)
[0019]
In the equation (1a), model parameters a1 and a2 relating 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 above, a model parameter c1 not related to the input / output of the control target 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, the model parameter c1 is identified simultaneously with the model parameters a1, a2, and b1 by a model parameter identifier described later, so that the default opening deviation and disturbance can be identified.
[0020]
FIG. 2 is a functional block diagram of a throttle valve control device realized by the ECU 7. This control device includes an adaptive sliding
[0021]
The adaptive sliding
By using the adaptive sliding
[0022]
The
[0023]
By using the
[0024]
The
DTHR (n) = THR (n) -THDEF (3)
[0025]
The
[0026]
The
The
[0027]
The
The
[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). Is set to
e (n) = DTH (n) -DTHR (n) (4)
σ (n) = e (n) + VPOLE × e (n−1) (5)
= (DTH (n) -DTHR (n))
+ VPOLE × (DTH (n-1) -DTHR (n-1))
Here, VPOLE is a switching function setting parameter set to a value larger than −1 and smaller than 1.
[0029]
On a phase plane defined by 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 a control focusing on 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). The control is performed so that the combination of -1) is placed on the switching straight line on the phase plane, thereby realizing robust control 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), it is possible to change the attenuation characteristic of the deviation e (n), that is, the characteristic of the throttle valve opening deviation amount DTH following the target value DTHR. . Specifically, if VPOLE = -1, the characteristic does not follow at all, and the following speed can be increased as the absolute value of the switching function setting parameter VPOLE decreases. As described above, the sliding mode controller can designate the attenuation characteristic of the deviation e (n) to a desired characteristic, and is therefore called a response designation controller.
[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. In addition, a response characteristic suitable for the operation state of the throttle valve 3 can be obtained.
[0032]
As described above, in the sliding mode control, the combination of the deviation e (n) and the previous deviation e (n−1) (hereinafter, referred to as “deviation state quantity”) is constrained on the switching straight line, thereby reducing the deviation e (n). 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 restrict it there.
[0033]
From such a viewpoint, the input (output of the controller) DUT (k) (also referred to as Usl (k)) to the control target is, as shown in the following equation (6), the equivalent control input Ueq (k) 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).
DUT (k) = Usl (k)
= Ueq (k) + Urch (k) + Uadp (k)
+ Unl (k) + Udamp (k) (6)
[0034]
The equivalent control input Ueq (k) is an input for restricting the deviation state quantity on the switching straight line, and the reaching law input Urch (k) is an input for placing the deviation state quantity on the switching straight line. The law input Uadp (k) is an input for suppressing the effects of modeling errors and disturbances and placing the deviation state quantity on the switching straight line.
The non-linear input Unl is an input for suppressing a non-linear modeling error such as a backlash of the reduction gear for driving the valve element of the throttle valve 3 and for putting the deviation state quantity on the switching straight line. The damping input Udamp is an input for preventing the throttle valve opening deviation amount DTH from overshooting the target value DTHR.
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 restricting 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) that satisfies Expression (7) is obtained using Expression (1) and Expressions (4) and (5), the following Expression (8) is obtained, which is equivalent to the equivalent control input Ueq (n). Become.
DUT (n) = (1 / b1) {(1-a1-VPOLE) DTH (n)
+ (VPOLE-a2) DTH (n-1) -c1 + DTHR (n + 1)
+ (VPOLE-1) DTHR (n) -VPOLE × DTHR (n-1)}
= Ueq (n) (8)
[0036]
In practice, it is difficult to obtain DTHR (n + 1), which is the future value of the target value. Therefore, in the present embodiment, the discretization time n is further converted to the discretization time k except for the term relating to the target value DTHR. The equivalent control input Ueq (k) is calculated by the following equation (8a).
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]
(Equation 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 straight line. Further, σ (k) represents the switching function value σ (n) using the discrete time k, and is calculated by the following equation (5a).
σ (k) = e (k) + VPOLE × e (k−k0)
= DTH (k) -DTHR (k)
+ VPOLE × (DTH (k−k0) −DTHR (k−k0)) (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 This is a nonlinear input gain set according to the throttle valve opening deviation amount DTH.
By using the non-linear input Unl (k), the convergence of the steady-state error is prevented from being delayed when the target value DTHR slightly changes.
[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 that is set according to the throttle valve opening deviation amount DTH, and Kkdamp is a correction coefficient that is 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).
(Equation 2)
Here, iAV is a predetermined number set to, for example, “50”.
[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.
[0042]
Next, the operation principle of the
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 a 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 Expression (21) is a fourth-order square matrix calculated by Expression (22) below.
[0044]
[Equation 3]
(Equation 4)
As shown in Expression (20), in the present embodiment, the model parameter vector θ is identified using the correction control input DUTVL instead of the duty ratio DUT.
[0045]
By setting the coefficients λ1 and λ2 in Expression (22), the identification algorithm based on Expressions (16) to (22) is any of the following four identification algorithms.
λ1 = 1, λ2 = 0 Fixed gain algorithm
λ1 = 1, λ2 = 1 Least squares algorithm
λ1 = 1, λ2 = λ Gradual gain algorithm (λ is a predetermined value other than 0, 1)
λ1 = λ, λ2 = 1 Weighted least squares algorithm (λ is a predetermined value other than 0 and 1)
[0046]
When a fixed gain algorithm is adopted to reduce the amount of calculation, Expression (21) is simplified as Expression (21a) below. In the equation (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 non-linear characteristics such as the friction characteristics of the throttle valve, or if a disturbance with a non-zero average value is constantly applied, the residual identification error is reduced. Accumulate, causing model parameter drift. In order to prevent such a drift of the model parameter, the model parameter vector θ (n) is calculated by the following equation (16a) instead of the above equation (16).
θ (n) = θ (0) + DELTA n-1 × KP (1) ide (1)
+ DELTA n-2 × KP (2) ide (2) + ...
+ DELTA × KP (n-1) ide (n-1) + KP (n) ide (n)
(16a)
[0048]
Here, 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”, as shown in the following equation (23).
(Equation 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 calculating the model parameter c1 ″ is normally set to “1”, so that the influence of the past value is maintained. As described above, 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 and the throttle valve opening deviation amount DTH are obtained. Can be prevented from occurring. However, as described later, immediately after the learning process of the fully closed position of the throttle valve 3 is completed, the coefficient δ4 is set to “0” in order to eliminate the influence of the identification value of the model parameter c1 ″ during the learning process. Is done. By setting the other diagonal elements δ1, δ2, and δ3 of the forgetting coefficient matrix DELTA to values larger than “0” and smaller than “1”, drift of the model parameters is prevented.
[0049]
When the equation (16a) is rewritten into a recurrence formula, the following equations (16b) and (16c) are obtained. A method of calculating the model parameter vector θ (n) using the following expressions (16b) and (16c) instead of the expression (16) is hereinafter referred to as a δ correction method, and dθ (d) defined by the expression (16c) n) is called 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, an effect of stabilizing model parameters can be obtained together with an effect of preventing drift. That is, the initial value vector θ (0) is always stored, and the update vector dθ (n) is also limited in the possible values of its elements by the function of the forgetting coefficient matrix DELTA, so that each model parameter is stabilized near the initial value. Can be done.
[0051]
Further, since the model parameters are calculated while adjusting the update vector dθ (n) by identification based on the input / output data of the actual control target, the model parameters 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 by the
[0053]
In the present embodiment, the identification error ide (n) is further low-pass filtered. When a model parameter is identified by the
[0054]
Therefore, the frequency characteristics of the control target model are made to match the actual frequency characteristics by low-pass filter processing, or the low-frequency gain of the control target model is corrected to be slightly higher than the actual low-frequency gain. Thus, overcorrection by the
[0055]
In the low-pass filter processing, the past values ide (n−i) (for example, ten past values corresponding to i = 1 to 10) of the identification error are stored in a ring buffer, and the past values are multiplied by a weight coefficient. And add them.
[0056]
Assuming that the identification error subjected to the low-pass filter processing is represented by ideff (n) as shown by the following equation (30), the update vector dθ () is obtained by using the following equation (16e) instead of the equation (16c). n) is calculated.
ideff (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 a calculation timing is employed, the update cycle of the model parameters used for the calculation of the control input DUT is longer than the update cycle of the control input DUT by the
[0059]
Therefore, in the present embodiment, in order to prevent such resonance, the model parameters identified by the identification cycle ΔTID are sampled (oversampled) by the control cycle ΔTCTL and stored in the ring buffer, and the data stored in the ring buffer is stored. Are used as model parameters.
[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 increase the robustness of the control system. You.
[0061]
FIG. 3 is a diagram for explaining the limit processing of the model parameters a1 "and a2", and shows a plane defined by the model parameter a1 "on the horizontal axis and the model parameter a2" on the vertical axis. When the model parameters a1 "and a2" are outside the stable region shown by hatching in the figure, limit processing is performed to change the model parameters to values corresponding to the outer edge of the stable region.
[0062]
When the model parameter b1 "is out of the range between the upper limit value XIDB1H and the lower limit value XIDB1L, a limit process for changing the model parameter b1" to the upper limit value XIDB1H or the lower limit value XIDB1L is performed. The model parameter c1 "includes the upper limit value XIDC1H and the lower limit value XIDB1L. If it is out of the range of XIDC1L, limit processing for changing to the upper limit value XIDC1H or the lower limit value XIDC1L is performed.
[0063]
The above-described limit processing (first limit processing) is expressed by the following mathematical expression (31). θ * (N) is a model parameter vector after the limit processing, and its elements are represented as in the following equation (32).
θ * (N) = LMT (θ (n)) (31)
θ * (N) T = [A1 * (N), a2 * (N), b1 * (N), c1 * (N)] (32)
[0064]
Conventionally, when the update vector dθ (n) is used to calculate the update vector dθ (n) according to the equation (16e), and when the estimated throttle valve opening deviation amount DTHHAT is calculated using the equation (19). The previous model parameter vector θ (n-1) used for the above-mentioned method used the model parameter before performing the above-mentioned limit processing. In the present embodiment, the previous update vector dθ (n-1) is as follows. The previous model parameter vector used for calculating the estimated throttle valve opening deviation amount DTHHAT using the one calculated by the equation (33) is, as shown in the following equation (19a), the model parameter vector after the limit processing. θ * (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.
If the coordinates determined by the model parameters a1 "and a2" (hereinafter referred to as "model parameter coordinates") are at the point PA1 in FIG. 3B, the point at which the model parameter coordinates are located at the outer edge of the stable area is obtained by the limit processing. Move to PAL. At this time, when the throttle valve opening deviation amount DTH changes and the model parameter coordinates at which the model parameters a1 "and a2" should converge change to the point PA2, the movement from the point PA1 to the point PA2 is performed at the point PAL. From PA to PA2. That is, there is a possibility that a dead time occurs when the control by the adaptive sliding
[0066]
Therefore, in the present embodiment, the model parameter vector θ after the limit processing * By applying (n-1) to equations (33) and (19a), the current model parameter vector θ (n) is calculated.
Model parameter vector θ after first limit processing * A model parameter vector θ obtained by oversampling (n) at time k * (K) is represented by the following equation (32a).
θ * (K) T = [A1 * (K), a2 * (K), b1 * (K), c1 * (K)] (32a)
[0067]
This oversampled model parameter vector θ * If the model parameter vector θ ′ (k) obtained by performing the moving average calculation of (k) is represented by the following equation (32b), the elements a1 ′ (k), a2 ′ ( k), b1 '(k), and c1' (k) are calculated by the following equations (34) to (37).
θ '(k) T = [A1 '(k), a2' (k), b1 '(k), c1' (k)] (32b)
[0068]
(Equation 7)
Here, (m + 1) is the number of data on which the moving averaging operation is performed, and “m” is set to, for example, “4”.
[0069]
Next, as shown in the following equation (38), by performing the same limit processing (second limit processing) as the above-described limit processing on the model parameter vector θ ′ (k), the corrected 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. 3 due to the moving average calculation. Since the model parameters b1 'and c1' do not fall outside the limit range by the moving average calculation, the limit processing 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 adaptive sliding
[0071]
FIG. 4 is an overall flowchart of the throttle valve opening control, and this process is executed by the CPU of the ECU 7 every predetermined time (for example, 2 msec).
In step S11, a state variable setting process shown in FIG. 5 is executed. That is, the calculations of the 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, where the model parameter identification calculation processing shown in FIG. 6, that is, the calculation processing of the model parameter vector θ (n) is executed. Next, a first limit process shown in FIG. * (N) is calculated (step S15). Specifically, the limit processing of the model parameter vector θ (n) is executed, and the model parameter vector θ (n) is executed. * (N) is calculated. Element a1 of calculated model parameter vector * (N), a2 * (N), b1 * (N) and c1 * (N) is stored in the ring buffer for each 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 cycle ΔTCTL and the identification cycle ΔTID, and is set to, for example, “5”.
[0073]
In step S16, a predetermined number N is set in the counter IDCOUNT. Therefore, 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 in steps S14 to S16 are executed once every N times.
[0074]
In step S17, the model parameter vector θ after the limit processing * The model parameter vector θ ′ (k) is calculated by the moving average calculation of (n). More specifically, the model parameters stored in the ring buffer are applied to equations (34) to (37) to obtain model parameters a1 ′ (k), a2 ′ (k), b1 ′ (k), and c1. '(K) is calculated.
[0075]
In step S18, a 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 performed, 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) as they are.
[0076]
In step S19, a calculation process of the control amount Usl (k) shown in FIG. 15 is executed. 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 these inputs is calculated. , Control amount Usl (k) (= duty ratio DUT (k)).
[0077]
In step S20, the stability determination process of the sliding mode controller shown in FIG. 23 is executed. That is, the stability determination is performed based on the differential value of the Lyapunov function, and the stability determination flag FSMCSTAB is set. This stability determination flag FSMCSTAB is referred to when the calculation of the control amount Usl (k) is executed.
[0078]
In step S21, the voltage correction and limit processing shown in FIG. 24 is executed. That is, the correction of the duty ratio DUT according to the battery voltage VB is performed, the correction control amount MDUTYB is calculated, and the limit control of the correction control amount MDUTYB is performed to calculate the final control amount MDUTYF.
[0079]
In step S21, a 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 of performing the model parameter identification calculation in step S14 of FIG.
In step S41, the gain coefficient vector KP (n) is calculated by equation (21a), and then the estimated throttle valve opening deviation amount DTHHAT (n) is calculated by 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 S44). S45). In the θbase table, reference model parameters a1base and a2base are actually set, and the reference model parameter b1base is set to the minimum value XIDB1L of the model parameter b1. The reference model parameter c1base is set to “0”.
In step S46, the model parameter vector θ (n) is calculated by equation (16d), and the process ends.
[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 by the equation (18). Next, the value of the counter CNTIDST that is incremented in step S53 is equal to a predetermined value XCNTIDST that is set according to the dead time d of the control object (in the present embodiment, since the dead time d is close to “0”, “ 2 is set) (step S52). Since the initial value of the counter CNTIDST is "0", the process first proceeds to step S53, where the counter CNTIDST is incremented by "1" and the identification error ide (k) is set to "0" (step S54). 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 using the expression (18). Therefore, in steps S52 to S54, the identification error is calculated without using the calculation result using the expression (18). ide (n) is set to “0”.
[0083]
When the answer to step S52 is affirmative (YES), the process immediately proceeds to step S55.
In step S55, a low-pass filter process of the identification error ide (n) is performed. That is, processing for correcting the frequency characteristic of the control target model is executed.
[0084]
In step S56, it is determined whether or not the identification error ide (n) is greater than a predetermined upper limit value IDEMAX (for example, 0.2). If ide (n)> IDEMAX, the identification error ide (n) is determined by the predetermined value. It is set to the upper limit value IDEMAX (step S57).
If the identification error ide (n) is equal to or less than the predetermined upper limit value IDEMAX in step S56, it is determined whether the identification error ide (n) is smaller than the predetermined lower limit value IDEMIN (for example, -0.15) (step S58). . If ide (n) <IDEMIN, the identification error ide (n) is set to its predetermined lower limit IDEMIN (step S59).
If the answer to step S58 is negative (NO), this process is immediately terminated.
[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 flags FA1STAB, FA2STAB, FB1LMT, and FC1LMT used in this process to “0”, respectively. Then, in step S72, limit processing of a1 ″ and a2 ″ shown in FIG. 10 is executed, in step S73, limit processing of b1 ″ shown in FIG. 12 is executed, and in step S74, c1 ″ shown in FIG. Execute limit processing.
[0086]
FIG. 10 is a flowchart of the limit processing of a1 ″ and a2 ″ executed in step S72 of FIG. FIG. 11 is a diagram for explaining the process of FIG. 10 and is referred to together with FIG.
In FIG. 11, a combination of the model parameters a1 "and a2" requiring the limit processing is indicated by "x", and a range of the stable combination of the model parameters a1 "and a2" is indicated by a hatched area (hereinafter referred to as "a"). Stability region). The process of FIG. 10 is a process of moving a combination of the model parameters a1 ″ and a2 ″ outside the stable region to the inside of the stable region (the position indicated by “○”).
[0087]
In step S81, it is determined whether or not the model parameter a2 ″ is equal to or larger than a predetermined a2 lower limit value XIDA2L. The predetermined a2 lower limit value XIDA2L is set to a negative value larger than “−1”. Even if the predetermined lower limit value XIDA2L is set to “−1”, the stable model parameter a1 * , A2 * Is obtained, but the nth power of the matrix A defined by the following equation (40) becomes unstable (this means that a1 "and a2" do not diverge but oscillate), It is set to a value larger than "-1".
(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 parameters by the limit processing P1 in steps S81 and S82 is indicated by an arrow line with “P1” (a line with an arrow).
[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 steps S84 and S85, it is determined whether or not the model parameter a1 ″ is within a range defined by a predetermined a1 lower limit value XIDA1L and a predetermined a1 upper limit value XIDA1H. The predetermined a1 upper limit value XIDA1H is set to a small value, for example, 2.
[0090]
If the answers of steps S84 and S85 are both affirmative (YES), that is, if 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 parameters by the limit processing P2 in steps S84 to S87 is indicated by an arrow with “P2”.
[0091]
In step S90, the model parameter a1 * Absolute value of 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]
Straight lines L1 and L2 shown in FIG. 11 are straight lines satisfying the following equation (41).
a2 * + | A1 * | = XA2STAB (41)
Therefore, step S90 is performed in the model parameter a1. * And a2 * Is determined to be 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 process is immediately terminated.
[0093]
On the other hand, if the answer to step S90 is negative (NO), the model parameter a1 * Is determined to be less than or equal to a value obtained by subtracting a predetermined a2 lower limit value XIDA2L from a predetermined stability determination value XA2STAB (XA2STAB−XIDA2L> XA2STAB holds because XIDA2L <0) (step S91). And the model parameter a1 * Is less than or equal to (XA2STAB-XIDA2L), the model parameter a2 * To (XA2STAB- | a1 * |) And the a2 stabilization flag FA2STAB is set to “1” (step S92).
[0094]
In step S91, the model parameter a1 * Is larger 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 modification of the model parameters by the limit processing P3 in steps S91 and S92 is indicated by an arrow with “P3”, and the modification of the model parameters by the limit processing P4 in steps S91 and S93 is This is indicated by an arrow with “P4”.
[0096]
As described above, the limit processing is executed by the processing in 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 limit processing of b1 ″ 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 defined by a predetermined b1 lower limit XIDB1L and a predetermined b1 upper limit XIDB1H. The predetermined b1 lower limit XIDB1L is a positive predetermined value (for example, 0 .1), and the predetermined b1 upper limit value XIDB1H is set to, for example, “1”.
[0098]
If the answers of steps S101 and S102 are both affirmative (YES), that is, if 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, 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 defined by a predetermined c1 lower limit value XIDC1L and a 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, for example, 60.
[0101]
When the answers of 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, S114). When 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 corrected model parameter c1 has been 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. This processing replaces “a1 ″” and “a2 ″” in the processing of FIG. 10 with “a1 ′” and “a2 ′”, respectively, and “a1” * And "a2 * Is replaced by “a1” and “a2”, respectively, and the processing contents are substantially the same. That is, for the model parameters a1 ′ and a2 ′ that have been subjected to the moving average processing, the same limit processing as in FIG. 10 is performed in steps S121 to S133, and the 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 process of calculating 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 arithmetic processing of the reaching law input Urch shown in FIG. 19 is executed, and in step S204, the arithmetic processing of the adaptive law input Uadp shown in FIG. 20 is executed. In step S205, the arithmetic processing of the non-linear input Unl shown in FIG. 21 is executed, and in step S207, the arithmetic 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 a 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]
If 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. The process ends. On the other hand, when the control amount Usl is equal to or smaller than the predetermined lower limit value XUSLL, the control amount Usl is set to the predetermined lower limit value XUSLL (steps S211, S214). When the control amount Usl is equal to or larger than the predetermined upper limit value XUSLH, the control amount Usl is set. 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, a VPOLE calculation process shown in FIG. 17 is executed to calculate a 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 range of the predetermined upper and lower limit values XSGMH and XSGML, and the switching function value σ (k) is determined to be within the range of the predetermined upper and lower limit value. If the value is within the range, the present process is immediately terminated. On the other hand, if the switching function value σ (k) is equal to or smaller than the predetermined lower limit value XSGML, the switching function value σ (k) is set to the predetermined lower limit value XSGML (steps S223, S225), and the switching function value σ (k) is set. If it is not less 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]
If FSMCSTAB = 0 and the adaptive sliding
[0113]
In the following steps S235 and S236, it is determined whether or not the calculated switching function setting parameter VPOLE is within the range of predetermined upper and lower limit values XPOLEH and XPOLEL, and when the switching function setting parameter VPOLE is within the range of the predetermined upper and lower limit value. Ends this process immediately. On the other hand, when the switching function setting parameter VPOLE is equal to or smaller than the predetermined lower limit XPOLEL, the switching function setting parameter VPOLE is set to the predetermined lower limit XPOLEL (steps S236 and S238), and when the switching function setting parameter VPOLE is equal to or larger than the predetermined upper limit XPOLEH. If there is, the switching function setting parameter VPOLE is set to the predetermined upper limit 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 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 S252). ). If σ> −XSGMSL, it is determined whether the switching function value σ is equal to or greater than a predetermined upper limit XSGMSL (step S253). If σ ≧ XSGMSL, the switching function parameter SGMS is set to its upper limit 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, a limit process 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 the limit processing. This limit processing can prevent the throttle valve opening deviation amount DTH from overshooting the target value DTHR 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 switching function parameter SGMS and the control gain F are applied to the following equation (42) to calculate the reaching law input Urch (k) (step S263). Equation (42) is obtained by replacing the switching function value σ (k) in 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 range of predetermined upper and lower limits XURCHH and XURCHL. When the reaching law input Urch is within the range of the predetermined upper and lower limits, This processing ends immediately. On the other hand, when the reaching law input Urch is equal to or smaller than 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 equal to or larger than the predetermined upper limit value XURCHH. Then, the reaching law input Urch is set to the predetermined upper limit value XURCHH (steps S267 and S269).
[0119]
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). ). If σ> −XSGMSL, it is determined whether the switching function value σ is equal to or greater than a predetermined upper limit XSGMSL (step S273). If σ ≧ XSGMSL, the switching function parameter SGMS is set to its upper limit XSGMSL (step S274). If 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]
In steps S271 to S275, the 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 the limit processing. This limit processing can prevent the throttle valve opening deviation amount DTH from overshooting the target value DTHR when the target value DTHR changes suddenly.
[0122]
In a succeeding 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 law input Uadp (k) is calculated by applying the switching function parameter SGMS and the control gain G to the following equation (44) (step S280). Equation (44) is obtained by replacing the switching function value σ (k) in Equation (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 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 range of the predetermined upper and lower limit values XUADPH and XUADPL. When the adaptive law input Uadp is within the range of the predetermined upper and lower limit value, This processing ends immediately. On the other hand, when the adaptive law input Uadp is equal to or smaller than the predetermined lower limit value XUADPL, the adaptive law input Uadp is set to the predetermined lower limit value XUADPL (steps S282 and S284). Then, 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 processing for calculating the non-linear input Unl executed in step S205 in 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 SNL is set. The parameter SNL is set to "1" (step S305).
In a succeeding step S307, a nonlinear input Unl (k) is calculated by the following equation (46).
Unl (k) =-Knl × SNL / b1 (46)
[0128]
21 uses the nonlinear input parameter SNL instead of the sign function sgn (σ (k)) of the above equation (11), and within a predetermined range where the absolute value of the switching function value σ is small, the switching function value σ Is applied as is. This makes it possible to suppress minute vibration (chattering) caused by the non-linear input Unl.
[0129]
FIG. 22 is a flowchart of the calculation processing 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 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 correction coefficient Kkdamp of the damping control gain 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 equation (13) (reprinted).
Udamp (k) = − Kdamp × (DTH (k) −DTH (k−1)) / b1 (13)
[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 based on the differential term of the Lyapunov function is performed, 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 a stability determination threshold value XSGSTAB. If SGSTAB> 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. When CNTSMCST ≦ XSSTAB, the
[0136]
In the following 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, and it is determined whether 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 is made. The flag FSMCSTAB2 is set to "1" (step S362).
[0138]
In a succeeding step S364, the value of the stability determination period counter CNTJUDST is set to the predetermined determination count value XCJUDST, and 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. Regarding the second determination flag FSMCSTAB2, even if the answer to step S356 is affirmative (YES) and the first determination flag FSMCSTAB1 is set to "0", the value of the stability determination period counter CNTJUDST becomes "0" until "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 processing executed in step S21 of FIG.
In step S401, the battery voltage is corrected by the following equation (52), and a 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, for example, 14V. VBADFT is a smoothed battery voltage obtained by smoothing the detected battery voltage VB by the following equation (53).
VBADFT = CVB × VB + (1−CVB) × VBADFT (k−1) (53)
Here, CVB is a smoothing coefficient set to a value between 0 and 1.
By performing the battery voltage correction, good controllability can be maintained even when the battery voltage VB changes.
[0140]
In step S402, it is determined whether or not the correction control amount MDUTYB is equal to or more 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. It is set (step S404). Next, the limit processing flag FDUTYLMT is set to "1" (step S406), and this processing 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 the correction control amount MDUTYB is equal to or less than a predetermined negative lower limit value DUTYLMTL (for example, -90%) (step S403). If MDUTYB ≦ DUTYLMTL, the correction control amount MDUTYB is set to a predetermined negative 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 the correction control amount MDUTYB is equal to or more than a positive predetermined lower limit MDFH (for example, 2%). Is determined (step S408). If 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). If MDUTYB ≧ 0, the final control amount MDUTYF is set to a predetermined positive lower limit 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 the correction control amount MDUTYB is equal to or more than a predetermined negative upper limit MDFL. If MDUTYB <MDFL, the process proceeds to step S411, and if MDUTYB ≧ MDFL, the final control amount MDUTYF is set to a predetermined negative upper limit 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 reduced. Processing is performed so as not to be set to a value near “0”. As a result, when the correction control amount MDUTYB becomes a value other than “0” near “0”, the current actually supplied to the
[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 change amount DDTH is applied to the following equation (55) to obtain the
DDTH = DTH (k) -DTH (k-1) (54)
NMOT = KDEG2RPM × DDTH (55)
Here, KDEG2RPM is a conversion coefficient set according to the gear ratio of the gear that transmits the rotation 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 a corresponding electromotive force of the
In step S423, the correction voltage VEMF is converted into a duty correction amount DUTYEMF by the following equation (57).
DUTYEMF = VEMF / VBADFT (57)
Here, VBADFT is the smoothed battery voltage calculated by the equation (53).
[0147]
In step S424, the correction control input DUTVL is calculated by applying the final control amount MDUTYF and the duty correction amount DUTYEMF to the following equation (58). Multiplying (VBADFT / VBR) corresponds to reverse voltage correction.
DUTVL = (MDUTYF + DUTYEMF) × VBADFT / VBR (58)
[0148]
FIG. 26 is a flowchart of a process for learning the fully closed position of the throttle valve 3. This process is executed by the CPU of the ECU 7 every predetermined time (for example, every 2 milliseconds). In the present embodiment, the throttle
[0149]
In step S440, it is determined whether the learning end flag FCLSTHEND is “1”. When the ignition switch is turned on, since the learning end flag FCLSTHEND is set to "0", this answer is initially negative (NO), and the process proceeds to step S441. In the step S441, it is determined whether or not the initialization flag FCLSTCMD is “1”. Since the initialization flag FCLSTCMD is also initially set to “0”, the process proceeds to step S442, and the target opening THR is set to the default opening THDEF. Next, an 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 such 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 THR is smaller than "0", and if THR <0, the target opening 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 throttle valve 3 reaches the fully closed position. When the target opening THR is set to “0”, the actual throttle valve opening TH does not fall below the positive full closing opening (it does not become “0”), so the control deviation e (= TH− (THR) does not converge to “0”.
[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 set to a predetermined change amount DTHSTB (for example, 0.5 °). It is determined whether or not it is smaller (step S448). While | ΔTH | ≧ DTHSTB, the down count timer tTHSTB is set to a predetermined standby time tmTHSTB (for example, 60 milliseconds) and started (step S450), and the present 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 value C1TH (step S449). If e does not converge to "0", the value gradually increases, and while the answer to step S449 is negative (NO), it is determined that the throttle valve 3 has not reached the fully closed position, and the aforementioned step S450 is performed. Proceed to. Thereafter, if the answer to step S449 is affirmative (YES), it is determined that the throttle valve 3 has reached the fully closed position, and it is determined whether the value of the timer tTHSTB is "0" (step S451). When tTHSTB> 0, this process is immediately terminated. When tTHSTB = 0, the throttle valve opening TH at that time is stored as a fully closed position TH1VZR0 indicating the fully closed position (step S452), and the learning ends. The flag FCLSTHEND is set to "1" (step S453). Next, the model parameter c1 "is set to a predetermined value C1X, and the forgetting factor δ4 for calculating the model parameter c1" is set to "0" (step S454). The predetermined value C1X is set to, for example, the average value of the model parameter c1 "during normal control. Alternatively, since the model parameter c1" indicates a disturbance or a deviation of the default opening THDEF, the center value is originally "0". , The predetermined value C1X is set to “0” or a value in the vicinity thereof.
[0153]
By setting the model parameter c1 "to the predetermined value C1X, the c1" value increased with the increase of the control deviation e during the execution of the learning process is immediately returned to a value suitable for the normal control. Can be prevented from deteriorating. Further, by temporarily setting the forgetting coefficient δ4 to “0”, it is possible to eliminate the influence of the value of c1 ″ during the execution of the learning process. This also contributes to prevention of deterioration in controllability. δ4 is set to “0” for only one calculation of the model parameter vector, and then returned to “1” from the calculation.
[0154]
If the learning end flag FCLSTHEND is set to “1” in step S453, the answer in step S440 is affirmative (YES), and the processing in FIG. 26 is not substantially executed. That is, the fully closed position learning process of FIG. 26 is executed at predetermined time intervals immediately after the ignition switch is turned on and until the learning end flag FCLSTHEND becomes “1”.
[0155]
The learning of the fully open position of the throttle valve 3 can be performed in the same manner as in the process of FIG. In the fully open position learning process, the target opening THR is gradually increased from the default opening THDEF until it reaches, for example, 90 deg. Since the actual fully open position is smaller than 90 deg, this causes the throttle valve 3 to reach the fully open position. Then, the throttle valve opening TH after a lapse of a predetermined standby time from the time when the full-open position is reached is stored as the full-open position.
[0156]
In the present embodiment, the ECU 7 configures a control unit, an identification unit, a learning unit, a setting unit, and a determination unit. More specifically, step S19 in FIG. 4 (the processing 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 a setting unit, and step S449 corresponds to a determining unit.
[0157]
The present invention is not limited to the embodiment described above, and various modifications are possible. For example, in the above-described embodiment, the configuration including the
Further, it may be configured to include only one of the
[0158]
In addition, the response-designated controller that executes feedback control that matches the output of the controlled object to the target value and can specify the damping characteristics of the control deviation is not limited to the adaptive sliding mode controller, and the control result is similar to that of the sliding mode control. May be a controller that performs back-stepping control for realizing the above.
[0159]
【The invention's effect】
As described above in detail, 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, a model parameter irrelevant to the input / output of the control target model is set to a predetermined value. You. Here, the “predetermined value” is, for example, an average value during normal control, or a value near zero, so that even when the model parameter greatly changes during the learning execution, the throttle valve opening degree immediately after the learning is changed. Deterioration of controllability can be prevented.
According to the second aspect of the present invention, it is determined that the throttle valve has reached the reference position when a model parameter irrelevant to the input / output of the control target model exceeds the predetermined threshold. Model parameters that are not related to the input / output of the controlled model increase as the control deviation increases, so the model parameters that are not related to the input / output of the controlled model exceed a predetermined threshold. It can be determined that the position has been reached.
[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.
FIG. 2 is a functional block diagram showing functions realized by an electronic control unit (ECU) of FIG.
FIG. 3 is a diagram for explaining a limit process of model parameters (a1 ″, a2 ″).
FIG. 4 is a flowchart showing an overall configuration of a throttle valve opening control process.
FIG. 5 is a flowchart of a state variable setting process executed in the process of FIG. 4;
FIG. 6 is a flowchart of a model parameter identification calculation process executed in the process of FIG. 4;
FIG. 7 is a diagram showing 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. 4;
FIG. 10 is a flowchart of a limit process of model parameters (a1 ″, a2 ″) executed in the process of FIG. 9;
FIG. 11 is a diagram for explaining the processing in FIG. 10;
FIG. 12 is a flowchart of a model parameter (b1 ″) limit process executed in the process of FIG. 9;
FIG. 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. 4;
FIG. 15 is a flowchart of a control amount (Usl) calculation process executed in the process of FIG. 4;
FIG. 16 is a flowchart of a calculation process of a switching function value (σ) executed in the process of FIG. 15;
FIG. 17 is a flowchart of a process of calculating a switching function setting parameter (VPOLE) executed in the process of FIG. 16;
FIG. 18 is a diagram showing a table used in the processing of FIG. 17;
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 a stability determination process of the sliding mode controller executed in the process of FIG. 4;
FIG. 24 is a flowchart of a voltage correction and limit process executed in the process of FIG. 4;
FIG. 25 is a flowchart of a DUTVL calculation process executed in the process of FIG. 4;
FIG. 26 is a flowchart of a process for learning a fully closed degree.
[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
21 Adaptive sliding mode controller (control means)
22 Model parameter identifier (identification means)
24 Target opening setting section
Claims (2)
前記スロットル弁の基準位置を学習する学習手段と、
前記スロットル弁駆動装置をモデル化した制御対象モデルのモデルパラメータを同定する同定手段と、
該同定手段により同定されたモデルパラメータを用いて前記スロットル弁駆動装置を制御する制御手段とを備え、
前記同定手段は、前記制御対象モデルの入出力に関わらないモデルパラメータを同定し、
前記学習手段による学習が終了したときに、前記制御対象モデルの入出力に関わらないモデルパラメータを所定値に設定する設定手段が設けられていることを特徴とするスロットル弁駆動装置の制御装置。In a control device of a throttle valve driving device including a throttle valve of an internal combustion engine and driving means for driving the throttle valve,
Learning means for learning a reference position of the throttle valve;
Identification means for identifying model parameters of a control target model obtained by modeling the throttle valve driving device;
Control means for controlling the throttle valve driving device using the model parameters identified by the identification means,
The identification means identifies a model parameter that is not related to the input / output of the control target model,
A control device for a throttle valve driving device, further comprising a setting device for setting a model parameter irrelevant to the input / output of the control target model to a predetermined value when the learning by the learning device 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 true JP2004084544A (en) | 2004-03-18 |
| JP4435467B2 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) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102006035372B4 (en) * | 2005-10-28 | 2011-07-07 | DENSO CORPORATION, Aichi-pref. | Engine control unit |
| CN106917688A (en) * | 2015-12-24 | 2017-07-04 | 三菱电机株式会社 | The control device and control method of internal combustion engine |
| WO2025022539A1 (en) * | 2023-07-25 | 2025-01-30 | 日産自動車株式会社 | Control method for internal combustion engine and control device for internal combustion engine |
-
2002
- 2002-08-27 JP JP2002246235A patent/JP4435467B2/en not_active Expired - Lifetime
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102006035372B4 (en) * | 2005-10-28 | 2011-07-07 | DENSO CORPORATION, Aichi-pref. | Engine control unit |
| CN106917688A (en) * | 2015-12-24 | 2017-07-04 | 三菱电机株式会社 | The control device and control method of internal combustion engine |
| CN106917688B (en) * | 2015-12-24 | 2020-04-21 | 三菱电机株式会社 | Control device and control method of internal combustion engine |
| WO2025022539A1 (en) * | 2023-07-25 | 2025-01-30 | 日産自動車株式会社 | Control method for internal combustion engine and control device for internal combustion engine |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4435467B2 (en) | 2010-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3977199B2 (en) | Control device for throttle valve drive device | |
| JP3686377B2 (en) | Plant control device | |
| JP4064159B2 (en) | Plant control equipment | |
| JP2004102441A (en) | Plant control equipment | |
| JP2004013456A (en) | Plant control equipment | |
| JP4002460B2 (en) | Control device for throttle valve drive device | |
| JP3857169B2 (en) | Plant control equipment | |
| JP4435467B2 (en) | Control device for throttle valve drive device | |
| EP1452709A2 (en) | Control apparatus for exhaust gas recirculation valve | |
| JP3686383B2 (en) | Plant control device | |
| JP3949470B2 (en) | Plant control equipment | |
| JP3964284B2 (en) | Control device for throttle valve drive device | |
| JP4060148B2 (en) | Plant control equipment | |
| JP3602811B2 (en) | Plant control equipment | |
| JP3949540B2 (en) | Plant control equipment | |
| JP4549569B2 (en) | Plant control equipment | |
| JP3902504B2 (en) | Plant control equipment | |
| JP3995899B2 (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 | |
| EP1331532A2 (en) | Control system for plant | |
| 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 |