(57)【特許請求の範囲】
【請求項１】
関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを制御する制御装置であって、
前記三相に対応した３組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、
各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、
各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、
３つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する３つのチャージポンプと、
外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、
各前記チャージポンプの充電量を特定し、前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定し、選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出し、前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき１つの前記組み合わせを選択し、選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する制御部と、を備える、制御装置。
【請求項２】
関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを、前記三相に対応した３組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、３つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する３つのチャージポンプと、外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、を有する制御装置により制御する方法であって、
（ａ）各前記チャージポンプの充電量を特定する工程と、
（ｂ）前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定する工程と、
（ｃ）選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出する工程と、
（ｄ）前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき１つの前記組み合わせを選択する工程と、
（ｅ）選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する工程と、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御する制御装置に関する。
【背景技術】
【０００２】
１つまたは複数の関節軸と関節軸を駆動する三相交流モータとを有するロボットが、産業用を始めとした種々の用途で普及している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２２５５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットにおいて、三相交流モータは比較的高回転で駆動されるため、モータやモータ駆動のための各素子からは熱が発生する。発熱によってロボットが過度に高温になると稼働が制限されるため、三相交流モータの駆動に伴う発熱はなるべく抑えられることが好ましい。他方、ロボットの制御装置（コントローラ）は小型化されることが求められており、発熱の抑制のためにロボットの制御装置が大型化されることは好ましくない。
【０００５】
本発明は、上記の課題を解決するためになされたものであり、ロボットの制御装置の大型化を抑制しつつ、三相交流モータの駆動に伴う発熱を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］関節軸と前記関節軸を駆動する三相交流モータとを有するロボットを制御する制御装置であって、
前記三相に対応した３組のハイサイド側スイッチング素子とローサイド側スイッチング素子との組を有し、直流電力を三相交流電力に変換して前記三相交流モータに供給するインバータ回路と、
各前記ハイサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うハイサイド側スイッチング素子駆動回路と、
各前記ローサイド側スイッチング素子のオン状態およびオフ状態の切り替え動作を行うローサイド側スイッチング素子駆動回路と、
３つの前記ハイサイド側スイッチング素子に対応して設けられ、前記ハイサイド側スイッチング素子駆動回路に、対応する前記ハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する３つのチャージポンプと、
外部電源から電力の供給を受け、前記ローサイド側スイッチング素子駆動回路に、各前記ローサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給すると共に、オフ状態の前記ハイサイド側スイッチング素子に対応する前記チャージポンプを充電する制御電源と、
各前記チャージポンプの充電量を特定し、前記充電量に基づき各前記ハイサイド側スイッチング素子および各前記ローサイド側スイッチング素子の状態の各組み合わせの選択可否を特定し、選択可能な前記組み合わせについて前記三相交流モータの現在の電流値に基づき所定の将来のタイミングにおける予測電流値を算出し、前記予測電流値と前記将来のタイミングにおける目標電流値とに基づき１つの前記組み合わせを選択し、選択された前記組み合わせを前記ハイサイド側スイッチング素子駆動回路および前記ローサイド側スイッチング素子駆動回路に指示する制御部と、を備える、制御装置。
【０００８】
このロボットの制御装置では、三相交流モータの現在の電流値に基づき、各ハイサイド側スイッチング素子および各ローサイド側スイッチング素子のオン状態およびオフ状態の各組み合わせについて、所定の将来のタイミングにおける予測電流値が算出される。そして、算出された予測電流値と将来のタイミングにおける目標電流値とに基づき、１つの組み合わせが選択され、選択された組み合わせがハイサイド側スイッチング素子駆動回路およびローサイド側スイッチング素子駆動回路に指示される。そのため、このロボットの制御装置では、三相交流モータの電流値が目標電流値により近くなるような高精度・高効率な電流制御を実現することができ、ロス電流に伴う三相交流モータ等からの発熱を抑制することができる。また、このロボットの制御装置では、ローサイド側スイッチング素子駆動回路には、従来と同様に、外部電源から電力の供給を受ける制御電源から、切り替え動作のための電力が供給される。一方、ハイサイド側スイッチング素子駆動回路には、３つのハイサイド側スイッチング素子に対応して設けられ３つのチャージポンプから、切り替え動作のための電力が供給される。そのため、ハイサイド側スイッチング素子駆動回路用に変圧器等の電源装置を追加的に設ける必要はなく、チャージポンプを追加するだけで、上述のような高精度・高効率なの電流制御を実現することができ、ロボットの制御装置の大型化を抑制することができる。さらに、このロボットの制御装置では、各チャージポンプの充電量が特定され、特定された充電量に基づき各ハイサイド側スイッチング素子および各ローサイド側スイッチング素子のオン／オフ状態の各組み合わせの選択可否が特定され、選択可能な組み合わせの１つが採用される。そのため、ロボットの制御装置の大型化を抑制するためにチャージポンプによりハイサイド側スイッチング素子駆動回路に電力を供給する場合にも、チャージポンプの充電量不足によりハイサイド側スイッチング素子駆動回路への電力供給ができなくなってシステム全体が停止してしまう事態の発生を防止することができる。このように、このロボットの制御装置では、ロボットの制御装置の大型化を抑制しつつ、かつ、システム全体が停止してしまう事態の発生を防止しつつ、高精度・高効率な電流制御によって三相交流モータの駆動に伴う発熱を抑制することができる。
【０００９】
なお、本発明は、種々の態様で実現することが可能であり、例えば、ロボットの制御装置および制御方法、制御装置とロボットとを備えるロボットシステム、等の態様で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例におけるロボットシステム１０の概略構成を示す説明図である。
【図２】ロボット本体１００およびロボット制御装置２００の内部構成を示すブロック図である。
【図３】モータ駆動部２１０の内部構成を示すブロック図である。
【図４】サーボモータ１１０の予測制御の概要を示す説明図である。
【図５】サーボモータ１１０の予測制御の概要を示す説明図である。
【図６】本実施例におけるモータ駆動制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ−１．ロボットシステムの構成：
Ａ−２．モータの予測制御：
Ａ−３．本実施例におけるモータ駆動制御処理：
Ｂ．変形例：
【００１２】
Ａ．実施例：
Ａ−１．ロボットシステムの構成：
図１は、本発明の実施例におけるロボットシステム１０の概略構成を示す説明図である。ロボットシステム１０は、ロボット本体１００と、ロボット制御装置（ロボットコントローラ）２００と、ロボット教示装置３００と、を備えている。
【００１３】
ロボット本体１００は、複数の関節軸を有する多関節型の産業用ロボットである。ロボット本体１００は、工場等の設置場所（サイト）に固定されるベース部１０１と、水平方向に旋回可能にベース部１０１に支持されたショルダ部１０２と、鉛直方向に旋回可能にショルダ部１０２に下端が支持された下アーム１０３と、鉛直方向に旋回可能に下アーム１０３の先端に略中央部が支持された上アーム１０４と、鉛直方向に旋回可能に上アーム１０４の先端に支持された手首１０５と、を有している。手首１０５の先端には、手首１０５の円周方向に回転可能な軸を有するフランジ部１０６が設けられている。フランジ部１０６には、例えばワークを把持するエンドエフェクタ１０７が取り付けられている。また、ロボット本体１００は、各関節軸を駆動するサーボモータを有している（図２参照）。
【００１４】
ロボット教示装置３００は、接続ケーブル４２０を介してロボット制御装置２００と接続されており、ロボット本体１００の動作を教示するために使用される。
【００１５】
ロボット制御装置２００は、ＣＰＵや記憶部を備えるコンピュータとして構成されている。ロボット制御装置２００は、制御ケーブル４１０を介してロボット本体１００と接続されていると共に、電源ケーブル４３０を介してサイトの電源（外部電源）４００（図２参照）と接続されている。ロボット制御装置２００は、ロボット本体１００に電力を供給すると共に、ロボット教示装置３００から入力された教示データに基づいて、ロボット本体１００の各サーボモータを駆動することによりロボット本体１００の動作を制御する。また、ロボット制御装置２００は、ロボット教示装置３００を介して手動による操作指令があった場合には、その指令に応じてロボット本体１００の各関節軸を駆動する。
【００１６】
図２は、ロボット本体１００およびロボット制御装置２００の内部構成を示すブロック図である。なお、図２では、ロボット本体１００およびロボット制御装置２００の内部構成の内、本実施例の説明に関連の少ない構成要素は適宜省略されている。
【００１７】
ロボット本体１００は、三相交流式のブラシレスＤＣモータとして構成されたサーボモータ１１０を有している。サーボモータ１１０は、図示しない減速機を介して、対応する関節軸を駆動する。なお、サーボモータ１１０は、実際には、ロボット本体１００の有する複数の関節軸に対応して複数設けられているが、以下では、１つの関節軸に対応する１つのサーボモータ１１０に注目して、サーボモータ１１０を制御するための構成や制御方法について説明する。他のサーボモータ１１０を制御するための構成や制御方法については、注目したサーボモータ１１０についての構成および制御方法と同様である。
【００１８】
ロボット本体１００は、サーボモータ１１０の回転軸に接続されたエンコーダ１２０を有する。エンコーダ１２０は、サーボモータ１１０の回転角度を検出し、関節軸の位置を示す位置情報をロボット制御装置２００に供給する。
【００１９】
ロボット制御装置２００は、ＣＰＵ２５０と、記憶部２６０と、ロボット本体１００のサーボモータ１１０を駆動するモータ駆動部２１０と、を有している。ＣＰＵ２５０は、記憶部２６０に記憶された所定のコンピュータプログラムを読み出して実行することにより、ロボット本体１００を制御する制御部２５２として機能する。
【００２０】
制御部２５２は、ロボット教示装置３００（図１）から取得され記憶部２６０に記憶された教示データと、エンコーダ１２０から取得した位置情報と、に基づき、サーボモータ１１０を駆動するための指令信号をモータ駆動部２１０に出力する。さらに、制御部２５２は、教示データと、サーボモータ１１０の現在の電流値を検出する電流計２０２からの電流値の情報と、に基づき、サーボモータ１１０を駆動するための指令信号をモータ駆動部２１０に出力する。電流値に基づくサーボモータ１１０の制御については、後に詳述する。
【００２１】
ロボット制御装置２００には、外部電源４００から所定の電圧（例えば２００ボルト）の交流電力が供給される。ロボット制御装置２００は、外部電源４００からの交流電力を所定の電圧（例えば２８０ボルト）の直流電力に変換する整流器２７０を有する。整流器２７０による変換後の直流電力は、駆動電源ＤＰとしてモータ駆動部２１０に供給される。また、ロボット制御装置２００は、外部電源４００からの交流電力を所定の電圧（例えば１７ボルト）の直流電力に変換するＡＣ／ＤＣコンバータ２８０を有する。ＡＣ／ＤＣコンバータ２８０による変換後の直流電力は、制御電源ＣＰとしてモータ駆動部２１０に供給される。また、ロボット制御装置２００は、ＡＣ／ＤＣコンバータ２８０の出力を所定の電圧（例えば５ボルト）の直流電力に変換するＤＣ／ＤＣコンバータ２９０を有する。ＤＣ／ＤＣコンバータ２９０による変換後の直流電力は、ＣＰＵ２５０に供給される。
【００２２】
図３は、モータ駆動部２１０の内部構成を示すブロック図である。上述したように、モータ駆動部２１０には、駆動電源ＤＰと制御電源ＣＰとが供給されている。モータ駆動部２１０は、駆動電源ＤＰを三相交流電力に変換してサーボモータ１１０に供給するインバータ回路２２０を有している。インバータ回路２２０は、３つのハイサイド側スイッチング素子２２１，２２２，２２３と、３つのローサイド側スイッチング素子２３１，２３２，２３３と、を含んでいる。各スイッチング素子は、例えば、絶縁ゲートバイポーラトランジスタ（Ｉｎｓｕｌａｔｅｄ  Ｇａｔｅ  Ｂｉｐｏｌａｒ  Ｔｒａｎｓｉｓｏｒ、略してＩＧＢＴ）により構成される。
【００２３】
計６つのスイッチング素子は、サーボモータ１１０の三相に対応する３つのスイッチング素子ペア（直列に接続されたハイサイド側スイッチング素子とローサイド側スイッチング素子との組）を構成している。すなわち、ハイサイド側スイッチング素子２２１とローサイド側スイッチング素子２３１とで構成されるペアはサーボモータ１１０のＵ相に対応し、ハイサイド側スイッチング素子２２２とローサイド側スイッチング素子２３２とで構成されるペアはＶ相に対応し、ハイサイド側スイッチング素子２２３とローサイド側スイッチング素子２３３とで構成されるペアはＷ相に対応している。３つのスイッチング素子ペアは、駆動電源ＤＰに並列に接続されている。また、３つのスイッチング素子ペアのそれぞれにおける中間点（ハイサイド側スイッチング素子とローサイド側スイッチング素子との間の点）から、サーボモータ１１０への電源出力線が取り出されている。
【００２４】
モータ駆動部２１０は、ハイサイド側スイッチング素子２２１，２２２，２２３の切り替え動作（オン状態とオフ状態との間の切り替え動作）を行うハイサイド側スイッチング素子駆動回路２１１と、ローサイド側スイッチング素子２３１，２３２，２３３の切り替え動作を行うローサイド側スイッチング素子駆動回路２１２と、を有している。ハイサイド側スイッチング素子駆動回路２１１およびローサイド側スイッチング素子駆動回路２１２は、制御部２５２からの指令信号（図２参照）に従い、スイッチング素子の切り替え動作を行う。これにより、駆動電源ＤＰが所望の三相交流電流に変換されてサーボモータ１１０に供給される。
【００２５】
モータ駆動部２１０は、ハイサイド側スイッチング素子駆動回路２１１に動作電源を供給するブートストラップ回路２４０を有している。ブートストラップ回路２４０は、３つのハイサイド側スイッチング素子２２１，２２２，２２３に対応して設けられた３つのチャージポンプコンデンサ２４１，２４２，２４３を含んでいる。各チャージポンプコンデンサ２４１，２４２，２４３は、ハイサイド側スイッチング素子駆動回路２１１に、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作のための電力を供給する。各チャージポンプコンデンサ２４１，２４２，２４３は、制御電源ＣＰに接続されており、対応するハイサイド側スイッチング素子がオフ状態のときには、制御電源ＣＰからの電力供給を受けて充電される。そのため、各チャージポンプコンデンサ２４１，２４２，２４３の充電量（電荷の残量）は、ハイサイド側スイッチング素子駆動回路２１１による対応するハイサイド側スイッチング素子をオン状態にする切り替え動作の度に減少し、対応するハイサイド側スイッチング素子がオフ状態のときに増加する（ただし、フル充電状態のときにはそれ以上増加しない）。従って、切り替え動作の履歴によっては、各チャージポンプコンデンサ２４１，２４２，２４３の充電量が、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作を行うのに十分でないレベルまで減少する場合がある。
【００２６】
他方、ローサイド側スイッチング素子駆動回路２１２による切り替え動作のための電力は、制御電源ＣＰから直接供給される。制御電源ＣＰは、外部電源４００からの供給電源である（図２参照）。そのため、外部電源４００からの電力供給が途絶えない限り、ローサイド側スイッチング素子駆動回路２１２が電力の不足によりローサイド側スイッチング素子をオン状態にする切り替え動作を行うことができないという事態は発生しない。
【００２７】
Ａ−２．モータの予測制御：
上述したように、制御部２５２（図２）は、電流計２０２から得た現在の電流値に基づき、モータ駆動部２１０を介してサーボモータ１１０の駆動制御を行う。本実施例では、制御部２５２による電流値に基づくサーボモータ１１０の駆動制御は、予測制御を利用して実行される。本実施例の予測制御は、サーボモータ１１０の現在の電流値に基づき、複数の制御態様を採った場合の所定の将来のタイミングにおける電流値を予測し、算出された予測電流値が将来の目標電流値に最も近い１つの制御態様を選択してサーボモータ１１０を制御する制御方法である。
【００２８】
図４および図５は、サーボモータ１１０の予測制御の概要を示す説明図である。図４には、サーボモータ１１０の１つの相の１サイクル（１周期）の目標電流波形を示している。目標電流波形は、上述した教示データに基づいて算出される。本実施例の予測制御は、図４に示すように、電流波形の１サイクルを第１の分解能で２０個の長さＲ１の期間に分割し、各期間をさらに第１の分解能より細かい第２の分解能で１０個の長さＲ２の期間に分割して得られた期間（以下、「単位期間」とも呼ぶ）を単位として実行される。単位期間は、任意に設定可能であるが、単位期間を細かく設定すればするほど（すなわち、単位期間の長さを短くすればするほど）、制御の精度・効率が向上する。
【００２９】
図４に示すように、制御部２５２は、電流計２０２により検出された現在の電流値ＰＰと、インバータ回路２２０（図３）に含まれる各スイッチング素子のオン状態およびオフ状態の組み合わせ（以下、「スイッチングパターン」と呼ぶ）に応じて定まるサーボモータ１１０への出力電圧と、に基づき、将来の電流値を予測する。電流値を予測する対象の単位期間は、現在の単位期間より後の任意の１つまたは複数の単位期間である。例えば、現在の単位期間の直後の単位期間の電流値ＮＰ１のみが予測されるとしてもよいし、現在の単位期間の２つ後の単位期間の電流値ＮＰ２のみが予測されるとしてもよいし、現在の単位期間の直後の２つの単位期間の電流値ＮＰ１および電流値ＮＰ２が予測されるとしてもよい。また、電流値を予測する対象の単位期間は、必ずしも連続した区間である必要はない。予測制御における予測を行う単位期間は、要求される制御の精度やユーザの指示に応じて適宜選択される。
【００３０】
ここで、インバータ回路２２０では、直列に接続されたハイサイド側スイッチング素子とローサイド側スイッチング素子とが共にオン状態となる（すなわち、短絡状態となる）スイッチングパターンは採用できない。従って、インバータ回路２２０において採り得るスイッチングパターンは、すべてのスイッチング素子がオフ状態となるパターンを含む７種類のパターンである。
【００３１】
図５の上段に示すように、各スイッチングパターンに応じて、サーボモータ１１０への出力電圧は一義的に決まる。制御部２５２は、この出力電圧と現在の電流値ＰＰとに基づき、下記のモータのモデル式（１）および（２）を用いて、各スイッチングパターンに応じた将来のタイミングにおける電流値（例えば図４の電流値ＮＰ１および電流値ＮＰ２）を予測する。なお、下式において、「ΔＴ」は単位期間の長さ（制御周期）であり、「Ｒ」はサーボモータ１１０の相抵抗であり、「Ｌｄ」および「Ｌｑ」はサーボモータ１１０のｄ軸およびｑ軸に沿ったインダクタンスであり、「φ」は起電力定数であり、「ω」は電気周波数であり、「ｉｄ（ｎ）」および「ｉｑ（ｎ）」は検出されたｄ軸およびｑ軸に沿った現在電流値であり、「ｖｄ（ｎ）」および「ｖｑ（ｎ）」はサーボモータ１１０に供給されるｄ軸およびｑ軸に沿った電圧値であり、「ｉｄ（ｎ＋１）」および「ｉｑ（ｎ＋１）」は現在の単位期間の直後の単位期間におけるｄ軸およびｑ軸に沿った予測電流値である。
【数１】
0005799685.tif 000002
【００３２】
また、制御部２５２は、図５の下段に示すように、将来のタイミングにおける目標電流値と、算出された各スイッチングパターンに対応する予測電流値とに基づき、下記の式（３）を用いて、予測電流値と目標電流値との近さ（誤差の小ささ）を表す評価関数Ｊを算出する。なお、下式において、「Δｉｄ」および「Δｉｑ」は、ｄ軸およびｑ軸に沿った予測電流値と目標電流値との差分である。
【数２】
0005799685.tif 000003
【００３３】
制御部２５２は、最も小さい評価関数Ｊに対応するスイッチングパターンを選択し、選択されたスイッチングパターンの通りにスイッチング素子の切り替え動作を行うように、モータ駆動部２１０に指令信号を出力する。モータ駆動部２１０のハイサイド側スイッチング素子駆動回路２１１およびローサイド側スイッチング素子駆動回路２１２は、受け取った指令信号に従い、スイッチング素子の切り替え動作を行う。
【００３４】
以上説明したサーボモータ１１０の予測制御によれば、単純なフィードバック制御を行う従来の制御方法と比較して、サーボモータ１１０の電流値が目標電流値により近くなるような高精度・高効率な電流制御を実現することができ、ロス電流に伴うサーボモータ１１０等からの発熱を抑制することができる。
【００３５】
Ａ−３．本実施例におけるモータ駆動制御処理：
上述したように、本実施例では、各チャージポンプコンデンサ２４１，２４２，２４３の充電量が、対応するハイサイド側スイッチング素子をオン状態にする切り替え動作を行うのに十分でないレベルまで減少する場合がある。そのため、各チャージポンプコンデンサ２４１，２４２，２４３の充電量を考慮することなく上述の予測制御を実行すると、サーボモータ１１０等からの発熱は効果的に抑制することができるものの、ハイサイド側スイッチング素子駆動回路２１１への電力供給ができなくなってロボットシステム１０全体が停止してしまう事態が発生する恐れがある。本実施例では、サーボモータ１１０等からの発熱は極力抑制しつつ、このような事態の発生を防止するために、以下に説明するモータ駆動制御処理を行っている。
【００３６】
図６は、本実施例におけるモータ駆動制御処理の流れを示すフローチャートである。まず、制御部２５２は、各チャージポンプコンデンサ２４１，２４２，２４３の現在の充電量を特定する（ステップＳ１１０，Ｓ１２０，Ｓ１３０）。本実施例では、各チャージポンプコンデンサ２４１，２４２，２４３の初期充電量（ロボットシステム１０の電源投入時の充電量）は、１００％充電である。また、各チャージポンプコンデンサ２４１，２４２，２４３の充電量は、ハイサイド側スイッチング素子駆動回路２１１による対応するハイサイド側スイッチング素子の切り替え動作の度に減少し、ハイサイド側スイッチング素子がオフ状態となっているときに増加する。１回の切り替え動作あたりの使用電力量や、ハイサイド側スイッチング素子がオフ状態となっている時間あたりの補充充電量を示す情報は、予め記憶部２６０に格納されている。制御部２５２は、初期充電量や、切り替え動作に伴う電力使用量、ハイサイド側スイッチング素子がオフ状態となっているときの補充充電量に基づき、各チャージポンプコンデンサ２４１，２４２，２４３の現在の充電量を特定する。なお、各チャージポンプコンデンサ２４１，２４２，２４３の充電量を実測することにより特定するとしてもよい。
【００３７】
次に、制御部２５２は、特定された各チャージポンプコンデンサ２４１，２４２，２４３の現在の充電量が、所定の充電量の閾値Ｃｔ以上であるか否かを判定する（ステップＳ１４０，Ｓ１５０，Ｓ１６０）。閾値Ｃｔは、単位期間の長さや予測制御に用いる単位期間の数等に応じて、予め設定される。
【００３８】
制御部２５２は、チャージポンプコンデンサ２４１，２４２，２４３の現在の充電量が閾値Ｃｔ以上である場合には、当該チャージポンプコンデンサの使用を許可する（ステップＳ１７０，Ｓ１８０，Ｓ１９０）。一方、制御部２５２は、チャージポンプコンデンサ２４１，２４２，２４３の現在の充電量が閾値Ｃｔより小さい場合には、対応するハイサイド側スイッチング素子の切り替え動作を実行できない可能性があるため、当該チャージポンプコンデンサの使用を不許可とする（ステップＳ２００，Ｓ２１０，Ｓ２２０）。
【００３９】
なお、ステップＳ１１０からＳ２００までの処理は、例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて各チャージポンプコンデンサ２４１，２４２，２４３について並列に実行されるとしてもよいし、１つのチャージポンプコンデンサ毎に順番に実行されるとしてもよい。
【００４０】
制御部２５２は、設定された各チャージポンプコンデンサ２４１，２４２，２４３の使用の許可／不許可に従い、インバータ回路２２０における各スイッチングパターンの選択可否を特定する（ステップＳ２３０）。具体的には、制御部２５２は、上述した７種類のスイッチングパターンの内、使用が許可されたチャージポンプコンデンサのみで実現可能なスイッチングパターンを選択可とし、使用が不許可とされたチャージポンプコンデンサの使用を伴うスイッチングパターンを選択不可とする。なお、すべてのスイッチング素子をオフ状態とするスイッチングパターンは、常に選択可能である。
【００４１】
次に、制御部２５２は、上述した予測制御により、選択可とされたスイッチングパターンの中から最適なスイッチングパターンを選択する（ステップＳ２４０）。この予測制御の際には、ステップＳ２３０で特定された選択可能なスイッチングパターンのみを対象として予測電流値の算出が行われ、選択不可とされたスイッチングパターンについては予測電流値算出の対象外とされる。そのため、制御部２５２は、各チャージポンプコンデンサ２４１，２４２，２４３の充電量に鑑みて実現可能なスイッチングパターンの中から、予測電流値が目標電流値に最も近くなる最適なスイッチングパターンを選択することができる。
【００４２】
制御部２５２は、選択された最適なスイッチングパターンの通りにスイッチング素子を駆動するように、モータ駆動部２１０に指令信号を出力する（ステップＳ２５０）。モータ駆動部２１０のハイサイド側スイッチング素子駆動回路２１１およびローサイド側スイッチング素子駆動回路２１２は、受け取った指令信号に従い、スイッチング素子を駆動する。
【００４３】
その後、制御部２５２は、処理を終了すべきか否かを判定し（ステップＳ２６０）、処理を継続すべき場合には、次の単位期間の開始を待って（ステップＳ２７０）、再度、各チャージポンプコンデンサ２４１，２４２，２４３の充電量の特定（Ｓ１１０，１２０，１３０）以降の処理を繰り返し実行する。
【００４４】
以上説明したように、本実施例のロボット制御装置２００によるモータ駆動制御処理（図６）では、サーボモータ１１０の現在の電流値に基づき、各スイッチングパターンについて、所定の将来のタイミングにおける予測電流値が算出される。そして、算出された予測電流値と将来のタイミングにおける目標電流値とに基づき、１つのスイッチングパターンが選択され、選択されたスイッチングパターンがハイサイド側スイッチング素子駆動回路２１１およびローサイド側スイッチング素子駆動回路２１２に指示される。そのため、本実施例では、サーボモータ１１０の電流値が目標電流値により近くなるような高精度・高効率な電流制御を実現することができ、ロス電流に伴うサーボモータ１１０等からの発熱を抑制することができる。
【００４５】
また、本実施例では、ローサイド側スイッチング素子駆動回路２１２には、外部電源４００から電力の供給を受ける制御電源ＣＰから、切り替え動作のための電力が供給される。一方、ハイサイド側スイッチング素子駆動回路２１１には、３つのハイサイド側スイッチング素子２２１，２２２，２２３に対応して設けられ３つのチャージポンプコンデンサ２４１，２４２，２４３から、切り替え動作のための電力が供給される。そのため、ハイサイド側スイッチング素子駆動回路２１１用に変圧器等の電源装置を追加的に設ける必要はなく、３つのチャージポンプコンデンサ２４１，２４２，２４３を追加するだけで、上述のような高精度・高効率なの電流制御を実現することができ、ロボット制御装置２００の大型化を抑制することができる。
【００４６】
さらに、本実施例では、各チャージポンプコンデンサ２４１，２４２，２４３の充電量が特定され、特定された充電量に基づき各スイッチングパターンの選択可否が特定され、選択可能なスイッチングパターンの１つが採用される。そのため、ロボット制御装置２００の大型化を抑制するためにチャージポンプコンデンサ２４１，２４２，２４３によりハイサイド側スイッチング素子駆動回路２１１に電力を供給する場合にも、チャージポンプコンデンサ２４１，２４２，２４３の充電量不足によりハイサイド側スイッチング素子駆動回路２１１への電力供給ができなくなってロボットシステム１０全体が停止してしまう事態の発生を防止することができる。
【００４７】
以上のように、本実施例のロボットシステム１０におけるロボット制御装置２００では、ロボット制御装置２００の大型化を抑制しつつ、かつ、ロボットシステム１０全体が停止してしまう事態の発生を防止しつつ、高精度・高効率な電流制御によってロボット本体１００の駆動に伴う発熱を抑制することができる。
【００４８】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００４９】
上記実施例におけるロボットシステム１０の構成は、あくまで一例であり、種々変形可能である。例えば、上記各実施例では、ロボット本体１００は多関節型の産業用ロボットであるとしているが、ロボット本体１００が単関節型ロボットであるとしてもよい。また、上記実施例において、サーボモータ１１０に代えて他の種類の三相交流モータを用いることも可能である。また、上記実施例における各電源の電圧は、種々変形可能である。また、上記実施例では、ブートストラップ回路２４０はモータ駆動部２１０に含まれるとしているが、ブートストラップ回路２４０はモータ駆動部２１０から独立した構成であるとしてもよい。また、上記実施例において、エンコーダ１２０による制御が行われることは必須ではない。また、上記実施例において、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよく、その逆も可能である。
【符号の説明】
【００５０】
１０…ロボットシステム
１００…ロボット本体
１０１…ベース部
１０２…ショルダ部
１０３…下アーム
１０４…上アーム
１０５…手首
１０６…フランジ部
１０７…エンドエフェクタ
１１０…サーボモータ
１２０…エンコーダ
２００…ロボット制御装置
２０２…電流計
２１０…モータ駆動部
２１１…ハイサイド側スイッチング素子駆動回路
２１２…ローサイド側スイッチング素子駆動回路
２２０…インバータ回路
２２１，２２２，２２３１…ハイサイド側スイッチング素子
２３１，２３２，２３３…ローサイド側スイッチング素子
２４０…ブートストラップ回路
２４１，２４２，２４３…チャージポンプコンデンサ
２５０…ＣＰＵ
２５２…制御部
２６０…記憶部
２７０…整流器
３００…ロボット教示装置
４００…外部電源
４１０…制御ケーブル
４２０…接続ケーブル
４３０…電源ケーブル
【図１】
0005799685.tif 000004
【図２】
0005799685.tif 000005
【図３】
0005799685.tif 000006
【図４】
0005799685.tif 000007
【図５】
0005799685.tif 000008
【図６】
0005799685.tif 000009