"三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を前記三相交流モータに印加することにより、前記三相交流モータの回転を制御するモータ制御装置であって、前記三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算手段と、前記三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、前記三相交流モータに電圧が印加される6つの非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、それぞれ前記三相交流モータに流れる電流のベクトルが、前記ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で前記指令電流に最も近い電流ベクトルを選択する電流ベクトル選択手段と、前記選択手段によって選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算手段と、前記ゼロベクトル電流と前記非ゼロベクトル電流とのうちで、前記指令電流に近い電流を選択する電流選択手段と、を備え、前記電流選択手段によって選択された電流に対応するスイッチングモードを、前記インバータのスイッチングモードとして決定することを特徴とするモータ制御装置。前記非ゼロベクトル電流演算手段は、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させたときに、当該非ゼロベクトルスイッチングモードに応じた電圧が前記三相交流モータに印加されることによって生じる電流を算出し、この算出した電流を、前記ゼロベクトル電流演算手段によって演算された前記ゼロベクトル電流に加算することにより、前記非ゼロベクトル電流を演算することを特徴とする請求項1に記載のモータ制御装置。前記選択非ゼロベクトル電流演算手段は、前記非ゼロベクトルスイッチングモードにて前記インバータを動作させたとき、当該インバータにより、前記三相交流モータに印加される電圧の大きさを一定とみなして、前記三相交流モータに生じる電流を算出することを特徴とする請求項2に記載のモータ制御装置。三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を前記三相交流モータに印加することにより、前記三相交流モータの回転を制御するモータ制御方法であって、前記三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算ステップと、前記三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、前記三相交流モータに電圧が印加される6つの非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、それぞれ前記三相交流モータに流れる電流のベクトルが、前記ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で前記指令電流に最も近い電流ベクトルを選択する電流ベクトル選択ステップと、前記選択ステップにおいて選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算ステップと、前記ゼロベクトル電流と前記非ゼロベクトル電流とのうちで、前記指令電流に近い電流を選択する電流選択ステップと、を備え、電流選択ステップにおいて選択された電流に対応するスイッチングモードを、前記インバータのスイッチングモードとして決定することを特徴とするモータ制御方法。前記非ゼロベクトル電流演算ステップでは、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させたときに、当該非ゼロベクトル電圧スイッチングモードに応じた電圧が前記三相交流モータに印加されることによって生じる電流が算出され、この算出した電流を、前記ゼロベクトル電流演算ステップにおいて演算された前記ゼロベクトル電流に加算することにより、前記非ゼロベクトル電流が演算されることを特徴とする請求項4に記載のモータ制御方法。前記選択非ゼロベクトル電流演算ステップでは、前記非ゼロベクトルスイッチングモードにて前記インバータを動作させたとき、当該インバータにより、前記三相交流モータに印加される電圧の大きさを一定とみなして、前記三相交流モータに生じる電流が算出されることを特徴とする請求項5に記載のモータ制御方法。上述した特許文献1及び特許文献2に開示された技術では、いずれも、インバータの全てのスイッチングモード全ての電圧ベクトルに対して、モータに流れるであろう未来の電流を予測し、指令電流との誤差が最小となる電流を生じさせるスイッチングモードを選択するようにしている。このため、モータを駆動するインバータのスイッチングモードを決定するための演算処理負荷が増大するという問題がある。特に、モータモデルとして、インダクタンスLや、鎖交磁束数φの非線形性や、外乱を考慮した複雑なモデルを構築した場合、この問題はより深刻なものとなる。さらに、上記の演算処理は、モータの制御周期以内に完了する必要がある。ここで、モータの制御周期は、例えば、上述した三角波比較PWM制御の位相分解能と同等とするためには、数μs程度に設定することが望まれる。このため、上記演算処理をハードウエアにより実現しようとする場合、シリアル処理では時間的に間に合わなくなる虞があるため、多数の演算器によりパラレル処理を行ったり、または、回転速度や電流などの状態量を入力として、スイッチングモードを決定する多次元の状態空間マップスイッチングモードのテーブルを用意したりする必要があり、回路規模が拡大するという問題が生じる。また、演算処理をソフトウエアにより実現しようとする場合には、処理速度に優れた高性能なマイコンなどが必要となり、コストの増加を招くという問題が生じる。本発明は、上述した点に鑑みてなされたものであり、モータを駆動するインバータのスイッチングモードを決定するための演算処理負荷を大幅に低減することが可能なモータ制御装置及びモータ制御方法を提供することを目的とする。上記目的を達成するために、請求項1に記載のモータ制御装置は、三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を三相交流モータに印加することにより、三相交流モータの回転を制御するものであって、三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算手段と、三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、三相交流モータに電圧が印加される6つの非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、それぞれ三相交流モータに流れる電流のベクトルが、ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で指令電流に最も近い電流ベクトルを選択する電流ベクトル選択手段と、選択手段によって選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算手段と、ゼロベクトル電流と非ゼロベクトル電流とのうちで、指令電流に近い電流を選択する電流選択手段と、を備え、電流選択手段によって選択された電流に対応するスイッチングモードを、インバータのスイッチングモードとして決定することを特徴とする。すなわち、請求項1に記載のモータ制御装置では、αβ静止座標系において、インバータの6つの非ゼロベクトルスイッチングモードにより印加される電圧に応じて、それぞれ三相交流モータに流れる電流のベクトルが、ゼロベクトル電流に対して固定した方向に定められるという点に着目した。このようにゼロベクトル電流を基準として、各電流のベクトルの向きが定められるので、それらの電流の値そのものが算出されていなくても、指令電流を同じ座標系にプロットした場合に、指令電流と最も近くなる電流のベクトルを判別することができる。このような観点で、電流ベクトル選択手段は、電流ベクトルの中で指令電流に最も近い電流ベクトルを選択する。そして、非ゼロベクトル電流演算手段において、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する。このため、すべての非ゼロベクトルスイッチングモードに対応して、三相交流モータを流れると予測される電流を演算する必要がなく、演算処理負荷を大幅に低減することができる。なお、非ゼロベクトル電流は、電流選択手段により、ゼロベクトル電流と、どちらが指令電流に近いかを評価され、指令電流により近い電流が選択される。電流ベクトルの状態では、その電流ベクトルによる非ゼロベクトル電流と、ゼロベクトル電流との間で、どちらがより指令電流に近いかを判断することはできないためである。請求項2に記載したように、非ゼロベクトル電流演算手段は、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させたときに、当該非ゼロベクトルスイッチングモードに応じた電圧が三相交流モータに印加されることによって生じる電流を算出し、この算出した電流を、ゼロベクトル電流演算手段によって演算されたゼロベクトル電流に加算することにより、非ゼロベクトル電流を演算することが好ましい。特許文献1,2に記載されているように、数時刻先に三相交流モータを流れると予測される電流は、例えば下記の数式1を離散化することにより得られる数式2により演算することができる。なお、上記数式1において、id、iqは、それぞれd軸電流、q軸電流であり、Raは巻線抵抗であり、Ld,Lqは、それぞれd軸インダクタンス、q軸インダクタンスであり、vd、vqは、それぞれd軸電圧、q軸電圧であり、ωは、モータ回転角速度であり、φは鎖交磁束数である。上記数式2において、左辺は、予測電流id、iqである。右辺第1項は、現在電流idn、iqnに係数Aを乗じた項であり、主として現在電流に基づいて定まる。右辺第2項は、インバータ電圧vdn、vqnに係数Bを乗じた項であり、主としてインバータ電圧によって定まる。右辺第3項Fは、モータの速度起電力によって生じる電流を算出するための項である。また、係数A,Bは、巻線抵抗、インダクタンス、モータ回転角速度などからなる係数行列である。このように、予測電流は、主として、現在電流、インバータ電圧によって生じる電流、及びモータの速度起電力によって生じる電流から求めることができる。ここで、ゼロベクトル電流は、インバータ電圧がゼロであるときの電流であるため、現在電流と、モータの速度起電力による電流とに基づいて演算することができる。そして、非ゼロベクトル電流は、インバータ電圧によって生じる電流を算出し、これをゼロベクトル電流と加算することで算出できる。このようにすれば、非ゼロベクトル電流を算出する際に、現在電流に基づいて算出される第1項、及びモータの速度起電力によって生じる電流を算出するための第3項についてあらためて算出する必要がないので、演算負荷をさらに低減することができる。請求項3に記載したように、非ゼロベクトル電流演算手段は、非ゼロベクトルスイッチングモードにてインバータを動作させたとき、当該インバータにより、三相交流モータに印加される電圧の大きさを一定とみなして、三相交流モータに生じる電流を算出するようにしても良い。例えば、インバータに比較的大容量のコンデンサを接続するなどして、インバータへの入力電圧の大きさを略一定に保つように構成した場合、モータの回転角を考慮するだけで、インバータ電圧によって生じる電流を算出することができ、より演算処理を簡便にすることができる。請求項4~6に記載のモータ制御方法は、それぞれ、上述した請求項1~3のモータ制御装置と同様の特徴を備えるもので、作用効果については共通するため、説明を省略する。第1実施形態以下、本発明の第1実施形態によるモータ制御装置及びモータ制御方法について、図に基づいて説明する。図1は、本実施形態によるモータ制御装置の全体構成を示すブロック図である。本実施形態によるモータ制御装置30の制御対象となるモータ10は、三相U相、V相、W相の固定子巻線、及び永久磁石からなる回転子を有する同期モータである。本実施形態では、特に、同期モータ10として、回転子の内部に永久磁石を埋め込んだ構造を持つ回転界磁形式の同期モータIPMSMを採用している。図1において、モータ10は、インバータ12を介して電源14に接続されている。インバータ12は、モータ10のU相、V相、W相に対応して、それぞれ対をなしている6個のスイッチング素子例えば、IGBTから構成されている。つまり、インバータ12においては、対をなす高電位側及び低電位側のスイッチング素子が、モータ10の各相ごとに設けられ、その高電位側及び低電位側のスイッチング素子同士の接続線が、モータ10の各相に接続されている。なお、各スイッチング素子には、保護ダイオードがそれぞれ接続されている。このインバータ12の各スイッチング素子に対して、モータ制御装置30が操作信号gup、gun、gvp、gvn、gwp、gwnを出力することにより、インバータ12の各スイッチング素子のオンオフ状態が制御される。この結果、インバータ12は種々のスイッチングモードにて動作する。なお、このスイッチングモードは、電圧ベクトルと呼ばれることもある。ここで、インバータ12のスイッチングモードについて、図2を参照しつつ説明する。インバータ12のスイッチングモードは、図2に示すように、8種類ある。ただし、スイッチングモードV0とスイッチングモードV7では、モータ10の各相の低電位側のスイッチング素子もしくは高電位側のスイッチング素子のみがオンされる。このため、スイッチングモードV0,V7は、ともに、モータ10に電圧が印加されないモードである。従って、スイッチングモードV0、V7は、いずれか一方のスイッチングモードのみを使用するようにしても良いし、切換前のインバータ12のスイッチングモードなどに応じて、任意に選択して使用するようにしても良い。なお、スイッチングモードV0とV7を、ゼロベクトルスイッチングモードと呼ぶ。一方、スイッチングモードV0,V7以外の残りのスイッチングモードV1~V6では、高電位側と低電位側の双方にオン状態となるスイッチング素子が存在する。このため、スイッチングモードV1~V6では、オン状態となるスイッチング素子に応じたベクトルを持った電圧がモータ10に印加され、その印加電圧に応じた電流がモータ10に流れる。このため、スイッチングモードV1~V6を総称して、非ゼロベクトルスイッチングモードと呼ぶ。電源14と並列に、インバータ12への入力電圧を検出する電圧センサ16が設けられている。この電圧センサ16によって検出されたインバータ入力電圧Vdcは、モータ制御装置30に与えられる。さらに、モータ10の回転角回転子の磁極位置θを検出する回転角センサ18、及びモータ10の各相U相、V相、W相に流れる電流Iu,Iv,iwを検出する電流センサ20が設けられている。これらの回転角センサ18及び電流センサ20によって検出された検出信号も、モータ制御装置30に与えられる。次に、モータ制御装置30の内部構成について説明する。このモータ制御装置30は、図1に示す各ブロックによる機能を専用の演算器によって構成することも可能であるし、マイコンにおいて実行される各種のプログラムにより、図1の各ブロックの機能を実現することも可能である。電流センサ20によって検出されたモータ10の各相の電流検出値は、αβ変換部32に入力され、αβ座標におけるα軸電流値iαとβ軸電流値iβに変換される。なお、電流センサ20は、3相すべての電流を検出する必要はなく、少なくとも2相の電流を検出すれば、α軸電流値iαとβ軸電流値iβへの変換を行うことが可能である。αβ変換部32から出力されるα軸電流値iα及びβ軸電流値iβは、dq変換部34に入力される。このdq変換部34は、回転角センサ18によって検出されるモータ回転角θに基づいて、α軸電流値iα及びβ軸電流値iβを、dq座標におけるd軸電流値id及びq軸電流値iqに変換して、予測電流演算部42に出力する。ここで、公知のように、dq座標は、例えば、回転子のS極からN極に向かう方向をd軸とし、そのd軸に垂直なq軸によって定義される回転座標であり、αβ座標は、回転子の回転軸を原点として、相互に直交するα軸及びβ軸によって定義される静止座標である。これらdq回転座標とαβ回転座標との間では、モータ回転角θにより、dq回転座標とαβ静止座標との相対的な位相関係が特定できるので、相互に座標変換を行うことができる。回転角センサ18によって検出されたモータ回転角θは、上述したdq変換部34の他、回転角速度算出部36、dq変換部40、及びdq逆変換部44にも入力される。回転角速度算出部36は、モータ回転角θを微分処理して、モータ回転角速度ωを算出する。電圧センサ16によって検出されたインバータ入力電圧Vdcは、V1-V6算出部38に入力される。さらに、このV1-V6算出部38には、後述する非ゼロベクトル特定部48から、電流指令値にもっとも近い電流ベクトルに応じた非ゼロベクトルスイッチングモードVkが入力される。V1-V6算出部38は、入力されたインバータ入力電圧Vdc及び非ゼロベクトルスイッチングモードVkに基づいて、その非ゼロベクトルスイッチングモードVkにてインバータ12を作動させたときに、モータ10に印加されることが予測されるベクトル電圧を、α軸電圧値Vα及びβ軸電圧値Vβとして算出する。V1-V6算出部38によって算出されたα軸電圧値Vα及びβ軸電圧値Vβは、dq変換部40に入力される。このdq変換部40は、回転角センサ18によって検出されるモータ回転角θに基づいて、α軸電圧値Vα及びβ軸電圧値Vβを、dq座標におけるd軸電圧値Vd及びq軸電圧値Vqに変換して、予測電流演算部42に出力する。予測電流演算部42では、モータ回転角速度ω、現在のモータ電流を示すd軸電流値id及びq軸電流値iq、及び非ゼロベクトルスイッチングモードVkが選択されたときのインバータ電圧ベクトル電圧を示すd軸電圧値Vd及びq軸電圧値Vqに基づいて、上述した数式2を用いて、未来の、すなわち1制御周期先の予測電流を算出する。なお、この予測電流演算部42は、まず、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ωと、現在のモータ電流を示すd軸電流値id及びq軸電流値iqとに基づいて、ゼロベクトルスイッチングモードV0V7にてインバータ12を動作させたときに、モータ10に流れることが予測されるゼロベクトル電流Id0、Iq0を算出する。このゼロベクトル電流Id0、Iq0は、dq逆変換部44及び評価部50に出力される。評価部50では、後に、予測電流演算部42から出力される非ゼロベクトル電流Idk、Iqkと、いずれが指令電流Id、Iqに近いかを評価するために、その評価時まで、ゼロベクトル電流Id0、Iq0を保存しておく。電流指令生成部46は、トルク指令値T又は、速度指令値に基づいて、d軸電流指令値Id及びq軸電流指令値Iqを算出して、dq逆変換部44及び評価部50に出力する。dq逆変換部44は、回転角センサ18によって検出されるモータ回転角θに基づいて、入力されたdq座標上の電流値を、αβ座標上の電流値に逆変換するものである。具体的には、dq逆変換部44は、dq座標上のゼロベクトル電流Id0,Iq0を、αβ座標上のゼロベクトル電流Iα0、Iβ0に逆変換するとともに、dq座標上の電流指令値Id、Iqを、αβ座標上の電流指令値Iα、Iβに逆変換する。非ゼロベクトル特定部48には、dq逆変換部44から、αβ座標上のゼロベクトル電流Iα0,Iβ0と、電流指令値Iα、Iβとが入力される。非ゼロベクトル特定部48は、これら、ゼロベクトル電流Iα0,Iβ0と、電流指令値Iα、Iβとに基づいて、電流指令値Iα、Iβに最も近い電流ベクトルIveckを特定する。ここで、非ゼロベクトル特定部48において、電流指令値Iα、Iβに最も近い電流ベクトルIveckを特定するための手法を、図3及び図4を用いて説明する。図3は、αβ座標系において、ゼロベクトル電流Iα0、Iβ0を原点とする、ΔIα軸、ΔIβ軸を引いた場合に、電流指令値Iα、Iβが、第1象限Q1~第4象限Q4のいずれに属するかを示したものである。この図3に示すように、本実施形態では、まず、電流指令値Iα、Iβが、第1象限Q1~第4象限Q4のいずれに属するかを判定する象限判定を行う。具体的には、電流指令値Iα、Iβからゼロベクトル電流Iα0、Iβ0を減算し、その減算結果のα軸電流値及びβ軸電流値の符合から、電流指令値Iα、Iβがいずれの象限に属するかを判定する。なお、図3には、電流指令値Iα、Iβが、第1象限Q1に属する例を示している。続いて、図4に示すように、電流指令値Iα、Iβが属する象限を通る電流ベクトルの中から、電流指令値Iα、Iβに最も近い電流ベクトルIveckを選択する。ここで、図4に示すように、αβ座標系においては、インバータ12の6つの非ゼロベクトルスイッチングモードV1~V6によりモータ10に印加される電圧に応じて、それぞれモータ10に流れる電流のベクトルIvec1~Ivec6が、ゼロベクトル電流Iα0、Iβ0に対して固定した方向に定められる。このため、各スイッチングモードV1~V6により、それぞれモータ10に流れる電流の値そのものが算出されていなくても、電流指令値Iα、Iβと最も近くなる電流のベクトルIveckを判別することができる。図4に示す例においては、電流指令値Iα、Iβは第1象限にあり、その第1象限を通る電流ベクトルは、Ivec1及びIvec2である。電流指令値Iα、Iβが、いずれの電流ベクトルIvec1、Ivec2に近いかは、例えば、電流ベクトルIvec1とIvec2との、ちょうど中間を通る直線y1=0.577xよりも上にあるか下にあるかにより判定することができる。図4に示す例では、電流指令値Iα、Iβは、直線y1=0.577xよりも上にあるので、最も近い電流ベクトルはIvec1であると判定される。なお、電流指令値Iα、Iβが他の象限に属する場合も、上述したのと同様の手順で、最も近い電流ベクトルIveckを特定することができる。ただし、電流ベクトルIvec1~Ivec6の中で、電流指令値Iα、Iβに最も近い電流ベクトルIveckを特定することはできても、電流ベクトルのままでは、特定された電流ベクトルIveckによる電流値と、ゼロベクトル電流とのいずれが、より電流指令値Iα、Iβに近いかを判断することは困難である。そのため、特定された電流ベクトルIveckによる電流値を算出すべく、非ゼロベクトル特定部48は、電流ベクトルIveckに応じた非ゼロベクトルスイッチングモードVkをV1-V6算出部38に出力する。すると、上述したように、V1-V6算出部38は、入力された非ゼロベクトルスイッチングモードVkにてインバータ12を作動させたときに、モータ10に印加されることが予測されるインバータ電圧ベクトル電圧Vα、Vβを算出する。そして、この算出されたインバータ電圧Vα、Vβは、dq変換部40によりdq座標変換され、予測電流演算部42に入力される。すると、予測電流演算部42は、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ω、現在のモータ電流を示すd軸電流値id及びq軸電流値iq、及び非ゼロベクトルスイッチングモードVkが選択されたときのインバータ電圧ベクトル電圧を示すd軸電圧値Vd及びq軸電圧値Vqに基づいて、非ゼロベクトルスイッチングモードVkによりインバータ12を動作させたときに、モータ10に流れると予測される非ゼロベクトル電流Idk、Iqkを算出する。この算出された非ゼロベクトル電流Idk、Iqkは、評価部50に出力される。なお、予測電流演算部42において、ゼロベクトル電流Id0、Iq0を算出するときと、非ゼロベクトル電流Idk、Iqkを算出するときとで、同じモータ回転角速度ωと、d軸電流値id及びq軸電流値iqが用いられる。評価部50では、ゼロベクトル電流Id0、Iq0と、非ゼロベクトル電流Idk,Iqkとのどちらが、電流指令値Id、Iqに対して、より誤差が小さいかを評価する。誤差の小さい方が、電流指令値Id、Iqにより近いため、その誤差の小さいベクトル電流に対応するスイッチングモードを、最適スイッチングモードV0V7又はVkとして決定し、操作部52に出力する。操作部52は、評価部50から入力された最適スイッチングモードV0又はVkに従い、その最適スイッチングモードV0又はVkにてインバータ12を動作させるべく、操作信号を生成して出力する。次に、上述したモータ制御装置30において実行されるモータ制御のための処理の流れについて、図5のフローチャートに基づいて説明する。なお、図5のフローチャートに示す処理は、所定の制御周期毎に繰り返し実行される。まず、ステップS100において、電流センサ20から、U相及びW相の電流検出値Iu,Iwを入力し、電圧センサ16からインバータ入力電圧Vdcを入力し、回転角センサ18からモータ回転角θを入力する。さらに、モータ回転角θからモータ回転角速度ωを算出する。続くステップS110では、入力された電流検出値Iu、Iwを、αβ座標におけるα軸電流値iαとβ軸電流値iβに変換する。さらに、ステップS120において、α軸電流値iα及びβ軸電流値iβが、モータ回転角θに基づき、dq座標におけるd軸電流値id及びq軸電流値iqに変換される。ステップS130では、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ωと、現在のモータ電流を示すd軸電流値id及びq軸電流値iqとに基づいて、上記数式2を用いて、ゼロベクトル電流Id0、Iq0を算出する。そして、ステップS140において、dq座標上のゼロベクトル電流Id0,Iq0を、αβ座標上のゼロベクトル電流Iα0、Iβ0に逆変換するとともに、dq座標上の電流指令値Id、Iqを、αβ座標上の電流指令値Iα、Iβに逆変換する。ステップS150では、αβ座標系において、ゼロベクトル電流Iα0,Iβ0と、電流指令値Iα、Iβとに基づき、電流指令値Iα、Iβに最も近い非ゼロ電流ベクトルIveckを決定し、この非ゼロ電流ベクトルIveckに応じて予測すべき非ゼロベクトルスイッチングモードVkを特定する。そして、ステップS160の処理にて、非ゼロベクトルスイッチングモードVkによるVd,Vqを算出し、ステップS170において、特定した非ゼロベクトルスイッチングモードVkによりインバータ12を動作させたときに、モータ10に流れると予測される非ゼロベクトル電流Idk、Iqkを算出する。ステップS180では、電流指令値Id、Iqとゼロベクトル電流Id0、Iq0との誤差ΔIdq0と、電流指令値Id、Iqと非ゼロベクトル電流Idk、Iqkとの誤差ΔIdqkとを比較する。そして、誤差が小さいベクトル電流に対応するスイッチングモードを、最適スイッチングモードV0V7又はVkとして決定する。そして、ステップS190では、ステップS180にて決定された最適スイッチングモードに対応する操作信号をインバータ12に出力する。以上、説明したように、αβ座標系において、インバータ12の6つの非ゼロベクトルスイッチングモードV1~V6により印加される電圧に応じて、それぞれモータ10に流れる電流のベクトルIvec1~Ivec6が、ゼロベクトル電流Iα0、Iβ0に対して固定した方向に定められる。本実施形態によるモータ制御装置では、その点に着目し、それら電流ベクトルIvec1~Ivec6の中から、指令電流値Iα、Iβに最も近い電流ベクトルIveckを特定する。そして、特定した電流ベクトルIveckに応じた非ゼロベクトルスイッチングモードVkにてインバータ12を動作させた場合に、モータ10を流れると予測される非ゼロベクトル電流Idk、Iqkのみを演算するようにした。このため、すべての非ゼロベクトルスイッチングモードV1~V6に対応して、モータ10を流れると予測される電流を演算する必要がなく、演算処理負荷を大幅に低減することが可能となる。第2実施形態次に、本発明の第2実施形態によるモータ制御装置及びモータ制御方法について、図6を参照しつつ説明する。なお、第1実施形態によるモータ制御装置と同様の構成については、同じ参照番号を付与することにより、説明を省略する。上述した第1実施形態によるモータ制御装置では、予測電流演算部42が、ゼロベクトル電流Id0,Iq0を演算するときと、非ゼロベクトル電流Idk、Iqkを演算するときとで、同じ数式2を用いていた。しかしながら、ゼロベクトル電流Id0、Iq0を演算する際には、インバータ電圧Vd,Vqはそれぞれゼロであるため、数式2における右辺第2項のインバータ電圧Vd,Vqに関する項は不要である。また、非ゼロベクトル電流Idk,Iqkを演算する際には、数式2における右辺第2項以外の、右辺第1項及び右辺第3項は、ゼロベクトル電流と同等である。従って、第1実施形態のように、ゼロベクトル電流Id0,Iq0を演算するための数式と、非ゼロベクトル電流Idk、Iqkを演算するための数式とが同一であると、それぞれ不要な項目が含まれ、不要な演算処理を行うことになってしまう。そのため、本実施形態によるモータ制御装置30Aでは、予測電流演算部を、ゼロベクトル電流Id0、Iq0を演算するための第1演算部43Aと、非ゼロベクトル電流Idk,Iqkを算出するために必要なインバータ電圧に関する項を演算するための第2演算部43Bとに分けた。具体的には、第1演算部43Aは、以下の数式3に従って、ゼロベクトル電流Id0、Iq0を算出する。また、第2演算部43Bは、以下の数式4に従って、インバータ電圧Vd,Vqにより生じる電流を算出する。さらに、第1演算部43Aによる演算結果Id0、Iq0と、第2演算部43Bによる演算結果Idv,Iqvとを加算する加算部45を設け、この加算部45により非ゼロベクトル電流Idk,Iqkを出力させるようにした。非ゼロベクトル電流Idk,Iqkを算出する上で、現在電流に関する項と、モータの速度起電力に関する項は、ゼロベクトル電流Id0,Iq0と共通であるためである。上記のような構成を採用したことにより、本実施形態によれば、ゼロベクトル電流Id0,Iq0及び非ゼロベクトル電流Idk,Iqkの演算を無駄なく、効率的に行うことができ、より演算処理負荷を低減することができる。第3実施形態次に、本発明の第3実施形態によるモータ制御装置及びモータ制御方法について、図7を参照しつつ説明する。なお、第1実施形態及び第2実施形態によるモータ制御装置と同様の構成については、同じ参照番号を付与することにより、説明を省略する。上述した第1及び第2実施形態によるモータ制御装置30、30Aでは、非ゼロベクトル電流Idk,Iqkを演算する際に、まずV1-V6算出部38において、非ゼロベクトルスイッチングモードVkにてインバータを動作させたとき、モータ10に印加されるインバータ電圧Vα、Vβを算出し、これを、モータ回転角θに基づき、dq座標におけるインバータ電圧Vd、Vqに座標変換していた。しかしながら、例えば図7に示すように、インバータ12に比較的大容量のコンデンサ17を接続するなどして、インバータ12への入力電圧の大きさを略一定に保つように構成した場合、インバータ12への入力電圧Vdcを考慮する必要がなくなる。従って、この場合、図7に示すように、予測電流演算部の第2演算部43Cが、非ゼロベクトルスイッチングモードVkによりインバータ12を動作させたとき、モータ10に印加される電圧によって生じる電流Idv,Iqvを、モータ回転角θだけを考慮して算出することができる。このため、第2実施形態によるモータ制御装置30Aに対して、電圧センサ16を削減できるとともに、さらに演算処理負荷の低減を図ることができる。なお、予測電流演算部の第2演算部43Cでは、数式を用いて、モータ10に印加される電圧によって生じる電流Idv,Iqvを算出しても良いし、例えばモータ回転角θに応じた電流Idv,Iqvをまとめた1次元マップをあらかじめ用意しておき、そのマップから該当する電流Idv,Iqvを選択するようにしても良い。以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。例えば、上述した第1実施形態~第4実施形態では、1周期制御先の最適スイッチングモードを決定するものとして説明したが、例えば特許文献2に記載のように、2周期制御先の最適スイッチングモードを決定する際にも、本発明は適用可能なものである。また、予測電流演算部で用いる、予測式に含まれる巻線抵抗値やインダクタンス値等のモータパラメータや離散時間の値などを動的に変化させるように構成しても良い。"