(57)【特許請求の範囲】
【請求項１】
ロボットが所望の動作を行うように該ロボットの動作プログラムを修正するためのロボットプログラム評価・修正方法であって、
前記ロボットの目標動作経路上の目標教示点と、前記目標教示点に対応するシミュレーションによる擬似動作経路上の擬似教示点との間のずれ量を算出し記録することと、
前記目標教示点を修正すべきか否かを評価する評価関数としてのずれ量が許容値を超えているかを評価し、前記ずれ量が前記許容値より大きい場合には、該ずれ量が小さくなるように所定の変更幅で、前記擬似教示点に対応する前記動作プログラム中の教示点をずらし、該ずれ量が前記許容値より小さくなるまで前記シミュレーションを繰り返し実行し、前記擬似教示点に対応する前記動作プログラム中の教示点を修正することと、
を備えるロボットプログラム評価・修正方法。
【請求項２】
前記シミュレーションによって、前記ロボットの動作部分を駆動するモータの負荷を算出することと、
前記モータの負荷が許容値を超えているかを評価関数により評価することと、
をさらに備える請求項１に記載のロボットプログラム評価・修正方法。
【請求項３】
ロボットの動作プログラムを修正するためのロボットプログラム評価・修正装置であって、
前記ロボットの動作を確認するためのシミュレーション機能を有するコンピュータを備え、
該コンピュータが、前記ロボットの目標動作経路上の目標教示点と、前記目標教示点に対応するシミュレーションによる擬似動作経路上の擬似教示点との間のずれ量を算出し記憶する記憶手段と、
前記目標教示点を修正すべきか否かを評価する評価関数としてのずれ量が許容値を超えているかを評価し、前記ずれ量が前記許容値より大きい場合には、該ずれ量が小さくなるように所定の変更幅で、前記擬似教示点に対応する前記動作プログラム中の教示点をずらし、該ずれ量が前記許容値より小さくなるまで前記シミュレーションを繰り返し実行し、前記擬似教示点に対応する前記動作プログラム中の教示点を修正する修正手段と、を備えるロボットプログラム評価・修正装置。
【請求項４】
前記コンピュータが、前記シミュレーションによって前記ロボットの動作部分を駆動するモータの負荷を算出する負荷算出手段と、
前記モータの負荷が許容値を超えているかを評価関数により評価する判定手段と、
をさらに備える請求項３に記載のロボットプログラム評価・修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットが所望の動作を行うようにロボットの動作プログラムを修正するためのロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置に関するものである。
【背景技術】
【０００２】
一般に、オフラインで作成されたロボットの動作プログラムは、そのまま現場で使用されることはほとんどなく、修正されてから使用されている。これは、オフライン上の世界とオンライン上（現場）の世界で、ワークとロボットの相対的位置関係やロボットの姿勢などが微妙に異なり、ずれを生じるためである。動作プログラムの修正作業には、サーボモータに対する速度指令や加速度指令を修正する作業の他に、動作経路のずれを修正する作業が含まれることもある。
【０００３】
動作プログラムの速度指令や加速度指令を修正する場合は、サーボモータの負荷を確認すると共に、現場で教示操作盤を使い、デューティ（電流値の限界値に対する割合の１作業サイクル平均値）を確認しながら、速度指令や加速度指令の修正を行う。
【０００４】
動作経路のずれは、ロボットの目標動作経路と実際の動作経路との間に生ずるずれであり、このずれを修正する場合は、ワークの目標位置をロボットでタッチアップして実際に得られた教示点に対して、画面上で定義した教示点を少しずつ近くづく方向にシフトしながら目標の動作経路になるようにする。又は、他の方法の一例として、目標位置の教示点と実際にタッチした教示点との差分で得られる単位差分行列を目標位置に右から掛け合わせることで教示点をシフトして、教示点の補正を行う。
【０００５】
公知のロボットプログラム評価・修正装置の一例としては、特許文献１，２などが知られている。また、この種の修正装置を動かすソフトウェアとして、本出願人が提供するソフトウェア「ロボガイド」（登録商標）が市販されている。
【０００６】
【特許文献１】特開２００５−６６７９７号公報
【特許文献２】特開２００５−２２０６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、現場で動作経路のずれを修正する作業は、干渉が生じないようにするために慎重な作業となり、動作経路上で特定されたずれの大きい教示点を教示点毎にタッチアップかつシフトして少しずつ修正しなければならず、ロボット生産システムの構築に非常に多くの時間がかかるという問題があった。
【０００８】
また、現場でデューティを確認しながらロボットのサーボモータに対するプログラム速度指令や加速度指令を修正する作業は試行錯誤が多く、非常に多くの工数がかかるという問題があった。
【０００９】
そこで、本発明は、オフラインで作成されたロボットの動作プログラムの評価及び修正を短時間で容易に行うことができるロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するため、本発明の請求項１の発明は、ロボットが所望の動作を行うように該ロボットの動作プログラムを修正するためのロボットプログラム評価・修正方法であって、前記ロボットの目標動作経路上の目標教示点と、前記目標教示点に対応するシミュレーションによる擬似動作経路上の擬似教示点との間のずれ量を算出し記録することと、前記目標教示点を修正すべきか否かを評価する評価関数としてのずれ量が許容値を超えているかを評価し、前記ずれ量が前記許容値より大きい場合には、該ずれ量が小さくなるように所定の変更幅で、前記擬似教示点に対応する前記動作プログラム中の教示点をずらし、該ずれ量が前記許容値より小さくなるまで前記シミュレーションを繰り返し実行し、前記擬似教示点に対応する前記動作プログラム中の教示点を修正することと、を備えることを特徴とする。
【００１１】
請求項２の発明は、請求項１に記載の発明において、前記シミュレーションによって、前記ロボットの動作部分を駆動するモータの負荷を算出することと、前記モータ負荷が許容値を超えているかを評価関数により評価することと、をさらに備えることを特徴とする。
【００１２】
請求項３の発明は、ロボットの動作プログラムを修正するためのロボットプログラム評価・修正装置であって、前記ロボットの動作を確認するためのシミュレーション機能を有するコンピュータを備え、該コンピュータが、前記ロボットの目標動作経路上の目標教示点と、前記目標教示点に対応するシミュレーションによる擬似動作経路上の擬似教示点との間のずれ量を算出し記憶する記憶手段と、前記目標教示点を修正すべきか否かを評価する評価関数としてのずれ量が許容値を超えているかを評価し、前記ずれ量が前記許容値より大きい場合には、該ずれ量が小さくなるように所定の変更幅で、前記擬似教示点に対応する前記動作プログラム中の教示点をずらし、該ずれ量が前記許容値より小さくなるまで前記シミュレーションを繰り返し実行し、前記擬似教示点に対応する前記動作プログラム中の教示点を修正する修正手段と、を備えることを特徴とする。
【００１３】
請求項４の発明は、請求項３に記載の発明において、前記コンピュータが、前記シミュレーションによって前記ロボットの動作部分を駆動するモータの負荷を算出する負荷算出手段と、前記モータの負荷が許容値を超えているかを評価関数により評価する判定手段と、を備える。
【発明の効果】
【００１４】
本願の請求項１記載の発明によれば、第１のステップにより目標教示点と擬似教示点とのずれ量を記憶し、第２のステップによりずれ量が許容値より小さくなるまでシミュレーションを繰り返し実行して教示点を修正することができるから、現場で目標動作経路と擬似動作経路が一致するように多数の教示点を修正する場合と比較して、短時間で動作プログラムの教示点の修正作業を行うことができる。これにより、現場におけるロボットのセットアップ時間を大幅に短縮することができる。
【００１５】
請求項２記載の発明によれば、オフライン(机上)でサーボモータの負荷を評価することもでき、この評価に基づき負荷の観点から動作プログラムの良否を判定することができる。このため、現場において実際のモータ負荷を測定し評価する場合と比較して、動作プログラムの修正作業を短い時間で行うことができ、現場におけるロボットのセットアップ時間を短縮することができる。
【００１６】
請求項３記載の発明によれば、記憶手段により目標教示点と擬似教示点とのずれ量が記憶され、修正手段によりずれ量が許容値より小さくなるまでコンピュータシミュレーションを繰り返し実行して教示点が修正されるから、現場で目標動作経路と擬似動作経路が一致するように多数の教示点を修正する場合と比較して、短時間で動作プログラムの教示点の修正作業を行うことができる。これにより、現場におけるロボットのセットアップ時間を大幅に短縮することができる。
【００１７】
請求項４記載の発明によれば、コンピュータが、負荷算出手段と、判定手段と、を含むことで、オフライン(机上)でサーボモータの負荷を評価することができ、この評価に基づき負荷の観点から動作プログラムの良否を判定することができる。このため、現場において実際のモータ負荷を測定し評価する場合と比較して、動作プログラムの修正作業を短い時間で行うことができ、現場におけるロボットのセットアップ時間を短縮することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態の具体例を図面を用いて詳細に説明する。図１は、本発明に係るロボットプログラム評価・修正装置を含むロボットシステムのシステム構成図である。
【００１９】
図１において、７はロボットプログラム評価・修正装置２に含まれるコンピュータ、８はコンピュータに接続されているキーボードやマウスなどの入力装置、９はコンピュータに接続されている出力装置である。また、３はロボット動作プログラムによりロボットの動作を制御するコントローラ、４は制御対象としての産業用のロボット、５はロボットの教示点を教示などするために用いられる教示装置である。なお、ロボット４には、複数の動作軸を有する種々のロボットを適用することが可能である。
【００２０】
本発明に係るロボットプログラム評価・修正装置２は、少なくともコンピュータ７、入力装置８、出力装置９を備えており、オフラインで作成された動作プログラムをオフラインで修正することができる装置である。なお、ロボットプログラム評価・修正装置２と、コントローラ３と、ロボット４と、教示装置５とからロボットプログラム評価・修正装置システム１が構成される。
【００２１】
ロボットプログラム評価・修正装置２の出力装置９は、表示装置としてのディスプレイであり、ロボット４や、加工対象としてのワーク（図示せず）や、ロボット４の周囲に存在する周辺機器（図示せず）などの画像データを表示する。コンピュータ７は出力装置９と共に、動作プログラムに基づいてロボット４のシミュレーションを実施することができるようになっている。シミュレーションは、ロボット動作プログラムの評価や修正を行うために実施され、指定された移動指令に従ってロボットを模擬動作させる。
【００２２】
図２に示すように、第１の実施形態のロボットプログラム評価・修正装置２（コンピュータ７Ａ）は、動作プログラムの動作経路上の教示点の修正作業を短時間で行うことができるものであり、読み出された動作プログラムを画面上に表示し、各動作軸の動作部分を指定する動作部指定手段１０と、実際のシステムの目標動作経路を保存し、かつ指定する経路指定手段１１と、ロボット４の目標動作経路上の任意の目標教示点と、目標教示点に対応するコンピュータシミュレーションによる擬似動作経路上の擬似教示点とのずれ量を指定するずれ量指定手段１２と、動作プログラムのシミュレーションを行うシミュレーション手段１３と、シミュレーション結果から経過時間とそのときのロボット４の位置・姿勢を記録する記録手段１４と、シミュレーション結果から目標教示点と擬似教示点とのずれ量を算出して記憶する記憶手段１５と、ずれ量が許容値より大きいかどうかを周知の評価関数により評価し、ずれ量が許容値より大きい場合に、ずれ量が小さくなるように所定の変更幅で教示点をずらし、ずれ量が許容値より小さくなるまでシミュレーションを繰り返し実行して教示点を修正する修正手段１６と、を備えている。
【００２３】
図３は、ロボットプログラム評価・修正装置による修正方法の流れを示したフローチャートである。図３において、ステップＴ１では、出力装置９の画面上で、ロボット４、ワーク、周辺機器の画像データを３次元的に配置するレイアウト作成を行う。ロボット４、ワーク、周辺機器の位置や姿勢などの画像データは、ＣＡＤ装置等から図形情報、配置情報等が読み込まれて作成される。
【００２４】
ステップＴ２では、出力装置９の画面上で、ロボット４、ワーク、周辺機器に対応づけられた動作プログラムを作成する。ステップＴ３〜Ｔ５ではプログラムの修正条件を設定する。具体的には、ロボット４の各動作軸の動作部分を指定したり（ロボットプログラム評価・修正装置の動作部指定手段１０に対応する）、画面上に表示するプログラム実行行を指定したり、目標動作経路を３次曲線として指定したり（ロボットプログラム評価・修正装置の経路指定手段１１に対応する）、目標経路からの許容ずれ量（ロボットプログラム評価・修正装置のずれ量指定手段１２に対応する）を指定したりする。
【００２５】
ステップＴ６ではシミュレーション手段１３により動作プログラムを実行して、ロボット動作のシミュレーションを行い、ステップＴ７では各動作軸の単位時間毎の現在位置を経過時間と共に記録する（実行行からその教示点を参照できるものとする）。このステップはロボットプログラム評価・修正装置の記録手段１４に対応する。
【００２６】
【数１】
0004829151.tif 000002
【００２７】
【数２】
0004829151.tif 000003
【００２８】
以上により、本実施形態によれば、現場で目標動作経路と擬似動作経路が一致するように多数の教示点を修正する場合と比較して、短時間で動作プログラムの教示点の修正作業を行うことができ、これにより、現場におけるロボット４のセットアップ時間を大幅に短縮することができる。したがって、生産現場においてロボット生産システムを容易に構築することができると共に、生産システムの変更に柔軟に対応することができる。
【００２９】
次に、コンピュータ７Ｂを有するロボットプログラム評価・修正装置２の第２の実施形態について説明する。本実施形態のロボットプログラム評価・修正装置２（コンピュータ７Ｂ）は、モータ負荷の許容範囲内でロボット４（図１参照）のサイクルタイムが最小になるように、指令速度及び指令加速度を修正する装置であり、図４に示すように、６軸の多関節型ロボットの上腕や前腕などの動作部分及びこの動作部分を駆動するサーボモータの負荷の許容値を指定する指定手段２０と、動作プログラムのシミュレーションを行うシミュレーション手段２１と、サーボモータの負荷を算出する負荷算出手段２２と、サーボモータに対する指令速度及び指令加速度とモータ負荷を時系列に関連づけて記憶する記憶手段２３と、サーボモータの負荷を評価する周知の評価関数により、各動作軸のサーボモータの負荷が許容範囲内にあるかどうかを判定する判定手段２４と、を備えている。
【００３０】
図５は、図４のロボットプログラム評価・修正装置２による評価・修正方法の流れを示したフローチャートである。図５において、ステップＳ１では、出力装置９（図１参照）の画面上で、ロボット４、ワーク、周辺機器の画像データを３次元的に配置するレイアウト作成を行う。ロボット４、ワーク、周辺機器の位置や姿勢などの画像データは、ＣＡＤ装置等から図形情報、配置情報等が読み込まれて作成される。
【００３１】
ステップＳ２では、出力装置９の画面上で、ロボット４、ワーク、周辺機器に対応づけられた動作プログラムを作成する。ステップＳ３ではプログラムの修正条件を設定する（ロボットプログラム評価・修正装置２の指定手段２０に対応する）。具体的には、ロボット４の動作部分を指定したり、サーボモータの負荷の許容値を指定したり、画面上に表示するプログラム実行行を指定したり、修正対象となるプログラム指令速度や指令加速度を指定したり、プログラムの行毎に指令速度や指令加速度を変更する修正幅δを指定したり、サイクルタイムの初期値を指定したりする。
【００３２】
ステップＳ４では、シミュレーション手段２１により動作プログラムを実行して、ロボット動作のシミュレーションを行い、各動作軸の単位時間毎の現在位置を経過時間と共に記録する。ステップＳ５では、シミュレーション結果のロボット４の各動作軸の経過時間と位置との関係からサーボモータの負荷トルクを以下の式から算出する（ロボットプログラム評価・修正装置２の負荷算出手段２２に対応する）。
負荷トルク＝ニュートンオイラトルク＋摩擦力＋ロータイナーシャ駆動力
【００３３】
ステップＳ６では、行毎のプログラム指令速度、指令加速度と各動作軸のモータ負荷を時系列に関連づけて記憶する（ロボットプログラム評価・修正装置２の記憶手段２３に対応する）。ステップＳ７では、動作プログラムの各行毎に各動作軸のモータ負荷が許容値以下であるかを周知の評価関数により判定すると共に、最初にシミュレーションを実行したときに、各行毎に許容範囲にあるかどうかを記録する。ここで、評価関数とは、サーボモータの負荷を判定したり、ロボット４、ワーク、周辺機器等の相対的位置関係の最適化を図ったりするために用いられる評価基準としての重みづけされた関数をいう。例えば、評価関数を用いてロボットの動作を評価する装置として、特開２００５−２２０６２号公報に記載されたものがある。
【００３４】
図６は、ロボットプログラム評価・修正装置２の第３の実施形態を示す構成図である。本実施形態のロボットプログラム評価・修正装置２（コンピュータ７Ｃ）は、第２の実施形態のロボットプログラム評価・修正装置２に指令速度及び指令加速度を修正する修正手段２５を加えたものである。
【００３５】
図７は、図６のロボットプログラム評価・修正装置２による修正方法の流れを示したフローチャートである。このフローチャートは、図５のフローチャートにステップＳ８が追加されたものである。ステップＳ８では、ステップＳ７において各動作軸のモータ負荷が許容範囲にあると判定された場合に、このときの各行毎の指令速度、指令加速度と実行時間、全体のサイクルタイムを算出し、これがすでに記録されているサイクルタイムより短い場合は記録する。そして、対象プログラム行の指令速度、指令加速度に修正幅δを加算し、再びシミュレーションを繰り返す。各動作軸のモータ負荷が許容範囲にないと判定された場合、対象プログラム行の指令速度、指令加速度に修正幅δを減算する。最初に実行したときに、許容範囲にない場合、モータ負荷の許容範囲になるまで、速度、加速度にδを減算する。最初に実行したときに、許容範囲にある場合、デューティの許容範囲を越えるか、指令速度、指令加速度の上限になるまで、速度、加速度に変更幅δを加算する。
【００３６】
各行毎に評価を行い、最初に実行したときに、許容範囲にない場合、デューティの許容範囲に入った時点で行変更を終了、そうでなければ、ステップＳ４のシミュレーションを行い、評価処理を繰返す。最初に実行したときに、許容範囲にある場合、デューティの許容範囲を越えるか、指令速度、指令加速度の上限になった時点で行変更を終了、そうでなければ、ステップＳ４のシミュレーションを行い、評価処理を繰返す。この作業をプログラムのすべての行の処理が終了するまで繰返す。このようにして、モータの負荷の許容範囲内で最大の指令速度及び指令加速度を求めることができる。
【００３７】
以上により、第２及び第３の実施形態によれば、オフライン(机上)でサーボモータの負荷を評価することができ、この評価に基づき動作プログラムの良否を判定することができるため、現場において実際のモータ負荷を測定し評価する場合と比較して、動作プログラムの修正作業を短い時間で行うことができ、現場におけるロボットのセットアップ時間を短縮することができる。また、第２の実施形態によれば、現場においてサイクルタイムが最小になるように動作プログラムの指令速度及び指令加速度を修正する場合と比較して、短時間で動作プログラムの修正を行うことができ、これにより、現場におけるロボット４のセットアップ時間を大幅に短縮することができる。また、同じロボット４を用いて多品種生産を行う場合に、動作プログラムの修正を行う手間を大幅に削減することが可能となる。
【００３８】
なお、本発明は上記実施形態に限定されるものではなく、種々変更して実施することができる。本明細書では、第１、第２、第３の実施形態を分けて記載しているが、これらの実施形態を合体させることも可能である。例えば、第１の実施形態を実施して、動作経路のずれ修正した後に、第２又は第３の実施形態を実施することで、計算機モデルと実際のシステムの整合性を高めることが可能となる。
【図面の簡単な説明】
【００３９】
【図１】本発明に係るロボットプログラム評価・修正装置を含むロボットプログラム評価・修正装置システムのシステム構成図である。
【図２】ロボットプログラム評価・修正装置の第１の実施形態を示す構成図である。
【図３】図２に示すロボットプログラム評価・修正装置による修正方法の流れを示すフローチャートである。
【図４】ロボットプログラム評価・修正装置の第２の実施形態を示す構成図である。
【図５】図４に示すロボットプログラム評価・修正装置による修正方法の流れを示すフローチャートである。
【図６】ロボットプログラム評価・修正装置の第３の実施形態を示す構成図である。
【図７】図６に示すロボットプログラム評価・修正装置による修正方法の流れを示すフローチャートである。
【符号の説明】
【００４０】
２    ロボットプログラム評価・修正装置
７，７Ａ〜７Ｃ    コンピュータ
８    入力装置
９    出力装置
１０，２０    動作指定手段
１１    経路指定手段
１２    ずれ量指定手段
１３，２１    シミュレーション手段
１４    記録手段
１５，２３    記憶手段
１６    修正手段
２２    負荷算出手段
２４    判定手段
２５    修正手段
【図１】
0004829151.tif 000004
【図２】
0004829151.tif 000005
【図３】
0004829151.tif 000006
【図４】
0004829151.tif 000007
【図５】
0004829151.tif 000008
【図６】
0004829151.tif 000009
【図７】
0004829151.tif 000010