以下、図面を参照しながら、本発明の一実施形態に係る内燃機関の排ガス浄化装置について説明する。図1は、本実施形態の排ガス浄化装置1およびこれを適用した内燃機関(以下「エンジン」という)3の概略構成を示している。このエンジン3は、リーンバーン運転方式のもの(ガソリンエンジンまたはディーゼルエンジン)であり、図示しない車両に搭載されている。
同図に示すように、この排ガス浄化装置1は、ECU2と、エンジン3の排気通路4に上流側から順に設けられた選択還元触媒5および下流側触媒6と、選択還元触媒5の上流側の排気通路4内に尿素水を噴射するユリア噴射装置10などを備えている。
このユリア噴射装置10(還元剤供給装置)は、ユリア噴射弁11およびユリアタンク12を備えている。このユリアタンク12は、尿素水を貯蔵するものであり、ユリア供給路13およびユリアポンプ(図示せず)を介して、ユリア噴射弁11に接続されている。
ユリア噴射弁11は、ECU2に電気的に接続されており、ECU2からの制御入力信号によって開弁状態に駆動されると、ユリアタンク12からの尿素水を排気通路4内に噴射する。すなわち、ユリア噴射制御が実行される。この場合、ユリア噴射弁11から噴射された尿素水の尿素は、その一部が、排ガスの熱および選択還元触媒5との接触によって、アンモニアに変化する。
また、ユリアタンク12には、ユリアレベルセンサ20が取り付けられており、このユリアレベルセンサ20は、ユリアタンク12内の尿素水のレベルを検出して、それを表す検出信号をECU2に出力する。ECU2は、このユリアレベルセンサ20の検出信号に基づいて、ユリアタンク12内の尿素水の残量(以下「ユリア残量」という)Qureaを算出する。
一方、選択還元触媒5は、還元剤としての尿素(Urea)が存在する雰囲気下で、排ガス中の窒素酸化物(NOx)を選択的に還元するものである。この選択還元触媒5では、そのNOxの還元作用において、尿素水の噴射時に尿素から変化したアンモニアも、尿素と一緒に消費されるとともに、消費されなかった分のアンモニアは、選択還元触媒5内に貯蔵される。
この選択還元触媒5には、触媒温センサ21が取り付けられている。この触媒温センサ21は、選択還元触媒5の温度(以下「触媒温」という)Tscrを検出して、それを表す検出信号をECU2に出力する。ECU2は、この触媒温センサ21の検出信号に基づき、触媒温Tscrを算出する。
また、下流側触媒6も、選択還元触媒5と同様に、還元剤としての尿素が存在する雰囲気下で、排ガス中のNOxを選択的に還元する選択還元触媒タイプのもので構成されている。
さらに、排気通路4の選択還元触媒5の下流側には、排ガス濃度センサ22が設けられている。この排ガス濃度センサ22は、ECU2に電気的に接続され、排ガス中のNOxおよびアンモニアの双方に対して感度を有しているとともに、検出信号の値が、排ガス中のNOx濃度またはアンモニア濃度が高いほど、より大きくなるという特性を有しているている。ECU2は、この排ガス濃度センサ22の検出信号の値をNOxおよびアンモニアの濃度に換算した値として、検出信号値EXS_actを算出する。
さらに、ECU2には、クランク角センサ23、吸気圧センサ24、アクセル開度センサ25、警告ブザー26および警告ランプ27がそれぞれ接続されている。このクランク角センサ23は、マグネットロータおよびMREピックアップで構成されており、クランクシャフト(図示せず)の回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。
このCRK信号は、所定クランク角(例えば1゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の機関回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各気筒のピストン(いずれも図示せず)が吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。
また、吸気圧センサ24は、例えば半導体圧力センサなどで構成され、図示しない吸気通路内の圧力(以下「吸気圧」という)PBを検出して、それを表す検出信号をECU2に出力する。この吸気圧PBは、絶対圧として検出される。さらに、アクセル開度センサ25は、車両の図示しないアクセルペダルの踏み込み量(以下「アクセル開度」という)APを検出して、それを表す検出信号をECU2に出力する。
一方、警告ブザー26および警告ランプ27はいずれも、車両のメータパネルに配置されており、警告ブザー26は、選択還元触媒5が劣化したときに、それを表すためにECU2によって起動され、警告音を発生する。また、警告ランプ27は、ユリアタンク12内の尿素水の残量が少なくなったときに、それを表すためにECU2によって点灯される。
一方、ECU2は、CPU、RAM、ROM、I/Oインターフェースおよび駆動回路(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜27の検出信号などに応じて、エンジン3の運転状態を判別するとともに、後述するSCR制御処理などの各種の制御処理を実行する。
なお、本実施形態では、ECU2が、排ガス濃度検出手段、推定値算出手段、供給量決定手段、NOx浄化誤差パラメータ算出手段、NOx浄化特性モデル修正手段、アンモニア貯蔵誤差パラメータ算出手段、アンモニア貯蔵特性モデル修正手段、最大アンモニア貯蔵量算出手段、アンモニア貯蔵量算出手段、ゲイン修正値算出手段、NOx浄化重み関数算出手段、NOx浄化修正値算出手段、アンモニア貯蔵重み関数算出手段、アンモニア貯蔵修正値算出手段、下流側アンモニア貯蔵量算出手段、および目標値設定手段に相当する。
次に、本実施形態の排ガス浄化装置1における排ガス浄化手法について説明する。この排ガス浄化装置1は、ユリア噴射弁11を介して尿素水を排気通路4の選択還元触媒5の上流側に噴射し、それにより、排ガス中のNOxを還元剤としての尿素の存在下で選択還元触媒5によって浄化するものである。以下、ユリア噴射弁11から噴射される尿素水の量(以下「ユリア噴射量」という)Gureaを算出する手法およびその原理について説明する。
本実施形態の場合、排ガス濃度センサ22が選択還元触媒5の下流側に設けられていることと、排ガス濃度センサ22の前述した特性とに起因して、ユリア噴射弁11によるユリア噴射量Gureaと前述した検出信号値EXS_actとの関係は、図2に示すようになる。図2(a),(b)はそれぞれ、ユリア噴射量Gureaを変化させた場合における、選択還元触媒5の下流側における排ガス中のNOx濃度およびアンモニア濃度の測定結果の一例を示しており、図2(c)は、ユリア噴射量Gureaを変化させた場合における検出信号値EXS_actの測定結果の一例を表している。
同図に示すように、ユリア噴射量Gureaが所定値Gurea_optにあるときに、検出信号値EXS_actが極小値を示すとともに、ユリア噴射量Gureaが所定値Gurea_optよりも大きくなるほど、選択還元触媒5の下流側における排ガス中のアンモニア濃度が高くなる一方、ユリア噴射量Gureaが所定値Gurea_optよりも小さくなるほど、排ガス中のNOx濃度が高くなる。この事象に着目して、特許文献1の排ガス浄化装置の場合、排ガス中のNOx濃度およびアンモニア濃度をバランスよく低減すべく、検出信号値EXS_actが極小値になるように、ユリア噴射量Gureaを制御している。
ここで、選択還元触媒5におけるアンモニア貯蔵量(以下「NH3貯蔵量」という)とその最大貯蔵量との比率(%)をアンモニア貯蔵率とした場合、アンモニア貯蔵率と、選択還元触媒5におけるNOx浄化率(%)との関係は、図3に示すものとなる。すなわち、同図に示すように、選択還元触媒5は、アンモニア貯蔵率が高いほど、NOx浄化率がより高くなるとともに、アンモニア貯蔵率が100%にあるときに、NOx浄化率が最高値(100%に近い値)になるという特性を備えている。これに対して、特許文献1の排ガス浄化装置のように、ユリア噴射量Gureaを、検出信号値EXS_actが極小値になるように制御した場合、エンジン3の運転負荷変動の影響によって、検出信号値EXS_actは、実際には極小値となる値からしばしば離間することになる。そのため、ユリア噴射量Gureaを、所定値Gurea_optの前後に変動させながら、検出信号値EXS_actを極小値付近に維持するように制御する必要がある。そのように制御した場合、アンダードージング状態(還元剤量がNOx量に対して不足している状態)が頻繁に発生し、その結果、選択還元触媒5のアンモニア貯蔵率が、15〜30%の範囲(同図のハッチングで示す範囲)内の値になってしまうことが実験により確認された。
したがって、良好なNOx浄化率を確保するには、選択還元触媒5におけるアンモニア貯蔵率が100%になるように、ユリア噴射量Gureaを所定値Gurea_opt以上の範囲に制御する必要がある。その場合、選択還元触媒5よりも下流側のアンモニア濃度が高くなりすぎると、下流側触媒6のNH3貯蔵量がその限界を超えてしまい、アンモニアが下流側触媒6に貯蔵されることなく、通り抜けてしまうおそれがあるので、ユリア噴射量Gureaを、そのような事象が発生しないような値に制御する必要がある。以上の条件を満たすユリア噴射量Gureaの値を最適値Gurea_slpとし、そのときの検出信号値EXS_actを値EXS_trgtとした場合、図2(c)に示すように、Gurea=Gurea_slpのときに加えて、Gurea=Gurea_undのときにも、EXS_act=EXS_trgtが成立するとともに、Gurea=Gurea_undのときには、NOx浄化率がGurea=Gurea_slpのときよりもかなり低下してしまう。
以上の理由により、検出信号値EXS_actすなわち排ガス濃度センサ22の検出信号の値を目標値になるように制御する手法では、ユリア噴射量Gureaを最適値Gurea_slpに制御するのは困難であり、結果的に、良好なNOx浄化率を確保するのは困難である。したがって、本実施形態では、良好なNOx浄化率を確保するために、以下に述べる制御手法により、選択還元触媒5におけるアンモニア貯蔵率やNOx浄化率などを推定し、その推定結果に基づいて、ユリア噴射量Gureaが算出される。なお、以下の説明では、アンモニアが触媒に貯蔵されることなく、触媒を通り抜けてしまう事象を「NH3スリップ」という。
次に、図4を参照しながら、本実施形態の排ガス浄化装置1の構成について説明する。同図に示すように、排ガス浄化装置1は、ユリア噴射コントローラ200を備えている。このユリア噴射コントローラ200は、ユリア噴射量Gurea(還元剤の供給量)を算出するものであり、具体的にはECU2によって構成されている。
ユリア噴射コントローラ200は、同図に示すように、推定値算出部210、NH3ストレージコントローラ260、目標NH3スリップ濃度算出部270、NH3スリップコントローラ280および加算器290を備えている。
まず、推定値算出部210では、後述する手法により、FF噴射量Gurea_FF、推定NH3貯蔵量ST_Urea、最大NH3貯蔵量ST_Urea_MAX、推定NH3スリップ濃度Cnh3_scr_hatおよび推定NOxスリップ濃度Cnox_scr_hatが算出される。
また、NH3ストレージコントローラ260では、後述する手法により、NH3飽和噴射量Gurea_STが算出され、目標NH3スリップ濃度算出部270では、後述する手法により、目標NH3スリップ濃度Cnh3_scr_trgtが算出されるとともに、NH3スリップコントローラ280では、後述する手法により、FB噴射量Gurea_FBが算出される。
そして、最終的に、加算器290で、下式(1)により、ユリア噴射量Gureaが算出される。
上式(1)において、記号(k)付きの各離散データは、所定の制御周期ΔT(本実施形態では50msec)に同期して算出(またはサンプリング)されたデータであることを示しており、記号k(kは正の整数)は各離散データの算出サイクルの順番を表している。例えば、記号kは今回の制御タイミングでサンプリングまたは算出された値(以下「今回値」という)であることを、記号k−1は前回の制御タイミングでサンプリングまたは算出された値(以下「前回値」という)であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号(k)を適宜省略する。
次に、図5を参照しながら、前述した推定値算出部210について説明する。同図に示すように、推定値算出部210は、触媒推定器220、除算器250,251、加算器252、修正後信号値算出部253およびモデル修正器254を備えている。
まず、触媒推定器220は、選択還元触媒5に関連する各種のパラメータを算出するものであり、図6に示すように、基準NOx浄化率算出部221、遅延要素222、補正係数算出部223、乗算器224,226,227、減算器225、増幅器228およびNH3推定器230を備えている。
この基準NOx浄化率算出部221では、触媒温Tscrに応じて、図8に示すマップを検索することにより、基準NOx浄化率ItaNox_BSが算出される。この基準NOx浄化率ItaNox_BSは、選択還元触媒5におけるNOx浄化率の推定値に相当するものであり、同図において、Tscr1〜Tscr3は、触媒温Tscrの所定値であり、Tscr1<Tscr2<Tscr3が成立するように設定される。
同図に示すように、基準NOx浄化率ItaNox_BSは、Tscr<Tscr1の領域では、値0に設定されており、これは触媒温Tscrがそのような温度域にあるときには、選択還元触媒5が活性化しないことによる。また、基準NOx浄化率ItaNox_BSは、Tscr1≦Tscr<Tscr2の領域では、触媒温Tscrが高いほど、より大きい値に設定され、Tscr2<Tscr≦Tscr3の領域では、触媒温Tscrが高いほど、より小さい値に設定されているとともに、Tscr=Tscr2のときにその最大値になるように設定されている。これは、選択還元触媒5がTscr1≦Tscr<Tscr2の領域で、触媒温Tscrに対して以上のようなNOx浄化特性を示すことによる。
また、遅延要素222では、後述するNH3推定器230で算出された推定NH3貯蔵率RT_st_ureaを1制御サイクル分遅延させることにより、推定NH3貯蔵率の前回値RT_st_urea(k−1)が算出される。
次に、補正係数算出部223では、推定NH3貯蔵率の前回値RT_st_urea(k−1)に応じて、図9に示すマップを検索することにより、NH3貯蔵率補正係数Kita_stが算出される。同図に示すように、NH3貯蔵率補正係数Kita_stは、推定NH3貯蔵率の前回値RT_st_urea(k−1)が値1に近いほど、値1により近い値に設定されている。これは、選択還元触媒5に貯蔵されているアンモニア量が貯蔵可能な限界値に近いほど、選択還元触媒5におけるNOx浄化率がより上昇することによる。
また、乗算器224では、下式(2)により、推定NOx浄化率ItaNoxが算出される。
上式(2)のKVNS_itaは、NOx浄化率修正係数であり、後述するように、モデル修正器254で算出される。
さらに、減算器225では、値1と推定NOx浄化率ItaNoxとの差分1−ItaNoxが算出され、乗算器226では、下式(3)に示すように、この差分1−ItaNoxに推定機関NOx排出量Gnox_eng_hatを乗算することにより、推定NOxスリップ量Gnox_scr_hatが算出される。
この推定NOxスリップ量Gnox_scr_hatは、選択還元触媒5を通り抜けた排ガス中のNOx量の推定値である。また、推定機関NOx排出量Gnox_eng_hatは、エンジン3から排出されるNOx量の推定値であり、後述する手法により算出される。
また、乗算器227では、NOx浄化率と推定機関NOx排出量との積ItaNox・Gnox_eng_hatが算出され、増幅器228では、下式(4)に示すように、この積ItaNox・Gnox_eng_hatに換算係数Knox_gureaを乗算することにより、FF噴射量Gurea_FFが算出される。
この換算係数Knox_gureaは、NOx量をユリア噴射量(すなわちユリア量)に換算するための乗算係数である。上式(4)に示すように、FF噴射量Gurea_FFは、エンジン3から排出されるNOx量のうちの選択還元触媒5で還元可能なNOx量を推定し、推定したNOx量を還元するのに必要なユリア量として算出される。
一方、NH3推定器230は、図7に示すように、遅延要素231,232,234、減算器233、加算器235、基準最大NH3貯蔵量算出部236、乗算器237、リミッタ238、除算器239および推定NH3スリップ量算出部240を備えている。
まず、遅延要素231では、ユリア噴射量Gureaを1制御サイクル分遅延させることにより、ユリア噴射量の前回値Gurea(k−1)が算出され、遅延要素232では、FF噴射量Gurea_FFを1制御サイクル分遅延させることにより、FF噴射量の前回値Gurea_FF(k−1)が算出される。
また、減算器233では、ユリア噴射量の前回値とFF噴射量の前回値との偏差[Gurea(k−1)−Gurea_FF(k−1)]が算出され、遅延要素234では、NH3貯蔵量演算値ST_Urea_tempを1制御サイクル分遅延させることにより、NH3貯蔵量演算値の前回値ST_Urea_temp(k−1)が算出される。
そして、加算器235では、下式(5)により、NH3貯蔵量演算値ST_Urea_tempが算出される。このNH3貯蔵量演算値ST_Urea_tempは、選択還元触媒5におけるアンモニア貯蔵量の推定値をユリア噴射量に換算したものである。
一方、基準最大NH3貯蔵量算出部236では、触媒温Tscrに応じて、図10に示すマップを検索することにより、基準最大NH3貯蔵量ST_Urea_MAX_BSが算出される。この基準最大NH3貯蔵量ST_Urea_MAX_BSは、選択還元触媒5で貯蔵可能なアンモニア量の限界値をユリア噴射量に換算したものである。言い換えれば、選択還元触媒5において、アンモニアを限界値まで貯蔵させるのに必要なユリア噴射量に相当する。同図に示すように、このマップでは、基準最大NH3貯蔵量ST_Urea_MAX_BSは、触媒温Tscrが高いほど、より小さい値に設定されている。これは、触媒温Tscrが高いほど、選択還元触媒5のアンモニア貯蔵能力が低下することによる。
また、乗算器237では、下式(6)により、最大NH3貯蔵量ST_Urea_MAX(最大アンモニア貯蔵量)が算出される。
上式(6)のKVNS_stは、最大NH3貯蔵量修正係数であり、後述するように、モデル修正器254で算出される。上式(6)に示すように、最大NH3貯蔵量ST_Urea_MAXは、基準最大NH3貯蔵量ST_Urea_MAX_BSを最大NH3貯蔵量修正係数KVNS_stで修正(補正)することにより算出される。これは、図10のモデル(マップ)を修正することに相当する。
さらに、リミッタ238では、下式(7)〜(9)に示すリミット処理によって、推定NH3貯蔵量ST_Urea(アンモニア貯蔵量)が算出される。
一方、除算器239では、下式(10)により、推定NH3貯蔵率RT_st_ureaが算出される。
上式(10)に示すように、推定NH3貯蔵率RT_st_ureaは、推定NH3貯蔵量ST_Ureaと最大NH3貯蔵量ST_Urea_MAXとの比として算出されるので、これが値1に近いほど、選択還元触媒5で貯蔵されているアンモニア量がその限界値に近いことになる。なお、以下の説明では、選択還元触媒5におけるNH3貯蔵量がその限界値に達したことを「NH3貯蔵量が飽和した」という。
さらに、推定NH3スリップ量算出部240では、下式(11),(12)により、推定NH3スリップ量Gnh3_scr_hatが算出される。この推定NH3スリップ量Gnh3_scr_hatは、選択還元触媒5に貯蔵されることなく、これを通り抜けたアンモニア量の推定値である。
上式(11)のKurea_nh3は、ユリア量をアンモニア量に換算するための換算係数である。
以上のように、NH3推定器230では、推定NH3貯蔵量ST_Urea、最大NH3貯蔵量ST_urea_MAX、推定NH3貯蔵率RT_st_ureaおよび推定NH3スリップ量Gnh3_scr_hatが算出される。
図5に戻り、前述した除算器250では、下式(13)により、推定NH3スリップ濃度Cnh3_scr_hatが算出される。この推定NH3スリップ濃度Cnh3_scr_hatは、選択還元触媒5を通り抜けた排ガス中のアンモニア濃度の推定値である。
上式(13)のGex_hatは、推定排ガス量であり、後述するように、エンジン回転数NEおよび吸気圧PBに応じたマップ検索により算出される。
また、前述した除算器251では、下式(14)により、推定NOxスリップ濃度Cnox_scr_hatが算出される。この推定NOxスリップ濃度Cnox_scr_hatは、選択還元触媒5を通り抜けた排ガス中のNOx濃度の推定値である。
さらに、前述した加算器252では、下式(15)により、推定信号値EXS_hatが算出される。この推定信号値EXS_hatは、前述した検出信号値EXS_actの推定値に相当する。
一方、前述した修正後信号値算出部253では、下式(16)により、修正後信号値EXS_modが算出される。
上式(16)において、KVNS_gainは、ゲイン修正係数であり、モデル修正器254で、後述するように算出される。上式(16)に示すように、修正後信号値EXS_modは、検出信号値EXS_actをゲイン修正係数KVNS_gainで修正することによって算出される。
次に、前述したモデル修正器254について説明する。このモデル修正器254では、以下に述べる手法によって、前述した3つの修正係数KVNS_ita,KVNS_st,KVNS_gainが算出される。
最初に、NOx浄化率修正係数KVNS_itaの算出手法について説明する。この算出手法の場合、まず、下式(17),(18)により、浄化率用誤差EVNS_ita(誤差パラメータ)を算出する。
上式(17),(18)のTH_RT_ITANOXは、所定のしきい値であり、値1に近い値に設定されている。すなわち、浄化率用誤差EVNS_itaは、選択還元触媒5で貯蔵されているアンモニア量がその限界値に達し、NH3貯蔵量が飽和しているときには値0として算出され、NH3貯蔵量が飽和していないときには、推定信号値の前回値EXS_hat(k−1)と修正後信号値の前回値EXS_mod(k−1)との偏差として算出される。これは以下の理由による。
すなわち、選択還元触媒5でNH3貯蔵量が飽和していない場合、選択還元触媒5においてNH3スリップが発生しないことによって、排ガス濃度センサ22は、排ガス中のNOx濃度のみを検出している状態となる。そのため、選択還元触媒5でNH3貯蔵量が飽和していない条件下での、検出信号値EXS_actと推定信号値EXS_hatとの偏差は、選択還元触媒5における実際のNOx浄化率と、触媒推定器220で算出された推定NOx浄化率ItaNoxとの間の誤差に起因して生じているものと見なすことができる。すなわち、検出信号値EXS_actと推定信号値EXS_hatとの偏差は、触媒推定器220で用いている推定モデル(図8のマップや各種の演算式など)のモデル化誤差を表すものと見なすことができる。本実施形態の場合、検出信号値EXS_actを修正した修正後信号値EXS_modを用いていることに加えて、後述するように、推定信号値EXS_hatおよび修正後信号値EXS_modの演算処理がNOx浄化率修正係数KVNS_itaの演算処理の後に実行される関係上、上記の式(17),(18)を用いて、推定モデルのモデル化誤差を表す値として、浄化率用誤差EVNS_itaが算出される。
次に、触媒温Tscrに応じて、図11に示すマップを検索することにより、触媒温重み関数Wti(i=1〜3)を算出する。この触媒温重み関数Wtiは、3つの値Wt1,Wt2,Wt3を要素とするベクトルとして算出される。同図において、Tscr_x1,Tscr_x2は、Tscr_x1<Tscr_x2が成立するように設定される触媒温Tscrの所定値であり、所定値Tscr_x2は、触媒温Tscrがエンジン3の運転中に変化し得る値の最大値、または最大値近傍の、最大値よりも大きな値に設定されている。
同図に示すように、3つの触媒温重み関数Wtiはそれぞれ、触媒温Tscrが変化し得る領域を0≦Tscr<Tscr_x1,Tscr_x1≦Tscr≦Tscr_x2の2つの領域に区分した場合において、以下に述べるように設定されている。まず、1番目の触媒温重み関数Wt1は、0≦Tscr<Tscr_x1の領域では、Tscr=0のときの値1を最大値として、触媒温Tscrが大きいほど、より小さい正の値に設定されているとともに、Tscr_x1≦Tscr≦Tscr_x2の領域では、値0に設定されている。
また、2番目の触媒温重み関数Wt2は、0≦Tscr<Tscr_x1の領域では、触媒温Tscrが大きいほど、より大きい正の値に設定されているとともに、Tscr_x1≦Tscr≦Tscr_x2の領域では、Tscr=Tscr_x1のときの値1を最大値として、触媒温Tscrが大きいほど、より小さい正の値に設定されている。さらに、3番目の触媒温重み関数Wt3は、0≦Tscr<Tscr_x1の領域では、値0に設定されているとともに、Tscr_x1≦Tscr≦Tscr_x2の領域では、Tscr=Tscr_x2のときの値1を最大値として、触媒温Tscrが大きいほど、より大きい正の値に設定されている。
さらに、1番目および2番目の触媒温重み関数Wt1,Wt2は、0≦Tscr<Tscr_x1の領域において互いに重なり合うとともに、両者の和は、各触媒温重み関数Wtiにおける最大値1と等しくなるように設定されている。これと同様に、2番目および3番目の触媒温重み関数Wt2,Wt3は、Tscr_x1≦Tscr≦Tscr_x2の領域において互いに重なり合うとともに、両者の和は、各触媒温重み関数Wtiにおける最大値1と等しくなるように設定されている。
次いで、推定NH3貯蔵率RT_st_ureaに応じて、図12に示すマップを検索することにより、NH3貯蔵率重み関数Wrj(j=1〜3)を算出する。このNH3貯蔵率重み関数Wrjは、3つの値Wr1,Wr2,Wr3を要素とするベクトルとして算出される。同図において、RT_1,RT_2は、RT_1<RT_2が成立するように設定される推定NH3貯蔵率RT_st_ureaの所定値であり、所定値RT_2は、推定NH3貯蔵率RT_st_ureaがエンジン3の運転中に変化し得る値の最大値(すなわち値1)に設定されている。
同図に示すように、3つのNH3貯蔵率重み関数Wrjはそれぞれ、推定NH3貯蔵率RT_st_ureaが変化し得る領域を0≦RT_st_urea<RT_1,RT_1≦RT_st_urea≦RT_2の2つの領域に区分した場合において、以下に述べるように設定されている。まず、1番目のNH3貯蔵率重み関数Wr1は、0≦RT_st_urea<RT_1の領域では、RT_st_urea=0のときの値1を最大値として、推定NH3貯蔵率RT_st_ureaが大きいほど、より小さい正の値に設定されているとともに、RT_1≦RT_st_urea≦RT_2の領域では、値0に設定されている。
また、2番目のNH3貯蔵率重み関数Wr2は、0≦RT_st_urea<RT_1の領域では、推定NH3貯蔵率RT_st_ureaが大きいほど、より大きい正の値に設定されているとともに、RT_1≦RT_st_urea≦RT_2の領域では、RT_st_urea=RT_1のときの値1を最大値として、推定NH3貯蔵率RT_st_ureaが大きいほど、より小さい正の値に設定されている。さらに、3番目のNH3貯蔵率重み関数Wr3は、0≦RT_st_urea<RT_1の領域では、値0に設定されているとともに、RT_1≦RT_st_urea≦RT_2の領域では、RT_st_urea=RT_2のときの値1を最大値として、推定NH3貯蔵率RT_st_ureaが大きいほど、より大きい正の値に設定されている。
さらに、1番目および2番目のNH3貯蔵率重み関数Wr1,Wr2は、0≦RT_st_urea<RT_1の領域において互いに重なり合うとともに、両者の和は、各NH3貯蔵率重み関数Wrjにおける最大値1と等しくなるように設定されている。これと同様に、2番目および3番目のNH3貯蔵率重み関数Wr2,Wr3は、RT_1≦RT_st_urea≦RT_2の領域において互いに重なり合うとともに、両者の和は、各NH3貯蔵率重み関数Wrjにおける最大値1と等しくなるように設定されている。
次に、下式(19)により、修正誤差WEVNS_ita_ijを算出する。
この修正誤差WEVNS_ita_ijは、9つの値を要素とする行列として算出されるとともに、2種類の重み関数Wti,Wrjを浄化率用誤差EVNS_itaに乗算することにより算出されるので、これらの値Wti,Wrjにより、触媒温Tscrの2つの領域と、推定NH3貯蔵率RT_st_ureaの2つの領域とを組み合わせた4つの領域に対して、浄化率用誤差EVNS_itaを分配して重み付けした値として算出される。
次いで、下式(20)により、局所補正値DKVNS_ita_ijを算出する。
上式(20)のKADP_itaは、適応ゲインである。上式(20)に示すように、局所補正値DKVNS_ita_ijは、適応ゲインKADP_itaと修正誤差WEVNS_ita_ijとの積を積分した積分項として算出される。すなわち、局所補正値DKVNS_ita_ijは、修正誤差WEVNS_ita_ijを値0に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは以下の理由による。
すなわち、前述したように、浄化率用誤差EVNS_itaは、選択還元触媒5でNH3貯蔵量が飽和していないときに算出され、NH3貯蔵量が飽和しているときには値0に設定される関係上、積分項に加えて比例項を含むフィードバック制御アルゴリズムを用いたとしても、アンモニア貯蔵率が100%に達している条件下では、比例項の演算結果は必ず値0になってしまう。すなわち、比例項の効果がない状態となってしまう。これに対して、積分項の場合には、浄化率用誤差EVNS_itaが値0に設定されたとしても、それまでの演算結果が記憶された状態となるので、アンモニア貯蔵率が100%に達している状態から達していない状態に切り換わり、浄化率用誤差EVNS_itaの算出が開始された時点において、その記憶された演算結果に基づいて、積分項の演算を開始することができ、その効果を得ることができる。以上の理由により、モデル修正器254では、積分項のみを含む制御アルゴリズムを用いて、局所補正値DKVNS_ita_ijが算出される。
そして、最終的に、下式(21)により、NOx浄化率修正係数KVNS_itaが算出される。
次に、前述した最大NH3貯蔵量修正係数KVNS_stの算出手法について説明する。この算出手法の場合、まず、下式(22)〜(24)により、NH3貯蔵量修正モードフラグF_STMOD_MODEの値を設定する。
上式(22)の演算実行条件におけるTH_RT_STMOD_RESETは、飽和判定用のしきい値であり、RT_st_urea(k−1)<TH_RT_STMOD_RESETが成立していることは、前回の制御タイミングで選択還元触媒5のNH3貯蔵量が飽和していなかったこと、言い換えればNH3スリップが発生していなかったことを表している。また、上式(23)の演算実行条件におけるTH_STMOD_NH3_SLIPは、NH3スリップ判定用のしきい値であり、Cnh3_scr_hat(k−1)≧TH_RT_STMOD_RESETが成立していることは、前回の制御タイミングで選択還元触媒5のNH3スリップが発生していたことを表している。
以上の式(22)〜(24)を参照すると明らかなように、NH3貯蔵量修正モードフラグF_STMOD_MODEは、前回の制御タイミングで選択還元触媒5のNH3貯蔵量が飽和していなかったときには「0」に設定され、前々回の制御タイミングでNH3スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒5のNH3スリップが発生したときには「1」に設定されるとともに、それ以外のときには前回値に保持される。
次に、下式(25)〜(27)により、貯蔵量用誤差EVNS_st(誤差パラメータ)を算出する。
以上の式(25)〜(27)の演算実行条件において、F_STMOD_MODE(k−1)=0 & F_STMOD_MODE(k)=1は、前々回の制御タイミングでNH3スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒5のNH3スリップが発生したことを表している。すなわち、前々回の制御タイミングでNH3スリップが発生しておらず、かつ前回の制御タイミングで選択還元触媒5のNH3スリップが発生した場合においてのみ、貯蔵量用誤差EVNS_stの算出が実行される。
また、推定信号値の前回値EXS_hat(k−1)と修正後信号値の前回値EXS_mod(k−1)との比較結果は、触媒推定器220で用いている推定モデル(すなわち図10や式(5)など)におけるNH3スリップの発生タイミングと実際のNH3スリップの発生タイミングとのずれを表している。したがって、式(25)〜(27)に示すように、推定モデルにおけるNH3スリップの発生タイミングが実際のNH3スリップの発生タイミングよりも早いとき、すなわち推定NH3貯蔵量ST_Ureaが実際のNH3貯蔵量よりも小さいときには、EVNS_st=−1に設定され、推定NH3貯蔵量ST_Ureaが実際のNH3貯蔵量と等しいときには、EVNS_st=0に設定される。さらに、推定モデルにおけるNH3スリップの発生タイミングが実際のNH3スリップの発生タイミングよりも遅いとき、すなわち、推定NH3貯蔵量ST_Ureaが実際のNH3貯蔵量よりも大きいときには、EVNS_st=1に設定される。以上のように、貯蔵量用誤差EVNS_stは、触媒推定器220で用いている推定モデルのモデル化誤差を表すものとして算出される。
さらに、前述したように、触媒温Tscrに応じて、図11のマップを検索することにより、触媒温重み関数Wti(i=1〜3)を算出する。
次いで、下式(28)により、修正誤差WEVNS_st_iを算出する。
この修正誤差WEVNS_st_iは、3つの値を要素とするベクトルとして算出されるとともに、触媒温重み関数Wtiを貯蔵量用誤差EVNS_stに乗算することにより算出されるので、触媒温重み関数Wtiにより、触媒温Tscrの2つの領域に対して、貯蔵量用誤差EVNS_stを分配して重み付けした値として算出される。
次いで、下式(29)により、局所補正値DKVNS_st_iを算出する。
上式(29)のKADP_stは、適応ゲインである。上式(29)に示すように、局所補正値DKVNS_st_iは、適応ゲインKADP_stと修正誤差WEVNS_st_iとの積を積分した積分項として算出される。すなわち、局所補正値DKVNS_st_iは、修正誤差WEVNS_st_iを値0に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは、局所補正値DKVNS_ita_ijの算出手法の説明で述べたのと同じ理由による。
そして、最終的に、下式(30)により、最大NH3貯蔵量修正係数KVNS_stが算出される。
次に、ゲイン修正係数KVNS_gainの算出手法について説明する。この算出手法の場合、まず、下式(31)〜(34)により、ゲイン用誤差EVNS_gainを算出する。
上式(31)のCnh3_scr_bs_actは、センサベース推定NH3スリップ濃度であり、上式(32)のEVNS_gain_tempは、基準ゲイン用誤差である。上式(31)〜(34)に示すように、センサベース推定NH3スリップ濃度Cnh3_scr_bs_act(下流側アンモニア濃度)は、修正後信号値EXS_modから推定NOxスリップ濃度Cnox_scr_hatを減算することにより算出され、基準ゲイン用誤差EVNS_gain_tempは、推定NH3スリップ濃度の前回値Cnh3_scr_hat(k−1)からセンサベース推定NH3スリップ濃度の前回値Cnh3_scr_bs_act(k−1)を減算することにより算出される。さらに、ゲイン用誤差EVNS_gainは、前回の制御タイミングにおいて、NH3貯蔵量が飽和しかつNH3スリップが発生していたときに、基準ゲイン用誤差EVNS_gain_tempに設定され、それ以外のときには値0に設定される。これは以下の理由による。
すなわち、NH3貯蔵量が飽和し、かつNH3スリップが発生している条件下では、排ガス濃度センサ22の検出信号は、NOx濃度とアンモニア濃度の和を表すものとなる。一方、NH3貯蔵量が飽和しておらず、NH3スリップが発生していない条件下では、前述したNOx浄化率修正係数KVNS_itaの効果により、推定値算出部210で算出された推定NOx浄化率ItaNoxは、選択還元触媒5における実際のNOx浄化率に合致していると考えられる。したがって、NH3貯蔵量が飽和している場合、検出信号値EXS_actから、推定NOx浄化率ItaNoxを用いて算出した推定NOxスリップ濃度Cnox_scr_hatを減算することにより、アンモニア濃度の推定値を精度よく算出できることになる。これに加えて、本実施形態では、排ガス濃度センサ22のゲイン特性の変化すなわちモデル化誤差を補償するために、検出信号値EXS_actをゲイン修正係数KVNS_gainで修正することによって、修正後信号値EXS_modを算出している。
以上の理由により、上式(31)に示すように、センサベース推定NH3スリップ濃度Cnh3_scr_bs_actは、NH3貯蔵量が飽和し、かつNH3スリップが発生している条件下での選択還元触媒5を通過した排ガス中のアンモニア濃度の推定値として、修正後信号値EXS_modから推定NOxスリップ濃度Cnox_scr_hatを減算することにより算出される。また、上式(32)に示すように、基準ゲイン用誤差EVNS_gain_tempは、排ガス濃度センサ22のモデル化誤差として、推定NH3スリップ濃度の前回値Cnh3_scr_hat(k−1)からセンサベース推定NH3スリップ濃度の前回値Cnh3_scr_bs_act(k−1)を減算することにより算出される。そして、最終的に、上式(33),(34)に示すように、ゲイン用誤差EVNS_gainは、NH3貯蔵量が飽和し、かつNH3スリップが発生しているときの排ガス濃度センサ22のモデル化誤差として算出される。
次に、前述したように、触媒温Tscrに応じて、図11のマップを検索することにより、触媒温重み関数Wti(i=1〜3)を算出する。
また、推定NH3スリップ濃度Cnh3_scr_hatに応じて、図13に示すマップを検索することにより、NH3濃度重み関数Wcj(j=1〜3)を算出する。このNH3濃度重み関数Wcjは、3つの値Wc1,Wc2,Wc3を要素とするベクトルとして算出される。同図において、Cnh3_1,Cnh3_2は、Cnh3_1<Cnh3_2が成立するように設定される推定NH3スリップ濃度Cnh3_scr_hatの所定値であり、所定値Cnh3_2は、推定NH3スリップ濃度Cnh3_scr_hatがエンジン3の運転中に変化し得る値の最大値、または最大値近傍の、最大値よりも大きな値に設定されている。
同図に示すように、3つのNH3濃度重み関数Wcjはそれぞれ、推定NH3スリップ濃度Cnh3_scr_hatが変化し得る領域を0≦Cnh3_scr_hat<Cnh3_1,Cnh3_1≦Cnh3_scr_hat≦Cnh3_2の2つの領域に区分した場合において、以下に述べるように設定されている。まず、1番目のNH3濃度重み関数Wc1は、0≦Cnh3_scr_hat<Cnh3_1の領域では、Cnh3_scr_hat=0のときの値1を最大値として、推定NH3スリップ濃度Cnh3_scr_hatが大きいほど、より小さい正の値に設定されているとともに、Cnh3_1≦Cnh3_scr_hat≦Cnh3_2の領域では、値0に設定されている。
また、2番目のNH3濃度重み関数Wc2は、0≦Cnh3_scr_hat<Cnh3_1の領域では、推定NH3スリップ濃度Cnh3_scr_hatが大きいほど、より大きい正の値に設定されているとともに、Cnh3_1≦Cnh3_scr_hat≦Cnh3_2の領域では、Cnh3_scr_hat=Cnh3_1のときの値1を最大値として、推定NH3スリップ濃度Cnh3_scr_hatが大きいほど、より小さい正の値に設定されている。さらに、3番目のNH3濃度重み関数Wc3は、0≦Cnh3_scr_hat<Cnh3_1の領域では、値0に設定されているとともに、Cnh3_1≦Cnh3_scr_hat≦Cnh3_2の領域では、Cnh3_scr_hat=Cnh3_2のときの値1を最大値として、推定NH3スリップ濃度Cnh3_scr_hatが大きいほど、より大きい正の値に設定されている。
さらに、1番目および2番目のNH3濃度重み関数Wc1,Wc2は、0≦Cnh3_scr_hat<Cnh3_1の領域において互いに重なり合うとともに、両者の和は、各NH3濃度重み関数Wcjにおける最大値1と等しくなるように設定されている。これと同様に、2番目および3番目のNH3濃度重み関数Wc2,Wc3は、Cnh3_1≦Cnh3_scr_hat≦Cnh3_2の領域において互いに重なり合うとともに、両者の和は、各NH3濃度重み関数Wcjにおける最大値1と等しくなるように設定されている。
次に、下式(35)により、修正誤差WEVNS_gain_ijを算出する。
この修正誤差WEVNS_gain_ijは、9つの値を要素とする行列として算出されるとともに、2種類の重み関数Wti,Wcjをゲイン用誤差EVNS_gainに乗算することにより算出されるので、これらの値Wti,Wcjにより、触媒温Tscrの2つの領域と、推定NH3スリップ濃度Cnh3_scr_hatの2つの領域とを組み合わせた4つの領域に対して、ゲイン用誤差EVNS_gainを分配して重み付けした値として算出される。
次いで、下式(36)により、局所補正値DKVNS_gain_ijを算出する。
上式(36)のKADP_gainは、適応ゲインである。上式(36)に示すように、局所補正値DKVNS_gain_ijは、適応ゲインKADP_gainと修正誤差WEVNS_gain_ijとの積を積分した積分項として算出される。すなわち、局所補正値DKVNS_gain_ijは、修正誤差WEVNS_gain_ijを値0に収束させるように、積分項のみのフィードバック制御アルゴリズムによって算出される。これは、局所補正値DKVNS_ita_ijの算出手法の説明で述べたのと同じ理由による。
そして、最終的に、下式(37)により、ゲイン修正係数KVNS_gainが算出される。
以上のように、モデル修正器254では、3つの修正係数KVNS_ita,KVNS_st,KVNS_gainが算出される。なお、本実施形態では、触媒温Tscr、推定NH3貯蔵率RT_st_ureaおよび推定NH3スリップ濃度Cnh3_scr_hatが相関性パラメータに相当する。
次に、前述したNH3ストレージコントローラ260について説明する。このNH3ストレージコントローラ260では、下式(38),(39)により、NH3飽和噴射量Gurea_STが算出される。
上式(38)のE_ST_Ureaは、NH3貯蔵量偏差であり、上式(39)のKi,Kpは、所定のフィードバックゲインである。上式(39)に示すように、NH3飽和噴射量Gurea_STは、NH3貯蔵量偏差E_ST_Ureaが値0になるように、1次元高次元のI−P制御アルゴリズムによって算出される。すなわち、このNH3飽和噴射量Gurea_STは、選択還元触媒5内のNH3貯蔵量を迅速に飽和させるための値として算出される。
ここで、NH3飽和噴射量Gurea_STの算出アルゴリズムとして、上式(39)を用いたのは以下の理由による。すなわち、選択還元触媒5におけるアンモニア貯蔵量の動特性は積分特性であるので、積分項を含む制御アルゴリズムを用いた場合、二重積分状態になってしまい、それに起因して、オーバーシュートや振動的な挙動を生じやすくなる。これを回避するために、NH3ストレージコントローラ260では、積分項を含まない上式(39)の制御アルゴリズムを用いて、NH3飽和噴射量Gurea_STが算出される。
次に、前述した目標NH3スリップ濃度算出部270について説明する。この目標NH3スリップ濃度算出部270では、以下に述べるように、目標NH3スリップ濃度Cnh3_scr_trgt(所定の目標値)が算出される。まず、下式(40)により、下流側推定NH3貯蔵量の演算値2nd_ST_NH3_tempを算出する。この下流側推定NH3貯蔵量の演算値2nd_ST_NH3_tempは、下流側触媒6に貯蔵されているアンモニア量の推定値に相当する。
上式(40)のKnoxcvは、推定NOxスリップ濃度Cnox_scr_hatを、下流側触媒6においてNOxを浄化するのに必要なアンモニアの濃度に変換するための変換係数である。
次いで、下式(41)〜(43)に示すように、値0を下限値とし、値2nd_ST_NH3_MAXを上限値とするリミット処理を、下流側推定NH3貯蔵量の演算値2nd_ST_NH3_tempに施すことにより、下流側推定NH3貯蔵量2nd_ST_NH3(下流側アンモニア貯蔵量)を算出する。
そして、最終的に、下式(44),(45)により、目標NH3スリップ濃度Cnh3_scr_trgtが算出される。
上式(44)のCnh3_trgt_NMは、目標NH3スリップ濃度の通常制御用値であり、上式(45)のCnh3_trgt_RDは、目標NH3スリップ濃度の低減用値である。この目標NH3スリップ濃度の低減制御用値Cnh3_trgt_RDは、下流側触媒6のアンモニア貯蔵量を、通常制御時よりも小さい値に制御するための値であり、そのため、Cnh3_trgt_RD<Cnh3_trgt_NMが成立するように設定されている。また、演算実行条件における2nd_ST_NH3_SWは、所定しきい値であり、下流側推定NH3貯蔵量2nd_ST_NH3をNH3スリップが発生しないような値に保持するためのものである。
以上のように、目標NH3スリップ濃度Cnh3_scr_trgtは、下流側推定NH3貯蔵量2nd_ST_NH3がしきい値2nd_ST_NH3_SW以下で、下流側触媒6内のNH3貯蔵量を低減する必要がないときには、通常制御用値Cnh3_trgt_NMに設定される。一方、下流側推定NH3貯蔵量2nd_ST_NH3がしきい値2nd_ST_NH3_SWよりも大きく、下流側触媒6内のNH3貯蔵量を低減する必要があるときには、低減制御用値Cnh3_trgt_RDに設定される。その結果、下流側推定NH3貯蔵量2nd_ST_NH3は、所定しきい値2nd_ST_NH3_SW以下になるように制御されることで、下流側触媒6におけるNH3スリップの発生が抑制される。
次に、前述したNH3スリップコントローラ280について説明する。このNH3スリップコントローラ280では、下式(46)〜(51)に示すスライディングモード制御アルゴリズムを適用したアルゴリズムを用いて、FB噴射量Gurea_FBが算出される。
上式(46)のE_NH3_SLIPは追従誤差である。また、上式(47)において、σ_fbは切換関数であり、POLE_fbは、−1<POLE_fb<0が成立するように設定される切換関数設定パラメータである。さらに、上式(48)において、Gurea_FB_rnは入力和であり、Krch_fb,Knl_fbは所定のフィードバックゲインであり、sgn(σ_fb(k))は符号関数である。これに加えて、式(48)の右辺第1項は到達則入力であり、右辺第2項は非線形入力である。すなわち、入力和Gurea_FB_rnは、到達則入力および非線形入力の和として算出される。また、符号関数sgn(σ_fb(k))の値は、σ_fb(k)≧0のときにはsgn(σ_fb(k))=1となり、σ_fb(k)<0のときにはsgn(σ_fb(k))=−1となるように設定される。なお、この符号関数sgn(σ_fb(k))の値を、σ_fb(k)=0のときにsgn(σ_fb(k))=0と設定してもよい。さらに、上式(49)において、Gurea_FB_adpは適応則入力であり、Kadp_fbは所定のフィードバックゲインである。
以上の式(46)〜(51)により、FB噴射量Gurea_FBは、推定NH3スリップ濃度Cnh3_scr_hatを目標NH3スリップ濃度Cnh3_scr_trgtに収束させるための値として算出される。また、上式(49),(50)に示すように、適応則入力Gurea_FB_adpは、推定NH3スリップ濃度Cnh3_scr_hatが正値のときには、フィードバックゲインKadp_fbと切換関数σ_fbの乗算値を積分することによって算出され、Cnh3_scr_hat=0のときには、値0として算出される。これは、以下の理由による。NH3貯蔵量が飽和する前、すなわち、NH3スリップが発生する前に、積分項である適応則入力Gurea_FB_adpが過大な状態となった場合、過剰なオーバードージング状態(還元剤がNOx量に対して多すぎる状態)が発生するおそれがある。したがって、それを回避するために、上式(50)に示すように、Cnh3_scr_hat=0のときには、適応則入力Gurea_FB_adpが値0にリセットされる。
なお、NH3スリップコントローラ280では、FB噴射量Gurea_FBを、スライディングモード制御アルゴリズムを適用したアルゴリズムを用いて算出したが、これに代えて、バックステッピング制御アルゴリズム、モデル予測制御アルゴリズムおよびPID制御アルゴリズムなどの、フィードバック制御アルゴリズムを用いて、FB噴射量Gurea_FBを算出するように構成してもよい。
次に、図14を参照しながら、ECU2により実行されるSCR制御処理について説明する。この制御処理は、ユリア噴射量Gureaの算出処理や選択還元触媒5の劣化判定処理などを実行するものであり、前述した所定の制御周期ΔTで実行される。
まず、ステップ1(図では「S1」と略す。以下同じ)で、ユリア故障フラグF_UREANGが「1」であるか否かを判別する。このユリア故障フラグF_UREANGは、図示しない判定処理において、ユリア噴射装置10が故障したと判定されたときに「1」に設定され、それ以外のときには「0」に設定される。
このステップ1の判別結果がYESで、ユリア噴射装置10が故障しているときには、ユリア噴射装置10によるユリア噴射を停止すべきであると判定して、ステップ11に進み、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ1の判別結果がNOで、ユリア噴射装置10が正常であるときには、ステップ2に進み、触媒劣化フラグF_SCRNGが「1」であるか否かを判別する。この判別結果がYESで、選択還元触媒5が劣化しているときには、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ2の判別結果がNOで、ユリア選択還元触媒7が劣化していないときには、ステップ3に進み、ユリア残量Qureaが所定値Qref未満であるか否かを判別する。この判別結果がYESで、ユリア残量Qureaが少ないときには、ステップ10に進み、それをドライバに報知するために、警告ブザーを起動し、警告音を発生させる。
次いで、ユリア噴射を停止するために、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。なお、ステップ10で、警告ブザーの起動に加えて、ユリア残量Qureaが少ないことをドライバに報知するための警告ランプを点灯するように構成してもよい。
一方、ステップ3の判別結果がNOで、ユリア残量Qureaが多いときには、ステップ4に進み、触媒暖機タイマ値Tmastが所定値Tmlmtよりも大きいか否かを判別する。この触媒暖機タイマ値Tmastは、エンジン始動後の触媒暖機時間を計時するものである。
ステップ4の判別結果がNOのときには、下流側触媒6がまだ活性化されておらず、ユリア噴射を停止すべきであると判定して、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ4の判別結果がYESのときには、下流側触媒6が活性状態にあると判定して、ステップ5に進み、センサ正常判定フラグF_SNSOKが「1」であるか否かを判別する。このセンサ正常判定フラグF_SNSOKは、図示しない判定処理において、触媒温センサ21および排ガス濃度センサ22がいずれも正常であると判定されたときに「1」に設定され、それ以外のときには「0」に設定される。
このステップ5の判別結果がNOで、触媒温センサ21および排ガス濃度センサ22の少なくとも一方が故障しているときには、ユリア噴射を停止すべきであると判定して、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ5の判別結果がYESで、触媒温センサ21および排ガス濃度センサ22がいずれも正常であるときには、ステップ6に進み、排ガス濃度センサ活性化フラグF_EXSNSACTが「1」であるか否かを判別する。この排ガス濃度センサ活性化フラグF_EXSNSACTは、図示しない判定処理において、排ガス濃度センサ22が活性化していると判定されたときに「1」に設定され、それ以外のときには「0」に設定される。
このステップ6の判別結果がNOで、排ガス濃度センサ22が活性化していないときには、ユリア噴射を停止すべきであると判定して、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ6の判別結果がYESで、排ガス濃度センサ22が活性化しているときには、ステップ7に進み、触媒温Tscrが所定の活性化判定値Tscr_actよりも高いか否かを判別する。この判別結果がNOのときには、選択還元触媒5がまだ活性化されておらず、ユリア噴射を停止すべきであると判定して、前述したステップ11で、ユリア噴射量Gureaを値0に設定した後、本処理を終了する。
一方、ステップ7の判別結果がYESのときには、選択還元触媒5が活性状態にあると判定して、ステップ8に進み、後述するように、ユリア噴射量Gureaを算出する。次に、ステップ9で、後述するように、選択還元触媒5の劣化判定処理を実行した後、本処理を終了する。
次に、図15を参照しながら、上記ステップ8のユリア噴射量Gureaの算出処理について説明する。同図に示すように、まず、ステップ20で、前述した式(17)〜(21)と図11,12の検索結果を用いる手法により、NOx浄化率修正係数KVNS_itaを算出する。
次いで、ステップ21に進み、前述した式(22)〜(30)と図11の検索結果を用いる手法により、最大NH3貯蔵量修正係数KVNS_stを算出する。次に、ステップ22で、前述した式(31)〜(37)と図11,13の検索結果を用いる手法により、ゲイン修正係数KVNS_gainを算出する。
ステップ22に続くステップ23で、以下に述べる手法により、推定機関NOx排出量Gnox_eng_hatを算出する。まず、推定機関NOx排出量のマップ値Gnox_eng_bsを算出するためのマップを、エンジン3の運転状態を表すパラメータ(エンジン回転数NE,アクセル開度AP,車速など)に応じて選択する。例えば、エンジン3が通常運転状態のときには、図17のマップが選択される。同図において、NE1〜NE3は、エンジン回転数NEの所定値であり、NE1<NE2<NE3が成立するように設定される。このマップでは、マップ値Gnox_eng_bsは、要求トルクTRQDRVが大きいほど、またはエンジン回転数NEが高いほど、より大きい値に設定されている。これは、エンジン3の負荷が大きいほど、混合気の燃焼温度が上昇することで、NOx排出量が増大するためと、エンジン回転数NEが高いほど、単位時間当たりのNOx排出量が増大するためである。
次いで、エンジン回転数NEおよびアクセル開度APに応じて、図示しないマップを検索することにより、要求トルクTRQDRVを算出する。その後、上記選択されたマップを、エンジン回転数NEおよび要求トルクTRQDRVに応じて検索することにより、推定機関NOx排出量のマップ値Gnox_eng_bsを算出する。
さらに、EGR率Regrに応じて、図18に示すマップを検索することにより、EGR補正係数Knox_engを算出する。このマップでは、EGR補正係数Knox_engは、Regr=0のときに値1に設定されているとともに、EGR率Regrが大きいほど、より小さい値に設定されている。これは、EGR率Regrが大きい場合、混合気の燃焼温度が低下することで、NOx排出量が減少するためである。なお、EGR率Regrは図示しないEGR制御処理において算出される。
そして、最終的に、下式(52)により、推定機関NOx排出量Gnox_eng_hatを算出する。
ステップ23で以上のように推定機関NOx排出量Gnox_eng_hatを算出した後、ステップ24に進み、前述したように、推定NH3貯蔵率の前回値RT_st_urea(k−1)に応じて、図9のマップを検索することにより、NH3貯蔵率補正係数Kita_stを算出する。
次いで、ステップ25に進み、前述したように、触媒温Tscrに応じて、図8のマップを検索することにより、基準NOx浄化率ItaNox_BSを算出する。
次に、ステップ26で、前述した式(2)により、推定NOx浄化率ItaNoxを算出する。その後、ステップ27に進み、前述した式(3)により、推定NOxスリップ量Gnox_scr_hatを算出する。
ステップ27に続くステップ28で、前述した式(4)により、FF噴射量Gurea_FFを算出する。次いで、ステップ29に進み、前述した式(5)により、NH3貯蔵量演算値ST_Urea_tempを算出する。
次に、ステップ30で、前述したように、触媒温Tscrに応じて、図10のマップを検索することにより、基準最大NH3貯蔵量ST_Urea_MAX_BSを算出する。ステップ30に続くステップ31で、前述した式(6)により、最大NH3貯蔵量ST_Urea_MAXを算出する。
次いで、ステップ32に進み、前述した式(7)〜(9)により、推定NH3貯蔵量ST_Ureaを算出する。次に、ステップ33に進み、前述した式(10)により、推定NH3貯蔵率RT_st_ureaを算出する。
ステップ33に続くステップ34で、前述した式(11),(12)により、推定NH3スリップ量Gnh3_scr_hatを算出する。その後、ステップ35に進み、エンジン回転数NEおよび吸気圧PBに応じて、図示しないマップを検索することにより、推定排ガス量Gex_hatを算出する。
次いで、ステップ36に進み、前述した式(13)により、推定NH3スリップ濃度Cnh3_scr_hatを算出する。次に、ステップ37で、前述した式(14)により、推定NOxスリップ濃度Cnox_scr_hatを算出する。
ステップ37に続くステップ38で、前述した式(15)により、推定信号値EXS_hatを算出する。次いで、ステップ39に進み、前述した式(16)により、修正後信号値EXS_modを算出する。
次に、ステップ40で、前述した式(38),(39)により、NH3飽和噴射量Gurea_STを算出する。ステップ40に続くステップ41で、前述した式(40)〜(45)により、目標NH3スリップ濃度Cnh3_scr_trgtを算出する。
次いで、ステップ42に進み、前述した式(46)〜(49)により、FB噴射量Gurea_FBを算出する。次に、前述した式(1)により、ユリア噴射量Gureaを算出した後、本処理を終了する。
次に、図16を参照しながら、前述したステップ9の触媒劣化判定処理について説明する。同図に示すように、まず、ステップ50で、Tscr_d1<Tscr<Tscr_d2が成立しているか否かを判別する。この値Tscr_d1は所定の判定用下限値であり、Tscr_d2は所定の判定用上限値である。
このステップ50の判別結果がNOのときには、触媒温Tscrが選択還元触媒5の劣化判定に適した温度域になく、選択還元触媒5の劣化判定を実行すべきでないと判定して、そのまま本処理を終了する。
一方、ステップ50の判別結果がYESのときには、触媒温Tscrが選択還元触媒5の劣化判定に適した温度域にあり、選択還元触媒5の劣化判定を実行すべきであると判定して、ステップ51に進み、NOx浄化率修正係数KVNS_itaが所定の劣化判定値KVNS_ita_AGEDよりも小さいか否かを判別する。この判別結果がYESのとき、すなわち、NOx浄化率修正係数KVNS_itaによる図8のモデルの修正度合が大きくなっており、モデル化誤差が大きい状態にあるときには、選択還元触媒5が劣化したと判定して、それを表すために、ステップ52で、警告ランプ27を点灯させ、ステップ53で、触媒劣化判定フラグF_SCRNGを「1」に設定する。その後、本処理を終了する。
一方、ステップ51の判別結果がNOのときには、ステップ54に進み、最大NH3貯蔵量修正係数KVNS_stが、所定の劣化判定値KVNS_st_AGEDよりも小さいか否かを判別する。この判別結果がYESのとき、すなわち、最大NH3貯蔵量修正係数KVNS_stによる図10のモデルの修正度合が大きくなっており、モデル化誤差が大きい状態にあるときには、選択還元触媒5が劣化したと判定して、前述したように、ステップ52,53を実行した後、本処理を終了する。
一方、ステップ54の判別結果がNOのときには、選択還元触媒5が劣化していないと判定して、それを表すために、ステップ55で、触媒劣化判定フラグF_SCRNGを「0」に設定する。その後、本処理を終了する。
次に、図19〜22を参照しながら、本実施形態の排ガス浄化装置1によるSCR制御のシミュレーション結果(以下「制御結果」という)について説明する。まず、図19および図21は、本実施形態の排ガス浄化装置1の制御結果例を示しており、特に、図19は、選択還元触媒5が新品であり、図8,10のマップにおいてモデル化誤差が存在しないときの制御結果例を示しており、図21は、選択還元触媒5が劣化し、モデル化誤差が生じたときの制御結果例を示している。
一方、図20および図22はそれぞれ、比較のために、排ガス浄化装置1のモデル修正器254のみを省略した場合、すなわち3つの修正係数KVNS_ita,KVNS_st,KVNS_gainをいずれも値1に設定した場合において、モデル化誤差が存在しないときおよびモデル化誤差が存在するときの制御結果例(以下「比較例」という)を示している。また、以上の4つの制御結果例はいずれも、目標NH3スリップ濃度Cnh3_scr_trgtを一定値に保持した場合のものである。さらに、図19〜22において、ΔEXSは、推定信号値EXS_hatと修正後信号値EXS_modとの偏差(EXS_hat−EXS_mod)であり、Cnh3_actは、実際のNH3スリップ濃度、すなわち選択還元触媒5を通過した排ガス中の実際のアンモニア濃度を表している。
まず、図19および図20を参照すると明らかなように、モデル化誤差が存在しない条件下では、本実施形態の制御結果例および比較例の双方において、モデル化誤差が存在しないことに起因して、ΔEXS=0となり、3つの修正係数KVNS_ita,KVNS_st,KVNS_gainがいずれも値1に保持されている。これに加えて、両制御結果例において、実際のNH3スリップ濃度Cnh3_actは、目標NH3スリップ濃度Cnh3_scr_trgtに対して、一時的なオーバーシュートやアンダーシュートを生じてはいるものの、全体として目標NH3スリップ濃度Cnh3_scr_trgに一致するように制御されていることが判る。
一方、モデル化誤差が存在する条件下では、図22の比較例の場合、偏差ΔEXSの一時的な急増状態が継続しており、制御精度が低いことが判る。これに加えて、実際のNH3スリップ濃度Cnh3_actは、一時的なオーバーシュートやアンダーシュートの部分を除いたとしても、目標NH3スリップ濃度Cnh3_scr_trgtに対して、全体として離間した状態が継続しており、制御精度が低いことが判る。これに対して、図21の本実施形態の制御結果例の場合、制御の進行に伴って、偏差ΔEXSの一時的な急増状態が解消しており、3つの修正係数KVNS_ita,KVNS_st,KVNS_gainの効果により、制御精度が比較例よりも向上していることが判る。これに加えて、実際のNH3スリップ濃度Cnh3_actは、制御の進行に伴って、一時的なオーバーシュートやアンダーシュートの部分を除けば、目標NH3スリップ濃度Cnh3_scr_trgtに対して近づくように変化しており、3つの修正係数KVNS_ita,KVNS_st,KVNS_gainの効果により、制御精度が比較例よりも向上していることが判る。
以上のように、本実施形態の排ガス浄化装置1によれば、ユリア噴射量Gureaが、FF噴射量Gurea_FF、NH3飽和噴射量Gurea_STおよびFB噴射量Gurea_FBの和として算出される。このFF噴射量Gurea_FFは、推定NOx浄化率ItaNoxを用いて算出され、推定NOx浄化率ItaNoxは、図8のマップを用いて算出した基準NOx浄化率ItaNox_BSを、NOx浄化率修正係数KVNS_itaで修正することにより算出される。したがって、図8のマップにおける触媒温Tscrと基準NOx浄化率ItaNox_BSとの関係が、選択還元触媒5における触媒温TscrとNOx浄化率との実際の関係に対してずれてしまい、モデル化誤差を生じたときでも、両者の関係が合致するように、モデル化誤差を補償しながら、FF噴射量Gurea_FFを算出することができる。
また、NH3飽和噴射量Gurea_STは、推定NH3貯蔵量ST_Ureaおよび最大アンモニア貯蔵量ST_Urea_MAXを用いて算出され、最大アンモニア貯蔵量ST_Urea_MAXは、図10のマップを用いて算出した基準最大NH3貯蔵量ST_Urea_MAX_BSを、最大NH3貯蔵量修正係数KVNS_stで修正することによって算出される。したがって、図10のマップにおける触媒温Tscrと基準最大NH3貯蔵量ST_Urea_MAX_BSとの関係が、選択還元触媒5における触媒温Tscrと最大アンモニア貯蔵量との実際の関係に対してずれてしまい、モデル化誤差を生じたときでも、両者の関係が合致するように、モデル化誤差を補償しながら、NH3飽和噴射量Gurea_STを算出することができる。それにより、選択還元触媒5において、NH3貯蔵量を適切に飽和状態に保持することができ、NOx浄化率をその最高値に近づけることができる。
さらに、排ガス濃度センサ22の検出信号値EXS_actをゲイン修正係数KVNS_gainで修正することにより修正後信号値EXS_modが算出され、これを用いて、FF噴射量Gurea_FFおよびNH3飽和噴射量Gurea_STが算出されるので、排ガス濃度センサ22のゲイン特性が変化したときでも、それを補償しながら、FF噴射量Gurea_FFおよびNH3飽和噴射量Gurea_STを算出することができる。以上により、FF噴射量Gurea_FFおよびNH3飽和噴射量Gurea_STの算出精度を向上させることができ、それにより、選択還元触媒5におけるNOx浄化率を向上させることができる。
また、2種類の重み関数Wti,Wrjが触媒温Tscrおよび推定NH3貯蔵率RT_st_ureaに応じてそれぞれ算出され、浄化率用誤差EVNS_itaを2種類の重み関数Wti,Wrjで重み付けすることにより、修正誤差WEVNS_ita_ijが算出されるとともに、この修正誤差WEVNS_ita_ijが値0になるように、NOx浄化率修正係数KVNS_itaが算出される。この場合、前述したように、浄化率用誤差EVNS_itaは、触媒推定器220で用いている推定モデルのモデル化誤差を表すものであるので、NOx浄化率修正係数KVNS_itaは、推定モデルのモデル化誤差が値0になるように算出されることになる。したがって、そのように算出されたNOx浄化率修正係数KVNS_itaによって、触媒推定器220で用いている推定モデルのモデル化誤差を精度よく補償することができる。
さらに、貯蔵量用誤差EVNS_stを重み関数Wtiで重み付けすることにより修正誤差WEVNS_st_iが算出され、この修正誤差WEVNS_st_iが値0になるように、最大NH3貯蔵量修正係数KVNS_stが算出される。この場合、前述したように、貯蔵量用誤差EVNS_stは、触媒推定器220で用いている推定モデルのモデル化誤差を表すものであるので、最大NH3貯蔵量修正係数KVNS_stは、推定モデルのモデル化誤差が値0になるように算出されることになる。したがって、そのように算出された最大NH3貯蔵量修正係数KVNS_stによって、触媒推定器220で用いている推定モデルのモデル化誤差を精度よく補償することができる。
これに加えて、2種類の重み関数Wti,Wcjが触媒温Tscrおよび推定NH3スリップ濃度Cnh3_scr_hatに応じてそれぞれ算出され、2種類の重み関数Wti,Wcjで重み付けされた修正誤差WEVNS_gain_ijが値0になるように、ゲイン修正係数KVNS_gainが算出されるので、そのように算出されたゲイン修正係数KVNS_gainによって、排ガス濃度センサ22の検出信号値におけるゲイン特性の変化を精度よく補償することができる。以上により、選択還元触媒5におけるNOx浄化率をさらに向上させることができる。
また、目標NH3スリップ濃度Cnh3_scr_trgtは、2nd_ST_NH3≦2nd_ST_NH3_SWが成立し、下流側触媒6内のNH3貯蔵量を低減する必要がないときには、通常制御用値Cnh3_trgt_NMに設定される一方、2nd_ST_NH3>2nd_ST_NH3_SWが成立し、下流側触媒6内のNH3貯蔵量を低減する必要があるときには、低減制御用値Cnh3_trgt_RDに設定される。それにより、下流側推定NH3貯蔵量2nd_ST_NH3が、しきい値2nd_ST_NH3_SW以下になるように制御されるので、選択還元触媒5を通り抜けた排ガス中のアンモニアを下流側触媒6で確実に貯蔵することができ、アンモニアが下流側触媒6の下流側に通り抜けるのを回避することができる。その結果、良好な排ガス特性を確保することができる。
なお、第1実施形態は、下流側触媒6として、選択還元触媒タイプのものを用いた例であるが、本発明の下流側触媒はこれに限らず、アンモニアを貯蔵できるものであればよい。例えば、下流側触媒として、酸化触媒タイプのものを用いてもよい。
また、第1実施形態の前述した図6の触媒推定器220に代えて、図23に示す触媒推定器320を用いてもよい。同図に示すように、この触媒推定器320の場合、触媒推定器220と比較すると、基準NOx浄化率算出部321および乗算器322を除けば、触媒推定器220と同じように構成されているので、以下、触媒推定器220と同じ構成に関しては同じ符号を付し、その説明を省略するとともに、基準NOx浄化率算出部321および乗算器322についてのみ説明する。
この基準NOx浄化率算出部321は、ニューラルネットワークモデルを用いて、基準NOx浄化率ItaNox_BSを算出するものである。この基準NOx浄化率算出部321で用いるニューラルネットワークモデルは、図24に示すように、入力層、中間層および出力層を有する階層型ニューラルネットワークモデルNN’であり、入力層はm(mは2以上の整数)個のニューロン(3つのみ図示)を、中間層は4×(n−1)[nは2以上の整数]個のニューロン(6つのみ図示)を、出力層はm+1個のニューロンをそれぞれ備えている。
この階層型ニューラルネットワークモデルNN’において、入力U’を下式(53)に示すように4つの値を要素とするベクトルと定義すると、m=4となり、j=1〜4とすると、入力層では、下式(54)〜(56)に示すアルゴリズムによって、値V’1jが算出される。
上式(55)のf’は、シグモイド関数であり、上式(56)のように定義される。上式(56)において、β’はシグモイド関数の傾きゲインを、ε’はシグモイド関数のオフセット値をそれぞれ表している。これらの傾きゲインβ’およびオフセット値ε’は、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。
以上のように入力層で算出された値V’1jは、中間層に入力される。そして、中間層では、i=2〜nとして、下式(57),(58)に示すアルゴリズムによって、値V’ijが算出される。
上式(57)のω’は重み係数であり、誤差伝播法などの学習アルゴリズムや、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。以上のように中間層で算出された値V’ijは、出力層に入力される。そして、出力層では、下式(59)〜(61)に示すアルゴリズムによって、出力Y’が算出される。
上式(60)のg’はシグモイド関数であり、上式(61)のように定義される。上式(61)において、α’はシグモイド関数の出力ゲインを、γ’はシグモイド関数の傾きゲインを、δ’はシグモイド関数のオフセット値をそれぞれ表している。これらの出力ゲインα’、傾きゲインγ’およびオフセット値δ’は、遺伝的アルゴリズムなどの最適化アルゴリズムによって決定される。
そして、最終的に、下式(62)により、基準NOx浄化率ItaNox_BSが算出される。
また、乗算器322では、下式(63)により、推定NOx浄化率ItaNoxが算出される。
この触媒推定器320では、以上のように、基準NOx浄化率ItaNox_BSをNOx浄化率修正係数KVNS_itaで修正することにより、推定NOx浄化率ItaNoxが算出される。これは、NOx浄化率修正係数KVNS_itaで修正したニューラルネットワークモデルを用いて、推定NOx浄化率ItaNoxを算出することに相当する。
以上のように構成された触媒推定器320の場合、ニューラルネットワークモデルNN’を用いて、推定NOx浄化率ItaNoxが算出されるので、選択還元触媒5における実際のNOx浄化特性が非線形かつ複雑に変化したときでも、推定NOx浄化率ItaNoxを、選択還元触媒5の実際のNOx浄化率により精度よく合致させることができる。これに加えて、ニューラルネットワークモデルNN’でモデル化誤差が発生した場合でも、そのようなモデル化誤差をNOx浄化率修正係数KVNS_itaによって補償することができる。以上により、排ガス浄化装置におけるNOx浄化率を向上させることができる。
また、第1実施形態のユリア噴射コントローラ200に代えて、図25に示すユリア噴射コントローラ400を用いてもよい。このユリア噴射コントローラ400の場合、ユリア噴射コントローラ200と比較すると、NH3スリップコントローラ280に代えて、NH3スリップコントローラ480を備えている点のみが異なっているので、以下、ユリア噴射コントローラ200と同じ構成に関しては同じ符号を付し、その説明を省略するとともに、NH3スリップコントローラ480についてのみ説明する。
このNH3スリップコントローラ480では、まず、前述した式(31)と同じ下式(64)により、センサベース推定NH3スリップ濃度Cnh3_scr_bs_actが算出される。
次いで、下式(65)〜(70)に示すスライディングモード制御アルゴリズムを適用したアルゴリズムより、FB噴射量Gurea_FBが算出される。
上式(65)のE_NH3_SLIP’は追従誤差であり、上式(66)のσ_fb’は切換関数である。また、式(67)のGurea_FB_rn’は、到達則入力および非線形入力の和である入力和であり、式(68)のGurea_FB_adp’は、適応則入力である。以上の式(65)〜(70)と、前述したNH3スリップコントローラ280の演算式(46)〜(51)を比較すると、前述したNH3スリップコントローラ280の場合、追従誤差E_NH3_SLIPとして、推定NH3スリップ濃度Cnh3_scr_hatと目標NH3スリップ濃度Cnh3_scr_trgtとの偏差を用いているのに対して、このNH3スリップコントローラ480の場合、追従誤差E_NH3_SLIP’として、センサベース推定NH3スリップ濃度Cnh3_scr_bs_actと目標NH3スリップ濃度Cnh3_scr_trgtとの偏差を用いている点が異なっている。また、式(69)において、Cnh3_scr_bs_act≦0のときに、適応則入力Gurea_FB_adp’を値0にリセットしているのは、前述した式(50)の説明で述べた理由と同じである。
以上のように構成されたNH3スリップコントローラ480では、FB噴射量Gurea_FBは、センサベース推定NH3スリップ濃度Cnh3_scr_bs_actを目標NH3スリップ濃度Cnh3_scr_trgtに収束させるための値として算出される。それにより、このNH3スリップコントローラ480を用いた場合でも、前述したNH3スリップコントローラ280を用いた場合と同様に、選択還元触媒5における実際のNH3スリップ濃度を目標NH3スリップ濃度Cnh3_scr_trgtに近づけることができる。その結果、ユリア噴射コントローラ400において、ユリア噴射コントローラ200と同じ作用効果を得ることができる。
なお、NH3スリップコントローラ480では、FB噴射量Gurea_FBを、スライディングモード制御アルゴリズムを適用したアルゴリズムを用いて算出したが、これに代えて、バックステッピング制御アルゴリズム、モデル予測制御アルゴリズムおよびPID制御アルゴリズムなどの、フィードバック制御アルゴリズムを用いて、FB噴射量Gurea_FBを算出するように構成してもよい。