(57)【要約】【課題】実際に動作させずに、ロボットシステムの消費電力を正確に把握する。【解決手段】消費電力推定装置(2)は、ロボット(1)の動作プログラムを実行する実行部と、ロボットの各軸モータの速度を算出する速度算出部(32)と、各軸モータのトルクを算出するトルク算出部(33)と、各軸モータの電流値を算出する電流値算出部(34)と、各軸モータの仕事量を算出する仕事量算出部(35)と、各軸モータの発熱量を算出するモータ発熱量算出部(36)と、各軸モータのアンプの発熱量を求めるアンプ発熱量算出部(37)と、ロボット制御装置の出力電力量を算出する出力電力量算出部(38)と、ロボット制御装置の発熱量を算出する制御装置発熱量算出部(39)と、各軸モータの仕事量、各軸モータの発熱量、アンプの発熱量、およびロボット制御装置の発熱量からロボットシステムの消費電力を算出する消費電力算出部(40)とを含む。【選択図】図３
2011005623.tif 000002
【特許請求の範囲】
【請求項１】
ロボットおよび該ロボットを制御するロボット制御装置を含むロボットシステムの消費電力をシミュレーションにより推定する消費電力推定装置において、
前記ロボットの動作プログラムを実行する実行部と、
前記ロボットの各軸を駆動する各軸モータの速度を単位時間毎に算出する速度算出部と、
前記各軸モータのトルクを単位時間毎に算出するトルク算出部と、
前記トルク算出部および前記速度算出部によりそれぞれ算出された前記各軸モータの前記トルクおよび前記速度とを時系列に関連づけて記憶する記憶部と、
前記各軸モータの前記トルクに基づいて、前記各軸モータに流れる電流値を算出する電流値算出部と、
該電流値算出部により算出された前記電流値と前記速度とに基づいて、前記各軸モータの仕事量を算出する仕事量算出部と、
前記電流値と前記各軸モータの巻線抵抗とに基づいて、前記各軸モータの発熱量を算出するモータ発熱量算出部と、
前記電流値から前記各軸モータのアンプの発熱量を求めるアンプ発熱量算出部と、
前記仕事量算出部により算出された前記各軸モータの仕事量、前記モータ発熱量算出部により算出された前記各軸モータの発熱量、および前記アンプ発熱量算出部により算出された前記アンプの発熱量に基づいて、前記ロボット制御装置の出力電力量を算出する出力電力量算出部と、
該出力電力量算出部により算出された前記ロボット制御装置の出力電力量と前記ロボット制御装置の抵抗とに基づいて、前記ロボット制御装置の発熱量を算出する制御装置発熱量算出部と、
前記各軸モータの仕事量、前記各軸モータの発熱量、前記アンプの発熱量、および前記ロボット制御装置の発熱量を加算して、前記ロボットシステムの単位時間毎の消費電力を算出する消費電力算出部とを具備する、消費電力推定装置。
【請求項２】
さらに、前記各軸モータの前記速度、または前記算出した消費電力が基準値を越えているか否かを評価する評価部を具備する、請求項１に記載の消費電力推定装置。
【請求項３】
さらに、前記消費電力の削減割合を指定する指定部と、
前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも大きい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ小さくすると共に、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも小さい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ大きくする変更部とを具備する、請求項１に記載の消費電力推定装置。
【請求項４】
さらに、前記動作プログラムを実行するのに必要なサイクルタイムの短縮割合を指定する指定部と、
前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも大きい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ小さくすると共に、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも小さい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ大きくする変更部とを具備する、請求項１に記載の消費電力推定装置。
【請求項５】
前記各軸モータの速度、または前記算出した消費電力の前記基準範囲は前記指定部より指定されるようにした、請求項３または４に記載の消費電力推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットオフラインプログラミングシステムにてロボット動作のシミュレーションにより、ロボットシステムの消費電力を推定する消費電力推定装置に関する。
【背景技術】
【０００２】
ロボットシステムにおいては、制御装置により制御されるロボットがハンドリングまたはスポット溶接に関する一連の動作を繰返し行う場合がある。近年では、このような繰返しを伴う作業を行う際のロボットシステムの消費電力を求めることが要求されている。
【０００３】
その理由は、例えばロボットシステムの消費電力に基づいて、そのロボットシステムに関する年間計画を正確に立案するためである。あるいは、ロボットシステムの消費電力が予め把握できる場合には、ロボットの動作を改良して、消費電力を事前に削減することも要求される。
【０００４】
ところで、特許文献１は、ロボットのシミュレーションにおいて、各軸のモータの電流値を推定することを開示している。そして、特許文献１においては、推定された電流値に基づいて、各軸モータの負荷が許容値を超えるか否か、または、各軸のモータがオーバヒートするか否かという判定が行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９４６７５３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では各軸モータの負荷および電流値を推定できるものの、ロボット動作に対する各軸モータの仕事量、損失、アンプの損失、制御装置の損失を推定することはできず、その結果、ロボットシステムの消費電力を正確に把握することはできなかった。
【０００７】
そして、ロボットシステムの消費電力を予め把握できないことから、消費電力を削減するようにロボットの動作を改良することも当然にできなかった。
【０００８】
本発明はこのような事情に鑑みてなされたものであり、繰返しを伴う作業を行うロボットを実際に動作させることなしに、ロボットシステムの消費電力を正確に把握することのできる消費電力推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前述した目的を達成するために１番目の発明によれば、ロボットおよび該ロボットを制御するロボット制御装置を含むロボットシステムの消費電力をシミュレーションにより推定する消費電力推定装置において、前記ロボットの動作プログラムを実行する実行部と、前記ロボットの各軸を駆動する各軸モータの速度を単位時間毎に算出する速度算出部と、前記各軸モータのトルクを単位時間毎に算出するトルク算出部と、前記トルク算出部および前記速度算出部によりそれぞれ算出された前記各軸モータの前記トルクおよび前記速度とを時系列に関連づけて記憶する記憶部と、前記各軸モータの前記トルクに基づいて、前記各軸モータに流れる電流値を算出する電流値算出部と、該電流値算出部により算出された前記電流値と前記速度とに基づいて、前記各軸モータの仕事量を算出する仕事量算出部と、前記電流値と前記各軸モータの巻線抵抗とに基づいて、前記各軸モータの発熱量を算出するモータ発熱量算出部と、前記電流値から前記各軸モータのアンプの発熱量を求めるアンプ発熱量算出部と、前記仕事量算出部により算出された前記各軸モータの仕事量、前記モータ発熱量算出部により算出された前記各軸モータの発熱量、および前記アンプ発熱量算出部により算出された前記アンプの発熱量に基づいて、前記ロボット制御装置の出力電力量を算出する出力電力量算出部と、該出力電力量算出部により算出された前記ロボット制御装置の出力電力量と前記ロボット制御装置の抵抗とに基づいて、前記ロボット制御装置の発熱量を算出する制御装置発熱量算出部と、前記各軸モータの仕事量、前記各軸モータの発熱量、前記アンプの発熱量、および前記ロボット制御装置の発熱量を加算して、前記ロボットシステムの単位時間毎の消費電力を算出する消費電力算出部とを具備する、消費電力推定装置が提供される。
【００１０】
すなわち１番目の発明においては、繰返しを伴う作業を行うロボットを実際に動作させることなしに、ロボットシステムの消費電力を正確に把握することができる。このため、正確な消費電力に基づいたロボットシステムの年間計画を立案でき、必要経費を正確に求めることができる。
【００１１】
２番目の発明によれば、１番目の発明において、さらに、前記各軸モータの前記速度、または前記算出した消費電力が基準値を越えているか否かを評価する評価部を具備する。
すなわち２番目の発明においては、各軸モータの速度が基準値を超えている場合に操作者に注意を促すことができる。対応するプログラム行を強調表示して、操作者に注意を促すのが好ましい。
【００１２】
３番目の発明によれば、１番目の発明において、さらに、前記消費電力の削減割合を指定する指定部と、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも大きい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ小さくすると共に、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも小さい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ大きくする変更部とを具備する。
すなわち３番目の発明においては、動作プログラムの速度指令を自動的に変更することにより、ロボットのアームに大きな負荷が掛かるのを避けることができる。
【００１３】
４番目の発明によれば、１番目の発明において、さらに、前記動作プログラムを実行するのに必要なサイクルタイムの短縮割合を指定する指定部と、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも大きい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ小さくすると共に、前記各軸モータの速度、または前記算出した消費電力が基準範囲よりも小さい場合には前記動作プログラムにおける対応する速度指令、または加速度指令を所定量だけ大きくする変更部とを具備する。
すなわち４番目の発明においては、動作プログラムの速度指令を自動的に変更することにより、ロボットのアームに大きな負荷が掛かるのを避けることができる。
【００１４】
５番目の発明によれば、３番目または４番目の発明において、前記各軸モータの速度、または前記算出した消費電力の前記基準範囲は前記指定部より指定されるようにした。
すなわち５番目の発明においては、消費電力またはサイクルタイムを所望の通りに小さくできない場合に、各軸モータの速度の基準範囲を変更することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に基づく消費電力推定装置を含むロボットシステムの略図である。
【図２】図１のロボットシステムに含まれるロボット制御装置のブロック図である。
【図３】図１に示される消費電力推定装置のブロック図である。
【図４】本発明に基づく消費電力推定装置のシミュレーション動作を示すフローチャートである。
【図５】消費電力推定装置の他の動作を示すフローチャートである。
【図６】（ａ）各軸モータの速度と時間との関係を示す図である。（ｂ）動作プログラムの一部を示す図である。
【図７】消費電力推定装置においてモータ速度が基準範囲を超えるか否かを判断して消費電力を削減する際の動作を示すフローチャートである。
【図８】消費電力推定装置においてモータ速度が基準範囲を超えるか否かを判断してサイクルタイムを短縮する際の動作を示すフローチャートである。
【図９】消費電力推定装置において消費電力が基準範囲を超えるか否かを判断して消費電力を削減する際の動作を示すフローチャートである。
【図１０】消費電力推定装置において消費電力が基準範囲を超えるか否かを判断してサイクルタイムを短縮する際の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づく消費電力推定装置を含むロボットシステムの略図である。図１に示されるロボットシステムは、ロボット１、例えば複数のアームを備えた六軸多関節ロボットと、ロボット１を制御するロボット制御装置５とを主に含んでいる。ロボット制御装置５には、教示操作盤１８が接続されている。教示操作盤１８は、手動操作キーおよびディスプレイを備えており、操作者は教示操作盤１８を操作することにより、ロボット１を操作することができる。さらに、図１に示されるように、ロボット制御装置５には、ロボットシステムの消費電力を推定する消費電力推定装置２が接続されている。
【００１７】
図２は、図１のロボットシステムに含まれるロボット制御装置のブロック図である。図２に示されるように、メインＣＰＵ１１に接続されたバス１７に、ＲＡＭ、ＲＯＭ、不揮発性メモリ等からなるメモリ１２、教示操作盤用インターフェイス１３、外部装置用の入出力インターフェイス１６、サーボ制御部１５および通信インターフェイス１４が並列に接続されている。
【００１８】
操作者は、教示操作盤用インターフェイス１３に接続された教示操作盤１８を操作することにより、ロボット１の動作プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された動作プログラムの再生運転、ジョグ送り等を実行する。本発明において実行される動作プログラムは、ロボットのハンドリングまたはスポット溶接に関する繰返し動作を含むプログラムである。
【００１９】
また、ロボット１およびロボット制御装置５の基本機能を支えるシステムプログラムは、メモリ１２のＲＯＭに格納される。また、アプリケーションに応じて教示されるロボットの動作プログラムおよび関連する設定データは、メモリ１２の不揮発性メモリに格納される。
【００２０】
メモリ１２のＲＡＭは、メインＣＰＵ１１が行なう各種演算処理におけるデータの一時記憶の記憶領域に使用される。サーボ制御部１５はサーボ制御器＃１〜＃ｎ（ｎはロボットの総軸数であり、ここではｎ＝６とする）を含んでいる。サーボ制御部１５は、ロボット１を制御するための演算処理（軌道計画作成とそれに基づく補間、逆変換など）によって作成された移動指令を受け、各軸に付属したパルスコーダ（図示省略）から受け取るフィードバック信号と併せてサーボアンプＡ１〜Ａｎにトルク指令を出力する。
【００２１】
これらサーボアンプＡ１〜Ａｎは、各トルク指令に基づいて各軸のサーボモータＭ１〜Ｍｎ（適宜、各軸モータと称す）に電流を供給して、それらを駆動する。通信インターフェイス１４は、消費電力推定装置２に接続されている。ただし、消費電力推定装置２が必ずしもロボット制御装置５に接続される必要はなく、消費電力推定装置２がオフラインで動作するようにしてもよい。
【００２２】
図３は図１に示される消費電力推定装置のブロック図である。消費電力推定装置２はデジタルコンピュータであり、ＣＰＵ２１と記憶部２２とを主に含んでいる。また、図３に示されるように消費電力推定装置２には、表示部３、例えばＣＲＴまたは液晶ディスプレイと、指定部２５、例えばマウスまたはキーボードが接続されている。
【００２３】
図３に示されるように、ＣＰＵ２１は、ロボット１の動作プログラムを実行してシミュレーションを行う実行部３１と、シミュレーション時における各軸モータの速度および各軸のトルクを単位時間毎にそれぞれ算出する速度算出部３２およびトルク算出部３３とを含んでいる。
【００２４】
さらに、ＣＰＵ２１は、モータＭ１〜Ｍｎのそれぞれに流れる電流値を算出する電流値算出部３４と、電流値と速度とに基づいてモータＭ１〜Ｍｎのそれぞれの仕事量を算出する仕事量算出部３５と、電流値とモータＭ１〜Ｍｎの巻線抵抗とに基づいてモータＭ１〜Ｍｎのそれぞれの発熱量を算出するモータ発熱量算出部３６と、電流値からモータＭ１〜ＭｎのサーボアンプＡ１〜Ａｎのそれぞれの発熱量を求めるアンプ発熱量算出部３７とを含んでいる。
【００２５】
さらに、ＣＰＵ２１は、仕事量算出部３５により算出されたモータＭ１〜Ｍｎの仕事量、モータ発熱量算出部３６により算出されたモータＭ１〜Ｍｎの発熱量、およびアンプ発熱量算出部３７により算出されたアンプＡ１〜Ａｎの発熱量に基づいて、ロボット制御装置５の出力電力量を算出する出力電力量算出部３８を含んでいる。
【００２６】
さらに、ＣＰＵ２１は、出力電力量算出部３８により算出されたロボット制御装置５の出力電力量とロボット制御装置５の抵抗とに基づいてロボット制御装置５の発熱量を算出する制御装置発熱量算出部３９を含んでいる。さらに、ＣＰＵ２１は、モータＭ１〜Ｍｎの仕事量、モータＭ１〜Ｍｎの発熱量、アンプＡ１〜Ａｎの発熱量、およびロボット制御装置５の発熱量を加算して、ロボットシステムの単位時間毎の消費電力を算出する消費電力算出部４０を含んでいる。
【００２７】
さらに、ＣＰＵ２１は、モータＭ１〜Ｍｎの速度、または前記算出した消費電力が基準値を越えているか否かを評価する評価部４１と、モータＭ１〜Ｍｎの速度、または前記算出した消費電力が基準範囲から逸脱している場合に動作プログラムにおける対応するプログラム行の速度指令、または加速度指令を所定量だけ変更する変更部４２とを含んでいる。
【００２８】
また、記憶部２２には、速度算出部３２およびトルク算出部３３によりそれぞれ算出されたトルクおよび速度４３が時系列に関連づけて記憶される。さらに、記憶部２２には、各種の定数４４および基準値および基準範囲などの基準データ４５が記憶される。なお、記憶部２２がロボット制御装置５のメモリ１２を兼ねるか、またはメモリ１２内のデータを格納するようにしても良い。
【００２９】
図４は消費電力推定装置のシミュレーション動作１００を示すフローチャートである。以下、図４を参照して、本発明の消費電力推定装置２の動作について説明する。はじめに、ステップ１０１において、消費電力推定装置２がロボット１の動作プログラムを読出して、ロボット１の動作のシミュレーションを実施する。この動作プログラムは、ハンドリングまたはスポット溶接に関する一連の動作の繰返しを含むものとする。
【００３０】
動作プログラムのシミュレーションにより単位時間毎のロボット１のアームの移動距離、移動方向等が把握される。また、シミュレーションを実施することにより、ロボット１が動作プログラムに沿った動作を行うのに要する時間（以下、サイクルタイムと称す）も把握される。
【００３１】
そして、ステップ１０２において、速度算出部３２が、モータＭ１〜Ｍｎの速度Ｖを単位時間毎に算出する。具体的には、速度算出部３２は、アームの移動距離を単位時間で除算することにより、モータＭ１〜Ｍｎのそれぞれの速度Ｖを単位時間毎に算出する。
【００３２】
次いで、ステップ１０３において、トルク算出部３３は、モータＭ１〜Ｍｎの軸部に掛かるトルクτを単位時間毎に算出する。トルクτの算出は公知であるので、以下に簡潔に示す。
【００３３】
はじめにニュートンの運動の第二法則に基づいてモータＭ１〜Ｍｎのそれぞれに作用する外力の合力0ｆiを求める。そして、オイラー運動式に基づいて、以下の式から外力のモーメント0ｎiを算出する。
ｎ＝Ｉ・ω’＋ω×（Ｉ・ω）
ここで、Ｉは剛体慣性テンソル［ｇ・ｍ2］であり、ω’はロボット１の各軸の角加速度であり、ωはロボット１の各軸の角速度である。なお、外力およびモーメントの算出時にはロボット１のＤＨパラメタが使用される。
その後、以下の式に基づいて、各軸のトルクτを算出する。ただし、0ｚiTはＺ軸を関節ｉの軸方向にあわせた、手先側に向かう方向（ベクトル）を示す。
τi=0ｚiT×0ｎi     (回転関節)
τi=0ｚiT×0ｆi      (直動関節)
【００３４】
次いで、ステップ１０３において得られたトルクτにトルク定数を乗算することにより、電流値算出部３４が、モータＭ１〜Ｍｎの電流値を単位時間毎に算出する（ステップ１０４）。
【００３５】
次いで、ステップ１０５において、仕事量算出部３５が、以下の式に基づいてモータＭ１〜Ｍｎの仕事量Ｐ１［Ｗ］を単位時間毎に算出する。
Ｐ１＝ＩＱ×Ｋｔ×Ｖ
ここで、ＩＱはＱ相電流［Ａｐ］、Ｋｔはトルク定数［Ｎｍ／Ａｐ］、Ｖはモータ速度［ｒａｄ／ｓｅｃ］である。なお、仕事量Ｐ１は、モータＭ１〜Ｍｎの各仕事量の合計値であり、以下、同様であるものとする。
【００３６】
次いで、ステップ１０６において、モータ発熱量算出部３６が、以下の式に基づいてモータＭ１〜Ｍｎの発熱量Ｐ２［Ｗ］を損失として単位時間毎に算出する。
Ｐ２＝３×ＩＥＦＦ2×Ｒ
ここで、ＩＥＦＦは二乗平均電流［Ａｐ］、ＲはモータＭ１〜Ｍｎの巻線抵抗（一相分）［Ω］である。
【００３７】
次いで、ステップ１０７において、アンプ発熱量算出部３７が、アンプＡ１〜Ａｎの発熱量Ｐ３［Ｗ］を単位時間毎に算出する。
Ｐ３＝Ａ＋Ｂ×ＩＥＦＦ
ここで、Ａはサーボアンプ損失係数［Ｗ］、Ｂはサーボアンプ損失係数［Ｗ／Ａｐ］、ＩＥＦＦは二乗平均電流［Ａｐ］である。なお、サーボアンプ損失係数Ａ、Ｂは、各アンプＡ１〜Ａｎに応じて定まる値である。
【００３８】
次いで、ステップ１０８において、出力電力量算出部３８が、以下の式に基づいて、ロボット制御装置５の出力電力量を単位時間毎に算出する。
Ｐ’＝Ｐ１＋Ｐ２＋Ｐ３
そして、制御装置発熱量算出部３９が以下の式に基づいてロボット制御装置５の発熱量を算出する。
Ｐ４＝Ｄ×（｜Ｐ１＋Ｐ２＋Ｐ３｜）
ここで、Ｄは制御装置損失係数［Ｗ／Ｗ］である。
【００３９】
最終的に、ステップ１０９において、消費電力算出部４０が、以下の式に基づいてロボット１の消費電力ＰＡを単位時間毎に算出する。
ＰＡ＝Ｐ１＋Ｐ２＋Ｐ３＋Ｐ４
【００４０】
このように、本発明においては、繰返し動作についての動作プログラムをシミュレーションして、ロボット１を実際に動作させることなしに、ロボットシステムの消費電力ＰＡを正確に算出することができる。従って、ロボット１の購入者等は、算出された消費電力ＰＡに基づいてロボットシステムの年間計画を立案し、必要経費を正確に求めることが可能となる。
【００４１】
ところで、動作プログラムに基づいてロボット１を実際に動作させた場合に、ロボット１のアームに掛かるトルクが大き過ぎると、アームに負荷が掛かって破損する可能性がある。このため、算出された消費電力ＰＡが好ましい値である場合であっても、アームに掛かる負荷を予め抑えておくことが望ましい。
【００４２】
図５は、そのような場合に実施される、消費電力推定装置２の他の動作を示すフローチャートである。図５のステップ２０１においては、操作者が、指定部２５、例えばマウスまたはキーボードを用いてモータＭ１〜Ｍｎの速度基準値ＶＡを指定する。速度基準値ＶＡは全てのモータＭ１〜Ｍｎに対して共通の値でもよく、各モータＭ１〜Ｍｎに対する個別の値であってもよい。また、速度基準値ＶＡは記憶部２２に記憶された基準データ４５に予め記憶されていてもよい。なお、ステップ２０１で指定される速度基準値ＶＡは速度Ｖに対する上限値であるものとする。
【００４３】
次いで、図４を参照して説明したシミュレーション動作１００を実施する。そして、シミュレーション動作１００のステップ１０３で算出されたモータＭ１〜Ｍｎの速度Ｖを取得する（ステップ２０２）。
【００４４】
その後、消費電力推定装置２の評価部４１が、モータＭ１〜Ｍｎの速度Ｖと速度基準値ＶＡとを比較する（ステップ２０３）。ここで、図６（ａ）は各軸モータの速度と時間との関係を示す図である。速度Ｖが速度基準値ＶＡよりも大きい場合、例えば速度Ｖが図６（ａ）における円Ｒ１内に在るときには、ステップ２０４に進む。また、速度Ｖが速度基準値ＶＡよりも大きくない場合には、アームに掛かる負荷は小さいといえるので、処理を終了する。
【００４５】
ステップ２０４においては、速度基準値ＶＡを越えた速度Ｖに対応する動作プログラムのプログラム行を特定する。プログラム行は、速度Ｖが速度基準値ＶＡを越えたときの時間に基づいて特定される。図６（ｂ）は動作プログラムの一部を示す図である。図６（ｂ）においては、動作プログラムの一部が消費電力推定装置２の表示部３に表示されており、特定されたプログラム行が強調表示されている。なお、他の手法により該当するプログラム行を特定してもよい。
【００４６】
このようにプログラム行を特定することによって、操作者に対して注意を促すことが可能となる。プログラム行が特定された場合には、操作者は指定部２５または教示操作盤１８を用いて、プログラム行の指令速度を変更すればよい。これにより、ロボット１を実際に動作させることなしに、アームに大きな負荷が掛かるのを予め避けることが可能となる。なお、当然のことながら、トルク算出部３３により算出されたトルクを同様な基準値と比較して、プログラム行を特定するようにしてもよい。
【００４７】
ところで、実際のロボットシステムにおいて測定された現在の消費電力Ｐｃが所望の値よりも大きい場合には、消費電力ＰＡを小さくすることが望まれる。図７は、そのような場合に実施される、消費電力を削減する際の動作を示すフローチャートである。
【００４８】
はじめに、図７のステップ３０１において、操作者が、消費電力ＰＡを削減する割合を指定部２５により指定する。次いで、ステップ３０２において、現在の消費電力ＰＡに削減の割合を乗算して、目標消費電力Ｐ０を算出する。
【００４９】
次いで、図４を参照して説明したシミュレーション動作１００を実施し、消費電力ＰＡを新たに算出する。そして、ステップ３０３において、算出後の消費電力ＰＡと目標消費電力Ｐ０とを比較し、消費電力ＰＡが目標消費電力Ｐ０よりも大きい場合にはステップ３０４に進む。消費電力ＰＡが目標消費電力Ｐ０よりも大きくない場合には、消費電力ＰＡは既に小さいといえるので処理を終了する。
【００５０】
ステップ３０４においては、操作者が指定部２５によってモータＭ１〜Ｍｎの速度に基準範囲を指定する。ここで、基準範囲は、モータＭ１〜Ｍｎの速度上限値と速度下限値との間の範囲を意味する。例えば図６（ａ）においては、速度上限値ＶＡと速度下限値ＶＢとにより仕切られる領域がモータＭ１〜Ｍｎの基準範囲である。あるいは、基準範囲は記憶部２２に記憶された基準データ４５に予め記憶されていてもよい。
【００５１】
次いで、シミュレーション動作１００のステップ１０３において得られたモータＭ１〜Ｍｎの速度Ｖを取得して、基準範囲と比較する（ステップ３０５）。つまり、ステップ３０５においては、速度Ｖが速度上限値ＶＡよりも大きいか否か、および速度Ｖが速度下限値ＶＢよりも小さいか否かが判定される。そして、速度Ｖが速度上限値ＶＡよりも大きい場合、および／または速度Ｖが速度下限値ＶＢよりも小さい場合には、ステップ３０６に進む。なお、速度Ｖが速度上限値ＶＡよりも大きくなくて、且つ速度下限値ＶＢよりも小さくない場合には、処理を終了する。
【００５２】
ステップ３０６においては、速度の基準範囲を越えた速度Ｖに対応する動作プログラムのプログラム行を特定する。プログラム行を特定するためには、図６（ｂ）を参照して説明したのと同様に、該当するプログラム行を強調表示するのが好ましい。前述したように、速度Ｖが基準範囲を越えている場合にはアームに大きなトルクが掛かりやすい。従って、本実施形態においても、対応するプログラム行を特定することによって、操作者に対して注意を促すことが可能となる。
【００５３】
なお、本実施形態においては、速度Ｖが速度上限値ＶＡよりも大きい場合および速度下限値ＶＢよりも小さい場合の両方がありうる（図６（ａ）の円Ｒ２を参照されたい）。そのような場合には、対応する複数のプログラム行が特定されるものとする。
【００５４】
次いで、ステップ３０７においては、特定されたプログラム行における指令速度が変更部４２によって所定の微少量だけ自動的に変更される。具体的には、変更部４２は、速度Ｖが速度上限値ＶＡよりも大きい場合には対応するプログラム行の速度指令を微少量だけ小さくすると共に、速度Ｖが速度下限値ＶＢよりも小さい場合には対応するプログラム行の速度指令を微少量だけ大きくする。
【００５５】
次いで、シミュレーション動作１００に戻り、処理を繰返す。その後、ステップ３０４においては、基準範囲の指定を省略してもよい。あるいは、ステップ３０３において消費電力ＰＡが目標消費電力Ｐ０よりも未だ大きい場合には、ステップ３０４にて基準範囲の速度上限値ＶＡをわずかながら小さく、および／または速度下限値ＶＢをわずかながら大きく指定し直すこともできる。つまり、本発明においては、消費電力ＰＡを所望の通りに小さくできない場合には、モータＭ１〜Ｍｎの速度の基準範囲を変更することが可能である。そして、モータＭ１〜Ｍｎの速度Ｖが、指定された基準範囲に入るまで処理を繰返す。これにより、ロボット１のアームに大きな負荷が掛かるのを予め避けることが可能となる。
【００５６】
また、図９は、前記算出した消費電力が基準範囲を超えるか否かを判断して消費電力を削減する際の動作を示すフローチャートである。
図９のステップ５０１において、操作者が、消費電力ＰＡを削減する削減割合を指定部２５により指定する。次いで、ステップ５０２において、現在の消費電力ＰＡに削減割合を乗算して、目標消費電力Ｐ０を算出する。
【００５７】
次いで、図４を参照して説明したシミュレーション動作１００を実施し、消費電力ＰＡを新たに算出する。そして、ステップ５０３において、算出後の消費電力ＰＡと目標消費電力Ｐ０とを比較し、消費電力ＰＡが目標消費電力Ｐ０よりも大きい場合にはステップ５０４に進む。消費電力ＰＡが目標消費電力Ｐ０よりも大きくない場合には、消費電力ＰＡは既に小さいといえるので処理を終了する。
【００５８】
ステップ５０４においては、消費電力の基準範囲を越えた消費電力ＰＡに対応する動作プログラムのプログラム行を特定する。プログラム行を特定するためには、図６ｂを参照して説明したのと同様に、該当するプログラム行を強調表示するのが好ましい。なお、消費電力の基準範囲（上限値と下限値との間の範囲）は、操作者が指定部２５によって予め定めてもよく、また消費電力の算出後に定めても良い。後述する図１０の場合も同様である。
【００５９】
次いで、ステップ５０５においては、特定されたプログラム行における速度指令、または加速度指令が変更部４２によって所定の微少量だけ自動的に変更される。具体的には、変更部４２は、消費電力ＰＡが消費電力基準範囲よりも大きい場合には対応するプログラム行の速度指令、または加速度指令を微少量だけ小さくすると共に、消費電力ＰＡが消費電力基準範囲よりも小さい場合には対応するプログラム行の速度指令、または加速度指令を微少量だけ大きくする。
【００６０】
次いで、シミュレーション動作１００に戻り、処理を繰返す。ステップ５０３において消費電力ＰＡが目標消費電力Ｐ０よりも未だ大きい場合には、ステップ５０４にて基準範囲の消費電力上限値をわずかながら小さく、および／または消費電力下限値をわずかながら大きく指定し直すこともできる。つまり、本発明においては、消費電力ＰＡを所望の通りに小さくできない場合には、消費電力の基準範囲を変更することが可能である。そして、消費電力が、指定された基準範囲に入るまで処理を繰返す。
【００６１】
ところで、ロボットシステムの実際のサイクルタイムが所望の値よりも大きい場合には、サイクルタイムを短縮することが望まれる。図８は、そのような場合に実施される、サイクルタイムを短縮する際の動作を示すフローチャートである。
【００６２】
図８のステップ４０１において、操作者が、サイクルタイムを短縮する割合を指定部２５により指定する。次いで、ステップ４０２において、実測された現在のサイクルタイムに短縮の割合を乗算して、目標サイクルタイムを算出する。
【００６３】
次いで、図４を参照して説明したシミュレーション動作１００を実施し、それにより、サイクルタイムを算出する。そして、ステップ４０３において、算出後のサイクルタイムと目標サイクルタイムとを比較し、サイクルタイムが目標サイクルタイムよりも大きい場合にはステップ４０４に進む。また、サイクルタイムが目標サイクルタイムよりも大きくない場合には、サイクルタイムが十分に小さいといえるので処理を終了する。
【００６４】
図８におけるステップ４０４からステップ４０７は、前述したステップ３０４からステップ３０７と概ね同一であるので、説明を省略する。図８に示される実施形態においても、サイクルタイムを所望の通りに小さくできない場合に、モータＭ１〜Ｍｎの速度の基準範囲を変更することが可能である。そして、プログラム行を自動的に変更することにより、ロボットのアームに大きな負荷が掛かるのを予め避けられるのが分かるであろう。
【００６５】
また、図１０は、前記算出した消費電力が基準範囲を超えるか否かを判断し、消費電力を考慮してサイクルタイムを短縮する際の動作を示すフローチャートである。
図１０のステップ６０１において、操作者が、サイクルタイムを短縮する短縮割合を指定部２５により指定する。次いで、ステップ６０２において、実測された現在のサイクルタイムに短縮割合を乗算して、目標サイクルタイムを算出する。
【００６６】
次いで、図４を参照して説明したシミュレーション動作１００を実施し、それにより、サイクルタイムを算出する。そして、ステップ６０３において、算出後のサイクルタイムと目標サイクルタイムとを比較し、サイクルタイムが目標サイクルタイムよりも大きい場合にはステップ６０４に進む。また、サイクルタイムが目標サイクルタイムよりも大きくない場合には、サイクルタイムが十分に小さいといえるので処理を終了する。
【００６７】
図１０におけるステップ６０４からステップ６０５は、前述したステップ５０４からステップ５０５と概ね同一であるので、説明を省略する。図１０に示される実施形態においても、サイクルタイムを所望の通りに小さくできない場合に、前記消費電力の基準範囲を変更することが可能である。
【符号の説明】
【００６８】
１    ロボット
２    消費電力推定装置
３    表示部
５    ロボット制御装置
１１    メインＣＰＵ
１２    メモリ
１３    教示操作盤用インターフェイス
１４    通信インターフェイス
１５    サーボ制御部
１６    入出力インターフェイス
１７    バス
１８    教示操作盤
２２    記憶部
２５    指定部
３１    実行部
３２    速度算出部
３３    トルク算出部
３４    電流値算出部
３５    仕事量算出部
３６    モータ発熱量算出部
３７    アンプ発熱量算出部
３８    出力電力量算出部
３９    制御装置発熱量算出部
４０    消費電力算出部
４１    評価部
４２    変更部
４４    定数
４５    基準データ
Ａ１〜Ａｎ    サーボアンプ
Ｍ１〜Ｍｎ    サーボモータ
【図１】
2011005623.tif 000003
【図２】
2011005623.tif 000004
【図３】
2011005623.tif 000005
【図４】
2011005623.tif 000006
【図５】
2011005623.tif 000007
【図６】
2011005623.tif 000008
【図７】
2011005623.tif 000009
【図８】
2011005623.tif 000010
【図９】
2011005623.tif 000011
【図１０】
2011005623.tif 000012