(57)【要約】【課題】力行電力と回生電力をより合わせやすくして、回生抵抗を省略若しくは小さくできるとともに消費エネルギーを低減化でき、制御盤を小型化、及び低コスト化ができる。【解決手段】減速時に相互に回生電流を供給可能に電気的に接続されるとともに、作業自由度に対して１つの冗長自由度を有する機械装置を含む複数の機械装置を相互に組み合わせて、組み合わせた機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、第１段階として機械装置（冗長ロボット）の姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた機械装置（冗長ロボット）の動作計画を立てる。第２段階として、機械装置（冗長ロボット）と組み合わされた他の機械装置とともに動作させる。【選択図】図４
2013220478.tif 000002
【特許請求の範囲】
【請求項１】
減速時に相互に回生エネルギーを供給可能に電気的に接続されるとともに、作業自由度に対して少なくとも１つ以上の冗長自由度を有する冗長ロボットを１台以上含む複数の機械装置を相互に組み合わせて、組み合わせた機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、前記冗長ロボットの姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた冗長ロボットの動作計画を立てる第１段階と、
前記動作計画に基づいて当該冗長ロボットを、該冗長ロボットと組み合わされた他の機械装置とともに動作させる第２段階を含むことを特徴とする機械装置間の電力回生方法。
【請求項２】
前記相互に組み合わせた複数の機械装置には、１台以上の前記冗長ロボットと、冗長自由度を備えない非冗長機械装置が含まれており、
前記第１段階は、
前記冗長ロボットに関する第１作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第１作業プログラムで教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の該冗長ロボットが備える各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第３段階と、
前記非冗長機械装置に関する第２作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第２作業プログラムが実行されて動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第４段階とが組み合わされるとともに、
前記第３段階及び第４段階で取得した電力消費及び回生パターンを総合する第５段階と、
前記冗長ロボットの姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、前記総合した電力消費及び回生パターンの変動を最小化する前記冗長ロボットの前記リンク位置姿勢を決定して前記冗長ロボットの動作計画をたて、その動作計画に基づいて第１作業プログラムを更新する第６段階を含み、
前記第２段階では、前記冗長ロボットを、前記動作計画に基づいて更新された第１作業プログラムに基づいて動作させるとともに、前記非冗長機械装置を、前記第２作業プログラムに基づいて動作させることを特徴とする請求項１に記載の機械装置間の電力回生方法。
【請求項３】
減速時に相互に回生エネルギーを供給可能に電気的に接続されるとともに、作業自由度に対して少なくとも１つ以上の冗長自由度を有する冗長ロボットを１台以上含む複数の機械装置と、
前記冗長ロボットを含む前記機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、前記冗長ロボットの姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた前記冗長ロボットの動作計画を立てる動作計画生成部を備え、
前記組み合わせた冗長ロボットの制御部は、前記動作計画に基づいて当該冗長ロボットを動作させるとともに、前記冗長ロボットを除く前記組み合わせた他の機械装置の制御部は、前記冗長ロボットとともに該機械装置を動作させることを特徴とする機械装置間の電力回生システム。
【請求項４】
前記相互に組み合わせた複数の機械装置には、１台以上の前記冗長ロボットと、冗長自由度を備えない非冗長機械装置が含まれており、
前記動作計画生成部は、
前記冗長ロボットに関する第１作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第１作業プログラムで教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の該冗長ロボットが備える各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第１電力消費・回生パターン取得部と、
前記非冗長機械装置に関する第２作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第２作業プログラムで動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第２電力消費・回生パターン取得部と、
第１及び第２電力消費・回生パターン取得部がそれぞれ取得した電力消費及び回生パターンを総合する総合部と、
前記冗長ロボットの姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、前記総合した電力消費及び回生パターンの変動を最小化する前記冗長ロボットの前記リンク位置姿勢を決定して前記冗長ロボットの動作計画をたて、その動作計画に基づいて第１作業プログラムを更新する更新部を備え、
前記冗長ロボットの制御部は、前記更新部で更新された第１作業プログラムに基づいて、当該冗長ロボットを動作させ、
前記非冗長機械装置の制御部は、前記第２作業プログラムに基づいて当該非冗長機械装置を動作させる請求項３に記載の機械装置間の電力回生システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械装置間の電力回生方法及び機械装置間の電力回生システムに関する。
【背景技術】
【０００２】
従来、工作機械、ロボット等の多くの機械が稼働している工場等におけるエネルギーのリサイクル方法が特許文献１で提案されている。特許文献１では、直流電源から給電されるサーボドライバにより、駆動される複数の機械から構成されたシステムにおいて、前記直流電源を前記機械に共通接続するＤＣ共通リンクが設けられ、回生状態にある機械と力行状態にある機械のペアリングを行って、前記回生状態にある機械から前記共通リンクを介して力行状態にある前記ペアリング対象の機械に慣性エネルギーを移行させるようにしている。そして、運動エネルギーを必要としているペアリング対象の機械に対して制動中の機械の回生エネルギーを融通することにより、工場全体の消費エネルギーを低減化するようにしている。例えば、ペアリングが行われた機械では、機械の起動・停止をずらすことにより、前記消費エネルギーを低減するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３７０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、力行状態にある機械と、回生状態にある機械とのペアリングのエネルギー需給バランスがとれていないと、回生エネルギー（すなわち、回生電力）が過剰になる場合があり、この場合には、回生抵抗で回生電力を消費せざるを得ない問題がある。または、力行、回生の平準化のために、各機械の起動・停止タイミングを大幅にずらす必要がある場合は、サイクルタイムが長くなる問題もある。
【０００５】
本発明の目的は、力行電力と回生電力をより合わせやすくして、回生抵抗を省略若しくは小さいものにすることができ、消費エネルギーを低減化できるとともに、制御盤を小型化、及び低コスト化ができる機械装置間の電力回生方法及び機械装置間の電力回生システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題点を解決するために、請求項１の発明は、減速時に相互に回生エネルギーを供給可能に電気的に接続されるとともに、作業自由度に対して少なくとも１つ以上の冗長自由度を有する冗長ロボットを１台以上含む複数の機械装置を相互に組み合わせて、組み合わせた機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、前記冗長ロボットの姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた冗長ロボットの動作計画を立てる第１段階と、前記動作計画に基づいて当該冗長ロボットを、該冗長ロボットと組み合わされた他の機械装置とともに動作させる第２段階を含むことを特徴とする機械装置間の電力回生方法を要旨としている。
【０００７】
請求項２の発明は、請求項１において、前記相互に組み合わせた複数の機械装置には、１台以上の前記冗長ロボットと、冗長自由度を備えない非冗長機械装置が含まれており、前記第１段階は、前記冗長ロボットに関する第１作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第１作業プログラムで教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の該冗長ロボットが備える各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第３段階と、前記非冗長機械装置に関する第２作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第２作業プログラムが実行されて動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第４段階とが組み合わされるとともに、前記第３段階及び第４段階で取得した電力消費及び回生パターンを総合する第５段階と、前記冗長ロボットの姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、前記総合した電力消費及び回生パターンの変動を最小化する前記冗長ロボットの前記リンク位置姿勢を決定して前記冗長ロボットの動作計画をたて、その動作計画に基づいて第１作業プログラムを更新する第６段階を含み、前記第２段階では、前記冗長ロボットを、前記動作計画に基づいて更新された第１作業プログラムに基づいて動作させるとともに、前記非冗長機械装置を、前記第２作業プログラムに基づいて動作させることを特徴とする。
【０００８】
請求項３の発明は、減速時に相互に回生エネルギーを供給可能に電気的に接続されるとともに、作業自由度に対して少なくとも１つ以上の冗長自由度を有する冗長ロボットを１台以上含む複数の機械装置と、前記冗長ロボットを含む前記機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、前記冗長ロボットの姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた前記冗長ロボットの動作計画を立てる動作計画生成部を備え、前記組み合わせた冗長ロボットの制御部は、前記動作計画に基づいて当該冗長ロボットを動作させるとともに、前記冗長ロボットを除く前記組み合わせた他の機械装置の制御部は、前記冗長ロボットとともに該機械装置を動作させることを特徴とする機械装置間の電力回生システムを要旨としている。
【０００９】
請求項４の発明は、請求項３において、前記相互に組み合わせた複数の機械装置には、１台以上の前記冗長ロボットと、冗長自由度を備えない非冗長機械装置が含まれており、前記動作計画生成部は、前記冗長ロボットに関する第１作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第１作業プログラムで教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の該冗長ロボットが備える各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第１電力消費・回生パターン取得部と、前記非冗長機械装置に関する第２作業プログラムをシミュレーションで実行し、そのシミュレーションの中で、前記第２作業プログラムで動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターンを取得する第２電力消費・回生パターン取得部と、第１及び第２電力消費・回生パターン取得部がそれぞれ取得した電力消費及び回生パターンを総合する総合部と、前記冗長ロボットの姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、前記総合した電力消費及び回生パターンの変動を最小化する前記冗長ロボットの前記リンク位置姿勢を決定して前記冗長ロボットの動作計画をたて、その動作計画に基づいて第１作業プログラムを更新する更新部を備え、前記冗長ロボットの制御部は、前記更新部で更新された第１作業プログラムに基づいて、当該冗長ロボットを動作させ、前記非冗長機械装置の制御部は、前記第２作業プログラムに基づいて当該非冗長機械装置を動作させることを特徴とする。
【発明の効果】
【００１０】
請求項１乃至請求項４の発明によれば、エネルギー需給のアンバランスがあれば、冗長ロボットの動作によってこれを抑制するので、力行電力と回生電力をより合わせやすくして、回生抵抗を省略若しくは小さいものにすることができ、このことによって消費エネルギーを低減化できるとともに、回生抵抗を省略若しくは小さくできることから、回生抵抗が収納される制御盤を小型化、及び低コスト化ができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態の機械装置間の電力回生システムの概略図。
【図２】冗長性を有するマニピュレータのスケルトン図。
【図３】一実施形態のロボット制御装置の概略構成図。
【図４】上位コントローラが実行する電力消費・回生パターン形成プログラムのフローチャート。
【図５】上位コントローラが実行する電力消費・回生パターン形成プログラムのフローチャート。
【図６】上位コントローラが実行する電力消費・回生パターン形成プログラムのフローチャート。
【図７】上位コントローラが実行する電力消費・回生パターン形成プログラムのフローチャート。
【図８】姿勢パラメータの説明図。
【図９】力行、回生、負荷トルク、及び回転速度の関係を示す説明図。
【図１０】一実施形態の動作パターンを示す説明図。
【図１１】上位コントローラが、Ｐ（ｔ）変動を最小化しない場合の比較例を示す従来の動作パターンを示す説明図。
【発明を実施するための形態】
【００１２】
以下、本発明を具体化した一実施形態の機械装置間の電力回生方法及び機械装置間の電力回生システムを図１〜図１０を参照して説明する。
図１に示す機械装置間の電力回生システムは、例えば工場等の生産機械装置のシステムである。
【００１３】
同図に示すように、交流電源１００はコンバータ１１０に供給されて直流電圧に変換される。コンバータ１１０の出力側は、平滑コンデンサ１１２、遮断器ＳＨを有する幹線１２２が接続されている。前記幹線１２２または幹線１２２から分岐した分岐線１２４には、機械装置Ａ〜Ｄの各軸のサーボモータＭ１０、Ｍ２０、Ｍ３０、Ｍ４０を駆動するインバータ１２０、１３０、１４０、１５０に接続されている。また、インバータ１２０、１３０、１４０、１５０には回生抵抗Ｒ１〜Ｒ４が接続されている。
【００１４】
なお、図１では、サーボモータＭ１０、Ｍ２０、Ｍ３０、Ｍ４０及びインバータ１２０、１３０、１４０、１５０は、それぞれ、機械装置Ａ〜Ｄが備える複数軸のサーボモータ及び複数のインバータを代表的に図示したものである。
【００１５】
また、各インバータ１２０、１３０、１４０、１５０は、それぞれ機械装置Ａ〜Ｄのコンピュータからなる制御部１６０、１７０、１８０、１９０からの指令に基づいて、サーボモータＭ１０、Ｍ２０、Ｍ３０、Ｍ４０を制御駆動する。そして、前記指令には、サーボモータＭ１０、Ｍ２０、Ｍ３０、Ｍ４０を加速指令及び減速指令が含まれている。加速指令があるときは、機械装置は、力行状態となり、減速指令があるときは回生状態となる。この回生状態となる場合、幹線１２２及び分岐線１２４を介して他の機械装置に回生エネルギーとしての回生電流を供給可能である。
【００１６】
機械装置Ａ〜Ｄの制御部１６０、１７０、１８０、１９０は、コンピュータからなる上位コントローラ２００と通信可能に通信線で接続されている。上位コントローラ２００は、動作計画生成部、第１電力消費・回生パターン取得部、第２電力消費・回生パターン取得部、総合部、及び更新部に相当する。
【００１７】
本実施形態では、機械装置Ａは、直交軸を有する工作機械、直交軸を有するマシニングセンタ等の工作機械により構成されている。機械装置Ｂは、冗長自由度がないロボット（以下、非冗長ロボットという）により構成されている。例えば、６軸のマニピュレータを有するロボットであるが、６軸ロボットに限定するものではない。機械装置Ａ，Ｂは、冗長自由度がない非冗長機械装置に相当する。
【００１８】
機械装置Ａ，Ｂは、制御部１６０，１７０の図示しない記憶部にそれぞれ格納された作業プログラムに従って図示しないワークを加工する。
機械装置Ｃ，Ｄは、冗長自由度を有する冗長ロボットにより構成されている。ここで、冗長ロボット及び冗長ロボットの制御部１８０，１９０について説明する。なお、機械装置Ｃ，Ｄの構成、すなわち、冗長ロボットの構成は、本実施形態では同じ構成であるため、一方の冗長ロボット及び制御部１８０について説明する。
【００１９】
（冗長ロボット）
冗長ロボットは，作業自由度に対して冗長自由度を有するマニピュレータを備えている。図２に示すように、本実施形態では、マニピュレータ１０は、８個のリンク１１〜１８が７個の関節２１〜２７により直列に連結されて形成されている。多関節ロボットであるマニピュレータ１０は、７個の関節２１〜２７においてリンク１２〜１８が旋回することのできる７自由度（自由度ｎ＝７）を有するロボットであり、その作業空間の次元数（次元数ｍ）は６であって、１（＝ｎ−ｍ）の冗長性を有する。すなわち、本実施形態のマニピュレータは、作業自由度６に対して、１つの冗長自由度を有する。
【００２０】
第１リンク１１は一端が床面ＦＬに固定され、他端が第１関節２１の一側に接続されている。第１関節２１の他側には、第２リンク１２の一端が接続され、第２リンク１２の他端には第２関節２２の一側が接続されている。以下同様に、第３リンク１３、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８が、それぞれ第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７を介して順に連結されている。
【００２１】
第１関節２１の他側は一側に対して、矢印３１に示すように、図２において上下方向に延びる軸を中心に回転可能とされており、これにより、第２リンク１２は隣接する第１リンク１１に対して、第１関節２１の回転軸（Ｊ１軸）を中心に矢印３１方向に旋回可能である。
【００２２】
また、第２関節２２の他側は一側に対して、矢印３２に示すように、図２において紙面に垂直な方向に延びる軸（Ｊ２軸）を中心に回転可能とされている。これにより、第３リンク１３は隣接する第２リンク１２に対して、第２関節２２の回転軸を中心に矢印３２方向に回転可能である。
【００２３】
以下、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７についてもそれぞれ、回転可能とされており、第４リンク１４、第５リンク１５、第６リンク１６、第７リンク１７及び第８リンク１８も、それぞれ関節２３〜２７の回転軸（Ｊ３軸〜Ｊ７軸）を中心に、矢印３３〜３７方向に旋回可能である。尚、本願の全体にわたって、第１関節２１〜２７を介して連結されているリンク１１〜１８同士を、互いに隣接するリンク１１〜１８という。また、Ｊ１軸〜Ｊ７軸は、関節軸に相当する。
【００２４】
図２に示すように、第１関節２１には第１サーボモータ４１が取り付けられており、電力が供給されることにより、第２リンク１２を図示しない減速機を介して第１リンク１１に対して旋回させる。
【００２５】
また、第２関節２２には第２サーボモータ４２が取り付けられており、電力が供給されることにより、第３リンク１３を図示しない減速機を介して第２リンク１２に対して旋回させる。以下、同様に、第３関節２３、第４関節２４、第５関節２５、第６関節２６及び第７関節２７にはそれぞれサーボモータ４３〜４７が取り付けられており、電力が供給されることにより、各々リンク１４〜１８を図示しない減速機を介して旋回させる。
【００２６】
なお、各モータは、各関節内に設けられるが、図２では、説明の便宜上、関節とは分離して図示している。また、本実施形態では回転系アクチュエータとしてサーボモータであるＡＣサーボモータが使用されているが、限定されるものではない。
【００２７】
第８リンク１８の先端には、ツール４９が取り付けられている。ツール４９は第８リンク１８とともに、第７関節２７の回転軸（Ｊ７軸）を中心に図２に示すように矢印３７方向に旋回可能とされている。ツール４９は、例えば、ワーク等を把持可能なハンドである。なお、ツール４９の種類は、本発明とは関係しないため、限定されるものではない。
【００２８】
上述したようにマニピュレータ１０は、第１サーボモータ４１〜第７サーボモータ４７を駆動して第２リンク１２〜第８リンク１８を回転させることにより、第２リンク１２〜第８リンク１８の回転角度が累積して先端部にあるツール４９に働くため、ツール４９の先端の位置および姿勢を、その作業内容に応じた目標位置および目標姿勢に一致させることが可能である。
【００２９】
次に、図３を参照してマニピュレータ１０を制御する制御部１８０としてのコントローラＲＣを中心とした多関節ロボットの電気的な構成を説明する。
コントローラＲＣは、コンピュータ９０と、コンピュータ９０に電気的に接続されたＰＷＭジェネレータ５１〜５７と、ＰＷＭジェネレータ５１〜５７に電気的に接続されたサーボアンプ６１〜６７を有する。各サーボアンプ６１〜６７はそれぞれ第１サーボモータ４１〜第７サーボモータ４７に電気的に接続されている。
【００３０】
コンピュータ９０は、制御指令をＰＷＭジェネレータ５１〜５７に出力し、ＰＷＭジェネレータ５１〜５７は、当該制御令指令に基づいてＰＷＭ信号をサーボアンプ６１〜６７に出力する。サーボアンプ６１〜６７は、その出力に応じてサーボモータ４１〜４７を作動させることにより、各リンク１２〜１８を回転させる。
【００３１】
前記サーボモータ４１〜４７にはロータリエンコーダ７１〜７７が内蔵されており、インターフェイス８０を介してコンピュータ９０と接続されている。ロータリエンコーダ７１〜７７は、各々のサーボモータ４１〜４７の回動角度を検出することにより、すなわち、リンク１２〜１８のそれぞれが隣接するリンク１１〜１７に対する回転角度（関節角度）を検出して、その検出信号をコントローラＲＣに送信する。ロータリエンコーダ７１〜７７は、回転角度検出器に相当する。なお、回転角度検出器としては、ロータリエンコーダに限定するものではなく、レゾルバ、或いは、ポテンショメータであってもよい。
【００３２】
なお、第１サーボモータ４１〜第７サーボモータ４７に対してロータリエンコーダ７１〜７７を設ける代わりに、リンク１１〜１８または第１関節２１〜第７関節２７に、リンク１１〜１８の回転角度（関節角度）を直接に検出可能なセンサを取り付けてもよい。
【００３３】
前記コンピュータ９０は、ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、及びハードディスク等の不揮発性の記憶部９４、及びインターフェイス９５等を備え、バス９６を介して電気的に接続されている。
【００３４】
記憶部９４には、各種データ、ロボットに各種作業を行わせるための作業プログラム、各種パラメータ等が記憶されている。すなわち、本実施形態のロボットは、ティーチングプレイバック方式で作動するロボットであり、前記作業プログラムが実行されることにより、前記マニピュレータ１０が動作する。ＲＯＭ９２は、システム全体のシステムプログラムが記憶されている。ＲＡＭ９３は、ＣＰＵ９１の作業用のメモリであって、各種演算等が実行されるときに一時的にデータが格納される。
【００３５】
コントローラＲＣには入力装置８２が前記インターフェイス９５を介して接続されている。入力装置８２は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置８２は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ９０に対して、マニピュレータ１０の先端部にあるツール４９の先端（以下、手先という）の最終目標位置および最終目標姿勢、ツール４９の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ１０の姿勢変更のためのジョグ操作等による入力が可能となっている。
【００３６】
（実施形態の作用）
次に、上位コントローラ２００が実行する電力消費・回生パターン形成プログラムを、図４〜図７のフローチャートを参照して説明する。電力消費・回生パターン形成プログラムは、上位コントローラ２００が備える図示しない記憶部に格納されている。なお、この電力消費・回生パターン形成プログラムを実行するに当たり、各機械装置Ａ〜Ｄの作業プログラムは、コピーされて上位コントローラ２００の図示しない記憶部に記憶しているものとする。
【００３７】
（Ｓ１００）
図４に示すように、この電力消費・回生パターン形成プログラムが起動されると、上位コントローラ２００は、Ｓ１００では、各機械装置Ａ〜Ｄの作業プログラムを読込みしてシミュレートすることにより、機械装置毎に電力消費・回生パターン計算を順次行う。図５〜図７には、Ｓ１００での処理での詳細が示されている。
【００３８】
（冗長ロボットにおける電力消費・回生パターン計算）
まず、図５を参照して、機械装置Ｃ（冗長ロボット）についての電力消費・回生パターン計算について説明する。なお、機械装置Ｄ（冗長ロボット）についての説明は同じとなるため、説明を省略する。
【００３９】
（Ｓ１０）
Ｓ１０では、上位コントローラ２００は機械装置Ｃの作業プログラムを読込みして、当該作業プログラムに記述されている最初の教示点（手先位置）、手先姿勢及び速度データを記憶部の所定領域に初期手先位置姿勢としてセットする。なお、手先位置及び手先姿勢を合わせて手先位置姿勢という。ここで、セットした手先位置姿勢を目標値となる。
【００４０】
（Ｓ１２）
Ｓ１２では、上位コントローラ２００は、姿勢パラメータΦを初期化する、本実施形態ではΦ＝０にして初期化するが、初期値は０に限定するものではない。姿勢パラメータΦについて説明する。
【００４１】
姿勢パラメータΦは、冗長自由度を有する前記マニピュレータ１０が、手先位置を固定した場合、すなわち、手先位置姿勢を拘束した条件（拘束条件）とした場合において、その冗長自由度により許容されるリンク位置姿勢を示すものである。図８に示すように、具体的には、マニピュレータ１０の第４関節２４は、第２関節２２（以下、第１基準点Ｗという）を中心とし、第３リンク１３〜第４リンク１４のリンク長の合計を半径とした球Ａ１と、第６関節２６（以下、第２基準点Ｋという）を中心とし、第５リンク１５〜第６リンク１６のリンク長の合計を半径とする球Ａ２とが形成する交差円Ｅ上の移動が可能である。従って、本実施形態では、この交差円Ｅ上に第４関節２４が位置するようにして、リンク位置姿勢が変わる。
【００４２】
図８に示すように、前記交差円Ｅの中心を通る中心軸Ｏは、第１基準点Ｗ（第２関節２２中心）と第２基準点Ｋ（第６関節２６中心）を通過する軸である。第４関節２４はこの交差円Ｅ上に位置するため、姿勢パラメータΦは、交差円Ｅ上のリンク位置姿勢を示すパラメータとして表すことができる。そこで、交差円Ｅ上の適宜の位置Ｒから、変更された位置までの角度を、ここでは、姿勢パラメータΦとして定義されている。なお、適宜の位置Ｒは、既知として設定されている。
【００４３】
（Ｓ１４）
Ｓ１４では、上位コントローラ２００は、手先位置姿勢から関節角度を求めるために逆変換演算を行う。
【００４４】
ここで、第１関節２１〜第７関節２７の関節角度ｑ１，ｑ２，ｑ３，…，ｑ７とし、手先座標（ｘ，ｙ，ｚ）及び手先姿勢（ａ，ｂ，ｃ）とすると、ベクトルｑ及び手先位置姿勢Ｘは下記のように表される。
【００４５】
【数１】
2013220478.tif 000003
各関節角度ｑ１，ｑ２，ｑ３，…，ｑ７は、式（２）に示すように表すことができ、これらの式は、逆変換式である。本ステップでは、式（２）により、手先位置姿勢Ｘと姿勢パラメータΦにより、各関節角度ｑ１，ｑ２，ｑ３，…，ｑ７を算出する。
【００４６】
【数２】
2013220478.tif 000004
（Ｓ１６）
Ｓ１６では、上位コントローラ２００は、各軸（すなわち、各関節ｉ）の角加速度を、前記関節角度ｑｉ（ｉ＝１〜７）と、Ｓ１０でセットしたデータ（なお、後述するＳ２６からリターンした場合には、Ｓ２６で更新した作業プログラムに記述されている次のステップで記述されている手先位置姿勢並びに速度データ）に基づいて算出する。
【００４７】
（Ｓ１８）
Ｓ１８では、上位コントローラ２００は、慣性力、遠心力、重力、コリオリ力に基づいて、各関節軸に設けられたモータの負荷トルクを式（３）により算出する。
【００４８】
【数３】
2013220478.tif 000005
式（３）の右辺において、第１項は慣性力、第２項は遠心力・コリオリ力より導かれるトルク、第３項は重力負荷より導かれるトルク、第４項は摩擦トルク、及び第５項はアクチュエータ慣性トルクである。これらの式中、右辺の第１項から第３項は、ラグランジュ法により導かれた運動方程式であり、公知の式である。また、右辺の第４項及び第５項はアクチュエータの影響を考慮に入れた項である。
【００４９】
第１項の慣性力については下記の通りである。
【００５０】
【数４】
2013220478.tif 000006
【００５１】
【数５】
2013220478.tif 000007
【００５２】
【数６】
2013220478.tif 000008
なお、「既知」とかかれているパラメータ等は、記憶部９４に格納されている。
【００５３】
上記のように算出された負荷トルクは、モータの定格トルク以下では、モータ電流と比例関係にあるため、上位コントローラ２００は、定数を前記負荷トルクに乗算して、理論値であるモータ電流が得られる。
【００５４】
図９は、負荷トルクと、モータの回転速度、及び加速、原則、定速との関係を示したものである。同図に示すように、加速が行われている間は、モータの負荷トルクは大きな値でテラス状となり、このときは力行状態となる。また、減速が行われている場合は、モータの負荷トルクは小さな値でテラス状となり、このときは回生状態となる。また、モータの回転速度が、作業プログラムで教示された速度となっている間は、定速状態となる。
【００５５】
このようにして、上位コントローラ２００は、算出したモータ電流に基づいて、このときの姿勢パラメータにおける電力消費及び回生データを取得するとともにこの電力消費及び回生データを図示しない記憶部に格納する。
【００５６】
（Ｓ２０）
Ｓ２０では、上位コントローラ２００は姿勢パラメータΦとして所定値（例えば、１°）を加算して更新する。すなわち、仮想的に姿勢パラメータΦを増加させてリンクの位置姿勢を変えたものとするのである。なお、所定値は、限定するものではない。
【００５７】
（Ｓ２２）
Ｓ２２では、上位コントローラ２００は、姿勢パラメータΦが、予め設定された上限値Φｍａｘ以下であれば、Ｓ１４に戻り、姿勢パラメータΦが予め設定された上限値Φｍａｘを超えた場合には、Ｓ２４に移行する。この上限値Φｍａｘは、冗長ロボットのリンク位置姿勢で許容される上限値であり、予め試験等により設定されたものである。
【００５８】
姿勢パラメータΦが上限値Φｍａｘを超えない間は、Ｓ２２からＳ１４に戻るため、姿勢パラメータΦが変化することにより、同じ教示点においては、手先位置姿勢を拘束した状態で、すなわち、１つの教示点の手先位置姿勢の下で、第４関節２４が交差円Ｅ上を移動することになる。
【００５９】
（Ｓ２４）
Ｓ２４では、上位コントローラ２００は、作業プログラム上の次の教示点における手先位置姿勢、速度データを読込して演算処理に使用するパラメータとして更新する。ここで更新された手先位置姿勢は、目標値となる。
【００６０】
（Ｓ２６）
Ｓ２６では、上位コントローラ２００は、Ｓ２４で更新した目標手先位置姿勢、すなわち、作業プログラムの最終的な教示点の手先位置姿勢に達したか否かを判定する。ここで、最終的な教示点における手先位置姿勢に達していなければ、Ｓ１２に戻り、新たな次の教示点において，Ｓ１２〜Ｓ２４の処理を行い、最終的な教示点における手先位置姿勢に達していれば、Ｓ２８に移行する。
【００６１】
（Ｓ２８）
Ｓ２８では、上位コントローラ２００は、当該作業プログラム上の各教示点において、Ｓ１８で姿勢パラメータΦに応じて算出し、取得した電力消費・回生データを総合することにより、姿勢パラメータΦと時刻ｔの関数である電力消費・回生パターンＰ１（ｔ，Φ）として、図示しない記憶部に格納しなおし、冗長ロボットに関する電力消費・回生パターン計算を終了する。
【００６２】
なお、詳細説明は省略するが、上位コントローラ２００は、機械装置Ｄについても同様に機械装置Ｄの作業プログラムをシミュレートすることにより、電力消費・回生パターンＰ２（ｔ，Φ）を取得する。
【００６３】
（機械装置Ａ（非冗長機械装置）における電力消費・回生パターン計算）
次に、図６を参照して、機械装置Ａについての電力消費・回生パターン計算について説明する。
【００６４】
（Ｓ４０）
Ｓ４０では、上位コントローラ２００は、機械装置Ａの作業プログラムを読込み当該作業プログラムの各軸の初期位置（初期の目標位置）及び速度データを設定する。
【００６５】
（Ｓ４２）
Ｓ４２では、上位コントローラ２００は、当該機械装置Ａの前記作業プログラムに基づいて機械装置Ａの各軸の加速度を計算する。
【００６６】
（Ｓ４４）
Ｓ４４では、上位コントローラ２００は、慣性力、遠心力、重力、コリオリ力に基づいて、各軸に設けられたモータの負荷トルクを公知の方法により算出する。さらに、上位コントローラ２００は、前記負荷トルクに基づいてモータ電流を算出し、該モータ電流に基づいて、このときの姿勢パラメータにおける電力消費及び回生データを取得するとともにこの電力消費及び回生データを図示しない記憶部に格納する。
【００６７】
（Ｓ４６）
Ｓ４６では、上位コントローラ２００は、作業プログラムに基づいて次の軸の目標位置及び速度データを演算処理に使用するパラメータとして更新する。
【００６８】
（Ｓ４８）
Ｓ４８では、上位コントローラ２００は、Ｓ４６で更新した次の軸の目標位置に到達したか否かを判定する。ここで、最終的な軸の目標位置に到達していなければ、Ｓ４４に戻り、新たな次の軸目標位置において，Ｓ４４〜Ｓ４６の処理を行い、作業プログラムの最終的な軸の目標位置に達していれば、Ｓ５０に移行する。なお、軸の目標位置は、工作機械における、工具先端位置を言い、例えば、当該工作機械で、定義されている座標系のＸ軸位置、Ｙ軸位置、Ｚ軸位置である。
【００６９】
（Ｓ５０）
Ｓ５０では、上位コントローラ２００は、当該作業プログラム上の各目標位置において、Ｓ４４で姿勢パラメータΦに応じて算出し、取得した電力消費・回生データを総合することにより、時刻ｔの関数である電力消費・回生パターンＰ３（ｔ）として、図示しない記憶部に格納しなおし、機械装置Ａに関する電力消費・回生パターン計算を終了する。
【００７０】
（機械装置Ｂ（非冗長ロボット）における電力消費・回生パターン計算）
次に、図７を参照して、機械装置Ｂについての電力消費・回生パターン計算について説明する。
【００７１】
（Ｓ６０）
Ｓ６０では、上位コントローラ２００は、機械装置Ｂの作業プログラムを読込みして、当該作業プログラムに記述されている最初の教示点（手先位置）、手先姿勢及び速度データを記憶部の所定領域に初期手先位置姿勢としてセットする。
【００７２】
（Ｓ６２）
Ｓ６２では、上位コントローラ２００は、Ｓ６０でセットした手先位置姿勢から関節角度を求めるために公知の逆変換演算を行う。
【００７３】
（Ｓ６４）
Ｓ６４では、上位コントローラ２００は、各軸（すなわち、各関節ｉ）の角加速度を、Ｓ６２で求めた関節角度と、Ｓ６０でセットしたデータ（なお、後述するＳ７０からリターンした場合には、Ｓ６８で更新した作業プログラムに記述されている次のステップで記述されている手先位置姿勢並びに速度データ）に基づいて算出する。
【００７４】
（Ｓ６６）
Ｓ６６では、上位コントローラ２００は、慣性力、遠心力、重力、コリオリ力に基づいて、各関節軸に設けられたモータの負荷トルクを、公知の方法により算出する。
【００７５】
上記のように算出した負荷トルクは、モータの定格トルク以下では、モータ電流と比例関係にあるため、上位コントローラ２００は、定数を前記負荷トルクに乗算して、理論値であるモータ電流を取得する。
【００７６】
このようにして、上位コントローラ２００は、算出したモータ電流に基づいて、電力消費及び回生データを取得するとともにこの電力消費及び回生データを図示しない記憶部に格納する。
【００７７】
（Ｓ６８）
Ｓ６８では、上位コントローラ２００は、作業プログラム上の次の教示点における手先位置姿勢、速度データを読込して次の演算処理に使用するパラメータとして更新する。
【００７８】
（Ｓ７０）
Ｓ７０では、上位コントローラ２００は、Ｓ６８で更新した目標手先位置姿勢、すなわち、作業プログラムの最終的な教示点の手先位置姿勢に達したか否かを判定する。ここで、最終的な教示点における手先位置姿勢に達していなければ、Ｓ６２に戻り、新たな次の教示点において，Ｓ６２〜Ｓ７０の処理を行い、最終的な教示点における手先位置姿勢に達していれば、Ｓ７２に移行する。
【００７９】
（Ｓ７２）
Ｓ７２では、上位コントローラ２００は、当該作業プログラム上の各教示点において、Ｓ６６で、取得した電力消費・回生データを総合することにより、時刻ｔの関数である電力消費・回生パターンＰ４（ｔ）として、図示しない記憶部に格納しなおし、非冗長ロボットに関する電力消費・回生パターン計算を終了する。
【００８０】
なお、各機械装置Ａ〜Ｄに関して、それらの電力消費・回生パターン計算をどの機械装置から行うかの順番は、限定するものではない。
次に、図４のフローチャートの説明に戻る。
【００８１】
（Ｓ２００）
Ｓ１００の処理が終了すると、上位コントローラ２００は、システム全体の電力消費・回生パターン計算を行う。
【００８２】
電力消費・回生パターン計算は、下記式（４）で行う。
【００８３】
【数７】
2013220478.tif 000009
なお、式（４）中、ｎは機械装置の台数である。本実施形態では、ｎ＝４である。
【００８４】
（Ｓ３００）
Ｓ３００では、上位コントローラ２００は、Ｐ（ｔ）変動を最小化する姿勢パラメータΦ、及び、時刻ｔを探索する。このＰ（ｔ）変動を最小化する姿勢パラメータΦ及び時刻ｔの探索結果に基づいて、上位コントローラ２００は、冗長ロボットである機械装置Ｃ，Ｄの作業プログラムに関して、探索結果である姿勢パラメータΦ及び時刻ｔに関わる部分について動作計画を立てて、すなわち、該作業プログラムを更新する。そして、上位コントローラ２００は、更新後の作業プログラムを、機械装置Ｃ，Ｄに送信する。機械装置Ｃ，Ｄでは、更新後の作業プログラムを図示しない記憶部９４等に記憶する。この更新後の各作業プログラムにより、機械装置Ｃ及び機械装置Ｄは、それぞれ機械装置Ａ，Ｂを含む他の機械装置と相互に協調して加工作業等を行うことになる。ここで、更新後の機械装置Ｃ、Ｄの作業プログラムは更新後の第１作業プログラムに相当する。また、機械装置Ａ，Ｂの作業プログラムは、第２作業プログラムに相当する。
【００８５】
このようにして、機械装置Ｃ，Ｄの作業プログラムが更新された後、機械装置Ａ〜Ｄの制御が、各作業プログラムに基づいて各機械装置を動作させると、図１０に示すように、機械装置間において、エネルギー需給バランスがとれたものとなる。
【００８６】
（探索方法の例）
ここで、探索方法の一例を、図１１の従来例を下にして本方法によって行われる例を図１０を参照して説明する。図１０は、探索方法の例が示されるとともに、機械装置Ａ〜Ｄが各作業プログラムに従って動作したときのエネルギー需給バランスの例ともなるタイムチャートである。なお、説明の便宜上、以下では、上位コントローラ２００がＳ３００での探索しているものとして説明することとする。
【００８７】
図１１で示す時刻ｔの経過中において、機械装置Ａ，Ｂには、それぞれの作業プログラムのシミュレーションにより力行及び回生の同パターンが得られたとする。すなわち、機械装置Ａには、時刻ｔの経過中、力行Ｆ１，Ｆ２及び回生Ｊ１，Ｊ２があり、機械装置Ｂには、時刻ｔの経過中、力行Ｆ３，Ｆ４及び回生Ｊ３があったとする。この場合、図１１に示すように交流電源１００から電流が流入する。
【００８８】
一方、機械装置Ｃ，Ｄには、それぞれの作業プログラムのシミュレーションにより力行及び回生の同パターンが得られたとする。なお、図１１では、説明の便宜上、機械装置Ｃ，Ｄでは、姿勢パラメータΦが固定されたものの一例として図示している。この場合、機械装置Ｃには、時刻ｔの経過中、力行Ｆ５及び回生Ｊ４があり、機械装置Ｂには、時刻ｔの経過中、力行Ｆ６及び回生Ｊ５があったとする。
【００８９】
図１１に示すように、機械装置Ａ〜Ｄにおいて、力行及び回生が行われる場合、上位コントローラ２００は、それらの力行及び回生の順毎に、電力消費、すなわち、Ｐ（ｔ）の変動を最小化するように対応処理する。
【００９０】
ここでは、力行Ｆ１、回生Ｊ１、力行Ｆ３、回生Ｊ３、力行Ｆ２、力行Ｆ２、回生Ｊ２、力行Ｆ４の順となる。なお、回生Ｊ１及び力行Ｆ３は同時刻に開始されるとともに、回生Ｊ２及び力行Ｆ４は同時刻に開始されている。
【００９１】
（力行Ｆ１について）
まず、上位コントローラ２００は、経過時刻順に、力行、回生が行われている機械装置Ａ〜Ｄに対して、機械装置Ｃ（冗長ロボット）または機械装置Ｄ（冗長ロボット）の中から力行及び回生が行われていない機械装置を選び出す。
【００９２】
例えば、機械装置Ａの力行Ｆ１の時刻において、力行及び回生が行われていない機械装置Ｃ（または機械装置Ｄ）を選ぶ。図１０の例では、機械装置Ｃが選択されている。
上位コントローラ２００は、力行Ｆ１に対応した当該機械装置Ｃの回生に備えて、言い換えれば、力行Ｆ１の消費電流量を全て賄い可能、或いは部分的に賄い可能な回生電流を、電力消費・回生パターンＰ１（ｔ，Φ）から選択し、選択した姿勢パラメータΦに向かってリンク位置姿勢が変化するような加速を可能とする。なお、本実施形態において、部分的に賄い可能とは、例えば、電力消費・回生パターンＰ１（ｔ，Φ）中、最も効率的に前記力行Ｆ１の消費電流量を賄うことができる姿勢パラメータΦによっても全て賄いできない場合のその最も効率的な消費電流量を賄うことができる姿勢パラメータΦを選択した場合を指す。そして、選択された姿勢パラメータΦは、当該機械装置Ｃが、前述した力行Ｆ１の消費電流量を全て賄い可能、或いは部分的に賄い可能な回生電流を生成する可能な位置である。
【００９３】
すなわち、図９に示すように、機械装置Ｃは、姿勢パラメータΦで特定された位置まで向かってリンク位置姿勢が変化するように加速可能及び減速可能するのであるが、減速状態（回生状態）が継続するときに回生電流を生成して、機械装置Ａの消費電力にその回生電流を供給して、交流電源１００からの消費電力を抑制可能にする。
【００９４】
このため、機械装置Ｃ（冗長ロボット）が前記回生状態を取りうるためには、予め加速する必要がある。図１０に示す例では、この場合、加速開始時期は、例えば、減速度と加速度の絶対値が同じ場合、加速時間は減速時間と同じであるため、減速時間（力行Ｆ１の継続時間：「ｔ２−ｔ１」時間））は、ｔ１時刻よりも「ｔ２−ｔ１」時間分早期に開始するようにすればよい。
【００９５】
また、前述のｔ１時刻よりも「ｔ２−ｔ１」時間分早期に加速するよりもさらに早期に加速を行いたい場合は、前記減速度の絶対値よりもさらに小さな速度で加速可能としてもよい。この場合は、力行Ｆ１の継続時間（「ｔ２−ｔ１」の時間）が固定値であるため、これよりも長い時間を掛けて加速する。この場合の加速開始時間は、前記減速時間よりも長くなるように定数を加算設定する。図１０の例では、減速時間よりも長い時間を掛けて、時刻ｔ１よりも以前にリンク位置姿勢が変化するように加速可能とする。
【００９６】
また、図１０の例では、機械装置Ｃのみの回生電流では、力行Ｆ１の消費電流が賄えないとして、さらに機械装置Ｄにおいて、さらに、同様に時刻ｔ１から「ｔ２−ｔ１」時間、回生状態としている。この場合、機械装置Ｃにより回生電流が公知の方法により計算して、力行Ｆ１に必要な消費電流から差し引き、その差分を、残りの機械装置Ｄにおいて、同様に、前記差分を満たす当該機械装置Ｄの電力消費・回生パターンＰ２（ｔ，Φ）から選択し、選択した姿勢パラメータΦに向かってリンク位置姿勢が変化するように加速を行う。なお、この場合の姿勢パラメータΦは、当該機械装置Ｄが、前記差分の消費電流量を全て賄い可能な回生電流を生成する可能な位置である。
【００９７】
（力行Ｆ５について）
図１１に示す力行Ｆ５は、機械装置Ｃ（冗長ロボット）における「ｔ４−ｔ３」時間の力行である。この場合、図１０では、上位コントローラ２００は、力行Ｆ５に対応した当該機械装置Ｄの回生に備えて、言い換えれば、力行Ｆ５の消費電流量を全て賄い可能、或いは部分的に賄い可能な回生電流を生成可能である姿勢パラメータΦを、機械装置Ｄの電力消費・回生パターンＰ２（ｔ，Φ）から選択することにより、選択した姿勢パラメータΦに向かってリンク位置姿勢が変化するように加速可能とする。そして、時刻ｔ３から減速を介して回生状態をｔ４まで継続させるようにする。なお、加速開始時刻の算出は、力行Ｆ１の場合と同様に行えばよい。
【００９８】
（回生Ｊ１、力行Ｆ３について）
図１１に示す機械装置Ａでは回生Ｊ１が行われ、機械装置Ｂでは力行Ｆ３が同時に開始された例であって、機械装置Ａによる回生電流が、力行Ｆ３の消費電流よりも大きい例である。このため、図１０に示すように、上位コントローラ２００は、この回生電流の方が力行による消費電力よりも大きな差分を解消するために、すなわち、該差分の回生電流を消費可能な力行を行わせることが可能な姿勢パラメータΦを機械装置Ｃの電力消費・回生パターンＰ１（ｔ，Φ）から選択する。
【００９９】
図１１に示す回生Ｊ１は、力行Ｆ３よりも短い時間（時刻ｔ６）で終了し、「ｔ６−ｔ７」時間は、機械装置Ｂにより、力行Ｆ３が継続して行われる。
このため上位コントローラ２００は、このｔ５〜ｔ７間の電力消費，すなわち、Ｐ（ｔ）の変動を最小とするように姿勢パラメータΦを機械装置Ｃの電力消費・回生パターンＰ１（ｔ，Φ）から選択する。そして、上位コントローラ２００は、「ｔ５−ｔ６」時間は姿勢パラメータΦで特定される位置に向かって、リンク位置姿勢が変化するように加速（力行）させ、「ｔ６〜ｔ７」時間は、前記姿勢パラメータΦに向かって減速（回生）を可能とさせる。
【０１００】
減速時間（「ｔ７−ｔ６」時間）の減速（回生）による回生電流は、「ｔ７−ｔ６」時間の力行Ｆ３で消費される消費電流と同等分となるように生成される。すなわち、上位コントローラ２００は前記減速時間（「ｔ７−ｔ６」時間）の減速度の算出を、減速時間（「ｔ７−ｔ６」時間）と、「ｔ６−ｔ５」時間の加速度と、姿勢パラメータΦとの関係により求める。
【０１０１】
（力行Ｆ６、回生Ｊ３について）
図１１の力行Ｆ６、回生Ｊ３は、機械装置Ｄの力行Ｆ６が時刻ｔ８で開始された後、時刻ｔ１０で終了し、一方、機械装置Ｂの回生Ｊ３が時刻ｔ８の後の時刻ｔ９で開始された後、時刻ｔ１０の後の時刻ｔ１１で終了した場合である。
【０１０２】
この場合、図１０に示すように上位コントローラ２００は、まず、「ｔ８〜ｔ９」時間の力行Ｆ６の電力消費の変動を最小とするように姿勢パラメータΦを機械装置Ｃの電力消費・回生パターンＰ１（ｔ，Φ）から選択する。この結果、機械装置Ｃでは選択された姿勢パラメータΦに向かって、「ｔ８〜ｔ９」の間は、減速（回生）を行うことが可能となる。
【０１０３】
また、図１０における「ｔ９〜ｔ１０」時間は、図１１の「ｔ９〜ｔ１０」時間と同様に力行Ｆ６の消費電流が回生Ｊ３の回生電流で賄えることが可能であるため、上位コントローラ２００はこの間は、図１０と同様に機械装置Ｄの力行を行わせるようにしている。
【０１０４】
また、図１１の「ｔ１０〜ｔ１１」時間は、機械装置Ｄの力行が終了し、機械装置Ｂの回生が継続して行われている時間である。この「ｔ１０〜ｔ１１」時間は、機械装置Ｃの「ｔ１０〜ｔ１１」時間の機械装置Ｂの回生Ｊ３による回生電流を消費するために、上位コントローラ２００は、電力消費の変動を最小とするように機械装置Ｃの姿勢パラメータΦ及び機械装置Ｄの姿勢パラメータΦを、電力消費・回生パターンＰ１（ｔ，Φ）、電力消費・回生パターンＰ２（ｔ，Φ）から選択する。この選択された姿勢パラメータΦに向かって、「ｔ１０〜ｔ１１」時間は、機械装置Ｃ及び機械装置Ｄでは力行（加速）を行うことが可能となる。この場合、機械装置Ｄの力行は、図１０に示すように、Ｆ６ａとなる。なお、この場合、機械装置Ｃまたは機械装置Ｄのいずれか一方のみの電力消費・回生パターンから姿勢パラメータΦを選択して、選択した側の機械装置のみに力行（加速）するようにしてもよい。
【０１０５】
（力行Ｆ２、回生Ｊ４、回生Ｊ５について）
図１１では、機械装置Ａの力行Ｆ２が時刻ｔ１２〜ｔ１３に行われ、機械装置Ｃの回生Ｊ４が、時刻ｔ１２〜ｔａに行われ、機械装置Ｄが、時刻ｔ１３〜ｔ１４に行われている例である。なお、時刻ｔａは、時刻ｔ１２と時刻ｔ１３の間である。
【０１０６】
上位コントローラ２００は、電力消費の変動を最小とするように、機械装置Ｃの電力消費・回生パターンＰ１（ｔ，Φ）のｔを変えて、図１１の回生Ｊ４を図１０の回生Ｊ４ａとなるように、すなわち、回生Ｊ４ａの終了時刻をｔ１３となるようにするとともに、機械装置Ｄの電力消費・回生パターンＰ１（ｔ，Φ）のｔを変えて、図１１の回生Ｊ５（開始時刻ｔ１３〜終了時刻ｔ１４）を、図１に示す回生Ｊ５ａ（開始時刻ｔ１１〜終了時刻ｔ１４）に変更する。
【０１０７】
（回生Ｊ２、力行Ｆ４について）
図１１では、機械装置Ａの回生Ｊ２が時刻ｔ１５〜ｔ１６に行われ、機械装置Ｂの力行Ｆ４が、時刻ｔ１５〜ｔ１７に行われている例である。この例は、時刻ｔ１５〜時刻ｔ１６間での回生Ｊ２の回生電流の方が、時刻ｔ１５〜時刻ｔ１６での力行Ｆ４の消費電流よりも大きい例である。
【０１０８】
この場合、上位コントローラ２００は、電力消費の変動を最小とするように、時刻ｔ１５〜時刻ｔ１６間では、機械装置Ｃの電力消費・回生パターンＰ１（ｔ，Φ）のΦを選択して、機械装置Ｃに当該姿勢パラメータΦで特定されるリンク位置姿勢に向かって加速（力行）させて、力行Ｆ４の消費電流と回生Ｊ２の回生電流の差分を賄う消費電流を生じさせる。
【０１０９】
また、時刻ｔ１６〜ｔ１７間の力行Ｆ４分の消費電流を賄うために、すなわち、電力消費の変動を最小とするように、上位コントローラ２００は、機械装置Ｃ及び機械装置Ｄの電力消費・回生パターンＰ１（ｔ，Φ）の姿勢パラメータΦをそれぞれ選択して、例えば、両方の回生電流が同じとなるように、姿勢パラメータΦを選択して、機械装置Ｃ及び機械装置Ｄの姿勢パラメータΦで特定されるリンク位置姿勢に向かって回生（減速）させるようにする。なお、この場合、機械装置Ｃ及び機械装置Ｄは、時刻ｔ１６の以前は、機械装置Ｃ，Ｄをそれぞれ加速（力行）状態に、上位コントローラ２００は設定するものとする。
【０１１０】
なお、上記のようにしても、当該機械装置において、回生時に生成した回生電流が他の機械装置が必要とする消費電流以上となった場合には、それぞれのインバータ１２０〜１５０に設けられた回生抵抗Ｒ１〜Ｒ４に流して熱として消費するものとする。
【０１１１】
本実施形態では、下記の特徴を有する。
（１）  本実施形態の機械装置間の電力回生方法は、減速時に相互に回生電流（回生エネルギー）を供給可能に電気的に接続されるとともに、作業自由度に対して１つの冗長自由度を有する機械装置（冗長ロボット）Ｃ，Ｄを含む複数の機械装置Ａ〜Ｄを相互に組み合わせて、組み合わせた機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、第１段階として機械装置（冗長ロボット）Ｃ，Ｄの姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた機械装置Ｃ，Ｄ（冗長ロボット）の動作計画を立てる。また、第２段階として、機械装置Ｃ，Ｄ（冗長ロボット）と組み合わされた他の機械装置Ａ，Ｂとともに動作させる。この結果、本実施形態の方法によれば、力行時の消費電流（力行電力）と回生時の回生電流（回生電力）をより合わせやすくして、回生抵抗を省略若しくは小さいものにすることができ、このことによって消費エネルギーを低減化できるとともに、回生抵抗を小さくできることから、回生抵抗が収納される制御盤を小型化、及び低コスト化ができる。
【０１１２】
（２）  本実施形態の機械装置間の電力回生方法は、相互に組み合わせた複数の機械装置には、冗長ロボットである２台の機械装置Ｂ，Ｃと、冗長自由度を備えない非冗長機械装置である機械装置Ａ，Ｂが含まれている。
【０１１３】
また、第１段階では、冗長ロボットである機械装置Ｃ，Ｄに関する作業プログラム（第１作業プログラム）をシミュレーションで実行し、そのシミュレーションの中で、該作業プログラム（第１作業プログラム）で教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の該機械装置Ｃ，Ｄが備える各軸の負荷トルクを算出して、電力消費及び回生パターン（電力消費・回生パターンＰ１（ｔ，Φ）、Ｐ２（ｔ，Φ））を取得する第３段階と、機械装置Ａ，Ｂ（非冗長機械装置）に関する作業プログラム（第２作業プログラム）をシミュレーションで実行し、そのシミュレーションの中で、第２作業プログラムが実行されて動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターン（電力消費・回生パターンＰ３（ｔ），Ｐ４（ｔ））を取得する第４段階が組み合わされている。
【０１１４】
さらに、第１段階では、第５段階としてのＳ３００において、第３段階及び第４段階で取得した電力消費及び回生パターンを総合する。そして、冗長ロボットである機械装置Ｃ，Ｄの姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、前記総合した電力消費及び回生パターンの変動を最小化する機械装置Ｃ，Ｄ（冗長ロボット）のリンク位置姿勢を決定して機械装置Ｃ，Ｄの動作計画をたて、その動作計画に基づいて第１作業プログラムを更新する第６段階を含む。そして、第２段階では、機械装置Ｃ，Ｄ（冗長ロボット）を、前記動作計画に基づいて更新された作業プログラム（第１作業プログラム）に基づいて動作させるとともに、非冗長機械装置である機械装置Ａ，Ｂを、作業プログラム（第２作業プログラム）に基づいて動作させる。
【０１１５】
この結果、本実施形態によれば、冗長ロボットの作業プログラム（第１作業プログラム）及び非冗長機械装置である機械装置の作業プログラムのシミュレーションを行うことにより、上記（１）の効果を容易に実現できる。
【０１１６】
（３）  本実施形態の機械装置間の電力回生システムは、減速時に相互に回生エネルギーを供給可能に電気的に接続されるとともに、作業自由度に対して１つの冗長自由度を有する機械装置Ｃ，Ｄ（冗長ロボット）を２台含む複数の機械装置Ａ〜Ｄを備える。
【０１１７】
また、電力回生システムは、機械装置Ｃ，Ｄ（冗長ロボット）を含む機械装置間の加速・減速タイミングの協調をとって、当該組み合わせた一部の機械装置の減速時に生じる回生エネルギーを当該組み合わせた残りの他の機械装置の加速エネルギーとして利用するとき、機械装置Ｃ，Ｄ（冗長ロボット）の姿勢変更の加減速動作を利用してエネルギー需給バランスをとるように当該組み合わせた前記冗長ロボットの動作計画を立てる上位コントローラ２００（動作計画生成部）を備える。
【０１１８】
また、組み合わせた機械装置Ｃ，Ｄ（冗長ロボット）の制御部１８０，１９０は、動作計画に基づいて機械装置Ｃ，Ｄ（冗長ロボット）を動作させるとともに、非冗長機械装置の機械装置Ａ，Ｂの制御部１６０，１７０は、機械装置Ｃ，Ｄ（冗長ロボット）とともに該機械装置を動作させる。この結果、本電力回生システムによれば、力行時の消費電流（力行電力）と回生時の回生電流（回生電力）をより合わせやすくして、回生抵抗を省略若しくは小さいものにすることができ、このことによって消費エネルギーを低減化できるとともに、回生抵抗を小さくできることから、回生抵抗が収納される制御盤を小型化、及び低コスト化ができる電力回生システムとなる。
【０１１９】
（４）  本実施形態の機械装置間の電力回生システムは、上位コントローラ２００（動作計画生成部）は、機械装置Ｃ，Ｄ（冗長ロボット）に関する作業プログラム（第１作業プログラム）をシミュレーションで実行し、そのシミュレーションの中で、詐欺プログラム（第１作業プログラム）で教示されている手先位置姿勢毎に、該手先位置姿勢を目標値とした拘束条件の下で、前記冗長自由度が許容するリンク位置姿勢を変化させた場合の機械装置Ｃ，Ｄ（冗長ロボット）が備える各軸の負荷トルクを算出して、電力消費及び回生パターン（電力消費・回生パターンＰ１（ｔ，Φ）、Ｐ２（ｔ，Φ））を取得する第１電力消費・回生パターン取得部として機能する。また、上位コントローラ２００（動作計画生成部）は、機械装置Ａ，Ｂ（非冗長機械装置）に関する作業プログラム（第２作業プログラム）をシミュレーションで実行し、そのシミュレーションの中で、作業プログラム（第２作業プログラム）で動作したときの各軸の負荷トルクを算出して、電力消費及び回生パターン（電力消費・回生パターンＰ３（ｔ），Ｐ４（ｔ））を取得する第２電力消費・回生パターン取得部として機能する。
【０１２０】
さらに、上位コントローラ２００（動作計画生成部）は、取得した電力消費及び回生パターン（電力消費・回生パターンＰ１（ｔ，Φ）、Ｐ２（ｔ，Φ），Ｐ３（ｔ），Ｐ４（ｔ）を総合する総合部として機能する。
【０１２１】
そして、上位コントローラ２００（動作計画生成部）は、機械装置Ｃ，Ｄ（冗長ロボット）の姿勢変更の加減速動作を利用して、エネルギー需給バランスをとるように、総合した電力消費及び回生パターン（Ｐ（ｔ））の変動を最小化する機械装置Ｃ，Ｄ（冗長ロボット）のリンク位置姿勢を決定して機械装置Ｃ，Ｄ（冗長ロボット）の動作計画をたて、その動作計画に基づいて作業プログラム（第１作業プログラム）を更新する更新部として機能する。そして、機械装置Ｃ，Ｄ（冗長ロボット）の制御部１８０，１９０は、更新された作業プログラム（第１作業プログラム）に基づいて、当該機械装置Ｃ，Ｄ（冗長ロボット）を動作させ、また、機械装置Ａ，Ｂ（非冗長機械装置）の制御部１６０，１７０は、当該機械装置Ａ，Ｂの作業プログラム（第２作業プログラム）に基づいて機械装置Ａ，Ｂを動作させる。この結果、本実施形態の電力回生システムでは、冗長ロボットの作業プログラム（第１作業プログラム）及び非冗長機械装置である機械装置の作業プログラムのシミュレーションを行うことにより、上記（３）の効果を容易に実現できる。
【０１２２】
なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・  前記実施形態では、機械装置Ａは、直交軸を有する工作機械等としたが、多軸工作機械のように直交軸のみならず、関節軸が回転軸を有する機械装置であってもよい。この場合、図６のＳ４２では、各軸の加速度及び角加速度を計算するものとする。この場合、軸位置は、当該回転軸回りの回転位置を示す回転軸位置を含む。
【０１２３】
・  前記実施形態では、４台の機械装置で説明したが、少なくとも１台の冗長ロボットを含み、多の機械装置は、非冗長機械装置であってもよい。また、機械装置の台数は、２台以上であればよい。
【０１２４】
・  前記実施形態では、アクチュエータをサーボモータとしてのＡＣモータを使用したが、ＤＣモータでもよく、ステッピングモータ等を使用してもよい。
・  前記実施形態では、１つの冗長自由度をもつようにしたが、１つの冗長自由度に限定するものではなく、２つ以上の冗長自由度をもつロボット制御装置及び制御方法にも適用できる。
【０１２５】
・  前記実施形態では、回生抵抗を従来よりも小さくできるようにしたが、力行時の消費電流（力行電力）と回生時の回生電流（回生電力）を同じにすることが１００％できる場合は回生抵抗を省略してもよい。
【０１２６】
・  前記実施形態では、非冗長機械装置の機械装置Ａ，Ｂについては、シミュレーションを行うことにより、電力消費・回生パターンＰ３（ｔ），Ｐ４（ｔ）を取得するようにしたが、シミュレーションに限定するものではなく、非冗長機械装置の機械装置では、それぞれ、力行時の消費電流及び回生時の回生電流を実測した値（実測値）であってもよい。
【符号の説明】
【０１２７】
Ａ，Ｂ，Ｃ，Ｄ…機械装置、
１０…マニピュレータ、１１〜１８…リンク、
１６０、１７０、１８０、１９０…制御部、
２００…上位コントローラ（動作計画生成部、第１電力消費・回生パターン取得部、第２電力消費・回生パターン取得部、総合部、及び更新部）。
【図１】
2013220478.tif 000010
【図２】
2013220478.tif 000011
【図３】
2013220478.tif 000012
【図４】
2013220478.tif 000013
【図５】
2013220478.tif 000014
【図６】
2013220478.tif 000015
【図７】
2013220478.tif 000016
【図８】
2013220478.tif 000017
【図９】
2013220478.tif 000018
【図１０】
2013220478.tif 000019
【図１１】
2013220478.tif 000020