JP2021067260A - 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 - Google Patents
車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 Download PDFInfo
- Publication number
- JP2021067260A JP2021067260A JP2020066763A JP2020066763A JP2021067260A JP 2021067260 A JP2021067260 A JP 2021067260A JP 2020066763 A JP2020066763 A JP 2020066763A JP 2020066763 A JP2020066763 A JP 2020066763A JP 2021067260 A JP2021067260 A JP 2021067260A
- Authority
- JP
- Japan
- Prior art keywords
- value
- transmission
- vehicle
- data
- reward
- 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.)
- Pending
Links
Images
Landscapes
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】内燃機関の状態と内燃機関の操作部の操作量との関係の設定に際して、熟練者に要求される工数を低減できるようにした車両用制御データの生成方法を提供する。【解決手段】CPUは、内燃機関の状態stを取得し(S42)、方策πに基づき行動atを選択する(S44)。そしてCPUは、行動atに基づき内燃機関の操作部を操作する(S46)。次に、CPUは、状態st+1を取得し(S48)、報酬rtを算出して(S50)、行動価値関数Qを更新する(S52,S54)。【選択図】図4
Description
本発明は、車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置に関する。
たとえば下記特許文献1には、アクセルペダルの操作量をフィルタ処理した値に基づき、車両に搭載される内燃機関の操作部としてのスロットルバルブを操作する制御装置が記載されている。
ところで、上記フィルタは、アクセルペダルの操作量に応じて車両に搭載される内燃機関のスロットルバルブの操作量を適切な操作量に設定するものである必要があることから、その適合には熟練者が多くの工数をかける必要が生じる。このように、従来は、車両内の状態に応じた内燃機関等の駆動系の操作量等の適合には、熟練者が多くの工数をかけていた。
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.内燃機関の状態を含んだ該内燃機関を備える車両の状態と前記内燃機関の操作部の操作量との関係を規定するデータである関係規定データが記憶装置に記憶された状態において、前記操作部を操作する操作処理と、前記内燃機関の状態を含んだ前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、燃料消費率、排気特性、およびドライバビリティの少なくとも1つの観点からなる報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記操作部の操作に用いられた操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記操作部が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
1.内燃機関の状態を含んだ該内燃機関を備える車両の状態と前記内燃機関の操作部の操作量との関係を規定するデータである関係規定データが記憶装置に記憶された状態において、前記操作部を操作する操作処理と、前記内燃機関の状態を含んだ前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、燃料消費率、排気特性、およびドライバビリティの少なくとも1つの観点からなる報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記操作部の操作に用いられた操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記操作部が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
上記方法では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と内燃機関の操作部の操作量との関係を設定することができる。したがって、車両の状態と内燃機関の操作部の操作量との関係の設定に際して、熟練者に要求される工数を低減できる。
2.前記報酬算出処理は、前記排気特性が所定の特性である場合に所定の特性から外れる場合よりも大きい報酬を与えるものであり、前記排気特性が所定の特性であるか否かは、窒素酸化物の排出量が所定範囲内にあるか否か、未燃燃料の排出量が所定範囲内にあるか否か、粒子状物質の排出量が所定範囲内にあるか否か、および前記内燃機関の排気通路に設けられた触媒の温度が所定範囲内にあるか否かの4つのうちの少なくとも1つを含む上記1記載の車両用制御データの生成方法である。
上記方法では、排気特性を所定の特性とする上で適切な関係規定データを強化学習によって学習できる。
3.前記報酬算出処理は、前記車両の加速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、該加速度の変化速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、および前記内燃機関の発生する音が所定範囲内にある場合にない場合よりも大きい報酬を与える処理の3つの処理のうちの少なくとも1つの処理を、前記ドライバビリティの観点によって定量化された報酬を与える処理として含む上記1または2記載の車両用制御データの生成方法である。
3.前記報酬算出処理は、前記車両の加速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、該加速度の変化速度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理、および前記内燃機関の発生する音が所定範囲内にある場合にない場合よりも大きい報酬を与える処理の3つの処理のうちの少なくとも1つの処理を、前記ドライバビリティの観点によって定量化された報酬を与える処理として含む上記1または2記載の車両用制御データの生成方法である。
上記方法では、ドライバビリティの要求を満たすうえで適切な関係規定データを強化学習によって学習できる。
4.前記更新処理によって更新された前記関係規定データに基づき、前記車両の状態と前記期待収益を最大化する前記操作量とを1対1に対応付けることによって前記車両の状態を入力とし前記期待収益を最大化する前記操作量を出力する制御用写像データを生成する処理を前記実行装置に実行させる上記1〜3のいずれか1つに記載の車両用制御データの生成方法である。
4.前記更新処理によって更新された前記関係規定データに基づき、前記車両の状態と前記期待収益を最大化する前記操作量とを1対1に対応付けることによって前記車両の状態を入力とし前記期待収益を最大化する前記操作量を出力する制御用写像データを生成する処理を前記実行装置に実行させる上記1〜3のいずれか1つに記載の車両用制御データの生成方法である。
上記方法では、強化学習によって学習された関係規定データに基づき、制御用写像データを生成する。そのため、その制御用写像データを制御装置に実装することにより、車両の状態に基づき、期待収益を最大化する操作量を簡易に設定することが可能となる。
5.上記1〜3のいずれか1つに記載の前記記憶装置および前記実行装置を備え、前記操作処理は、前記関係規定データと前記車両の状態とによって定まる前記操作量に基づき前記操作部を操作する処理を含む車両用制御装置である。
上記構成では、車両用制御装置が、車両に搭載された内燃機関の操作部の操作に伴って、関係規定データを学習できる。
6.前記取得処理は、前記内燃機関の出力およびトルクの2つのうちの少なくとも1つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記5記載の車両用制御装置である。
6.前記取得処理は、前記内燃機関の出力およびトルクの2つのうちの少なくとも1つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記5記載の車両用制御装置である。
上記構成では、内燃機関のトルクや出力を要求値に近づけるとの条件の下、燃料消費率、排気特性、およびドライバビリティの少なくとも1つを狙いとするものに制御するうえで適切な関係規定データを学習できる。
7.前記車両は、前記内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置を備え、前記関係規定データによって規定される関係には、前記変速装置の状態と前記変速装置の操作量との関係が含まれ、前記取得処理は、前記変速装置の状態を検出するセンサの検出値を取得する処理を含み、前記報酬算出処理は、前記変速装置による変速比の切り替えに要する時間が所定時間以内である場合に前記所定時間を超える場合よりも大きい報酬を与える処理、前記変速装置の入力軸の回転速度の変化速度の絶対値が入力側所定値以下である場合に前記入力側所定値を超える場合よりも大きい報酬を与える処理、前記変速装置の出力軸の回転速度の変化速度の絶対値が出力側所定値以下である場合に前記出力側所定値を超える場合よりも大きい報酬を与える処理、および前記変速装置のソレノイドバルブによって調整される油圧が所定の条件を満たす場合に満たさない場合よりも大きい報酬を与える処理、の4つの処理のうちの少なくとも1つの処理を含み、前記更新処理は、前記取得処理によって取得された前記変速装置の状態に関する前記検出値を前記更新写像への入力とすることによって、前記関係規定データによって規定された前記変速装置の状態と前記変速装置の操作量との関係を更新する処理を含む上記5または6記載の車両用制御装置である。
上記構成では、変速装置の状態に基づき変速装置の操作量を定める上で適切な関係規定データを学習できる。
8.前記車両は、駆動輪に動力を付与する回転電機を備え、前記関係規定データによって規定される関係には、前記回転電機に電力を供給する蓄電装置の状態と前記回転電機の制御量との関係が含まれ、前記操作処理は、前記回転電機の駆動回路を操作する処理を含み、前記取得処理は、前記蓄電装置の状態を取得する処理を含み、前記報酬算出処理は、前記蓄電装置の状態が所定範囲内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を含み、前記更新処理は、前記取得処理によって取得された前記蓄電装置の状態と、前記回転電機の制御量とを前記更新写像への入力として、前記関係規定データによって規定される前記蓄電装置の状態と前記回転電機の制御量との関係を更新する処理を含む上記5〜7のいずれか1つに記載の車両用制御装置である。
8.前記車両は、駆動輪に動力を付与する回転電機を備え、前記関係規定データによって規定される関係には、前記回転電機に電力を供給する蓄電装置の状態と前記回転電機の制御量との関係が含まれ、前記操作処理は、前記回転電機の駆動回路を操作する処理を含み、前記取得処理は、前記蓄電装置の状態を取得する処理を含み、前記報酬算出処理は、前記蓄電装置の状態が所定範囲内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を含み、前記更新処理は、前記取得処理によって取得された前記蓄電装置の状態と、前記回転電機の制御量とを前記更新写像への入力として、前記関係規定データによって規定される前記蓄電装置の状態と前記回転電機の制御量との関係を更新する処理を含む上記5〜7のいずれか1つに記載の車両用制御装置である。
上記構成では、蓄電装置の状態に基づき回転電機の制御量を定める上で適切な関係規定データを学習できる。
9.前記取得処理は、前記車両の出力および駆動トルクの2つのうちの少なくとも1つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記車両の出力および前記駆動トルクの2つのうちの前記少なくとも1つについての前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記8記載の車両用制御装置である。
9.前記取得処理は、前記車両の出力および駆動トルクの2つのうちの少なくとも1つの要求値および算出値を取得する処理を含み、前記報酬算出処理は、前記車両の出力および前記駆動トルクの2つのうちの前記少なくとも1つについての前記要求値および前記算出値の差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記8記載の車両用制御装置である。
上記構成では、車両の出力や駆動トルクを要求値に近づけるとの条件の下、燃料消費率、排気特性、およびドライバビリティの少なくとも1つを狙いとするものに制御するうえで適切な関係規定データを学習できる。
10.前記関係規定データは、前記車両の状態と、前記期待収益と、前記操作量との関係を規定するデータを含み、前記実行装置は、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益が大きくなる操作量を小さくなる操作量よりも優先して選択する選択処理を実行し、前記操作処理は、前記選択処理によって選択された前記操作量に基づき前記操作部を操作する処理を含む上記5〜9のいずれか1つに記載の車両用制御装置である。
上記構成では、選択処理によって、期待収益が大きくなる操作量が優先的に選択されることから、操作処理によって期待収益が大きくなる操作を優先して実行することができる。
11.前記関係規定データは、前記車両の状態を入力とし、前記操作量の選択確率を出力とする関数近似器を規定するデータであり、前記更新写像は、前記関数近似器を規定するパラメータの更新量を出力する写像を含む上記5〜10のいずれか1つに記載の車両用制御装置である。
上記構成では、方策についての関数近似器を用いることにより、車両の状態と操作量との関係を直接的に規定できる。
12.上記5〜11のいずれか1つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、前記車両に搭載される第1実行装置と、車載装置とは別の第2実行装置と、を含み、前記第1実行装置は、少なくとも前記取得処理および前記操作処理を実行し、前記第2実行装置は、少なくとも前記更新処理を実行する車両用制御システムである。
12.上記5〜11のいずれか1つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、前記車両に搭載される第1実行装置と、車載装置とは別の第2実行装置と、を含み、前記第1実行装置は、少なくとも前記取得処理および前記操作処理を実行し、前記第2実行装置は、少なくとも前記更新処理を実行する車両用制御システムである。
上記構成では、第2実行装置が更新処理を実行することにより、更新処理をも第1実行装置が実行する場合と比較して、第1実行装置の演算負荷を軽減できる。
なお、第2実行装置が車載装置とは別の装置であることは、第2実行装置が車載装置ではないことを意味する。
なお、第2実行装置が車載装置とは別の装置であることは、第2実行装置が車載装置ではないことを意味する。
13.前記第1実行装置は、前記取得処理によって取得された検出値に関するデータを送信する車両側送信処理と、前記第2実行装置によって送信された前記操作量を受信する車両側受信処理と、を実行し、前記第2実行装置は、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記外部側受信処理によって受信した前記データと前記関係規定データとに基づき前記操作量を算出する操作量算出処理と、前記操作量算出処理によって算出した前記操作量を送信する外部側送信処理と、を実行する上記12記載の車両用制御システムである。
上記構成では、操作量算出処理を第2実行装置によって実行することにより、操作量算出処理をも第1実行装置が実行する場合と比較して、第1実行装置の演算負荷を軽減できる。
14.上記12または13記載の前記第1実行装置を備える車両用制御装置である。
15.上記12または13記載の前記第2実行装置を備える車両用学習装置である。
16.車両に搭載された内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量との関係を規定する関係規定データが記憶装置に記憶された状態で、前記変速装置を操作する操作処理と、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、前記変速装置の操作に伴う前記車両のドライバビリティに基づく報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記変速装置の状態、前記変速装置の操作に用いられた前記操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記変速装置が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
15.上記12または13記載の前記第2実行装置を備える車両用学習装置である。
16.車両に搭載された内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量との関係を規定する関係規定データが記憶装置に記憶された状態で、前記変速装置を操作する操作処理と、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づき、前記変速装置の操作に伴う前記車両のドライバビリティに基づく報酬を算出する報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記変速装置の状態、前記変速装置の操作に用いられた前記操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記変速装置が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
上記構成では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、変速装置の状態と変速装置の操作量との関係を設定することができる。したがって、変速装置の状態と変速装置の操作量との関係の設定に際して、熟練者に要求される工数を低減できる。
17.推力生成装置として内燃機関および回転電機を備えた車両に適用され、前記車両の状態と、前記内燃機関の操作量および前記回転電機の制御量との関係を規定する関係規定データが記憶装置に記憶されて状態で、前記内燃機関の操作部および前記回転電機の駆動回路を操作する操作処理と、前記車両の出力および前記車両の駆動トルクの2つのうちの少なくとも1つの要求値および算出値を取得する取得処理と、前記取得処理によって取得された前記要求値および前記算出値に基づき、前記算出値と前記要求値との差の絶対値が小さい場合に大きい場合よりも大きい報酬を与える報酬算出処理と、前記車両の状態、前記操作処理の操作に対応する前記操作部の操作量および前記回転電機の制御量、ならびに該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行装置に実行させ、前記更新写像は、前記関係規定データに従って前記操作部および前記駆動回路が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法である。
上記構成では、操作部の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と内燃機関の操作部の操作量および回転電機の制御量との関係を設定することができる。したがって、車両の状態と内燃機関の操作部の操作量および回転電機の制御量との関係の設定に際して、熟練者に要求される工数を低減できる。
18.前記報酬算出処理は、前記車両におけるエネルギ消費率が小さい場合に大きい場合よりも大きい報酬を与える処理を含む上記17記載の車両用制御データの生成方法である。
上記構成では、車両の出力や駆動トルクを要求値に近づけつつも、車両におけるエネルギ消費率が小さくなるように、関係規定データを学習できる。
19.前記報酬算出処理は、前記回転電機に電力を供給する蓄電装置の充電率が所定比率範囲内にある場合に前記所定比率範囲から外れる場合よりも大きい報酬を与える処理を含む上記17または18記載の車両用制御データの生成方法である。
19.前記報酬算出処理は、前記回転電機に電力を供給する蓄電装置の充電率が所定比率範囲内にある場合に前記所定比率範囲から外れる場合よりも大きい報酬を与える処理を含む上記17または18記載の車両用制御データの生成方法である。
蓄電装置の充電率は所定比率範囲とすることが望ましい。そこで、上記構成では、報酬算出処理によって、蓄電装置の充電率が所定比率範囲内にある場合に所定比率範囲から外れる場合よりも大きい報酬を与えることにより、蓄電装置の充電率を所定比率範囲とするうえで適切な関係規定データを学習できる。
20.前記報酬算出処理は、前記回転電機に電力を供給する蓄電装置の温度が所定温度範囲内にある場合に前記所定温度範囲から外れる場合よりも大きい報酬を与える処理を含む上記17〜19のいずれか1つに記載の車両用制御データの生成方法である。
蓄電装置の温度は、所定温度範囲とすることが望ましい。そこで上記構成では、報酬算出処理によって、蓄電装置の温度が所定温度範囲内にある場合に所定温度範囲から外れる場合よりも大きい報酬を与えることにより、蓄電装置の温度を所定温度範囲とするうえで適切な関係規定データを学習できる。
21.実行装置と、記憶装置とを備え、前記記憶装置には、内燃機関が搭載される車両の状態と、前記内燃機関の操作部の操作量と、前記内燃機関の燃料消費率、前記内燃機関の排気特性、および前記内燃機関が搭載される車両のドライバビリティの少なくとも1つの観点からなる報酬についての期待収益と、の関係を規定する関係規定データが記憶されており、前記実行装置は、前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態と前記関係規定データとに基づき、前記期待収益を最大化する前記操作量を選択する選択処理と、前記選択処理によって選択された前記操作量に基づき前記操作部を操作する操作処理と、を実行する車両用制御装置である。
上記関係規定データは、車両の状態と、操作部の操作量と、期待収益との関係を規定するデータであることから、強化学習によって学習可能である。したがって、上記車両用制御装置は、操作部の操作量の適合に際して、熟練者に要求される工数を低減できる。
22.実行装置と、記憶装置とを備え、前記記憶装置には、車両に搭載される内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量と、前記車両のドライバビリティに基づく報酬についての期待収益と、の関係を規定する関係規定データが記憶されており、前記実行装置は、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益を最大化する前記操作量を選択する選択処理と、前記選択処理によって選択された前記操作量に基づき前記変速装置を操作する操作処理と、を実行する車両用制御装置である。
上記関係規定データは、変速装置の状態と、変速装置の操作量と、期待収益との関係を規定するデータであることから、強化学習によって学習可能である。したがって、上記車両用制御装置は、変速装置の操作量の適合に際して、熟練者に要求される工数を低減できる。
23.実行装置と、記憶装置とを備え、前記記憶装置には、内燃機関の状態を含んで且つ前記内燃機関を搭載した車両の状態と、前記内燃機関の操作部の操作量との関係を規定する関係規定データが記憶されており、前記実行装置は、前記車両の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとに基づく前記操作部の操作量によって前記操作部を操作する操作処理と、を実行するものであり、前記関係規定データは、前記車両の所定の状態に関する時系列データと前記操作量との関係を規定する車両用制御装置である。
上述したように、内燃機関等の駆動系の操作量の適合には熟練者が多くの工数をかけていたことから、操作量を設定するための入力となる状態については、次元数が大きくなることを避けるインセンティブが働いていた。しかし、所定の状態について1つのサンプリング値のみに基づき操作量を設定するよりも、時系列的に前後する複数の状態のサンプリング値の時系列データに基づき操作量を設定する方が、操作量をより適切に設定できる可能性がある。そこで上記構成では、所定の状態に関する時系列データに基づく操作量によって操作部を操作することにより、狙いとする制御をより適切に実行することが可能となる。
24.前記時系列データは、前記内燃機関の動作点を規定する変数である動作点変数の時系列データを含む上記23記載の車両用制御装置である。
<第1の実施形態>
以下、車両用制御データの生成方法にかかる第1の実施形態について図面を参照しつつ説明する。
以下、車両用制御データの生成方法にかかる第1の実施形態について図面を参照しつつ説明する。
図1に、本実施形態にかかる制御装置および駆動系を示す。
図1に示すように、内燃機関10の吸気通路12から吸入された空気は、過給機14を介して吸気通路12の下流側へと流入する。吸気通路12のうちの過給機14の下流には、スロットルバルブ16が設けられており、吸気通路12のうちスロットルバルブ16の下流には、ポート噴射弁18が設けられている。吸気通路12に吸入された空気やポート噴射弁18から噴射された燃料は、吸気バルブ20の開弁に伴って、シリンダ22およびピストン24によって区画される燃焼室26に流入する。燃焼室26には、筒内噴射弁28によって燃料が噴射される。燃焼室26において燃料と空気との混合気は、点火装置30の火花放電によって、燃焼に供される。燃焼によって生じたエネルギは、ピストン24を介してクランク軸32の回転エネルギに変換される。
図1に示すように、内燃機関10の吸気通路12から吸入された空気は、過給機14を介して吸気通路12の下流側へと流入する。吸気通路12のうちの過給機14の下流には、スロットルバルブ16が設けられており、吸気通路12のうちスロットルバルブ16の下流には、ポート噴射弁18が設けられている。吸気通路12に吸入された空気やポート噴射弁18から噴射された燃料は、吸気バルブ20の開弁に伴って、シリンダ22およびピストン24によって区画される燃焼室26に流入する。燃焼室26には、筒内噴射弁28によって燃料が噴射される。燃焼室26において燃料と空気との混合気は、点火装置30の火花放電によって、燃焼に供される。燃焼によって生じたエネルギは、ピストン24を介してクランク軸32の回転エネルギに変換される。
燃焼に供された混合気は、排気バルブ34の開弁に伴って、排気として排気通路36に排出される。排気通路36のうちの過給機14の下流には、酸素吸蔵能力を有する三元触媒(触媒38)が設けられている。また、排気通路36は、過給機14を迂回する迂回通路48を備えており、迂回通路48には、その流路断面積を調整するウェストゲートバルブ(WGV50)が設けられている。
クランク軸32の回転動力は、タイミングチェーン40を介して、吸気側カム軸42および排気側カム軸44に伝達される。なお、本実施形態では、吸気側カム軸42には、可変バルブタイミング装置46を介してタイミングチェーン40の動力が伝達される。可変バルブタイミング装置46は、クランク軸32と吸気側カム軸42との回転位相差を調整することによって、吸気バルブ20の開弁タイミングを調整するアクチュエータである。
また、吸気通路12は、EGR通路52を介して排気通路36に接続されている。EGR通路52には、その流路断面積を調整するEGRバルブ54が設けられている。
ポート噴射弁18には、燃料タンク60に貯蔵された燃料が、機関駆動式ポンプ62によって汲み上げられて供給される。また、筒内噴射弁28には、燃料タンク60に貯蔵された燃料が、機関駆動式ポンプ62によって汲み上げられた後、電子制御式の高圧燃料ポンプ64によって加圧されて供給される。燃料タンク60で生じた燃料蒸気は、キャニスタ66に捕集される。キャニスタ66は、パージ通路67を介して吸気通路12に接続されている。パージ通路67には、その上流側であるキャニスタ66側の流体を下流側である吸気通路12側に吐出させるパージポンプ68が設けられている。
ポート噴射弁18には、燃料タンク60に貯蔵された燃料が、機関駆動式ポンプ62によって汲み上げられて供給される。また、筒内噴射弁28には、燃料タンク60に貯蔵された燃料が、機関駆動式ポンプ62によって汲み上げられた後、電子制御式の高圧燃料ポンプ64によって加圧されて供給される。燃料タンク60で生じた燃料蒸気は、キャニスタ66に捕集される。キャニスタ66は、パージ通路67を介して吸気通路12に接続されている。パージ通路67には、その上流側であるキャニスタ66側の流体を下流側である吸気通路12側に吐出させるパージポンプ68が設けられている。
クランク軸32には、ロックアップクラッチ72を備えたトルクコンバータ70を介して変速装置80の入力軸82が機械的に連結可能とされている。変速装置80は、入力軸82の回転速度と出力軸84の回転速度との比である変速比を可変とする。すなわち、変速装置80は、ソレノイドバルブ80a,80b,…を備えており、ソレノイドバルブ80a,80b,…によって調整される油圧に応じて、クラッチの締結、解除が切り替えられることによって、互いに異なる変速比を実現可能となっている。なお、出力軸84は、駆動輪88に機械的に連結されている。
制御装置90は、内燃機関10を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ16や、ポート噴射弁18、筒内噴射弁28、点火装置30、可変バルブタイミング装置46、WGV48、EGRバルブ54、高圧燃料ポンプ64、パージポンプ68等の内燃機関10の操作部を操作する。また、制御装置90は、ロックアップクラッチ72の係合状態や、変速装置80の変速比を制御量とし、ロックアップクラッチ72や、ソレノイドバルブ80a,80b,…を操作する。なお、図1には、スロットルバルブ16、ポート噴射弁18、筒内噴射弁28、点火装置30、可変バルブタイミング装置46、WGV50、EGRバルブ54、高圧燃料ポンプ64、パージポンプ68、およびロックアップクラッチ72のそれぞれの操作信号MS1〜MS10を記載している。また、図1に示す操作信号MS11a,MS11b,…は、それぞれ、ソレノイドバルブ80a,80b,…の操作信号である。
制御装置90は、制御量の制御に際し、エアフローメータ100によって検出される吸入空気量Gaや、吸気温センサ102によって検出される吸気温Ta、過給圧センサ104によって検出される吸気通路12のうちの過給機14の下流の圧力(過給圧Pa)を参照する。また制御装置90は、スロットルセンサ106によって検出されるスロットルバルブ16の開口度(スロットル開口度Tor)や、クランク角センサ108の出力信号Scrを参照する。また、制御装置90は、カム角センサ112の出力信号Scaや、水温センサ114によって検出される内燃機関10の冷却水の温度(水温THW)を参照する。また制御装置90は、触媒38の上流側に設けられた上流側空燃比センサ116の検出値である上流側検出値Afu、触媒38の下流側に設けられた下流側空燃比センサ118の検出値である下流側検出値Afdを参照する。また、制御装置90は、入力側速度センサ120によって検出される変速装置80の入力軸82の回転速度(入力回転速度ωin)や、出力側速度センサ122によって検出される変速装置80の出力軸84の回転速度(出力回転速度ωout)を参照する。また、制御装置90は、ソレノイドバルブ80aによって調整され油圧センサ124aによって検出される油圧Poilaや、ソレノイドバルブ80bによって調整され油圧センサ124bによって検出される油圧Poilb等を参照する。また、制御装置90は、油温センサ126によって検出される内燃機関10の潤滑油の温度(油温Toil)や、車速センサ130によって検出される車両VC1の走行速度(車速SPD)、アクセルセンサ132によって検出されるアクセルペダルの操作量(アクセル操作量ACCP)を参照する。
制御装置90は、CPU92、ROM94、電気的に書き換え可能な不揮発性メモリである記憶装置96、および周辺回路98を備え、それらがローカルネットワーク99によって通信可能とされたものである。なお、周辺回路98は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
制御装置90は、ROM94に記憶されたプログラムをCPU92が実行することによって、上記制御量の制御を実行する。
図2に、制御装置90が実行する処理の手順を示す。図2に示す処理は、ROM94に記憶された制御プログラム94bをCPU92がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を記載する。
図2に、制御装置90が実行する処理の手順を示す。図2に示す処理は、ROM94に記憶された制御プログラム94bをCPU92がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を記載する。
図2に示す一連の処理において、CPU92は、まず回転速度NE、充填効率η、過給圧Pa、吸気温Ta、水温THW,油温Toil、下流側検出値Afd、上流側検出値Afu、アクセル操作量ACCP、および車速SPDを取得する(S10)。ここで、回転速度NEは、クランク角センサ108の出力信号Scrに基づきCPU92によって算出される。また、充填効率ηは、回転速度NEおよび吸入空気量Gaに基づきCPU92によって算出される。なお、充填効率ηは、燃焼室26内に充填される空気量を定めるパラメータである。
そして、CPU92は、S10の処理によって取得した値を入力とし、S12〜S28の処理によって、内燃機関10の各種操作部の操作量を設定する。なお、ここで操作量とは、実際の操作量に限らず、たとえば操作量となるように開ループ制御する場合や、操作量となるようにフィードバック制御する場合には、その指令値を操作量とみなすこともある。
詳しくは、CPU92は、S12の処理によって、スロットルバルブ16の開口度の指令値(スロットル開口度指令値Tor*)を設定し、S14の処理によって噴射が要求される燃料量(要求噴射量Qf)を設定する。また、CPU92は、S16の処理によってクランク軸32と吸気側カム軸42との回転位相差(吸気位相差DIN)の指令値である吸気位相差指令値DIN*を設定し、S18の処理によって点火時期aigを設定し、S20の処理によって要求噴射量Qfのうちポート噴射弁18から噴射される燃料量の比率である噴き分け率Kpを設定する。また、CPU92は、S22の処理によって、WGV50の開口度であるWGV開口度指令値Wgvorを設定し、S24の処理によって筒内噴射弁28による燃料噴射の噴射圧の指令値(燃圧指令値Pf*)を設定する。また、CPU92は、S26の処理によって、EGRバルブ54の開口度の指令値であるEGR開口度指令値Egrvorを設定し、S28の処理によって、パージポンプ68の操作量(パージ操作量Pg)を設定する。
詳しくは、CPU92は、図1に示すマップデータ96bを用いて、S12〜S28の処理を実行する。マップデータ96bは、上記9個の操作量のそれぞれを出力変数とし、S10の処理によって取得される値に対応する変数を入力変数とする、9個のマップデータを含む。CPU92は、S10の処理によって取得した値を入力とし、上記9個の操作量のそれぞれを対応するマップデータを用いてマップ演算する。
なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
そして、CPU92は、S12〜S28の処理によって設定した操作量に基づき各操作部を操作すべく、各操作部に、それぞれ操作信号MS1〜MS9を出力する(S30)。ここで、操作信号MS1〜MS9は、S12〜S28の処理によって設定された操作量によって一義的に定まるものばかりではない。たとえば本実施形態では、スロットル開口度Torをスロットル開口度指令値Tor*にフィードバック制御するため、スロットルバルブ16の操作信号MS1は、スロットル開口度指令値Tor*が同一であっても、様々な値となりうる。
なお、CPU92は、S30の処理が完了する場合、図2に示す処理を一旦終了する。
上記マップデータ96bは、強化学習を利用して生成されたものである。以下、これについて詳述する。
上記マップデータ96bは、強化学習を利用して生成されたものである。以下、これについて詳述する。
図3に、マップデータ96bを生成するシステムを示す。
図3に示すように、本実施形態では、内燃機関10のクランク軸32にトルクコンバータ70および変速装置80を介してダイナモメータ140を機械的に連結する。そして内燃機関10を稼働させた際の様々な状態変数がセンサ群142によって検出され、検出結果が、マップデータ96bを生成するコンピュータである生成装置150に入力される。なお、センサ群142には、図1に示した車両VC1が搭載するセンサのみならず、排気通路36に排出される排気中の窒素濃度を検出する窒素濃度センサや、排気中の未燃燃料濃度を検出する未燃燃料濃度センサ、排気中の粒子状物質(PM)の量を検出するPMセンサが含まれる。また、センサ群142には、触媒38の温度(触媒温度Tcat)を検出する触媒温度センサや、内燃機関10の周辺の騒音を検知するマイク等が含まれる。
図3に示すように、本実施形態では、内燃機関10のクランク軸32にトルクコンバータ70および変速装置80を介してダイナモメータ140を機械的に連結する。そして内燃機関10を稼働させた際の様々な状態変数がセンサ群142によって検出され、検出結果が、マップデータ96bを生成するコンピュータである生成装置150に入力される。なお、センサ群142には、図1に示した車両VC1が搭載するセンサのみならず、排気通路36に排出される排気中の窒素濃度を検出する窒素濃度センサや、排気中の未燃燃料濃度を検出する未燃燃料濃度センサ、排気中の粒子状物質(PM)の量を検出するPMセンサが含まれる。また、センサ群142には、触媒38の温度(触媒温度Tcat)を検出する触媒温度センサや、内燃機関10の周辺の騒音を検知するマイク等が含まれる。
生成装置150は、CPU152、ROM154、電気的に書き換え可能な不揮発性メモリ(記憶装置156)、周辺回路158を備えており、それらがローカルネットワーク159によって通信可能とされたものである。
図4に、生成装置150が実行する処理の手順を示す。図4に示す処理は、ROM154に記憶された学習プログラム154aをCPU152が実行することにより実現される。
図4に示す一連の処理において、CPU152は、まず、図3に示した記憶装置156に記憶されている関係規定データ156aによって規定される行動価値関数Q(s,a)を初期化する(S40)。ここで、行動価値関数Qは、状態sと行動aとを独立変数とし、期待収益を出力変数とする関数である。本実施形態では、状態sを、S10の処理によって取得する値に関する10個の変数とする。また、行動aを、S12〜S28の処理によって設定される9個の操作量とする。すなわち、本実施形態では、状態sが10次元ベクトルであり、行動aが9次元ベクトルであるが、便宜上、小文字の「s」,「a」を用いている。また、本実施形態にかかる行動価値関数Q(s,a)は、テーブル形式の関数とする。ただし、本実施形態では、行動価値関数Q(s,a)の独立変数の組み合わせの数を削減すべく、状態sおよび行動aの各変数の値を離散化した各値の組の一部のみによって行動価値関数Q(s,a)を定義する。
詳しくは、まず、内燃機関10と同様の操作部を備え、従来手法ですでに操作部の操作量が適合されている内燃機関を稼働させることにより、その各状態sにおける行動aを特定する。そして、実際に検出された状態sの一部をマップデータ96bが規定する入力変数の値として選択し、それら状態のそれぞれについての行動aを抽出する。なお、状態に対して複数の行動aが抽出される場合、それらのうち実測された頻度が大きい方等を採用すればよい。これにより、状態sおよび行動aの複数の組である代表点が設定される。ただし、ここでの状態sや行動aの成分は、それぞれ、最小値以上最大値以下の領域を複数に分割した際の分割された領域のいずれに属するかを定義するものとする。これは、従来手法ですでに操作部の操作量が適合されている内燃機関と、本実施形態にかかる内燃機関10との排気量の相違を補償するための設定である。
こうした状態において、CPU152は、行動価値関数Q(s,a)の独立変数の取りうる範囲を、代表点と、代表点に対して行動aの各変数の値をプラス方向およびマイナス方向に一単位だけずらした値とする。たとえば、EGR開口度指令値Egrvorの取りうる値が「0〜10」の10段階であったとしても、所定の状態s0におけるEGR開口度指令値Egrvorの実測値が「5」である場合、行動価値関数Q(s0,a)の独立変数のうちのEGR開口度指令値Egrvorは、「4,5,6」のみが取りうる値とされる。すなわち、状態s0であってEGR開口度指令値Egrvorが「1」であるものには、行動価値関数Q(s0,a)が定義されていない。
次にCPU152は、最新の状態stを取得する(S42)。ここで、アクセル操作量ACCPは、生成装置150によって生成されるものであり、実際のアクセルペダルの操作量ではない。すなわち、図3においては、車両の状態を模擬すべく、アクセル操作量ACCPを車両の状態に関する変数として疑似的に生成している。また、車速SPDは、回転速度NEと変速装置80の変速比とに基づき、内燃機関10および変速装置80が車両に搭載されていた場合に想定される値であり、生成装置150によって算出される。
次に、CPU152は、関係規定データ156aに規定された方策πtに従って、行動atを選択する(S44)。ここで、行動atは、状態stに対して選択された行動aであることを意味する。また、方策πtは、状態stにおいて、行動価値関数Q(st,a)を最大化する行動a(グリーディな行動)を選択する確率を最大としつつも、それ以外の行動aの選択確率をも「0」としない。ここで、グリーディな行動がとられないことにより、最適な行動を探るための探索が可能となる。これは、εグリーディ行動選択手法や、ソフトマックス行動選択手法によって実現できる。
次にCPU152は、行動atに基づき操作部を操作する(S46)。ちなみに、行動atは、上述したように、上記最小値以上最大値以下の領域が複数に分割された複数の領域のうちのいずれか1つの領域を指定するものであるが、操作部の操作に際しては、行動atが指定する領域の中央値に対応する値が採用される。なお、ここでは、行動atを直接の操作量とする代わりに、前回の操作量と行動atから定まる操作量との指数移動平均処理値を今回の操作量としてもよい。そして、CPU152は、最新の状態st+1を取得する(S48)。次に、CPU152は、行動atによる報酬rtを算出する(S50)。
図5に、S50の処理の詳細を示す。
図5に示す一連の処理において、CPU152は、まず、センサ群142の検出値に基づき、内燃機関10の状態を含む車両の模擬的な状態を取得する(S60)。詳しくは、上流側検出値Afu、下流側検出値Afd、窒素濃度センサの検出値に基づく排気中のNOx量Qnox、未燃燃料濃度センサの検出値に基づく排気中の未燃燃料量Qch、PMセンサの検出値に基づく排気中のPM量Qpm、触媒温度センサによって検出される触媒温度Tcatを取得する。また、CPU152は、要求噴射量Qf(1),Qf(2),…や車両の前後加速度Gx(1),Gx(2),…を取得する。ここで、カッコの中の数字が異なるものは、互いに異なるサンプリングタイミングであることを示す。すなわち、要求噴射量Qf(1),Qf(2),…は、要求噴射量Qfの時系列データであり、前後加速度Gx(1),Gx(2),…は、前後加速度Gxの時系列データである。時系列データは、図5の処理の前回の実行タイミングから今回の実行タイミングまでの期間におけるサンプリング値とする。ここで、前後加速度Gxは、ダイナモメータ140の負荷トルク等に基づきCPU152によって算出される、仮に内燃機関10等が車両に搭載されていた場合に車両に生じると想定される前後加速度である。また、CPU152は、マイクによって検知された音圧SPや、ダイナモメータ140が生成する負荷トルクと変速装置80の変速比とから把握される内燃機関10のトルク(機関トルクTrqeg)およびその要求値(機関トルク要求値Trqeg*)を取得する。ただし、機関トルクTrqegおよび機関トルク要求値Trqeg*に代えて、機関トルクTrqegおよび回転速度NEの積である機関出力Pegおよびその要求値(機関出力要求値Peg*)を取得してもよい。ここで、機関トルク要求値Trqeg*は、アクセル操作量ACCPに応じて設定される。
図5に示す一連の処理において、CPU152は、まず、センサ群142の検出値に基づき、内燃機関10の状態を含む車両の模擬的な状態を取得する(S60)。詳しくは、上流側検出値Afu、下流側検出値Afd、窒素濃度センサの検出値に基づく排気中のNOx量Qnox、未燃燃料濃度センサの検出値に基づく排気中の未燃燃料量Qch、PMセンサの検出値に基づく排気中のPM量Qpm、触媒温度センサによって検出される触媒温度Tcatを取得する。また、CPU152は、要求噴射量Qf(1),Qf(2),…や車両の前後加速度Gx(1),Gx(2),…を取得する。ここで、カッコの中の数字が異なるものは、互いに異なるサンプリングタイミングであることを示す。すなわち、要求噴射量Qf(1),Qf(2),…は、要求噴射量Qfの時系列データであり、前後加速度Gx(1),Gx(2),…は、前後加速度Gxの時系列データである。時系列データは、図5の処理の前回の実行タイミングから今回の実行タイミングまでの期間におけるサンプリング値とする。ここで、前後加速度Gxは、ダイナモメータ140の負荷トルク等に基づきCPU152によって算出される、仮に内燃機関10等が車両に搭載されていた場合に車両に生じると想定される前後加速度である。また、CPU152は、マイクによって検知された音圧SPや、ダイナモメータ140が生成する負荷トルクと変速装置80の変速比とから把握される内燃機関10のトルク(機関トルクTrqeg)およびその要求値(機関トルク要求値Trqeg*)を取得する。ただし、機関トルクTrqegおよび機関トルク要求値Trqeg*に代えて、機関トルクTrqegおよび回転速度NEの積である機関出力Pegおよびその要求値(機関出力要求値Peg*)を取得してもよい。ここで、機関トルク要求値Trqeg*は、アクセル操作量ACCPに応じて設定される。
次にCPU152は、S62〜S66の処理によって、排気特性の観点に基づく報酬を算出する。すなわち、CPU152は、まず、以下の条件(ア)〜条件(カ)の論理積が真であるか否かを判定する(S62)。この処理は、排気特性が所定の特性であるか否か判定する処理である。
条件(ア):上流側検出値Afuが、リッチ側上限値AfuR以上であって且つリーン側上限値AfuL以下である旨の条件である。ここで、リッチ側上限値AfuRは、理論空燃比よりもリッチ側の値とされており、リーン側上限値AfuLは、理論空燃比よりもリーン側の値とされている。
条件(イ):下流側検出値Afdが、リッチ側上限値AfdR以上であって且つリーン側上限値AfdL以下である旨の条件である。ここで、リッチ側上限値AfdRは、理論空燃比よりもリッチ側の値とされており、リーン側上限値AfdLは、理論空燃比よりもリーン側の値とされている。
条件(ウ):NOx量Qnoxが所定量Qnoxth以下である旨の条件である。
条件(エ):未燃燃料量Qchが所定量Qchth以下である旨の条件である。
条件(オ):PM量Qpmが所定量Qpmth以下である旨の条件である。
条件(エ):未燃燃料量Qchが所定量Qchth以下である旨の条件である。
条件(オ):PM量Qpmが所定量Qpmth以下である旨の条件である。
条件(カ):触媒温度Tcatが下限温度TcatL以上であって且つ上限温度TcatH以下である旨の条件である。
CPU152は、条件(ア)〜条件(カ)の論理積が真であると判定する場合(S62:YES)、排気特性が狙いとする所定の特性にあるとして、報酬rtに、「10」を加算する(S64)。これに対し、CPU152は、上記論理和が偽であると判定する場合、報酬rtに「−10」を加算する(S66)。これは、負の報酬を与えることに対応する。換言すれば、ペナルティを課すことに対応する。ちなみに、図5に示す一連の処理が周期的に開始される都度、報酬rtの初期値はゼロとされる。
CPU152は、条件(ア)〜条件(カ)の論理積が真であると判定する場合(S62:YES)、排気特性が狙いとする所定の特性にあるとして、報酬rtに、「10」を加算する(S64)。これに対し、CPU152は、上記論理和が偽であると判定する場合、報酬rtに「−10」を加算する(S66)。これは、負の報酬を与えることに対応する。換言すれば、ペナルティを課すことに対応する。ちなみに、図5に示す一連の処理が周期的に開始される都度、報酬rtの初期値はゼロとされる。
CPU152は、S64,66の処理が完了する場合、S68,S70の処理によって、燃料消費率の観点による報酬を算出する。すなわち、CPU152は、S60の処理によって取得した要求噴射量Qf(1),Qf(2),…の積算値InQfが所定値InQfth以下であるか否かを判定する(S68)。そして、CPU152は、所定値InQfth以下であると判定する場合(S68:YES)、報酬rtに、正の所定量Δを加算する(S70)。ここで、所定量Δは、積算値InQfが小さい場合に大きい場合よりも大きい値とする。
CPU152は、S70の処理を完了する場合や、S68の処理において否定判定する場合には、S72〜S76の処理によって、ドライバビリティの観点による報酬を算出する。すなわち、CPU152は、まず、以下の条件(サ)〜条件(ス)の論理積が真であるか否かを判定する(S72)。
条件(サ):前後加速度Gxの所定期間あたりの変化量ΔGxが、下限変化量ΔGxthL以上であって且つ上限変化量ΔGxthH以下である旨の条件である。
条件(シ):前後加速度Gxが下限加速度GxL以上であって且つ上限加速度GxH以下である旨の条件である。なお、下限加速度GxLや上限加速度GxHは、アクセル操作量ACCPに応じて可変設定される。
条件(シ):前後加速度Gxが下限加速度GxL以上であって且つ上限加速度GxH以下である旨の条件である。なお、下限加速度GxLや上限加速度GxHは、アクセル操作量ACCPに応じて可変設定される。
条件(ス):音圧SPが所定値SPth以下である旨の条件である。
CPU152は、条件(サ)〜条件(ス)の論理積が真であると判定する場合(S72:YES)、ドライバビリティーが所定の基準を満たすとして、報酬rtに「5」を加算する(S74)。これに対し、CPU152は、上記論理積が偽であると判定する場合(S72:NO)、報酬に「−5」を加算する(S76)。
CPU152は、条件(サ)〜条件(ス)の論理積が真であると判定する場合(S72:YES)、ドライバビリティーが所定の基準を満たすとして、報酬rtに「5」を加算する(S74)。これに対し、CPU152は、上記論理積が偽であると判定する場合(S72:NO)、報酬に「−5」を加算する(S76)。
CPU152は、S74,S76の処理が完了する場合、機関トルクTrqegと機関トルク要求値Trqeg*との差の絶対値が所定量ΔTrqeg以下であるか否かを判定する(S78)。なお、S60の処理において機関出力Pegを取得している場合には、S78の処理においては、機関トルクTrqegと機関トルク要求値Trqeg*との差の絶対値に代えて、機関出力Pegと機関出力要求値Peg*との差の絶対値が所定量ΔPeg以下であるか否かを判定する。
そしてCPU152は、S78の処理において肯定判定する場合、報酬rtに「10」を加算する一方(S80)、否定判定する場合、報酬rtに「−10」を加算する(S82)。
なお、CPU152は、S80,S82の処理を完了する場合、図4のS50の処理を完了する。
次に、CPU152は、行動価値関数Q(s,a)のうち状態st、行動atの場合の行動価値関数Q(st,at)の値を更新する更新量を算出すべく、誤差δtを算出する(S52)。本実施形態では、方策オフ型TD法を例示する。すなわち、割引率γを用いて、誤差δtを、行動価値関数Q(st+1,A)のうちの最大値に割引率γを乗算した値および報酬rtの和から行動価値関数Q(st,at)を減算した値とする。なお、「A」は、行動aの集合を意味する。次に、CPU152は、誤差δtに学習率αを乗算した値を行動価値関数Q(st,at)に加算することによって、行動価値関数Q(st,at)を更新する(S54)。すなわち、関係規定データ156aによって規定されている行動価値関数Q(s,a)のうち、独立変数が状態stおよび行動atとなるものの値を、「α・δt」だけ変化させる。なお、S52,S54の処理は、学習プログラム154aのうち、報酬rt、状態st、行動atを入力とし、更新された行動価値関数Qを出力する写像である更新写像を用いて、行動価値関数Qを更新する実行指令の実行によって実現される。この更新写像により、関係規定データ156aに規定された関係である、S10の処理によって取得される値とS44の処理に従って選択される操作量との関係が、期待収益を増加させるように更新されたものとなる。これは、行動価値関数Q(st,at)が更新されることによって、行動価値関数Q(st,at)が実際の期待収益をより高精度に表現する値に更新されるためである。
次に、CPU152は、行動価値関数Q(s,a)のうち状態st、行動atの場合の行動価値関数Q(st,at)の値を更新する更新量を算出すべく、誤差δtを算出する(S52)。本実施形態では、方策オフ型TD法を例示する。すなわち、割引率γを用いて、誤差δtを、行動価値関数Q(st+1,A)のうちの最大値に割引率γを乗算した値および報酬rtの和から行動価値関数Q(st,at)を減算した値とする。なお、「A」は、行動aの集合を意味する。次に、CPU152は、誤差δtに学習率αを乗算した値を行動価値関数Q(st,at)に加算することによって、行動価値関数Q(st,at)を更新する(S54)。すなわち、関係規定データ156aによって規定されている行動価値関数Q(s,a)のうち、独立変数が状態stおよび行動atとなるものの値を、「α・δt」だけ変化させる。なお、S52,S54の処理は、学習プログラム154aのうち、報酬rt、状態st、行動atを入力とし、更新された行動価値関数Qを出力する写像である更新写像を用いて、行動価値関数Qを更新する実行指令の実行によって実現される。この更新写像により、関係規定データ156aに規定された関係である、S10の処理によって取得される値とS44の処理に従って選択される操作量との関係が、期待収益を増加させるように更新されたものとなる。これは、行動価値関数Q(st,at)が更新されることによって、行動価値関数Q(st,at)が実際の期待収益をより高精度に表現する値に更新されるためである。
次にCPU152は、各独立変数について行動価値関数Qの値が収束したか否かを判定する(S56)。そして、CPU152は、収束していないと判定する場合(S56:NO)、S48の処理によって取得した状態st+1が状態stとなるようにtを更新し(S58)、S44の処理に戻る。これに対し、CPU152は、収束したと判定する場合(S56:YES)、図4に示す一連の処理を一旦終了する。
図6に、生成装置150が実行する処理のうち、特に図4の処理によって学習された行動価値関数Qに基づき、マップデータ96bを生成する処理の手順を示す。図6に示す処理は、ROM154に記憶された学習プログラム154aを、CPU152が実行することにより実現される。
図6に示す一連の処理において、CPU152は、まず、状態sを1つ選択する(S90)。次に、CPU152は、状態sに対応する行動価値関数Q(s,A)のうち、行動価値関数Qの値を最大とする行動aを選択する(S92)。すなわち、ここでは、グリーディ方策によって行動aを選択する。次に、CPU152は、状態sと行動aとの組を記憶装置156に記憶させる(S94)。
次にCPU152は、マップデータ96bの入力変数の値とするもの全てがS90の処理によって選択されたか否かを判定する(S96)。そして、CPU152は、選択されていないものがあると判定する場合(S96:NO)、S90の処理に戻る。これに対し、CPU152は、全てが選択されたと判定する場合(S96:YES)、S94の処理によって記憶されたデータに基づき、マップデータ96bを生成する(S98)。ここでは、マップデータ96bの入力変数の値が状態sであるものに対応する出力変数の値を、対応する行動aとする。
なお、CPU152は、S98の処理が完了する場合、図6に示す一連の処理を一旦終了する。
図7に、図1に示す制御装置90が実行する処理のうち、変速装置80の操作に関する処理の手順を示す。図7に示す処理は、ROM94に記憶されている制御プログラム94bおよび学習プログラム94aをCPU92が実行することにより実現される。なお、図7においては、変速装置80が実現可能なすべての変速比の切り替えを示すのではなく、一例として、一対の変速比である第1の変速比から第2の変速比に切り替える場合の処理を示す。ここでは、第1の変速比とするためには、油圧Poilaを高くして第1のクラッチを締結状態として且つ油圧Poilbを低くして第2のクラッチを解放状態とするものとする。また第2の変速比とするためには、油圧Poilaを低くして第1のクラッチを解放状態として且つ油圧Poilbを高くして第2のクラッチを締結状態とするものとする。
図7に、図1に示す制御装置90が実行する処理のうち、変速装置80の操作に関する処理の手順を示す。図7に示す処理は、ROM94に記憶されている制御プログラム94bおよび学習プログラム94aをCPU92が実行することにより実現される。なお、図7においては、変速装置80が実現可能なすべての変速比の切り替えを示すのではなく、一例として、一対の変速比である第1の変速比から第2の変速比に切り替える場合の処理を示す。ここでは、第1の変速比とするためには、油圧Poilaを高くして第1のクラッチを締結状態として且つ油圧Poilbを低くして第2のクラッチを解放状態とするものとする。また第2の変速比とするためには、油圧Poilaを低くして第1のクラッチを解放状態として且つ油圧Poilbを高くして第2のクラッチを締結状態とするものとする。
図7に示す一連の処理において、CPU92は、まず、第1の変速比から第2の変速比への変速要求があるか否かを判定する(S110)。そしてCPU92は、変速要求があると判定する場合(S110:YES)、入力回転速度ωin(n)、出力回転速度ωout(n)、および油圧Poila(n),Poilb(n)を取得する(S112)。なお、「(n)」の変数nは、S112の処理がなされるタイミングに対するラベル変数である。この処理は、状態を取得する処理である。すなわち、図7の処理においては、状態は、入力回転速度ωin、出力回転速度ωout、および油圧Poila,Poilbの4次元ベクトルによって表現される。
次に、CPU92は、図1の記憶装置96に記憶された関係規定データ96aによって規定される方策πに従って、行動としての、ソレノイドバルブ80aの電流指令値(ソレノイド電流指令値ia*)と、ソレノイドバルブ80bの電流指令値(ソレノイド電流指令値ib*)と、を選択する(S114)。そして、CPU152は、ソレノイドバルブ80aに流れる電流をソレノイド電流指令値ia*に制御して且つ、ソレノイドバルブ80bに流れる電流をソレノイド電流指令値ib*に制御すべく、操作信号MS12,MS13を出力する(S116)。
そして、CPU92は、変速が完了したか否かを判定する(S118)。CPU92は、変速が完了していないと判定する場合(S118:NO)、S112の処理によるサンプリング値を、「n−1」に更新し(S119)、S112の処理に戻る。これにより、CPU152は、新たに入力回転速度ωin、出力回転速度ωout、および油圧Poila,Poilbを取得することとなる。
これに対しCPU92は、変速が完了したと判定する場合(S118:YES)、以下の条件(タ)〜条件(ツ)の論理積が真であるか否かを判定する(S120)。
条件(タ):第1の変速比から第2の変速比への切り替えに要した時間である変速時間Tsftが所定時間TsftH以下である旨の条件である。ここで、所定時間TsftHは、変速に要する時間として許容上限値以下に設定されている。
条件(タ):第1の変速比から第2の変速比への切り替えに要した時間である変速時間Tsftが所定時間TsftH以下である旨の条件である。ここで、所定時間TsftHは、変速に要する時間として許容上限値以下に設定されている。
条件(チ):入力回転速度ωinの所定期間あたりの変化量Δωinの絶対値が入力側所定値ΔωinH以下である旨の条件である。ここで、入力側所定値ΔωinHは、変速に伴ってユーザに違和感を与えることがない上限値に基づき設定されている。
条件(ツ):出力回転速度ωoutの所定期間あたりの変化量Δωoutの絶対値が出力側所定値ΔωoutH以下である旨の条件である。ここで、出力側所定値ΔωoutHは、変速に伴ってユーザに違和感を与えることがない上限値に基づき設定されている。
CPU92は、上記条件(タ)〜条件(ツ)の論理積が真であると判定する場合(S120:YES)、報酬rに「1」を加算する(S122)。これは、条件(タ)〜条件(ツ)の論理積が真である場合に正の報酬を与えることを意味する。
CPU92は、S122の処理が完了する場合や、S120の処理において否定判定する場合には、油圧Poilaと油圧Poilbとの双方が閾値Pth以上となるサンプリング値の組(Poila(i),Poilb(i))があるか否かを判定する(S124)。ここで、閾値Pthは、クラッチが締結状態となる下限値よりも小さい値に設定されている。CPU92は、上記の組があると判定する場合(S124:YES)、報酬rに負の報酬である「−10」を加算する(S126)。すなわち、ここで対象とする変速においては、油圧Poilaによって状態が定まる第1のクラッチと油圧Poilbによって状態が定まる第2のクラッチとの2つのクラッチのうちの一方が締結状態から解放状態に移行し、他方が解放状態から締結状態に移行する必要がある。そのため、油圧Poilaと油圧Poilbの双方が同時に高くなることは好ましくない。
CPU92は、S126の処理が完了する場合や、S124の処理において否定判定する場合には、S128〜S136の処理において、図1に示した記憶装置96に記憶されている関係規定データ96aを更新する。本実施形態では、εソフト方策オン型モンテカルロ法を用いる。
すなわち、CPU92は、まず、一度の変速処理の期間におけるS112の処理によって取得された状態である入力回転速度ωin、出力回転速度ωout、油圧Poila,Poilbの組の時系列データと、各状態に対応する行動であるソレノイド電流指令値ia*,ib*の組の時系列データとを読み出す(S128)。ここでは、S128の処理において読み出した状態を、状態集合Sjと記載し、S128の処理において読み出した行動を、行動集合Ajと記載する。
次に、CPU92は、上記S128の処理によって読み出した各状態と対応する行動との組によって定まる収益R(Sj,Aj)に、それぞれ、報酬rを加算する(S130)。ここで、収益Rの初期値は、対応する行動価値関数Qの初期値とすればよい。次に、上記S128の処理によって読み出した各状態と対応する行動との組によって定まる収益R(Sj,Aj)のそれぞれについて、平均化して対応する行動価値関数Q(Sj,Aj)に代入する(S132)。ここで、平均化は、S130の処理がなされた回数に所定数を加算した数よって、S130の処理によって算出された収益Rを除算する処理とすればよい。
次にCPU92は、上記S128の処理によって読み出した状態について、それぞれ、対応する行動価値関数Q(Sj,ia*,ib*)のうち、最大値となるときのソレノイド電流指令値ia*,ib*を、ソレノイド電流指令値ia0*,ib0*に代入する(S134)。なお、ソレノイド電流指令値ia0*,ib0*は、上記S128の処理によって読み出した状態の種類に応じて各別の値となるものであるが、ここでは、表記を簡素化して、同一の記号にて記載している。
次に、CPU92は、上記S128の処理によって読み出した状態のそれぞれについて、対応する方策π(ia*,ib*|Sj)を更新する(S136)。すなわち、行動の総数を、「|A|」とすると、S134によって選択された行動であるソレノイド電流指令値ia0*,ib0*の選択確率を、「1−ε+ε/|A|」とする。また、ソレノイド電流指令値ia0*,ib0*以外の「|A|−1」個の行動の選択確率を、それぞれ「ε/|A|」とする。
なお、CPU92は、S136の処理が完了する場合や、S110の処理において否定判定する場合には、図7に示す一連の処理を一旦終了する。図7において、S110〜S119の処理が、制御プログラム94bの実行によって実現される処理であり、S120〜S136の処理が、学習プログラム94aの実行によって実現される処理である。
ちなみに、記憶装置96に記憶する関係規定データ96aは、図3に示したシステムにおいて、あらかじめ図7と同様の処理によって学習がある程度なされたデータとする。図3に示したシステムによる強化学習においては、記憶装置96への記憶後と比較して、「ε」を大きい値に設定したり、閾値Pthを大きい値に設定したりしてもよい。なお、閾値Pthを大きい値に設定する場合、S124の処理を、S118の処理よりも前に実行して、S124の処理において肯定判定する場合、学習を終了して大きな負の報酬を与えることが望ましい。
ここで、本実施形態の作用および効果について説明する。
図3に示すシステムにおいて、CPU152は、強化学習によって、行動価値関数Qを学習する。そして、行動価値関数Qの値が収束する場合、都度の状態において行動価値関数Qを最大化する行動を選択することによって、その状態において、燃料消費率、排気特性、およびドライバビリティの要求を満たすうえで適切な操作量が学習されたとする。そして、CPU152は、マップデータ96bの入力変数となる状態のそれぞれについて、行動価値関数Qを最大化する行動を選択し、状態と行動との組を記憶装置156に記憶する。次に、CPU152は、記憶装置156に記憶された状態と行動との組に基づき、マップデータ96bを生成する。これにより、状態に応じた適切な操作量を、熟練者による工数を過度に大きくすることなく設定することができる。
図3に示すシステムにおいて、CPU152は、強化学習によって、行動価値関数Qを学習する。そして、行動価値関数Qの値が収束する場合、都度の状態において行動価値関数Qを最大化する行動を選択することによって、その状態において、燃料消費率、排気特性、およびドライバビリティの要求を満たすうえで適切な操作量が学習されたとする。そして、CPU152は、マップデータ96bの入力変数となる状態のそれぞれについて、行動価値関数Qを最大化する行動を選択し、状態と行動との組を記憶装置156に記憶する。次に、CPU152は、記憶装置156に記憶された状態と行動との組に基づき、マップデータ96bを生成する。これにより、状態に応じた適切な操作量を、熟練者による工数を過度に大きくすることなく設定することができる。
特に、本実施形態では、状態として10個の互いに異なる量を用いた。そのため、たとえば10個の状態に対応する各操作量の値を熟練者が適合する場合には、次元数が大きいことに起因して適合工程が非常に煩雑なものとなる。これに対し、本実施形態では、強化学習を用いることにより、次元が大きい場合であっても、熟練者による工数の増加を抑制しつつも、操作量を設定することができる。
以上説明した本実施形態によれば、さらに以下に記載する作用効果を奏する。
(1)制御装置90が備える記憶装置96に、内燃機関10の操作部の操作量に関する行動価値関数Q等ではなく、マップデータ96bを記憶した。これにより、CPU92は、マップデータ96bを用いたマップ演算に基づき、内燃機関10の操作部の操作量を設定することから、行動価値関数Qのうち最大値となるものを選択する処理を実行する場合と比較して、演算負荷を軽減できる。
(1)制御装置90が備える記憶装置96に、内燃機関10の操作部の操作量に関する行動価値関数Q等ではなく、マップデータ96bを記憶した。これにより、CPU92は、マップデータ96bを用いたマップ演算に基づき、内燃機関10の操作部の操作量を設定することから、行動価値関数Qのうち最大値となるものを選択する処理を実行する場合と比較して、演算負荷を軽減できる。
(2)変速装置80の変速比の切り替え操作を、強化学習によって学習した。これにより、熟練者による工数を過度の大きくすることなく、変速装置80の状態に応じた操作量を設定することができる。
(3)制御装置90が備える記憶装置96に、変速装置80の操作量に関する行動価値関数Q等を関係規定データ96aとして記憶し、変速比の切り替え操作が実行される都度、行動価値関数Qや方策πを更新した。これにより、制御装置90によっては更新を行わない場合と比較して、学習頻度を増加させることができる。
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
図8に、本実施形態にかかる制御装置および駆動系を示す。なお、図8において、図1に示した処理に対応する処理については、便宜上、同一の符号を付している。
図8に示すように、本実施形態では、マップデータ96bを備えない。代わりに、本実施形態にかかる関係規定データ96aには、内燃機関10の状態と内燃機関10の操作部の操作量との関係を規定するデータも含まれている。このデータは、図4の処理によって生成された行動価値関数Q等を含む。
図8に示すように、本実施形態では、マップデータ96bを備えない。代わりに、本実施形態にかかる関係規定データ96aには、内燃機関10の状態と内燃機関10の操作部の操作量との関係を規定するデータも含まれている。このデータは、図4の処理によって生成された行動価値関数Q等を含む。
また、記憶装置96には、PM量出力写像データ96cと、トルク出力写像データ96dとが記憶されている。また、本実施形態において、制御装置90は、駆動系の音を感知するマイク134によって検出された音圧SPや、加速度センサ136によって検出される車両VC1の前後加速度Gxを参照する。
図9に、CPU92が、PM量出力写像データ96cと、トルク出力写像データ96dとを利用しつつ学習プログラム94aを実行することによって実現される処理を示す。
図9に示すPM量出力処理M10は、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを入力とし、PM量Qpmを出力する処理である。ここで、噴射量増量値Qfiは、燃焼室26内において燃焼対象とされる混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量(要求噴射量Qf)の過剰分である。ただし、噴射量増量値Qfiは、負の値をとりえ、その場合、混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量の不足量を示す。上記PM量出力写像データ96cは、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを入力とし、PM量Qpmを出力するニューラルネットワーク等の学習済みモデルに関するデータである。したがって、PM量出力処理M10は、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを学習済みモデルへの入力としてPM量Qpmを算出する処理である。なお、上記PM量出力写像データ96cは、たとえば図5の処理を実行する際、S60の処理によって取得されるPM量Qpmを教師データとして学習されたものとすればよい。
図9に示すPM量出力処理M10は、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを入力とし、PM量Qpmを出力する処理である。ここで、噴射量増量値Qfiは、燃焼室26内において燃焼対象とされる混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量(要求噴射量Qf)の過剰分である。ただし、噴射量増量値Qfiは、負の値をとりえ、その場合、混合気の空燃比を理論空燃比とするうえで必要な噴射量に対する実際の噴射量の不足量を示す。上記PM量出力写像データ96cは、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを入力とし、PM量Qpmを出力するニューラルネットワーク等の学習済みモデルに関するデータである。したがって、PM量出力処理M10は、回転速度NE、充填効率η、点火時期aig、噴射量増量値Qfi、吸気温Taおよび水温THWを学習済みモデルへの入力としてPM量Qpmを算出する処理である。なお、上記PM量出力写像データ96cは、たとえば図5の処理を実行する際、S60の処理によって取得されるPM量Qpmを教師データとして学習されたものとすればよい。
一方、トルク出力処理M12は、回転速度NE,充填効率η、点火時期aig、要求噴射量Qf、および吸気位相差DINを入力とし、機関トルクTrqegを算出する処理である。上記トルク出力写像データ96dは、回転速度NE,充填効率η、点火時期aig、要求噴射量Qf、および吸気位相差DINを入力とし、機関トルクTrqegを出力するニューラルネットワーク等の学習済みモデルに関するデータである。したがって、トルク出力処理M12は、回転速度NE,充填効率η、点火時期aig、要求噴射量Qf、および吸気位相差DINを学習済みモデルへの入力として機関トルクTrqegを算出する処理である。なお、上記トルク出力写像データ96dは、たとえば図5の処理を実行する際、S60の処理によって取得される機関トルクTrqegを教師データとして学習されたものとすればよい。
図10に、本実施形態における制御装置90による内燃機関10の操作部の操作に関する処理の手順を示す。図10に示す処理は、ROM94に記憶された制御プログラム94bおよび学習プログラム94aを、CPU92がたとえば内燃機関10の起動要求が生じることを条件に実行することにより実現される。なお、図10において、図4に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
図10に示す一連の処理において、CPU92は、まず図4に示したS42〜S48の処理と同様の処理を実行した後、報酬rtを算出する(S50a)。
図11に、S50aの処理の詳細を示す。なお、図11において、図5に示した処理に対応する処理については、便宜上同一のステップ番号を付与する。
図11に、S50aの処理の詳細を示す。なお、図11において、図5に示した処理に対応する処理については、便宜上同一のステップ番号を付与する。
図11に示す一連の処理において、CPU92は、まず、報酬rtの算出に必要な変数の値を取得する(S60a)。詳しくは、CPU92は、下流側検出値Afd、PM量Qpm、要求噴射量Qfの時系列データ、前後加速度Gxの時系列データ、音圧SP、機関トルクTrqeg(機関出力Peg)および機関トルク要求値Trqeg*(機関出力要求値Peg*)を取得する。なお、機関出力Pegは、機関トルクTrqegに回転速度NEを乗算して求めることができる。
次にCPU92は、上記条件(イ)および条件(オ)の論理積が真であるか否かを判定する(S60a)。そしてCPU92は、論理積が真であると判定する場合(S60a:YES)、S64の処理に移行する一方、論理積が偽であると判定する場合(S60b:NO)、S66の処理に移行する。なお、CPU92は、S64,S66の処理を完了する場合、S68〜S82の処理を実行して、図10のS50aの処理を完了する。
図10に戻り、CPU92は、S50aの処理を完了する場合、S52〜S54,S58の処理を実行し、S44の処理に戻る。ちなみに、S42〜S48の処理は、制御プログラム94bに規定されている実行指令の実行によって実現され、S50a,S52〜S54,S58の処理は、学習プログラム94aに規定されている実行指令の実行によって実現される。
なお、図10の処理における方策πは、図3の処理における方策πと比較して、グリーディ行動の選択確率が高いものとしてもよい。
以上説明した本実施形態によれば、制御装置90においても内燃機関10の操作部の操作量に関する行動価値関数Qを更新することから、更新しない場合と比較して、学習頻度を高めることができる。
以上説明した本実施形態によれば、制御装置90においても内燃機関10の操作部の操作量に関する行動価値関数Qを更新することから、更新しない場合と比較して、学習頻度を高めることができる。
<第3の実施形態>
以下、第3の実施形態について、第2の実施形態との相違点を中心に図面を参照しつつ説明する。
以下、第3の実施形態について、第2の実施形態との相違点を中心に図面を参照しつつ説明する。
本実施形態では、行動価値関数を用いることなく、方策πを直接更新対象とする。詳しくは、本実施形態では、方策πを、行動を定める各操作量の取りうる確率を定める多変量ガウス分布とする。ここで、多変量ガウス分布の平均値μ(1)は、スロットル開口度指令値Tor*の平均値を示し、平均値μ(2)は、要求噴射量Qfの平均値を示し、平均値μ(3)は、吸気位相差指令値DIN*の平均値を示し、平均値μ(4)は、点火時期aigの平均値を示し、平均値μ(5)は、噴き分け率Kpの平均値を示す。また、平均値μ(6)は、WGV開口度指令値Wgvorの平均値を示し、平均値μ(7)は、燃圧指令値Pf*の平均値を示し、平均値μ(8)は、EGR開口度指令値Egrvorの平均値を示し、平均値μ(9)は、パージ操作量Pgの平均値を示す。また、本実施形態では、多変量ガウス分布の共分散行列を対角行列とし、各平均値μ(i)に対応する分散σ(i)が各別の値となりうるものとする。
図12に、本実施形態にかかる内燃機関10の操作部の操作に関する処理の手順を示す。図12に示す処理は、ROM94に記憶された制御プログラム94bをCPU92がたとえば所定周期で繰り返し実行することにより実現される。なお、図12において、図3に示した処理に対応する処理については、便宜上同一のステップ番号を付している。
図12に示す一連の処理において、CPU92は、まず、図3の処理と同様、S42に処理を実行する。なお、図12においては、状態を「s」と記載しており、図3における「st」とは異なるものの、これは表記上の問題に過ぎない。
次にCPU92は、方策πを設定するための関数近似器の入力変数x(1)〜x(10)にS42の処理によって取得した状態sを代入する(S140)。詳しくは、CPU92は、入力変数x(1)に回転速度NEを代入し、入力変数x(2)に充填効率ηを代入し、入力変数x(3)に過給圧Paを代入し、入力変数x(4)に吸気温Taを代入し、入力変数x(5)に水温THWを代入する。またCPU92は、入力変数x(6)に油温Toilを代入し、入力変数x(7)に下流側検出値Afdを代入し、入力変数x(8)に上流側検出値Afuを代入し、入力変数x(9)にアクセル操作量ACCPを代入し、入力変数x(10)に車速SPDを代入する。
次に、CPU92は、「i=1〜9」のそれぞれについて、平均値μ(i)および分散σ(i)を算出する(S142)。本実施形態では、平均値μ(i)を、中間層の層数が「p−1」個であって且つ、各中間層の活性化関数h1〜hp−1がハイパボリックタンジェントであり、出力層の活性化関数hpがReLUであるニューラルネットワークによって構成されている。ここで、ReLUは、入力と「0」とのうちの小さくない方を出力する関数である。また、m=1,2,…,p−1とすると、第mの中間層の各ノードの値は、係数w(m)によって規定される線形写像の出力を活性化関数hmに入力することによって生成される。ここで、n1,n2,…,np−1は、それぞれ、第1、第2、…、第p−1中間層のノード数である。たとえば、第1の中間層の各ノードの値は、係数w(1)ji(j=0〜n1,i=0〜10)によって規定される線形写像に上記入力変数x(1)〜x(10)を入力した際の出力を活性化関数h1に入力することによって生成される。ちなみに、wm(1)j0等は、バイアスパラメータであり、入力変数x(0)は、「1」と定義している。
上記ニューラルネットワークは、活性化関数hpの出力を係数w(p)iq(i=1〜9,q=0〜np−1)によって規定される線形写像に入力した際の出力を平均値μ(i)とする。
また、本実施形態では、分散σ(i)を、係数wTik(i=1〜9,k=1〜10)によって規定される線形写像によって入力変数x(1)〜x(10)を線形変換した値のそれぞれを関数fに入力した際の関数fの値とする。本実施形態では、関数fとして、ReLUを例示する。
次にCPU92は、S142の処理によって算出された平均値μ(i)および分散σ(i)にて定義される方策πに基づき、行動a*を決定する(S144)。ここでは、平均値μ(i)を選択する確率が最も高く、且つ、平均値μ(i)を選択する確率は、分散σ(i)が小さい場合に大きい場合よりも大きくなる。
次に、CPU92は、S144の処理において選択した行動a*に基づき、内燃機関10の操作部を操作し(S146)、図12に示す一連の処理を一旦終了する。
図13に、制御装置90による方策πの更新処理の手順を示す。図13に示す処理は、ROM94に記憶された学習プログラム94aをCPU92がたとえば所定周期で繰り返し実行することによって実現される。
図13に、制御装置90による方策πの更新処理の手順を示す。図13に示す処理は、ROM94に記憶された学習プログラム94aをCPU92がたとえば所定周期で繰り返し実行することによって実現される。
図13に示す一連の処理において、CPU92は、まず、S50aの処理によって報酬rを算出する。次にCPU92は、収益Rに報酬rを加算する(S152)。そして、CPU92は、変数tが所定時間T−1に達したか否かを判定する(S154)。CPU92は、所定時間T−1に達していないと判定する場合(S154:NO)、変数tをインクリメントする(S156)。
これに対しCPU92は、所定時間T−1に達すると判定する場合(S154:YES)、収益Riに、収益Rを代入した後、収益Rを初期化し、さらに、変数tを初期化する(S158)。次にCPU92は、変数iが所定値Nに達したか否かを判定する(S160)。そして、CPU92は、所定値Nに達していないと判定する場合(S160:NO)、変数iをインクリメントする(S162)。
これに対し、CPU92は、所定値Nに達すると判定する場合(S160:YES)、方策勾配法によって、方策πを規定する変数w(1)〜w(p)や係数wTを更新する(S164)。図13には、方策πを規定する変数w(1)〜w(p)や係数wTを総括してパラメータθと記載している。
ここで、変数tが0〜T−1となるまでにおける、状態s、行動aおよび報酬rの、T個の組を、トラジェクトリhtとし、確率pθ(ht)を、パラメータθによって規定される方策πに従ってトラジェクトリhtとなる確率pθ(ht)とする。ここでは、「pθ(ht)・Rt」のトラジェクトリhtによる積分値は、収益R(ht)の期待値(期待収益J)であり、これを最大化するように、パラメータθを更新する。これは、パラメータθの各成分の更新量を、同成分によって上記期待収益Jを偏微分した値に比例した量とすることにより実現できる。
ここで、確率pθ(ht)は、状態s0,s1,…sT、行動a0,a1,…aTを用いると、pθ(ht)=p(s0)・p(s1|s0,a0)・π(a0|s0)・p(s2|s1,a1)・π(a1|s1)…p(sT|sT-1,aT-1)・π(aT-1|sT-1)
となる。ただし、初期確率p(s0)は、状態s0となる確率であり、遷移確率p(st+1|st,at)は、状態st、行動atのときに状態stから状態st+1に遷移する確率である。
となる。ただし、初期確率p(s0)は、状態s0となる確率であり、遷移確率p(st+1|st,at)は、状態st、行動atのときに状態stから状態st+1に遷移する確率である。
したがって、期待収益Jの偏微分は、下記の式(c1)となる。
これにより、期待収益Jのパラメータθの各成分による偏微分係数は、方策π(at|ht(i))の対数のパラメータθの該当する成分による偏微分係数の「t=0〜T−1」における和と収益Riとの積を、所定値N個の収益Riについて加算し、所定値Nで除算した値となる。
CPU92は、パラメータθの各成分による期待収益Jの偏微分係数に学習率αを乗算した値を、パラメータθのうちの該当する成分の更新量とする。
なお、S152〜S164の処理は、ROM94に記憶された学習プログラム94aのうち、状態s0,s1,…、行動a0,a1,…、および報酬rを入力とし、更新されたパラメータθを出力する更新写像の実行指令が実行されることによって実現される。
なお、S152〜S164の処理は、ROM94に記憶された学習プログラム94aのうち、状態s0,s1,…、行動a0,a1,…、および報酬rを入力とし、更新されたパラメータθを出力する更新写像の実行指令が実行されることによって実現される。
CPU92は、S164の処理が完了する場合、変数iおよび収益R1〜RNを初期化する(S166)。
なお、CPU92は、S156,S162,S166の処理が完了する場合、図13に示す一連の処理を一旦終了する。
なお、CPU92は、S156,S162,S166の処理が完了する場合、図13に示す一連の処理を一旦終了する。
ちなみに、強化学習を最初に実行するに際して、平均値μ(i)の初期値は、たとえば、次のようにして設定すればよい。すなわち、内燃機関10と同一の排気量および同一の操作部を備える内燃機関であって、すでに制御仕様が決定されている内燃機関を稼働させた際の状態sおよび行動aを訓練データとし、平均値μ(i)と訓練データとの差の絶対値を低減するように、平均値μ(i)に関するパラメータθを学習すればよい。また、分散σ(i)については、たとえば、平均値μ(i)に対してプラスマイナス10パーセント程度ずれた値による探索が十分になされるように設定すればよい。
このように、本実施形態では、関数近似器を用いることにより、状態や行動が連続変数であっても、これを容易に扱うことができる。
<第4の実施形態>
以下、第4の実施形態について、第3の実施形態との相違点を中心に図面を参照しつつ説明する。
<第4の実施形態>
以下、第4の実施形態について、第3の実施形態との相違点を中心に図面を参照しつつ説明する。
上記第3の実施形態では、車両VC1として、内燃機関10のみを車両VC1の推力生成装置とするものを例示したが、本実施形態では、推力生成装置として、内燃機関10に加えてモータジェネレータを備えるシリーズ・パラレルハイブリッド車を例示する。
図14に、本実施形態にかかる制御装置および駆動系を示す。なお、図14において、図8に示した部材に対応する部材については、便宜上、同一の符号を付している。
図示されるように、クランク軸32は、動力分割機構としての遊星歯車機構160のキャリア(図中、「C」と記載)に機械的に連結されている。遊星歯車機構160のサンギア(図中、「S」と記載)には、第1モータジェネレータ162の回転軸が機械的に連結されており、遊星歯車機構160のリングギア(図中、「R」と記載)には、第2モータジェネレータ166の回転軸が機械的に連結されている。第1モータジェネレータ162の端子には、バッテリ170の直流電圧がインバータ164によって交流電圧に変換されて印加される。第2モータジェネレータ166の端子には、バッテリ170の直流電圧がインバータ168によって交流電圧に変換されて印加される。
図示されるように、クランク軸32は、動力分割機構としての遊星歯車機構160のキャリア(図中、「C」と記載)に機械的に連結されている。遊星歯車機構160のサンギア(図中、「S」と記載)には、第1モータジェネレータ162の回転軸が機械的に連結されており、遊星歯車機構160のリングギア(図中、「R」と記載)には、第2モータジェネレータ166の回転軸が機械的に連結されている。第1モータジェネレータ162の端子には、バッテリ170の直流電圧がインバータ164によって交流電圧に変換されて印加される。第2モータジェネレータ166の端子には、バッテリ170の直流電圧がインバータ168によって交流電圧に変換されて印加される。
制御装置90は、第1モータジェネレータ162や第2モータジェネレータ166を制御対象とし、その制御量(トルク等)を制御すべく、インバータ164,168を操作する。制御装置90は、制御量の制御に際し、電流センサ180によって検出されるバッテリ170の充放電電流Iや、電圧センサ182によって検出されるバッテリ170の端子電圧Vb、温度センサ184によって検出されるバッテリ温度Tbattを参照する。また、制御装置90は、第1速度センサ186によって検出される第1モータジェネレータ162の回転軸の回転速度(第1MG速度ωmg1)や、第2速度センサ188によって検出される第2モータジェネレータ166の回転軸の回転速度(第2MG速度ωmg2)を参照する。
図15に、制御装置90による内燃機関10の操作部や、インバータ164,168の操作に関する処理の手順を示す。図15に示す処理は、ROM94に記憶された制御プログラム94bをCPU92がたとえば所定周期で繰り返し実行することにより実現される。なお、図15において、図12に示した処理に対応する処理については、便宜上同一のステップ番号を付与している。
図15に示す一連の処理において、CPU92は、まず状態sを取得する(S42a)。ここでは、S42の処理において取得した変数の値に加えて、バッテリ170の充電率SOCや、バッテリ温度Tbatt、第1MG速度ωmg1、第2MG速度ωmg2を取得する。なお、充電率SOCは、CPU92により、充放電電流Iが小さい時の端子電圧Vbに応じて、開放端電圧と充電率SOCとの関係に基づき算出され、また、都度の充放電電流Iに応じて更新される。
次にCPU92は、平均値μ(i)および分散σ(i)を定めるための関数近似器の入力変数xに、S42aによって取得した値を代入する(S140a)。ここで、入力変数x(1)〜x(10)については、S140の処理において代入したものと同様である。これに対し、CPU92は、入力変数x(11)に、充電率SOCを代入し、入力変数x(12)に、バッテリ温度Tbattを代入し、入力変数x(13)に、第1MG速度ωmg1を代入し、入力変数x(14)に、第2MG速度ωmg2を代入する。
そして、CPU92は、関数近似器に入力変数x(1)〜x(14)を代入することによって、平均値μ(1)〜μ(11)および分散σ(1)〜σ(11)を算出する(S142a)。ここで、平均値μ(10)は、第1モータジェネレータ162のトルクである第1MGトルクTmg1の平均値であり、平均値μ(11)は、第2モータジェネレータ166のトルクである第2MGトルクTmg2の平均値である。本実施形態にかかる関数近似器は、入力変数xの次元数がS142の処理において用いたものとは異なることを除いて、S142の処理で用いたものと同様である。
次にCPU92は、方策πに基づき、内燃機関10の操作部の9個の操作量と、第1MGトルクTmg1、第2MGトルクTmg2からなる行動a*を決定する(S144a)。そして、CPU92は、行動a*に基づき、内燃機関10の操作部や、インバータ164,168を操作する(S146)。ここで、CPU92は、第1モータジェネレータ162のトルクが第1MGトルクTmg1となるようにインバータ164を操作し、第2モータジェネレータ166のトルクが第2MGトルクTmg2となるようにインバータ168を操作する。なお、CPU92は、S146の処理が完了する場合、図15に示す一連の処理を一旦終了する。
CPU92は、S13の処理と同様の処理によって、パラメータθを更新する。ただし、CPU92は、報酬rの算出処理として、S50aの処理に代えて、図16に示す処理を実行する。
図16に、本実施形態にかかる報酬rの算出処理の詳細を示す。なお、図16において、図11に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
図16に示す一連の処理において、CPU92は、まず、報酬rの算出に用いる変数の値を取得する(S60b)。ここで、CPU92は、S60aの処理によって取得した変数の値のうち機関トルク要求値Trqeg*(機関出力要求値Peg*)以外のものに加えて、さらに、車両VC1の出力要求値Ptot*(駆動トルク要求値Trq*)や、出力Ptot(駆動トルクTrq)、充電率SOC、バッテリ温度Tbattを取得する。ここで、出力Ptotは、内燃機関10の出力と、第1モータジェネレータ162の出力と、第2モータジェネレータ166の出力との和である。ただし、遊星歯車機構160の性質から、それら3つの出力がいずれもゼロではない場合には、それら3つの出力には、互いに異なる符号を有するものが含まれる。また、たとえば、第1モータジェネレータ162の出力は、第1MGトルクTmg1に第1MG速度ωmg1を乗算することによって算出できる。一方、駆動トルクTrqは、機関トルクTrqegや、第1MGトルクTmg1、第2MGトルクTmg2を、それぞれ駆動輪88のトルクに換算することによって算出できる。
そしてCPU92は、S62a,S64〜S76の処理を実行し、その後、車両VC1の出力Ptotと出力要求値Ptot*との差の絶対値が所定量ΔPtot以下であるか否かを判定する(S78a)。なお、S60bの処理において、駆動トルクTrqおよび駆動トルク要求値Trq*を取得する場合には、S78aの処理として、駆動トルクTrqと駆動トルク要求値Trq*との差の絶対値が所定量ΔTrq以下であるか否かを判定すればよい。
CPU92は、S78aの処理において肯定判定する場合、S80の処理に移行する一方、S78aの処理において否定判定する場合、S82の処理に移行する。
CPU92は、S80,S82の処理が完了する場合、充電率SOCが下限値SOCL以上であって且つ上限値SOCH以下であるか否かを判定する(S170)。そして、CPU92は、充電率SOCが下限値SOCL未満であるか、上限値SOCHを上回るかする場合(S172:NO)、マイナスの報酬を与えるべく、報酬rから所定量Δを減算する(S172)。ここで、CPU92は、充電率SOCが下限値SOCLを下回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。また、CPU92は、充電率SOCが上限値SOCHを上回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。
CPU92は、S80,S82の処理が完了する場合、充電率SOCが下限値SOCL以上であって且つ上限値SOCH以下であるか否かを判定する(S170)。そして、CPU92は、充電率SOCが下限値SOCL未満であるか、上限値SOCHを上回るかする場合(S172:NO)、マイナスの報酬を与えるべく、報酬rから所定量Δを減算する(S172)。ここで、CPU92は、充電率SOCが下限値SOCLを下回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。また、CPU92は、充電率SOCが上限値SOCHを上回る量が大きい場合に小さい場合よりも所定量Δを大きい値とする。
CPU92は、S170の処理において肯定判定する場合や、S172の処理を完了する場合には、バッテリ温度Tbattが上限温度TbattH以下であるか否かを判定する(S174)。そしてCPU92は、上限値TbattHを超えると判定する場合(S174:NO)、報酬rに「−10」を加える(S176)。
なお、CPU92は、S174の処理が完了する場合や、S176の処理が完了する場合には、図16に示す一連の処理を一旦終了する。
<第5の実施形態>
以下、第5の実施形態について、第4の実施形態との相違点を中心に図面を参照しつつ説明する。
<第5の実施形態>
以下、第5の実施形態について、第4の実施形態との相違点を中心に図面を参照しつつ説明する。
本実施形態では、パラメータθの更新を、車両VC1の外で実行する。
図17に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図17において、図14に示した部材に対応する部材については、便宜上、同一の符号を付している。
図17に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図17において、図14に示した部材に対応する部材については、便宜上、同一の符号を付している。
図17に示す車両VC1内の制御装置90におけるROM94は、制御プログラム94bを記憶しているものの、学習プログラム94aを記憶していない。また、記憶装置96は、関係規定データ96aを記憶しているものの、PM量出力写像データ96cや、トルク出力写像データ96dについては記憶していない。また、制御装置90は、通信機97を備えている。通信機97は車両VC1の外部のネットワーク190を介してデータ解析センター200と通信するための機器である。
データ解析センター200は、複数の車両VC1,VC2,…から送信されるデータを解析する。データ解析センター200は、CPU202、ROM204、記憶装置206、周辺回路208および通信機207を備えており、それらがローカルネットワーク209によって通信可能とされるものである。ROM204には、学習プログラム94aが記憶されており、記憶装置206には、PM量出力写像データ96cや、トルク出力写像データ96dが記憶されている。
図18に、本実施形態にかかる強化学習の処理手順を示す。図18(a)に示す処理は、図17に示すROM94に記憶された制御プログラム94bをCPU92が実行することにより実現される。また、図18(b)に示す処理は、ROM204に記憶されている学習プログラム94aをCPU202が実行することにより実現される。なお、図18において図13および図15に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、強化学習の時系列に沿って、図18に示す処理を説明する。
図18(a)に示す一連の処理において、CPU92は、まず、状態を取得する(S42b)。ここで、本実施形態では、S42aの処理によって取得した変数の値と同様の変数の値を取得するものの、回転速度NEおよび充填効率ηについては、時系列データを取得する。すなわち、回転速度NEの時系列データとして、「NE(1),NE(2),…,NE(6)」の6個のサンプリング値からなる時系列データを取得し、充填効率ηの時系列データとして、「η(1),η(2),…,η(6)」の6個のサンプリング値からなる時系列データを取得する。
次に、CPU92は、S42bの処理によって取得した変数の値を、関数近似器の入力変数xに代入する(S140b)。すなわち、CPU92は、「m=1〜6」として、入力変数x(m)に、回転速度NE(m)を代入し、入力変数(6+m)に、充填効率η(m)を代入する。また、CPU92は、入力変数x(13)に過給圧Paを代入し、入力変数x(14)に吸気温Taを代入し、入力変数x(15)に水温THWを代入する。またCPU92は、入力変数x(16)に油温Toilを代入し、入力変数x(17)に下流側検出値Afdを代入し、入力変数x(18)に上流側検出値Afuを代入し、入力変数x(19)にアクセル操作量ACCPを代入し、入力変数x(20)に車速SPDを代入する。また、CPU92は、入力変数x(21)に、充電率SOCを代入し、入力変数x(22)に、バッテリ温度Tbattを代入し、入力変数x(23)に、第1MG速度ωmg1を代入し、入力変数x(24)に、第2MG速度ωmg2を代入する。
そして、CPU92は、平均値μ(1)〜μ(11)および分散σ(1)〜σ(11)を表現する関数近似器に、S140bの処理によって取得した入力変数x(1)〜x(24)を代入することによって、平均値μ(1)〜μ(11)および分散σ(1)〜σ(11)を算出する(S142b)。本実施形態にかかる関数近似器は、入力変数xの次元数がS142aの処理において用いたものとは異なることを除いて、S142の処理で用いたものと同様である。
次にCPU92は、方策πに基づき行動a*を決定し(S144b)、S146の処理を実行し、通信機97を操作して、データ解析センター200に、状態s、行動a*、および報酬rの算出に必要なデータを送信する(S180a)。ここで、報酬rの算出に必要なデータには、PM量Qpmを算出するための変数の値としての点火時期aigの時系列データや、要求噴射量Qfの時系列データ、機関トルクTrqegを算出するための変数の値としての吸気位相差DINが含まれる。また、報酬rの算出に必要なデータには、前後加速度Gxの時系列データや、音圧SPが含まれる。なお、図9に示した処理における入力変数のうちその他のものについては、状態sの値を用いる。
これに対し、図18(b)に示すように、CPU202は、送信されたデータを受信する(S190)。そして、CPU202は、受信したデータに基づき図16の処理によって報酬を算出し(S50b)、S152〜S166の処理を実行する。次に、CPU202は、後述のS194の処理が実行されてからのS164の処理による更新回数または図18(b)の処理が最初になされてからのS164の処理による更新回数が所定回数以上であるか否かを判定する(S192)。そしてCPU202は、所定回数以上であると判定する場合(S192:YES)、通信機207を操作して、更新したパラメータθを送信する(S194)。なお、CPU202は、S156,162,S194の処理が完了する場合や、S192の処理において否定判定する場合には、図18(b)の処理を一旦終了する。ちなみに、車両VC1,VC2,…等を出荷する際には、車両VC1,VC2,…内の記憶装置96が記憶するパラメータθを、記憶装置206に記憶しておく。
これに対し、図18(a)に示すように、CPU92は、パラメータθの更新データがあるか否かを判定し(S182)、あると判定する場合(S182:YES)、パラメータθに関する更新データを受信する(S184)。そしてCPU92は、受信したパラメータθによって、関係規定データ96aを更新する(S186)。なお、CPU92は、S186の処理が完了する場合や、S182の処理において否定判定する場合には、図18(a)に示す一連の処理を一旦終了する。
このように、本実施形態によれば、パラメータθの更新をデータ解析センター200にて行うことにより、制御装置90の演算負荷を軽減できる。
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
(4)データ解析センター200において、複数の車両VC1,VC2,…からのデータに基づきパラメータθを更新した。これにより、パラメータθの更新頻度を高めることができる。
(5)方策πの入力変数xに、内燃機関10の動作点を規定する変数である動作点変数としての回転速度NEおよび充填効率ηについての時系列データを含めた。従来、内燃機関10の状態と内燃機関10の操作部の操作量との関係を適合する際、内燃機関10の状態の次元数が多くなるほど、熟練者の工数が指数関数的に増加することに鑑み、内燃機関10の状態は、各種状態量毎に単一のサンプリング値が用いられていた。しかし、これは適合工数に鑑みたものに過ぎず、燃料消費率や、排気特性、ドライバビリティを最適化するうえで適切な設定とは限らない。これに対し、本実施形態では、時系列データを用いることにより、操作部の操作量の設定に関し、従来の適合によっては得られない解を得ることが可能となる。
<第6の実施形態>
以下、第6の実施形態について、第5の実施形態との相違点を中心に図面を参照しつつ説明する。
以下、第6の実施形態について、第5の実施形態との相違点を中心に図面を参照しつつ説明する。
本実施形態では、パラメータθの更新を、車両VC1の外部で実行することに加えて、行動a*を車両VC1の外部で求める。
図19に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図19において、図17に示した部材に対応する部材については、便宜上、同一の符号を付している。
図19に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図19において、図17に示した部材に対応する部材については、便宜上、同一の符号を付している。
図19に示すように、車両VC1において、ROM94には、制御サブプログラム94cが記憶されている。また、記憶装置96には、関係規定データ96aは記憶されていない。一方、データ解析センター200のROM204には、学習プログラム94aに加えて、制御メインプログラム204aが記憶されている。また、記憶装置206には、関係規定データ96aが記憶されている。
図20に、本実施形態にかかる強化学習の処理手順を示す。図20(a)に示す処理は、図19に示すROM94に記憶された制御サブプログラム94cをCPU92が実行することにより実現される。また、図20(b)に示す処理は、ROM204に記憶されている制御メインプログラム204aおよび学習プログラム94aをCPU202が実行することにより実現される。なお、図20において図18に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、強化学習の時系列に沿って、図20に示す処理を説明する。
図20(a)に示す一連の処理において、CPU92は、S42bの処理を完了すると、通信機97を操作してS42bの処理によって取得した状態sを送信する(S200)。
これに対し、図20(b)に示すように、CPU202は、状態sを受信する(S210)。そしてCPU202は、S140b,S142b,S144bの処理を実行し、通信機207を操作してS144bの処理によって決定された行動a*をS210の処理によって受信したデータの送信元に送信する(S212)。
これに対し、図20(a)に示すように、CPU92は、行動a*を受信する(S202)。そして、CPU92は、受信した行動a*に基づきS146の処理を実行する。そして、CPU92は、通信機97を操作して報酬rの算出に必要なデータを送信する(S180b)。なお、CPU92は、S180bの処理を完了する場合、図20(a)に示す一連の処理を一旦終了する。
これに対し、図20(b)に示すように、CPU202は、送信されたデータを受信し(S214)、S50b,S152〜S166の処理を実行し、図20(b)に示す一連の処理を一旦終了する。
このように、本実施形態によれば、行動a*を決定する処理をデータ解析センター200において実行することにより、車両VC1側の演算負荷を軽減できる。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
[1]実行装置と記憶装置とは、図1、図8および図14の場合、それぞれ、CPU92およびROM94と記憶装置96とに対応する。また、実行装置と記憶装置とは、図3の場合、それぞれ、CPU152およびROM154と記憶装置156とに対応する。また、実行装置と記憶装置とは、図17および図19の場合、それぞれ、CPU92,202およびROM94,204と記憶装置96,206とに対応する。更新写像は、図1の学習プログラム94aや図3の学習プログラム154aによって規定されるS52,S54の処理で用いられる写像、またはS132〜S136の処理で用いられる写像に対応する。また、更新写像は、図8や図14の学習プログラム94aによって規定されるS52,S54の処理で用いられる写像や、S132〜S136の処理で用いられる写像、S164の処理で用いられる写像に対応する。また、更新写像は、図17や図19の学習プログラム94aによって規定されるS164の処理に用いられる写像に対応する。操作処理は、S46の処理や、S116の処理、S146の処理に対応する。取得処理は、S42,S60の処理や、S112の処理、S42,S60aの処理、S42a,S60bの処理、S42b,S60bの処理に対応する。報酬算出処理は、S50の処理や、S120〜S126の処理、S50aの処理、図16の処理に対応する。更新処理は、S52,S54の処理や、S128〜S136の処理、S164の処理に対応する。
[2]S62〜S66の処理や、S62a,S64,S66の処理に対応する。
[3]S72〜S76の処理に対応する。
[4]図6の処理に対応し、特に、実行装置と記憶装置とは、それぞれ、CPU152およびROM154と記憶装置156とに対応する。なお、制御用写像データは、マップデータ96bに対応する。
[3]S72〜S76の処理に対応する。
[4]図6の処理に対応し、特に、実行装置と記憶装置とは、それぞれ、CPU152およびROM154と記憶装置156とに対応する。なお、制御用写像データは、マップデータ96bに対応する。
[5]実行装置と記憶装置とは、それぞれ、CPU92およびROM94と記憶装置96とに対応する。
[6]取得処理は、S60aの処理に対応し、報酬算出処理は、S78〜S82の処理に対応する。
[6]取得処理は、S60aの処理に対応し、報酬算出処理は、S78〜S82の処理に対応する。
[7]関係規定データは、図1および図8の関係規定データ96aに対応する。変速装置の状態は、入力回転速度ωin、出力回転速度ωout、油圧Poila、油圧Poilbに対応する。操作量は、ソレノイド電流指令値ia*,ib*に対応する。
[8]蓄電装置は、バッテリ170に対応し、蓄電装置の状態は、バッテリ温度Tbattおよび充電率SOCに対応する。
[9]取得処理は、S60bの処理に対応する。報酬算出処理は、S78a,S80,S82の処理に対応する。
[9]取得処理は、S60bの処理に対応する。報酬算出処理は、S78a,S80,S82の処理に対応する。
[10]選択処理は、S44の処理に対応する。
[11]関数近似器は、平均値μ(i)や分散σ(i)を出力する関数近似器に対応する。
[11]関数近似器は、平均値μ(i)や分散σ(i)を出力する関数近似器に対応する。
[12]第1実行装置は、CPU92およびROM94に対応し、第2実行装置は、CPU202およびROM204に対応する。
[13]車両側送信処理は、S200の処理に対応し、車両側受信処理は、S202の処理に対応する。外部側受信処理は、S210の処理に対応し、操作量算出処理は、図20のS140b,142b,S144bの処理に対応し、外部側送信処理は、S212の処理に対応する。
[13]車両側送信処理は、S200の処理に対応し、車両側受信処理は、S202の処理に対応する。外部側受信処理は、S210の処理に対応し、操作量算出処理は、図20のS140b,142b,S144bの処理に対応し、外部側送信処理は、S212の処理に対応する。
[14]車両用制御装置は、図17および図19の制御装置90に対応する。
[15]車両用学習装置は、データ解析センター200に対応する。
[16]実行装置と記憶装置とは、それぞれ、図1および図8におけるCPU92およびROM94と記憶装置96とに対応する。操作処理は、S116の処理に対応する。取得処理は、S112の処理に対応し、報酬算出処理は、S120〜S126の処理に対応する。更新処理は、S128〜S136の処理に対応する。
[15]車両用学習装置は、データ解析センター200に対応する。
[16]実行装置と記憶装置とは、それぞれ、図1および図8におけるCPU92およびROM94と記憶装置96とに対応する。操作処理は、S116の処理に対応する。取得処理は、S112の処理に対応し、報酬算出処理は、S120〜S126の処理に対応する。更新処理は、S128〜S136の処理に対応する。
[17]実行装置と記憶装置とは、図14の場合、それぞれ、CPU92およびROM94と記憶装置96とに対応する。また、実行装置と記憶装置とは、図17および図19の場合、それぞれ、CPU92,202およびROM94,204と記憶装置96,206とに対応する。操作処理は、S146の処理に対応する。取得処理は、S42aの処理や、S42bの処理に対応する。報酬算出処理は、図16の処理に対応する。
[18]S68,S70の処理に対応する。
[19]S170,S172の処理に対応する。蓄電装置は、バッテリ170に対応する。
[19]S170,S172の処理に対応する。蓄電装置は、バッテリ170に対応する。
[20]S174,S176の処理に対応する。蓄電装置は、バッテリ170に対応する。
[21]実行装置と記憶装置とは、それぞれ、図8のCPU92およびROM94と記憶装置96とに対応する。取得処理は、図10のS42の処理に対応する。選択処理は、図10のS44の処理に対応する。すなわち、S44の処理においては、毎回必ずグリーディー行動が選択されるわけではないが、探索を行わない場合にはグリーディー行動を選択している。操作処理は、図10のS46の処理に対応する。
[21]実行装置と記憶装置とは、それぞれ、図8のCPU92およびROM94と記憶装置96とに対応する。取得処理は、図10のS42の処理に対応する。選択処理は、図10のS44の処理に対応する。すなわち、S44の処理においては、毎回必ずグリーディー行動が選択されるわけではないが、探索を行わない場合にはグリーディー行動を選択している。操作処理は、図10のS46の処理に対応する。
[22]実行装置と記憶装置とは、それぞれ、図1および図8のCPU92およびROM94と記憶装置96とに対応する。取得処理は、S112の処理に対応する。選択処理は、S114の処理に対応する。すなわち、S114の処理においては、毎回必ずグリーディー行動が選択されるわけではないが、探索を行わない場合にはグリーディー行動を選択する。操作処理は、S116の処理に対応する。
[23,24]実行装置と記憶装置とは、それぞれ、図17のCPU92およびROM94と記憶装置96とに対応する。取得処理は、S42bの処理に対応する。操作処理は、S146の処理に対応する。所定の状態は、回転速度NEおよび充填効率ηに対応する。
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・「関係規定データについて」
1.行動価値関数Qについて
上記実施形態では、行動価値関数Qを、テーブル形式の関数としたが、これに限らない。たとえば、関数近似器を用いてもよい。
1.行動価値関数Qについて
上記実施形態では、行動価値関数Qを、テーブル形式の関数としたが、これに限らない。たとえば、関数近似器を用いてもよい。
2.操作量を指示する方策について
上記実施形態では、方策勾配法等によって更新される方策として、多変量ガウス分布を用い、その共分散行列を、行動の次元毎に分散が独立に設定可能な対角行列としたが、これに限らない。たとえば、行動の各次元の分散を共通の値としてもよい。またたとえば、共分散行列が対角行列であることも必須ではない。また、共分散行列の成分を定める関数近似器を線形写像と線形写像の出力を入力とする関数fとによって構成することも必須ではない。たとえばニューラルネットワークによって構成してもよい。さらに、多変量ガウス分布の平均を定める関数近似器を、ニューラルネットワークとすることも必須ではない。たとえば、入力変数を入力とする複数の基底関数の線形結合であってもよい。なお、平均値μ(i)や分散σ(i)等の関数近似器の初期値の設定手法としては、内燃機関10と同一排気量且つ同一の操作部を備えた適合済みの内燃機関の制御を利用するものに限らない。
上記実施形態では、方策勾配法等によって更新される方策として、多変量ガウス分布を用い、その共分散行列を、行動の次元毎に分散が独立に設定可能な対角行列としたが、これに限らない。たとえば、行動の各次元の分散を共通の値としてもよい。またたとえば、共分散行列が対角行列であることも必須ではない。また、共分散行列の成分を定める関数近似器を線形写像と線形写像の出力を入力とする関数fとによって構成することも必須ではない。たとえばニューラルネットワークによって構成してもよい。さらに、多変量ガウス分布の平均を定める関数近似器を、ニューラルネットワークとすることも必須ではない。たとえば、入力変数を入力とする複数の基底関数の線形結合であってもよい。なお、平均値μ(i)や分散σ(i)等の関数近似器の初期値の設定手法としては、内燃機関10と同一排気量且つ同一の操作部を備えた適合済みの内燃機関の制御を利用するものに限らない。
3.状態について
たとえば、触媒38にPMを捕集するフィルタを備え、そのフィルタに堆積されたPM量(PM堆積量)を状態に含めてもよい。これにより、PM堆積量が多くなる場合にフィルタの再生処理を実行する行動に対して高い報酬を付与することにより、PM堆積量が過度に多くならない制御を強化学習によって学習することが容易となる。なお、PM堆積量は、たとえば内燃機関10の運転状態等に基づき推定すればよい。
たとえば、触媒38にPMを捕集するフィルタを備え、そのフィルタに堆積されたPM量(PM堆積量)を状態に含めてもよい。これにより、PM堆積量が多くなる場合にフィルタの再生処理を実行する行動に対して高い報酬を付与することにより、PM堆積量が過度に多くならない制御を強化学習によって学習することが容易となる。なお、PM堆積量は、たとえば内燃機関10の運転状態等に基づき推定すればよい。
またたとえば、触媒38の硫黄被毒量を状態に含めてもよい。これにより、硫黄被毒量が多くなる場合に触媒38の再生処理を実行する行動に対して高い報酬を付与することにより、硫黄被毒量が過度に多くならない制御を強化学習によって学習することが容易となる。なお、硫黄被毒量は、たとえば要求噴射量Qf等に基づき推定すればよい。
操作部の操作量をフィードバック制御する場合、同フィードバック制御における制御量を状態に加えてもよい。すなわち、たとえば上記実施形態では、スロットル開口度指令値Tor*が行動に含まれているが、スロットル開口度Torがスロットル開口度指令値Tor*にフィードバック制御されることから、状態としてスロットルバルブ16の開口度(スロットルTor)を含めてもよい。これにより、制御量の指令値への制御の仕方を強化学習による学習対象とすることができる。
たとえば車両VC1が自動操舵を行うものである場合、状態に、車両の推力生成装置に対する出力を示す変数である出力変数として、機関トルク要求値Trqeg*や機関出力要求値Peg*、出力要求値Ptot*、駆動トルク要求値Trq*を含めることが望ましい。もっとも、上記実施形態において、出力変数として、アクセル操作量ACCPに代えて、機関トルク要求値Trqeg*や機関出力要求値Peg*、出力要求値Ptot*、駆動トルク要求値Trq*を状態に含めてもよい。
2−1.時系列データで表現される状態について
図18および図20の処理では、回転速度NEおよび充填効率ηについて、時系列的に前後する6個のデータを状態に含めたが、時系列データを構成するサンプリング数としては、6個に限らず、2個以上であればよく、また3個以上であってもよい。この際、時系列データを構成する回転速度NEのサンプリング数と時系列データを構成する充填効率ηのサンプリング数とが等しいことも必須ではない。
図18および図20の処理では、回転速度NEおよび充填効率ηについて、時系列的に前後する6個のデータを状態に含めたが、時系列データを構成するサンプリング数としては、6個に限らず、2個以上であればよく、また3個以上であってもよい。この際、時系列データを構成する回転速度NEのサンプリング数と時系列データを構成する充填効率ηのサンプリング数とが等しいことも必須ではない。
図18および図20の処理では、回転速度NEの時系列データと、充填効率ηの時系列データとを用いたが、それら2つの時系列データに関しては、それらの1つのみの時系列データを用いてもよい。
強化学習における状態とする時系列データとしては、内燃機関10の動作点を示す変数である動作点変数に限らない。たとえばアクセル操作量ACCP等であってもよく、またたとえば吸気位相差DIN等であってもよく、またたとえば第1MG速度ωmg1や第2MG速度ωmg2等であってもよい。なお、時系列データとしては、関数近似器によって表現された方策πの入力とするものに限らず、たとえば関数近似器によって表現された行動価値関数Qの入力としてもよい。
4.行動について
行動としては、上記実施形態において例示したものに限らない。たとえば、噴射時期や、1燃焼サイクルにおける噴射回数、1燃焼サイクルの点火回数を行動としての操作量としてもよい。また、たとえば、キャニスタ66に捕集されている燃料蒸気を吸気通路12に流出させるタイミングであってもよい。またたとえば、内燃機関10がタンブルコントロールバルブを備えている場合には、その操作量を行動としてもよい。またたとえば、内燃機関10がスワールコントロールバルブを備えている場合には、その操作量を行動としてもよい。また、たとえば制御装置90が内燃機関10のアイドリングストップ制御を実行する場合、アイドリングストップのタイミングを行動としてもよい。また、内燃機関10の吸気通路12に過給機14を迂回する通路と、その通路の流路断面積を調整するエアバイパスバルブとを備える場合、エアバイパスバルブの開口度を操作量としてもよい。また、内燃機関10が、吸気通路を変更する構造を有する場合、その操作量を行動としてもよい。また、内燃機関10が各気筒に一対の吸気バルブ20を備え、そのうちの一方を選択的に閉弁状態に保つことができる場合には、選択的に閉弁状態とするか否かを行動としてもよい。その場合、操作部は、吸気バルブ20となる。また、たとえば制御装置90が特定の気筒における混合気の燃焼制御を停止する制御を実行する場合、その制御の実行の有無を行動としてもよい。その場合、対応する操作部は、ポート噴射弁18や、筒内噴射弁28、点火装置30となる。また、内燃機関10が圧縮比を可変とするものである場合、圧縮比の操作を行動としてもよい。また、内燃機関の冷却水の循環経路の流路断面積を調整する流量制御弁の開口度を行動としてもよい。
行動としては、上記実施形態において例示したものに限らない。たとえば、噴射時期や、1燃焼サイクルにおける噴射回数、1燃焼サイクルの点火回数を行動としての操作量としてもよい。また、たとえば、キャニスタ66に捕集されている燃料蒸気を吸気通路12に流出させるタイミングであってもよい。またたとえば、内燃機関10がタンブルコントロールバルブを備えている場合には、その操作量を行動としてもよい。またたとえば、内燃機関10がスワールコントロールバルブを備えている場合には、その操作量を行動としてもよい。また、たとえば制御装置90が内燃機関10のアイドリングストップ制御を実行する場合、アイドリングストップのタイミングを行動としてもよい。また、内燃機関10の吸気通路12に過給機14を迂回する通路と、その通路の流路断面積を調整するエアバイパスバルブとを備える場合、エアバイパスバルブの開口度を操作量としてもよい。また、内燃機関10が、吸気通路を変更する構造を有する場合、その操作量を行動としてもよい。また、内燃機関10が各気筒に一対の吸気バルブ20を備え、そのうちの一方を選択的に閉弁状態に保つことができる場合には、選択的に閉弁状態とするか否かを行動としてもよい。その場合、操作部は、吸気バルブ20となる。また、たとえば制御装置90が特定の気筒における混合気の燃焼制御を停止する制御を実行する場合、その制御の実行の有無を行動としてもよい。その場合、対応する操作部は、ポート噴射弁18や、筒内噴射弁28、点火装置30となる。また、内燃機関10が圧縮比を可変とするものである場合、圧縮比の操作を行動としてもよい。また、内燃機関の冷却水の循環経路の流路断面積を調整する流量制御弁の開口度を行動としてもよい。
なお、行動が多次元であることは必須ではない。たとえば、既存の内燃機関に所定の操作部を新たに追加する場合、その操作部の操作量と状態との関係のみ、強化学習によって学習してもよい。この場合、状態に他の操作部の操作量を含めてもよい。
また、変速装置80の油圧を行動としての操作量としてもよい。また、変速装置80の制御量(変速比)を行動としてもよい。
なお、行動としては、内燃機関10の操作部の操作量や、変速装置80の操作量や制御量、第1モータジェネレータ162や第2モータジェネレータ166の制御量に限らない。たとえば、トルクコンバータ70のロックアップクラッチ72の締結の有無であってもよい。またたとえば、スロットル開口度Torをスロットル開口度指令値Tor*にフィードバック制御するゲインを加えてもよい。
なお、行動としては、内燃機関10の操作部の操作量や、変速装置80の操作量や制御量、第1モータジェネレータ162や第2モータジェネレータ166の制御量に限らない。たとえば、トルクコンバータ70のロックアップクラッチ72の締結の有無であってもよい。またたとえば、スロットル開口度Torをスロットル開口度指令値Tor*にフィードバック制御するゲインを加えてもよい。
・「更新写像について」
1.行動価値関数Qの更新について
1−1.内燃機関10の操作量を行動とする行動価値関数Qの更新について
S52,S54の処理においては、方策オフ型TD法を例示したが、これに限らない。たとえばSARSA法のように方策オン型TD法としてもよい。また、方策オン型の学習として適格度トレース法を用いてもよい。
1.行動価値関数Qの更新について
1−1.内燃機関10の操作量を行動とする行動価値関数Qの更新について
S52,S54の処理においては、方策オフ型TD法を例示したが、これに限らない。たとえばSARSA法のように方策オン型TD法としてもよい。また、方策オン型の学習として適格度トレース法を用いてもよい。
もっとも、これに限らず、たとえばモンテカルロ法によるものとしてもよい。
1−2.変速装置80の操作量を行動とする行動価値関数Qの更新について
図7においては、変速装置80に関する行動価値関数Qの更新写像として、εソフト方策オン型モンテカルロ法によるものを例示したが、これに限らない。たとえば、方策オフ型モンテカルロ法によるものであってもよい。もっとも、モンテカルロ法にも限らず、たとえばS52,S54の処理のように方策オフ型TD法を用いたり、またたとえばSARSA法のように方策オン型TD法を用いたり、またたとえば、方策オン型の学習として適格度トレース法を用いたりしてもよい。
1−2.変速装置80の操作量を行動とする行動価値関数Qの更新について
図7においては、変速装置80に関する行動価値関数Qの更新写像として、εソフト方策オン型モンテカルロ法によるものを例示したが、これに限らない。たとえば、方策オフ型モンテカルロ法によるものであってもよい。もっとも、モンテカルロ法にも限らず、たとえばS52,S54の処理のように方策オフ型TD法を用いたり、またたとえばSARSA法のように方策オン型TD法を用いたり、またたとえば、方策オン型の学習として適格度トレース法を用いたりしてもよい。
1−3.そのほか
行動価値関数Qとして、内燃機関10の操作量を行動とするものと変速装置80の操作量を行動とするものとを各別の価値関数とすることは必須ではない。また、内燃機関10の操作量を行動とするものや、変速装置80の操作量を行動とするものに限らず、たとえば第1モータジェネレータ162や第2モータジェネレータ166の制御量を行動とするものであってもよい。また、たとえば、内燃機関10の操作量、第1モータジェネレータ162および第2モータジェネレータ166の制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。またたとえば、内燃機関10の操作量および変速装置80の制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。またたとえば、内燃機関10の操作量、ならびに変速装置80の操作量および制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。
行動価値関数Qとして、内燃機関10の操作量を行動とするものと変速装置80の操作量を行動とするものとを各別の価値関数とすることは必須ではない。また、内燃機関10の操作量を行動とするものや、変速装置80の操作量を行動とするものに限らず、たとえば第1モータジェネレータ162や第2モータジェネレータ166の制御量を行動とするものであってもよい。また、たとえば、内燃機関10の操作量、第1モータジェネレータ162および第2モータジェネレータ166の制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。またたとえば、内燃機関10の操作量および変速装置80の制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。またたとえば、内燃機関10の操作量、ならびに変速装置80の操作量および制御量を行動とするそれらに共通の行動価値関数Qを用いてもよい。
なお、「関係規定データについて」の「1.行動価値関数について」の欄に記載したように、行動価値関数Qの関数近似器を用いる場合には、更新写像は、たとえば、行動価値関数Qを規定するパラメータによる行動価値関数Qの偏微分に基づき同パラメータの更新量を出力する写像を含めて構成すればよい。
2.方策を規定する関数近似器のパラメータの更新について
S164の処理においては、収益Riを、時間Tの間の単純平均としたが、これに限らない。たとえば、所定の割引率γによって過去の報酬rほど大きく割引された値を用いた和としてもよい。これは、指数移動平均処理に相当する。
S164の処理においては、収益Riを、時間Tの間の単純平均としたが、これに限らない。たとえば、所定の割引率γによって過去の報酬rほど大きく割引された値を用いた和としてもよい。これは、指数移動平均処理に相当する。
S164の処理において、収益Riに代えて、収益Riから、パラメータθに依存しない適宜のベースライン関数を引いたものとしてもよい。具体的には、ベースライン関数は、たとえば、期待収益Jのパラメータによる偏微分の分散を最小化する関数とすることが望ましい。
関数近似器によって近似される方策によって指定される行動としては、内燃機関10の操作量や、第1モータジェネレータ162および第2モータジェネレータ166の制御量に限らない。たとえば変速装置80の操作量や制御量であってもよい。具体的には、変速装置80の操作量のみを指定する方策であってもよく、またたとえば、内燃機関10の操作量および変速装置80の操作量を指定する方策であってもよく、またたとえば、内燃機関10の操作量、変速装置80の操作量および制御量を指定する方策であってもよい。またたとえば、下記「車両について」の欄に記載したパラレルハイブリッド車が変速装置を備える場合、モータジェネレータの制御量と変速装置の操作量とを指定する方策や、モータジェネレータの制御量と変速装置の制御量とを指定する方策、モータジェネレータの制御量と変速装置の操作量および制御量を指定する方策であってもよい。またたとえば、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の操作量とを指定する方策や、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の制御量とを指定する方策、内燃機関の操作部の操作量とモータジェネレータの制御量と変速装置の操作量および制御量を指定する方策であってもよい。
3.そのほか
図4、図7および図10においては、行動価値関数Qを用いる場合、方策πについては、行動価値関数Qの更新の結果として更新される例を示したが、これに限らない。たとえば、アクター・クリティック法のように、行動価値関数Qおよび方策πをそれぞれ更新してもよい。また、アクター・クリティック法においては、これに限らず、たとえば行動価値関数Qに代えて価値関数Vを更新対象としてもよい。
図4、図7および図10においては、行動価値関数Qを用いる場合、方策πについては、行動価値関数Qの更新の結果として更新される例を示したが、これに限らない。たとえば、アクター・クリティック法のように、行動価値関数Qおよび方策πをそれぞれ更新してもよい。また、アクター・クリティック法においては、これに限らず、たとえば行動価値関数Qに代えて価値関数Vを更新対象としてもよい。
なお、学習率αは、固定値に限らず、学習の進行度合いに応じてあらかじめ定められた規則に応じて変更してもよい。また、方策πを定める「ε」についても、固定値に限らず、学習の進行度合いに応じてあらかじめ定められた規則に応じて変更してもよい。
・「報酬算出処理について」
1.燃料消費率に関する報酬について
上記実施形態では、積算値InQfを入力とし、その大小に応じて報酬を算出したが、これに限らない。たとえば、排気通路36への二酸化炭素の排出量が小さい場合に大きい場合よりも大きい報酬を与えてもよい。またたとえば、積算値InQfや二酸化炭素の排出量が同一であっても、吸入空気量Gaが大きい場合には小さい場合よりも大きい報酬を与えるようにしてもよい。
1.燃料消費率に関する報酬について
上記実施形態では、積算値InQfを入力とし、その大小に応じて報酬を算出したが、これに限らない。たとえば、排気通路36への二酸化炭素の排出量が小さい場合に大きい場合よりも大きい報酬を与えてもよい。またたとえば、積算値InQfや二酸化炭素の排出量が同一であっても、吸入空気量Gaが大きい場合には小さい場合よりも大きい報酬を与えるようにしてもよい。
2.排気特性に関する報酬について
2−1.出荷前の学習について
S62〜S66の処理においては、上記条件(ア)〜条件(カ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(ア)〜条件(カ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
2−1.出荷前の学習について
S62〜S66の処理においては、上記条件(ア)〜条件(カ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(ア)〜条件(カ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S62〜S66の処理において、条件(ア)〜条件(カ)を全て用いることも必須ではない。たとえば、条件(ア)〜条件(カ)の6個の条件に関しては、それらのうちの1個から5個のみに基づき報酬を与えてもよい。
2−2.出荷後の学習について
S62a,S64,S66の処理においては、条件(イ)および条件(オ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(イ)および条件(オ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S62a,S64,S66の処理においては、条件(イ)および条件(オ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(イ)および条件(オ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S62a,S64,S66の処理において、条件(イ)および条件(オ)の双方を用いることも必須ではない。
また、条件(イ)および条件(オ)の2つのうちの少なくとも1つのみを用いることも必須ではない。たとえば、上記条件(ア)、条件(ウ)、条件(エ)、および条件(カ)の4つの条件のうちのいくつかに基づき報酬を算出してもよい。ここで、条件(ウ)や条件(エ)に基づき報酬を算出する場合、車両VC1に専用のセンサを備えるか、または、NOx量Qnoxや、未燃燃料量Qchを出力する写像を搭載すればよい。なお、写像については、たとえば、PM量出力写像データ96cの要領で出荷前の学習時に学習して生成すればよい。
また、条件(イ)および条件(オ)の2つのうちの少なくとも1つのみを用いることも必須ではない。たとえば、上記条件(ア)、条件(ウ)、条件(エ)、および条件(カ)の4つの条件のうちのいくつかに基づき報酬を算出してもよい。ここで、条件(ウ)や条件(エ)に基づき報酬を算出する場合、車両VC1に専用のセンサを備えるか、または、NOx量Qnoxや、未燃燃料量Qchを出力する写像を搭載すればよい。なお、写像については、たとえば、PM量出力写像データ96cの要領で出荷前の学習時に学習して生成すればよい。
2−3.そのほか
排気特性に関する報酬としては、上記のものに限らない。たとえば、排気温Texを報酬に含めてもよい。この場合、たとえば、「関係規定データについて」の「3.状態について」の欄に記載したように、状態にPM堆積量や硫黄被毒量を含める場合、それらの量が多いときに、排気温が触媒38の再生が可能な温度である場合に、大きい報酬を与えればよい。
排気特性に関する報酬としては、上記のものに限らない。たとえば、排気温Texを報酬に含めてもよい。この場合、たとえば、「関係規定データについて」の「3.状態について」の欄に記載したように、状態にPM堆積量や硫黄被毒量を含める場合、それらの量が多いときに、排気温が触媒38の再生が可能な温度である場合に、大きい報酬を与えればよい。
また、たとえば、触媒38の温度が所定範囲内にある場合に、所定範囲から外れる場合よりも大きい報酬を与えてもよい。ここで、所定範囲は、たとえば、排気の浄化率が高くなる温度範囲とすればよい。もっとも、「関係規定データについて」の「3.状態について」の欄に記載したように、状態にPM堆積量や硫黄被毒量を含める場合、それらの量が多いときに、排気温が触媒38の再生が可能な温度である場合に、大きい報酬を与えてもよい。
また、たとえば強化学習によらずに回転速度NEおよび充填効率η等を入力変数としEGR開口度指令値Egrvorを出力変数とするマップデータを適合する場合、EGR開口度指令値Egrvorの設定において想定した過給圧と過給圧Paとの差の絶対値が所定値以下の場合に、所定値を超える場合よりも大きい報酬を与えてもよい。これは、過給圧Paが想定した値からずれる場合、EGR量の制御が想定からずれることに鑑みたものである。また、過給圧に代えて、過給機14の実際のタービン回転速度とEGR開口度指令値Egrvorの設定において想定したタービン回転速度との差を用いてもよい。
3.ドライバビリティに関する報酬について
S72〜S76の処理においては、上記条件(サ)〜条件(ス)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(サ)〜条件(ス)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S72〜S76の処理においては、上記条件(サ)〜条件(ス)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(サ)〜条件(ス)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S72〜S76の処理において、条件(サ)〜条件(ス)を全て用いることも必須ではない。たとえば、条件(サ)〜条件(ス)の3個の条件に関しては、それらのうちの1個または2個のみに基づき報酬を与えてもよい。
ドライバビリティに関する報酬としては、上記に限らない。たとえば、クランク軸32や、出力軸84等の駆動系の各種回転軸の回転変動量の大きさが所定値以下である場合に所定値を超える場合よりも大きい報酬を与えてもよい。
ここで回転変動量は、車両の振動が所定範囲にある場合にない場合よりも大きい報酬を与える処理ともなりうる。すなわち、ドライバビリティに関する報酬を与える処理は、次の3つの少なくとも1つであってよい。すなわち、加速度や加速度の変化速度等の車両の挙動が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理と、騒音が所定範囲内にある場合にない場合よりも大きい報酬を与える処理と、車両の振動が所定範囲内にある場合にない場合よりも大きい報酬を与える処理との3つである。
4.内燃機関全般
水温THWが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。また、油温Toilが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。
水温THWが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。また、油温Toilが所定温度範囲内である場合に、所定温度範囲から外れる場合よりも大きい報酬を与えてもよい。
燃料消費率に関する報酬、排気特性に関する報酬、ドライバビリティに関する報酬、および機関トルク要求値Trqeg*(機関出力要求値Peg*)に関する報酬を全て与えるものに限らない。たとえばそれら4つの報酬については、そのうちの1つのみを与えたり、2つのみを与えたり、3つのみを与えたりしてもよい。
なお、機関トルク要求値Trqeg*(機関出力要求値Peg*)に関する報酬を与えない場合には、たとえばアクセル操作量ACCPに基づき、強化学習によらずにスロットル開口度指令値Tor*を設定すればよい。
ちなみに、燃料消費率に関する報酬を与える場合には、要求噴射量Qf、点火時期aig、噴き分け率Kp、1燃焼サイクル当たりの噴射回数、吸気位相差指令値DIN*、WGV開口度指令値Wgvor、EGR開口度指令値Egrvorのうちの少なくとも1つを行動に含めることが望ましい。
また、排気特性に関する報酬を与える場合には、次に例示するもののうちの少なくとも1つを行動に含めることが望ましい。すなわち、要求噴射量Qf、点火時期aig、噴き分け率Kp、1燃焼サイクル当たりの噴射回数、吸気位相差指令値DIN*、WGV開口度指令値Wgvor、EGR開口度指令値Egrvor、燃圧指令値Pf*、パージ操作量Pg、1燃焼サイクル当たりの点火回数のうちの少なくとも1つを含めることが望ましい。もっとも、それらに限らず、上記「関係規定データについて」の「4.行動について」の欄に記載した、キャニスタ66に捕集されている燃料蒸気を吸気通路12に流出させるタイミングや、タンブルコントロールバルブの操作量、スワールコントロールバルブの操作量、アイドリングストップのタイミングのうちの少なくとも1つを含めてもよい。またたとえば、エアバイパスバルブの開口度や、内燃機関10が吸気通路を変更する構造を有する場合のその操作量、内燃機関10が各気筒に一対の吸気バルブ20を備えて且つそのうちの一方を選択的に閉弁状態に保つことができる場合の選択的に閉弁状態とするか否かを行動に含めてもよい。またたとえば、特定の気筒における混合気の燃焼制御を停止する制御を実行する場合、その制御の実行の有無や、内燃機関10が圧縮比を可変とするものである場合の圧縮比の操作を行動に含めてもよい。また、たとえば流量制御弁の開口度を行動に含めてもよい。
また、ドライバビリティに関する報酬を与える場合には、スロットル開口度指令値Tor*と、WGV開口度指令値Wgvorと、油圧Poila,Poilb,…との少なくとも1つを行動に含めることが望ましい。
5.変速装置の操作に伴う報酬について
S120,S122の処理においては、上記条件(タ)〜条件(ツ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(タ)〜条件(ツ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S120,S122の処理においては、上記条件(タ)〜条件(ツ)の論理積が真であるか否かに応じて報酬を定めたが、これに限らない。たとえば、条件(タ)〜条件(ツ)のそれぞれについて、条件が成立する場合に成立しない場合よりも大きい報酬を与えてもよい。
S120,S122の処理において、条件(タ)〜条件(ツ)を全て用いることも必須ではない。たとえば、条件(タ)〜条件(ツ)の3個の条件に関しては、それらのうちの1個または2個のみに基づき報酬を与えてもよい。
なお、上記条件(チ)および条件(ツ)に基づく報酬については、変速がなされている期間において逐次与えるようにしてもよい。
なお、変速装置の操作に伴う報酬としては、上述のようにドライバビリティの観点に基づく報酬に限らない。たとえば、「関係規定データについて」の「4.行動について」の欄に記載したように、行動に変速装置80の制御量を含める場合などには、燃料消費率に関する報酬を用いてもよい。
なお、変速装置の操作に伴う報酬としては、上述のようにドライバビリティの観点に基づく報酬に限らない。たとえば、「関係規定データについて」の「4.行動について」の欄に記載したように、行動に変速装置80の制御量を含める場合などには、燃料消費率に関する報酬を用いてもよい。
5.ハイブリッド車両に関する報酬について
上記実施形態では、バッテリ温度Tbattが所定範囲以内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を実行する際、所定範囲の下限値を定めなかったが、これに限らない。
上記実施形態では、バッテリ温度Tbattが所定範囲以内にある場合に所定範囲から外れる場合よりも大きい報酬を与える処理を実行する際、所定範囲の下限値を定めなかったが、これに限らない。
充電率SOCに応じた報酬とバッテリ温度Tbattに応じた報酬との双方を用いるものに限らない。たとえば、それら2つの報酬に関しては、そのうちの1つのみを用いてもよい。
もっとも、充電率SOCに応じた報酬とバッテリ温度Tbattに応じた報酬との双方とも用いなくてもよい。たとえば、出力要求値Ptot*と出力Ptotとの差の絶対値が小さい場合に大きい場合よりも大きい報酬を与えたり、駆動トルク要求値Trq*と駆動トルクTrqとの差の絶対値が小さい場合に大きい場合よりも大きい報酬を与えたりするのみであってもよい。その場合、出力要求値Tot*や駆動トルク要求値Trq*を実現するうえでの、内燃機関10と第1モータジェネレータ162、第2モータジェネレータ166との動力配分を強化学習によって学習できる。
6.そのほかの報酬について
たとえば、「関係規定データについて」の「4.行動について」の欄に記載したように、ロックアップクラッチ72の締結の有無が行動の場合、音圧が所定値以下である場合に所定値を超える場合よりも大きい報酬を与えてもよい。
たとえば、「関係規定データについて」の「4.行動について」の欄に記載したように、ロックアップクラッチ72の締結の有無が行動の場合、音圧が所定値以下である場合に所定値を超える場合よりも大きい報酬を与えてもよい。
7.報酬の算出タイミングについて
図4や図10の処理では、行動atに基づく操作がなされてから直ちに報酬rtを算出した。この場合、行動atの結果が上流側検出値Afuや下流側検出値Afdに反映されるまでには時間がかかることから、定常状態において行動atに基づく操作後直ちに取得される上流側検出値Afu等を行動atに伴うものであるとみなせることを利用していることとなる。しかしこのような手法に限らず、たとえば、選択された行動atに基づく操作と、行動価値関数Qの更新とのタイミングをずらすことによって、行動atに伴って報酬rtの算出に用いる上流側検出値Afu等を、行動atに基づく操作のタイミングに対してずらしたタイミングでサンプリングされたものとしてもよい。
図4や図10の処理では、行動atに基づく操作がなされてから直ちに報酬rtを算出した。この場合、行動atの結果が上流側検出値Afuや下流側検出値Afdに反映されるまでには時間がかかることから、定常状態において行動atに基づく操作後直ちに取得される上流側検出値Afu等を行動atに伴うものであるとみなせることを利用していることとなる。しかしこのような手法に限らず、たとえば、選択された行動atに基づく操作と、行動価値関数Qの更新とのタイミングをずらすことによって、行動atに伴って報酬rtの算出に用いる上流側検出値Afu等を、行動atに基づく操作のタイミングに対してずらしたタイミングでサンプリングされたものとしてもよい。
もっともこれに代えて、報酬を逐次与える代わりに、モンテカルロ法を用いることによってこうした問題に対処してもよい。
・「選択処理について」
図10のS44の処理において、必ずグリーディー行動を選択することとし、S50a〜S54,S58の処理を削除し、S42〜S46の処理を繰り返すようにしてもよい。なお、行動価値関数を関数近似器によって表現する場合、S44の処理は、行動aの各成分による偏微分等に基づき最大値を探索する処理とすればよい。もっとも、これに代えて、行動aについては、離散的な値のみ定義し、S42の処理によって取得された状態が入力された関数近似器に行動の候補を入力し、関数近似器の出力値が最大となる行動を選択してもよい。この場合、選択に先立って、関数近似器の出力値を予めソフトマックス関数によって規格化してもよい。
・「選択処理について」
図10のS44の処理において、必ずグリーディー行動を選択することとし、S50a〜S54,S58の処理を削除し、S42〜S46の処理を繰り返すようにしてもよい。なお、行動価値関数を関数近似器によって表現する場合、S44の処理は、行動aの各成分による偏微分等に基づき最大値を探索する処理とすればよい。もっとも、これに代えて、行動aについては、離散的な値のみ定義し、S42の処理によって取得された状態が入力された関数近似器に行動の候補を入力し、関数近似器の出力値が最大となる行動を選択してもよい。この場合、選択に先立って、関数近似器の出力値を予めソフトマックス関数によって規格化してもよい。
・「車両用制御データの生成方法について」
図4のS44の処理では、行動価値関数Qに基づき行動を決定する処理を例示したが、これに限らず、車両の出荷前における車両用制御データの生成工程等においては、とりうるすべての行動を等確率で選択してもよい。
図4のS44の処理では、行動価値関数Qに基づき行動を決定する処理を例示したが、これに限らず、車両の出荷前における車両用制御データの生成工程等においては、とりうるすべての行動を等確率で選択してもよい。
・「制御用写像データについて」
図2の処理では、全ての操作量の入力変数が同一であったがこれに限らない。たとえば、操作量の設定にとって相関が低い状態を削除してもよい。これは、たとえば、関数近似器を用いて強化学習を実行する際、L1正則化項を用いることなどによって、パラメータθを更新することによって、好適に実現できる。
図2の処理では、全ての操作量の入力変数が同一であったがこれに限らない。たとえば、操作量の設定にとって相関が低い状態を削除してもよい。これは、たとえば、関数近似器を用いて強化学習を実行する際、L1正則化項を用いることなどによって、パラメータθを更新することによって、好適に実現できる。
車両の状態と期待収益を最大化する内燃機関10の操作部の操作量とを1対1に対応付けることによって車両の状態を入力とし期待収益を最大化する操作量を出力する制御用写像データとしては、マップデータ96bに限らない。たとえば、図4の処理において行動価値関数Qを更新する代わりに、方策勾配法にて方策πのパラメータθを更新することとし、学習後の平均値μ(1),μ(2),…を定める関数近似器自体を、制御用写像データとして制御装置90に実装してもよい。これにより、CPU92は、状態sを関数近似器への入力として平均値μ(1),μ(2),…を求め、これを各操作量として操作信号MS1,MS2,…を操作すればよい。
なお、制御用写像データとしては、車両の状態を入力とし内燃機関10の操作部の操作量を出力とする写像を規定するデータに限らず、たとえば車両の状態を入力とし変速装置80の操作量や制御量を出力とする写像を規定するデータであってもよい。またたとえば、車両の状態を入力とし第1モータジェネレータ162および第2モータジェネレータ166の制御量を出力とする写像を規定するデータであってもよい。
・「制御用写像データの生成方法について」
図4の処理において、S56の処理において肯定判定される場合、各状態sとグリーディ行動aとの組を代表点と定義して、行動価値関数の独立変数の定義域における行動を、代表点および代表点から一単位だけずれた値に再定義し、S42〜S56の処理を繰り返してもよい。もっとも、代表点および代表点から一単位だけずれた値を定義域とすること自体、必須ではない。
図4の処理において、S56の処理において肯定判定される場合、各状態sとグリーディ行動aとの組を代表点と定義して、行動価値関数の独立変数の定義域における行動を、代表点および代表点から一単位だけずれた値に再定義し、S42〜S56の処理を繰り返してもよい。もっとも、代表点および代表点から一単位だけずれた値を定義域とすること自体、必須ではない。
図6に例示した処理では、状態sに応じてテーブル形式の関数としての行動価値関数Qの値が最大となる行動aを選択し、状態sおよび行動aの組に基づき、マップデータを生成したが、これに限らない。たとえば、関数近似器によって表現された行動価値関数Qを用いてもよい。もっとも、行動価値関数Qを用いるものにも限らない。たとえば図4の処理において行動価値関数Qを更新する代わりに、方策勾配法にて方策πのパラメータθを更新することとし、図6の処理においては、状態sに応じて定まる平均値μを行動としてもよい。
・「車両用制御システムについて」
図20に示した例では、報酬を、データ解析センター200にて算出したが、これに限らず、制御装置90側で算出し、データ解析センター200に送信してもよい。
図20に示した例では、報酬を、データ解析センター200にて算出したが、これに限らず、制御装置90側で算出し、データ解析センター200に送信してもよい。
図18および図20に示した例では、方策勾配法を用いたが、これに限らない。たとえば、テーブル形式の行動価値関数Qや、関数近似器によって表現された行動価値関数Qを用いてもよい。
・「実行装置について」
実行装置としては、CPU92(152,202)とROM94(154,204)とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、実行装置は、以下の(a)〜(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
実行装置としては、CPU92(152,202)とROM94(154,204)とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、実行装置は、以下の(a)〜(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
・「記憶装置について」
上記実施形態では、関係規定データ96a,156aが記憶される記憶装置と、学習プログラム94a,154aや制御プログラム94b、制御サブプログラム94c、制御メインプログラム204aが記憶される記憶装置(ROM94,154,204)とを別の記憶装置としたが、これに限らない。また、たとえば、上記実施形態において、学習プログラム94a,154aに学習率αのデータを含めず、学習プログラム94a,154a自体はROM94,154,204に記憶するものの、学習率αについては、記憶装置96,156,206に記憶してもよい。
上記実施形態では、関係規定データ96a,156aが記憶される記憶装置と、学習プログラム94a,154aや制御プログラム94b、制御サブプログラム94c、制御メインプログラム204aが記憶される記憶装置(ROM94,154,204)とを別の記憶装置としたが、これに限らない。また、たとえば、上記実施形態において、学習プログラム94a,154aに学習率αのデータを含めず、学習プログラム94a,154a自体はROM94,154,204に記憶するものの、学習率αについては、記憶装置96,156,206に記憶してもよい。
・「内燃機関について」
内燃機関としては、ポート噴射弁18および筒内噴射弁28の双方を備えるものに限らず、それら2種類の燃料噴射弁のうちのいずれか1種類のみを備えるものであってもよい。内燃機関10が過給機14を備えていることは必須ではない。またたとえば、EGR通路52やEGRバルブ54を備えなくてもよい。なお、過給機14を備えない場合、キャニスタ66から吸気通路12への燃料蒸気の流量を調整する調整装置として、パージポンプ68に代えてパージバルブを用いてもよい。その場合、行動にパージバルブの開口度等を用いてもよい。
内燃機関としては、ポート噴射弁18および筒内噴射弁28の双方を備えるものに限らず、それら2種類の燃料噴射弁のうちのいずれか1種類のみを備えるものであってもよい。内燃機関10が過給機14を備えていることは必須ではない。またたとえば、EGR通路52やEGRバルブ54を備えなくてもよい。なお、過給機14を備えない場合、キャニスタ66から吸気通路12への燃料蒸気の流量を調整する調整装置として、パージポンプ68に代えてパージバルブを用いてもよい。その場合、行動にパージバルブの開口度等を用いてもよい。
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
・「ハイブリッド車両について」
ハイブリッド車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばシリーズハイブリッド車や、パラレルハイブリッド車であってもよい。
・「ハイブリッド車両について」
ハイブリッド車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばシリーズハイブリッド車や、パラレルハイブリッド車であってもよい。
・「そのほか」
回転電機の駆動回路としては、インバータに限らず、たとえば回転電機が直流回転電機である場合、Hブリッジ回路を用いてもよい。蓄電装置としては、バッテリ170に限らず、たとえば、キャパシタであってもよい。
回転電機の駆動回路としては、インバータに限らず、たとえば回転電機が直流回転電機である場合、Hブリッジ回路を用いてもよい。蓄電装置としては、バッテリ170に限らず、たとえば、キャパシタであってもよい。
10…内燃機関、12…吸気通路、14…過給機、16…スロットルバルブ、18…ポート噴射弁、20…吸気バルブ、22…シリンダ、24…ピストン、26…燃焼室、28…筒内噴射弁、30…点火装置、32…クランク軸、34…排気バルブ、36…排気通路、38…触媒、40…タイミングチェーン、42…吸気側カム軸、44…排気側カム軸、46…可変バルブタイミング装置、48…迂回通路、50…WGV、52…EGR通路、54…EGRバルブ、60…燃料タンク、62…機関駆動式ポンプ、64…高圧燃料ポンプ、66…キャニスタ、67…パージ通路、68…パージポンプ、70…トルクコンバータ、72…ロックアップクラッチ、79…ローカルネットワーク、80…変速装置、80a…ソレノイドバルブ、80b…ソレノイドバルブ、82…入力軸、84…出力軸、88…駆動輪、90…制御装置、92…CPU、94…ROM,94a…学習プログラム、94b…制御プログラム、94c…制御サブプログラム、96…記憶装置、96a…関係規定データ、96b…マップデータ、96c…PM量出力写像データ、96d…トルク出力写像データ、97…通信機、98…周辺回路、100…エアフローメータ、102…吸気温センサ、104…過給圧センサ、106…スロットルセンサ、108…クランク角センサ、112…カム角センサ、114…水温センサ、116…上流側空燃比センサ、118…下流側空燃比センサ、120…入力側速度センサ、122…出力側速度センサ、124a,124b…油圧センサ、126…油温センサ、130…車速センサ、132…アクセルセンサ、134…マイク、140…ダイナモメータ、142…センサ群、150…生成装置、152…CPU、154…ROM、154a…学習プログラム、156…記憶装置、156a…関係規定データ、158…周辺回路、159…ローカルネットワーク、160…遊星歯車機構、162…第1モータジェネレータ、164…インバータ、166…第2モータジェネレータ、168…インバータ、170…バッテリ、180…電流センサ、182…電圧センサ、184…温度センサ、186…第1速度センサ、188…第2速度センサ、190…ネットワーク、200…データ解析センター、202…CPU、204…ROM、204a…制御メインプログラム、206…記憶装置、207…通信機、208…周辺回路、209…ローカルネットワーク。
Claims (11)
- 車両に搭載された内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量との関係を規定する関係規定データが記憶装置に記憶された状態で、
前記変速装置を操作する操作処理と、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、
前記取得処理によって取得された前記検出値に基づき、前記変速装置の操作に伴う前記車両のドライバビリティに基づく報酬を算出する報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記変速装置の状態、前記変速装置の操作に用いられた前記操作量、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行装置に実行させ、
前記更新写像は、前記関係規定データに従って前記変速装置が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力する車両用制御データの生成方法。 - 前記報酬算出処理は、前記変速装置による変速比の切り替えに要する時間が所定時間以内である場合に前記所定時間を超える場合よりも大きい報酬を与える処理、前記変速装置の入力軸の回転速度の変化速度の絶対値が入力側所定値以下である場合に前記入力側所定値を超える場合よりも大きい報酬を与える処理、前記変速装置の出力軸の回転速度の変化速度の絶対値が出力側所定値以下である場合に前記出力側所定値を超える場合よりも大きい報酬を与える処理、および前記変速装置のソレノイドバルブによって調整される油圧が所定の条件を満たす場合に満たさない場合よりも大きい報酬を与える処理、の4つの処理のうちの少なくとも1つの処理を含む請求項1記載の車両用制御データの生成方法。
- 前記更新処理によって更新された前記関係規定データに基づき、前記変速装置の状態と前記期待収益を最大化する前記操作量とを1対1に対応付けることによって前記変速装置の状態を入力とし前記期待収益を最大化する前記操作量を出力する制御用写像データを生成する処理を前記実行装置に実行させる請求項1または2記載の車両用制御データの生成方法。
- 請求項1または2記載の車両用制御データの生成方法における前記記憶装置および前記実行装置を備え、
前記操作処理は、前記関係規定データと前記変速装置の状態とによって定まる前記操作量に基づき前記変速装置を操作する処理を含む車両用制御装置。 - 前記関係規定データは、前記変速装置の状態と、前記期待収益と、前記操作量との関係を規定するデータを含み、
前記実行装置は、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益が大きくなる操作量を小さくなる操作量よりも優先して選択する選択処理を実行し、
前記操作処理は、前記選択処理によって選択された前記操作量に基づき前記変速装置を操作する処理を含む請求項4記載の車両用制御装置。 - 前記関係規定データは、前記変速装置の状態を入力とし、前記操作量の選択確率を出力とする関数近似器を規定するデータであり、
前記更新写像は、前記関数近似器を規定するパラメータの更新量を出力する写像を含む請求項4記載の車両用制御装置。 - 請求項4〜6のいずれか1項に記載の車両用制御装置における前記実行装置および前記記憶装置を備え、
前記実行装置は、前記車両に搭載される第1実行装置と、車載装置とは別の第2実行装置と、を含み、
前記第1実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記第2実行装置は、少なくとも前記更新処理を実行する車両用制御システム。 - 前記第1実行装置は、前記取得処理によって取得された検出値に関するデータを送信する車両側送信処理と、前記第2実行装置によって送信された前記操作量を受信する車両側受信処理と、を実行し、
前記第2実行装置は、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記外部側受信処理によって受信した前記データと前記関係規定データとに基づき前記操作量を算出する操作量算出処理と、前記操作量算出処理によって算出した前記操作量を送信する外部側送信処理と、を実行する請求項7記載の車両用制御システム。 - 請求項7または8記載の車両用制御システムにおける前記第1実行装置を備える車両用制御装置。
- 請求項7または8記載の車両用制御システムにおける前記第2実行装置を備える車両用学習装置。
- 実行装置と、記憶装置とを備え、
前記記憶装置には、車両に搭載される内燃機関のクランク軸の回転速度を変速して出力する装置であって且つ変速比を可変とする変速装置の状態と、前記変速装置の操作量と、前記車両のドライバビリティに基づく報酬についての期待収益と、の関係を規定する関係規定データが記憶されており、
前記実行装置は、前記変速装置の状態を検出するセンサの検出値を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとに基づき、前記期待収益を最大化する前記操作量を選択する選択処理と、
前記選択処理によって選択された前記操作量に基づき前記変速装置を操作する操作処理と、を実行する車両用制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020066763A JP2021067260A (ja) | 2020-04-02 | 2020-04-02 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020066763A JP2021067260A (ja) | 2020-04-02 | 2020-04-02 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019191092A Division JP6970156B2 (ja) | 2019-10-18 | 2019-10-18 | 車両の制御に用いるデータの生成方法、車両用制御装置、車両用制御システム、車載装置および車両用学習装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021067260A true JP2021067260A (ja) | 2021-04-30 |
Family
ID=75638330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020066763A Pending JP2021067260A (ja) | 2020-04-02 | 2020-04-02 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021067260A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210114596A1 (en) * | 2019-10-18 | 2021-04-22 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
-
2020
- 2020-04-02 JP JP2020066763A patent/JP2021067260A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210114596A1 (en) * | 2019-10-18 | 2021-04-22 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
US11654915B2 (en) * | 2019-10-18 | 2023-05-23 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6970156B2 (ja) | 車両の制御に用いるデータの生成方法、車両用制御装置、車両用制御システム、車載装置および車両用学習装置 | |
JP2021067196A (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
US11225924B2 (en) | Imbalance detection device, imbalance detection system, data analysis device, and controller for internal combustion engine | |
JP7302466B2 (ja) | 車両用内燃機関の劣化判定装置 | |
JP6624319B1 (ja) | 触媒劣化検出装置、触媒劣化検出システム、データ解析装置、内燃機関の制御装置、および中古車の状態情報提供方法 | |
JP7314831B2 (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP7143791B2 (ja) | パワートレーンシステム | |
JP7331704B2 (ja) | 車両用制御データの生成方法、車両用制御装置、および車両用制御システム | |
US11125179B2 (en) | Vehicle controller, vehicle control system, vehicle learning device, vehicle learning method, vehicle control method, and memory medium | |
US20210188276A1 (en) | Vehicle control data generating method, vehicle controller, vehicle control system, and vehicle learning device | |
US11840245B2 (en) | Vehicle control data generation method, vehicle controller, vehicle control system, vehicle learning device, vehicle control data generation device, and memory medium | |
CN112682196B (zh) | 车辆用控制装置、车辆用控制系统、以及车辆用学习装置 | |
JP2021067260A (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP2021066418A (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP2021116781A (ja) | 車両制御方法、車両用制御装置及びサーバ | |
JP2021067256A (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP7205456B2 (ja) | 車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP7205460B2 (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP7276110B2 (ja) | パワートレーンシステム | |
US20210114579A1 (en) | Vehicle controller, vehicle control system, vehicle learning device, vehicle learning method, and memory medium | |
JP2022185413A (ja) | 車両駆動ユニットの制御装置及び制御方法 | |
Dextreit et al. | Approaches to energy management of hybrid electric vehicles: Experimental comparison | |
JP2021099059A (ja) | 車両用制御装置、車両用制御システム、車両用学習装置、および車両用学習方法 | |
JP2020133620A (ja) | 触媒劣化検出装置、触媒劣化検出システム、データ解析装置、内燃機関の制御装置、および中古車の状態情報提供方法 |