(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165200
(43)【公開日】2024-11-28
(54)【発明の名称】車両制御装置、車両制御方法、及び車両制御プログラム
(51)【国際特許分類】
B60L 15/20 20060101AFI20241121BHJP
H02P 29/032 20160101ALI20241121BHJP
【FI】
B60L15/20 J
H02P29/032
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023081133
(22)【出願日】2023-05-16
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】神尾 茂
(72)【発明者】
【氏名】高橋 亮裕
(72)【発明者】
【氏名】劉 海博
【テーマコード(参考)】
5H125
5H501
【Fターム(参考)】
5H125AA01
5H125AC12
5H125BA00
5H125CA01
5H125EE02
5H125EE05
5H125EE51
5H125EE52
5H125EE63
5H501AA20
5H501CC04
5H501JJ03
5H501JJ04
5H501JJ17
5H501LL01
5H501LL22
5H501LL39
5H501MM05
(57)【要約】
【課題】ドライバビリティの悪化を抑制しつつ、スムーズに段差を乗り越えることができる。
【解決手段】車両制御装置(10)は、車両(100)が段差を乗り越えるための段差乗り越え制御を行う段差乗り越え制御部(41)と、前記車両を駆動する回転電機(150)の過熱を抑制して前記回転電機を保護するための保護制御を行う保護制御部(41)と、前記回転電機の温度を取得する温度取得部(42)と、前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する実行猶予部(43)と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
車両(100)が段差を乗り越えるための段差乗り越え制御を行う段差乗り越え制御部(41)と、
前記車両を駆動する回転電機(150)の過熱を抑制して前記回転電機を保護するための保護制御を行う保護制御部(41)と、
前記回転電機の温度を取得する温度取得部(42)と、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する実行猶予部(43)と、
を備えた車両制御装置(10)。
【請求項2】
前記車両の速度を取得する速度取得部(44)を備え、
前記保護制御部は、前記回転電機の温度が前記第1閾値以上になった場合は、前記車両の速度が目標車速となるように、前記回転電機に付与する保護制御用トルクを設定する、
請求項1記載の車両制御装置。
【請求項3】
前記保護制御部は、前記回転電機の温度が前記第1閾値よりも大きい第2閾値以上になった場合は、前記車両の速度が所定速度以下となるように前記保護制御用トルクを設定する、
請求項2記載の車両制御装置。
【請求項4】
前記回転電機は、三相のモータジェネレータであり、
前記温度取得部は、前記三相のモータジェネレータに流れる電流の電流値に基づいて前記温度を推定する
請求項1記載の車両制御装置。
【請求項5】
前記温度取得部は、前記車両が所定速度以下で且つ前記モータジェネレータに連続通電中の場合は、前記車両が所定速度より大きい場合における前記温度の推定よりも、前記温度の上昇率が高くなるように、前記温度を推定する
請求項4記載の車両制御装置。
【請求項6】
前記段差乗り越え制御部は、
前記車両の速度が第1速度以下で且つ前記段差が第1所定高さより高い場合は、前記段差の乗り越えを禁止する乗り越え禁止制御を実行し、
前記車両の速度が第1速度より速い第2速度より速い場合、又は、前記段差の高さが前記第1所定高さより低い第2所定高さ以下の場合は、前記車両のドライバーの要求で段差を乗り越える制御を実行し、
前記車両の速度が前記第2速度以下の場合において、前記段差の高さが第2所定高さより高く且つ前記第1所定高さ以下の場合と、前記車両の速度が前記第1速度より速く且つ前記第2速度以下の場合において、前記段差の高さが前記第1所定高さより高い場合は、前記第1速度で前記段差を乗り越える低速乗り越え制御を行う、
請求項2~5の何れか1項に記載の車両制御装置。
【請求項7】
少なくとも1つのプロセッサ(21A)が、
車両が段差を乗り越えるための段差乗り越え制御を行い、
前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、
前記回転電機の温度を取得し、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、
ことを含む処理を実行する車両制御方法。
【請求項8】
少なくとも1つのプロセッサに、
車両が段差を乗り越えるための段差乗り越え制御を行い、
前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、
前記回転電機の温度を取得し、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、
ことを含む処理を実行させる車両制御プログラム(23A)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両制御装置、車両制御方法、及び車両制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の通電相を有し、回転角に応じて前記複数の通電相のそれぞれの通電相に通電する電流値を制御することによりトルクを発生させる第1電動機と、車両の停車状態を維持するトルクを出力可能なアクチュエータと、前記第1電動機が出力したトルクを駆動輪に伝達する伝達経路内で前記トルクを伝達する係合状態と前記トルクを遮断する解放状態とを切り替え可能な切替機構とを備えた車両の制御装置において、前記アクチュエータおよび前記切替機構を制御するコントローラを備え、前記コントローラは、前記第1電動機の回転が停止した状態で所定のトルクを出力して停車状態を維持することにより、前記複数の通電相のうちのいずれか一つの所定の通電相の熱負荷が所定値以上になると判断された場合に、前記第1電動機の前記回転角を変更して前記所定の通電相の熱負荷を低下させる通電相変更制御を実行するように構成され、前記通電相変更制御は、前記切替機構を前記解放状態に切り替えるとともに、前記アクチュエータにより前記車両の停車状態を維持するトルクを出力している間に実行するように構成されていることを特徴とする車両の制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1には、モータやインバータの過熱を回避しつつ車両のずり下がりに対する反力を出力することが可能な技術が開示されている。
【0005】
また、車両が段差を乗り越える場合もモータやインバータ等の駆動源が過負荷運転となって過熱となる場合があるため、駆動源を保護するための過熱保護制御が実行される場合がある。車両が段差を乗り越えているときに過熱保護制御が実行されると、トルクを制限した状態とトルクの制限を解除した状態とが繰り返されるハンチングが発生する。このため、ドライバビリティが悪化する場合があるという問題があった。また、トルクの制限により車両が段差を乗り越えられなかったり、段差を乗り越えた後に車両が飛び出したりする等、スムーズに段差を乗り越えるのが困難な場合があるという問題があった。
【0006】
本開示は、ドライバビリティの悪化を抑制しつつ、スムーズに段差を乗り越えることができる車両制御装置、車両制御方法、及び車両制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の第1態様に係る車両制御装置は、車両が段差を乗り越えるための段差乗り越え制御を行う段差乗り越え制御部と、前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行う保護制御部と、前記回転電機の温度を取得する温度取得部と、前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する実行猶予部と、を備える。
【0008】
第2態様に係る車両制御方法は、少なくとも1つのプロセッサが、車両が段差を乗り越えるための段差乗り越え制御を行い、前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、前記回転電機の温度を取得し、前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、ことを含む処理を実行する。
【0009】
第3態様に係る車両制御プログラムは、少なくとも1つのプロセッサに、車両が段差を乗り越えるための段差乗り越え制御を行い、前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、前記回転電機の温度を取得し、前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、ことを含む処理を実行させる。
【発明の効果】
【0010】
本開示によれば、ドライバビリティの悪化を抑制しつつ、スムーズに段差を乗り越えることができる、という効果を有する。
【図面の簡単な説明】
【0011】
【
図2】車両制御装置のハードウエア構成を示すブロック図である。
【
図3】車両制御装置の機能構成を示すブロック図である。
【
図4】段差乗り越え制御部の機能ブロック図である。
【
図9】単相連続通電判定処理のフローチャートである。
【
図10】過熱保護判定処理のフローチャートである。
【
図11】過熱保護トルク補正処理のフローチャートである。
【
図12】段差乗り越え制御の許可判定処理のフローチャートである。
【
図13】段差乗り越え制御の許可判定処理のフローチャートである。
【
図14】判定閾値マップデータについて説明するための図である。
【
図16】車輪が段差に接触した状態を示す図である。
【
図17A】車輪の回転中心軸の軌跡を示すグラフである。
【
図18】片輪、両輪乗り上げ判定処理のフローチャートである。
【
図19】踏み間違い帽子処理のフローチャートである。
【
図20】乗り越え禁止制御のフローチャートである。
【
図21】車速、段差高さ、及び段差乗り越え制御の関係示す図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0013】
本実施形態に係る車両制御装置10は、車両100に搭載されるものであり、車両100の制御等を行うための装置として構成されている。車両制御装置10の説明に先立ち、
図1を参照しながら車両100の構成について先ず説明する。
【0014】
車両100は、運転者の運転操作に基づいて走行する車両である。ただし、車輪が段差に接触した場合等においては、運転操作の一部(例えば制動)が、車両制御装置10によって自動的に行われることもある。車両100は、車体101と、車輪111、112、121、122と、回転電機150と、電池160と、を備えている。
【0015】
車体101は、車両100の本体部分であり、「ボディ」と称される部分である。車輪111は、車体101の前方左側部分に設けられた車輪であり、車輪112は、車体101の前方右側部分に設けられた車輪である。前輪である車輪111、112は、本実施形態では従動輪として設けられている。
【0016】
車輪121は、車体101の後方左側部分に設けられた車輪であり、車輪122は車体101の後右側部分に設けられた車輪である。後輪である車輪121、122は、本実施形態では駆動輪として設けられている。つまり、車輪121、122は、後述の回転電機150の駆動力によって回転し、車両100を走行Tさせる。
【0017】
このように、本実施形態の車両100は、所謂「後輪駆動」の車両として構成されている。このような態様に換えて、車両100は、前輪駆動の車両として構成されていてもよく、四輪駆動の車両として構成されていてもよい。後者の場合、後輪を駆動するための回転電機150に加えて、前輪を駆動するための回転電機が別途設けられていてもよい。
【0018】
車輪121にはブレーキ装置131が設けられており、車輪122にはブレーキ装置132が設けられている。ブレーキ装置131、132はいずれも、油圧により車輪に制動力を加える制動装置である。このような制動装置は、駆動輪のみならず、従動輪である車輪111、112にも設けられていてもよい。ブレーキ装置131、132の動作は、後述のブレーキECU20によって制御される。
【0019】
回転電機150は、後述の電池160から電力の供給を受けて、車輪121、122を回転させるための駆動力、すなわち、車両100が走行するのに必要な駆動力を発生させる装置である。回転電機150は、一例として所謂「モータジェネレータ」である。回転電機150で生じた駆動力は、パワートレイン部140を介して車輪121、122のそれぞれに伝達され、車輪121、122を回転させる。なお、電池160と回転電機150との間における電力の授受は、電力変換器であるインバータを介して行われるのであるが、
図1においては当該インバータの図示が省略されている。
【0020】
回転電機150は、車両100を加速するための駆動力を生じさせるほか、回生により車両100を減速させる制動力をも生じさせることができる。車両100の制動は、回転電機150によって行うこともできるし、先に述べたブレーキ装置131、132によって行うこともできる。
【0021】
電池160は、回転電機150に駆動用の電力を供給するための蓄電池である。本実施形態では、一例として電池160としてリチウムイオンバッテリーが用いられている。制動時において回転電機150で生じた回生電力は、不図示のインバータを介して電池160に供給され、電池160に充電される。
【0022】
車両100には、車両制御装置10とは別にブレーキECU20が設けられている。車両制御装置10及びブレーキECU20はいずれも、CPU、ROM、RAM等を有するコンピュータシステムとして構成されている。これらは、車両100に設けられたネットワークを介して、互いに双方向の通信を行うことができる。なお、車両制御装置10のハードウエア構成の詳細については後述する。
【0023】
ブレーキECU20は、車両制御装置10からの指示に応じて、ブレーキ装置131、132の動作を制御する処理を行う。
【0024】
なお、車両制御装置10及びブレーキECU20は、本実施形態のように2つの装置に分かれていなくてもよい。例えば、車両制御装置10に、ブレーキECU20の機能が統合されている態様としてもよい。後に説明する車両制御装置10の機能を実現するにあたっては、その具体的な装置構成は特に限定されない。
【0025】
図2は、車両制御装置10のハードウエア構成を示すブロック図である。
図2に示すように、車両制御装置10は、制御部21を備える。制御部21は、一般的なコンピュータを含む装置で構成される。
【0026】
図1に示すように、制御部21は、CPU(Central Processing Unit)21A、ROM(Read Only Memory)21B、RAM(Random Access Memory)21C、及び入出力インターフェース(I/O)21Dを備える。そして、CPU21A、ROM21B、RAM21C、及びI/O21Dがバス21Eを介して各々接続されている。バス21Eは、コントロールバス、アドレスバス、及びデータバスを含む。
【0027】
また、I/O21Dには、通信部22、記憶部23、及び各種のセンサを含むセンサ群200が接続されている。
【0028】
通信部22はブレーキECU20及び回転電機150等の外部装置と通信を行うためのインターフェースである。
【0029】
記憶部23は、ハードディスク等の不揮発性の外部記憶装置で構成される。
図1に示すように、記憶部23は、車両制御プログラム23A、トルクマップデータ23B、判定閾値マップデータ23C、及び勾配トルクマップデータ23D等を記憶する。
【0030】
CPU21Aは、コンピュータの一例である。ここでいうコンピュータとは、広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU)、又は、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0031】
なお、車両制御プログラム23Aは、不揮発性の非遷移的(non-transitory)記録媒体に記憶して、又はネットワークを介して配布して、車両制御装置10に適宜インストールすることにより記憶部23に記憶されてもよい。また、車両制御プログラム23Aは、所謂OTA(Over The Air)により適宜更新されてもよい。
【0032】
不揮発性の非遷移的記録媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD(ハードディスクドライブ)、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が挙げられる。
【0033】
車両100には、各種の物理量を測定するためのセンサが多数設けられているのであるが、上記センサ群200には、
図3に示すように、車輪速センサ201、加速度センサ202、電流センサ203、車外カメラ204、アクセルセンサ205、外部温度センサ206、勾配センサ207、ブレーキセンサ208、パーキングセンサ209、及びヨーレートセンサ210等が含まれる。
【0034】
車輪速センサ201は、車輪111等の単位時間あたりにおける回転数を測定するためのセンサである。車輪速センサ201は、4つの車輪111、112、121、122のそれぞれに対して個別に設けられているのであるが、
図3においては、車輪速センサ201が単一のブロックとして模式的に描かれている。車輪速センサ201で測定された回転数を示す信号は、車両制御装置10へと送信される。車両制御装置10は、当該信号に基づいて、車両100の走行速度を把握することができる。
【0035】
加速度センサ202は、車両100の加速度を検出するためのセンサである。加速度センサ202は車体101に取り付けられている。加速度センサ202は、車体101の前後方向、左右方向、及び上下方向の各加速度に加えて、ピッチング、ローリング、及びヨーイングの各回転加速度をも検出することのできる、6軸加速度センサとして構成されている。
【0036】
加速度センサ202によって取得される加速度には、車両100の進行方向(つまり前後方向)に沿った加速度GXと、車両100の左右方向に沿った加速度Gyとが含まれる。加速度GXは「縦加速度」とも称されるものであり、加速度Gは「横加速度」とも称されるものである。これらはいずれも、例えば「0.5G」のように、重力加速度である「G」を単位とする数値として取得される。加速度センサ202により検出された各加速度を示す信号は、車両制御装置10へと送信される。
【0037】
電流センサ203は、回転電機150を流れる駆動用電流の値を検出するためのセンサである。電流センサ203により検出された駆動用電流の値を示す信号は、車両制御装置10へと入力される。車両制御装置10は、入力された駆動用電流の値に基づいて、回転電機150で生じている駆動力の大きさを判定することができる。
【0038】
車外カメラ204は、車両100の周囲を撮影するカメラであり、例えばCMOSカメラである。車外カメラ204により撮影された画像のデータは、車両制御装置10へと入力される。車両制御装置10は、当該画像を処理することにより、車両100の周囲における障害物(例えば車輪止めのような段差)の有無やその形状を把握することができる。
【0039】
なお、車両100の周囲の状況を検知するためのセンサとしては、車外カメラ204に加えて、もしくは車外カメラ204に換えて、他のセンサが設けられていてもよい。このようなセンサとしては、例えば、LIDARセンサやレーダー等が挙げられる。
【0040】
アクセルセンサ205は、アクセル操作量、すなわちアクセル開度を検出するセンサである。
【0041】
外部温度206は、車両100の外部温度を検出するセンサである。
【0042】
勾配センサ207は、車両100が走行する路面の勾配を検出するセンサである。
【0043】
ブレーキセンサ208は、ブレーキ装置131、132のブレーキ油圧を検出するセンサである。
【0044】
パーキングセンサ209は、車両100のパーキングブレーキのオンオフを検出するセンサである。
【0045】
ヨーレートセンサ210は、ヨーレートを検出するためのセンサである。
【0046】
図4は、車両制御装置10のCPU21Aの機能構成を示すブロック図である。
図4に示すように、CPU21Aは、機能的には、段差乗り越え制御部40、保護制御部41、温度取得部42、実行猶予部43、及び速度取得部44の各機能部を備える。
【0047】
段差乗り越え制御部40は、車両100が段差を乗り越えるための段差乗り越え制御を行う。
【0048】
保護制御部41は、車両100を駆動する回転電機150の過熱を抑制して回転電機150を保護するための保護制御を行う。
【0049】
温度取得部42は、回転電機150の温度を取得する。
【0050】
実行猶予部43は、車両100の段差乗り越え制御を実行中に、回転電機150の温度が保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで保護制御の実行を猶予する。
【0051】
速度取得部44は、車両100の速度を取得する。
【0052】
保護制御部41は、回転電機150の温度が第1閾値以上になった場合は、車両100の速度が目標車速となるように、回転電機150に付与する保護制御用トルクを設定してもよい。
【0053】
また、保護制御部41は、回転電機150の温度が第1閾値よりも大きい第2閾値以上になった場合は、車両の速度が所定速度以下となるように保護制御用トルクを設定するようにしてもよい。
【0054】
また、回転電機150が三相のモータジェネレータの場合は、温度取得部42は、モータジェネレータに流れる電流の電流値に基づいて温度を推定してもよい。具体的には、温度取得部42は、車両100が所定速度以下で且つモータジェネレータの単相に連続通電中の場合は、モータジェネレータが所定速度より大きい場合における温度の推定よりも、温度の上昇率が高くなるように、温度を推定してもよい。
【0055】
また、段差乗り越え制御部40は、車両100の速度が第1速度以下で且つ段差が第1所定高さより高い場合は、段差の乗り越えを禁止する乗り越え禁止制御を実行し、車両100の速度が第1速度より速い第2速度より速い場合、又は、段差の高さが第1所定高さより低い第2所定高さ以下の場合は、車両100のドライバーの要求で段差を乗り越える制御を実行し、車両100の速度が第2速度以下の場合において、段差の高さが第2所定高さより高く且つ第1の所定高さ以下の場合と、車両の速度が第1速度より速く且つ第2速度以下の場合において、段差の高さが第1所定高さより高い場合は、第1速度で段差を乗り越える低速乗り越え制御を行うようにしてもよい。
【0056】
CPU21Aは、記憶部23に記憶された車両制御プログラム23Aを読み込んで実行することにより
図4に示す各機能部として機能する。なお、車両制御プログラム23Aは、後述する
図5の保護制御処理、
図6の段差乗り越え制御処理、及び
図7のトルク選択処理を含む。
【0057】
次に、
図5を参照して制御部21のCPU21Aで実行される保護制御処理、すなわち、車両100を駆動する回転電機150の過熱を抑制して回転電機150を保護するための保護制御処理について説明する。
図5に示した保護制御処理は、所定時間毎、例えば10msec毎に繰り返し実行される処理である。
【0058】
ステップS100では、CPU21Aが、
図8に示す温度推定処理を実行する。温度推定処理の詳細については後述する。
【0059】
ステップS101では、CPU21Aが、
図10に示す過熱保護判定処理を実行する。過熱保護判定処理では、回転電機150に付与する保護制御用トルクTHが算出され、記憶部23に記憶される。記憶部23に記憶された保護制御用トルクTHは、保護制御処理が実行される毎に逐次更新される。なお、過熱保護判定処理の詳細については後述する。
【0060】
次に、
図6を参照して制御部21のCPU21Aで実行される段差乗り越え制御処理について説明する。
図6に示した段差乗り越え制御処理は、所定時間毎、例えば10msec毎に繰り返し実行される処理である。
【0061】
ステップS200では、CPU21Aが、
図12、13に示す踏み間違い防止制御の許可判定処理を実行する。なお、踏み間違い防止制御の許可判定処理の詳細については後述する。
【0062】
ステップS201では、CPU21Aが、
図15に示す段差推定処理を実行する。なお、段差推定処理の詳細については後述する。
【0063】
ステップS202では、CPU21Aが、
図19に示す踏み間違い判定処理を実行する。踏み間違い判定処理では、回転電機150に付与する踏み間違い防止制御用トルクTOが算出され、記憶部23に記憶される。記憶部23に記憶された踏み間違い防止制御用トルクTOは、段差乗り越え制御が実行される毎に逐次更新される。なお、踏み間違い判定処理の詳細については後述する。
【0064】
次に、
図7を参照して制御部21のCPU21Aで実行されるトルク選択処理について説明する。
図7に示したトルク選択処理は、所定時間毎、例えば10msec毎に繰り返し実行される処理である。
【0065】
ステップS300では、CPU21Aが、車両100のドライバーのアクセル操作量に応じたドライバー要求トルクTACCを記憶部23から読み出すことにより取得する。ドライバー要求トルクTACCは、車両100のドライバーのアクセル操作量に応じたトルク値である。例えばアクセル操作量とトルク値との対応関係を示すトルクマップデータ23Bを記憶部23に予め記憶しておき、アクセルセンサ205から取得したアクセル操作量に対応するトルク値をトルクマップデータ23Bから取得し、これをドライバー要求トルクTACCとして記憶部23に記憶しておく。記憶部23に記憶されたドライバー要求トルクTACCは、ドライバーのアクセル操作量に応じて逐次更新される。
【0066】
ステップS301では、CPU21Aが、
図5に示す保護制御処理により算出された保護制御用トルクTHを記憶部23から読み出すことにより取得する。
【0067】
ステップS302では、CPU21Aが、
図6に示す段差乗り越え制御処理により算出された踏み間違い防止制御用トルクTOを記憶部23から読み出すことにより取得する。
【0068】
ステップS303では、CPU21Aが、回転電機150に付与する最終トルクTMGを決定する。具体的には、ステップS300で取得したドライバー要求トルクTACC、ステップS301で取得した保護制御用トルクTH、及びステップS302で取得した踏み間違い防止制御用トルクTOのうち、トルク値が最小のトルクを最終トルクTMGとして決定する。このため、過大なトルクが回転電機150に付与されるのが防止される。
【0069】
次に、
図8のステップS100の温度推定処理の詳細について、
図10を参照して説明する。
【0070】
ステップS400では、CPU21Aが、車輪速センサ201から取得した車輪速に基づいて車両の走行速度(以下、車速と称する)を算出し、算出した車速の絶対値(以下、単に車速と称する)が所定速度より大きいか否かを判定する。ここで、所定速度は、車両100が停止しているとみなせる速度であり、本実施形態では一例として0.1kphであるが、これに限られるものではない。
【0071】
そして、車速が所定速度より大きい場合、すなわち車両100が走行中の場合はステップ401へ移行し、車速所定速度以下の場合、すなわち車両100が停止中の場合はステップS405へ移行する。
【0072】
ステップS401では、CPU21Aが、回転電機150の発熱による温度上昇分を示すΔTup1を算出する。ΔTup1は次式により算出することができる。
【0073】
ΔTup1=k1×|iMG| ・・・(1)
【0074】
ここで、iMGは、回転電機150を流れる電流の電流値であり、電流センサ203から取得することができる。また、k1は、電流値iMGを温度に変換するための予め定めた係数であり、車速の絶対値が所定速度より大きい場合にΔTupの算出に適した値として予め設定されている。このように、ΔTup1は、電流値iMGの絶対値に係数k1を乗算した値である。
【0075】
ステップS402では、外部との熱交換による回転電機150の放熱による温度下降分を示すΔTdwn1を算出する。ΔTdwn1は、例えば車両100の外部温度をパラメータとして含む予め定めた算出式により算出することができる。外部温度は、外部温度センサ206から取得すればよい。
【0076】
ステップS403では、CPU21Aが、回転電機150の温度TempMG1を次式により算出する。
【0077】
TempMG1=TempMG1+(ΔTup-ΔTdwn) ・・・(2)
【0078】
このように、現在のTempMG1に、温度上昇分ΔTupと温度下降分ΔTdwnとの差分を加算することにより、TempMG1を更新する。
【0079】
ステップS404では、CPU21Aが、ステップS403で算出した温度TempMG1に基づいて、回転電機150の推定温度TempMGを次式により算出する。
【0080】
TempMG=LPF1(TempMG1) ・・・(3)
【0081】
ここで、LPF1()は、ローパスフィルタを示す関数である。
【0082】
ステップS405では、CPU21Aが、単相連続通電フラグXUVWCが1であるか否かを判定する。単相連続通電フラグXUVWCについての詳細は後述するが、単相連続通電フラグXUVWCが1の場合は、三相のモータジェネレータである回転電機150のU相、V相、W相の何れかの相において連続通電中である、すなわち相が変化しておらず、回転電機150が停止中であることを示す。一方、単相連続通電フラグXUVWCが0の場合は、通電相が、U相、V相、W相の何れかの相から他の相に変化している、すなわち回転電機150が回転中であることを示す。そして、単相連続通電フラグXUVWCが1である場合、すなわち回転電機150が停止中である場合はステップ406へ移行し、単相連続通電フラグXUVWCが0の場合、すなわち回転電機150が回転中の場合は本ルーチンを終了する。
【0083】
ステップS406では、CPU21Aが、回転電機150の発熱による温度上昇分を示すΔTup2を算出する。ΔTup2は次式により算出することができる。
【0084】
ΔTup2=k2×|iMG| ・・・(4)
【0085】
ここで、k2は、電流値iMGを温度に変換するための予め定めた係数であり、車速の絶対値が所定速度以下で且つ単相連続通電フラグXUVWCが1である場合にΔTupの算出に適した係数として予め設定されている。このように、ΔTup2は、電流値iMGの絶対値に係数k2を乗算した値である。
【0086】
ステップS407では、外部との熱交換による回転電機150の放熱による温度下降分を示すΔTdwn2を算出する。ΔTdwn2は、ステップS402と同様に、例えば車両100の外部温度をパラメータとして含む予め定めた算出式により算出することができる。
【0087】
ステップS408では、CPU21Aが、回転電機150の温度TempMG2を次式により算出する。
【0088】
TempMG2=TempMG2+(ΔTup-ΔTdwn) ・・・(5)
【0089】
このように、現在のTempMG2に、温度上昇分ΔTupと温度下降分ΔTdwnとの差分を加算することにより、TempMG2を更新する。
【0090】
ステップS409では、CPU21Aが、ステップS408で算出した温度TempMG2に基づいて、回転電機150の推定温度TempMGを次式により算出する。
【0091】
TempMG=LPF2(TempMG2) ・・・(6)
【0092】
ここで、LPF2()は、ローパスフィルタを示す関数である。ここで、関数LPF2()の時定数は、関数LPF1()の時定数よりも小さい。すなわち、車速が所定速度以下で且つ回転電機150の単相に連続通電中の場合は、車速が所定速度より大きい場合における温度の推定よりも、温度の上昇率が高くなるように、温度が推定される。
【0093】
なお、回転電機150の温度を検出する温度センサが設けられている場合には、
図10の温度推定処理に代えて、温度センサから取得した温度をTempMGとしてもよい。
【0094】
次に、
図9を参照して、単相連続通電判定処理について説明する。
【0095】
ステップS500では、CPU21Aが、通電相が変化したか否かを判定する。すなわち、U相、V相、W相の何れかの通電している相が、他の相に変化したか否かを判定する。そして、通電相が変化していない場合はステップS501へ移行し、通電相が変化した場合はステップS504へ移行する。
【0096】
ステップS501では、CPU21Aが、単相連続通電時間を示すカウンタTcntを次式により更新する。
【0097】
Tcnt=Tcnt+(tn-tn-1) ・・・(7)
【0098】
ここで、t
nは、今回
図9の処理を実行した時刻であり、t
n-1は、前回
図9の処理を実行した時刻である。なお、カウンタT
cntは後述するステップS505でリセットされる。
【0099】
ステップS502では、CPU21Aが、カウンタtcntが所定時間より大きいか否か、すなわちカウンタTcntがリセットされてから所定時間経過したか否かを判定する。所定時間は、本実施形態では一例として0.5秒に設定されるが、これに限られるものではない。そして、カウンタtcntが所定時間より大きい場合はステップS503へ移行し、カウンタtcntが所定時間以下の場合はステップS504へ移行する。
【0100】
ステップS503では、CPU21Aが、単相連続通電フラグXUVWCを1にセットする。
【0101】
ステップS504では、CPU21Aが、単相連続通電フラグXUVWCを0にセットする。
【0102】
ステップS505では、CPU21Aが、カウンタTcntを0にセットする。すなわち、カウンタTcntをリセットする。
【0103】
次に、
図5のステップS101の過熱保護処理の詳細について、
図10を参照して説明する。
【0104】
ステップS600では、CPU21Aが、
図8の温度推定処理で推定した温度TempMGが第1閾値以上であるか否かを判定する。第1閾値は、本来であれば過熱保護制御を行う必要がある温度であり、本実施形態では一例として165℃に設定されるが、これに限られるものではない。そして、TempMGが第1閾値以上である場合はステップS601へ移行し、TempMGが第1閾値未満である場合はステップS607へ移行する。
【0105】
ステップS601では、CPU21Aが、段差乗り越え制御フラグXEXが1であるか否かを判定する。段差乗り越え制御フラグXEXが1の場合は、後述する段差乗り越え制御を実行中であることを示し、段差補正フラグXEXが0の場合は、段差乗り越え制御を実行中ではないことを示す。段差乗り越え制御フラグの設定については後述する。
【0106】
そして、段差乗り越え制御フラグXEXが1である場合、すなわち、段差乗り越え制御を実行中の場合はステップS602へ移行する。一方、段差乗り越え制御フラグXEXが0の場合、すなわち、段差乗り越え制御を実行中でない場合は、ステップS604へ移行する。
【0107】
ステップS602では、CPU21Aが、過熱保護制御の実行猶予カウンタであるcUVWCを次式によりインクリメントする。
【0108】
cUVWC=cUVWC+1 ・・・(8)
【0109】
ステップS603では、CPU21Aが、実行猶予カウンタcUVWCが所定時間を越えたか否かを判定する。所定時間は、本実施形態では一例として1秒に設定されるが、これに限られるものではない。そして、実行猶予カウンタcUVWCが所定時間を越えた場合はステップS604へ移行し、実行猶予カウンタcUVWCが所定時間以下の場合は、ステップS610へ移行する。
【0110】
ステップS604では、CPU21Aが、過熱保護モードを示すXKANETUを1に設定する。
【0111】
ステップS605では、CPU21Aが、
図8の温度推定処理で推定した温度TempMGが第2閾値以上であるか否かを判定する。第2閾値は、第1閾値よりも大きな値に設定され、本実施形態では一例として180℃に設定されるが、これに限られるものではない。そして、TempMGが第2閾値以上である場合はステップS606へ移行し、TempMGが第2閾値未満である場合はステップS610へ移行する。
【0112】
ステップS606では、CPU21Aが、過熱保護モードXKANETUを2に設定する。
【0113】
ステップS607では、CPU21Aが、実行猶予カウンタcUVWCを0にセットする。すなわち、実行猶予カウンタcUVWCをリセットする。
【0114】
ステップS608では、CPU21Aが、TempMGが(第1閾値-α)以下であるか否かを判定する。ここで、αは、過熱保護モードを示すXKANETUをリセットする際にヒステリシスを設けるための係数である。本実施形態では一例としてαは25℃に設定されるが、これに限られるものではない。そして、TempMGが(第1閾値-α)以下である場合はステップS609へ移行し、TempMGが(第1閾値-α)より大きい場合はステップS610へ移行する。
【0115】
ステップS609では、CPU21Aが、過熱保護モードXKANETUを0に設定する。
【0116】
ステップS610では、CPU21Aが、
図11に示す過熱保護トルク補正処理を実行する。
【0117】
図11に示すように、ステップS700では、CPU21Aが、過熱保護モードXKANETUが0であるか否かを判定する。そして、過熱保護モードXKANETUが0である場合はステップS701へ移行し、過熱保護モードXKANETUが0でない場合はステップS702へ移行する。
【0118】
ステップS701では、CPU21Aが、過熱保護制御用トルクTHを、取り得る値の最大値に設定する。すなわち、過熱保護制御用トルクTHを、
図7のトルク選択処理で過熱保護制御用トルクTHが選択されない値に設定する。
【0119】
ステップS702では、CPU21Aが、過熱保護モードXKANETUが1であるか否かを判定する。そして、過熱保護モードXKANETUが1である場合はステップS703へ移行し、過熱保護モードXKANETUが1でない場合、すなわち、過熱保護モードXKANETUが2の場合はステップS704へ移行する。
【0120】
ステップS703では、CPU21Aが、過熱保護制御用トルクTHをXに設定する。ここで、Xは、車速が目標車速となるトルクであり、本実施形態では一例として車速が0.5kph~1kphとなるような値に設定する。
【0121】
ステップS704では、CPU21Aが、過熱保護制御用トルクTHを0に設定する。すなわち、過熱保護制御用トルクTHを、回転電機150が停止する値に設定する。
【0122】
次に、
図6のステップS200の踏み間違い防止制御の許可判定処理の詳細について、
図12、13を参照して説明する。なお、
図12は、踏み間違い防止制御を許可するか否かを判定する許可判定処理であり、
図13は、踏み間違い防止制御を禁止するか否かを判定する禁止判定処理である。
【0123】
ステップS800では、CPU21Aが、車速が所定速度以下であるか否かを判定する。所定速度は、比較的低速の速度に設定され、本実施形態では、一例として所定速度は9kphに設定されるが、これに限られるものではない。そして、車速が所定速度以下の場合はステップS801へ移行し、車速が所定速度より速い場合は
図15のステップS809へ移行する。
【0124】
ステップS801では、CPU21Aが、アクセル開度が判定閾値より大きいか否かを判定する。所定閾値は、判定閾値マップデータ23Cに基づいて決定される。
図14に判定閾値マップデータ23Cの一例を示す。
図14に示すように、判定閾値マップデータ23Cは、許可判定処理用マップM1と、禁止判定用マップM2を有する。
図14の横軸が路面の勾配、縦軸が判定閾値であり、路面の勾配に応じて判定閾値が変化する。
図14に示すように、許可判定処理用マップM1は、下り勾配が大き過ぎる領域及び上り勾配が大きすぎる領域では、判定閾値は最大値に設定される。また、下り勾配が大き過ぎる領域及び上り勾配が大きすぎる領域以外の領域のうち、勾配が下りから平坦の領域では、判定閾値は徐々に大きくなり、勾配が平坦の領域では判定閾値はほぼ一定である。また、勾配が平坦から上りの領域では、判定閾値は徐々に大きくなる。禁止判定処理用マップM2は、勾配が下りからある程度の上りまでの領域では、判定閾値はほぼ0であり、その領域から更に上りの領域では、判定閾値は徐々に大きくなる。
【0125】
このように、判定閾値は、路面の勾配に応じて設定される。このため、ステップS801では、CPU21Aは、まずアクセル開度及び路面の勾配を取得する。アクセル開度は、アクセルセンサ205から取得できる。また、路面の勾配は、勾配センサ207から取得できる。次に、CPU21Aは、取得した路面の勾配に応じた判定閾値を許可判定処理用マップM1から取得する。そして、アクセル開度が判定閾値より大きいか否かを判定する。そして、アクセル開度が判定閾値より大きい場合はステップS802へ移行し、アクセル開度が判定閾値以下の場合は、
図13のステップS809へ移行する。
【0126】
ステップS802では、CPU21Aが、ブレーキ油圧が所定閾値以下であるか否かを判定する。ブレーキ油圧は、ブレーキセンサ208から取得できる。所定閾値は、ブレーキ油圧が所定閾値以下であれば車両100のブレーキがオフであると判定できる値に設定される。そして、ブレーキ油圧が所定閾値以下の場合、すなわち車両100のブレーキがオフである場合は、ステップS803へ移行し、ブレーキ油圧が所定閾値より大きい場合、すなわち車両100のブレーキがオンである場合は、
図13のステップS809へ移行する。
【0127】
ステップS803では、CPU21Aが、車両100のパーキングブレーキがオフであるか否かを判定する。パーキングブレーキがオフであるか否かは、パーキングセンサ209から取得できる。そして、パーキングブレーキがオフである場合は、ステップS804へ移行し、パーキングブレーキがオンの場合は、
図13のステップS809へ移行する。
【0128】
ステップS804では、CPU21Aが、車両100のシフトレバーがパーキング及びニュートラル以外のモードであるか否かを判定する。すなわち、シフトレバーがドライブ又はリバース等の車両100が走行可能なモードであるか否かを判定する。そして、車両100のシフトレバーがパーキング及びニュートラル以外のモードである場合はステップS805へ移行し、車両100のシフトレバーがパーキング及びニュートラル以外のモードでない場合は
図13のステップS809へ移行する。
【0129】
ステップS805では、CPU21Aが、踏み間違い防止制御を許可する時間のカウンタであるCXHUMIが所定時間以下であるか否かを判定する。本実施形態では、一例として所定時間は1秒に設定されるが、これに限られるものではない。そして、カウンタCXHUMIが所定時間以下の場合はステップS806へ移行し、カウンタCXHUMIが所定時間を越えている場合は、
図13のステップS809へ移行する。
【0130】
ステップS806では、CPU21Aが、前回踏み間違い防止制御が禁止されてから経過した時間をカウントするためのカウンタであるCRETRYが所定時間以上であるか否かを判定する。本実施形態では、一例として所定時間は30秒に設定されるが、これに限られるものではない。そして、カウンタCRETRYが所定時間以上の場合はステップS807へ移行し、カウンタCXHUMIが所定時間未満の場合は、
図13のステップS809へ移行する。
【0131】
ステップS807では、踏み間違い防止制御の実行を許可するか否かを示すフラグであるXHUMIを1に設定する。XHUMIが1の場合は、踏み間違い防止制御の実行を許可することを示す。一方、XHUMIが0の場合は、踏み間違い防止制御の実行を禁止することを示す。
【0132】
ステップS808では、CPU21Aが、カウンタCXHUMIを次式によりインクリメントする。
【0133】
CXHUMI=CXHUMI+1 ・・・(9)
【0134】
図13のステップS809では、CPU21Aが、フラグXHUMIが1であるか否かを判定する。すなわち、踏み間違い防止制御の実行が許可された状態であるか否かを判定する。そして、フラグXHUMIが1である場合、すなわち、踏み間違い防止制御の実行が許可された状態である場合は、ステップS810へ移行する。一方、フラグXHUMIが0である場合、すなわち、踏み間違い防止制御の実行が禁止された状態である場合は、ステップS815へ移行する。
【0135】
ステップS810では、CPU21Aが、アクセル開度が0%であるか否かを判定する。そして、アクセル開度が0%である場合はステップS811へ移行し、アクセル開度が0%でない場合は、ステップS816へ移行する。
【0136】
ステップS811では、CPU21Aが、車速が0kphであるか否かを判定する。そして、車速が0kphである場合はステップS812へ移行し、車速が0kphでない場合はステップS816へ移行する。
【0137】
ステップS812では、CPU21Aが、ブレーキ油圧が所定閾値より大きいか否かを判定する。そして、ブレーキ油圧が所定閾値より大きい場合、すなわちブレーキがオンである場合はステップS813へ移行し、ブレーキ油圧が所定閾値以下の場合、すなわちブレーキがオフである場合はステップS816へ移行する。
【0138】
ステップS813では、CPU21Aが、フラグXHUMIを0に設定する。すなわち、踏み間違い防止制御の実行を禁止する。
【0139】
ステップS814では、CPU21Aが、カウンタCRETRYを0に設定する。すなわち、カウンタCRETRYをリセットする。
【0140】
ステップS815では、CPU21Aが、カウンタCRETRYを次式によりインクリメントする。
【0141】
CRETRY=CRETRY+1 ・・・(10)
【0142】
ステップS816では、CPU21Aが、ドライバーの段差乗り越え要求がオンであるか否かを判定する。ドライバーの段差乗り越え要求がオンであるか否かの判定は、例えば解除スイッチを設けて、解除スイッチをドライバーがオンにしたか否かで判定してもよい。また、ドライバーが方向指示器を操作したか否かによりドライバーの段差乗り越え要求がオンであるか否かを判定してもよい。ドライバーが方向指示器を操作した場合は、例えば段差がある路肩に車両100を乗り上げる意思があると考えられるためである。そして、ドライバーの段差乗り越え要求がオンである場合はステップS818へ移行し、ドライバーの段差乗り越え要求がオフである場合はステップS817へ移行する。
【0143】
ステップS817では、CPU21Aが、カウンタCXHUMIが所定時間を越えたか否かを判定する。所定時間は、本実施形態では、一例として10秒に設定されるが、これに限られるものではない。そして、カウンタCXHUMIが所定時間を越えた場合はステップS818へ移行し、カウンタCXHUMIが所定時間以下の場合は本ルーチンを終了する。
【0144】
ステップS818では、CPU21Aが、フラグXHUMIを0に設定する。すなわち、踏み間違い防止制御の実行を禁止する。
【0145】
ステップS819では、CPU21Aが、カウンタCXHUMIを0に設定する。すなわち、カウンタCXHUMIをリセットする。
【0146】
このように、アクセル操作がされてから1秒が経過するまでは踏み間違い防止制御の実行の許可を受け付ける。また、アクセルオフ等により車両100が停止していると判定した場合に、踏み間違い防止制御の実行を禁止する。例えば車輪が穴に嵌まってしまい脱出したい場合、又は、車両前方に障害物があり、どうしても乗り越えたい場合、路肩の段差にどうしても乗り越えて縦列駐車をしたい場合等、ドライバーがどうしても乗り越えたい場合は踏み間違い防止制御を禁止してアクセル操作によるトルクの制御を復活させる。
【0147】
なお、アクセル操作がオフで踏み間違い防止制御が禁止された後、アクセルを再度踏み込んだことを検出した場合は、ドライバーが解除を望んでいるとみなして、再度踏み間違い防止制御を禁止するようにしてもよい。
【0148】
次に、
図6のステップS201の段差推定処理の詳細について、
図15を参照して説明する。
【0149】
ステップS900では、CPU21Aが、フラグXHUMIが1であるか否か、すなわち、踏み間違い防止制御の実行が許可されているか否かを判定する。そして、フラグXHUMIが1である場合、すなわち踏み間違い防止制御が許可されている場合はステップS901へ移行し、フラグXHUMIが0である場合、すなわち踏み間違い防止制御が禁止されている場合は本ルーチンを終了する。
【0150】
ステップS901では、CPU21Aが、段差の高さhの最大値hmaxを算出する。具体的には、まず、垂直荷重Fzを算出する。垂直荷重Fzは、従動輪である車輪111、112に対し、下方側に向かって加えられる力のことである。垂直荷重Fzは、車輪111、112のそれぞれが受ける力の合計値として次式により算出される。
【0151】
【0152】
上記(11)式の右辺第1項にある「m」は車両100の重量である。「g」は重力加速度である。「l」は車両100のホイールベースの長さである。「lr」は、車両100の重心から後輪(車輪121、122)の回転中心軸までの、前後方向に沿った長さである。「GX」は車両100の進行方向、すなわち前後方向に沿った加速度である。「hcg」は、路面から車両100の重心までの高さである。上記(11)式の右辺第1項は、車両100が走行する際の動荷重として車輪111、112のそれぞれに加えられる力の、下方側に向かう方向の成分を表している。
【0153】
上記(11)式の右辺第2項にある「d
S」は、車両100のダンパー(不図示)の減衰係数である。「V
Spd」は、車両100の前後方向に沿った走行速度である。V
Sは、例えば車輪速センサ201からの信号に基づいて算出することができる。「θ
old」は、前回の制御周期において算出された軌跡角度θの値である。
図15の処理が最初に実行される際には、θ
oldの値として例えば0が用いられる。上記(11)式の右辺第2項は、ダンパーの伸縮に伴って車輪111、112のそれぞれに加えられる力、を表している。
【0154】
次に、軌跡角度θを算出する。ここで、軌跡角度θについて説明する。「軌跡角度」とは、車輪111等の回転中心軸の軌跡が路面に対してなす角度、のことである。
【0155】
図16には、車輪111が路面RDの上にある状態が模式的に描かれている。路面RDには、車輪止めである段差STが設けられており、車輪111の一部が段差STに接触した状態となっている。
図16の状態から、車両100が右側(つまり段差ST側)に向かって更に進行しようとした場合には、車輪111は段差STに乗り上げることとなる。
【0156】
図17Aにおいて実線で示されているグラフは、車両100が上記のように右側に向かって進行した場合における、車両100の走行距離(横軸)と、車輪111の回転中心軸AXの高さ(縦軸)と、の関係を表している。当該グラフは、車両100の走行中における回転中心軸AXの軌跡を表すもの、ということができる。
図17Aに示されるθは、車輪111等の回転中心軸AXの軌跡が路面に対してなす角度であり、車両100がX1の位置にあるときにおける軌跡角度を表している。このような軌跡角度θは、車両100の各位置に対応して定義することができる。
【0157】
なお、「軌跡角度」とは、先に述べたように、車輪111等の回転中心軸AXの軌跡が路面に対してなす角度、のことであるが、ここでいう「回転中心軸AXの軌跡」とは、車両100をその左右方向(車幅方向)に沿って見た場合における、回転中心軸AXの軌跡のことである。なお、
図17Aのグラフに示されるような回転中心軸AXの軌跡は、同図において一点鎖線で示される段差STの形状、をある程度反映させたものとなる。両者の形状が互いに異なるのは、車輪111が剛体ではなく、段差STに当たることで車輪111が変形するからである。
【0158】
軌跡角度θは、次式により算出することができる。
【0159】
【0160】
上記(12)式の右辺にある「Tmg」は、回転電機150のトルクであり、「R」は車輪111の動半径である。「Tmg/R」は、車両100の駆動輪が路面に加えている駆動力を示す。回転電機150のトルクTmgは、例えば回転電機150を流れる駆動用電流の値を電流センサ203によって取得し、取得した駆動用電流の大きさに基づいてトルクを算出することで取得することができる。
【0161】
次に、軌跡角度θから車輪111が理想の円盤である場合の軌跡角度θ’を次式により算出する。
【0162】
【0163】
ここで、Lは車輪111の接地長さである。接地長さLは、
図17A、17Bにおける乗り上げ距離(x2-x1)である。
図17Bのグラフには、
図17Aのように車両100が段差STを乗り越える際における、軌跡角度θの変化の例が示されている。
【0164】
図17A、17Bに示される「X1」は、車輪111等が段差STに接触した時点の車両100の位置である。また、
図17A、17Bに示される「X2」は、車輪111等が路面から離れた時点の車両100の位置である。当該位置は、
図17Aのグラフにおける変曲点に対応する位置であり、
図17Bのグラフにおけるピーク値に対応する位置である。
【0165】
「乗り上げ距離」とは、X1からX2までの距離、すなわち、車輪111等が段差STに接触してから、車輪111等が路面から離れるまで、の間に車両100が走行する距離である。換言すれは、「乗り上げ距離」とは、軌跡角度θが増加し始めてから減少し始めるまでの期間において、車両100が走行した距離、ということもできる。
【0166】
このように定義される乗り上げ距離は、平坦な路面RDの上に車両100が停車しているときにおいて、車輪111等のうち路面RDに接触している部分の前後方向に沿った長さ(
図16におけるL1)と相関がある。このため、車輪111等の空気圧が低くなる程、
図16に示されるL1は長くなり、
図17A、17Bに示される乗り上げ距離も長くなる傾向がある。
【0167】
段差STの高さhは、車輪111が理想の円盤である場合は、次式により算出することができる。
【0168】
【0169】
ここで、上記(14)式のθを、軌跡角度θの最大値であるθmaxとした場合、段差STの高さの最大値hmaxを算出することができる。
【0170】
軌跡角度θmaxは、次式により算出することができる。
【0171】
θmax=κ×L ・・・(15)
【0172】
ここで、κは、軌跡角度θの変化率であり、次式により算出することができる。
【0173】
【0174】
ここで、fileter()は、高周波数成分を減衰させるフィルタ処理を行う関数であり、軌跡角度θの変化量をなまらせる、すなわち緩やかにする機能を有する関数である。また、Vxは車速である。
【0175】
以上より、段差STの高さの最大値hmaxは、次式により算出することができる。
【0176】
【0177】
なお、以下では、段差STの高さの最大値hmaxを単に段差STの高さhと称する。
【0178】
ステップS902では、CPU21Aが、
図18に示す片輪及び両輪乗り上げ判定処理を実行する。
【0179】
図18に示すように、ステップS1000では、CPU21Aが、
図15のステップS901で算出した段差高さhが所定高さ以下であるか否かを判定する。所定高さは、本実施形態では、一例として2cmに設定されるが、これに限られるものではない。そして、段差高さhが所定高さ以下である場合はステップS1001へ移行し、段差高さhが所定高さより高い場合はステップS1002へ移行する。
【0180】
ステップS1001では、片輪が段差STを乗り越えようとしている状態なのか、両輪が段差STを乗り越えようとしている状態なのかを示すフラグXKATARINを0に設定する。フラグXKATARINが0の場合は、両輪が段差STを乗り越えようとしている状態を示し、フラグXKATARINが1の場合は、片輪が段差STを乗り越えようとしている状態を示す。
【0181】
ステップS1002では、CPU21Aが、横G比例値δを次式により算出する。
【0182】
【0183】
ここで、Gyは、横G、すなわち、車両100の左右方向に沿った加速度であり、加速度センサ202から取得できる。Kは予め定めた係数である。また、Vxは、車速である。また、rはヨーレートであり、ヨーレートセンサ210から取得できる。また、constは分母がゼロとなるのを防止するための予め定めた係数である。
【0184】
片輪が段差STの乗り上げた場合、両輪が乗り上げた場合と比較して車両100がより傾くため、横Gとして検出される。また、車両100の旋回時に発生する横G分をキャンセルするために、横Gと、ヨーレートrから算出した横Gとを比較した横G比例値δに基づいて、片輪が段差STを乗り越えようとしているのか、両輪が段差STを乗り越えようとしているのかを判定する。
【0185】
ステップS1003では、CPU21Aが、ステップS1002で算出した横G比例値δの絶対値が所定値より大きいか否かを判定する。そして、横G比例値δの絶対値が所定値より大きい場合はステップS1004へ移行し、横G比例値δの絶対値が所定値以下の場合は、ステップS1001へ移行する。
【0186】
ステップS1004では、CPU21Aが、フラグXKATARINを1に設定する。
【0187】
図15に戻って、ステップS903では、CPU21Aが、フラグXKATARINが0であるか否かを判定する。すなわち、両輪が段差STを乗り越えようとしている状態なのか否かを判定する。そして、フラグXKATARINが0の場合は本ルーチンを終了し、フラグXKATARINが1の場合は、ステップS904へ移行する。
【0188】
ステップS904では、CPU21Aが、段差STの高さhを次式により2倍とする。すなわち、片輪が段差STを乗り越えようとしている場合は、段差STの高さhを2倍に設定する。
【0189】
h=h×2 ・・・(19)
【0190】
次に、
図6のステップS202の踏み間違い防止制御の詳細について、
図19を参照して説明する。なお、以下では、シフトがDレンジ(前進)の場合について説明する。
【0191】
ステップS1100では、CPU21Aが、フラグXHUMIが1であるか否かを判定する。すなわち、踏み間違い防止制御の実行が許可されているか否かを判定する。そして、フラグXHUMIが1である場合、すなわち踏み間違い防止制御の実行が許可されている場合はステップS1101へ移行し、フラグXHUMIが0の場合、すなわち踏み間違い防止制御の実行が禁止されている場合はステップS1108へ移行する。
【0192】
ステップS1101では、CPU21Aが、車速が所定速度以下であるか否かを判定する。所定速度は、車両100が低速で走行していると判定可能な速度に設定され、本実施形態では、一例として1kphに設定されるが、これに限られるものではない。
【0193】
そして、車速が所定速度以下である場合はステップS1102へ移行し、車速が所定速度を越えている場合はステップS1104へ移行する。
【0194】
ステップS1102では、CPU21Aが、段差STの高さhが第1所定高さより高いか否かを判定する。第1所定高さは、本実施形態では、一例として13.5cmに設定されるが、これに限られるものではない。そして、段差STの高さhが第1所定高さより高い場合はステップS1103へ移行し、段差STの高さhが第1所定高さ以下の場合はステップS1104へ移行する。
【0195】
ステップS1103では、CPU21Aが、
図20に示す乗り越え禁止制御を実行する。
【0196】
図20に示すように、ステップS1200では、CPU21Aが、目標車速を設定する。目標車速は、本実施形態では、一例として0kphに設定されるが、これに限られるものではない。
【0197】
ステップS1201では、CPU21Aが、車速がステップS1200で設定した目標車速となるようにPIフィードバック制御を行うためのフィードバック駆動トルクTfbを次式により算出する。
【0198】
【0199】
ここで、Kpは、比例ゲインである。Kiは、積分ゲインである。また、Tfbは予め定めた上限値と下限値との間に制限される。
【0200】
ステップS1202では、CPU21Aが、段差STの高さhに応じた負荷トルクを打ち消す段差補正トルクTLを設定する。ここで、TLは、目標車速が0kphの場合は、0に設定される。
【0201】
ステップS1203では、CPU21Aが、踏み間違い防止制御用トルクTOを次式により算出する。
【0202】
TO=Tfb+TL+TU ・・・(21)
【0203】
ここで、TUは、路面の勾配に応じて設定されるトルクであり、勾配とトルクTUとの対応関係を予め定めた勾配トルクマップデータ23Dを用いて取得することができる。
【0204】
なお、
図20の乗り越え禁止制御は、シフトがRレンジ(後退)の場合もシフトがDレンジの場合と同様に実行される。
【0205】
図19に戻って、ステップS1104では、CPU21Aが、段差STの高さhが第2所定高さより高いか否かを判定する。第2所定高さは、第1所定高さよりも低い高さに設定され、本実施形態では、一例として6.5cmに設定されるが、これに限られるものではない。そして、段差STの高さhが第2所定高さより高い場合はステップS1105へ移行し、段差STの高さhが第2所定高さ以下の場合はステップS1108へ移行する。
【0206】
ステップS1105では、CPU21Aが、低速乗り越え制御を実行する。低速乗り越え制御は、基本的に
図20の乗り越え禁止制御と同様であるが、ステップS1200とS1202の処理が異なる。
【0207】
まず、ステップS1200で設定する目標車速が異なる。低速乗り越え制御では、目標車速は例えば1kphに設定されるが、これに限られるものではない。
【0208】
また、ステップS1202では、段差補正トルクTLを次式により算出する。
【0209】
TL=R×Fz×tan(θ) ・・・(22)
【0210】
なお、シフトがRレンジ(後退)の場合における低速乗り越え制御は、ステップS1200において目標車速を-1kphに設定する以外の処理についてはシフトがDレンジの場合と同様である。
【0211】
図19に戻って、ステップS1106では、CPU21Aが、段差乗り越え制御フラグXEXを1に設定する。段差乗り越え制御フラグXEXが1の場合は、踏み間違い防止制御用トルクTOによるトルク補正を実行中、すなわち、ステップS1103の乗り越え禁止制御又はステップS1105の低速乗り越え制御を実行中であることを示す。一方、トルク補正実行フラグXEXが0の場合は、踏み間違い防止制御用トルクTOによるトルク補正を実行中ではない、すなわち、ステップS1103の乗り越え禁止制御及びステップS1105の低速乗り越え制御の何れも実行中ではないことを示す。
【0212】
ステップS1107では、CPU21Aが、ドライバーに警告する処理を実行する。具体的には、例えば「ペダルを戻して車両を停車してください。」等のメッセージをメーターに表示させたり、メッセージを音声でスピーカーから出力させたりする。
【0213】
図21には、車速と段差高さhと段差乗り越え制御との関係を示した。
図21に示すように、車速が第1速度(1kph)以下で且つ段差高さhが第1所定高さより高い場合は、乗り越え禁止制御を行う。また、車速が第2速度(9kph)より速い場合、又は、段差高さhが第2所定高さ以下の場合は、ドライバーの要求で段差を乗り越える制御を行う。また、車速が9kph以下の場合において、段差高さhが第2所定高さより高く且つ第1の所定高さ以下の場合と、車速が1kphより速く且つ9kph以下の場合において、段差高さhが第1所定高さより高い場合は、1kphで段差を乗り越える低速乗り越え制御を行う。
【0214】
以上説明したように、本実施形態では、段差乗り越え制御を実行中に、回転電機150の温度が保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで保護制御の実行を猶予する。そして、回転電機150の温度が第1閾値よりも大きい第2閾値以上になった場合は、車両100の速度が所定速度以下となるように保護制御用トルクを設定する。このため、トルクを制限した状態とトルクの制限を解除した状態とが繰り返されるハンチングを抑制することができ、ドライバビリティが悪化するのを防ぐことができる。また、トルクの制限により車両が段差を乗り越えられなかったり、段差を乗り越えた後に車両100が飛び出したりすることを防ぐことができ、スムーズに段差を乗り越えることができる。
【0215】
なお、本開示は、上述した各実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0216】
上記実施の形態で説明した車両制御装置10の構成(
図2参照)は一例であり、本開示の主旨を逸脱しない範囲内において不要な部分を削除したり、新たな部分を追加したりしてもよいことは言うまでもない。
【0217】
また、上記実施の形態で説明した車両制御プログラム23Aの処理の流れ(
図5~7参照)も一例であり、本開示の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
【0218】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウエア論理回路によってプロセッサを構成する専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウエア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【0219】
本開示の技術に関して、以下の付記を開示する。
【0220】
<付記>
(付記1)
車両(100)が段差を乗り越えるための段差乗り越え制御を行う段差乗り越え制御部(41)と、
前記車両を駆動する回転電機(150)の過熱を抑制して前記回転電機を保護するための保護制御を行う保護制御部(41)と、
前記回転電機の温度を取得する温度取得部(42)と、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する実行猶予部(43)と、
を備えた車両制御装置(10)。
(付記2)
前記車両の速度を取得する速度取得部(44)を備え、
前記保護制御部は、前記回転電機の温度が前記第1閾値以上になった場合は、前記車両の速度が目標車速となるように、前記回転電機に付与する保護制御用トルクを設定する、
付記1記載の車両制御装置。
(付記3)
前記保護制御部は、前記回転電機の温度が前記第1閾値よりも大きい第2閾値以上になった場合は、前記車両の速度が所定速度以下となるように前記保護制御用トルクを設定する、
付記2記載の車両制御装置。
(付記4)
前記回転電機は、三相のモータジェネレータであり、
前記温度取得部は、前記三相のモータジェネレータに流れる電流の電流値に基づいて前記温度を推定する
付記1~3の何れか1項に記載の車両制御装置。
(付記5)
前記温度取得部は、前記車両が所定速度以下で且つ前記モータジェネレータに連続通電中の場合は、前記車両が所定速度より大きい場合における前記温度の推定よりも、前記温度の上昇率が高くなるように、前記温度を推定する
付記4記載の車両制御装置。
(付記6)
前記段差乗り越え制御部は、
前記車両の速度が第1速度以下で且つ前記段差が第1所定高さより高い場合は、前記段差の乗り越えを禁止する乗り越え禁止制御を実行し、
前記車両の速度が第1速度より速い第2速度より速い場合、又は、前記段差の高さが前記第1所定高さより低い第2所定高さ以下の場合は、前記車両のドライバーの要求で段差を乗り越える制御を実行し、
前記車両の速度が前記第2速度以下の場合において、前記段差の高さが第2所定高さより高く且つ前記第1所定高さ以下の場合と、前記車両の速度が前記第1速度より速く且つ前記第2速度以下の場合において、前記段差の高さが前記第1所定高さより高い場合は、前記第1速度で前記段差を乗り越える低速乗り越え制御を行う、
付記2~5の何れか1項に記載の車両制御装置。
(付記7)
少なくとも1つのプロセッサ(21A)が、
車両が段差を乗り越えるための段差乗り越え制御を行い、
前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、
前記回転電機の温度を取得し、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、
ことを含む処理を実行する車両制御方法。
(付記8)
少なくとも1つのプロセッサに、
車両が段差を乗り越えるための段差乗り越え制御を行い、
前記車両を駆動する回転電機の過熱を抑制して前記回転電機を保護するための保護制御を行い、
前記回転電機の温度を取得し、
前記車両の段差乗り越え制御を実行中に、前記回転電機の温度が前記保護制御を実行すべき第1閾値以上になった場合、所定時間経過するまで前記保護制御の実行を猶予する、
ことを含む処理を実行させる車両制御プログラム(23A)。
【符号の説明】
【0221】
10 車両制御装置、21 制御部、23A 車両制御プログラム、40 段差乗り越え制御部、41 保護制御部、42 温度取得部、43 実行猶予部、44 速度取得部