"関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを制御する制御装置であって、前記三相に対応した3組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、3つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する3つのチャージポンプと、外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、各前記チャージポンプの充電量を特定し、前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定し、選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出し、前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき1つの前記組み合わせを選択し、選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する制御部と、を備える、制御装置。関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを、前記三相に対応した3組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、3つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する3つのチャージポンプと、外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、を有する制御装置により制御する方法であって、a各前記チャージポンプの充電量を特定する工程と、b前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定する工程と、c選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出する工程と、d前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき1つの前記組み合わせを選択する工程と、e選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する工程と、を備える、方法。ロボットにおいて、三相交流モータは比較的高回転で駆動されるため、モータやモータ駆動のための各素子からは熱が発生する。発熱によってロボットが過度に高温になると稼働が制限されるため、三相交流モータの駆動に伴う発熱はなるべく抑えられることが好ましい。他方、ロボットの制御装置コントローラは小型化されることが求められており、発熱の抑制のためにロボットの制御装置が大型化されることは好ましくない。本発明は、上記の課題を解決するためになされたものであり、ロボットの制御装置の大型化を抑制しつつ、三相交流モータの駆動に伴う発熱を抑制することを目的とする。上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。[適用例1]関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを制御する制御装置であって、前記三相に対応した3組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、3つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する3つのチャージポンプと、外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、各前記チャージポンプの充電量を特定し、前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定し、選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出し、前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき1つの前記組み合わせを選択し、選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する制御部と、を備える、制御装置。このロボットの制御装置では、三相交流モータの現在の電流値に基づき、各ハイサイド側スイッチング素子および各ローサイド側スイッチング素子のオン状態およびオフ状態の各組み合わせについて、所定の将来のタイミングにおける予測電流値が算出される。そして、算出された予測電流値と将来のタイミングにおける目標電流値とに基づき、1つの組み合わせが選択され、選択された組み合わせがハイサイド側スイッチング素子駆動回路およびローサイド側スイッチング素子駆動回路に指示される。そのため、このロボットの制御装置では、三相交流モータの電流値が目標電流値により近くなるような高精度高効率な電流制御を実現することができ、ロス電流に伴う三相交流モータ等からの発熱を抑制することができる。また、このロボットの制御装置では、ローサイド側スイッチング素子駆動回路には、従来と同様に、外部電源から電力の供給を受ける制御電源から、切り替え動作のための電力が供給される。一方、ハイサイド側スイッチング素子駆動回路には、3つのハイサイド側スイッチング素子に対応して設けられ3つのチャージポンプから、切り替え動作のための電力が供給される。そのため、ハイサイド側スイッチング素子駆動回路用に変圧器等の電源装置を追加的に設ける必要はなく、チャージポンプを追加するだけで、上述のような高精度高効率なの電流制御を実現することができ、ロボットの制御装置の大型化を抑制することができる。さらに、このロボットの制御装置では、各チャージポンプの充電量が特定され、特定された充電量に基づき各ハイサイド側スイッチング素子および各ローサイド側スイッチング素子のオン/オフ状態の各組み合わせの選択可否が特定され、選択可能な組み合わせの1つが採用される。そのため、ロボットの制御装置の大型化を抑制するためにチャージポンプによりハイサイド側スイッチング素子駆動回路に電力を供給する場合にも、チャージポンプの充電量不足によりハイサイド側スイッチング素子駆動回路への電力供給ができなくなってシステム全体が停止してしまう事態の発生を防止することができる。このように、このロボットの制御装置では、ロボットの制御装置の大型化を抑制しつつ、かつ、システム全体が停止してしまう事態の発生を防止しつつ、高精度高効率な電流制御によって三相交流モータの駆動に伴う発熱を抑制することができる。なお、本発明は、種々の態様で実現することが可能であり、例えば、ロボットの制御装置および制御方法、制御装置とロボットとを備えるロボットシステム、等の態様で実現することができる。次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。A.実施例:A-1.ロボットシステムの構成:A-2.モータの予測制御:A-3.本実施例におけるモータ駆動制御処理:B.変形例:A.実施例:A-1.ロボットシステムの構成:図1は、本発明の実施例におけるロボットシステム10の概略構成を示す説明図である。ロボットシステム10は、ロボット本体100と、ロボット制御装置ロボットコントローラ200と、ロボット教示装置300と、を備えている。ロボット本体100は、複数の関節軸を有する多関節型の産業用ロボットである。ロボット本体100は、工場等の設置場所サイトに固定されるベース部101と、水平方向に旋回可能にベース部101に支持されたショルダ部102と、鉛直方向に旋回可能にショルダ部102に下端が支持された下アーム103と、鉛直方向に旋回可能に下アーム103の先端に略中央部が支持された上アーム104と、鉛直方向に旋回可能に上アーム104の先端に支持された手首105と、を有している。手首105の先端には、手首105の円周方向に回転可能な軸を有するフランジ部106が設けられている。フランジ部106には、例えばワークを把持するエンドエフェクタ107が取り付けられている。また、ロボット本体100は、各関節軸を駆動するサーボモータを有している図2参照。ロボット教示装置300は、接続ケーブル420を介してロボット制御装置200と接続されており、ロボット本体100の動作を教示するために使用される。ロボット制御装置200は、CPUや記憶部を備えるコンピュータとして構成されている。ロボット制御装置200は、制御ケーブル410を介してロボット本体100と接続されていると共に、電源ケーブル430を介してサイトの電源外部電源400図2参照と接続されている。ロボット制御装置200は、ロボット本体100に電力を供給すると共に、ロボット教示装置300から入力された教示データに基づいて、ロボット本体100の各サーボモータを駆動することによりロボット本体100の動作を制御する。また、ロボット制御装置200は、ロボット教示装置300を介して手動による操作指令があった場合には、その指令に応じてロボット本体100の各関節軸を駆動する。図2は、ロボット本体100およびロボット制御装置200の内部構成を示すブロック図である。なお、図2では、ロボット本体100およびロボット制御装置200の内部構成の内、本実施例の説明に関連の少ない構成要素は適宜省略されている。ロボット本体100は、三相交流式のブラシレスDCモータとして構成されたサーボモータ110を有している。サーボモータ110は、図示しない減速機を介して、対応する関節軸を駆動する。なお、サーボモータ110は、実際には、ロボット本体100の有する複数の関節軸に対応して複数設けられているが、以下では、1つの関節軸に対応する1つのサーボモータ110に注目して、サーボモータ110を制御するための構成や制御方法について説明する。他のサーボモータ110を制御するための構成や制御方法については、注目したサーボモータ110についての構成および制御方法と同様である。ロボット本体100は、サーボモータ110の回転軸に接続されたエンコーダ120を有する。エンコーダ120は、サーボモータ110の回転角度を検出し、関節軸の位置を示す位置情報をロボット制御装置200に供給する。ロボット制御装置200は、CPU250と、記憶部260と、ロボット本体100のサーボモータ110を駆動するモータ駆動部210と、を有している。CPU250は、記憶部260に記憶された所定のコンピュータプログラムを読み出して実行することにより、ロボット本体100を制御する制御部252として機能する。制御部252は、ロボット教示装置300図1から取得され記憶部260に記憶された教示データと、エンコーダ120から取得した位置情報と、に基づき、サーボモータ110を駆動するための指令信号をモータ駆動部210に出力する。さらに、制御部252は、教示データと、サーボモータ110の現在の電流値を検出する電流計202からの電流値の情報と、に基づき、サーボモータ110を駆動するための指令信号をモータ駆動部210に出力する。電流値に基づくサーボモータ110の制御については、後に詳述する。ロボット制御装置200には、外部電源400から所定の電圧例えば200ボルトの交流電力が供給される。ロボット制御装置200は、外部電源400からの交流電力を所定の電圧例えば280ボルトの直流電力に変換する整流器270を有する。整流器270による変換後の直流電力は、駆動電源DPとしてモータ駆動部210に供給される。また、ロボット制御装置200は、外部電源400からの交流電力を所定の電圧例えば17ボルトの直流電力に変換するAC/DCコンバータ280を有する。AC/DCコンバータ280による変換後の直流電力は、制御電源CPとしてモータ駆動部210に供給される。また、ロボット制御装置200は、AC/DCコンバータ280の出力を所定の電圧例えば5ボルトの直流電力に変換するDC/DCコンバータ290を有する。DC/DCコンバータ290による変換後の直流電力は、CPU250に供給される。図3は、モータ駆動部210の内部構成を示すブロック図である。上述したように、モータ駆動部210には、駆動電源DPと制御電源CPとが供給されている。モータ駆動部210は、駆動電源DPを三相交流電力に変換してサーボモータ110に供給するインバータ回路220を有している。インバータ回路220は、3つのハイサイド側スイッチング素子221,222,223と、3つのローサイド側スイッチング素子231,232,233と、を含んでいる。各スイッチング素子は、例えば、絶縁ゲートバイポーラトランジスタInsulatedGateBipolarTransisor、略してIGBTにより構成される。計6つのスイッチング素子は、サーボモータ110の三相に対応する3つのスイッチング素子ペア直列に接続されたハイサイド側スイッチング素子とローサイド側スイッチング素子との組を構成している。すなわち、ハイサイド側スイッチング素子221とローサイド側スイッチング素子231とで構成されるペアはサーボモータ110のU相に対応し、ハイサイド側スイッチング素子222とローサイド側スイッチング素子232とで構成されるペアはV相に対応し、ハイサイド側スイッチング素子223とローサイド側スイッチング素子233とで構成されるペアはW相に対応している。3つのスイッチング素子ペアは、駆動電源DPに並列に接続されている。また、3つのスイッチング素子ペアのそれぞれにおける中間点ハイサイド側スイッチング素子とローサイド側スイッチング素子との間の点から、サーボモータ110への電源出力線が取り出されている。モータ駆動部210は、ハイサイド側スイッチング素子221,222,223の切り替え動作オン状態とオフ状態との間の切り替え動作を行うハイサイド側スイッチング素子駆動回路211と、ローサイド側スイッチング素子231,232,233の切り替え動作を行うローサイド側スイッチング素子駆動回路212と、を有している。ハイサイド側スイッチング素子駆動回路211およびローサイド側スイッチング素子駆動回路212は、制御部252からの指令信号図2参照に従い、スイッチング素子の切り替え動作を行う。これにより、駆動電源DPが所望の三相交流電流に変換されてサーボモータ110に供給される。モータ駆動部210は、ハイサイド側スイッチング素子駆動回路211に動作電源を供給するブートストラップ回路240を有している。ブートストラップ回路240は、3つのハイサイド側スイッチング素子221,222,223に対応して設けられた3つのチャージポンプコンデンサ241,242,243を含んでいる。各チャージポンプコンデンサ241,242,243は、ハイサイド側スイッチング素子駆動回路211に、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する。各チャージポンプコンデンサ241,242,243は、制御電源CPに接続されており、対応するハイサイド側スイッチング素子がオフ状態のときには、制御電源CPからの電力供給を受けて充電される。そのため、各チャージポンプコンデンサ241,242,243の充電量電荷の残量は、ハイサイド側スイッチング素子駆動回路211による対応するハイサイド側スイッチング素子をオン状態にする切り替え動作の度に減少し、対応するハイサイド側スイッチング素子がオフ状態のときに増加するただし、フル充電状態のときにはそれ以上増加しない。従って、切り替え動作の履歴によっては、各チャージポンプコンデンサ241,242,243の充電量が、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作を行うのに十分でないレベルまで減少する場合がある。他方、ローサイド側スイッチング素子駆動回路212による切り替え動作のための電力は、制御電源CPから直接供給される。制御電源CPは、外部電源400からの供給電源である図2参照。そのため、外部電源400からの電力供給が途絶えない限り、ローサイド側スイッチング素子駆動回路212が電力の不足によりローサイド側スイッチング素子をオン状態にする切り替え動作を行うことができないという事態は発生しない。A-2.モータの予測制御:上述したように、制御部252図2は、電流計202から得た現在の電流値に基づき、モータ駆動部210を介してサーボモータ110の駆動制御を行う。本実施例では、制御部252による電流値に基づくサーボモータ110の駆動制御は、予測制御を利用して実行される。本実施例の予測制御は、サーボモータ110の現在の電流値に基づき、複数の制御態様を採った場合の所定の将来のタイミングにおける電流値を予測し、算出された予測電流値が将来の目標電流値に最も近い1つの制御態様を選択してサーボモータ110を制御する制御方法である。図4および図5は、サーボモータ110の予測制御の概要を示す説明図である。図4には、サーボモータ110の1つの相の1サイクル1周期の目標電流波形を示している。目標電流波形は、上述した教示データに基づいて算出される。本実施例の予測制御は、図4に示すように、電流波形の1サイクルを第1の分解能で20個の長さR1の期間に分割し、各期間をさらに第1の分解能より細かい第2の分解能で10個の長さR2の期間に分割して得られた期間以下、単位期間とも呼ぶを単位として実行される。単位期間は、任意に設定可能であるが、単位期間を細かく設定すればするほどすなわち、単位期間の長さを短くすればするほど、制御の精度効率が向上する。図4に示すように、制御部252は、電流計202により検出された現在の電流値PPと、インバータ回路220図3に含まれる各スイッチング素子のオン状態およびオフ状態の組み合わせ以下、スイッチングパターンと呼ぶに応じて定まるサーボモータ110への出力電圧と、に基づき、将来の電流値を予測する。電流値を予測する対象の単位期間は、現在の単位期間より後の任意の1つまたは複数の単位期間である。例えば、現在の単位期間の直後の単位期間の電流値NP1のみが予測されるとしてもよいし、現在の単位期間の2つ後の単位期間の電流値NP2のみが予測されるとしてもよいし、現在の単位期間の直後の2つの単位期間の電流値NP1および電流値NP2が予測されるとしてもよい。また、電流値を予測する対象の単位期間は、必ずしも連続した区間である必要はない。予測制御における予測を行う単位期間は、要求される制御の精度やユーザの指示に応じて適宜選択される。ここで、インバータ回路220では、直列に接続されたハイサイド側スイッチング素子とローサイド側スイッチング素子とが共にオン状態となるすなわち、短絡状態となるスイッチングパターンは採用できない。従って、インバータ回路220において採り得るスイッチングパターンは、すべてのスイッチング素子がオフ状態となるパターンを含む7種類のパターンである。図5の上段に示すように、各スイッチングパターンに応じて、サーボモータ110への出力電圧は一義的に決まる。制御部252は、この出力電圧と現在の電流値PPとに基づき、下記のモータのモデル式1および2を用いて、各スイッチングパターンに応じた将来のタイミングにおける電流値例えば図4の電流値NP1および電流値NP2を予測する。なお、下式において、ΔTは単位期間の長さ制御周期であり、Rはサーボモータ110の相抵抗であり、LdおよびLqはサーボモータ110のd軸およびq軸に沿ったインダクタンスであり、φは起電力定数であり、ωは電気周波数であり、idnおよびiqnは検出されたd軸およびq軸に沿った現在電流値であり、vdnおよびvqnはサーボモータ110に供給されるd軸およびq軸に沿った電圧値であり、idn1およびiqn1は現在の単位期間の直後の単位期間におけるd軸およびq軸に沿った予測電流値である。また、制御部252は、図5の下段に示すように、将来のタイミングにおける目標電流値と、算出された各スイッチングパターンに対応する予測電流値とに基づき、下記の式3を用いて、予測電流値と目標電流値との近さ誤差の小ささを表す評価関数Jを算出する。なお、下式において、ΔidおよびΔiqは、d軸およびq軸に沿った予測電流値と目標電流値との差分である。制御部252は、最も小さい評価関数Jに対応するスイッチングパターンを選択し、選択されたスイッチングパターンの通りにスイッチング素子の切り替え動作を行うように、モータ駆動部210に指令信号を出力する。モータ駆動部210のハイサイド側スイッチング素子駆動回路211およびローサイド側スイッチング素子駆動回路212は、受け取った指令信号に従い、スイッチング素子の切り替え動作を行う。以上説明したサーボモータ110の予測制御によれば、単純なフィードバック制御を行う従来の制御方法と比較して、サーボモータ110の電流値が目標電流値により近くなるような高精度高効率な電流制御を実現することができ、ロス電流に伴うサーボモータ110等からの発熱を抑制することができる。A-3.本実施例におけるモータ駆動制御処理:上述したように、本実施例では、各チャージポンプコンデンサ241,242,243の充電量が、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作を行うのに十分でないレベルまで減少する場合がある。そのため、各チャージポンプコンデンサ241,242,243の充電量を考慮することなく上述の予測制御を実行すると、サーボモータ110等からの発熱は効果的に抑制することができるものの、ハイサイド側スイッチング素子駆動回路211への電力供給ができなくなってロボットシステム10全体が停止してしまう事態が発生する恐れがある。本実施例では、サーボモータ110等からの発熱は極力抑制しつつ、このような事態の発生を防止するために、以下に説明するモータ駆動制御処理を行っている。図6は、本実施例におけるモータ駆動制御処理の流れを示すフローチャートである。まず、制御部252は、各チャージポンプコンデンサ241,242,243の現在の充電量を特定するステップS110,S120,S130。本実施例では、各チャージポンプコンデンサ241,242,243の初期充電量ロボットシステム10の電源投入時の充電量は、100充電である。また、各チャージポンプコンデンサ241,242,243の充電量は、ハイサイド側スイッチング素子駆動回路211による対応するハイサイド側スイッチング素子の切り替え動作の度に減少し、ハイサイド側スイッチング素子がオフ状態となっているときに増加する。1回の切り替え動作あたりの使用電力量や、ハイサイド側スイッチング素子がオフ状態となっている時間あたりの補充充電量を示す情報は、予め記憶部260に格納されている。制御部252は、初期充電量や、切り替え動作に伴う電力使用量、ハイサイド側スイッチング素子がオフ状態となっているときの補充充電量に基づき、各チャージポンプコンデンサ241,242,243の現在の充電量を特定する。なお、各チャージポンプコンデンサ241,242,243の充電量を実測することにより特定するとしてもよい。次に、制御部252は、特定された各チャージポンプコンデンサ241,242,243の現在の充電量が、所定の充電量の閾値Ct以上であるか否かを判定するステップS140,S150,S160。閾値Ctは、単位期間の長さや予測制御に用いる単位期間の数等に応じて、予め設定される。制御部252は、チャージポンプコンデンサ241,242,243の現在の充電量が閾値Ct以上である場合には、当該チャージポンプコンデンサの使用を許可するステップS170,S180,S190。一方、制御部252は、チャージポンプコンデンサ241,242,243の現在の充電量が閾値Ctより小さい場合には、対応するハイサイド側スイッチング素子の切り替え動作を実行できない可能性があるため、当該チャージポンプコンデンサの使用を不許可とするステップS200,S210,S220。なお、ステップS110からS200までの処理は、例えばFPGAFieldProgrammableGateArrayを用いて各チャージポンプコンデンサ241,242,243について並列に実行されるとしてもよいし、1つのチャージポンプコンデンサ毎に順番に実行されるとしてもよい。制御部252は、設定された各チャージポンプコンデンサ241,242,243の使用の許可/不許可に従い、インバータ回路220における各スイッチングパターンの選択可否を特定するステップS230。具体的には、制御部252は、上述した7種類のスイッチングパターンの内、使用が許可されたチャージポンプコンデンサのみで実現可能なスイッチングパターンを選択可とし、使用が不許可とされたチャージポンプコンデンサの使用を伴うスイッチングパターンを選択不可とする。なお、すべてのスイッチング素子をオフ状態とするスイッチングパターンは、常に選択可能である。次に、制御部252は、上述した予測制御により、選択可とされたスイッチングパターンの中から最適なスイッチングパターンを選択するステップS240。この予測制御の際には、ステップS230で特定された選択可能なスイッチングパターンのみを対象として予測電流値の算出が行われ、選択不可とされたスイッチングパターンについては予測電流値算出の対象外とされる。そのため、制御部252は、各チャージポンプコンデンサ241,242,243の充電量に鑑みて実現可能なスイッチングパターンの中から、予測電流値が目標電流値に最も近くなる最適なスイッチングパターンを選択することができる。制御部252は、選択された最適なスイッチングパターンの通りにスイッチング素子を駆動するように、モータ駆動部210に指令信号を出力するステップS250。モータ駆動部210のハイサイド側スイッチング素子駆動回路211およびローサイド側スイッチング素子駆動回路212は、受け取った指令信号に従い、スイッチング素子を駆動する。その後、制御部252は、処理を終了すべきか否かを判定しステップS260、処理を継続すべき場合には、次の単位期間の開始を待ってステップS270、再度、各チャージポンプコンデンサ241,242,243の充電量の特定S110,120,130以降の処理を繰り返し実行する。以上説明したように、本実施例のロボット制御装置200によるモータ駆動制御処理図6では、サーボモータ110の現在の電流値に基づき、各スイッチングパターンについて、所定の将来のタイミングにおける予測電流値が算出される。そして、算出された予測電流値と将来のタイミングにおける目標電流値とに基づき、1つのスイッチングパターンが選択され、選択されたスイッチングパターンがハイサイド側スイッチング素子駆動回路211およびローサイド側スイッチング素子駆動回路212に指示される。そのため、本実施例では、サーボモータ110の電流値が目標電流値により近くなるような高精度高効率な電流制御を実現することができ、ロス電流に伴うサーボモータ110等からの発熱を抑制することができる。また、本実施例では、ローサイド側スイッチング素子駆動回路212には、外部電源400から電力の供給を受ける制御電源CPから、切り替え動作のための電力が供給される。一方、ハイサイド側スイッチング素子駆動回路211には、3つのハイサイド側スイッチング素子221,222,223に対応して設けられ3つのチャージポンプコンデンサ241,242,243から、切り替え動作のための電力が供給される。そのため、ハイサイド側スイッチング素子駆動回路211用に変圧器等の電源装置を追加的に設ける必要はなく、3つのチャージポンプコンデンサ241,242,243を追加するだけで、上述のような高精度高効率なの電流制御を実現することができ、ロボット制御装置200の大型化を抑制することができる。さらに、本実施例では、各チャージポンプコンデンサ241,242,243の充電量が特定され、特定された充電量に基づき各スイッチングパターンの選択可否が特定され、選択可能なスイッチングパターンの1つが採用される。そのため、ロボット制御装置200の大型化を抑制するためにチャージポンプコンデンサ241,242,243によりハイサイド側スイッチング素子駆動回路211に電力を供給する場合にも、チャージポンプコンデンサ241,242,243の充電量不足によりハイサイド側スイッチング素子駆動回路211への電力供給ができなくなってロボットシステム10全体が停止してしまう事態の発生を防止することができる。以上のように、本実施例のロボットシステム10におけるロボット制御装置200では、ロボット制御装置200の大型化を抑制しつつ、かつ、ロボットシステム10全体が停止してしまう事態の発生を防止しつつ、高精度高効率な電流制御によってロボット本体100の駆動に伴う発熱を抑制することができる。B.変形例:なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。上記実施例におけるロボットシステム10の構成は、あくまで一例であり、種々変形可能である。例えば、上記各実施例では、ロボット本体100は多関節型の産業用ロボットであるとしているが、ロボット本体100が単関節型ロボットであるとしてもよい。また、上記実施例において、サーボモータ110に代えて他の種類の三相交流モータを用いることも可能である。また、上記実施例における各電源の電圧は、種々変形可能である。また、上記実施例では、ブートストラップ回路240はモータ駆動部210に含まれるとしているが、ブートストラップ回路240はモータ駆動部210から独立した構成であるとしてもよい。また、上記実施例において、エンコーダ120による制御が行われることは必須ではない。また、上記実施例において、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよく、その逆も可能である。"