(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176494
(43)【公開日】2024-12-19
(54)【発明の名称】鞍乗車両および車両の制御方法
(51)【国際特許分類】
B60L 15/20 20060101AFI20241212BHJP
【FI】
B60L15/20 J
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023095055
(22)【出願日】2023-06-08
(71)【出願人】
【識別番号】521431099
【氏名又は名称】カワサキモータース株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】腹岡 塁
【テーマコード(参考)】
5H125
【Fターム(参考)】
5H125AA01
5H125AB03
5H125AC13
5H125BA00
5H125CA01
5H125CA08
5H125EE08
5H125EE49
(57)【要約】
【課題】車両を走行操作する際にユーザが感じるフィーリングを、ユーザが意図するフィーリングに近づける。
【解決手段】一態様に係る鞍乗車両は、車体と、車体に駆動源として搭載される正逆回転可能な電気モータと、電気モータを制御する処理回路と、を備える鞍乗車両であって、処理回路は、制御モードが、ユーザの加速操作に応じて電気モータのトルクを変更する通常走行モードか、通常走行モードと比べて走行速度が制限される徐行モードかを判定し、制御モードが徐行モードであると判定した場合、ユーザの操作が前進操作か後進操作かを判定し、ユーザの操作が前進操作であると判定した場合、正方向への電気モータの回転数または出力トルクを、第1変化率で変化させ、ユーザの操作が後進操作であると判定した場合、逆方向への電気モータの回転数または出力トルクを、第2変化率で変化させるように構成され、第1変化率の絶対値は、第2変化率の絶対値より大きい。
【選択図】
図6
【特許請求の範囲】
【請求項1】
車体と、
前記車体に駆動源として搭載される正逆回転可能な電気モータと、
前記電気モータを制御する処理回路と、を備える鞍乗車両であって、
前記処理回路は、
制御モードが、ユーザの加速操作に応じて前記電気モータのトルクを変更する通常走行モードか、前記通常走行モードと比べて走行速度が制限される徐行モードかを判定し、
前記制御モードが前記徐行モードであると判定した場合、ユーザの操作が前進操作か後進操作かを判定し、
ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、
ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させるように構成され、
前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい、鞍乗車両。
【請求項2】
前記処理回路は、前記制御モードが前記徐行モードであると判定した場合、前記電気モータの目標回転数に前記電気モータの実回転数を近づける回転数制御を実行するように構成される、請求項1に記載の鞍乗車両。
【請求項3】
前記処理回路は、
ユーザの操作が前進操作であると判定した場合、前記第1変化率に基づいて、前記目標回転数を、所定の第1制限回転数に到達するまで時間経過に伴って変化させ、前記目標回転数が前記第1制限回転数に到達した場合、前記目標回転数を前記第1制限回転数に維持し、
ユーザの操作が後進操作であると判定した場合、前記第2変化率に基づいて、前記目標回転数を、所定の第2制限回転数に到達するまで時間経過に伴って変化させ、前記目標回転数が前記第2制限回転数に到達した場合、前記目標回転数を前記第2制限回転数に維持するように構成される、請求項2に記載の鞍乗車両。
【請求項4】
前記第1制限回転数の絶対値は、前記第2制限回転数の絶対値よりも大きい、請求項3に記載の鞍乗車両。
【請求項5】
前記処理回路は、前記実回転数の絶対値が所定の設定値未満であると判定した場合に、前記目標回転数に応じたトルクに対してオフセットトルクを加算した値を、要求トルクとして前記電気モータに出力するように構成され、
前記実回転数の絶対値が小さくなるほど、前記オフセットトルクの絶対値が大きい、請求項2に記載の鞍乗車両。
【請求項6】
前記処理回路は、前記オフセットトルクとして、ユーザの操作が前進操作であると判定された場合に使用される第1オフセットトルクと、ユーザの操作が後進操作であると判定された場合に使用される第2オフセットトルクとを記憶しており、
前記第1オフセットトルクの絶対値は、前記第2オフセットトルクの絶対値より大きい、請求項5に記載の鞍乗車両。
【請求項7】
前記処理回路は、前記電気モータの目標回転数と前記電気モータの実回転数との偏差が、所定の偏差制限値を上回らないように、前記電気モータの目標回転数の変化を制限するように構成されている、請求項2に記載の鞍乗車両。
【請求項8】
前記処理回路は、前記偏差制限値として、ユーザの操作が前進操作であると判定された場合に使用される第1偏差制限値と、ユーザの操作が後進操作であると判定された場合に使用される第2偏差制限値とを記憶しており、
前記第1偏差制限値の絶対値は、前記第2偏差制限値の絶対値より大きい、請求項7に記載の鞍乗車両。
【請求項9】
前記処理回路は、
前記実回転数に対し、変化率を所定の上限値に制限するフィルタを適用し、
前記フィルタ適用後の回転数を用いて前記回転数制御を実行するように構成される、請求項2に記載の鞍乗車両。
【請求項10】
前記処理回路は、
前記実回転数の絶対値から前記目標回転数の絶対値を減算した値が閾値未満である場合、通常回転数制御を実行し、
前記実回転数の絶対値が前記目標回転数の絶対値を前記閾値以上の差をつけて超えた場合、前記通常回転数制御を実行する場合と比べて前記実回転数の絶対値を急速に低減させる高速回転数制御に切り替えるように構成されている、請求項2に記載の鞍乗車両。
【請求項11】
前記処理回路は、前記閾値として、ユーザの操作が前進操作であると判定された場合に使用される第1閾値と、ユーザの操作が後進操作であると判定された場合に使用される第2閾値とを記憶しており、
前記第1閾値の絶対値は、前記第2閾値の絶対値より大きい、請求項10に記載の鞍乗車両。
【請求項12】
車体と、
前記車体に駆動源として搭載される電気モータと、
前記電気モータを制御する処理回路と、を備える鞍乗車両であって、
前記処理回路は、
制御モードが、通常走行モードか、徐行モードかを判定し、
前記制御モードが前記通常走行モードであると判定した場合、ユーザの加速操作量と出力トルクとの関係を示す対応関係情報に従って前記電気モータを制御するトルク制御を実行し、
前記制御モードが前記徐行モードであると判定した場合、前記電気モータの目標回転数に前記電気モータの実回転数を追従させる回転数制御を実行するように構成される、鞍乗車両。
【請求項13】
正逆回転可能な電気モータと処理回路を備える車両を制御する方法であって、前記処理回路において、
ユーザの操作が前進操作か後進操作かを判定し、
ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、
ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させ、
前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい、車両の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、鞍乗車両および車両の制御方法に関する。
【背景技術】
【0002】
特許文献1には、前進および後進が可能な車両が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような前進および後進が可能な車両のユーザ操作に対して、ユーザが意図するフィーリングに近づけたいという要望がある。
【0005】
そこで、本開示の一態様は、車両を走行操作する際にユーザが感じるフィーリングを、ユーザが意図するフィーリングに近づけやすい鞍乗車両および車両の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る鞍乗車両は、車体と、前記車体に駆動源として搭載される正逆回転可能な電気モータと、前記電気モータを制御する処理回路と、を備える鞍乗車両であって、前記処理回路は、制御モードが、ユーザの加速操作に応じて前記電気モータのトルクを変更する通常走行モードか、前記通常走行モードと比べて走行速度が制限される徐行モードかを判定し、前記制御モードが前記徐行モードであると判定した場合、ユーザの操作が前進操作か後進操作かを判定し、ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させるように構成され、前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい。
【0007】
本開示の別の態様に係る鞍乗車両は、車体と、前記車体に駆動源として搭載される電気モータと、前記電気モータを制御する処理回路と、を備える鞍乗車両であって、前記処理回路は、制御モードが、通常走行モードか、徐行モードかを判定し、前記制御モードが前記通常走行モードであると判定した場合、ユーザの加速操作量と出力トルクとの関係を示す対応関係情報に従って前記電気モータを制御するトルク制御を実行し、前記制御モードが前記徐行モードであると判定した場合、前記電気モータの目標回転数に前記電気モータの実回転数を追従させる回転数制御を実行するように構成される。
【0008】
本開示の一態様に係る車両の制御方法は、正逆回転可能な電気モータと処理回路を備える車両を制御する方法であって、前記処理回路において、ユーザの操作が前進操作か後進操作かを判定し、ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させ、前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい。
【発明の効果】
【0009】
本開示によれば、車両を走行操作する際にユーザが感じるフィーリングを、ユーザが意図するフィーリングに近づけることができる。る。
【図面の簡単な説明】
【0010】
【
図2】
図1の車両のハンドルおよびメータ装置の近傍を拡大した図である。
【
図3】
図1の車両の電気的構成を示すブロック図である。
【
図4】徐行制御時の車両状態、ユーザ操作、制御形態、および設定値の対応関係を示す表である。
【
図5】トルク指令出力処理の流れを示すフローチャートである。
【
図6】徐行モード時のモータ回転数の時間変化の一例を示すグラフである。
【
図7】
図3の徐行回転数制御部のブロック図である。
【
図8】
図7の変化率制限部およびフィルタ処理部による実回転数からのノイズ除去を説明するためのグラフである。
【
図9】
図7の偏差制限部による偏差制限処理を説明するためのグラフである。
【発明を実施するための形態】
【0011】
以下、図面を参照して実施の形態を説明する。
【0012】
(車両の構成)
図1は、一実施の形態に係る車両1の概略図である。本実施形態において、車両1は、鞍乗型の電動二輪車である。車両1は、車体2とバッテリパック3とを備える。バッテリパック3は、車体2対して着脱可能である。ただし、バッテリパック3は、車体2対して着脱式でなくてもよい。車体2は、従動輪である前輪4と、駆動輪である後輪5とにより支持されている。車体2には、走行駆動源である電気モータ6が支持されている。
【0013】
電気モータ6は、駆動輪である後輪5に伝達される走行駆動力を発生させる。電気モータ6により発生された駆動トルクは、動力伝達機構7を介して後輪5に伝達される。電気モータ6は、正逆回転可能である。電気モータ6は、走行駆動源として機能するだけでなく、車両1の減速時などには発電機としても機能する。電気モータ6には、電気モータ6の出力軸の回転数を検出する回転数センサ22(
図3を参照)が配置されている。動力伝達機構7には、電気モータ6の回転を減速する減速機7aや、減速機7aから出力された回転動力を後輪5の車軸に伝達する機構7b(例えば、チェーン伝動機構やベルト伝動機構など)が含まれる。
【0014】
車体2は、車体フレームを有し、車体フレームは、ヘッドパイプ11と、ヘッドパイプ11から後方に延びた左右一対のメインフレーム12とを有する。ヘッドパイプ11は、ステアリングシャフト13を回転自在に支持する。ステアリングシャフト13には、略上下方向に延びるフロントフォーク14が接続されており、フロントフォーク14の下端部にて前輪4が回転自在に支持されている。左右方向における一対のメインフレーム12の間には、バッテリケース17が配置されている。バッテリケース17は、一対のメインフレーム12に対し固定されている。バッテリケース17には、バッテリパック3が収容されている。ステアリングシャフト13の上端部には、左右へ延びるバー型のハンドル15が接続されている。また、ハンドル15の前側には、ブラケット16を介してヘッドパイプ11に支持されたメータ装置18が配置されている。
【0015】
図2は、
図1の車両1のハンドル15およびメータ装置18の近傍を拡大した図である。ハンドル15には、電気モータ6に駆動トルクを発生させる操作を受け付けるトルク指令操作子15aが配置されている。本実施形態では、トルク指令操作子15aは、ハンドル15の右グリップである。トルク指令操作子15aは、長手方向に延びる中心軸線C回りに所定の角度範囲内で回動可能である。
【0016】
トルク指令操作子15aは、ユーザ(すなわち運転者)の操作がなされない場合に所定の基準位置に復帰するように構成されている。トルク指令操作子15aは、所定の基準位置から中心軸線C回りに第1移動方向R1に回動したり、前記基準位置から中心軸線C回りに第1移動方向R1と反対の第2移動方向R2に回動したりすることが可能となっている。トルク指令操作子15aは、操作されていない際には基準位置に付勢されている。トルク指令操作子15aが基準位置から第1移動方向R1または第2移動方向R2に回動操作されると、トルク指令操作子15aの移動方向と基準位置からの操作量(以下、アクセル操作量)がアクセルセンサ21(
図3を参照)で検出される。
【0017】
トルク指令操作子15aである右グリップの前方には、ブレーキレバー19が配置されている。ブレーキレバー19は、前輪4に配置された前輪用ブレーキ機構を作動させるためのトルク指令操作子である。ブレーキレバー19を手前に引くことで前輪用ブレーキ機構が作動して前輪4に機械的な制動力が作用する。
【0018】
また、左右方向においてハンドル15のトルク指令操作子15aが位置する側とは反対側、つまりハンドル15における左側部分に、モード切替スイッチ23が配置されている。モード切替スイッチ23は、後述のコントローラ31の制御モードを通常走行モードと徐行モードとの間で切り替えるためのユーザの操作を受け付ける。
【0019】
通常走行モードは、ユーザによるトルク指令操作子15aの操作量に応じて前記電気モータ6のトルクを変更するモードである。具体的には、コントローラ31は、通常走行モードにおいて、トルク指令操作子15aの第1移動方向への操作量が大きくなるほど、出力を大きくする。通常走行モード時にトルク指令操作子15aが基準位置から第1移動方向R1に回動されると、トルク指令操作子15aを基準位置から第1移動方向R1に回動する操作量に応じた駆動トルクを電気モータ6に発生させる。通常走行モードは、走行路を走行させる際のモードとして設定される。たとえば通常走行モードでは、走行路に最低走行速度が設定される場合は、最低走行速度を超える速度で走行可能に設定される。
【0020】
徐行モードは、通常走行モードと比べて最高走行速度を制限して、車両1を徐行状態で走行させるモードである。すなわち、徐行モードは、通常走行モードと比べて最高走行速度が低く設定されている。例えば通常走行モードの最高走行速度は、車両1が電気モータ6の最高回転数を制限する回転数リミッタを備える場合、通常走行モード時に回転数リミッタにより制限された最高回転数で回転するときの走行速度であり、当該走行速度よりも徐行モード時の最高走行速度は低く設定されている。徐行モードは、例えば車両1を走行路から駐輪場に駐輪したり、駐輪場から走行路まで移動させたりする際などに使用され得る。そのほか、徐行モードは、後進操舵を利用した方向転換や、坂道停車状態から発進位置までの移動などで使用され得る。徐行モードは、最高走行速度として、歩行速度程度に設定されてもよい。
【0021】
徐行モードでは、トルク指令操作子15aに対する操作に応じて、車両1を徐行状態で前進させたり後進させたりすることが可能である。例えば、徐行モード時にトルク指令操作子15aが基準位置から第1移動方向R1に第1角度以上回動されると、車両1は徐行モードに設定される最大前進速度を上限として徐行前進する。徐行モード時にトルク指令操作子15aが基準位置から第2移動方向R2に第2角度以上回動されると、車両1は徐行モードに設定される最大後進速度を上限として徐行後進する。
【0022】
図2に示すように、メータ装置18は、コントローラ31の制御モードが、通常走行モードであるか徐行モードであるかを判別可能に表示する。例えば、メータ装置18は、選択された制御モードが徐行モードである場合には、走行速度の絶対値に関する情報と、車両1の走行方向が前進方向か後進方向かに関する情報とをセットで表示し得る。その他、メータ装置18は、モータ回転数やバッテリ残量などの各種情報を表示してもよい。
【0023】
(電気的構成)
図3は、
図1の車両1の電気的構成を示すブロック図である。車両1の車体2には、コントローラ31およびインバータ32が固定されている。コントローラ31は、ハードウェア面においては、プロセッサ、メモリおよびI/Oインターフェースなどを有する。前記メモリは、例えば、ハードディスク、フラッシュメモリなどのストレージ、およびRAMであるメインメモリを含む。前記ストレージには、電気モータ6に制御指令を出すためのプログラムが保存されている。コントローラ31が有する前記プロセッサおよび前記メモリなどは、処理回路の一例である。
【0024】
コントローラ31は、アクセルセンサ21により検出されるアクセル操作量を示すアクセル操作量情報を受信する。アクセルセンサ21により検出されるアクセル操作量情報は、ユーザの操作によりトルク指令操作子15aが基準位置からどの方向にどれだけ移動したかに関する情報を含む。
【0025】
また、コントローラ31は、回転数センサ22により検出されるモータ回転数を示すモータ回転数情報を受信する。
【0026】
また、コントローラ31は、モード切替スイッチ23から、通常走行モードから徐行モードに、または徐行モードから通常走行モードに制御モードを切り替えるためのモード切替信号を受信する。コントローラ31は、受信したモード切替信号に基づき、制御モードを通常走行モードと徐行モードとの間で切り替える。モード切替スイッチ23は、長押しされることでモード切替信号をコントローラ31に送信してもよいし、短押しされることでされることでモード切替信号をコントローラ31に送信してもよい。本実施形態では、車両1の走行停止状態において、ユーザがモード切替スイッチ23を所定時間押し続けることによって、モード切替スイッチ23からコントローラ31に、モード切替信号が送信されてもよい。この場合、コントローラ31は、現制御モードが通常走行モードの場合は、徐行モードに切替える。またコントローラ31は、現制御モードが徐行モードの場合は、通常走行モードに切替える。
【0027】
コントローラ31は、通常走行モードから徐行モードへの切替に関するモード切替信号を受信したときに、通常走行モードから徐行モードに切り替えるための所定のモード切替条件が満たされているか否かを判定し、当該モード切替条件が満たされていると判定した場合に、通常走行モードから徐行モードに切り替えてもよい。例えばモード切替条件は、車速が所定速度以下であるという条件を含んでもよい。例えばモード切替条件は、モータ回転数が所定回転数以下であるという条件を含んでもよい。車両1がギヤ比を変更する変速装置を備える場合、例えばモード切替条件は、変速比が所定の変速比であるという条件を含んでもよい。
【0028】
コントローラ31は、バッテリパック3が内蔵する電子機器とも通信する。バッテリパック3は、バッテリ3a、温度センサ3b、バッテリ管理ユニット(BMU:Battery Management Unit)3cを有する。バッテリ3aは、複数のバッテリセルが直列に接続されて構成されている。温度センサ3bは、バッテリ3aの温度を検出する。
【0029】
バッテリ管理ユニット3cは、ハードウェア面においては、プロセッサ、メモリおよびI/Oインターフェースなどを有する。前記メモリは、例えば、ハードディスク、フラッシュメモリなどのストレージ、およびRAMであるメインメモリを含む。バッテリ管理ユニット3cのメモリには、バッテリパック3を識別するためのバッテリ識別情報や、バッテリ3aの放電電流の制限値およびバッテリ3aの充電電流の制限値などに関する制限情報が記憶されている。
【0030】
また、バッテリ管理ユニット3cは、バッテリ3aに蓄えられている電気量、すなわちバッテリ3aの充電率(SOC:state of charge)を推定する。例えばバッテリパック3は、バッテリ3aの各バッテリセルの電圧値を検出する電圧センサおよびバッテリ3aへの充電電流やバッテリ3aからの放電電流を検出する電流センサを備えていてもよく、バッテリ管理ユニット3cは、電圧センサにより検出された各バッテリセルの電圧値、電流センサにより検出された充放電される電流量などからバッテリ3aの充電率を推定してもよい。
【0031】
コントローラ31は、温度センサ3bにより検出されたバッテリ3aの温度を示すバッテリ温度情報、および、バッテリ管理ユニット3cにより推定されたバッテリ3aの充電率を示す充電率情報(以下、SOC情報とも称し得る)をバッテリパック3から受信する。
【0032】
コントローラ31とインバータ32とは、互いに通信可能に接続されている。また、バッテリ3aが、インバータ32を介して電気モータ6に電気的に接続されている。コントローラ31は、インバータ32に制御指令を送り、インバータ32を制御する。インバータ32は、コントローラ31に制御されて、バッテリ3aから放電された直流電力を交流電力に変換して電気モータ6に供給したり、駆動輪である後輪5から伝達される動力により電気モータ6で発電した交流電力を、直流電力に変換してバッテリ3aに供給して充電したりする。
【0033】
コントローラ31は、機能面においては、通常走行制御部41、徐行制御部42、トルク制限部43などを有する。通常走行制御部41、徐行制御部42、トルク制限部43は、前記ストレージから前記メインメモリに読み出した前記プログラムを前記プロセッサが演算処理することで実現される。
【0034】
通常走行制御部41は、コントローラ31の制御モードが通常走行モードであるときの電気モータ6の制御を実行する。より詳しくは、コントローラ31のメモリには、アクセル操作量およびモータ回転数と、トルクとの対応関係を示す対応関係情報が記憶されている。対応関係情報は、例えばトルクマップ、または、演算式であり得る。対応関係情報は、少なくともアクセル操作量と、トルクとの対応関係を示す情報であればよい。通常走行制御部41は、コントローラ31の制御モードが通常走行モードであるとき、対応関係情報を参照して、受信したアクセル操作量情報が示すアクセル操作量および受信したモータ回転数情報が示すモータ回転数に対応するトルクを取得し、当該トルクを電気モータ6に要求する要求トルクTrに決定する。
【0035】
徐行制御部42は、コントローラ31の制御モードが徐行モードであるときの電気モータ6の制御を実行する。徐行制御部42は、車両状態情報取得部42a、操作情報取得部42b、徐行回転数制御部42c、および徐行トルク制御部42dを含む。
【0036】
車両状態情報取得部42aは、車両1の状態を示す車両状態情報を取得する。車両状態情報は、車両状態が前進状態であるかおよび車両状態が後進状態であるかを判別可能にする情報である。車両状態情報取得部42aは、モータ回転数情報から、車両状態を判定することにより車両状態情報を取得する。
【0037】
本実施形態では、車両状態情報取得部42aは、モータ回転数情報が、電気モータ6が正方向に回転していることを示している場合、車両状態が前進状態であると判定する。また、車両状態情報取得部42aは、モータ回転数情報が、電気モータ6が負方向に回転していることを示している場合、車両状態が後進状態であると判定する。本明細書において、電気モータ6の正方向とは、車両1を前方へ加速させる駆動トルクを発生させる電気モータ6の回転方向であり、電気モータ6の負方向とは、車両1を後方へ加速させる駆動トルクを発生させる電気モータ6の回転方向である。また、車両状態情報取得部42aは、モータ回転数情報が、モータ回転数がゼロであることを示している場合、車両状態が停止状態であると判定する。
【0038】
操作情報取得部42bは、徐行モード時のトルク指令操作子15aに対するユーザの操作内容を示す操作情報を取得する。操作情報は、徐行モード時のユーザの操作が前進操作であるか、ユーザの操作が後進操作であるか、およびユーザの操作が基準位置操作であるかを判別可能にする情報である。操作情報取得部42bは、アクセル操作量情報から、ユーザの操作が前進操作、後進操作、基準位置操作のいずれに該当するかを判定することにより、その判定結果を操作情報として取得する。
【0039】
本実施形態では、操作情報取得部42bは、アクセル操作量情報が、トルク指令操作子15aの位置が基準位置から第1移動方向R1に第1角度以上回動された位置にあることを示している場合、ユーザの操作が、第1移動操作である前進操作であると判定する。また、操作情報取得部42bは、アクセル操作量情報が、トルク指令操作子15aの位置が基準位置から第2移動方向R2に第2角度以上回動された位置にあることを示している場合、ユーザの操作が、第2移動操作である後進操作であると判定する。
【0040】
また、操作情報取得部42bは、ユーザの操作が前進操作でも後進操作でもないと判定する場合、ユーザの操作が基準位置操作であると判定する。すなわち、操作情報取得部42bは、アクセル操作量情報が、トルク指令操作子15aの位置が基準位置から第1移動方向R1に第1角度未満で且つ基準位置から第2移動方向R2に第2角度未満の位置にあることを示している場合、ユーザの操作が基準位置操作であると判定する。
【0041】
なお、ユーザがトルク指令操作子15aに対して操作しない場合、トルク指令操作子15aは、基準位置に復帰するように構成されていることから、トルク指令操作子15aに対するユーザの操作が無操作である場合も、ユーザの操作が基準位置操作と判定される。
【0042】
徐行回転数制御部42cは、徐行モード時に、目標回転数に電気モータ6の実回転数を近づける回転数制御を実行する。徐行回転数制御部42cによる回転数制御は、徐行モード中に回転数制御条件が満たされる場合に選択され、実行される。例えば回転数制御条件は、車両が走行状態で、且つ、ユーザ操作が前進操作または後進操作であるという条件である。徐行回転数制御部42cは、実回転数が目標回転数に近づくように回転数制御する。具体的には、徐行回転数制御部42cは、実回転数と目標回転数の偏差に基づいて、実回転数を目標回転数に近づけるためのトルクを算出し、当該トルクを、電気モータ6に要求する要求トルクTrに決定する。徐行回転数制御部42cによる回転数制御の内容について、詳細は後述する。
【0043】
徐行トルク制御部42dは、所定のトルク制御を実行する。徐行トルク制御部42dによるトルク制御は、徐行モード中にトルク制御条件が満たされる場合に選択され、実行される。後述するとおり、車両が走行状態で、且つ、ユーザ操作が基準位置操作である場合には、トルク制御条件が満たされ、徐行トルク制御部42dによるトルク制御が選択される。徐行トルク制御部42dは、モータ回転数情報が示すモータ回転数に対応する回生トルクを取得し、当該回生トルクを電気モータ6に要求する要求トルクTrに決定する。
【0044】
トルク制限部43は、トルク制限処理を実行する。トルク制限処理は、バッテリ3aの放電電流の上限値および充電電流の上限値を超えないように、電気モータ6に要求するトルクを制限する処理である。
【0045】
(徐行モード時における制御形態と設定値)
図4は、徐行モード時の車両状態、ユーザ操作、制御形態、および設定値の対応関係を示す表である。徐行回転数制御部42cの回転数制御が実行されるか、徐行トルク制御部42dのトルク制御が実行されるかは、車両状態情報が示す車両状態と操作情報が示すユーザ操作との組合せに依存する。
【0046】
図4に示すように、コントローラ31は、力行制御条件が満たされると判定した場合、電気モータ6に車両1を走行させるための駆動トルクを発生させる力行制御を実行する。力行制御条件は、車両状態が前進状態で且つユーザの操作が前進操作である、または、車両状態が後進状態で且つユーザの操作が後進操作であるという条件である。即ち、コントローラ31は、車両状態情報および操作情報から、車両状態が前進状態で且つユーザの操作が前進操作であると判定した場合、または、車両状態が後進状態で且つユーザの操作が後進操作であると判定した場合、前記力行制御を実行する。
【0047】
徐行モードでの力行制御は、前述の徐行回転数制御部42cの回転数制御の一制御形態であり、目標回転数に電気モータ6の実回転数を近づける。力行制御時の目標回転数は、力行制御条件が満たされたと判定した時点から、力行制御条件が満たされている間、徐々に増加して、予め定められた制限速度(制限回転数)に維持される(
図6も参照)。徐行時の制限速度は、通常走行モードに設定される限界速度に比べて十分小さい値に設定されている。目標回転数の上昇率や上限速度は、トルク指令操作子15aが基準位置から第1移動方向R1に第1角度を超えた位置またはトルク指令操作子15aが基準位置から第2移動方向R2に第2角度を超えた位置にある限りは、ユーザによるトルク指令操作子15aの操作量に依存しない。つまり、徐行モード時の力行制御における目標回転数は、トルク指令操作子15aに対する操作量が大きくても小さくても、基本的に同じように推移するように設定されている。
【0048】
徐行制御部42は、第1回生制御条件が満たされると判定した場合、電気モータ6に車両1を制動するためのトルクである回生トルクを発生させる第1回生制御を実行する。第1回生制御条件は、前述のトルク制御条件であり、徐行モードでの第1回生制御は、前述の徐行トルク制御部42dのトルク制御である。すなわち、第1回生制御条件は、車両状態が前進状態で且つユーザの操作が基準位置操作である、または、車両状態が後進状態で且つユーザの操作が基準位置操作であるという条件である。コントローラ31は、車両状態情報および操作情報から、車両状態が前進状態で且つユーザの操作が基準位置操作であると判定した場合、または、車両状態が後進状態で且つユーザの操作が基準位置操作であると判定した場合、第1回生制御を実行する。
【0049】
徐行制御部42は、第2回生制御条件が満たされると判定した場合、電気モータ6に車両1を制動するためのトルクである回生トルクを発生させる第2回生制御を実行する。第2回生制御条件は、車両状態が前進状態で且つユーザの操作が後進操作である、または、車両状態が後進状態で且つユーザの操作が前進操作であるという条件である。即ち、コントローラ31は、車両状態情報および操作情報から、車両状態が前進状態で且つユーザの操作が後進操作であると判定した場合、または、車両状態が後進状態で且つユーザの操作が前進操作であると判定した場合、第2回生制御を実行する。徐行モードでの第2回生制御は、前述の徐行回転数制御部42cの回転数制御の一制御形態である。
【0050】
第2回生制御は、第1回生制御よりも大きい回生制動力を生じさせる。第2回生制御による回生量(すなわち回生発電量)は、第1回生制御による回生量より大きい。また、車両状態が前進状態にあるときの第2回生制御と、車両状態が後進状態にあるときの第2回生制御とで、得られる回生量が異なる。車両状態が前進状態にあるときの第2回生制御で得られる回生量は、車両状態が後進状態にあるときの第2回生制御で得られる回生量より大きい。
【0051】
次に、
図5を参照して、電気モータ6に対するトルク指令を出力するトルク指令出力処理の流れを説明する。トルク指令出力処理では、コントローラ31は、現在の制御モードが徐行モードであるか否かを判定する(ステップS1)。
【0052】
現在の制御モードが徐行モードであると判定した場合(ステップS1:Yes)、コントローラ31は、トルク制御条件が満たされるか否か、言い換えれば、車両が走行状態で且つユーザ操作が基準位置操作であるという条件が満たされるか否かを判定する(ステップS2)。トルク制御条件が満たされると判定した場合(ステップS2:Yes)、コントローラ31は、徐行トルク制御部42dによるトルク制御である徐行トルク制御により要求トルクTrを決定する(ステップS3)。
【0053】
トルク制御条件が満たされないと判定した場合(ステップS2:No)、コントローラ31は、徐行回転数制御部42cによる回転数制御である徐行回転数制御により要求トルクTrを決定する(ステップS4)。
【0054】
ステップS1において、現在の制御モードが徐行モードでないと判定した場合(ステップS1:No)、コントローラ31は、通常走行制御部41によるトルク制御である通常トルク制御により要求トルクTrを決定する(ステップS5)。
【0055】
ステップS3、S4、S5のいずれかで要求トルクTrを決定した後に、コントローラ31は、トルク制限処理を実行して、電気モータ6に要求するトルクが所定の上限値を超えないようにトルク指令を生成し(ステップS6)、生成したトルク指令をインバータ32に出力する(ステップS7)。
【0056】
コントローラ31は、所定の終了条件が満たされていない間(ステップS8:No)、ステップS1からステップS7に至るまでのステップを繰り返す。所定の終了条件が満たされたと判定した場合(ステップS8:Yes)、コントローラ31は、トルク指令出力処理を終了する。
【0057】
図6を参照して、徐行モード時の制御形態について、より詳しく説明する。
図6では、制御モードが徐行モードであるときに、ユーザが前進操作を行い、その後、後進操作を行った場合の電気モータ6の目標回転数と実回転数の時間変化が示されている。
図6の実線で示したグラフは、電気モータ6の目標回転数であり、破線で示したグラフは、電気モータ6の実回転数である。横軸が、経過時間tを示し、縦軸が回転数を示す。
【0058】
ユーザが、制御モードが徐行モード時で且つ車両1が停止した状態で、前進操作を開始すると(
図6の経過時間t=t1)、言い換えれば、トルク指令操作子15aに対するユーザによる操作量が所定値以上になると、より詳しくは、トルク指令操作子15aが基準位置から第1移動方向R1に第1角度以上回動されると、コントローラ31は、徐行回転数制御部42cの回転数制御の一制御形態である力行制御を選択し、実行する。徐行モード時の力行制御は、目標回転数に電気モータ6の実回転数を近づける回転数制御、具体的には回転数フィードバック制御である。本実施例では、例示として、PIDフィードバック制御が用いられる。コントローラ31は、目標回転数を、所定の第1制限回転数Mf_limに到達するまで時間経過に伴って第1変化率αで変化させる。第1変化率αは、電気モータ6の回転数の回転加速度である。第1変化率αは、発進用第1変化率α1と、走行用第1変化率α2とを含む。発進用第1変化率α1の絶対値は、走行用第1変化率α2の絶対値より大きい。
【0059】
コントローラ31は、目標回転数を、時間経過に伴って発進用第1変化率で変化させる。コントローラ31は、目標回転数を発進用第1変化率α1で変化させる間、第1変化率切替条件が満たされたか否か判定する。第1変化率切替条件は、電気モータ6の実回転数の絶対値が所定の閾値Mf_sの絶対値を超えたという条件である。第1変化率切替条件が満たされたと判定した場合(
図6の経過時間t=t2)、コントローラ31は、目標回転数を、時間経過に伴って走行用第1変化率α2で変化させる。目標回転数が第1制限回転数Mf_limに到達した場合(
図6の経過時間t=t3)、コントローラ31は、目標回転数を第1制限回転数Mf_limに維持する。たとえば、コントローラ31は、目標回転数と実回転数との偏差が大きいほど要求トルクTrを大きくする。コントローラ31は、目標回転数と実回転数との偏差がゼロになる状態の要求トルクTrに維持する。
【0060】
このように、トルク指令操作子15aに対する操作量が所定値以上であるかどうかで徐行モードの力行制御を実行するかどうかが選択される。トルク指令操作子15aに対する操作量が所定値以上である限り、操作量の大きさに拘らず、目標回転数の変化率は一定の変化率α(増加率)に設定されている。第1制限回転数Mf_limは、車両の徐行速度に対応する値に設定されている。徐行速度は、通常走行モードで発生可能な車両の最大前進速度に比べて極めて小さい値、たとえば10km/h以下に設定される。本実施形態では、第1制限回転数Mf_limに対応する車両の速度は、平坦な走行路において前進方向に約5km/hである。
【0061】
その後、ユーザは、トルク指令操作子15aを基準位置に戻す基準位置操作をすると(
図6の経過時間t=t4)、言い換えれば、ユーザによる操作量が所定値以下になると、更により詳しくは、トルク指令操作子15aが基準位置から第1移動方向R1に第1角度未満で且つ基準位置から第2移動方向R2に第2角度未満の位置に回動すると、コントローラ31は、徐行トルク制御部42dのトルク制御である第1回生制御を選択し、実行する。この場合、コントローラ31は、徐行モード時に、前記メモリに記憶された後述の対応関係情報を参照して、受信したモータ回転数に対応する回生トルクを発生させるよう電気モータ6を制御する回生トルク制御を実行する。第1回生制御による回生制動力により車両1は減速し、電気モータ6の実回転数は減少する。なお、
図6における時間t4と時間t5との間では、回転数制御ではなくトルク制御が実行されるため、実線の目標回転数を示さず、破線の実回転数のみ示す。
【0062】
その後、ユーザは、減速中に後進操作をすると(
図6の経過時間t=t5)、コントローラ31は、徐行回転数制御部43cの回転数制御を選択して、第1回生制御から第2回生制御に移行する。第2回生制御では、コントローラ31は、目標回転数をゼロに設定し、電気モータ6の回転数がゼロとなるように電気モータ6に対してフィードバック制御を実行する。実回転数がゼロに低減するまでの間(
図6における時間t5から時間t6までの間)、第1回生制御より大きい回生制動力が作用する。
【0063】
後進操作中に、実回転数がゼロに到達すると(
図6の経過時間t=t6)、徐行回転数制御部43cの回転数制御の選択を継続して、第2回生制御から、電気モータ6に負方向に駆動トルクを発生させる力行制御に移行する。徐行モード時の力行制御は、目標回転数に電気モータ6の実回転数を近づける回転数制御である。コントローラ31は、目標回転数を、所定の第2制限回転数Mr_limに到達するまで時間経過に伴って第2変化率βで変化させる。第2変化率βは、電気モータ6の回転数の回転加速度である。第2変化率は、発進用第2変化率β1と、走行用第2変化率β2とを含む。発進用第2変化率β1の絶対値は、走行用第2変化率β2の絶対値より大きい。
【0064】
コントローラ31は、目標回転数を、時間経過に伴って発進用第2変化率β1で変化させる。コントローラ31は、目標回転数を発進用第2変化率β1で変化させる間、第2変化率切替条件が満たされたか否か判定する。第2変化率切替条件は、モータの実回転数の絶対値が所定の閾値Mr_sの絶対値を超えたという条件である。第2変化率切替条件が満たされたと判定した場合(
図6の経過時間t=t7)、コントローラ31は、目標回転数を、時間経過に伴って走行用第2変化率β2で変化させる。目標回転数が第2制限回転数Mr_limに到達した場合(
図6の経過時間t=t8)、コントローラ31は、目標回転数を第2制限回転数Mr_limに維持する。第2制限回転数Mr_limは、車両の徐行速度に対応する値に設定されている。徐行速度は、通常走行モードで発生可能な車両の最大前進速度に比べて極めて小さい値、たとえば10km/h以下に設定される。本実施形態では、第2制限回転数Mr_limに対応する車両の速度は、平坦な走行路において後進方向に約3km/hである。
【0065】
また、このように車両状態が前進状態の場合にも後進状態の場合にも、ユーザの操作に応じて、力行制御、第1回生制御、第2回生制御をとる場合がある。ただし、
図4に示すように、本実施形態では、同じ制御形態であっても、車両状態が前進状態か後進状態かによって各種制御に使用する設定値の絶対値が異なり得る。例えば、前進状態で実行される回転数制御と、後進状態で実行される回転数制御とでは、下記パラメータ(i)乃至(vii)の設定値の絶対値が異なる。
【0066】
(i) 目標回転数の変化率の絶対値(第1変化率α,第2変化率β)
(ii) 最大目標回転数の絶対値(Mf_lim,Mr_lim)
(iii) 目標回転数の変化率切替条件の閾値の絶対値(Mf_s,Mr_s)
(iv) 偏差制限値の絶対値(Df,Dr)
(v) 高速処理切替条件の閾値の絶対値
(vi) オフセットトルクの絶対値
(vii) 上限トルクと下限トルクの絶対値
【0067】
(i)の目標回転数の変化率の絶対値(第1変化率α,第2変化率β)について、説明する。車両1が前進状態にあるときの力行制御では、目標回転数を時間経過に伴って第1変化率αで変化させ、車両1が後進状態にあるときの力行制御では、目標回転数を時間経過に伴って第2変化率βで変化させる。第1変化率αの絶対値は、第2変化率βの絶対値より大きい。例えば発進用第1変化率α1の絶対値は、発進用第2変化率β1の絶対値より大きい。例えば走行用第1変化率α2の絶対値は、走行用第2変化率β2の絶対値より大きい。
【0068】
(ii)の最大目標回転数の絶対値(Mf_lim,Mr_lim)について、説明する。車両1が前進状態にあるときの力行制御では、最大目標回転数が第1制限回転数Mf_limに制限され、車両1が後進状態にあるときの力行制御では、最大目標回転数が第2制限回転数Mr_limに制限される。第1制限回転数Mf_limの絶対値は、第2制限回転数Mr_limの絶対値より大きい。例えば第1制限回転数Mf_limは、車速が前進方向に時速5kmとなるように設定された回転数であり、例えば第2制限回転数Mr_limは、車速が後進方向に時速3kmとなるように設定された回転数である。すなわち、本実施形態の徐行モードにおいて、前進の方が後進に比べて、最高走行速度の絶対値が大きい。前述の通り、本実施形態では、第1制限回転数Mf_limに対応する車両の速度は、平坦な走行路における約5km/hであり、第2制限回転数Mr_limに対応する車両の速度は、平坦な走行路における約3km/hである。
【0069】
(iii)の目標回転数の変化率切替条件の閾値の絶対値(Mf_s,Mr_s)について、説明する。車両1が前進状態にあるときの力行制御では、モータの実回転数の絶対値が閾値Mf_sの絶対値を超えたときに、目標回転数の第1変化率が、発進用第1変化率α1から走行用第1変化率α2に切り替え、車両1が後進状態にあるときの力行制御では、モータの実回転数の絶対値が閾値Mr_sの絶対値を超えたときに、目標回転数の第2変化率が、発進用第2変化率β1から走行用第2変化率β2に切り替える。前進時の閾値Mf_sの絶対値は、後進時の閾値Mr_sの絶対値より大きい。
【0070】
(iv),(v),(vi),(vii)のパラメータについては、詳細は後述する。
【0071】
(徐行回転数制御)
徐行回転数制御部42cにより実行される回転数制御処理について、
図7乃至10を参照して説明する。
図7に示すように、徐行回転数制御部42cは、変化率制限部51、フィルタ処理部52、データ取得部53、偏差制限部54、偏差取得部55、PID制御部56、オフセットトルク取得部57および加算部58を含む。
【0072】
変化率制限部51およびフィルタ処理部52は、回転数センサ22により検出されるモータ回転数からノイズを除去する。具体的には、変化率制限部51は、回転数センサ22により検出されるモータ回転数に対して変化率制限フィルタ処理を実行する。変化率制限フィルタ処理は、電気モータ6の実回転数の時系列データに対して時間変化率を所定の範囲内に制限する処理である。フィルタ処理部52は、変化率制限部51により変化率制限フィルタ処理が施されたデータに対して、ローパスフィルタ処理(高周波成分の除去処理)を実行する。
【0073】
図8は、
図7の変化率制限部51およびフィルタ処理部52による実回転数からのノイズ除去を説明するためのグラフである。
図8において実線で示すグラフは、回転数センサ22の生データであり、回転数センサ22により検出される電気モータ6の実回転数の時間変化を示す。本例では、実回転数は、徐々に上昇し、その後ある回転数に維持されている。ある時間で実回転数に急峻な変化が生じている。このような実回転数の急峻な変化は、徐行回転数制御部42cの出力となる要求トルクTrの急峻な変化につながり、PID制御を行う前に除去されるのが望ましい。
【0074】
図8において破線で示すグラフは、回転数センサ22に検出される実回転数データに対してローパスフィルタ処理のみを施した結果である。破線のグラフと実線のグラフとを比較すると、ローパスフィルタ処理が施されることで、実線のグラフが平滑化されてノイズが除去されたデータが得られる。しかしながら、ローパスフィルタ処理のみで処理しようとすると、処理後のデータは、実線のグラフであるセンサデータに対して時間遅れが大きくなってしまう。
【0075】
図8において一点鎖線で示すグラフは、回転数センサ22に検出される実回転数データに対して、変化率制限フィルタ処理とローパスフィルタ処理とを施した結果である。回転数センサ22に検出される実回転数データに対して、まず変化率制限フィルタ処理を施すことでノイズの振幅を小さくし、さらにローパスフィルタ処理で平滑化する。ノイズの振幅を小さくしているため、ローパスフィルタ処理のみで処理する場合に比べて、フィルタ処理を過剰とすることを防ぐことができる。その結果、センサデータに対して時間遅れが大きくなってしまうことも防止できる。
【0076】
図7に戻って、データ取得部53は、目標回転数データを取得する。目標回転数データは、目標回転数を時間に伴ってどのように変化させるかに関するデータである。例えば目標回転数データは、予め設定された変化率α,βで目標回転数を制限回転数Mf_lim,Mr_limまで時間に伴って変化させ、目標回転数が制限回転数Mf_lim,Mr_limに到達した場合には、目標回転数を制限回転数Mf_lim,Mr_limに維持するように変化させるためのデータである。目標回転数データは、前述の(i),(ii),(iii)の各パラメータの設定値に関する情報を含む。コントローラ31のメモリには、複数の目標回転数データが記憶されており、データ取得部53は、車両状態情報および操作情報に基づき、複数の目標回転数データの中から1の目標回転数データを選択および取得する。
【0077】
偏差制限部54は、実回転数に応じて目標回転数の絶対値の上昇を制限する偏差制限処理を実行する。偏差制限処理は、電気モータ6の目標回転数と実回転数との偏差δが大きくなりすぎることを防止する処理である。偏差制限部54は、データ取得部53から目標回転数を取得し、変化率制限部51およびフィルタ処理部52によりノイズ除去した実回転数を取得する。偏差制限部54は、取得した目標回転数から、取得した実回転数を減算して得られる偏差が、所定の偏差制限値を上回らないように、目標回転数の変化を制限する。
【0078】
図9は、
図7の偏差制限部54による偏差制限処理を説明するためのグラフである。
図9において、横軸が時間を示し、縦軸が回転数を示す。
図9の実線で示したグラフは、偏差制限処理を実行した場合の目標回転数の時間変化であり、破線で示したグラフは、偏差制限処理を実行した場合の目標回転数の時間変化である。
図9には、比較のために、偏差制限処理を実行しなかった場合の目標回転数と実回転数も示されている。
図9の一点鎖線で示したグラフは、偏差制限処理を実行しなかった場合の目標回転数の時間変化であり、二点鎖線で示したグラフは、偏差制限処理を実行しなかった場合の目標回転数の時間変化である。
【0079】
偏差制限処理を実行しなかった場合、
図9の一点鎖線で示すグラフのように、徐行モード時における車両1が前進状態にあるときの力行制御では、目標回転数は、第1制限回転数Mf_limに到達するまでの間、時間経過に伴って第1変化率αで変化する。この状況において、ユーザが、ブレーキレバー19を操作して、車両1に機械的なブレーキをかけていると、
図9の二点鎖線で示したグラフのように、実回転数は目標回転数に追従せずゼロのままである。このため、目標回転数と実回転数との偏差は増大していく。目標回転数が第1制限回転数Mf_limに到達した後、ユーザがブレーキ操作を解除すると、実回転数と目標回転数との偏差が大きいために、当該偏差から演算される要求トルクTrが過剰となり、実回転数が急激に上昇して第1制限回転数Mf_limを大幅にオーバーシュートする。
【0080】
偏差制限処理を実行した場合、目標回転数と実回転数との偏差δが、第1偏差制限値Dfを上回らないように目標回転数の変化が制限される。すなわち、
図9の実線で示すグラフのように、目標回転数と実回転数との偏差δは増大していき、偏差が所定の第1偏差制限値Dfに到達すると、目標回転数は、第1偏差制限値Dfに維持される。目標回転数が第1偏差制限値Dfに維持された状態で、ユーザがブレーキ操作を解除すると、第1偏差制限値Dfから要求トルクTrが演算される。
図9の破線で示すように、目標回転数と実回転数との偏差δが第1偏差制限値Dfに制限されているため、実回転数が第1制限回転数Mf_limを大幅にオーバーシュートすることを抑制できる。
【0081】
図9では、前進状態で実行される回転数制御の偏差制限処理を例示したが、後進状態で実行される回転数制御でも、偏差制限処理が実行される。ただし、前述の(iv)のとおり、前進状態の偏差制限処理と後進状態の偏差制限処理とで、偏差制限値の絶対値は異なる。車両1が前進状態にあるときの偏差制限処理では、目標回転数と実回転数との偏差が第1偏差制限値Dfに制限され、車両1が後進状態にあるときの偏差制限処理では、目標回転数と実回転数との偏差が第2偏差制限値Drに制限される。前進時の第1偏差制限値Dfの絶対値は、後進時の第2偏差制限値Drの絶対値より大きい。
【0082】
図7に戻って、偏差取得部55は、偏差制限部54により偏差が制限された目標回転数を取得し、変化率制限部51およびフィルタ処理部52によりノイズ除去した実回転数を取得する。偏差制限部54は、取得した目標回転数から、取得した実回転数を減算して、目標回転数と実回転数との偏差を取得する。
【0083】
PID制御部56は、偏差取得部55により得られる偏差δに対してPID(Proportional-Integral-Differential)処理を施す。具体的には、PID制御部56は、偏差δに対して比例ゲインを乗算した値、偏差δを積分処理したものに対して積分ゲインを乗算した値、および、偏差δを微分処理したものに対して微分ゲインを乗算した値を、互いに加算して、PID制御トルクを演算する。PID制御トルクに対して、オフセットトルク取得部57により得られるオフセットトルクを加算部58にて加算したものを、要求トルクTrとして決定する。
【0084】
PID制御部56は、実回転数の絶対値が目標回転数の絶対値を大幅にオーバーシュートした場合に、実回転数の絶対値を急速に低減させる処理を実行する。具体的には、PID制御部56は、実回転数の絶対値から目標回転数の絶対値を減算した値が閾値未満である場合、通常PID処理(通常回転数制御とも称し得る)を実行し、高速処理切替条件が満たされたと判定した場合、通常PID処理から、通常PID処理を実行する場合と比べて実回転数の絶対値を急速に低減させる高速PID処理(高速回転数制御とも称し得る)に切り替える。高速処理切替条件は、実回転数の絶対値が目標回転数の絶対値を閾値以上の差をつけて超えたという条件である。
【0085】
本実施形態では、高速PID処理は、偏差δを積分処理して得られる積分値をクリアする処理である。ただし、高速PID処理は、積分値の削除に限定されず、通常PID処理を実行する場合と比べて実回転数の絶対値を急速に低減させる処理であればよい。例えば、高速PID処理は、通常PID処理と比べて、比例ゲインを高めてもよいし、積分ゲインを低減してもよい。高速PID処理は、偏差δに対して比例ゲインを乗算した値、偏差δを積分処理したものに対して積分ゲインを乗算した値、および、偏差δを微分処理したものに対して微分ゲインを乗算した値に対して、所定トルク分低減して、PID制御トルクとしてもよい。
【0086】
このように、高速処理条件である、実回転数の絶対値が目標回転数の絶対値を閾値以上の差をつけて超えるという条件が満たされた場合、通常PID処理から高速PID制御に切り替わるが、前述の(v)のとおり、高速処理切替条件の閾値の絶対値は、車両1が前進状態にあるときと車両1が後進状態にあるときとで異なる。車両1前進時の力行制御における高速処理切替条件の第1閾値の絶対値は、車両1後進時の力行制御における高速処理切替条件の第2閾値の絶対値より大きい。
【0087】
オフセットトルク取得部57は、オフセットトルクを取得する。オフセットトルクは、車両1が発進する場合など、モータ回転数が低回転数である場合の車両1の走行応答性を高めるために、PID制御トルクに対して加算されるトルクである。オフセットトルクは、メモリに予め記憶されたオフセットトルクマップを参照して得られる。オフセットトルクマップは、モータ回転数と、トルクとの対応関係を示す。
【0088】
図10は、オフセットトルクマップの一例である。
図10において、横軸が電気モータ6の実回転数の絶対値を示し、縦軸がオフセットトルクの絶対値を示す。
図10の実線で示したグラフは、車両1が前進状態にあるときの回転数制御で使用される第1オフセットトルクマップであり、
図10の破線で示したグラフは、車両1が前進状態にあるときの回転数制御で使用される第2オフセットトルクマップである。
【0089】
第1オフセットトルクマップおよび第2オフセットトルクマップの双方ともにおいて、実回転数の絶対値が低くなるほど、段階的にトルクの絶対値が大きくなっている。ある値以上のモータ回転数に対応するオフセットトルクは、ゼロである。
【0090】
前述の(vi)のとおり、前進状態で実行される回転数制御と、後進状態で実行される回転数制御とでは、オフセットトルクが異なる。すなわち、第1オフセットトルクマップと第2オフセットトルクマップとで、実回転数の絶対値に対するオフセットトルクの値が異なる。車両1が前進状態にあるときに第1オフセットトルクマップを参照して得られる第1オフセットトルクの絶対値は、車両1が後進状態にあるときに第2オフセットトルクマップを参照して得られる第2オフセットトルクの絶対値より大きい。
【0091】
図7に戻って、加算部58が、PID制御トルクに対してオフセットトルクを加算して得られる要求トルクTrは、トルク制限部43に送られる。
【0092】
(徐行トルク制御)
次に、徐行トルク制御部42dにより実行されるトルク制御処理について説明する。
図7に示すように、徐行トルク制御部42dは、トルク決定部59を含む。トルク決定部59は、回転数センサ22により検出されるモータ回転数に対応する回生トルクを取得する。具体的には、コントローラ31のメモリには、モータ回転数と、トルクとの対応関係を示す対応関係情報が記憶されている。対応関係情報は、例えばトルクマップ、または、演算式であり得る。対応関係情報は、少なくともモータ回転数と、トルク(すなわち回生トルク)との対応関係を示す情報であればよい。例えば対応関係情報は、アクセル操作量およびモータ回転数と、トルクとの対応関係を示すものであってもよい。徐行トルク制御部42dと通常走行制御部41とで、参照する対応関係情報(例えばトルクマップ)が同じであってもよいし、異なってもよい。トルク決定部59は、対応関係情報を参照して、受信したモータ回転数情報が示すモータ回転数に対応する回生トルクを取得し、当該トルクを電気モータ6に要求する要求トルクTrに決定する。トルク決定部59に決定された要求トルクTrは、トルク制限部43に送られる。
【0093】
(トルク制限処理)
トルク制限部43によるトルク制限処理について、
図11を参照して説明する。
図11は、
図3のトルク制限部43のブロック図である。トルク制限部43は、制限電流取得部61、制限トルク演算部62、比較部63を含む。
【0094】
制限電流取得部61は、温度センサ3bから受信したバッテリ温度情報、および、バッテリ管理ユニット3cから受信したSOC情報に基づき、制限電流を決定する。コントローラ31のメモリには、バッテリ温度およびSOCと、充電電流制限値Icと放電電流制限値Idとの対応関係を示す対応関係情報が記憶されている。制限電流取得部61は、対応関係情報を参照して、受信したバッテリ温度およびSOCに対応する充電電流制限値Icと放電電流制限値Idを取得する。充電電流制限値Icは、受信したバッテリ温度およびSOCにおける最大許容充電電流であり、放電電流制限値Idは、受信したバッテリ温度およびSOCにおける最大許容放電電流である。
【0095】
制限トルク演算部62は、制限電流取得部61により取得された充電電流制限値Icから、充電制限トルクTcを演算する。具体的には、制限トルク演算部62は、充電電流制限値Icに、バッテリ3aの電圧を乗算し充電制限電力を算出し、算出した充電制限電力を、電気モータ6の実回転数で除算して、充電制限トルクTcを得る。回生制御時の電気モータ6に発生する回生トルクを、充電制限トルクTc以下にすることで、バッテリ3aへの充電電流が充電電流制限値Ic以下に保たれる。充電制限トルクTcは、回生制限トルクTcとも称し得る。すなわち、回生制限トルクTcは、バッテリ3aに流れ込む電流が最大許容充電電流となる際のトルクである。
【0096】
制限トルク演算部62は、制限電流取得部61により取得された放電電流制限値Idから、放電制限トルクTdを演算する。具体的には、制限トルク演算部62は、放電電流制限値Idに、バッテリ3aの電圧を乗算し放電制限電力を算出し、算出した放電制限電力を、電気モータ6の実回転数で除算して、放電制限トルクTdを得る。力行制御時の電気モータ6に発生する駆動トルクを、放電制限トルクTd以下にすることで、バッテリ3aからの放電電流が放電電流制限値Id以下に保たれる。放電制限トルクTdは、力行制限トルクTdとも称し得る。すなわち、力行制限トルクTdは、バッテリ3aから流れ出る電流が最大許容放電電流となる際のトルクである。
【0097】
このように、力行制限トルクTdおよび回生制限トルクTcは、バッテリ3aの状態に関するバッテリ状態情報、すなわち、バッテリ温度情報およびSOC情報に基づき変更される。例えばバッテリ3aの温度が高いほど、力行制限トルクTdおよび回生制限トルクTcは小さくなるように設定されてもよい。例えばSOCが100%に近いほど、回生制限トルクTcは小さくなるように設定される。バッテリ3aへの過充電を避けるためである。また、本実施形態では、同じSOCおよびバッテリ温度の条件下では、力行制限トルクTdは、回生制限トルクTcより大きい。
【0098】
比較部63は、徐行回転数制御部42cまたは徐行トルク制御部42dにより決定された要求トルクTrと、制限トルク演算部62により演算された制限トルクとを比較する。すなわち、比較部63は、力行制御時には要求トルクTrと力行制限トルクTdとを比較し、第1回生制御時または第2回生制御時には要求トルクTrと回生制限トルクTcとを比較する。比較部63は、要求トルクTrの絶対値が制限トルクの絶対値を超えていないと判定した場合には、電気モータ6に要求トルクTrを発生させるよう当該制御指令をインバータ32に出力する。比較部63は、要求トルクTrの絶対値が制限トルクの絶対値を超えていると判定した場合には、電気モータ6に当該制限トルクを発生させるよう制御指令をインバータ32に出力する。
【0099】
比較部63は、力行制御時に電気モータ6に要求する正方向または負方向のトルクを、力行制限トルクTd以下に制限する。また、比較部63は、回生制御時に電気モータ6に要求する正方向または負方向のトルクを、回生制限トルクTc以下に制限する。このため、前述の(vii)のとおり、前進状態で実行される回転数制御と、後進状態で実行される回転数制御とで、電気モータ6の正方向の制限トルクである上限トルクおよび電気モータ6の負方向の制限トルクである下限トルクの各制限トルクの絶対値が異なる。
【0100】
具体的には、比較部63は、制限トルク演算部62により演算された力行制限トルクTdおよび回生制限トルクTcを取得する。比較部63は、車両状態が前進状態であると判定した場合には、取得した力行制限トルクTdを、上限トルクに設定し、取得した回生制限トルクTcを、下限トルクに設定する。すなわち、車両状態が前進状態であるときには、比較部63は、電気モータ6に正方向に発生させる駆動トルクの大きさが、力行制限トルクTdを上回らないように制限し、且つ、電気モータ6に負方向に発生させる回生トルクの大きさが、回生制限トルクTcを上回らないように制限する。
【0101】
一方、比較部63は、車両状態が後進状態であると判定した場合には、取得した回生制限トルクTcを、上限トルクに設定し、取得した力行制限トルクTdを、下限トルクに設定する。すなわち、車両状態が後進状態であるときには、比較部63は、電気モータ6に正方向に発生させる回生トルクの大きさが、回生制限トルクTcを上回らないように制限し、電気モータ6に負方向に発生させる駆動トルクの大きさが、力行制限トルクTdを上回らないように制限する。
【0102】
ただし、本実施形態では、例外的に、比較部63は、車両状態が所定の微速走行状態であるか否かを判定して、車両状態が微速走行状態であると判定した場合には、車両状態が微速走行状態でないと判定した場合と比べて要求回生トルクTrに対する制限を緩和するトルク制限緩和処理を実行している。言い換えれば、比較部63は、車両状態が微速走行状態であると判定した場合に設定する回生制限トルクTcを、車両状態が微速走行状態でないと判定した場合に設定する、制限トルク演算部62により演算された回生制限トルクTcと比べて大きくする。
【0103】
例えば微速走行状態は、電気モータ6での回生量が所定値以下となる状態である。微速走行状態は、例えばモータ回転数の絶対値が所定値以下である状態であってもよい。微速走行状態は、モータ回転数の絶対値がゼロである車両1の停車状態を含む。
【0104】
本実施形態で、車両状態が微速走行状態である場合には要求回生トルクTrに対する制限を緩和している理由について説明する。例えばバッテリ3aが満充電である場合、過充電を防止するために、制限トルク演算部62により演算される回生制限トルクTcは、ゼロ、または、ほぼゼロである。仮にバッテリ3aが満充電で、且つ、車両1が微速(例えば車速1km以下)で前進しているとする。この状態で、ユーザが後進操作したとする。この場合、車両1が前進状態にあるため、電気モータ6の負方向の制限トルクは、回生制限トルクのゼロまたはほぼゼロである。このため、ユーザが後進操作したにもかかわらず、電気モータ6の負方向にトルクは発生されない。一方、車両1が極低速である場合、回生量はほとんどゼロであるため、車両1が回生トルクが生じない程度の速度で微速走行している状態では、電気モータ6の回生トルクに制限を設けなくても、バッテリの過充電は生じない。これが、車両状態が微速走行状態である場合に要求回生トルクTrに対する制限を緩和する理由である。
【0105】
具体的には、比較部63は、回転数センサ22により検出される回転数に基づき、車両状態が微速走行状態であるか否か判定する。比較部63は、車両1が微速走行状態であると判定したときには、回生制限トルクTcの大きさを、SOCやバッテリ温度に基づいて制限トルク演算部62により演算された回生制限トルクTcとする代わりに、制限トルク演算部62により演算された力行制限トルクTdと同じ大きさに設定する。言い換えれば、上限トルクと下限トルクの双方とも、力行制限トルクTdに設定する。これにより、回生トルクの制限が緩和される。バッテリ3aが満充電である場合でも、力行制限トルクTdは、回生制限トルクTcのようにゼロまたはほぼゼロではなく、比較的大きい値であるためである。
【0106】
ただし、回生トルクの制限を緩和する処理において、回生制限トルクTcの大きさを、制限トルク演算部62により演算された力行制限トルクTdと同じ大きさに設定する代わりに、回生制限トルクTcを設定しない、あるいは、制限トルク演算部62により演算された回生制限トルクTcよりも所定トルクだけ大きくしてもよい。
【0107】
(作用効果)
以上に説明したように、本実施形態によれば、コントローラ31が、車両1が前進状態にあるときの力行制御では、目標回転数を時間経過に伴って第1変化率αで変化させ、車両1が後進状態にあるときの力行制御では、目標回転数を時間経過に伴って第2変化率βで変化させる。第1変化率αの絶対値は、第2変化率βの絶対値より大きい。このため、徐行モードにおいて、前進時と後進時のそれぞれの場合に適した走行を行うことができる。
【0108】
例えば徐行モードにおける車両の前進時には、徐行モードにおける車両の後進時に比べて電気モータの回転数または出力トルクの変化率の絶対値を大きくすることにより、運転者の意図するフィーリングに沿う走行を行いやすくできる。具体的には、徐行モードであっても、車両の前進時には、運転者が前方を視認しながら操作することができるので、徐行モードであっても比較的高い加速操作を望む。
【0109】
また、徐行モードにおける車両の後進時には、前方視認に比べて後方を視認できる領域が小さくなる。本実施例では、徐行モードにおける車両の前進時に比べて後進時の電気モータ6の回転数または出力トルクの変化率の絶対値を小さくすることにより、後方走行時における障害物の回避や車両の停止をしやすくする。
【0110】
すなわち、徐行モードにおいて、前進時の速度上昇を速めて操作性を向上できるとともに、後進時の速度上昇を抑制して障害物の回避性を高めやすくできる。
【0111】
また、本実施形態によれば、コントローラ31は、制御モードが徐行モードである場合に、電気モータ6の目標回転数に基づいて電気モータ6の実回転数を制御する回転数制御を実行するため、徐行モード時における車両の走行速度の調整を行いやすい。具体的には、回転数制御が実行されることで、車両1のトルク変動を防いで、走行速度の調整を行いやすくすることができる。
【0112】
また、本実施形態によれば、コントローラ31は、ユーザの操作が前進操作であると判定した場合、目標回転数を第1制限回転数Mf_limに変化させて、目標回転数を第1制限回転数Mf_limに維持し、ユーザの操作が後進操作であると判定した場合、目標回転数を第2制限回転数Mr_limに変化させて、目標回転数を第2制限回転数Mr_limに維持する。このため、制御モードが徐行モードである場合、ユーザは、モータの回転数を予め定める制限回転数に保つための複雑な調整操作をしなくてすむ。このため、車両の操作性を向上できる。
【0113】
また、本実施形態によれば、第1制限回転数Mf_limの絶対値は、第2制限回転数Mr_limの絶対値より大きい。このため、徐行モードにおいて、前進時と後進時のそれぞれの場合に適した走行を行うことができる。すなわち徐行モードにおいて、前進時の最大速度を高めて操作性を向上できるとともに、後進時の最大速度を抑制して障害物の回避性を高めやすくできる。
【0114】
また、本実施形態によれば、オフセットトルクとして、ユーザの操作が前進操作であると判定された場合に使用される第1オフセットトルクと、ユーザの操作が後進操作であると判定された場合に使用される第2オフセットトルクとを記憶しており、第1オフセットトルクの絶対値は、第2オフセットトルクの絶対値より大きい。このため、ユーザの操作が後進操作である場合に車両1の後進方向への加速度を抑えることができる。すなわち徐行モードにおいて、前進時の速度上昇を速めて操作性を向上できるとともに、後進時の速度上昇を抑制して障害物の回避性を高めやすくできる。
【0115】
また、本実施形態によれば、目標回転数と実回転数との偏差が所定の偏差制限値を上回らないように、目標回転数の変化を制限する偏差制限処理が実行される。このため、時間の経過に伴って変化する目標回転数に実回転数が追従しない場合に、目標回転数と実回転数との偏差が大きくなりすぎるのを抑制ことができる。例えばユーザがブレーキ操作している場合、時間の経過に伴って目標回転数が変化しても、実回転数は追従しないが、このような場合に、目標回転数と実回転数との偏差が大きくなりすぎるのを抑制でき、このため、ブレーキを解除したときの車両の加速度を抑えることができる。
【0116】
また、本実施形態によれば、回転数センサ22により検出されるモータ回転数に対して変化率制限フィルタ処理を実行して、モータ回転数の時系列データに対して時間変化率を所定の範囲内に制限する。これにより、実回転数に生じ得るノイズを除去でき、回転数制御を行いやすくする。
【0117】
また、本実施形態によれば、実回転数の絶対値が目標回転数の絶対値を閾値以上の差をつけて超えた場合、通常PID処理から、通常PID処理を実行する場合と比べて実回転数の絶対値を急速に低減させる高速PID処理に切り替える。これにより、実回転数が目標回転数を大幅にオーバーシュートした場合に、実回転数の絶対値を急速に落として、徐行モード時に電気モータ6の発生トルクが過剰となるのを防ぐことができる。
【0118】
<その他の実施形態>
本開示は前述した実施形態に限定されるものではなく、その構成を変更、追加、又は削除することができる。
【0119】
例えば上記実施形態で説明された車両は、走行駆動源を1つ備える電動車両であったが、車両はこれに限定されない。本開示は、前後進用の駆動源を備える車両であれば適用可能である。例えば、車両は、電気モータと内燃エンジンの2つの走行駆動源を備えるハイブリッド車両でもよい。車両は、前後進用のモータを備えていれば、別途の駆動源を備えていてもよい。また、鞍乗車両は、二輪車でなくてもよく、三輪車でもよい。また、車両は、鞍乗車両でなくてもよく、例えば四輪車でもよい。変速比を切り替える変速機を備えてもよい。車両は、減速比を切り替え可能な変速機を備えてもよい。また車両は、ユーザの変速操作を受け付ける操作子を備えてもよい。
【0120】
上記実施形態では、モード切替スイッチの操作に応じて、通常走行モードと徐行モードとのモード切替が実行されたが、これに限らない。すなわち、予め定められたモード切替条件に応じて、モード切替が行われてもよい。たとえば専用のモード切替スイッチに代えて、既存のスイッチを複数同時操作することを判断してモード切替が行われてもよい。また通常走行モードから徐行モードに切替わる条件と、徐行モードから通常走行モードに切替わる条件とが異なってもよい。
【0121】
上記実施形態では、徐行モード時におけるユーザの前進操作や後進操作は、トルク指令操作子15aに対する操作であったが、徐行モード時における前進操作や後進操作は、トルク指令操作子15aとは別のトルク指令操作子に対してなされてもよい。前進操作するための操作子と、後進操作するための操作子とが別に設けられてもよい。
【0122】
また、ユーザの操作内容を示す操作情報に、制御モードとして通常走行モードが選択されているか徐行モードが選択されているかの情報が含まれてもよい。言い換えれば、ユーザによる前進操作または後進操作のユーザ操作が、徐行モードの選択操作を兼ねてもよい。
【0123】
例えば車両が、徐行前進ボタンおよび徐行後進ボタンを備えてもよく、徐行前進ボタンを押す操作が、徐行モード時における前進操作であってもよく、徐行後進ボタンを押す操作が、徐行モード時における後進操作であってもよい。例えば車両が、徐行操作用のレバーを備え、当該徐行操作用のレバーに対して、徐行モード時における前進操作や後進操作がなされてもよい。この場合、徐行操作用のレバーが、基準位置から前方および後方に傾倒可能に構成されており、前方に傾倒する操作が前進操作で、後方に傾倒する操作が後進操作であってもよい。徐行操作用のレバーは、L字型に移動可能に構成されていてもよい。
【0124】
上記実施形態では、前進状態で実行される制御と、後進状態で実行される制御とで、パラメータ(i)乃至(vii)の設定値の絶対値が異なっていたが、これらの一部のパラメータについて、前進状態で実行される制御と、後進状態で実行される制御とで設定値の絶対値が同じでもよい。例えば上記実施形態では、発進用変化率α1,β1と、走行用変化率α2,β2がそれぞれ設定されたが、区別されずに前進用と後進用とでそれぞれの変化率α,βが設定されるだけでもよい。また、(i)乃至(vii)の一部のパラメータは、設定されていなくてもよく、前進状態で実行される制御と後進状態で実行される制御とで別のパラメータの設定値の絶対値が異なってもよい。
【0125】
通常走行モードは、トルク指令操作子15aに応じて出力を変更できればよく、トルク、走行速度またはモータ回転数を変更してもよい。例えば、通常走行モードでは、上記実施形態で説明された、アクセル操作量とトルクとの対応関係を示す対応関係情報に基づいて要求トルクを決定するトルク制御が実行される代わりに、目標車速に実際の車速を近づけるフィードバック制御が実行されてもよいし、目標モータ回転数に実際のモータ回転数を近づけるフィードバック制御が実行されてもよい。
【0126】
なお、通常走行モード時に、車両1が停止した状態で、後進操作された場合、つまりトルク指令操作子15aが基準位置から第2移動方向R2に第2角度以上回動された場合、車両1は後進しなくてもよい。また、通常走行モード時に、車両1が前進走行している途中で、後進操作された場合、つまりトルク指令操作子15aが基準位置から第2移動方向R2に第2角度以上に回動された場合に、後述する徐行モード時の第2回生制御のように、電気モータ6に回生制動力を発生させてもよい。
【0127】
徐行モードは、通常走行モードに比べて、走行速度が抑制されればよく、トルク、走行速度またはモータ回転数が制限されてもよい。例えば、徐行モードでは、上記実施形態で説明された、目標モータ回転数に実際のモータ回転数を近づけるフィードバック制御が実行される代わりに、目標車速に実際の車速を近づけるフィードバック制御が実行されてもよいし、電気モータ6の出力トルクを徐々に変化させる制御が実行されてもよい。
【0128】
例えばコントローラ31は、ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの出力トルクを、第1変化率で変化させ、ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの出力トルクを、第2変化率で変化させるように構成されてもよい。また、この場合、前記第1変化率の絶対値は、前記第2変化率の絶対値より大きくてもよい。
【0129】
本開示は、制御モードとして徐行モードがない車両にも適用可能である。本開示は、ユーザの操作に応じて前進させたり後進させたりすることが可能な車両に適用可能である。コントローラ31は、上記実施形態で説明されたモード以外の制御モードを持つものであってもよい。
【0130】
前後進が可能な車両におけるコントローラの制御モードが、ユーザの操作が前進操作であると判定された場合の前進方向の車両加速度と、ユーザの操作が後進操作であると判定された場合の後進方向の車両加速度とを異ならせる走行モードであってもよい。この場合、前進方向の車両加速度の絶対値は、後進方向の車両加速度の絶対値よりも大きくなるように設定されてもよい。
【0131】
上記実施形態では、徐行モード時に、車両状態が前進状態または後進状態で、且つ、ユーザの操作が基準位置操作であった場合、モータ回転数とトルクとの対応関係を示す対応関係情報を使用するトルク制御が実行されたが、この場合にも当該トルク制御の代わりに回転数制御が実行されてもよい。すなわち、第1回生制御は、回転数制御であってもよい。いいかえると、徐行モードにおいて、走行中である状態で基準位置操作の場合でも、徐行回転数制御部42cで徐々に目標回転数が所定の第3変化率γで徐々に低下するように回転数制御を実行してもよい。この場合でも、前進時と後進時とで変化率を異ならせてもよい。
【0132】
また、第1回生制御、第2回生制御の各制御の方法は、上記実施形態で説明されたものに限定されない。第2回生制御による回生量は、第1回生制御による回生量より大きければよい。例えば、上記実施形態では、第2回生制御は、目標回転数をゼロに設定したが、目標回転数を所定の変化率でゼロに近づくよう低減させてもよい。この場合、第1回生制御は、第2回生制御の前記変化率よりも絶対値が小さい変化率で、目標回転数をゼロに近づくよう低減させてもよい。
【0133】
上記実施形態では、同じ制御形態であっても、車両状態が前進状態か後進状態かによって、上記パラメータ(i)乃至(vii)の設定値の絶対値が異なっていたが、上記パラメータ(i)乃至(vii)のうちの1つまたは複数の設定値の絶対値は、前進状態と後進状態とで同じであってもよい。
【0134】
また、本開示は、上記パラメータ(i)乃至(vii)の一部のパラメータに関する処理を実行しないものにも適用可能である。
【0135】
例えば上記実施形態の徐行モード時の回転数制御では、電気モータ6の実回転数の時系列データに対して変化率制限フィルタ処理を施したが、変化率制限フィルタ処理を施さず、電気モータ6の実回転数の時系列データに対してローパスフィルタ処理のみを施してもよい。
【0136】
例えば上記実施形態の徐行モード時の回転数制御では、目標回転数と実回転数との偏差が、所定の偏差制限値を上回らないように、目標回転数の変化を制限する偏差制限処理を実行したが、偏差制限処理は実行されなくてもよい。
【0137】
例えば上記実施形態の徐行モード時の回転数制御では、実回転数の絶対値が目標回転数の絶対値を閾値以上の差をつけて超えた場合、通常PID処理から、当該通常PID処理を実行する場合と比べて実回転数の絶対値を急速に低減させる高速PID処理に切り替えられたが、通常PID処理と高速PID処理との間の切替がなくてもよい。
【0138】
上記実施形態では、コントローラ31が、電気モータ6の出力軸の回転数を検出する回転数センサ22から、モータ回転数を示すモータ回転数情報を取得したが、モータ回転数情報の取得方法は、これに限定されない。例えば、車両は、駆動輪の回転数を検出する車輪速センサを備えてもよく、コントローラ31は、当該車輪速センサから受信した車輪速情報から電気モータ6の回転数を算出してもよい。また、車両状態情報取得部42aは、モータ回転数情報から車両状態が前進状態か後進状態かを判定したが、車輪速センサの検出値から判定してもよい。電気モータ6が停止した状態で、車両が惰性や坂道のために前後進している状況があり得る。このような状況においても、車輪速センサの検出値を用いて車両状態を判定することで、車両状態の判定精度が向上する。
【0139】
上記実施形態では、回転数制御として、PIDフィードバック制御が用いられたが、他の既知のフィードバック制御を用いてもよい。トルクを制御量として用いたが、それ以外の制御対象、たとえばバッテリ電流を用いて、回転数制御を実行してもよい。フィードバック制御が好ましいが、フィードフォワード制御によって、前後進時のモータの回転数または出力トルクの変化率を異ならせてもよい。トルク指令によって生じる電流が、許容電流に比べて小さい場合などには、トルク制限部の機能が省略されてもよい。
【0140】
上記実施形態では、比較部63が、車両状態が所定の微速走行状態であるか否かを判定して、車両状態が微速走行状態であると判定した場合には、車両状態が微速走行状態でないと判定した場合と比べて要求回生トルクTrに対する制限を緩和したが、コントローラ31は、このような微速走行状態での例外処理を実行しなくてもよい。
【0141】
すなわち、車両状態が微速走行状態であった場合でも、回生を禁止してもよい。バッテリ保護のために回生を禁止する回生禁止条件が設定されていてもよい。回生禁止条件が満たされたか否かは、例えばSOCやバッテリ温度に基づいて判定されてもよい。回生禁止条件は、SOCが所定値以上であるという条件、または、バッテリ温度が所定温度以上であるという条件を含んでもよい。ユーザ操作により回生指令がコントローラに与えられたときに、コントローラは、回生禁止条件が満たされたか否かを判定し、回生禁止条件が満たされた場合には、回生指令を無効化してもよい。たとえば、SOCが100%に近い状態であったり、バッテリ温度が予め定められた回生禁止温度域であったりする場合には、回生指令を無効化してもよい。
【0142】
車両状態が所定の微速走行状態である場合に要求回生トルクTrに対する制限を緩和するトルク制限緩和処理は、車両を前進させる制御にのみ、または、車両を後進させる制御にのみ用いられてもよい。具体的には、コントローラは、車両状態が、前進方向への微速走行状態および後進方向への微速走行状態の一方の微速状態であると判定した場合、前記車両状態が前記微速走行状態でないと判定した場合と比べて前記要求回生トルクに対する制限を緩和するトルク制限緩和処理を実行し、他方の微速状態であると判定した場合、トルク制限緩和処理を実行しないように構成されてもよい。車両状態が所定の微速走行状態である場合に要求回生トルクTrに対する制限を緩和する処理は、後進走行させない車両にも適用可能である。
【0143】
また上記実施形態では、車両状態が前進状態か後進状態かに関係なく、第2回生制御による回生量は、第1回生制御による回生量より大きかったが、車両状態が前進状態と後進状態の一方の状態においてのみ、第2回生制御による回生量は、第1回生制御による回生量より大きくてもよい。車両状態が前進状態と後進状態の一方の状態においては、第1回生制御および第2回生制御の一方の制御を実行しなくてもよい。
【0144】
上記実施形態では、前進操作または後進操作と判定された状態では、トルク指令操作子の操作量に拘らずに一定の回生量に設定されたが、これに限らない。たとえばトルク指令操作子の操作量が大きくなるほど、回生量を大きくしてもよい。
【0145】
メータ装置18は、回生制御が実行されている回生制御状態であることを示す情報を表示してもよい。この場合、コントローラ31は、回生制御状態であることを表示するための指令をメータ装置18に送る。また、メータ装置18は、回生制御状態であることを表示する場合に、回生制動が強い状態と弱い状態とで表示態様を異ならせてもよい。この場合、コントローラ31は、回生制動が強い状態であるか弱い状態であるかを示す情報をメータ装置18に送る。
【0146】
メータ装置18は、制御モードが徐行モードであることを示す情報を表示してもよい。この場合、コントローラ31は、徐行モードであることを表示するための指令をメータ装置18に送る。また、メータ装置18は、徐行モードであることを表示する場合に、車両が前進状態にあるか後進状態にあるかを判別可能に表示してもよい。この場合、コントローラ31は、車両状態情報をメータ装置18に送る。また、メータ装置18は、ユーザの操作が前進操作か後進操作かを判別可能に表示してもよい。この場合、コントローラ31は、トルク指令操作子15aに対するユーザの操作内容を示す操作情報をメータ装置18に送る。
【0147】
上記の各制御部41~43は、それぞれ個別の回路で実現されてもよい。またコントローラは、各制御部の動作に対応するプログラムをそれぞれ読みだして、各制御部の機能を実現してもよい。
【0148】
本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、または、それらの任意の組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアまたはプロセッサの構成に使用される。
【0149】
本明細書で開示する方法を実行するため命令を含むプログラムは、非一時的なコンピュータ可読記憶媒体に記憶されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、ハードディスクドライブなどの磁気ディスク、CD-ROM、DVDディスク、ブルーレイディスクなどの光ディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体を含む。
【0150】
[開示態様]
以下の態様のそれぞれは、好ましい実施形態の開示である。
【0151】
[態様1]
車体と、
前記車体に駆動源として搭載される正逆回転可能な電気モータと、
前記電気モータを制御する処理回路と、を備える鞍乗車両であって、
前記処理回路は、
制御モードが、ユーザの加速操作に応じて前記電気モータのトルクを変更する通常走行モードか、前記通常走行モードと比べて走行速度が制限される徐行モードかを判定し、
前記制御モードが前記徐行モードであると判定した場合、ユーザの操作が前進操作か後進操作かを判定し、
ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、
ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させるように構成され、
前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい、鞍乗車両。
なお、第1変化率および第2変化率は、電気モータの回転数の絶対値または出力トルクの絶対値を大きくする際の変化率、すなわち増加率、および、電気モータの回転数の絶対値または出力トルクの絶対値を小さくする際の変化率、すなわち減少率のいずれでもよいが、増加率であることが好ましい。
【0152】
前記構成によれば、徐行モードにおいて、前進時と後進時のそれぞれの場合に適した走行を行うことができる。例えば徐行モードにおける車両の前進時には、徐行モードにおける車両の後進時に比べて電気モータの回転数または出力トルクの変化率の絶対値を大きくすることにより、運転者の意図に沿う走行を行いやすくできる。徐行モードにおける車両の後進時には、徐行モードにおける車両の前進時に比べて電気モータの回転数または出力トルクの変化率の絶対値を小さくすることにより、障害物の回避や車両の停止をしやすくする。従って、車両を走行操作する際にユーザが感じるフィーリングを、ユーザが意図するフィーリングに近づけることができる。
【0153】
[態様2]
前記処理回路は、前記制御モードが前記徐行モードであると判定した場合、前記電気モータの目標回転数に前記電気モータの実回転数を近づける回転数制御を実行するように構成される、態様1に記載の鞍乗車両。
【0154】
前記構成によれば、徐行モード時にはモータの回転数制御を実行するため、徐行モード時における車両の走行速度の調整を行いやすい。
【0155】
[態様3]
前記処理回路は、
ユーザの操作が前進操作であると判定した場合、前記第1変化率に基づいて、前記目標回転数を、所定の第1制限値に到達するまで時間経過に伴って変化させ、前記目標回転数が前記第1制限値に到達した場合、前記目標回転数を前記第1制限値に維持し、
ユーザの操作が後進操作であると判定した場合、前記第2変化率に基づいて、前記目標回転数を、所定の第2制限値に到達するまで時間経過に伴って変化させ、前記目標回転数が前記第2制限値に到達した場合、前記目標回転数を前記第2制限値に維持するように構成される、態様2に記載の鞍乗車両。
【0156】
前記構成によれば、制御モードが徐行モードである場合、ユーザは、モータの回転数を調整する操作をしなくてすむ。このため、車両の操作性を向上できる。
【0157】
[態様4]
前記第1制限回転数の絶対値は、前記第2制限回転数の絶対値よりも大きい、態様3に記載の鞍乗車両。
【0158】
[態様5]
前記処理回路は、前記実回転数の絶対値が所定の設定値未満であると判定した場合に、前記目標回転数に応じたトルクに対してオフセットトルクを加算した値を、要求トルクとして前記電気モータに出力するように構成され、
前記実回転数の絶対値が小さくなるほど、前記オフセットトルクの絶対値が大きい、態様2に記載の鞍乗車両。
【0159】
前記構成によれば、車両の発進時など、モータ回転数が低回転数である場合の車両1の走行応答性を高めることができ、車両の操作性を向上できる。
【0160】
[態様6]
前記処理回路は、前記オフセットトルクとして、ユーザの操作が前進操作であると判定された場合に使用される第1オフセットトルクと、ユーザの操作が後進操作であると判定された場合に使用される第2オフセットトルクとを記憶しており、
前記第2オフセットトルクの絶対値は、前記第1オフセットトルクの絶対値より小さい、態様5に記載の鞍乗車両。
【0161】
前記構成によれば、第2オフセットトルクの絶対値が第1オフセットトルクの絶対値より小さいため、ユーザの操作が後進操作である場合に車両が後ろ方向へ加速度を抑えることができる。
【0162】
[態様7]
前記処理回路は、前記電気モータの目標回転数と前記電気モータの実回転数との偏差が、所定の偏差制限値を上回らないように、前記電気モータの目標回転数の変化を制限するように構成されている、態様1乃至6のいずれかに記載の鞍乗車両。
【0163】
前記構成によれば、時間の経過に伴って変化する目標回転数に実回転数が追従しない場合に、目標回転数と実回転数との偏差が大きくなりすぎるのを抑制ことができる。
【0164】
[態様8]
前記処理回路は、前記偏差制限値として、ユーザの操作が前進操作であると判定された場合に使用される第1偏差制限値と、ユーザの操作が後進操作であると判定された場合に使用される第2偏差制限値とを記憶しており、
前記第1偏差制限値の絶対値は、前記第2偏差制限値の絶対値より大きい、態様7に記載の鞍乗車両。
【0165】
前記構成によれば、回生低減条件が満たされると判定された後に回生トルクが時間経過に伴って減少するため、回生トルクを急激に減少させる場合と比べて車体に生じるショックを低減できる。
【0166】
[態様9]
前記処理回路は、
前記実回転数に対し、変化率を所定の上限値に制限するフィルタを適用し、
前記フィルタ適用後の回転数を用いて前記回転数制御を実行するように構成される、態様2に記載の鞍乗車両。
【0167】
前記構成によれば、実回転数に生じ得るノイズを除去でき、回転数制御を行いやすくする。
【0168】
[態様10]
前記処理回路は、
前記実回転数の絶対値から前記目標回転数の絶対値を減算した値が閾値未満である場合、通常モードで前記回転数制御を実行し、
前記実回転数の絶対値が前記目標回転数の絶対値を前記閾値以上の差をつけて超えた場合、前記通常モードで前記回転数制御を実行する場合と比べて前記実回転数の絶対値を急速に低減させる高速モードでの前記回転数制御に切り替えるように構成されている、態様2に記載の鞍乗車両。
【0169】
[態様11]
前記処理回路は、前記閾値として、ユーザの操作が前進操作であると判定された場合に使用される第1閾値と、ユーザの操作が後進操作であると判定された場合に使用される第2閾値とを記憶しており、
前記第1閾値の絶対値は、前記第2閾値の絶対値より大きい、態様10に記載の鞍乗車両。
【0170】
[態様12]
車体と、
前記車体に駆動源として搭載される電気モータと、
前記電気モータを制御する処理回路と、を備える鞍乗車両であって、
前記処理回路は、
制御モードが、通常走行モードか、徐行モードかを判定し、
前記制御モードが前記通常走行モードであると判定した場合、ユーザの加速操作量と出力トルクとの関係を示す対応関係情報に従って前記電気モータを制御するトルク制御を実行し、
前記制御モードが前記徐行モードであると判定した場合、前記電気モータの目標回転数に前記電気モータの実回転数を追従させる回転数制御を実行するように構成される、鞍乗車両。
【0171】
[態様13]
正逆回転可能な電気モータと処理回路を備える車両を制御する方法であって、前記処理回路において、
ユーザの操作が前進操作か後進操作かを判定し、
ユーザの操作が前進操作であると判定した場合、正方向への前記電気モータの回転数または出力トルクを、第1変化率で変化させ、
ユーザの操作が後進操作であると判定した場合、逆方向への前記電気モータの回転数または出力トルクを、第2変化率で変化させ、
前記第1変化率の絶対値は、前記第2変化率の絶対値より大きい、車両の制御方法。
【符号の説明】
【0172】
1 :車両
2 :車体
3 :バッテリパック
3a :バッテリ
3b :温度センサ
3c :バッテリ管理ユニット
4 :前輪
5 :後輪
6 :電気モータ
15a :トルク指令操作子
21 :アクセルセンサ
22 :回転数センサ
23 :モード切替スイッチ
31 :コントローラ