WO2023233905A1 - 移動体の制御装置、プログラム - Google Patents

移動体の制御装置、プログラム Download PDF

Info

Publication number
WO2023233905A1
WO2023233905A1 PCT/JP2023/017024 JP2023017024W WO2023233905A1 WO 2023233905 A1 WO2023233905 A1 WO 2023233905A1 JP 2023017024 W JP2023017024 W JP 2023017024W WO 2023233905 A1 WO2023233905 A1 WO 2023233905A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
braking
driving torque
torque
vehicle
Prior art date
Application number
PCT/JP2023/017024
Other languages
English (en)
French (fr)
Inventor
海博 劉
茂 神尾
恵介 河合
優 窪田
Original Assignee
株式会社デンソー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社デンソー filed Critical 株式会社デンソー
Publication of WO2023233905A1 publication Critical patent/WO2023233905A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L15/00Methods, circuits, or devices for controlling the traction-motor speed of electrically-propelled vehicles
    • B60L15/20Methods, circuits, or devices for controlling the traction-motor speed of electrically-propelled vehicles for control of the vehicle or its driving motor to achieve a desired performance, e.g. speed, torque, programmed variation of speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/02Control of vehicle driving stability
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/72Electric energy management in electromobility

Definitions

  • Each sensor 70 to 73 outputs a signal corresponding to the detected physical quantity to the EVECU 40.
  • the EVECU 40 is mainly composed of a microcomputer including a CPU, memory, and the like. In this embodiment, the EVECU 40 corresponds to a control device and a computer. The EVECU 40 centrally controls the running of the vehicle 10 by executing a program stored in advance in its memory.
  • the first slip control unit 441 makes a negative determination in the process of step S53. In this case, the first slip control unit 441 determines that the vehicle 10 is decelerating, and calculates the target slip speed Vcmd based on the following equation f16 as the process of step S55.
  • the first slip suppression control is further continued, and the state in which the deviation
  • the first slip control section 441 uses the right drive wheel speed VR and the target right
  • the first target braking/driving torque TR* which is set based on the deviation from the driving wheel speed VR*, is transmitted to the in-wheel motor 30R.
  • the first slip control unit 441 ends the process shown in FIG. 16.

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Automation & Control Theory (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Abstract

移動体の制御装置は、右駆動輪に第1制駆動トルクを付与する第1制駆動トルク付与部(30R)と、左駆動輪に第2制駆動トルクを付与する第2制駆動トルク付与部(30L)と、キャスタ輪からなる右従動輪及び左従動輪とを有する移動体を制御する。制御装置は、トルク制御部(44)と、速度差演算部(430)と、を備える。トルク制御部は、第1制駆動トルク付与部及び第2制駆動トルク付与部を制御する。速度差演算部は、移動体が走行している路面の路面摩擦係数に基づいて、移動体が旋回する際の移動体の目標ヨーレートを演算するとともに、演算された目標ヨーレートに基づいて、右駆動輪と左駆動輪との間に発生させるべき速度差又は速度差の変化率を演算する。トルク制御部は、速度差演算部により演算される速度差又は速度差の変化率に基づいて第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより移動体の旋回を行う。

Description

移動体の制御装置、プログラム 関連出願の相互参照
 本出願は、2022年5月31日に出願された日本国特許出願2022-089041号に基づくものであって、その優先権の利益を主張するものであり、その特許出願の全ての内容が、参照により本明細書に組み込まれる。
 本開示は、移動体の制御装置、及びプログラムに関する。
 従来、下記の特許文献1に記載の車両がある。この車両は、モータと、ディスクブレーキと、操舵装置とを備えている。モータは、運転者のアクセルペダルの踏み込み量に応じたトルクを車輪に付与することにより車両を走行させる。ディスクブレーキは、運転者のブレーキペダルの踏み込み操作に基づいて車輪に制動トルクを付与することにより車両を停車させる。操舵装置は、運転者のステアリングホイールの操作に基づいて車輪を転舵させることにより車両を旋回させる。
特開2006-341656号公報
 特許文献1に記載されるような車両では、車両の走行、制動、旋回、スリップ抑制といった動作を実現しようとすると、モータ等の動力発生装置、ブレーキ等の制動装置、並びに操舵装置が必要である。これが車両の構造を複雑化させる要因となっている。
 本開示の目的は、構造を簡素化することができるとともに、旋回性を向上させることが可能な移動体の制御装置及びプログラムを提供することにある。
 本開示の一態様による移動体の制御装置は、右駆動輪に第1制駆動トルクを付与する第1制駆動トルク付与部と、左駆動輪に第2制駆動トルクを付与する第2制駆動トルク付与部と、キャスタ輪からなる右従動輪及び左従動輪とを有する移動体を制御する制御装置である。制御装置は、トルク制御部と、速度差演算部と、を備える。トルク制御部は、第1制駆動トルク付与部及び第2制駆動トルク付与部を制御する。速度差演算部は、移動体が走行している路面の路面摩擦係数に基づいて、移動体が旋回する際の移動体の目標ヨーレートを演算するとともに、演算された目標ヨーレートに基づいて、右駆動輪と左駆動輪との間に発生させるべき速度差又は速度差の変化率を演算する。トルク制御部は、第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより移動体の前後進及びスリップ抑制を行うとともに、速度差演算部により演算される速度差又は速度差の変化率に基づいて第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより移動体の旋回を行う。
 また、本開示の一態様によるプログラムは、右駆動輪に第1制駆動トルクを付与する第1制駆動トルク付与部と、左駆動輪に第2制駆動トルクを付与する第2制駆動トルク付与部と、キャスタ輪からなる右従動輪及び左従動輪とを有する移動体を制御するためのプログラムである。このプログラムは、コンピュータに、移動体が走行している路面の路面摩擦係数に基づいて、移動体が旋回する際の移動体の目標ヨーレートを演算するとともに、演算された目標ヨーレートに基づいて、右駆動輪と左駆動輪との間に発生させるべき速度差又は速度差の変化率を演算する処理を実行させ、第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより移動体の前後進及びスリップ抑制を行う処理を実行させ、速度差又は速度差の変化率に基づいて第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより移動体の旋回を行う処理を実行させる。
 これらの制御装置及びプログラムによれば、電動パワーステアリング装置や制動装置を用いることなく移動体の旋回、前後進、及びスリップ抑制を行うことができるため、移動体の構造を簡素化することができる。また、移動体が旋回する際の目標ヨーレートを路面摩擦係数に基づいて設定することで、移動体がスピンするようなヨーレートが移動体に発生することを回避できるため、移動体の旋回性を向上させることができる。
図1は、第1実施形態の車両の概略構成を模式的に示す図である。 図2は、第1実施形態の従動輪の側面構造を模式的に示す図である。 図3は、第1実施形態の車両の電気的な構成を示すブロック図である。 図4は、第1実施形態の走行操作部の構成を模式的に示す図である。 図5は、第1実施形態のEVECUの構成を示すブロック図である。 図6(A),(B)は、目標制駆動トルク及び駆動輪の回転速度の推移を示すタイミングチャートである。 図7は、第1実施形態の速度上限演算部により用いられるマップの一例を示す図である。 図8は、第1実施形態の速度上限演算部により用いられるマップの一例を示す図である。 図9は、第1実施形態の速度演算部により実行される処理の手順を示すフローチャートである。 図10は、第1実施形態の速度差演算部により実行される処理の手順を示すフローチャートである。 図11(A),(B)は、第1実施形態の速度差演算部により用いられるマップの一例を示す図である。 図12(A),(B)は、第1実施形態の速度差演算部により用いられるマップの一例を示す図である。 図13は、第1実施形態のスリップ制御部により実行される処理の手順を示すフローチャートである。 図14は、第1実施形態のトルク分配部により実行される処理の手順を示すフローチャートである。 図15(A),(B)は、第1実施形態の左駆動輪及び右駆動輪に付与されるトルクの一例を示すグラフである。 図16は、第1実施形態のスリップ制御部により実行される処理の手順を示すフローチャートである。 図17は、第1実施形態の目標ヨーレートの推移の一例を示すグラフである。 図18は、第2実施形態の速度差演算部により実行される処理の手順を示すフローチャートである。
 以下、移動体の制御装置及びプログラムの一実施形態について図面を参照しながら説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
 <第1実施形態>
 はじめに、第1実施形態の車両の概略構成について説明する。図1に示されるように、本実施形態の車両10は、従動輪21R,21Lと、駆動輪22R,22Lと、インホイールモータ30R,30Lと、EV(Electric Vehicle)ECU(Electronic Control Unit)40とを備えている。車両10は、その走行速度が所定速度以下に制限されている、いわゆるスローモビリティである。所定速度は「20[km/h]」や「50[km/h]」等に設定される。この車両10には制動装置及び操舵装置が設けられておらず、車両10の制動及び旋回がインホイールモータ30R,30Lのトルク制御により実現される。本実施形態では車両10が移動体に相当する。
 従動輪21R,21Lは車両10の右後方及び左後方にそれぞれ設けられている。従動輪21R,21Lは、回転自在な車輪、いわゆるキャスタ輪である。従動輪21R,21Lは、車体11に固定された支点210R,210Lをそれぞれ有しており、支点210R,210Lを中心に360度回転可能に支持されている。すなわち、図2に示されるように支点210R,210Lの中心をそれぞれ通り、且つ車両10の上下方向に並行な軸線をm10R,m10Lとすると、従動輪21R,21Lは軸線m10R,m10Lを中心に360度回転可能にそれぞれ支持されている。従動輪21R,21Lは車両10の走行に伴って軸線m11R,m11Lを中心とする周方向Cに回転する。以下では、従動輪21Rを「右従動輪21R」とも称し、従動輪21Lを「左従動輪21L」とも称する。
 図1に示されるように、駆動輪22R,22Lは車両10の右前方及び左前方にそれぞれ設けられている。駆動輪22R,22Lにはインホイールモータ30R,30Lから駆動トルク及び制動トルクが付与される。以下では、駆動輪22Rを「右駆動輪22R」とも称し、駆動輪22Lを「左駆動輪22L」とも称する。また、駆動トルク及び制動トルクをまとめて「制駆動トルク」とも称する。本実施形態ではインホイールモータ30Rが第1制駆動トルク付与部に相当し、インホイールモータ30Rから右駆動輪22Rに付与される制駆動トルクが第1制駆動トルクに相当する。また、インホイールモータ30Lが第2制駆動トルク付与部に相当し、インホイールモータ30Lから左駆動輪22Lに付与される制駆動トルクが第2制駆動トルクに相当する。
 インホイールモータ30R,30Lは駆動輪22R,22Lにそれぞれ内蔵されている。図3に示されるように、インホイールモータ30R,30Lは、モータジェネレータ31R,31Lと、インバータ装置32R,32Lと、MG(Motor Generator)ECU33R,33Lと、回転センサ34R,34Lとをそれぞれ有している。
 インバータ装置32Rは、車両10に搭載されるバッテリから供給される直流電力を三相交流電力に変換するとともに、変換した三相交流電力をモータジェネレータ31Rに供給する。
 モータジェネレータ31Rは車両10の加速時に電動機として動作する。モータジェネレータ31Rは、電動機として動作する場合、インバータ装置32Rから供給される三相交流電力に基づいて駆動する。モータジェネレータ31Rの駆動トルクが右駆動輪22Rに伝達されることにより右駆動輪22Rが回転して車両10が加速する。
 モータジェネレータ31Rは車両10の制動時に発電機として動作する。モータジェネレータ31Rは、発電機として動作する場合、回生動作することにより発電する。モータジェネレータ31Rの回生動作により右駆動輪22Rに制動トルクが付与される。モータジェネレータ31Rにより発電される三相交流電力はインバータ装置32Rにより直流電力に変換されて車両10のバッテリに充電される。
 回転センサ34Rは、モータジェネレータ31Rの出力軸の回転速度を検出するとともに、検出された回転速度に応じた信号をMGECU33Rに出力する。
 MGECU33Rは、CPUやメモリ等を有するマイクロコンピュータを中心に構成されている。MGECU33Rは、そのメモリに予め記憶されているプログラムを実行することによりモータジェネレータ31Rを制御する。
 具体的には、MGECU33Rは、回転センサ34Rの出力信号に基づいてモータジェネレータ31Rの回転速度の情報を取得する。MGECU33Rは、モータジェネレータ31Rの回転速度に基づいて右駆動輪22Rの回転速度ωRを演算式やマップ等を用いて演算する。MGECU33Rは、右駆動輪22Rの回転速度ωRから所定の演算式に基づいて右駆動輪速VRを演算する。右駆動輪速VRは、車両10の進行方向における右駆動輪22Rの速度である。
 MGECU33Rは、車両10に搭載されるCAN等の車載ネットワークを介してEVECU40と通信可能に接続されている。EVECU40は、右駆動輪22Rの制駆動トルクの目標値である第1目標制駆動トルクTR*を設定するとともに、設定された第1目標制駆動トルクTR*をMGECU33Rに送信する。MGECU33Rは、モータジェネレータ31Rの回転速度ωRを監視しつつ、モータジェネレータ31Rから出力される実際のトルクが第1目標制駆動トルクTR*となるようにモータジェネレータ31Rを制御する。第1目標制駆動トルクTR*は、車両10を図1に示される前方向D1に加速させる場合、すなわちモータジェネレータ31Rを電動機として動作させる場合には正の値に設定される。また、第1目標制駆動トルクTR*は、車両10を減速させる場合、すなわちモータジェネレータ31Rを回生動作させる場合には負の値に設定される。
 MGECU33Rは、EVECU40からの要求に応じて右駆動輪22Rの回転速度ωRや右駆動輪速VR等、MGECU33Rにより取得可能な各種情報をEVECU40に送信する。
 インホイールモータ30Lのモータジェネレータ31L、インバータ装置32L、MGECU33L、及び回転センサ34Lはインホイールモータ30Rの各構成要素と同様に動作する。例えば、MGECU33Lは、モータジェネレータ31Lの回転速度ωLを監視しつつ、モータジェネレータ31Lから出力される実際のトルクが第2目標制駆動トルクTL*となるようにモータジェネレータ31Lを制御する。第2目標制駆動トルクTL*は、EVECU40により設定される左駆動輪22Lの制駆動トルクの目標値である。また、MGECU33Lは、EVECU40からの要求に応じて左駆動輪22Lの回転速度ωLや左駆動輪速VL等、MGECU33Lにより取得可能な各種情報をEVECU40に送信する。
 図3に示されるように、車両10は、運転者が車両10を操作するための操作部として、シフト操作部50と、走行操作部60とを更に備えている。
 シフト操作部50では、例えばP(パーキング)レンジ、R(リバース)レンジ、及びD(ドライブ)レンジのいずれかを選択することが可能となっている。Pレンジは、車両10を停車させる際に選択される。Rレンジは、車両10を図1に示される後方向D2に走行させる際に選択される。Dレンジは、車両10を図1に示される前方向D1に走行させる際に選択される。シフト操作部50は、Pレンジ、Rレンジ、及びDレンジの選択状態を示す信号をEVECU40に出力する。
 図4に示される走行操作部60は、シフト操作部50においてRレンジ又はDレンジが選択されているときに、すなわち車両10を前進又は後進させるときに、車両10の加速、減速、右旋回、及び左旋回を行う際に操作する部分である。走行操作部60にはジョイスティック61が設けられている。ジョイスティック61は、図4に示される中立位置から前方向J1、後方向J2、右方向J3、左方向J4、並びにそれらの中間の方向に操作することが可能である。運転者はジョイスティック61を中立位置から前方向J1、後方向J2、右方向J3、及び左方向J4にそれぞれ操作することにより、車両10を加速、減速、右旋回、及び左旋回させることができる。また、運転者がジョイスティック61を前方向J1及び右方向J3の中間方向に操作すると、車両10を加速させつつ右旋回させることができる。図4に示される操作量S1は、ジョイスティック61の中立位置から前方向J1への操作量を示している。操作量S1が大きくなる程、車両10の加速度をより大きくすることができる。同様に、ジョイスティック61の中立位置から後方向J2への操作量S2が大きくなるほど、車両10の減速度がより大きくなる。さらに、ジョイスティック61の中立位置から右方向J3又は左方向J4への操作量S3,S4が大きくなるほど、車両10の旋回速度がより大きくなる。走行操作部60は、そのジョイスティック61の操作状態を示す信号をEVECU40に出力する。
 以下では、ジョイスティック61の中立位置から前方向J1への操作量S1を「走行操作部60のアクセル操作量S1」と称し、後方向J2への操作量S2を「走行操作部60のブレーキ操作量S2」と称する。また、右方向J3及び左方向J4の操作量S3,S4を「走行操作部60の左右方向操作量S34」と称する。左右方向操作量S34は、右方向J3の操作量S3を正の値で表し、左方向J4の操作量S4を負の値で表す。本実施形態では、走行操作部60のアクセル操作量S1及びブレーキ操作量S2が、車両10を加速又は減速させるために車両10に対して行われる第1操作量に相当する。また、走行操作部60の左右方向操作量S34が、車両10を旋回させるために車両10に対して行われる第2操作量に相当する。
 図3に示されるように、車両10は、ヨーレートセンサ70と、加速度センサ71と、回転角度センサ72,73とを更に備えている。
 ヨーレートセンサ70は、車体11に実際に発生しているヨーレートである実ヨーレートYを検出する。図1に示されるように、実ヨーレートYは、車体11の重心点Gcを通る鉛直軸周りの回転速度である。本実施形態の実ヨーレートYは、車体11の右方向D3への回転速度を正の値で表し、車体11の左方向D4への回転速度を負の値で表す。
 加速度センサ71は車体11の加速度を検出する。加速度センサ71は、車体11の前後方向、左右方向、及び上下方向のそれぞれの加速度に加えて、ピッチ方向、ロー方向、及びヨー方向のそれぞれの加速度を検出することができる、いわゆる6軸加速度センサである。
 回転角度センサ72,73は、支点210R,210Lを中心とする従動輪21R,21Lのそれぞれの回転角度θR,θLを検出するとともに、検出された回転角度θR,θLに応じた信号をEVECU40に出力する。以下では、この従動輪21R,21Lのそれぞれの回転角度θR,θLを「従動輪舵角θR,θL」と称する。
 各センサ70~73は、検出された物理量に応じた信号をEVECU40に出力する。
 EVECU40は、CPUやメモリ等を有するマイクロコンピュータを中心に構成されている。本実施形態では、EVECU40が制御装置及びコンピュータに相当する。EVECU40は、そのメモリに予め記憶されているプログラムを実行することにより車両10の走行を統括的に制御する。
 具体的には、EVECU40には、シフト操作部50、走行操作部60、及びセンサ70~73のそれぞれの出力信号が取り込まれている。EVECU40は、シフト操作部50及び走行操作部60のそれぞれの出力信号に基づいて、シフト操作部50の操作状態、及び走行操作部60の操作量S1,S2,S34の情報を取得する。また、EVECU40は、センサ70~73のそれぞれの出力信号に基づいて車体11の実ヨーレートY、加速度A、及び従動輪舵角θR,θL等の情報を取得する。さらに、EVECU40は、インホイールモータ30R,30LのMGECU33R,33Lから右駆動輪22Rの回転速度ωR、左駆動輪22Lの回転速度ωL、右駆動輪速VR、及び左駆動輪速VLの情報を取得する。
 EVECU40は、取得したそれらの情報に基づいて第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を設定する。例えば、EVECU40は、シフト操作部50においてDレンジが選択されている状態で走行操作部60が前方向J1に操作された場合、第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を同一の正の値に設定するとともに、それらをインホイールモータ30R,30Lにそれぞれ送信する。これにより、インホイールモータ30R,30Lから駆動輪22R,22Lに同一の正のトルクが付与されるため、車両10が図1に示される前方向D1に加速する。一方、走行操作部60が後方向J2に操作された場合、インホイールモータ30R,30Lから駆動輪22R,22Lに回生トルクが付与されて車両10が減速する。
 また、EVECU40は、シフト操作部50においてDレンジが選択されている状態で走行操作部60が右方向J3に操作された場合、第1目標制駆動トルクTR*と第2目標制駆動トルクTL*とに偏差を生じさせる。具体的には、EVECU40は、第1目標制駆動トルクTR*よりも第2目標制駆動トルクTL*を大きく設定するとともに、それらをインホイールモータ30R,30Lにそれぞれ送信する。これにより、インホイールモータ30Rから右駆動輪22Rに付与されるトルクよりも、インホイールモータ30Lから左駆動輪22Lに付与されるトルクの方が大きくなるため、車両10が図1に示される右方向D3に旋回する。一方、走行操作部60が左方向J4に操作された場合、EVECU40は、インホイールモータ30Lから左駆動輪22Lに付与されるトルクよりも、インホイールモータ30Rから右駆動輪22Rに付与されるトルクを大きくすることにより、車両10を図1に示される左方向D4に旋回させる。
 次に、図5を参照して、EVECU40により実行される車両10の制御方法について詳細に説明する。
 図5に示されるように、EVECU40は、そのメモリに記憶されたプログラムを実行することにより実現される機能的な構成として、基本制駆動トルク設定部41と、速度演算部42と、トルク偏差設定部43と、トルク制御部44とを備えている。
 基本制駆動トルク設定部41は、制駆動トルク演算部410と、速度上限演算部411と、選択部412とを有している。
 制駆動トルク演算部410は、シフト操作部50の操作状態、走行操作部60の操作量S1,S2,S34、及び速度演算部42により演算される車体速Vbに基づいて第1基本制駆動トルクTaを設定する。車体速Vbは車体11の進行方向の速度の推定値である。第1基本制駆動トルクTaは、車両10を加速又は減速させるために右駆動輪22R及び左駆動輪22Lにそれぞれ付与すべき制駆動トルクの基準値である。
 例えば、制駆動トルク演算部410は、シフト操作部50においてDレンジが選択されている状態で走行操作部60が前方向J1に操作された場合、その走行操作部60の操作量であるアクセル操作量S1と車体速Vbとからマップや演算式等に基づいて第1基本制駆動トルクTaを演算する。この場合、第1基本制駆動トルクTaは正の値に設定される。また、制駆動トルク演算部410は、シフト操作部50においてDレンジが選択されている状態で走行操作部60が後方向J2に操作された場合、その走行操作部60の操作量であるブレーキ操作量S2と車体速Vbとからマップや演算式等に基づいて第1基本制駆動トルクTaを演算する。この場合、第1基本制駆動トルクTaは負の値に設定される。
 なお、制駆動トルク演算部410は、シフト操作部50においてRレンジが選択されている場合にも同様に走行操作部60のアクセル操作量S1及びブレーキ操作量S2に基づいて第1基本制駆動トルクTaを設定する。但し、この場合には、走行操作部60が前方向J1に操作されているときには第1基本制駆動トルクTaが負の値に設定され、走行操作部60が後方向J2に操作されているときには第1基本制駆動トルクTaが正の値に設定される。
 速度上限演算部411は、車両10が走行している路面の路面摩擦係数μ、速度演算部42により演算される車体速Vb、走行操作部60の左右方向操作量S34に基づいて第2基本制駆動トルクTbを設定する。第2基本制駆動トルクTbは、車体11の走行速度を、予め設定された上限速度以下に制限するために右駆動輪22R及び左駆動輪22Lにそれぞれ付与すべき制駆動トルクの上限値である。
 具体的には、速度上限演算部411は駆動輪22R,22Lの回転速度ωR,ωLに基づいて路面摩擦係数μを推定する。例えば図6(A)に示されるように、時刻t10で右駆動輪22Rの第1目標制駆動トルクTR*が「0」から所定値TR10に増加したときに右駆動輪22Rがスリップしたとする。この場合、図6(B)に示されるように、右駆動輪22Rの回転速度ωRが急上昇する。このときの右駆動輪22Rの回転速度ωRの上昇速度、換言すれば図6(B)に示される一点鎖線L11の傾きは路面摩擦係数μと相関関係を有している。一点鎖線L11の傾きは、右駆動輪22Rの回転加速度αRに等しい。本実施形態では、駆動輪22R,22Lの回転加速度αと路面摩擦係数μとの関係が実験等により予め求められており、図7に示されるようなマップM11としてEVECU40のメモリに記憶されている。速度上限演算部411は、各駆動輪22R,22Lの回転速度ωR,ωLから回転加速度αR,αLを演算するとともに、演算された回転加速度αR,αLから図7に示されるマップを用いることにより路面摩擦係数μの推定値を演算する。
 速度上限演算部411は、推定された路面摩擦係数μと走行操作部60の左右方向操作量S34とに基づいて、車体11の走行速度の上限値である上限速度Vmaxを演算する。EVECU40のメモリには、図8に示されるような上限速度演算マップM12が記憶されている。このマップM12は、路面摩擦係数μ及び走行操作部60の左右方向操作量S34から上限速度Vmaxを演算するためのマップである。このマップM12では、走行操作部60の左右方向操作量S34が「0」である場合、すなわち車両10が旋回していない場合、上限速度Vmaxが所定の速度V1に設定される。所定の速度V1は例えば「20[km/h]」である。
 また、このマップM12では、走行操作部60の左右方向操作量S34の絶対値が大きくなるほど、上限速度Vmaxがより小さい値に設定される。これは、車両10が旋回する際にスリップを発生させないためには、走行操作部60の左右方向操作量S34の絶対値が大きくなるほど、すなわち車両10の旋回半径が小さくなるほど、車両10の速度を低下させる必要があるからである。
 さらに、このマップM12では、路面摩擦係数μが小さくなるほど、上限速度Vmaxがより小さい値に設定される。これは、車両10が旋回する際にスリップを発生させないためには、路面摩擦係数μが小さいほど、車両10の速度を低下させる必要があるからである。
 速度上限演算部411は、図8に示されるマップM12に基づいて上限速度Vmaxを演算した後、速度演算部42により演算される車体速Vbと上限速度Vmaxとから以下の式f1に基づいて速度偏差eVを演算する。
 eV=Vmax-Vb (f1)
 続いて、速度上限演算部411は、演算された速度偏差eVから以下の式f2を用いて第2基本制駆動トルクTbを演算する。なお、式f2において、「Kp」及び「Ki」は、予め設定されている所定の比例ゲイン及び積分ゲインである。
 Tb=Kp×eV+Ki×∫eV (f2)
 このように、速度上限演算部411は、車体速Vbと上限速度Vmaxとの偏差eVに基づくフィードバック制御を行うことにより第2基本制駆動トルクTbを設定する。
 図5に示されるように、制駆動トルク演算部410及び速度上限演算部411によりそれぞれ演算された第1基本制駆動トルクTa及び第2基本制駆動トルクTbは選択部412に入力される。選択部412は、第1基本制駆動トルクTa及び第2基本制駆動トルクTbのうち、いずれか小さい方を第3基本制駆動トルクTcに設定する。選択部412により設定された第3基本制駆動トルクTcはトルク制御部44に入力される。第3基本制駆動トルクTcは、車両10を加速又は減速させるために右駆動輪22R及び左駆動輪22Lにそれぞれ付与すべき制駆動トルクの目標値である。
 速度演算部42は、インホイールモータ30Rから右駆動輪速VRの情報を取得するとともに、インホイールモータ30Lから左駆動輪速VLの情報を取得する。また、速度演算部42は、加速度センサ71の出力信号に基づいて、車体11の進行方向の加速度Aの情報を取得する。速度演算部42は、右駆動輪速VR、左駆動輪速VL、及び車体11の加速度Aに基づいて、車体11の速度である車体速Vbを推定する。
 具体的には、速度演算部42は、図9に示される処理を実行することにより車体速Vbを演算する。なお、速度演算部42は、車両10が起動している間、図9に示される処理を所定の周期で繰り返し実行する。
 図9に示されるように、速度演算部42は、まず、ステップS10の処理として、車体11の加速度Aから以下の式f1に基づいて車体速VGを演算する。
 VG=VGn-1+∫A (f1)
 式f1において、VGn-1は、式f1により演算された車体速の前回の推定値である。
 速度演算部42は、ステップS10に続くステップS11の処理として、第1基本制駆動トルクTaが「Ta>0」を満たしているか否かを判断する。速度演算部42は、第1基本制駆動トルクTaが「Ta>0」を満たしている場合には、ステップS11の処理で肯定的な判断を行う。この場合、速度演算部42は、車両10が加速している状態であると判定して、ステップS12の処理として、最終的な車体速の推定値Vbを以下の式f2により演算する。
 Vb=MIN(VL,VR,VG) (f2)
 例えば右駆動輪22R及び左駆動輪22Lが共にスリップしていない場合、右駆動輪速VR、左駆動輪速VL、及び車体速の演算値VGは略同一の値となる。したがって、最終的な車体速の推定値Vbは、右駆動輪速VR、左駆動輪速VL、及び車体速の演算値VGのいずれかに設定される。
 また、右駆動輪22Rがスリップした場合、右駆動輪22Rの回転速度ωRに基づいて演算される右駆動輪速VRが大きくなる。この場合、最終的な車体速の推定値Vbは左駆動輪速VL及び車体速の演算値VGのいずれかに設定される。同様に、左駆動輪22Lがスリップした場合、最終的な車体速の推定値Vbは右駆動輪速VR及び車体速の演算値VGのいずれかに設定される。さらに、右駆動輪22R及び左駆動輪22Lが共にスリップした場合、右駆動輪速VR及び左駆動輪速VLが共に大きくなる。この場合、最終的な車体速の推定値Vbは車体速の演算値VGに設定される。
 このように、上記の式f2を用いて最終的な車体速の推定値Vbを設定すれば、スリップした駆動輪の速度を除外しつつ車体速Vbを推定することができるため、より適切な車体速Vbを演算することが可能である。
 速度演算部42は、ステップS11の処理において、第1基本制駆動トルクTaが「Ta>0」を満たしていない場合には、ステップS11の処理で否定的な判断を行う。この場合、速度演算部42は、車両10が減速している状態であると判定して、ステップS13の処理として、最終的な車体速の推定値Vbを以下の式f3により演算する。
 Vb=MAX(VL,VR,VG) (f3)
 ところで、上記のf1により演算される車体速の演算値VGには積分誤差が含まれている。そのため、上記の式f2及び式f3において車体速の演算値VGを最終的な車体速の推定値Vbとして用いる場合には、最終的な車体速の推定値Vbの演算精度が低下する可能性がある。そこで、速度演算部42は、推定精度が高い右駆動輪速VR及び左駆動輪速VLを利用することで車体速の演算値VGの積分誤差を解消する。
 具体的には、速度演算部42は、ステップS12の処理又はステップS13の処理を実行した後、ステップS14の処理として、最終的な車体速の推定値Vbが右駆動輪速VR及び左駆動輪速VLのいずれかと一致しているか否かを判断する。速度演算部42は、最終的な車体速の推定値Vbが右駆動輪速VRと一致している場合には、ステップS14の処理で肯定的な判断を行って、続くステップS15の処理として、車体速の演算値VGを右駆動輪速VRに設定する。同様に、速度演算部42は、最終的な車体速の推定値Vbが左駆動輪速VLと一致している場合には、車体速の演算値VGを左駆動輪速VLに設定する。これにより、車体速の演算値VGに積分誤差が含まれている場合であっても、車体速の演算値VGが右駆動輪速VR又は左駆動輪速VLに設定された時点で、車体速の演算値VGの積分誤差が解消される。なお、速度演算部42は、ステップS14の処理で否定的な判断を行った場合には、図9に示される処理を終了する。
 図5に示されるように、速度演算部42により演算される車体速Vbは基本制駆動トルク設定部41及びトルク偏差設定部43に入力される。
 トルク偏差設定部43は、速度差演算部430と、減算部431と、加算部432と、第1フィードバック制御部433と、第2フィードバック制御部434とを有している。
 速度差演算部430は、車体速Vb、ヨーレートセンサ70の出力信号に基づいて演算される車体11の実ヨーレートY、回転角度センサ72,73の出力信号に基づいて演算される従動輪舵角θR,θL、走行操作部60の左右方向操作量S34、及び路面摩擦係数μに基づいて目標速度差ΔV*を設定する。目標速度差ΔV*は、車両10を旋回させるために右駆動輪速VRと左駆動輪速VLとの間に発生させるべき速度差の目標値である。なお、速度差演算部430は、速度上限演算部411と同様の演算手法で路面摩擦係数μの推定値を演算する。
 図10は、速度差演算部430により実行される処理の手順を示したものである。
 図10に示されるように、速度差演算部430は、まず、ステップS30の処理として、車体速Vbが所定の速度V2以上であるか否かを判断する。所定の速度V2は例えば「3[km/h]」に設定される。所定の速度V2は、車両10が走行状態であるか否かを判断することができる値に設定されている。
 速度差演算部430は、車体速Vbが所定の速度V2以上である場合、すなわち車両10が走行状態である場合には、ステップS30の処理で肯定的な判断を行って、続くステップS31の処理として、図11(A)に示される走行時演算マップM13を用いることにより、走行操作部60の左右方向操作量S34から基本速度差ΔVmを設定する。基本速度差ΔVmは目標速度差ΔV*の基本値である。走行時演算マップM13では、走行操作部60の左右方向操作量S34と基本速度差ΔVmとの関係を示すグラフが車体速Vbに基づいて切り替わることにより、車体速Vbに応じて基本速度差ΔVmが変化するようになっている。走行時演算マップM13は、車両10の走行時に車両10を旋回させる際の基本速度差ΔVmを求めるために用いられる。
 図10に示されるように、速度差演算部430は、ステップS31に続くステップS32の処理として、図11(B)に示される目標ヨーレート演算マップM14を用いることにより、走行操作部60の左右方向操作量S34から基本目標ヨーレートYb*を設定する。基本目標ヨーレートYb*は車両10のヨーレートYの目標値の基準値である。目標ヨーレート演算マップM14では、走行操作部60の左右方向操作量S34と基本目標ヨーレートYb*との関係を示すグラフが車体速Vbに基づいて切り替わることにより、車体速Vbに応じて基本目標ヨーレートYb*が変化するようになっている。
 図10に示されるように、速度差演算部430は、ステップS32に続くステップS33の処理として、最終的な目標ヨーレートY*を演算する。具体的には、速度差演算部430は、まず、路面摩擦係数μに応じた限界ヨーレートYμを演算する。限界ヨーレートYμは、スリップすることなく車両10が旋回することが可能な車両10の最大ヨーレートである。限界ヨーレートYμの理論値は、例えば以下の式f4に示される一次遅れ系の関数で表すことができる。
Figure JPOXMLDOC01-appb-M000001
 式f4において、「s」は微分演算子である。また、「K」はゲインであり、例えば以下の式f5により演算することが可能である。
Figure JPOXMLDOC01-appb-M000002
 式f5において、「l」は車両10のホイールベース長さであり、「l」は車両10の前軸から重心までの距離であり、「ttf」は前輪トレッド幅であり、「g」は重力加速度である。これらのパラメータはEVECU40のメモリに予め記憶されている。
 一方、式f4の「T」は一次遅れ系の時定数であり、例えば以下の式f6により演算することが可能である。
Figure JPOXMLDOC01-appb-M000003
 式f6において、「m」は車重であり、「K」は車両10のタイヤコーナリングパワーである。これらのパラメータはEVECU40のメモリに予め記憶されている。
 なお、限界ヨーレートYμが式f4に基づいて演算されることにより、限界ヨーレートYμは時間の経過に伴って「K×μ/Vb」に収束することになる。すなわち、限界ヨーレートYμは「K×μ/Vb」以下の値に設定される。この「K×μ/Vb」は、スリップすることなく車両10が旋回することが可能な車両10の最大のヨーレートを示している。換言すれば、車両10の旋回時に実ヨーレートYが「Y<K×μ/Vb」を満たしていれば、車両10のスリップを回避することができる。
 また、限界ヨーレートYμが式f4に基づいて演算されることにより、限界ヨーレートの単位時間当たりの変化量dYμ/dtは、「(K/T)×(μ/Vb)」よりも小さい値に設定される。この「(K/T)×(μ/Vb)」は、スリップすることなく車両10が旋回することが可能な車両10の単位時間当たりのヨーレートの最大変化量を示す。換言すれば、車両10の旋回時に単位時間当たりのヨーレートの最大変化量dY/dtが「dY/dt<(K/T)×(μ/Vb)」を満たしていれば、車両10のスリップを回避することができる。
 速度差演算部430は、上記の式f4に基づいて限界ヨーレートYμを演算した後、ステップS32の処理で演算される基本目標ヨーレートYb*と限界ヨーレートYμとから以下の式f7に基づいて最終的な目標ヨーレートY*を演算する。
 Y*=sign(Yb*)×min(|Yb*|,|Yμ|) (f7)
 式f7において、「sign」は符号関数である。
 式f7に示されるように、目標ヨーレートY*は、例えば基本目標ヨーレートの絶対値|Yb*|が限界ヨーレートの絶対値|Yμ|よりも大きい場合、限界ヨーレートの絶対値|Yμ|に基づいて設定される。したがって、目標ヨーレートY*の値は、限界ヨーレートYμに基づいて制限されるように、換言すれば車両10にスリップが発生しない範囲の値に設定されるようになっている。
 速度差演算部430は、ステップS33に続くステップS34の処理として、速度差補正値ΔVcを演算する。具体的には、速度差演算部430は、まず、現在の車両10の実ヨーレートY、及びステップS33の処理で演算された目標ヨーレートY*から以下の式f8に基づいてヨーレート偏差eYを演算する。
 eY=Y*-Y (f8)
 続いて、速度差演算部430は、演算されたヨーレート偏差eYから以下の式f9に基づいて速度差補正値ΔVcを演算する。
 ΔVc=Kp×eY+Ki×∫eY (f9)
 但し、速度差演算部430は、速度差補正値ΔVcを以下の式f10に基づいて下限値ΔVminから上限値ΔVmaxの範囲に制限する。下限値ΔVmin及び上限値ΔVmaxは予め設定されている。
 ΔVmin<ΔVc<ΔVmax (f10)
 一方、速度差演算部430は、ステップS30の処理において、車体速Vbが所定の速度V2未満である場合、すなわち車両10が停車状態であるか、あるいはそれに近い極低速走行状態である場合、ステップS30の処理で否定的な判断を行って、続くステップS35の処理として、走行操作部60の左右方向操作量の絶対値|S34|が所定量Sa以上であるか否かを判断する。所定量Saは、走行操作部60のジョイスティック61が右方向J3又は左方向J4の限度まで操作されているか否かを判断することができるように設定されている。速度差演算部430は、走行操作部60の左右方向操作量の絶対値|S34|が共に所定量Sa未満である場合、すなわち走行操作部60のジョイスティック61が右方向J3又は左方向J4の限度まで操作されていない場合には、ステップS35の処理で否定的な判断を行って、ステップS31~S34の処理を実行する。
 速度差演算部430は、ステップS30の処理で否定的な判断を行い、且つステップS35の処理で肯定的な判断を行った場合には、ステップS36の処理として、図12(A)に示される停車時演算マップM15を用いることにより走行操作部60の左右方向操作量S34から基本速度差ΔVmを設定する。停車時演算マップM15では、走行操作部60の左右方向操作量S34と基本速度差ΔVmとの関係を示すグラフが車体速Vbに基づいて切り替わることにより、車体速Vbに応じて基本速度差ΔVmが変化するようになっている。停車時演算マップM15は、車両10の停車時に車両10を旋回させる際、換言すれば車両10をその場で旋回させる際の基本速度差ΔVmを求めるために用いられる。
 図10に示されるように、速度差演算部430は、ステップS36に続くステップS37の処理として、図12(B)に示される目標舵角演算マップM16を用いることにより、走行操作部60の左右方向操作量S34から目標舵角θ*を設定する。目標舵角θ*は従動輪舵角θR,θLの目標値である。目標舵角演算マップM16では、走行操作部60の左右方向操作量S34と目標舵角θ*との関係を示すグラフが車体速Vbに基づいて切り替わることにより、車体速Vbに応じて目標舵角θ*が変化するようになっている。
 図10に示されるように、速度差演算部430は、ステップS37に続くステップS38の処理として、速度差補正値ΔVcを演算する。具体的には、速度差演算部430は、まず、現在の従動輪舵角θ、及びステップS37で演算される目標舵角θ*から以下の式f11に基づいて舵角偏差eθを演算する。なお、従動輪舵角θとしては、従動輪舵角θR,θLのいずれか一方、又はそれらの平均値が用いられる。
 eθ=θ*-θ (f11)
 続いて、速度差演算部430は、演算された舵角偏差eθから以下の式f12に基づいて速度差補正値ΔVcを演算する。
 ΔVc=Kp×eθ+Ki×∫eθ (f12)
 但し、速度差演算部430は、速度差補正値ΔVcを上記の式f10に基づいて下限値ΔVminから上限値ΔVmaxの範囲に制限する。
 速度差演算部430は、ステップS31又はステップS36の処理で基本速度差ΔVmを設定し、且つステップS34又はステップS38の処理で速度差補正値ΔVcを演算した後、ステップS39の処理として、以下の式f13に基づいて目標速度差ΔV*を演算する。
 ΔV*=ΔVm+ΔVc (f13)
 続いて、速度差演算部430は、ステップS40の処理として、シフト操作部50がDレンジに操作されているか否かを判断して、シフト操作部50がDレンジに操作されている場合にはステップS40の処理で肯定的な判断を行って、図10に示される処理を終了する。この場合、速度差演算部430は、上記の式f13により演算された目標速度差ΔV*を演算結果としてそのまま用いる。
 一方、速度差演算部430は、ステップS40において、シフト操作部50がRレンジに操作されている場合には、ステップS40の処理で否定的な判断を行う。この場合、速度差演算部430は、ステップS41の処理として、以下の式f14に基づいて目標速度差ΔV*の正負の符号を逆転させる。
 ΔV*=-ΔV* (f14)
 図5に示されるように、速度差演算部430により設定された目標速度差ΔV*は減算部431及び加算部432にそれぞれ入力される。減算部431は、速度演算部42により演算される車体速Vbから目標速度差ΔV*を減算することにより目標右駆動輪速VR*を求める。加算部432は、速度演算部42により演算された車体速Vbに目標速度差ΔV*を加算することにより目標左駆動輪速VL*を求める。
 第1フィードバック制御部433は、減算部431により演算される目標右駆動輪速VR*に基づいて、実際の右駆動輪速VRと目標右駆動輪速VR*との偏差に基づくフィードバック制御により右駆動輪補正トルクΔTcRを演算する。第1フィードバック制御部433により演算される右駆動輪補正トルクΔTcRはトルク制御部44に入力される。
 第2フィードバック制御部434は、加算部432により演算される目標左駆動輪速VL*に基づいて、実際の左駆動輪速VLと目標左駆動輪速VL*との偏差に基づくフィードバック制御により左駆動輪補正トルクΔTcLを演算する。第2フィードバック制御部434により演算される左駆動輪補正トルクΔTcLはトルク制御部44に入力される。
 トルク制御部44は、トルク分配部440と、第1スリップ制御部441と、第2スリップ制御部442とを備えている。
 トルク分配部440は、選択部412により演算される第3基本制駆動トルクTc、第1フィードバック制御部433により演算される右駆動輪補正トルクΔTcR、及び第2フィードバック制御部434により演算される左駆動輪補正トルクΔTcLから第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を演算する。具体的には、トルク分配部440は、第3基本制駆動トルクTcに右駆動輪補正トルクΔTcRを加算することにより第1目標制駆動トルクTR*(=Tc+ΔTcR)を求める。同様に、トルク分配部440は、第3基本制駆動トルクTcに左駆動輪補正トルクΔTcLを加算することにより第2目標制駆動トルクTL*(=Tc+ΔTcL)を求める。トルク分配部440により演算された第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*は第1スリップ制御部441及び第2スリップ制御部442にそれぞれ入力される。
 第1スリップ制御部441は、右駆動輪22Rのスリップを抑制すべき状況であるか否かを判断するとともに、右駆動輪22Rのスリップを抑制すべき状況ではないと判断した場合には、トルク分配部440から出力される第1目標制駆動トルクTR*をそのままインホイールモータ30Rに出力する。一方、第1スリップ制御部441は、右駆動輪22Rのスリップを抑制すべき状況であると判断した場合には、第1目標制駆動トルクTR*の絶対値を第1スリップトルクTsR以下に制限する第1スリップ抑制制御を実行する。第1スリップトルクTsRは、右駆動輪22Rのスリップ率を所定の目標スリップ率にするために右駆動輪22Rに付与すべき制駆動トルクである。
 第2スリップ制御部442は、第1スリップ制御部441が右駆動輪22Rに対して行う制御と同様の制御を左駆動輪22Lに対して実行する。すなわち、第2スリップ制御部442は、左駆動輪22Lのスリップを抑制すべき状況であると判断した場合に、第2目標制駆動トルクTL*の絶対値を第2スリップトルクTsL以下に制限する第1スリップ抑制制御を実行する。
 なお、第1スリップ制御部441及び第2スリップ制御部442は、スリップ抑制制御を実行しているか否かを示すスリップ制御フラグXslipを共有している。第1スリップ制御部441及び第2スリップ制御部442は、いずれか一方がスリップ抑制制御を実行している場合にはスリップ制御フラグXslipを「1」に設定する。また、第1スリップ制御部441及び第2スリップ制御部442は、いずれもスリップ抑制制御を実行していない場合にはスリップ制御フラグXslipを「0」に設定する。
 次に、第1スリップ制御部441及び第2スリップ制御部442により実行される処理の手順について具体的に説明する。なお、第1スリップ制御部441及び第2スリップ制御部442が実行する処理は同一であるため、以下では第1スリップ制御部441の手順について代表して説明する。
 第1スリップ制御部441は、図13に示される処理を実行する。なお、第1スリップ制御部441は、車両10が起動している期間、図13に示される処理を所定の周期で繰り返し実行する。
 図13に示されるように、第1スリップ制御部441は、ステップS50の処理として、右駆動輪速VRと車体速Vbとの偏差|VR-Vb|を演算するとともに、演算された偏差|VR-Vb|が「|VR-Vb|≧Vth10」を満たしているか否かを判断する。所定値Vth10は、右駆動輪22Rのスリップを抑制すべき状況であるか否かを判定するための判定値であって、例えば「3[km/h]」に設定される。第1スリップ制御部441は、偏差|VR-Vb|が「|VR-Vb|≧Vth10」を満たしている場合には、ステップS50の処理で肯定的な判断を行う。この場合、第1スリップ制御部441は、右駆動輪22Rのスリップを抑制すべき状況であると判定する。
 第1スリップ制御部441は、ステップS50の処理で肯定的な判断を行った場合、続くステップS51の処理として第1スリップ抑制制御を実行する。すなわち、第1スリップ制御部441は、第1目標制駆動トルクTR*の絶対値を第1スリップトルクTsR以下に制限する。第1スリップ制御部441は、ステップS51に続くステップS52の処理として、スリップ制御フラグXslipを「1」に設定する。
 第1スリップ制御部441は、ステップS52に続くステップS53の処理として、第1基本制駆動トルクTaが「Ta>0」を満たしているか否かを判断する。第1スリップ制御部441は、第1基本制駆動トルクTaが「Ta>0」を満たしている場合には、ステップS53の処理で肯定的な判断を行う。この場合、第1スリップ制御部441は、車両10が加速している状態であると判定して、ステップS54の処理として、車体速Vbから以下の式f15に基づいて目標スリップ速度Vcmdを演算する。
 Vcmd=(1+α)×Vb (f15)
 式f15において、所定値αは右駆動輪22Rの目標スリップ率に基づいて予め設定されている。例えば右駆動輪22Rがスリップした際の目標スリップ率が3%に設定されている場合、所定値αは「0.03」に設定される。
 第1スリップ制御部441は、ステップS53の処理において、第1基本制駆動トルクTaが「Ta>0」を満たしていない場合には、ステップS53の処理で否定的な判断を行う。この場合、第1スリップ制御部441は、車両10が減速している状態であると判定して、ステップS55の処理として、以下の式f16に基づいて目標スリップ速度Vcmdを演算する。
 Vcmd=(1-α)×Vb (f16)
 第1スリップ制御部441は、ステップS54の処理又はステップS55の処理を行った後、続くステップS56の処理として、第1スリップトルクTsRを演算する。具体的には、第1スリップ制御部441は、ステップS54の処理又はステップS55の処理で演算された目標スリップ速度Vcmdと右駆動輪速VRとの偏差に基づくPIフィードバック制御により第1スリップトルクTsRを演算する。すなわち、第1スリップ制御部441は、目標スリップ速度Vcmd及び右駆動輪速VRから以下の式f17に基づいて速度偏差eVを演算する。
 eV=Vcmd-VR (f17)
 続いて、第1スリップ制御部441は、演算された速度偏差eVから以下の式f18に基づいて第1スリップトルクTsRを演算する。
 TsR=Kp×eV+Ki×∫eV (f18)
 式f18において、「Kp」及び「Ki」は、予め設定されている所定の比例ゲイン及び積分ゲインである。
 なお、第1スリップ制御部441は、第1スリップトルクTsRを以下の式f19に基づいて下限値Tminから上限値Tmaxの範囲に制限する。
 Tmin<TsR<Tmax (f19)
 下限値Tmin及び上限値Tmaxは予め設定されている。下限値Tminとしては、例えばインホイールモータ30Rのモータジェネレータ31Rから出力することが可能な最大制動トルクが用いられる。上限値Tmaxとしては、例えばインホイールモータ30Rのモータジェネレータ31Rから出力することが可能な最大駆動トルクが用いられる。
 第1スリップ制御部441は、ステップS56に続くステップS57の処理として、第1基本制駆動トルクTaが第1スリップトルクTsR以上であるか否かを判断する。第1スリップ制御部441は、第1基本制駆動トルクTaが第1スリップトルクTsR以上である場合、ステップS57の処理で肯定的な判断を行って、ステップS58の処理として、右駆動輪速VRと車体速Vbとの偏差|VR-Vb|を演算して、「|VR-Vb|≦Vth11」を満たしている状態が所定時間だけ継続しているか否かを判断する。所定値Vth11は、右駆動輪22Rのスリップ状態が収束したか否かを判定するための判定値であって、例えば「0[km/h]」に設定される。なお、所定値Vth11と、ステップS50の処理で用いられる所定値Vth10とは同一の値であってもよい。所定時間は例えば「1[sec]」に設定される。
 第1スリップ制御部441は、ステップS58の処理で否定的な判断を行った場合には、右駆動輪22Rのスリップ状態が収束していないと判定して、図13に示される処理を一旦終了する。この場合、第1スリップ抑制制御が継続される。
 第1スリップ抑制制御が継続されることにより、右駆動輪速VRと車体速Vbとの偏差|VR-Vb|が小さくなると、偏差|VR-Vb|が「|VR-Vb|<Vth10」を満たすようになる。この場合、第1スリップ制御部441は、ステップS50の処理で否定的な判断を行って、続くステップS59の処理として、スリップ制御フラグXslipが「0」に設定されるか否かを判断する。この段階ではスリップ制御フラグXslipが「1」に設定されているため、第1スリップ制御部441は、ステップS59の処理で否定的な判断を行って、ステップS53以降の処理を実行する。
 その後、第1スリップ抑制制御が更に継続されて、右駆動輪速VRと車体速Vbとの偏差|VR-Vb|が「|VR-Vb|≦Vth11」を満たしている状態が所定時間だけ継続すると、第1スリップ制御部441は、ステップS58の処理で肯定的な判断を行う。この場合、第1スリップ制御部441は、右駆動輪22Rのスリップ状態が収束したと判定して、ステップS60の処理として第1スリップ抑制制御を終了した後、ステップS61の処理としてスリップ制御フラグXslipを「0」に設定する。
 なお、第1スリップ制御部441は、ステップS61の処理において、第2スリップ制御部442が第1スリップ抑制制御を実行している場合には、スリップ制御フラグXslipを「1」に維持する。これに対して、第1スリップ制御部441は、第2スリップ制御部442が第1スリップ抑制制御を実行していない場合には、スリップ制御フラグXslipを「0」に維持する。これにより、スリップ制御フラグXslipは、第1スリップ制御部441及び第2スリップ制御部442のいずれか一方がスリップ抑制制御を実行している場合には「1」に設定され、それらのいずれもがスリップ抑制制御を実行していない場合には「0」に設定されることになる。
 第1スリップ制御部441は、ステップS51の処理で第1スリップ抑制制御を開始した後、ステップS60の処理で第1スリップ抑制制御を終了するまでの期間、第1スリップ抑制制御を継続して実行する。
 第1スリップ制御部441は、右駆動輪22Rのスリップ状態が収束していない場合であっても、ステップS57の処理で否定的な判断を行った場合には、すなわち第1基本制駆動トルクTaが第1スリップトルクTsR未満になった場合には、ステップS60の処理として第1スリップ抑制制御を終了した後、ステップS61の処理を実行する。第1基本制駆動トルクTaが第1スリップトルクTsR未満になれば、第1基本制駆動トルクTaに基づいて第1目標制駆動トルクTR*を設定したとしても、スリップを生じさせるような制駆動トルクが右駆動輪22Rに付与されることはない。そのため、第1基本制駆動トルクTaが第1スリップトルクTsR未満になった場合には、第1スリップ制御部441は第1スリップ抑制制御を終了する。
 ステップS61の処理を通じてスリップ制御フラグXslipが「0」に設定されると、その後に第1スリップ制御部441が図13に示される処理を実行した際に、第1スリップ制御部441はステップS59の処理で肯定的な判断を行う。この場合、第1スリップ制御部441は、ステップS62の処理として、第1基本制駆動トルクTaが「Ta>0」を満たしているか否かを判断する。第1スリップ制御部441は、第1基本制駆動トルクTaが「Ta>0」を満たしている場合には、ステップS62の処理で肯定的な判断を行う。この場合、第1スリップ制御部441は、車両10が加速している状態であると判定して、ステップS63の処理として、第1スリップトルクTsRを上限値Tmaxに設定する。一方、第1スリップ制御部441は、第1基本制駆動トルクTaが「Ta>0」を満たしていない場合には、ステップS62の処理で否定的な判断を行う。この場合、第1スリップ制御部441は、車両10が減速している状態であると判定して、ステップS64の処理として、第1スリップトルクTsRを下限値Tminに設定する。ステップS63の処理及びステップS64の処理は、第1スリップ抑制制御が実行されていない時に第1スリップトルクTsRが第1目標制駆動トルクTR*の演算に用いられることを回避するために実行される。第1スリップ制御部441は、ステップS63の処理又はステップS64の処理を実行した後、図13に示される処理を終了する。
 上述の通り、図5に示される第2スリップ制御部442は、左駆動輪22Lに対して、図8に示される処理と同一の処理を実行する。本実施形態では、右駆動輪22Rの第1スリップ抑制制御と左駆動輪22Lの第1スリップ抑制制御とが、第1スリップ制御部441及び第2スリップ制御部442により独立してそれぞれ実行される。
 ところで、右駆動輪22R及び左駆動輪22Lのいずれか一方で第1スリップ抑制制御が実行されることにより制駆動トルクが制限された場合、他方の駆動輪に関しても制駆動トルクを制限しなければ車両10の走行状態を適切に維持することができない。例えば、路面摩擦係数が低い路面である低μ路に右駆動輪22Rが接地しており、且つ路面摩擦係数が高い路面である高μ路に左駆動輪22Lが接地しているような状況で右駆動輪22Rがスリップした場合、右駆動輪22Rの駆動トルクのみを制限すると、右駆動輪22Rの駆動トルクが左駆動輪22Lの駆動トルクよりも小さくなるため、意図せずに車両10が右方向D3に旋回することになる。これを回避するためには、第1スリップ抑制制御により右駆動輪22Rの駆動トルクが制限された場合には、左駆動輪22Lの駆動トルクも同様に制限する必要がある。換言すれば、低μ路に接地している駆動輪の制駆動トルクに基づいて、高μ路に湿地している駆動輪の制駆動トルクを制限する必要がある。また、このような状況で車両10を更に旋回させるためには、駆動輪22R,22Lの両方の駆動トルクを制限している状態を維持しつつ、駆動輪22R,22Lのそれぞれの制駆動トルクに偏差を生じさせる必要がある。
 以上のような駆動輪22R,22Lのそれぞれの制駆動トルクを実現するための処理として、トルク分配部440は、図14に示される処理を実行する。なお、トルク分配部440は、車両10が起動している期間、図14に示される処理を所定の周期で繰り返し実行する。
 図14に示されるように、トルク分配部440は、まず、ステップS70の処理として、第1基本制駆動トルクTaが「Ta>0」を満たしているか否かを判断する。トルク分配部440は、第1基本制駆動トルクTaが「Ta>0」を満たしている場合には、ステップS70の処理で肯定的な判断を行う。この場合、トルク分配部440は、車両10が加速している状態であると判定して、ステップS71の処理として、選択部412により演算される第3基本制駆動トルクTc、第1スリップトルクTsR、及び第2スリップトルクTsLから以下の式f20に基づいて第4基本制駆動トルクTdを演算する。
 Td=MIN(Tc,TsR,TsL) (f20)
 すなわち、トルク分配部440は、第3基本制駆動トルクTc、第1スリップトルクTsR、及び第2スリップトルクTsLのうち、最も小さいものを第4基本制駆動トルクTdに設定する。
 トルク分配部440は、ステップS71に続くステップS72の処理として、スリップ制御フラグXslipが「0」に設定されているか否かを判断する。トルク分配部440は、スリップ制御フラグXslipが「0」に設定されている場合、すなわち第1スリップ制御部441及び第2スリップ制御部442のいずれも第1スリップ抑制制御を実行していない場合には、ステップS72の処理で肯定的な判断を行う。この場合、トルク分配部440は、ステップS81の処理として、以下の式f21,f22に基づいて第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を設定する。
 TR*=Td+ΔTcR (f21)
 TL*=Td+ΔTcL (f22)
 第1スリップ制御部441及び第2スリップ制御部442のいずれも第1スリップ抑制制御を実行していない場合、図8に示されるステップS33の処理により第1スリップトルクTsR及び第2スリップトルクTsLは上限値Tmaxに設定されている。したがって、ステップS81の処理において第4基本制駆動トルクTdは第3基本制駆動トルクTcに設定される。結果的に、ステップS72の処理では、第1目標制駆動トルクTR*が「Tc+ΔTcR」に設定され、第2目標制駆動トルクTL*が「Tc+ΔTcL」に設定されることになる。すなわち、トルク分配部440は、上述した通常の設定手順で目標制駆動トルクTR*,TL*を設定する。
 一方、トルク分配部440は、スリップ制御フラグXslipが「1」に設定されている場合、すなわち第1スリップ制御部441及び第2スリップ制御部442のいずれか一方がスリップ抑制制御を実行している場合には、ステップS72の処理で否定的な判断を行う。この場合、トルク分配部440は、ステップS73の処理として、第4基本制駆動トルクTdが第2スリップトルクTsLと一致しているか否かを判断する。
 例えば、左駆動輪22Lに対して第2スリップ制御部442がスリップ抑制制御を実行している場合、第2スリップトルクTsLは第3基本制駆動トルクTc及び第1スリップトルクTsRよりも小さい値となる。したがって、ステップS71の処理において第4基本制駆動トルクTdが第2スリップトルクTsLに設定される。結果的に、トルク分配部440はステップS73の処理で肯定的な判断を行う。この場合、トルク分配部440は、左駆動輪22Lに対して第2スリップ制御部442がスリップ抑制制御を実行している状況であると判定して、ステップS74の処理として、以下の式f23,f24に基づいて第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を設定する。
 TR*=Td-|ΔTcR|-|ΔTcL| (f23)
 TL*=TsL (f24)
 このように、左駆動輪22Lに対して第2スリップ制御部442がスリップ抑制制御を実行している場合には、左駆動輪22Lの第2目標制駆動トルクTL*が第2スリップトルクTsLに制限される。一方、スリップしていない右駆動輪22Rの第1目標制駆動トルクTR*は、第4基本制駆動トルクTdから右駆動輪補正トルクの絶対値|ΔTcR|及び左駆動輪補正トルクの絶対値|TcL|を減算した値に設定される。第4基本制駆動トルクTdが第2スリップトルクTsLに設定されていることを考慮すると、右駆動輪22Rの第1目標制駆動トルクTR*も第2スリップトルクTsL以下に制限されることになる。
 一方、右駆動輪22Rに対して第1スリップ制御部441がスリップ抑制制御を実行している場合、第1スリップトルクTsRは第3基本制駆動トルクTc及び第2スリップトルクTsLよりも小さい値となる。したがって、ステップS71の処理において第4基本制駆動トルクTdが第1スリップトルクTsRに設定される。結果的に、トルク分配部440はステップS73の処理で否定的な判断を行う。この場合、トルク分配部440は、右駆動輪22Rに対して第1スリップ制御部441がスリップ抑制制御を実行している状況であると判定して、ステップS75の処理として、以下の式f25,f26に基づいて第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を設定する。
 TR*=TsR (f25)
 TL*=Td-|ΔTcR|-|ΔTcL| (f26)
 一方、トルク分配部440は、ステップS70の処理において、第1基本制駆動トルクTaが「Ta>0」を満たしていない場合には、ステップS70の処理で否定的な判断を行う。この場合、トルク分配部440は、車両10が減速している状況であると判定して、ステップS76~S81の処理を実行する。なお、ステップS76~S80の処理は、ステップS71~S75の処理を車両10の減速時に対応するように変更した処理であり、ステップS71~S75の処理と同一又は類似の処理であるため、それらの詳細な説明は割愛する。
 以上のようにして第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*を設定することにより、駆動輪22R,22Lのスリップを抑制しつつ車両10を旋回させることが可能となる。
 例えば 車両10の駆動輪22R,22Lが共にスリップしていない状況で走行操作部60が前方向D1及び右方向D3の中間位置に操作された場合、右駆動輪22R及び左駆動輪22Lのそれぞれの駆動トルクは例えば図15(A)に示されるように設定される。まず、走行操作部60の前方向D1の操作量であるアクセル操作量S1に基づいて第3基本制駆動トルクTcが設定されるとともに、第4基本制駆動トルクTdとして第3基本制駆動トルクTcがそのまま用いられる。また、走行操作部60の左右方向操作量S34に基づいて右駆動輪補正トルクΔTcR及び左駆動輪補正トルクΔTcLが設定される。この場合、右駆動輪補正トルクΔTcRは負の値に設定される一方、左駆動輪補正トルクΔTcLは正の値に設定される。したがって、インホイールモータ30Rは、図15(A)に示されるように第3基本制駆動トルクTcに右駆動輪補正トルクΔTcRを加算したトルクを右駆動輪22Rに付与する。また、インホイールモータ30Lは、第3基本制駆動トルクTcに左駆動輪補正トルクΔTcLを加算したトルクを左駆動輪22Lに付与する。結果的に、右駆動輪22Rに付与されるトルクよりも、左駆動輪22Lに付与されるトルクの方が小さくなるため、車両10が右方向D3に旋回する。
 一方、走行操作部60が前方向D1及び右方向D3の中間位置に操作されている状況で車両10の左駆動輪22Lがスリップした場合、右駆動輪22R及び左駆動輪22Lのそれぞれの駆動トルクは例えば図15(B)に示されるように設定される。まず、走行操作部60の前方向D1の操作量であるアクセル操作量S1に基づいて第3基本制駆動トルクTcが設定される。また、左駆動輪22Lがスリップしているため、左駆動輪22Lのスリップを抑制することが可能な第2スリップトルクTsLが設定される。この場合、第3基本制駆動トルクTcよりも第2スリップトルクTsLの方が小さければ、第4基本制駆動トルクTdが第2スリップトルクTsLに設定される。また、走行操作部60の左右方向操作量S34に基づいて右駆動輪補正トルクΔTcR及び左駆動輪補正トルクΔTcLが設定される。この場合、右駆動輪補正トルクΔTcRは負の値に設定される一方、左駆動輪補正トルクΔTcLは正の値に設定される。以上により、インホイールモータ30Lは、図15(B)に示されるように第2スリップトルクTsLを左駆動輪22Lに付与する。また、インホイールモータ30Rは、第2スリップトルクTsLから「|ΔTcR|+|ΔTcL|」を減算したトルク「TsL-|ΔTcR|-|ΔTcL|」を右駆動輪22Rに付与する。結果的に、左駆動輪22Lのスリップが抑制されつつ、車両10が右方向D3に旋回する。
 ところで、図14に示される処理を実行しても駆動輪22R,22Lのスリップを抑制できない可能性もある。これを考慮して、本実施形態の第1スリップ制御部441及び第2スリップ制御部442は、駆動輪22R,22Lのスリップが検出されたときに、インホイールモータ30R,30Lの制御を、トルク分配部440により演算される第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*に基づくトルク制御から、車体速Vbに基づく速度制御に切り換えることにより駆動輪22R,22Lのスリップを抑制する。
 具体的には、第1スリップ制御部441及び第2スリップ制御部442は、駆動輪22R,22Lのスリップを抑制するための制御として、図16に示される第2スリップ抑制制御を実行する。なお、第1スリップ制御部441及び第2スリップ制御部442が実行する第2スリップ抑制制御の内容は同一であるため、以下では第1スリップ制御部441により実行される第2スリップ抑制制御の手順について代表して説明する。
 図16に示されるように、第1スリップ制御部441は、まず、ステップS90の処理として、右駆動輪22Rがスリップしているか否かを判断する。第1スリップ制御部441は、例えば右駆動輪速VRの経時的な推移に基づいて右駆動輪22Rの加速度ARを演算する。また、第1スリップ制御部441は、車体速Vbの経時的な推移に基づいて、車体11の進行方向の加速度である車体加速度Abを演算する。第1スリップ制御部441は、演算された右駆動輪22Rの加速度ARと車体加速度Abとの偏差|AR-Ab|を演算するとともに、演算された偏差|AR-Ab|が「|AR-Ab|>γ」を満たしていることに基づいて、右駆動輪22Rがスリップしていると判断する。なお、所定値γは、右駆動輪22Rがスリップしているか否かを判断することができるように実験等により予め設定されている。
 第1スリップ制御部441は、右駆動輪22Rがスリップしていると判断した場合には、ステップS90の処理で肯定的な判断を行って、続くステップS91の処理として、目標右駆動輪速VR*を設定する。例えば、第1スリップ制御部441は、図10に示されるステップS39で演算される目標速度差ΔV*と車体速Vbとから以下の式f27に基づいて目標右駆動輪速VR*を設定する。目標右駆動輪速VR*は、車両10の進行方向における右駆動輪22Rの速度の目標値である。
 VR*=Vb-ΔV* (f27)
 第1スリップ制御部441は、ステップS91に続くステップS92の処理として、第2スリップ抑制制御を実行する。具体的には、第1スリップ制御部441は、ステップS91の処理で演算された目標右駆動輪速VR*と実際の右駆動輪速VRとの偏差に基づくフィードバック制御により第1目標制駆動トルクTR*を演算する。すなわち、第1スリップ制御部441は、実際の右駆動輪速VRが目標右駆動輪速VR*となるように第1目標制駆動トルクTR*を設定する。第1スリップ制御部441は、この第2スリップ抑制制御を実行する際には、トルク分配部440により演算される第1目標制駆動トルクTR*を用いることなく、右駆動輪速VRと目標右駆動輪速VR*との偏差に基づき設定される第1目標制駆動トルクTR*をインホイールモータ30Rに送信する。第1スリップ制御部441は、ステップS92の処理を実行した後、図16に示される処理を終了する。
 一方、第1スリップ制御部441は、ステップS90の処理において、偏差|AR-Ab|が「|AR-Ab|>γ」を満たしていない場合には、右駆動輪22Rがスリップしていないと判断して、ステップS90の処理で否定的な判断を行う。この場合、第1スリップ制御部441は、図16に示される処理を終了する。
 第2スリップ制御部442は、図16に示される処理と同一の処理を左駆動輪22Lに対して実行する。但し、第2スリップ制御部442は、ステップS91の処理において、以下の式f28に基づいて目標左駆動輪速VL*を設定する。
 VL*=Vb+ΔV* (f28)
 次に、本実施形態の車両10の動作例について説明する。
 図17に示される時刻t20で運転者が走行操作部60を左方向J4に操作したとすると、走行操作部60の左右方向操作量S34に基づいて基本目標ヨーレートYb*が設定される。このとき、目標ヨーレートY*は、基本目標ヨーレートYb*に基づいて例えば図中に二点鎖線で示されるように設定される。この目標ヨーレートY*に車両10の実ヨーレートYが追従するように目標右駆動輪速VR*及び目標左駆動輪速VL*が設定されると、時刻t21の付近で車両10の実ヨーレートYが限界ヨーレートYμを超える可能性がある。すなわち、時刻t21の付近で車両10がスリップする可能性がある。
 この点、本実施形態の車両10では、上記の式f7により目標ヨーレートY*が限界ヨーレートYμに制限される。これにより、車両10の目標ヨーレートY*は上記の式f4に基づいて「Y*<K×μ/Vb」を満たすように設定される。また、車両10の単位時間当たりの目標ヨーレートの変化量dY*/dtが「dY*/dt<(K/T)×(μ/Vb)」を満たすように設定される。なお、図17には、「(K/T)×(μ/Vb)」の傾きを有する直線が一点鎖線L12で記載されている。結果的に、車両10の目標ヨーレートY*及びその単位時間当たりの変化量dY*/dtが、車両10のスリップが発生しない範囲の値に設定される。したがって、スリップを回避しつつ車両10を旋回させることができる。
 以上説明した本実施形態のEVECU40によれば、以下の(1)~(4)に示される作用及び効果を得ることができる。
 (1)EVECU40は、トルク制御部44と、速度差演算部430とを備える。速度差演算部430は、車両10が走行している路面の路面摩擦係数μに基づいて限界ヨーレートYμを演算するとともに、演算された限界ヨーレートYμに基づいて、車両10が旋回する際の車両10の目標ヨーレートY*を演算する。また、速度差演算部430は、目標ヨーレートY*に基づいて、右駆動輪22Rと左駆動輪22Lとの間に発生させるべき目標速度差ΔV*を演算する。トルク制御部44は、右駆動輪22Rに付与される第1制駆動トルク、及び左駆動輪22Lに付与される第2制駆動トルクを制御することにより、車両10の前後進及びスリップ抑制制御を行う。また、トルク制御部44は、速度差演算部430により演算される目標速度差ΔV*に基づいて第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより車両10の旋回を行う。この構成によれば、電動パワーステアリング装置や制動装置を用いることなく車両10の旋回、前後進、及びスリップ抑制を行うことができるため、移動体の構造を簡素化することができる。また、車両10が旋回する際の目標ヨーレートY*を路面摩擦係数μに基づいて設定することで、車両10がスピンするようなヨーレートが車両10に発生することを回避できるため、車両10の旋回性を向上させることができる。
 (2)速度差演算部430は、路面摩擦係数μと車体速Vbとに基づいて限界ヨーレートYμを演算するとともに、演算された限界ヨーレートYμを目標ヨーレートY*として用いることにより目標速度差ΔV*を設定する。この構成によれば、路面摩擦係数μと車体速Vbとに応じた目標速度差ΔV*を容易に演算することができる。
 (3)速度差演算部430は、上記の式f4に示されるように、車両10の限界ヨーレートYμを一次遅れ関数として演算するとともに、上記の式f6に示されるように、一次遅れ関数の時定数Tを車体速Vbに基づいて設定する。この構成によれば、スリップを回避しつつ車両10を旋回させることが可能な車両10の限界ヨーレートYμを容易に設定することができる。
 (4)EVECU40は、車両10の上限速度Vmaxを設定する速度上限演算部411を更に備える。速度上限演算部411は、図8に示されるように、左右方向操作量S34及び路面摩擦係数μに基づいて上限速度Vmaxを設定する。この構成によれば、左右方向操作量S34及び路面摩擦係数μに応じた、より適切な上限速度Vmaxを設定することが可能となる。
 <第2実施形態>
 次に、車両10のEVECU40の第2実施形態について説明する。以下、第1実施形態のEVECU40との相違点を中心に説明する。
 本実施形態の速度差演算部430は、図10に示される処理に代えて、図18に示される処理を実行する。なお、図18に示される処理において、図10に示される処理と同一の処理には同一の符号を付すことにより重複する説明は割愛する。
 図18に示されるように、速度差演算部430は、ステップS42の処理として、車体速Vbが所定の速度V2以上であって、且つ車体速Vbが上限速度Vmax以下であるか否かを判断する。上限速度Vmaxは、上述の通り、図8に示されるマップM12に基づいて速度上限演算部411により演算される。速度差演算部430は、ステップS42で肯定的な判断を行った場合、すなわち車体速Vbが所定の速度V2以上であって、且つ車体速Vbが上限速度Vmax以下であることに基づいて、ステップS31以降の処理を実行する。
 次に、本実施形態の車両10の動作例について説明する。
 本実施形態の車両10では、例えば運転者が車両10を旋回させるべく走行操作部60を右方向J3又は左方向J4に操作した際、車体速Vbが上限速度Vmaxを超えている場合には、図18に示されるステップS31以降の処理が実行されない。したがって、車両10の旋回が開始されない。
 一方、車体速Vbが上限速度Vmaxを超えている場合、図5に示される選択部412が、速度上限演算部411により演算される第2基本制駆動トルクTbを第3基本制駆動トルクTcとして設定すると、第2基本制駆動トルクTbに基づいて第1目標制駆動トルクTR*及び第2目標制駆動トルクTL*が設定される。結果的に、車体速Vbが上限速度Vmax以下になるまで車両10が減速する。そして、車体速Vbが上限速度Vmax以下になると、図18に示されるステップS42の処理で肯定的な判断が行われて、ステップS31以降の処理が実行される。すなわち、車両10の旋回が開始される。
 以上説明した本実施形態のEVECU40によれば、以下の(5)に示される作用及び効果を更に得ることができる。
 (5)トルク制御部44は、車体速Vbが上限速度Vmax以下になった後に車両10の旋回を開始する。この構成によれば、車体速Vbが低下した後に車両10の旋回が開始されるため、より的確に車両10のスリップを抑制することが可能である。
 <他の実施形態>
 なお、上記実施形態は、以下の形態にて実施することもできる。
 ・トルク制御部44は、インホイールモータ30R,30Lから右駆動輪22R及び左駆動輪22Lにそれぞれ付与される制駆動トルクを制御するという方法に代えて、右駆動輪22Rの回転速度及び左駆動輪22Lの回転速度をそれぞれ制御することにより車両10の旋回、前後進、及びスリップ抑制を行ってもよい。この回転速度制御は、図5に示される制御手順と類似の制御手順で実現可能である。
 ・速度差演算部430は、目標速度差ΔV*に代えて、車両10を旋回させるために右駆動輪速VRと左駆動輪速VLとの間に発生させるべき速度差の変化率の目標値を演算してもよい。この場合、トルク制御部44は、速度差の変化率の目標値に基づいて第1制駆動トルク及び第2制駆動トルクをそれぞれ制御することにより車両10の旋回を行う。
 ・上記実施形態の構成は、車両10に限らず、任意の移動体に適用可能である。
 ・本開示に記載のEVECU40及びその制御方法は、コンピュータプログラムにより具体化された1つ又は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された1つ又は複数の専用コンピュータにより、実現されてもよい。本開示に記載のEVECU40及びその制御方法は、1つ又は複数の専用ハードウェア論理回路を含むプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。本開示に記載のEVECU40及びその制御方法は、1つ又は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと1つ又は複数のハードウェア論理回路を含むプロセッサとの組み合わせにより構成された1つ又は複数の専用コンピュータにより、実現されてもよい。コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。専用ハードウェア論理回路及びハードウェア論理回路は、複数の論理回路を含むデジタル回路、又はアナログ回路により実現されてもよい。
 ・本開示は上記の具体例に限定されるものではない。上記の具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素、及びその配置、条件、形状等は、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
 <付記>
 本発明の他の特徴を以下の通り示す。
 前記移動体の上限速度を設定する速度上限演算部(411)を更に備え、前記速度上限演算部は、前記移動体を旋回させるために前記移動体に対して行われる操作量及び前記路面摩擦係数に基づいて前記上限速度を設定する、請求項1~3のいずれか一項に記載の移動体の制御装置。

Claims (6)

  1.  右駆動輪(22R)に第1制駆動トルクを付与する第1制駆動トルク付与部(30R)と、左駆動輪(22L)に第2制駆動トルクを付与する第2制駆動トルク付与部(30L)と、キャスタ輪からなる右従動輪(21R)及び左従動輪(21L)とを有する移動体(10)を制御する制御装置であって、
     前記第1制駆動トルク付与部及び前記第2制駆動トルク付与部を制御するトルク制御部(44)と、
     前記移動体が走行している路面の路面摩擦係数に基づいて、前記移動体が旋回する際の前記移動体の目標ヨーレートを演算するとともに、演算された前記目標ヨーレートに基づいて、前記右駆動輪と前記左駆動輪との間に発生させるべき速度差又は前記速度差の変化率を演算する速度差演算部(430)と、を備え、
     前記トルク制御部は、
     前記第1制駆動トルク及び前記第2制駆動トルクをそれぞれ制御することにより前記移動体の前後進及びスリップ抑制を行うとともに、
     前記速度差演算部により演算される前記速度差又は前記速度差の変化率に基づいて前記第1制駆動トルク及び前記第2制駆動トルクをそれぞれ制御することにより前記移動体の旋回を行う
     移動体の制御装置。
  2.  前記速度差演算部は、前記路面摩擦係数と前記移動体の速度とに基づいて前記速度差又は前記速度差の変化率を演算する
     請求項1に記載の移動体の制御装置。
  3.  前記速度差演算部は、前記移動体の目標ヨーレートを一次遅れ関数として演算するとともに、前記一次遅れ関数の時定数を前記移動体の速度に基づいて設定する
     請求項1又は2に記載の移動体の制御装置。
  4.  前記移動体の上限速度を設定する速度上限演算部(411)を更に備え、
     前記速度上限演算部は、前記移動体を旋回させるために前記移動体に対して行われる操作量及び前記路面摩擦係数に基づいて前記上限速度を設定する
     請求項1に記載の移動体の制御装置。
  5.  前記トルク制御部は、前記移動体の実際の速度が前記上限速度以下になった後に前記移動体の旋回を開始する
     請求項4に記載の移動体の制御装置。
  6.  右駆動輪(22R)に第1制駆動トルクを付与する第1制駆動トルク付与部(30R)と、左駆動輪(22L)に第2制駆動トルクを付与する第2制駆動トルク付与部(30L)と、キャスタ輪からなる右従動輪(21R)及び左従動輪(21L)とを有する移動体(10)を制御するためのプログラムであって、
     コンピュータに、
     前記移動体が走行している路面の路面摩擦係数に基づいて、前記移動体が旋回する際の前記移動体の目標ヨーレートを演算するとともに、演算された前記目標ヨーレートに基づいて、前記右駆動輪と前記左駆動輪との間に発生させるべき速度差又は前記速度差の変化率を演算する処理を実行させ、
     前記第1制駆動トルク及び前記第2制駆動トルクをそれぞれ制御することにより前記移動体の前後進及びスリップ抑制を行う処理を実行させ、
     前記速度差又は前記速度差の変化率に基づいて前記第1制駆動トルク及び前記第2制駆動トルクをそれぞれ制御することにより前記移動体の旋回を行う処理を実行させる
     プログラム。
PCT/JP2023/017024 2022-05-31 2023-05-01 移動体の制御装置、プログラム WO2023233905A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-089041 2022-05-31
JP2022089041 2022-05-31

Publications (1)

Publication Number Publication Date
WO2023233905A1 true WO2023233905A1 (ja) 2023-12-07

Family

ID=89026404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/017024 WO2023233905A1 (ja) 2022-05-31 2023-05-01 移動体の制御装置、プログラム

Country Status (1)

Country Link
WO (1) WO2023233905A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07223520A (ja) * 1994-02-10 1995-08-22 Toyota Motor Corp 車両の旋回挙動制御装置
JP2003160042A (ja) * 2001-11-27 2003-06-03 Mitsubishi Electric Corp 車両用旋回制御装置および操舵限界判定法
JP2006074974A (ja) * 2004-09-06 2006-03-16 Nissan Motor Co Ltd 電動車両
JP2010081720A (ja) * 2008-09-25 2010-04-08 Mazda Motor Corp 車両用駆動力制御装置
JP2011115006A (ja) * 2009-11-30 2011-06-09 Kanzaki Kokyukoki Manufacturing Co Ltd 乗用型対地作業車両

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07223520A (ja) * 1994-02-10 1995-08-22 Toyota Motor Corp 車両の旋回挙動制御装置
JP2003160042A (ja) * 2001-11-27 2003-06-03 Mitsubishi Electric Corp 車両用旋回制御装置および操舵限界判定法
JP2006074974A (ja) * 2004-09-06 2006-03-16 Nissan Motor Co Ltd 電動車両
JP2010081720A (ja) * 2008-09-25 2010-04-08 Mazda Motor Corp 車両用駆動力制御装置
JP2011115006A (ja) * 2009-11-30 2011-06-09 Kanzaki Kokyukoki Manufacturing Co Ltd 乗用型対地作業車両

Similar Documents

Publication Publication Date Title
JP6414044B2 (ja) 車両の駆動力制御装置
US8180541B2 (en) Drive and braking force control device for vehicle
US20160214486A1 (en) Control device for electric vehicle
US20090012686A1 (en) Braking-Driving Force Control Device of Vehicle
CN107848526B (zh) 车辆转弯控制装置
JP5883489B1 (ja) 車両の制御装置及び車両の制御方法
JP6440971B2 (ja) 左右独立駆動車のトラクション制御機能付き駆動制御装置
JP2018039346A (ja) 車両の旋回制御装置
JP2010081720A (ja) 車両用駆動力制御装置
JP2007209068A (ja) 電動車両の駆動力制御装置、自動車及び電動車両の駆動力制御方法
JPH10295004A (ja) 電気自動車用駆動制御装置
WO2019059131A1 (ja) 車両制御装置
JP3451912B2 (ja) 電気自動車用駆動制御装置
JP4423961B2 (ja) 電動車両のモータ出力制御装置
JP4961751B2 (ja) 車両の駆動力配分装置
WO2023233905A1 (ja) 移動体の制御装置、プログラム
JP2015023753A (ja) 車両挙動制御装置及び車両挙動制御方法
WO2023233904A1 (ja) 移動体の制御装置、プログラム
WO2023233903A1 (ja) 移動体の制御装置、プログラム
US20230365001A1 (en) Control Method and Control Device for Electric Four-Wheel Drive Vehicle
WO2016125686A1 (ja) 車両の制駆動トルク制御装置
WO2023037869A1 (ja) 移動体、プログラム
JP2022020345A (ja) 車両の制御装置
JP2016111779A (ja) 車両駆動力制御装置
JP2016101847A (ja) 車両の駆動力制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23815666

Country of ref document: EP

Kind code of ref document: A1