(57)【特許請求の範囲】
【請求項１】
複数の軸を有するロボットアームの動作プログラムを調整するロボットプログラム調整装置において、
前記ロボットアームの前記動作プログラムから動作命令を順次読込んでシミュレーションを実行することにより、過負荷が掛かる軸を前記複数の軸から特定する過負荷特定手段と、
該過負荷特定手段により特定された軸が前記ロボットアームの先端側に位置するかを判定する判定手段と、
前記特定された軸が前記判定手段により前記ロボットアームの先端側に位置すると判定された場合には前記特定された軸よりも基端側に位置する軸に対して付加的な動作を生成すると共に、前記特定された軸が前記判定手段により前記ロボットアームの基端側に位置すると判定された場合には前記特定された軸よりも先端側に位置する軸に対して付加的な動作を生成して、前記特定された軸の負荷を軽減する付加的動作生成手段と、
該付加的動作生成手段により生成された付加的な動作に基づいて前記ロボットアームの前記動作プログラムをシミュレーションにより調整するプログラム調整手段と、を具備するロボットプログラム調整装置。
【請求項２】
前記特定された軸以外の軸が、前記特定された軸よりも前記ロボットアームの先端側に位置している、請求項１に記載のロボットプログラム調整装置。
【請求項３】
前記特定された軸以外の軸が、前記特定された軸よりも前記ロボットアームの基端側に位置している、請求項１に記載のロボットプログラム調整装置。
【請求項４】
前記付加的動作生成手段が前記特定された軸以外の異なる二つの軸のそれぞれに対して前記付加的な動作を生成した場合には、これら付加的な動作のうちの少なくとも二つを合成するようにした、請求項１から３のいずれか一項に記載のロボットプログラム調整装置。
【請求項５】
前記付加的な動作は、前記ロボットアームのハンドに把持されたワークの重心が前記特定された軸の回転中心あるいは移動方向の延長線上に位置するように、前記特定された軸よりも前記ロボットアームの先端側に位置する軸を移動させることを含む請求項２に記載のロボットプログラム調整装置。
【請求項６】
前記付加的な動作は、前記特定された軸よりも前記ロボットアームの基端側の軸の回転中心あるいは移動方向と前記ロボットアームのハンドに把持されたワークの重心との間の水平方向距離が最小になるように、前記特定された軸よりも前記ロボットアームの先端側に位置する軸を動作させることを含む請求項３に記載のロボットプログラム調整装置。
【請求項７】
前記付加的動作生成手段は、前記付加的な動作に基づいて、前記ロボットアームが周辺機器に干渉するかをチェックする干渉チェック手段を含む、請求項１から６のうちのいずれか一項に記載のロボットプログラム調整装置。
【請求項８】
前記特定された軸よりも前記ロボットアームの先端側に位置する軸は、前記ハンドに関連づけられた軸であり、
前記特定された軸よりも前記ロボットアームの先端側に位置する軸の動作は、当該軸に沿った線形運動である、請求項６に記載のプログラム調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の軸を有するロボットアームの動作プログラムを調整するロボットプログラム調整装置に関する。
【背景技術】
【０００２】
一般に、オフラインで作成されたロボットの動作プログラムは、そのまま現場で使用されることはほとんどなく、修正されてから使用されている。これは、オフライン上の世界とオンライン上（現場）の世界で、ワークとロボットの相対的位置関係やロボットの姿勢などが微妙に異なり、ずれを生じるためである。
【０００３】
特許文献１には、シミュレーションを用いて動作プログラムを修正する際に、ロボットの各軸の負荷を算出することが開示されている。
【特許文献１】特開２００７−０５４９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１においては、オフラインによるロボットの各軸の負荷を算出できた場合であっても、そのような負荷もしくは各軸の速度および減速機の寿命がロボットの動作に悪影響を与えるか否かを判断できなかった。つまり、オフラインによるロボットの各軸の負荷、速度および減速機の寿命を考慮していないので、ロボットの動作を高精度で推定することはできず、動作プログラムを正確に修正するのは限界があった。
【０００５】
さらに、特許文献１に開示されるようにロボットの各軸の負荷を算出できた場合であっても、負荷が比較的大きい軸について、その負荷を軽減するためには試行錯誤が必要であった。
【０００６】
つまり、従来技術において軸に掛かる負荷を軽減するためには、動作プログラム内の教示点を変更しつつロボットを実際に動作させて、負荷が軽減したかを調べ、負荷が軽減されるまで教示点を変更する必要があった。このことは、ロボットシステムの構築に多大な時間を必要とする。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、試行錯誤を行うことなしに、負荷の大きい軸についての負荷を軽減することのできるロボットプログラム調整装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために１番目の発明によれば、複数の軸を有するロボットアームの動作プログラムを調整するロボットプログラム調整装置において、前記ロボットアームの前記動作プログラムから動作命令を順次読込んでシミュレーションを実行することにより、過負荷が掛かる軸を前記複数の軸から特定する過負荷特定手段と、該過負荷特定手段により特定された軸以外の軸に対して付加的な動作を生成して、前記特定された軸の負荷を軽減する付加的動作生成手段と、該付加的動作生成手段により生成された付加的な動作に基づいて前記ロボットアームの前記動作プログラムを調整するプログラム調整手段と、を具備するロボットプログラム調整装置が提供される。
【０００９】
すなわち１番目の発明においては、過負荷特定手段により特定された軸の負荷は、付加的動作生成手段によってその軸以外の軸に分散される。このため、試行錯誤を行うことなしに、特定された軸の負荷を軽減できる。
【００１０】
２番目の発明によれば、１番目の発明において、前記特定された軸以外の軸が、前記特定された軸よりも前記ロボットアームの先端側に位置している。
すなわち２番目の発明においては、特定された軸の負荷を比較的簡易な操作により軽減できる。
【００１１】
３番目の発明によれば、１番目の発明において、前記特定された軸以外の軸が、前記特定された軸よりも前記ロボットアームの基端側に位置している。
すなわち３番目の発明においては、特定された軸よりも先端側の軸が存在しない場合、または特定された軸よりも先端側の軸を移動させられない場合であっても、特定された軸の負荷を軽減できる。
【００１２】
４番目の発明によれば、１番目から３番目のいずれかの発明において、前記付加的な動作が二つ以上生成された場合には、これら付加的な動作のうちの少なくとも二つを合成するようにした。
すなわち４番目の発明においては、複数の付加的な動作を合成することによって、ロボットの動作時間を短縮することができる。
【００１３】
５番目の発明によれば、２番目の発明において、前記付加的な動作は、前記ロボットアームのハンドに把持されたワークの重心が前記特定された軸の回転中心あるいは移動方向の延長線上に位置するように、前記特定された軸よりも前記ロボットアームの先端側に位置する軸を移動させることを含む。
すなわち５番目の発明においては、ワークの重心を前記特定された軸の回転中心あるいは移動方向の延長線上に位置させることにより、特定された軸に負荷が掛かるのを最小限にすることができる。
【００１４】
６番目の発明によれば、３番目の発明において、前記付加的な動作は、前記特定された軸よりも前記ロボットアームの基端側の軸の回転中心あるいは移動方向と前記ロボットアームのハンドに把持されたワークの重心との間の水平方向距離が最小になるように、前記特定された軸よりも前記ロボットアームの先端側に位置する軸を動作させることを含む。
すなわち６番目の発明においては、ワークに作用する力が水平方向成分を含まないようにすることにより、特定された軸に負荷が掛かるのを最小限にすることができる。
【００１５】
７番目の発明によれば、１番目から６番目のいずれかの発明において、前記付加的動作生成手段は、前記付加的な動作に基づいて、前記ロボットアームが周辺機器に干渉するかをチェックする干渉チェック手段を含む。
すなわち７番目の発明においては、ロボットアームが周辺機器に干渉するのを事前に予測して、ロボットのプログラムを再度調整することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくロボットプログラム調整装置の概念図である。図１に示されるように、ロボットシステム１０は、被加工物すなわちワークＷを把持するハンド２６を備えたハンドリングロボット２５を含んでいる。図示されるように、ハンドリングロボット２５（以下、ロボット２５）は六自由度の多関節型ロボットアームであり、六つの軸Ｊ１〜Ｊ６を有している。図１から分かるように、これら軸Ｊ１〜Ｊ６は、ロボット２５のベース２７からハンド２６に向かって、つまりロボット２５の基端から先端に向かって順番に配置されている。
【００１７】
さらに、ロボットシステム１０は、ハンドリングロボット２５を制御するロボット制御装置１１と、ロボット制御装置１１に接続されるパーソナルコンピュータ等の入力装置２０と、ＬＣＤディスプレイ等の表示手段２４と、ロボット制御装置１１に接続されると共にロボット２５の教示操作を行うための教示操作盤２２とを含んでいる。
【００１８】
ロボット制御装置１１はデジタルコンピュータであり、六つの軸Ｊ１〜Ｊ６のうちの過負荷が掛かる軸を特定する過負荷特定手段１２と、過負荷特定手段１２により特定された軸の負荷を軽減するために、特定された軸以外の軸に対して付加的な動作を生成する付加的動作生成手段１３と、付加的動作生成手段１３により生成された付加的な動作に基づいてロボットアームの動作プログラムを調整するプログラム調整手段１５とを含んでいる。
【００１９】
さらに、図１に示されるように、付加的動作生成手段１３は付加的な動作を含んだ新たな動作プログラム下でロボットアームが周辺機器に干渉するか否かをチェックする干渉チェック手段１４を含んでいる。また、ロボット制御装置１１は、ロボットの各軸Ｊ１〜Ｊ６における負荷トルクおよび速度、ならびに各軸に備えられた減速機（図示しない）の寿命を算出する算出手段１６を含んでいる。
【００２０】
また、図示されるように、ロボット制御装置１１はロボット２５の動作プログラムおよび各種データを記憶する記憶部１７を含んでいる。そして、過負荷特定手段１２、付加的動作生成手段１３、プログラム調整手段１５、算出手段１６および記憶部１７は双方向性バス１８により互いに接続されている。
【００２１】
図２は本発明に基づくロボットプログラム調整装置による作業の流れを示すフローチャートである。以下、図２を参照しつつ、本発明に基づくプログラム調整装置について説明する。はじめに、図２のステップ１０１において、ロボット２５、ワークＷおよび周辺機器（図面には示していない）の三次元モデルを表示手段２４に表示する。
【００２２】
次いで、ステップ１０２において、ロボット２５の評価基準を設定する。ロボット２５の評価基準は、各軸Ｊ１〜Ｊ６の負荷トルクおよび速度、ならびに各軸に備えられた減速機の寿命である。操作者は、図１に示される入力装置２０を用いて、これら評価基準を設定する。
【００２３】
あるいは、評価基準（負荷トルク、速度および減速機の寿命）は、例えばロボットの軸番号ｉおよびワークＷの種類などの関数として予め求められたマップから選択するようにしてもよい。参考のために、負荷トルクＴの評価基準のマップを図３に示す。なお、各軸の速度および減速機の寿命についてのマップは図示しないが同様であるものとする。
【００２４】
また、評価基準は、負荷トルク、速度および減速機の寿命のうちの少なくとも一つを設定すれば足りる。しかしながら、負荷トルク、速度および減速機の寿命の全てを設定した場合には、ロボットの動作を高精度で推定できるのは言うまでもない。
【００２５】
次いで、ステップ１０３において、記憶部１７からロボット２５の動作プログラムを読込んで、表示手段２４上にてシミュレーションを実行する。これにより、各軸Ｊ１〜Ｊ６の位置およびトルク（ニュートンオイラートルク）を単位時間毎に算出する。
【００２６】
次いで、ステップ１０４において、各軸Ｊ１〜Ｊ６の負荷トルクおよび速度ならびに軸Ｊ１〜Ｊ６における減速機（図示しない）の寿命を算出する。はじめに、シミュレーション結果における各軸Ｊ１〜Ｊ６の位置および時間の関係から、軸Ｊ１〜Ｊ６の負荷トルク、厳密にはサーボモータの負荷トルクを以下の式（１）より算出する。
負荷トルク＝ニュートンオイラートルク＋摩擦力＋ロータイナーシャ駆動力    （１）  ここで、摩擦力およびロータイナーシャ駆動力のそれぞれは、ロボット２５およびサーボモータに応じて定まる所定値であり、これら所定値は記憶部１７に予め記憶されているものとする。式（１）から算出された各軸Ｊ１〜Ｊ６におけるサーボモータの負荷トルクは、動作プログラムの行に関連付けられて記憶部１７に記憶される。
【００２７】
次いで、ロボット２５の各軸Ｊ１〜Ｊ６に備えられた減速機（図示しない）の寿命Ｌ１０を以下の式（２）〜式（５）より算出する。
【数１】
0004256440.tif 000002
ここで、Ｔｉ（１≦ｉ≦ｎ）は各軸Ｊｉ（１≦ｉ≦ｎ）に掛かる負荷トルクを表しており、Ｎｉ（１≦ｉ≦ｎ）は各軸Ｊｉの速度を表している。また、時間ｔｉ（１≦ｉ≦ｎ）は動作プログラムにおいて予め定められた単位時間、例えば８ｍｓｅｃである。なお、図１に示される実施形態においては、ｎ＝６である。
また、Ｔ０、Ｎ０は、それぞれ負荷トルクおよび速度の初期値である。さらに、寿命Ｌ１０は、複数の減速機を同じ条件で使用したときに、複数の減速機のうちの１０％が使用不能になるまでの時間を表している。
【００２８】
さらに、各軸Ｊ１〜Ｊ６の速度Ｎｉは、ステップ１０３において単位時間毎に算出された各軸Ｊ１〜Ｊ６の位置から算出される。算出された負荷トルク、速度および減速機の寿命は記憶部１７に記憶される。
【００２９】
次いで、ステップ１０５において、過負荷特定手段１２は、負荷トルク、速度および減速機の寿命がそれぞれの評価基準を上回る、動作プログラム内における動作を特定する。図４（ａ）は時間と各軸の負荷トルクとの関係を示す図である。図４（ａ）において横軸は時間を表し、縦軸は各軸の負荷トルクを表している。図４（ａ）においては、負荷トルクＴｉは或る特定の時間帯Ｚ１においてその評価基準を上回っている。
【００３０】
次いで、過負荷特定手段１２は、負荷トルクＴｉが評価基準を上回っている時間帯Ｚ１に相当する動作プログラム内の行を特定する（図４（ａ）の右方に示される或る軸Ｊｉについての動作プログラムを参照されたい）。ここでは、プログラムの行番号３において、或る軸が位置３（イチ［３］）に移動するときにその軸の負荷トルクＴｉが評価基準を上回るものとする。このような処理を全ての軸Ｊ１〜Ｊ６について行う。これにより、過負荷特定手段１２は、過負荷が掛かっている軸と、過負荷が掛かっているときにおける動作プログラム内の行とを特定する。
【００３１】
過負荷特定手段１２は、同様に、各軸Ｊ１〜Ｊ６の速度および減速機の寿命についても、それぞれの評価基準よりも上回っている時間帯を特定する。各軸Ｊ１〜Ｊ６の速度および減速機の寿命を用いることにより、ロボット２５の動作を高精度で推定することが可能となる。しかしながら、少なくとも負荷トルクＴｉについて、評価基準を上回る軸と、それに対応する動作プログラム内の行とが特定される。
【００３２】
次いで、ステップ１０６において動作プログラムの改良を行う。このステップは、具体的には図５のフローチャートに示される。図５においては負荷トルクが過剰である場合について説明しているが、軸Ｊ１〜Ｊ６の速度および減速機の寿命の場合でも概ね同様である。
【００３３】
図５のステップ２０１においては、図２のステップ１０５で特定された軸Ｊｉ（ｉ＝１〜ｎ）および動作プログラムの行を読出す。次いで、ステップ２０２において、特定された軸Ｊｉがロボット２５の先端側に位置しているか否かが判定される。具体的には、ｉ≧５であるか否かが判定される。
【００３４】
特定された軸Ｊｉが先端側の軸でない場合、つまりｉ＜５である場合には、ステップ２０３に進む。ステップ２０３においては、特定された軸Ｊｉよりも先端側に位置する軸を移動させることにより、特定された軸Ｊｉの負荷を軽減する。
【００３５】
図６は特定された軸よりも先端側に位置する軸を移動させる第一の例を説明する図である。図６に示されるように、ロボット２５を軸Ｊ４回り（矢印Ａ１）に回転させるときに、軸Ｊ４に負荷が掛かることになる。
【００３６】
図７（ａ）は図６に示される第一の例の他の図である。図７（ａ）から分かるように、ロボット２５を軸Ｊ４回りに回転させるときには、実際には軸Ｊ６も約１８０°回転することに留意されたい。
【００３７】
このような場合には、付加的動作生成手段１３によって、軸Ｊ４よりもロボット２５の先端側に位置する軸Ｊ５を図６の矢印Ｂ１方向に回転移動させる付加的な動作が生成される。また、図７（ａ）と同様な図である図７（ｂ）に示されるように、軸Ｊ４よりもロボット２５の先端側に位置する他の軸Ｊ６を図７（ｂ）の矢印Ｂ２方向に回転させる付加的動作も同時に生成される（図７（ｂ）におけるイチ［５］からイチ［６］への回転移動を参照されたい）。
【００３８】
これにより、図６から分かるように、特定された軸Ｊ４の回転中心の延長線上に、ワークＷの重心が位置するようになる。つまり、図６および図７に示される場合においては、特定された軸Ｊ４の延長線上にワークＷの重心が位置するように、特定された軸Ｊ４よりも先端側に位置する軸Ｊ５および軸Ｊ６をそれぞれ矢印Ｂ１、Ｂ２方向に回転移動させる。
【００３９】
このような回転移動により、軸Ｊ４に掛かる負荷の少なくとも一部は他の軸Ｊ５、Ｊ６に分散されるようになる。それゆえ、ロボット２５を軸Ｊ４回り（矢印Ａ１）に回転させるときに軸Ｊ４に掛かる負荷を低減させることが可能となる。
【００４０】
図１０は直動軸を含む場合の一つの例を示す図である。図１０に示されるロボット２５においては軸Ｊ１〜軸Ｊ６が軸であり、さらにロボット２５はハンド２６に関連づけられた新たな軸Ｊ７を含んでいる。軸Ｊ７は、直線運動の軸（以下、「直動軸」と称す）であり、ハンド２６は軸Ｊ７に沿って線形運動できるものとする。
【００４１】
図１０においては、ロボット２５を軸Ｊ５回り（矢印Ａ４）に回転させるときに、軸Ｊ５に負荷が掛かることになる。このような場合には、付加的動作生成手段１３によって、軸Ｊ５よりもロボット２５の先端側に位置する軸Ｊ７上のハンド２６を軸Ｊ５に向かって線形移動させる付加的な動作が生成される。
【００４２】
これにより、図１０から分かるように、軸Ｊ５の回転中心と負荷の重心、例えばワークの重心との間の水平方向距離が短くなる。従って、軸Ｊ５に掛かる負荷を低減させることが可能となる。それゆえ、或る軸に負荷が掛かる場合には、その軸よりもロボットの先端側に位置する軸が軸または直動軸であっても、その軸に掛かる負荷を低減させられることが分かるであろう。
【００４３】
図８は特定された軸よりも先端側に位置する軸を移動させる第二の例を説明する図である。図８に示される場合においては、ロボット２５を軸Ｊ１回り（矢印Ａ２）に回転させるときに、軸Ｊ１に負荷が掛かる。
【００４４】
このような場合には、付加的動作生成手段１３によって、軸Ｊ１よりもロボット２５の先端側に位置する軸Ｊ２および軸Ｊ３をそれぞれの矢印Ｂ３、Ｂ４方向に回転移動させる付加的な動作が作成される。これにより、特定された軸Ｊ１の回転中心の延長線上に、ワークＷの重心が位置するようになる。
【００４５】
このような回転移動により、軸Ｊ１に掛かる負荷の少なくとも一部は他の軸Ｊ２および軸Ｊ３に分散されるようになる。従って、ロボット２５を軸Ｊ１回り（矢印Ａ２）に回転させるときに軸Ｊ１に掛かる負荷を低減させられる。つまり、図８に示される場合においては、特定された軸Ｊ１の延長線上にワークＷの重心が位置するように、特定された軸Ｊ１よりも先端側に位置する軸Ｊ２および軸Ｊ３をそれぞれ矢印Ｂ３、Ｂ４方向に回転移動させる。
【００４６】
再び図５を参照すると、ステップ２０２において、特定された軸Ｊｉがロボット２５の先端側に位置している、つまりｉ≧５であると判定された場合には、ステップ２０４に進む。ステップ２０４においては、特定された軸Ｊｉよりも基端側に位置する軸を移動させることにより、特定された軸Ｊｉの負荷を軽減する。
【００４７】
図９は特定された軸よりも基端側に位置する軸を移動させる例を説明する図である。図９に示される場合においては、ロボット２５を軸Ｊ６回り（矢印Ａ３）に回転させるときに、軸Ｊ６に負荷が掛かる。
【００４８】
このような場合には、付加的動作生成手段１３によって、軸Ｊ６よりもロボット２５の基端側に位置する軸Ｊ５を矢印Ｂ５方向に回転移動させる付加的な動作が作成される。これにより、ワークＷの重心と軸Ｊ５との間の水平方向距離が短くなるかまたはゼロになる。
【００４９】
このように軸Ｊ５を移動させることにより、軸Ｊ６に掛かる負荷の少なくとも一部は他の軸Ｊ５に分散される。従って、ロボット２５を軸Ｊ６回り（矢印Ａ３に回転させるときに軸Ｊ６に掛かる負荷を低減させられる。つまり、図９に示される場合においては、特定された軸Ｊ６に作用する力の水平方向成分が低下または排除されるように、特定された軸Ｊ６よりも基端側に位置する軸Ｊ５を矢印Ｂ５方向に回転移動させる。
【００５０】
再び図５を参照すると、ステップ２０３または２０４において先端側または基端側の軸を移動させた後においては、それぞれステップ２０５または２０６において、再度のシミュレーションを行う。そして、特定された軸Ｊｉに対する負荷が軽減されたか否かを判定する。
【００５１】
ステップ２０５または２０６において負荷が軽減されたと判定された場合には、ステップ２０９に進む。一方、負荷が軽減されていない、または負荷がほとんど軽減されていないと判定された場合には、ステップ２０７に進む。ステップ２０７においては、特定された軸Ｊｉ以外の軸を所定の微小量だけわずかながら回転移動させる。
【００５２】
ステップ２０７において回転移動される軸は、ステップ２０３、２０４において回転移動された軸とは異なるのが好ましい。これにより、ステップ２０３、２０４で行われたのと同様な処理を再度行うのが回避される。
【００５３】
例えば図６を参照して説明したようにステップ２０３において軸Ｊ５および／または軸Ｊ６を回転移動させた場合には、未だ回転移動されていなくて、且つ特定された軸Ｊ４に最も近い軸Ｊ３を所定の微少量だけ回転移動するようにする。
【００５４】
次いで、ステップ２０８に進んで、再度のシミュレーションを行い、特定された軸Ｊｉに掛かる負荷が軽減されたか否かが判定される。そして、ステップ２０８において負荷が軽減されていないと判定された場合には、ステップ２０７に戻る。そして、前回のステップ２０７において回転移動された軸を所定の微少量だけさらに回転移動させるか、さらに別の軸を所定の微少量だけ回転移動させる。その後、ステップ２０８に再び進んで、負荷が軽減されたか否かを判定し、特定された軸Ｊｉにおける負荷が軽減されたと判定されるまで処理を繰返すものとする。
【００５５】
特定された軸Ｊｉにおける負荷が軽減されたと判定された場合には、特定された軸Ｊｉの負荷を軽減するための他の軸の付加的な動作命令を記憶部１７に記憶して、ステップ２０９に進む。ステップ２０９においては、プログラム調整手段１５が、他の軸の動作命令を既存の動作プログラムに挿入する。
【００５６】
例えば図４（ｂ）に示されるように、特定された軸Ｊ４が位置３（イチ［３］）に移動するときに負荷が掛かる場合には、イチ［１］とイチ［３］との間にイチ［５］およびイチ［６］へと移動するという付加的な動作命令（図７（ｂ）を参照されたい）が作成される。そのような場合には、図４（ｂ）に示されるように、イチ［５］への動作命令およびイチ［６］への動作命令が既存の動作プログラムに挿入される。
【００５７】
次いで、図５のステップ２１０において、動作の合成を行う。図４（ｃ）に示されるように、二つ以上の動作命令、例えばイチ［５］への動作命令およびイチ［６］への動作命令が追加された場合には、これらを合成するようにしてもよい。例えば、図７（ｂ）におけるイチ［５］を経由することなしに、軸Ｊ５回りの回転動作を行いつつ、イチ［６］まで移動する命令に変更する。これにより、ロボット２５の動作時間の短縮を図ることができる。さらに、二つ以上の動作命令を連続的かつ滑らかに合成して、ロボット２５の動作が途中で中断されないようにするのが好ましく、それにより、ロボット２５の動作時間をさらに短縮することができる。
【００５８】
その反面、ステップ２１０において動作の合成を行う場合には、特定された軸Ｊｉ、例えば軸Ｊ４に掛かる負荷はそれほど低減しない。従って、このステップ２１０は必ずしも行う必要はなく、操作者がロボット２５の動作時間の短縮を優先した場合に限られる。
【００５９】
また、図５には示していないものの、ステップ２１０終了後に再度シミュレーションを行い、干渉チェック手段１４によってロボット２５が他の周辺機器等に干渉するか否かを表示手段２４上の三次元モデルを用いてチェックするのが好ましい。干渉することが判明した場合には、ロボットの動作プログラムを再度調整し、動作プログラムをより適切に修正することができる。
【００６０】
このように、本発明においては、付加的動作生成手段１３が他の軸についての付加的な動作を作成することにより、特定された軸Ｊｉの負荷を、他の軸に分散させることが可能となる。従って、本発明においては、試行錯誤を行うことなしに、負荷が大きいと特定された軸の負荷を、試行錯誤を行うことなしに軽減することが可能となる。
【００６１】
さらに、本発明においては、負荷が大きい軸の動作を簡単に改良することのできるロボットシステムの教示および立ち上げを実現でき、その結果、工数の削減も可能となる。また、仮に過負荷によりロボットの動作に障害が発生した場合であっても、その原因を検証および調査して、ロボットの動作の改良を容易に行うことも可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明に基づくロボットプログラム調整装置を含むロボットシステムの基本構成を示す図である。
【図２】ロボットプログラム調整装置による作業の流れを示すフローチャートである。
【図３】トルクのマップを示す図である。
【図４】（ａ）時間と各軸の負荷トルクとの関係を示す図である。（ｂ）ロボットの動作プログラムの第一の図である。（ｃ）ロボットの動作プログラムの第二の図である。
【図５】図２に示されるフローチャートの一部を示す図である。
【図６】特定された軸よりも先端側に位置する軸を移動させる第一の例を説明する図である。
【図７】（ａ）図６に示される第一の例の他の図である。（ｂ）負荷が軽減されるようにした図７（ａ）と同様な図である。
【図８】特定された軸よりも先端側に位置する軸を移動させる第二の例を説明する図である。
【図９】特定された軸よりも基端側に位置する軸を移動させる例を説明する図である。
【図１０】直動軸を含む場合の一つの例を示す図である。
【符号の説明】
【００６３】
１０    ロボットシステム
１１    ロボット制御装置（ロボットプログラム調整装置）
１２    過負荷特定手段
１３    付加的動作生成手段
１４    干渉チェック手段
１５    プログラム調整手段
１６    算出手段
１７    記憶部
１８    双方向性バス
２０    入力手段
２２    教示操作盤
２４    表示手段
２５    ロボット
２６    ハンド
２７    ベース
Ｊｉ、Ｊ１〜Ｊ６    軸
Ｔｉ    負荷トルク
Ｎｉ    速度
Ｌ１０    減速機の寿命
Ｗ    ワーク
【図１】
0004256440.tif 000003
【図２】
0004256440.tif 000004
【図３】
0004256440.tif 000005
【図４】
0004256440.tif 000006
【図５】
0004256440.tif 000007
【図６】
0004256440.tif 000008
【図７】
0004256440.tif 000009
【図８】
0004256440.tif 000010
【図９】
0004256440.tif 000011
【図１０】
0004256440.tif 000012