(57)【特許請求の範囲】
【請求項１】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含む車両用制御装置。
【請求項２】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含み、
前記取得処理は、ユーザによる前記車両の挙動の評価を前記運転嗜好情報として取得する処理を含み、
前記報酬算出処理は、前記取得処理によって低い評価を示す前記運転嗜好情報を取得する場合、前記車両の挙動に関する特性が同一であっても、当該評価の取得前とは異なる報酬を与える処理を含む車両用制御装置。
【請求項３】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含み、
前記運転嗜好情報は、前記車両の前後方向の加速度の履歴情報を含む車両用制御装置。
【請求項４】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含み、
前記運転嗜好情報は、アクセル操作量の履歴情報を含む車両用制御装置。
【請求項５】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含み、
前記取得処理は、前記ユーザの顔画像の解析結果を前記運転嗜好情報として取得する処理を含む車両用制御装置。
【請求項６】
実行装置および記憶装置を備え、
前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、
前記実行装置は、
前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、
前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、
前記取得処理によって取得された前記検出値に基づき、前記車両の挙動に関する特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、
前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、
を実行し、
前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、
前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含み、
前記車両の状態には、アクセル操作量の変化が含まれ、
前記報酬算出処理は、前記アクセル操作量の変化に伴う前記車両の前後方向の加速度が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理であって且つ前記運転嗜好情報が異なる場合に同一の報酬を与えるときの前記基準を変更する処理を含む車両用制御装置。
【請求項７】
前記車両は、当該車両の推力生成装置として内燃機関を備えるものであり、
前記電子機器には、前記内燃機関のスロットルバルブが含まれ、
前記行動変数には、前記スロットルバルブの開口度に関する変数が含まれる請求項６記載の車両用制御装置。
【請求項８】
請求項１〜７のいずれか１項に記載の車両用制御装置における前記実行装置および前記記憶装置を備え、
前記実行装置は、前記車両に搭載される第１実行装置と、前記車両に備えられていない第２実行装置と、を含み、
前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、
前記第２実行装置は、少なくとも前記更新処理を実行する車両用制御システム。
【請求項９】
請求項８記載の車両用制御システムにおける前記第１実行装置を備える車両用制御装置。
【請求項１０】
請求項８記載の車両用制御システムにおける前記第２実行装置を備える車両用学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用制御装置、車両用制御システム、および車両用学習装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、アクセルペダルの操作量をフィルタ処理した値に基づき、車両に搭載される内燃機関の操作部としてのスロットルバルブを操作する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記フィルタは、アクセルペダルの操作量に応じて車両に搭載される内燃機関のスロットルバルブの操作量を適切な操作量に設定するものである必要があることから、その適合には熟練者が多くの工数をかける必要が生じる。このように、従来は、車両の状態に応じた車両内の電子機器の操作量等の適合には、熟練者が多くの工数をかけていた。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．実行装置および記憶装置を備え、前記記憶装置には、車両の状態と前記車両内の電子機器の操作に関する変数である行動変数との関係を規定する関係規定データが記憶されており、前記実行装置は、前記車両の状態を検出するセンサの検出値、およびユーザの運転嗜好に関する情報である運転嗜好情報を取得する取得処理と、前記取得処理によって取得された前記検出値と前記関係規定データとによって定まる前記行動変数の値に基づき前記電子機器を操作する操作処理と、前記取得処理によって取得された前記検出値に基づき、前記車両の特性が基準を満たす場合に満たさない場合よりも大きい報酬を与える報酬算出処理と、前記取得処理によって取得された前記検出値に基づく前記車両の状態、前記電子機器の操作に用いられた前記行動変数の値、および該操作に対応する前記報酬を予め定められた更新写像への入力とし、前記関係規定データを更新する更新処理と、を実行し、前記更新写像は、前記関係規定データに従って前記電子機器が操作される場合の前記報酬についての期待収益を増加させるように更新された前記関係規定データを出力するものであり、前記報酬算出処理は、前記車両の挙動に関する特性が同一の基準を満たす場合であっても、前記運転嗜好情報が異なる場合に異なる報酬を与える処理を含む車両用制御装置である。
【０００６】
上記構成では、電子機器の操作に伴う報酬を算出することによって、当該操作によってどのような報酬が得られるかを把握することができる。そして、報酬に基づき、強化学習に従った更新写像によって関係規定データを更新することにより、車両の状態と行動変数との関係を車両の走行において適切な関係に設定することができる。したがって、車両の状態と行動変数との関係を車両の走行において適切な関係に設定する際、熟練者に要求される工数を削減できる。
【０００７】
ところで、報酬を一義的に定める場合、強化学習によって学習された車両の状態と行動変数との関係がユーザの運転嗜好に沿わない懸念がある。そこで上記構成では、運転嗜好情報を取得し、運転嗜好情報に基づき報酬算出処理によって報酬を与えることにより、強化学習によって関係規定データをユーザの運転嗜好に沿ったものに更新することが可能となる。
【０００８】
２．前記取得処理は、ユーザによる前記車両の挙動の評価を前記運転嗜好情報として取得する処理を含み、前記報酬算出処理は、前記取得処理によって低い評価を示す前記運転嗜好情報を取得する場合、前記車両の挙動に関する特性が同一であっても、当該評価の取得前とは異なる報酬を与える処理を含む上記１記載の車両用制御装置である。
【０００９】
上記構成では、ユーザによる評価を運転嗜好情報として取得し、その評価結果が低い場合には、報酬を変える。そして、それ以降の更新処理によって更新される関係規定データを用いて操作処理を実行することにより、ユーザによる評価を好転させることが可能となる。
【００１０】
３．前記運転嗜好情報は、前記車両の前後方向の加速度の履歴情報を含む上記１または２記載の車両用制御装置である。
車両の前後方向の加速度の履歴がユーザによるアクセル操作の仕方によって異なったものとなることから、同加速度の履歴には、ユーザの運転嗜好が反映されている。この点に鑑み、上記構成では、加速度の履歴を運転嗜好情報として取得することにより、ユーザが運転嗜好情報を入力しなくても、同情報を取得することができる。
【００１１】
４．前記運転嗜好情報は、アクセル操作量の履歴情報を含む上記１〜３のいずれか１つに記載の車両用制御装置である。
ユーザのアクセル操作がユーザの運転嗜好に応じて異なることから、アクセル操作量の履歴情報には、運転嗜好情報が含まれている。この点に鑑み、上記構成では、アクセル操作量の履歴を運転嗜好情報として取得することにより、ユーザが運転嗜好情報を入力しなくても、同情報を取得することができる。
【００１２】
５．前記取得処理は、前記ユーザの顔画像の解析結果を前記運転嗜好情報として取得する処理を含む上記１〜４のいずれか１つに記載の車両用制御装置である。
上記構成では、ユーザの顔画像の解析結果を運転嗜好情報として取得することにより、ユーザが運転嗜好情報を入力しなくても、同情報を取得することができる。
【００１３】
６．前記車両の状態には、アクセル操作量の変化が含まれ、前記報酬算出処理は、前記アクセル操作量の変化に伴う前記車両の前後方向の加速度が基準を満たす場合に満たさない場合よりも大きい報酬を与える処理を含む上記１〜５のいずれか１つに記載の車両用制御装置である。
【００１４】
アクセル操作量の変化によって生じる車両の前後方向の加速度の大きさは、車両の走行性能に大いに関係することから、上記構成のように、加速度が基準を満たすか否かに応じた報酬を与えることにより、車両の状態に応じて走行性能を所望のものとする上で適切な行動変数の値を強化学習によって学習できる。
【００１５】
特に、上記構成では、運転嗜好情報に応じて報酬の与え方を変えることにより、運転嗜好にとって適切な走行性能とするうえで適切な行動変数の値を強化学習によって学習できる。
【００１６】
７．前記車両は、当該車両の推力生成装置として内燃機関を備えるものであり、前記電子機器には、前記内燃機関のスロットルバルブが含まれ、前記行動変数には、前記スロットルバルブの開口度に関する変数が含まれる上記６記載の車両用制御装置である。
【００１７】
たとえば吸入空気量に応じて噴射量を調整する内燃機関等においては、スロットルバルブの開口度に応じて内燃機関のトルクや出力が大きく変化する。そのため、アクセル操作量に対する行動変数としてスロットルバルブの開口度に関する変数を用いることにより、車両の推進力を好適に調整することができる。
【００１８】
８．上記１〜７のいずれか１つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、前記車両に搭載される第１実行装置と、車載装置とは別の第２実行装置と、を含み、前記第１実行装置は、少なくとも前記取得処理および前記操作処理を実行し、前記第２実行装置は、少なくとも前記更新処理を実行する車両用制御システムである。
【００１９】
上記構成では、更新処理を第２実行装置によって実行することにより、更新処理を第１実行装置が実行する場合と比較して、第１実行装置の演算負荷を軽減できる。
なお、第２実行装置が車載装置とは別の装置であることは、第２実行装置が車載装置ではないことを意味する。
【００２０】
９．上記８記載の第１実行装置を備える車両用制御装置である。
１０．上記８記載の第２実行装置を備える車両用学習装置である。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態にかかる制御装置および駆動系を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図３】同実施形態にかかる制御装置が実行する処理の一部の詳細な手順を示す流れ図。
【図４】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図５】第２の実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【図６】第３の実施形態にかかる制御システムの構成を示す図。
【図７】（ａ）および（ｂ）は、制御システムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
以下、車両用制御装置の第１の実施形態について、図面を参照しつつ説明する。
図１に、本実施形態にかかる車両ＶＣ１の駆動系および制御装置の構成を示す。
【００２３】
図１に示すように、内燃機関１０の吸気通路１２には、上流側から順にスロットルバルブ１４および燃料噴射弁１６が設けられており、吸気通路１２に吸入された空気や燃料噴射弁１６から噴射された燃料は、吸気バルブ１８の開弁に伴って、シリンダ２０およびピストン２２によって区画される燃焼室２４に流入する。燃焼室２４内において、燃料と空気との混合気は、点火装置２６の火花放電に伴って燃焼に供され、燃焼によって生じたエネルギは、ピストン２２を介してクランク軸２８の回転エネルギに変換される。燃焼に供された混合気は、排気バルブ３０の開弁に伴って、排気として排気通路３２に排出される。排気通路３２には、排気を浄化する後処理装置としての触媒３４が設けられている。
【００２４】
クランク軸２８には、ロックアップクラッチ４２を備えたトルクコンバータ４０を介して、変速装置５０の入力軸５２が機械的に連結可能とされている。変速装置５０は、入力軸５２の回転速度と出力軸５４の回転速度との比である変速比を可変とする装置である。出力軸５４には、駆動輪６０が機械的に連結されている。
【００２５】
制御装置７０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御すべく、スロットルバルブ１４、燃料噴射弁１６および点火装置２６等の内燃機関１０の操作部を操作する。また、制御装置７０は、トルクコンバータ４０を制御対象とし、ロックアップクラッチ４２の係合状態を制御すべくロックアップクラッチ４２を操作する。また、制御装置７０は、変速装置５０を制御対象とし、その制御量としての変速比を制御すべく変速装置５０を操作する。なお、図１には、スロットルバルブ１４、燃料噴射弁１６、点火装置２６、ロックアップクラッチ４２、および変速装置５０のそれぞれの操作信号ＭＳ１〜ＭＳ５を記載している。
【００２６】
制御装置７０は、制御量の制御のために、エアフローメータ８０によって検出される吸入空気量Ｇａや、スロットルセンサ８２によって検出されるスロットルバルブ１４の開口度（スロットル開口度ＴＡ）、クランク角センサ８４の出力信号Ｓｃｒを参照する。また、制御装置７０は、アクセルセンサ８８によって検出されるアクセルペダル８６の踏み込み量（アクセル操作量ＰＡ）や、加速度センサ９０によって検出される車両ＶＣ１の前後方向の加速度Ｇｘ、カメラ９２によるユーザの顔画像、評価スイッチ９４の操作によって定まる評価変数ＶＶの値を参照する。ここで、評価スイッチ９４は、車両ＶＣ１のユーザが、車両ＶＣ１の走行性能に関する３つの選択肢のうちの１つを選択するためのヒューマンマシンインターフェースである。ここで、３つの選択肢は、応答性について、「高すぎ」、「ちょうどよい」、「低すぎ」の３つである。
【００２７】
制御装置７０は、ＣＰＵ７２、ＲＯＭ７４、電気的に書き換え可能な不揮発性メモリ（記憶装置７６）、および周辺回路７８を備え、それらがローカルネットワーク７９を介して通信可能とされている。ここで、周辺回路７８は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２８】
ＲＯＭ７４には、制御プログラム７４ａおよび学習プログラム７４ｂが記憶されている。一方、記憶装置７６には、アクセル操作量ＰＡと、スロットル開口度ＴＡの指令値（スロットル開口度指令値ＴＡ＊）および点火装置２６の遅角量ａｏｐとの関係を規定する関係規定データＤＲが記憶されている。ここで、遅角量ａｏｐは、予め定められた基準点火時期に対する遅角量であり、基準点火時期は、ＭＢＴ点火時期とノック限界点とのうちの遅角側の時期である。ＭＢＴ点火時期は、最大トルクの得られる点火時期（最大トルク点火時期）である。またノック限界点は、ノック限界の高い高オクタン価燃料の使用時に、想定される最良の条件下で、ノッキングを許容できるレベル以内に収めることのできる点火時期の進角限界値である。また、記憶装置７６には、トルク出力写像データＤＴが記憶されている。トルク出力写像データＤＴによって規定されるトルク出力写像は、クランク軸２８の回転速度ＮＥ、充填効率η、および点火時期ａｉｇを入力とし、トルクＴｒｑを出力する写像である。
【００２９】
図２に、本実施形態にかかる制御装置７０が実行する処理の手順を示す。図２に示す処理は、ＲＯＭ７４に記憶された制御プログラム７４ａおよび学習プログラム７４ｂをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって各処理のステップ番号を示す。
【００３０】
図２に示す一連の処理において、ＣＰＵ７２は、まず、状態ｓとして、アクセル操作量ＰＡの６個のサンプリング値「ＰＡ（１），ＰＡ（２），…ＰＡ（６）」からなる時系列データを取得する（Ｓ１０）。ここで、時系列データを構成する各サンプリング値は、互いに異なるタイミングにおいてサンプリングされたものである。本実施形態では、一定のサンプリング周期でサンプリングされる場合の、互いに時系列的に隣り合う６個のサンプリング値によって時系列データを構成する。
【００３１】
次にＣＰＵ７２は、関係規定データＤＲが定める方策πに従い、Ｓ１０の処理によって取得した状態ｓに応じたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐからなる行動ａを設定する（Ｓ１２）。
【００３２】
本実施形態において、関係規定データＤＲは、行動価値関数Ｑおよび方策πを定めるデータである。本実施形態において、行動価値関数Ｑは、状態ｓおよび行動ａの８次元の独立変数に応じた期待収益の値を示すテーブル型式の関数である。また、方策πは、状態ｓが与えられたときに、独立変数が与えられた状態ｓとなる行動価値関数Ｑのうち最大となる行動ａ（グリーディ行動）を優先的に選択しつつも、所定の確率で、それ以外の行動ａを選択する規則を定める。
【００３３】
詳しくは、本実施形態にかかる行動価値関数Ｑの独立変数がとりうる値の数は、状態ｓおよび行動ａのとりうる値の全組み合わせのうちの一部が、人の知見等によって削減されたものである。すなわち、たとえばアクセル操作量ＰＡの時系列データのうち隣接する２つのサンプリング値の１つがアクセル操作量ＰＡの最小値となりもう１つが最大値となるようなことは、人によるアクセルペダル８６の操作からは生じえないとして、行動価値関数Ｑが定義されていない。本実施形態では、人の知見等に基づく次元削減によって、行動価値関数Ｑを定義する状態ｓの取りうる値を、１０の４乗個以下、より望ましくは１０の３乗個以下に制限する。
【００３４】
次にＣＰＵ７２は、設定されたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐに基づき、スロットルバルブ１４に操作信号ＭＳ１を出力してスロットル開口度ＴＡを操作するとともに、点火装置２６に操作信号ＭＳ３を出力して点火時期を操作する（Ｓ１４）。ここで、本実施形態では、スロットル開口度ＴＡをスロットル開口度指令値ＴＡ＊にフィードバック制御することを例示することから、スロットル開口度指令値ＴＡ＊が同一の値であっても、操作信号ＭＳ１が互いに異なる信号となりうるものである。また、たとえば周知のノッキングコントロール（ＫＣＳ）等がなされる場合、点火時期は、基準点火時期を遅角量ａｏｐにて遅角させた値がＫＣＳにてフィードバック補正された値とされる。ここで、基準点火時期は、ＣＰＵ７２により、クランク軸２８の回転速度ＮＥおよび充填効率ηに応じて可変設定される。なお、回転速度ＮＥは、クランク角センサ８４の出力信号Ｓｃｒに基づきＣＰＵ７２によって算出される。また、充填効率ηは、回転速度ＮＥおよび吸入空気量Ｇａに基づきＣＰＵ７２によって算出される。
【００３５】
次にＣＰＵ７２は、内燃機関１０のトルクＴｒｑ、内燃機関１０に対するトルク指令値Ｔｒｑ＊、および加速度Ｇｘを取得する（Ｓ１６）。ここで、ＣＰＵ１１２は、トルクＴｒｑを、回転速度ＮＥ、充填効率ηおよび点火時期をトルク出力写像に入力することによって算出する。また、ＣＰＵ７２は、トルク指令値Ｔｒｑ＊を、アクセル操作量ＰＡに応じて設定する。
【００３６】
次にＣＰＵ７２は、過渡フラグＦが「１」であるか否かを判定する（Ｓ１８）。過渡フラグＦは、「１」である場合に過渡運転時であることを示し、「０」である場合に過渡運転時ではないことを示す。ＣＰＵ７２は、過渡フラグＦが「０」であると判定する場合（Ｓ１８：ＮＯ）、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡの絶対値が所定量ΔＰＡｔｈ以上であるか否かを判定する（Ｓ２０）。ここで、変化量ΔＰＡは、たとえば、Ｓ２０の処理の実行タイミングにおける最新のアクセル操作量ＰＡと、同タイミングに対して単位時間だけ前におけるアクセル操作量ＰＡとの差とすればよい。
【００３７】
ＣＰＵ７２は、所定量ΔＰＡｔｈ以上であると判定する場合（Ｓ２０：ＹＥＳ）、過渡フラグＦに「１」を代入する（Ｓ２２）。
これに対し、ＣＰＵ７２は、過渡フラグＦが「１」であると判定する場合（Ｓ１８：ＹＥＳ）、Ｓ２２の処理の実行から所定期間が経過したか否かを判定する（Ｓ２４）。ここで、所定期間は、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡの絶対値が所定量ΔＰＡｔｈよりも小さい規定量以下となる状態が所定時間継続するまでの期間とする。ＣＰＵ７２は、所定期間が経過したと判定する場合（Ｓ２４：ＹＥＳ）、過渡フラグＦに「０」を代入する（Ｓ２６）。
【００３８】
ＣＰＵ７２は、Ｓ２２，Ｓ２６の処理が完了する場合、１つのエピソードが終了したとして、強化学習によって行動価値関数Ｑを更新する（Ｓ２８）。
図３に、Ｓ２８の処理の詳細を示す。
【００３９】
図３に示す一連の処理において、ＣＰＵ７２は、直近に終了されたエピソード中のトルク指令値Ｔｒｑ＊、トルクＴｒｑおよび加速度Ｇｘの３つのサンプリング値の組からなる時系列データと、状態ｓおよび行動ａの時系列データと、を取得する（Ｓ３０）。ここで、直近のエピソードは、Ｓ２２の処理に続いてＳ３０の処理がなされる場合には、過渡フラグＦが継続して「０」となっていた期間であり、Ｓ２６の処理に続いてＳ３０の処理がなされる場合には、過渡フラグＦが継続して「１」となっていた期間である。
【００４０】
図３には、カッコの中の数字が異なるものが、異なるサンプリングタイミングにおける変数の値であることを示す。たとえば、トルク指令値Ｔｒｑ＊（１）とトルク指令値Ｔｒｑ＊（２）とは、サンプリングタイミングが互いに異なるものである。また、直近のエピソードに属する行動ａの時系列データを、行動集合Ａｊとし、同エピソードに属する状態ｓの時系列データを、状態集合Ｓｊと定義する。
【００４１】
次にＣＰＵ７２は、直近のエピソードに属する任意のトルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が規定量ΔＴｒｑ以下である旨の条件（ア）と、加速度Ｇｘが下限値ＧｘＬ以上であって上限値ＧｘＨ以下である旨の条件（イ）との論理積が真であるか否かを判定する（Ｓ３２）。
【００４２】
ここで、ＣＰＵ７２は、規定量ΔＴｒｑを、エピソードの開始時におけるアクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ７２は、エピソードの開始時におけるアクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡに基づき過渡時に関するエピソードであると判定する場合、定常時の場合と比較して、規定量ΔＴｒｑを大きい値に設定する。
【００４３】
また、ＣＰＵ７２は、下限値ＧｘＬを、エピソードの開始時におけるアクセル操作量ＰＡの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ７２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが正である場合には、定常時に関するエピソードの場合と比較して、下限値ＧｘＬを大きい値に設定する。また、ＣＰＵ７２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが負である場合には、定常時に関するエピソードの場合と比較して、下限値ＧｘＬを小さい値に設定する。
【００４４】
また、ＣＰＵ７２は、上限値ＧｘＨを、エピソードの開始時におけるアクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡによって可変設定する。すなわち、ＣＰＵ７２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが正である場合には、定常時に関するエピソードの場合と比較して、上限値ＧｘＨを大きい値に設定する。また、ＣＰＵ７２は、過渡時に関するエピソードであって且つ変化量ΔＰＡが負である場合には、定常時に関するエピソードの場合と比較して、上限値ＧｘＨを小さい値に設定する。
【００４５】
ＣＰＵ７２は、論理積が真であると判定する場合（Ｓ３２：ＹＥＳ）、報酬ｒに「１０」を代入する一方（Ｓ３４）、偽であると判定する場合（Ｓ３２：ＮＯ）、報酬ｒに「−１０」を代入する（Ｓ３６）。ＣＰＵ７２は、Ｓ３４，Ｓ３６の処理が完了する場合、図１に示した記憶装置７６に記憶されている関係規定データＤＲを更新する。本実施形態では、εソフト方策オン型モンテカルロ法を用いる。
【００４６】
すなわち、ＣＰＵ７２は、上記Ｓ３０の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）に、それぞれ、報酬ｒを加算する（Ｓ３８）。ここで、「Ｒ（Ｓｊ，Ａｊ）」は、状態集合Ｓｊの要素の１つを状態とし行動集合Ａｊの要素の１つを行動とする収益Ｒを総括した記載である。次に、上記Ｓ３０の処理によって読み出した各状態と対応する行動との組によって定まる収益Ｒ（Ｓｊ，Ａｊ）のそれぞれについて、平均化して対応する行動価値関数Ｑ（Ｓｊ，Ａｊ）に代入する（Ｓ４０）。ここで、平均化は、Ｓ３８の処理がなされた回数に所定数を加算した値によって、Ｓ３８の処理によって算出された収益Ｒを除算する処理とすればよい。なお、収益Ｒの初期値は、対応する行動価値関数Ｑの初期値とすればよい。
【００４７】
次にＣＰＵ７２は、上記Ｓ３０の処理によって読み出した状態について、それぞれ、対応する行動価値関数Ｑ（Ｓｊ，Ａ）のうち、最大値となるときのスロットル開口度指令値ＴＡ＊および遅角量ａｏｐの組である行動を、行動Ａｊ＊に代入する（Ｓ４２）。ここで、「Ａ」は、とりうる任意の行動を示す。なお、行動Ａｊ＊は、上記Ｓ３０の処理によって読み出した状態の種類に応じて各別の値となるものであるが、ここでは、表記を簡素化して、同一の記号にて記載している。
【００４８】
次に、ＣＰＵ７２は、上記Ｓ３０の処理によって読み出した状態のそれぞれについて、対応する方策π（Ａｊ｜Ｓｊ）を更新する（Ｓ４４）。すなわち、行動の総数を、「｜Ａ｜」とすると、Ｓ４２によって選択された行動Ａｊ＊の選択確率を、「１−ε＋ε／｜Ａ｜」とする。また、行動Ａｊ＊以外の「｜Ａ｜−１」個の行動の選択確率を、それぞれ「ε／｜Ａ｜」とする。Ｓ４４の処理は、Ｓ４０の処理によって更新された行動価値関数Ｑに基づく処理であることから、これにより、状態ｓと行動ａとの関係を規定する関係規定データＤＲが、収益Ｒを増加させるように更新されることとなる。
【００４９】
なお、ＣＰＵ７２は、Ｓ４４の処理が完了する場合、図３に示す一連の処理を一旦終了する。
図２に戻り、ＣＰＵ７２は、Ｓ２８の処理が完了する場合や、Ｓ２０，Ｓ２４の処理において否定判定する場合には、図２に示す一連の処理を一旦終了する。なお、Ｓ１０〜Ｓ２６の処理は、ＣＰＵ７２が制御プログラム７４ａを実行することにより実現され、Ｓ２８の処理は、ＣＰＵ７２が学習プログラム７４ｂを実行することにより実現される。また、車両ＶＣ１の出荷時における関係規定データＤＲは、テストベンチで車両の走行を模擬するなどしつつ図２に示した処理と同様の処理を実行することによってあらかじめ学習がなされたデータとする。
【００５０】
図４に、Ｓ３２の処理における基準を変更する処理の手順を示す。図４に示す処理は、ＲＯＭ７４に記憶された学習プログラム７４ｂをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【００５１】
図４に示す一連の処理において、ＣＰＵ７２は、まず、評価スイッチ９４の操作による評価入力があるか否かを判定する（Ｓ５０）。そしてＣＰＵ７２は、評価入力があると判定する場合（Ｓ５０：ＹＥＳ）、評価入力が「応答性が低すぎる」旨の入力であるか否かを判定する（Ｓ５２）。そして、ＣＰＵ７２は、「応答性が低すぎる」旨の入力であると判定する場合（Ｓ５２：ＹＥＳ）、過渡時における、規定量ΔＴｒｑを縮小し、変化量ΔＰＡが正であるときの上限値ＧｘＨおよび下限値ＧｘＬを上昇させ、変化量ΔＰＡが負であるときの上限値ＧｘＨおよび下限値ＧｘＬを低下させる（Ｓ５４）。
【００５２】
これに対しＣＰＵ７２は、Ｓ５２の処理において否定判定する場合、評価入力が「応答性が高すぎる」旨の入力であるか否かを判定する（Ｓ５６）。そして、ＣＰＵ７２は、「応答性が高すぎる」旨の入力であると判定する場合（Ｓ５６：ＹＥＳ）、過渡時における、規定量ΔＴｒｑを拡大し、変化量ΔＰＡが正であるときの上限値ＧｘＨおよび下限値ＧｘＬを低下させ、変化量ΔＰＡが負であるときの上限値ＧｘＨおよび下限値ＧｘＬを上昇させる（Ｓ５８）。
【００５３】
なお、ＣＰＵ７２は、Ｓ５４，Ｓ５８の処理が完了する場合や、Ｓ５０，Ｓ５６の処理において否定判定する場合には、図４に示す一連の処理を一旦終了する。
ここで、本実施形態の作用および効果について説明する。
【００５４】
ＣＰＵ７２は、ユーザによるアクセルペダル８６の操作に伴って、アクセル操作量ＰＡの時系列データを取得し、方策πに従って、スロットル開口度指令値ＴＡ＊および遅角量ａｏｐからなる行動ａを設定する。ここでＣＰＵ７２は、基本的には、関係規定データＤＲに規定されている行動価値関数Ｑに基づき期待収益を最大とする行動ａを選択する。ただし、ＣＰＵ７２は、所定の割合εで、期待収益を最大化する行動ａ以外の行動を選択することによって、期待収益を最大化する行動ａの探索を行う。これにより、ユーザによる車両ＶＣ１の運転に伴って、関係規定データＤＲを強化学習によって更新できる。これにより、アクセル操作量ＰＡに応じたスロットル開口度指令値ＴＡ＊および遅角量ａｏｐを、熟練者による工数を過度に大きくすることなく車両ＶＣ１の走行において適切な値に設定することができる。
【００５５】
特に本実施形態では、車両の走行性能について、ユーザが評価スイッチ９４を操作することによって評価することができる。そして、報酬ｒを与えるうえでの、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値に関する基準や、加速度Ｇｘに関する基準を、ユーザによる評価結果に応じて変更する。これにより、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値に対する基準や、加速度Ｇｘに関する基準を、ユーザの運転嗜好にとって適切なものとすることができる。したがって、ユーザの運転に伴って強化学習が進行するにつれて、関係規定データＤＲをユーザの運転嗜好にとって適切なデータに更新できる。
【００５６】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
（１）行動価値関数Ｑの独立変数にアクセル操作量ＰＡの時系列データを含めた。これにより、アクセル操作量ＰＡに関して単一のサンプリング値のみを独立変数とする場合と比較して、アクセル操作量ＰＡの様々な変化に対して行動ａの値をきめ細かく調整できる。
【００５７】
（２）行動価値関数Ｑの独立変数に、スロットル開口度指令値ＴＡ＊自体を含めた。これにより、たとえば、スロットル開口度指令値ＴＡ＊の挙動をモデル化したモデル式のパラメータ等をスロットル開口度に関する独立変数とする場合と比較して、強化学習による探索の自由度を高めることが容易である。
【００５８】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００５９】
図５に、本実施形態にかかる、Ｓ３２の処理における基準を変更する処理の手順を示す。図５に示す処理は、ＲＯＭ７４に記憶された学習プログラム７４ｂをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、図５において、図４に示した処理に対応する処理については、便宜上、同一のステップ番号を付与する。
【００６０】
図５に示す一連の処理において、ＣＰＵ７２は、まず、アクセル操作量ＰＡおよび加速度Ｇｘを取得する（Ｓ６０）。次にＣＰＵ７２は、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡが所定量ΔＰＡｔｈ以上となってから所定期間が経過したか否かを判定する（Ｓ６２）。ここで、所定期間は、アクセル操作量ＰＡの単位時間当たりの変化量ΔＰＡが小さくなってから所定時間が経過するまでの期間とする。
【００６１】
ＣＰＵ７２は、所定期間が経過したと判定する場合（Ｓ６２：ＹＥＳ）、顔画像データを取得する（Ｓ６４）。そして、ＣＰＵ７２は、顔画像データを解析することによって、ユーザが運転性能に不快感を示しているか否かを判定し、その結果を記憶装置７６に記憶する（Ｓ６６）。ＣＰＵ７２は、Ｓ６６の処理が完了する場合や、Ｓ６２の処理において否定判定する場合には、トリップの終了時であるか否かを判定する（Ｓ６８）。ここで、トリップとは、車両の走行許可信号がオン状態である１回の期間のことである。本実施形態において、走行許可信号は、イグニッション信号に相当する。
【００６２】
ＣＰＵ７２は、トリップの終了時であると判定する場合（Ｓ６８：ＹＥＳ）、そのトリップにおけるＳ６０の処理によって取得したアクセル操作量ＰＡおよび加速度Ｇｘの時系列データを読み出す（Ｓ７０）。そして、ＣＰＵ７２は、以下の条件（カ）〜条件（ク）の論理積が真であるか否かを判定する（Ｓ７２）。
【００６３】
条件（カ）：アクセル操作量ＰＡの最大値が規定値ＰＡＨ以上である旨の条件である。ここで、規定値ＰＡＨは、一般的なユーザによるアクセルペダル８６の操作によって生じるアクセル操作量ＰＡの想定最大値よりも大きい値に設定されている。
【００６４】
条件（キ）：車両ＶＣ１の加速度Ｇｘの最大値が規定値ＧｘＨＨ以上である旨の条件である。ここで、規定値ＧｘＨＨは、一般的なユーザによるアクセルペダル８６の操作によって生じる加速度Ｇｘの想定最大値よりも大きい値に設定されている。
【００６５】
条件（ク）：Ｓ６６の処理による顔画像データの解析結果が、運転性能に不快感を示すものである旨の条件である。
ＣＰＵ７２は、条件（カ）〜条件（ク）の論理積が真であると判定する場合（Ｓ７２：ＹＥＳ）、Ｓ５４の処理を実行する。すなわち、条件（カ）および条件（キ）の論理積が真である場合、ユーザがアクセルペダル８６を強く踏んで車両ＶＣ１を急加速させようとしている可能性があり、条件（ク）が成立するのであれば、車両ＶＣ１の応答性に不満を抱いているためにアクセルペダル８６を一般的なユーザと比較して強く踏んでいる可能性がある。そこで、車両ＶＣ１の加速性能を向上させることができるように、報酬を与える条件を変更する。
【００６６】
これに対し、ＣＰＵ７２は、条件（カ）〜条件（ク）の論理積が偽であると判定する場合（Ｓ７２：ＮＯ）、下記の条件（サ）、条件（シ）および条件（ク）の論理積が真であるか否かを判定する（Ｓ７４）。
【００６７】
条件（サ）：アクセル操作量ＰＡの最大値が規定値ＰＡＬ以下である旨の条件である。ここで、規定値ＰＡＬは、一般的なユーザによるアクセルペダル８６の操作によって生じるアクセル操作量ＰＡの想定最大値よりも小さい値に設定されている。
【００６８】
条件（シ）：車両ＶＣ１の加速度Ｇｘの最大値が規定値ＧｘＬＬ以下である旨の条件である。ここで、規定値ＧｘＬＬは、一般的なユーザによるアクセルペダル８６の操作によって生じる加速度Ｇｘの想定最大値よりも小さい値に設定されている。
【００６９】
ＣＰＵ７２は、条件（サ）、条件（シ）および条件（ク）の論理積が真であると判定する場合（Ｓ７４：ＹＥＳ）、Ｓ５８の処理を実行する。すなわち、条件（サ）および条件（シ）の論理積が真である場合、一般的なユーザと比較して車両ＶＣ１のユーザがアクセルペダル８６を軽く踏む傾向があり、条件（ク）が成立するのであれば、それにもかかわらず、車両ＶＣ１に加わる加速度が大きすぎて不快に感じている可能性がある。そこで、車両ＶＣ１の加速時にユーザが体感する加速度をより小さなものとすることができるように、報酬を与える条件を変更する。
【００７０】
なお、ＣＰＵ７２は、Ｓ５４，Ｓ５８の処理が完了する場合や、Ｓ６８，Ｓ７４の処理において否定判定する場合には、図５に示す一連の処理を一旦終了する。
このように、本実施形態では、ユーザが走行性能の評価を入力する操作をすることなく、ユーザによる車両ＶＣ１の運転中の情報から運転嗜好情報を取得し、これに応じて報酬を与える条件を変更できる。
【００７１】
＜第３の実施形態＞
以下、第３の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００７２】
本実施形態では、関係規定データＤＲの更新を、車両ＶＣ１の外で実行する。
図６に、本実施形態において、強化学習を実行する制御システムの構成を示す。なお、図６において、図１に示した部材に対応する部材については、便宜上、同一の符号を付している。
【００７３】
図６に示す車両ＶＣ１内の制御装置７０におけるＲＯＭ７４は、制御プログラム７４ａを記憶しているものの、学習プログラム７４ｂを記憶していない。また、制御装置７０は、通信機７７を備えている。通信機７７は車両ＶＣ１の外部のネットワーク１００を介してデータ解析センター１１０と通信するための機器である。
【００７４】
データ解析センター１１０は、複数の車両ＶＣ１，ＶＣ２，…から送信されるデータを解析する。データ解析センター１１０は、ＣＰＵ１１２、ＲＯＭ１１４、および電気的に書き換え可能な不揮発性メモリ（記憶装置１１６）、周辺回路１１８および通信機１１７を備えており、それらがローカルネットワーク１１９によって通信可能とされるものである。ＲＯＭ１１４には、学習プログラム７４ｂが記憶されており、記憶装置１１６には、関係規定データＤＲが記憶されている。
【００７５】
図７に、本実施形態にかかる強化学習の処理手順を示す。図７（ａ）に示す処理は、図６に示すＲＯＭ７４に記憶された制御プログラム７４ａをＣＰＵ７２が実行することにより実現される。また、図７（ｂ）に示す処理は、ＲＯＭ１１４に記憶されている学習プログラム７４ｂをＣＰＵ１１２が実行することにより実現される。なお、図７において図３および図４に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、強化学習の時系列に沿って、図７に示す処理を説明する。
【００７６】
図７（ａ）に示す一連の処理において、ＣＰＵ７２は、Ｓ１０〜Ｓ２６の処理を実行する。そして、ＣＰＵ７２は、Ｓ２２，Ｓ２６の処理を完了する場合、通信機７７を操作することによって、学習処理に必要なデータを送信する（Ｓ８０）。ここで、送信対象とされるデータは、Ｓ２２，Ｓ２６の処理の実行直前に終了したエピソードにおけるトルク指令値Ｔｒｑ＊、トルクＴｒｑおよび加速度Ｇｘの時系列データや、状態集合Ｓｊおよび行動集合Ａｊを含む。また、ＣＰＵ７２は、評価スイッチ９４の操作による評価入力があるか否かを判定し（Ｓ８２）、入力があると判定する場合（Ｓ８２：ＹＥＳ）、通信機７７を操作して、評価結果に関するデータを送信する（Ｓ８４）。
【００７７】
これに対し、図７（ｂ）に示すように、ＣＰＵ１１２は、Ｓ８０の処理によって送信されたデータを受信し（Ｓ１００）、Ｓ８４の処理による評価結果データの送信があるか否かを判定する（Ｓ１０２）。そして、ＣＰＵ１１２は、評価結果データの送信があると判定する場合（Ｓ１０２：ＹＥＳ）、評価結果を受信し（Ｓ１０４）、Ｓ５２〜Ｓ５８の処理を実行する。
【００７８】
ＣＰＵ１１２は、Ｓ５４，Ｓ５８の処理を完了する場合や、Ｓ５６，Ｓ１０２の処理において否定判定する場合には、Ｓ１００の処理によって受信したデータに基づき関係規定データＤＲを更新する（Ｓ２８）。そしてＣＰＵ１１２は、関係規定データＤＲの更新回数が所定回数以上であるか否かを判定し（Ｓ１０６）、所定回数以上であると判定する場合（Ｓ１０６：ＹＥＳ）、通信機１１７を操作して、Ｓ１００の処理によって受信したデータを送信した車両ＶＣ１に関係規定データＤＲを送信する（Ｓ１０８）。なお、ＣＰＵ１１２は、Ｓ１０８の処理を完了する場合や、Ｓ１０６の処理において否定判定する場合には、図７（ｂ）に示す一連の処理を一旦終了する。
【００７９】
これに対し、図７（ａ）に示すように、ＣＰＵ７２は、更新データがあるか否かを判定し（Ｓ８６）、あると判定する場合（Ｓ８６：ＹＥＳ）、更新された関係規定データＤＲを受信する（Ｓ８８）。そしてＣＰＵは、記憶装置７６に記憶されている関係規定データＤＲを、受信した関係規定データＤＲに書き換える（Ｓ９０）。なお、ＣＰＵ７２は、Ｓ９０の処理を完了する場合や、Ｓ２０，Ｓ２４，Ｓ８６の処理において否定判定する場合には、図７（ａ）に示す一連の処理を一旦終了する。
【００８０】
このように、本実施形態によれば、関係規定データＤＲの更新処理を車両ＶＣ１の外部で行うことから、制御装置７０の演算負荷を軽減できる。
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
【００８１】
［１］実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応し、記憶装置は、記憶装置７６に対応する。取得処理は、Ｓ１０，Ｓ１６，Ｓ５０，Ｓ６０，Ｓ６６の処理に対応し、操作処理は、Ｓ１４の処理に対応し、報酬算出処理は、Ｓ３２〜Ｓ３６の処理に対応し、更新処理は、Ｓ３８〜Ｓ４４の処理に対応する。［２］図４の処理に対応する。［３〜５］図５の処理に対応する。［６］加速度の基準は、下限値ＧｘＬおよび上限値ＧｘＨによって規定される範囲に対応する。［７］スロットルバルブの開口度に関する変数は、スロットル開口度指令値ＴＡ＊に対応する。［８〜１０］第１実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応し、第２実行装置は、ＣＰＵ１１２およびＲＯＭ１１４に対応する。
【００８２】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００８３】
・「運転嗜好情報について」
上記実施形態では、評価スイッチ９４の操作によって、ユーザによる車両の挙動の評価を取得したが、これに限らない。たとえば、車両ＶＣ１にマイクを備え、加速時等に、ユーザが「遅い」と言った場合に、加速感について低評価である旨の情報を取得してもよい。
【００８４】
図５においては、運転嗜好情報として、アクセル操作量ＰＡの最大値、加速度Ｇｘの最大値、および顔画像データの解析結果の３つを用いたが、これに限らない。それら３つの情報に関しては、それらのうちの２つのみ、または１つのみを用いてもよい。また、加速度Ｇｘの最小値を用いてもよい。これにより減速時の加速度Ｇｘの絶対値の大きさを、運転嗜好情報とすることができる。
【００８５】
・「行動変数について」
上記実施形態では、行動変数としてのスロットルバルブの開口度に関する変数として、スロットル開口度指令値ＴＡ＊を例示したが、これに限らない。たとえば、アクセル操作量ＰＡに対するスロットル開口度指令値ＴＡ＊の応答性を、無駄時間および２次遅れフィルタにて表現し、無駄時間と、２次遅れフィルタを規定する２つの変数との合計３つの変数を、スロットルバルブの開口度に関する変数としてもよい。ただし、その場合、状態変数は、アクセル操作量ＰＡの時系列データに代えて、アクセル操作量ＰＡの単位時間当たりの変化量とすることが望ましい。
【００８６】
上記実施形態では、行動変数としての点火時期に関する変数として、遅角量ａｏｐを例示したが、これに限らない。たとえば、ＫＣＳによる補正対象とされる点火時期自体であってもよい。
【００８７】
上記実施形態では、行動変数として、スロットルバルブの開口度に関する変数および点火時期に関する変数を例示したが、これに限らない。たとえば、スロットルバルブの開口度に関する変数および点火時期に関する変数に加えて、燃料噴射量を用いてもよい。また、それら３つに関しては、行動変数としてスロットルバルブの開口度に関する変数および燃料噴射量のみを採用したり、点火時期に関する変数および燃料噴射量のみを採用したりしてもよい。さらに、それら３つに関しては、行動変数としてそれらのうちの１つのみを採用してもよい。
【００８８】
また、「内燃機関について」の欄に記載したように、圧縮着火式の内燃機関の場合、スロットルバルブの開口度に関する変数に代えて噴射量に関する変数を用い、点火時期に関する変数に代えて噴射時期に関する変数を用いればよい。なお、噴射時期に関する変数に加えて、１燃焼サイクルにおける噴射回数に関する変数や、１燃焼サイクルにおける１つの気筒のための時系列的に隣接する２つの燃料噴射のうちの一方の終了タイミングと他方の開始タイミングとの間の時間間隔に関する変数を加えることが望ましい。
【００８９】
また、たとえば変速装置５０が有段変速装置の場合、クラッチの係合状態を油圧によって調整するためのソレノイドバルブの電流値等を行動変数としてもよい。
たとえば、下記「車両について」の欄に記載したように車両としてハイブリッド車や、電気自動車、燃料電池車を採用する場合、回転電機のトルクや出力を行動変数としてもよい。またたとえば、内燃機関のクランク軸の回転動力によって回転するコンプレッサを備えた車載空調装置を備える場合、コンプレッサの負荷トルクを行動変数に含めてもよい。また、電動式の車載空調装置を備える場合、空調装置の消費電力を行動変数に含めてもよい。
【００９０】
・「状態について」
上記実施形態では、アクセル操作量ＰＡの時系列データを、等間隔でサンプリングされた６個の値からなるデータとしたが、これに限らない。互いに異なるサンプリングタイミングにおける２個以上のサンプリング値からなるデータであればよく、この際、３個以上のサンプリング値からなるデータや、サンプリング間隔が等間隔であるデータであることがより望ましい。
【００９１】
アクセル操作量に関する状態変数としては、アクセル操作量ＰＡの時系列データに限らず、たとえば「行動変数について」の欄に記載したように、アクセル操作量ＰＡの単位時間当たりの変化量等であってもよい。
【００９２】
たとえば「行動変数について」の欄に記載したように、ソレノイドバルブの電流値を行動変数とする場合、状態に、変速装置の入力軸５２の回転速度や出力軸５４の回転速度、ソレノイドバルブによって調整される油圧を含めればよい。またたとえば「行動変数について」の欄に記載したように、回転電機のトルクや出力を行動変数とする場合、状態に、バッテリの充電率や温度を含めればよい。またたとえば「行動変数について」の欄に記載したように、コンプレッサの負荷トルクや空調装置の消費電力を行動に含める場合、状態に、車室内の温度を含めればよい。
【００９３】
・「テーブル形式のデータの次元削減について」
テーブル形式のデータの次元削減手法としては、上記実施形態において例示したものに限らない。たとえばアクセル操作量ＰＡが最大値となることはまれであることから、アクセル操作量ＰＡが規定量以上となる状態については行動価値関数Ｑを定義せず、アクセル操作量ＰＡが規定量以上となる場合のスロットル開口度指令値ＴＡ＊等は、別途適合してもよい。またたとえば、行動のとりうる値からスロットル開口度指令値ＴＡ＊が規定値以上となるものを除くなどして、次元削減をしてもよい。
【００９４】
もっとも、次元削減をすることは必須ではない。たとえば、第３の実施形態において複数の車両からのデータに基づく強化学習を行って且つＣＰＵ７２の演算能力や記憶装置７６の記憶容量が十分であるのであれば、車両の出荷前には次元削減をした一部のみについて行動価値関数を学習しておくものの、出荷後には、全ての行動を探索によって実行可能としてもよい。これにより、出荷後には出荷前と比較して十分な学習用のデータを確保できることに鑑み、探索としてとりうる行動の数を増やして、より適切な行動を見出すことが可能となる。
【００９５】
・「関係規定データについて」
上記実施形態では、行動価値関数Ｑを、テーブル形式の関数としたが、これに限らない。たとえば、関数近似器を用いてもよい。
【００９６】
たとえば、行動価値関数Ｑを用いる代わりに、方策πを、状態ｓおよび行動ａを独立変数とし、行動ａをとる確率を従属変数とする関数近似器にて表現し、関数近似器を定めるパラメータを、報酬ｒに応じて更新してもよい。
【００９７】
・「操作処理について」
たとえば「関係規定データについて」の欄に記載したように、行動価値関数を関数近似器とする場合、上記実施形態におけるテーブル型式の関数の独立変数となる行動についての離散的な値の組の全てについて、状態ｓとともに行動価値関数Ｑに入力することによって、行動価値関数Ｑを最大化する行動ａを選択すればよい。
【００９８】
また、たとえば「関係規定データについて」の欄に記載したように、方策πを、状態ｓおよび行動ａを独立変数とし、行動ａをとる確率を従属変数とする関数近似器とする場合、方策πによって示される確率に基づき行動ａを選択すればよい。
【００９９】
・「更新写像について」
Ｓ３８〜Ｓ４４の処理においては、εソフト方策オン型モンテカルロ法によるものを例示したが、これに限らない。たとえば、方策オフ型モンテカルロ法によるものであってもよい。もっとも、モンテカルロ法にも限らず、たとえば、方策オフ型ＴＤ法を用いたり、またたとえばＳＡＲＳＡ法のように方策オン型ＴＤ法を用いたり、またたとえば、方策オン型の学習として適格度トレース法を用いたりしてもよい。
【０１００】
また、たとえば「関係規定データについて」の欄に記載したように、方策πを関数近似器を用いて表現し、これを報酬ｒに基づき直接更新する場合には、方策勾配法等を用いて更新写像を構成すればよい。
【０１０１】
また、行動価値関数Ｑと方策πとのうちのいずれか一方のみを、報酬ｒによる直接の更新対象とするものに限らない。たとえば、アクター・クリティック法のように、行動価値関数Ｑおよび方策πをそれぞれ更新してもよい。また、アクター・クリティック法においては、これに限らず、たとえば行動価値関数Ｑに代えて価値関数Ｖを更新対象としてもよい。
【０１０２】
なお、方策πを定める「ε」については、固定値に限らず、学習の進行度合いに応じてあらかじめ定められた規則に応じて変更してもよい。
・「報酬算出処理について」
図３の処理では、条件（ア）および条件（イ）の論理積が真であるか否かに応じて報酬を与えたが、これに限らない。たとえば、条件（ア）を満たすか否かに応じて報酬を与える処理と、条件（イ）を満たすか否かに応じて報酬を与える処理とを実行してもよい。また、たとえば、条件（ア）を満たすか否かに応じて報酬を与える処理と、条件（イ）を満たすか否かに応じて報酬を与える処理との２つの処理に関しては、それらのうちのいずれか１つの処理のみを実行してもよい。
【０１０３】
また、たとえば条件（ア）を満たす場合に一律同じ報酬を与える代わりに、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が小さい場合に大きい場合よりもより大きい報酬を与える処理としてもよい。またたとえば、条件（ア）を満たさない場合に一律同じ報酬を与える代わりに、トルクＴｒｑとトルク指令値Ｔｒｑ＊との差の絶対値が大きい場合に小さい場合よりもより小さい報酬を与える処理としてもよい。
【０１０４】
また、たとえば条件（イ）を満たす場合に一律同じ報酬を与える代わりに、加速度Ｇｘの大きさに応じて報酬の大きさを可変とする処理としてもよい。またたとえば、条件（イ）を満たさない場合に一律同じ報酬を与える代わりに、加速度Ｇｘの大きさに応じて報酬の大きさを可変とする処理としてもよい。
【０１０５】
また、たとえば「行動変数について」の欄に記載したように、変速装置５０のソレノイドバルブの電流値を行動変数とする場合、たとえば報酬算出処理に以下の（ａ）〜（ｃ）の３つの処理のうちの少なくとも１つの処理を含めればよい。
【０１０６】
（ａ）変速装置による変速比の切り替えに要する時間が所定時間以内である場合に所定時間を超える場合よりも大きい報酬を与える処理である。
（ｂ）変速装置の入力軸５２の回転速度の変化速度の絶対値が入力側所定値以下である場合に入力側所定値を超える場合よりも大きい報酬を与える処理である。
【０１０７】
（ｃ）変速装置の出力軸５４の回転速度の変化速度の絶対値が出力側所定値以下である場合に出力側所定値を超える場合よりも大きい報酬を与える処理である。
こうした場合において、たとえば評価スイッチ９４の操作によって応答性が低すぎる旨の評価が入力される場合には、上記所定時間をより短く設定する一方、入力側所定値や出力側所定値についてはより大きい値に設定すればよい。
【０１０８】
また、たとえば「行動変数について」の欄に記載したように、回転電機のトルクや出力を行動変数とする場合、バッテリの充電率が所定範囲内にある場合にない場合よりも大きい報酬を与える処理や、バッテリの温度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理を含めてもよい。この場合、運転嗜好情報によって変更するのはあくまでも上記条件（イ）等としてもよいが、条件（イ）等を過渡運転時において満たしやすくすべく、所定範囲を運転嗜好情報に応じて可変としてもよい。
【０１０９】
また、たとえば「行動変数について」の欄に記載したように、コンプレッサの負荷トルクや空調装置の消費電力を行動変数に含める場合、車室内の温度が所定範囲内にある場合にない場合よりも大きい報酬を与える処理を加えてもよい。この場合、運転嗜好情報によって変更するのはあくまでも上記条件（イ）等としてもよいが、条件（イ）等を過渡運転時において満たしやすくすべく、所定範囲を運転嗜好情報に応じて可変としてもよい。
【０１１０】
・「取得処理について」
上記実施形態では、ユーザによる走行性能の評価結果を、評価スイッチ９４の出力信号に基づく評価変数ＶＶを取得することによって取得したがこれに限らない。たとえば、評価スイッチ９４に代えて、音声指示を感知する装置を備え、その感知結果を評価変数ＶＶとして取得してもよい。
【０１１１】
・「車両用制御システムについて」
図７に示した例では、方策πに基づく行動を決定する処理（Ｓ１２の処理）を、車両側で実行したが、これに限らない。たとえば、車両ＶＣ１からＳ１０の処理によって取得したデータを送信することとし、データ解析センター１１０にて送信されてデータを用いて行動ａを決定し、決定した行動を車両ＶＣ１に送信してもよい。
【０１１２】
車両用制御システムとしては、制御装置７０およびデータ解析センター１１０によって構成されるものに限らない。たとえば、データ解析センター１１０に代えて、ユーザの携帯端末を用いてもよい。また、制御装置７０およびデータ解析センター１１０と携帯端末とによって車両用制御システムを構成してもよい。これは、たとえばＳ１２の処理を携帯端末によって実行することにより実現できる。
【０１１３】
・「実行装置について」
実行装置としては、ＣＰＵ７２（１１２）とＲＯＭ７４（１１４）とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばＡＳＩＣ等の専用のハードウェア回路を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１１４】
・「記憶装置について」
上記実施形態では、関係規定データＤＲが記憶される記憶装置と、学習プログラム７４ｂや制御プログラム７４ａが記憶される記憶装置（ＲＯＭ７４，１１４）とを別の記憶装置としたが、これに限らない。
【０１１５】
・「内燃機関について」
内燃機関としては、燃料噴射弁として吸気通路１２に燃料を噴射するポート噴射弁を備えるものに限らず、燃焼室２４に燃料を直接噴射する筒内噴射弁を備えるものであってもよく、またたとえば、ポート噴射弁および筒内噴射弁の双方を備えるものであってもよい。
【０１１６】
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
・「車両について」
車両としては、推力生成装置が内燃機関のみである車両に限らず、たとえば内燃機関と回転電機とを備えるいわゆるハイブリッド車両であってもよい。またたとえば、推力生成装置として、内燃機関を備えることなく、回転電機を備えるいわゆる電気自動車や燃料電池車あってもよい。
【符号の説明】
【０１１７】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…燃料噴射弁、１８…吸気バルブ、２０…シリンダ、２２…ピストン、２４…燃焼室、２６…点火装置、２８…クランク軸、３０…排気バルブ、３２…排気通路、３４…触媒、４０…トルクコンバータ、４２…ロックアップクラッチ、５０…変速装置、５２…入力軸、５４…出力軸、６０…駆動輪、７０…制御装置、７２…ＣＰＵ、７４…ＲＯＭ、７４ａ…制御プログラム、７４ｂ…学習プログラム、７６…記憶装置、７７…通信機、７８…周辺回路、７９…ローカルネットワーク、８０…エアフローメータ、８２…スロットルセンサ、８４…クランク角センサ、８６…アクセルペダル、８８…アクセルセンサ、９０…加速度センサ、９２…カメラ、９４…評価スイッチ、１００…ネットワーク、１１０…データ解析センター、１１２…ＣＰＵ、１１４…ＲＯＭ、１１４ａ…学習プログラム、１１６…記憶装置、１１７…通信機、１１８…周辺回路、１１９…ローカルネットワーク。
【要約】
【課題】車両の状態と行動変数との関係の設定に際して、熟練者に要求される工数を削減できるようにした車両用制御装置を提供する。
【解決手段】ＣＰＵは、１つのエピソードが終了するまで（Ｓ２２，Ｓ２６）、アクセル操作量ＰＡの時系列データに基づき、スロットル開口度指令値ＴＡ＊および点火時期の遅角量ａｏｐを設定し、それらに応じてスロットルバルブや点火装置を操作し（Ｓ１２，Ｓ１４）、その際のトルクＴｒｑ、トルク指令値Ｔｒｑ＊および加速度Ｇｘを取得する（Ｓ１６）。ＣＰＵは、エピソードが終了する場合、トルクＴｒｑや加速度Ｇｘが基準を満たすか否かに応じて報酬を与えることによって行動価値関数Ｑを更新する（Ｓ２８）。ＣＰＵは、ユーザの運転嗜好情報に応じて、報酬の与え方を変える。
【選択図】図２【図１】
0006705544.tif 000002
【図２】
0006705544.tif 000003
【図３】
0006705544.tif 000004
【図４】
0006705544.tif 000005
【図５】
0006705544.tif 000006
【図６】
0006705544.tif 000007
【図７】
0006705544.tif 000008