(57)【特許請求の範囲】
【請求項１】
ティーチングプレイバック方式の産業用ロボットの動作プログラム作成方法において、
教示ツールによって作業対象に対する作業の開始点と終了点とこの間の複数の特徴点である教示点のみの動作プログラムを作成し、
前記教示点の位置情報のみを前記ロボットの設置環境に基づく絶対座標系で表し、
前記教示点の間の複数の前記特徴点の補間経路上に各々の前記特徴点の前点と後点の座標を前記絶対座標系であらかじめ定められた手順に基づく演算で求め、
前記前点の姿勢を該前点の基本フレーム座標とあらかじめ定められている前記ロボットが備えるツール姿勢のロール、ピッチ、ヨー角に指定する変換行列より求め、
前記後点の姿勢を該前点の基本フレーム座標とあらかじめ定められている前記ロボットが備えるツール姿勢のロール、ピッチ、ヨー角に指定する変換行列より求め、
前記特徴点の姿勢は前記前点と後点のそれぞれの基本フレーム座標のＹ軸方向ベクトルのなす角の１／２だけ前記前点姿勢より基本フレーム座標の外積の回りに回転させて求め、
姿勢の求まった前記特徴点と座標と姿勢の求まった前記前点と後点とを前記動作プログラムに挿入することを特徴とする産業用ロボットの動作プログラム作成方法。
【請求項２】
前記特徴点と前記前点と後点のそれぞれに対して、ツール姿勢の冗長自由度の回りに回転可能な範囲を決定し、
前記決定された範囲の中で前記特徴点と前記前点と後点の動作位置変化量を表現するあらかじめ決められた評価関数があらかじめ決められた値にすることにより前記特徴点と前記前点と後点の姿勢を決定することを特徴とする請求項１記載の産業用ロボットの動作プログラム作成方法。
【請求項３】
前記前点と後点を追加する位置は、補間方法に応じて決められる前記教示点の相互間の動作補間線上に前記教示点からの距離または前記教示点間の前記動作補間線上の距離に対する割合で指定することにより決められることを特徴とする請求項１記載の産業用ロボットの動作プログラム作成方法。
【請求項４】
前記特徴点と前記前点と後点でツール姿勢の冗長自由度の回りに回転できる範囲の決定において、回転可能かどうかの判定は、前記ロボット自身の機構的な制限によるものと、前記ロボットがもつツールと前記ロボットの干渉の有無で行うことを特徴とする請求項２記載の産業用ロボットの動作プログラム作成方法。
【請求項５】
前記評価関数は、Ｊ＝Σi Σj （Ｗij＊△Ｐij2）とすることを特徴とする請求項２記載の産業用ロボットの動作プログラム作成方法。
ただし、△Ｐijは前記教示点と前記前点と後点を動作順に並べたときのi 番目の動作点からi+1 番目の動作点までのj 軸位置変化量、
Σj はロボット軸の合計（ｊ＝０〜Ｎ−１、Ｎは前記ロボットの軸数）、
Σi は前記特徴点と前記前点および前記後点の合計をとることを表し（j ＝０〜Ｍ−１、Ｍは前記教示点と前記前点および前記後点の合計点数）、前記冗長自由度回りの回転角により、このj 軸位置は決定されるものであり、
Ｗi j は予め決めた重み係数である。
【請求項６】
前記評価関数Ｊのうち、教示点j の前記前点および前記後点の姿勢を決める評価関数は、
Ｊi １＝Σj （Ｗij1 ＊（Ｐijpre −Ｐijpost）2 ）、
（ここで、i は前記教示点を動作順に並べたときの動作順番号、
Ｐijpre は、教示点i の前点、j 軸の位置、
Ｐijpostは、教示点i の後点、j 軸の位置、
Ｗij1 は、予め決めた重み係数、
Σj はロボット軸の合計を表す）
をとり、かつ、教示点i での各軸位置を決定する評価関数は、
Ｊi ２＝Σj （Ｗij2pre＊（Ｐijtch −Ｐijpre0）2 ＋Ｗij2post ＊（Ｐijpost0 −Ｐijtch ）2 ）
（ここで、Ｐijpre0，Ｐijpost0 は、前記Ｊi １を最低にするような、ロボット各軸の回転位置、Ｐijtch は教示点i でのj 軸の位置、Ｗij2pre、Ｗij2post は予め決められた重み係数）をとることを特徴とする請求項２記載の産業用ロボットの動作プログラム作成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、産業用ロボットの動作プログラム作成方法に関する。
【０００２】
【従来の技術】
通常のティーチングプレイバック方式の産業用ロボットにおける教示作業では、作業対象の特徴点での位置にくるように、かつ、その位置での姿勢を作業上望ましい姿勢になるように、教示ツール（通常は、ティーチングペンダントまたは、ティーチングボックスと呼ばれる）を使って、実際にロボットを動作させ、その位置、姿勢を記憶させる命令を、教示ツールよりコントローラ本体に送る。コントローラ本体は、その記憶部で前記位置及び姿勢を記憶する。これを繰り返すことにより、動作プログラムを作成する。
また、動作方向が急激に変化するような点前後には、ロボットの作業対象に対する適切なツール姿勢区間をできるだけ長くするため、通常、教示点を加えることがなされている。
例えば、アーク溶接において作業対象Ｗが図２のような場合に、点Ｐ０，Ｐ１，Ｐ２，Ｐ３を結ぶ直線上を溶接する場合には、前記特徴点は、点Ｐ０，Ｐ１，Ｐ２，Ｐ３となる。従来の教示方方法では、まず、教示ツールを使いＰ０までロボットを動作させ、材質、溶接条件等で決まる姿勢（ねらい角（溶接トーチ１と垂直作業対象とがなす角度（図３（ａ）））及び、前進角（溶接トーチ１と進行方向ベクトルがなす角）（図３（ｂ））をとるように、教示ツールを使ってロボットを姿勢変化させる。位置と姿勢が望ましいものになったら、コントローラ内部に記憶させる。
次に、Ｐ１を教示するが、Ｐ１では、溶接線が急に変化するので、Ｐ１の前後では、望ましい姿勢が違う。したがって、通常は、Ｐ１点の前後に、適当な距離をおいて、教示点を作成していた。この点を図２ではＰ１ｐｒｅ  、Ｐ１ｐｏｓｔと表している。このようにすることで、適切なツール姿勢区間をできるだけ長くしていた。
Ｐ２に対しても同様な理由で、Ｐ２ｐｒｅ  、Ｐ２ｐｏｓｔを作成していた。
Ｐ３では、Ｐ０の場合と同様にして、位置と姿勢を記憶させる。
このようにして、動作プログラムは、Ｐ０、Ｐ１ｐｒｅ  、Ｐ１、Ｐ１ｐｏｓｔ、Ｐ２ｐｒｅ  、Ｐ２、Ｐ２ｐｏｓｔ、Ｐ３での位置と姿勢を記憶したものとして作成される。
【０００３】
【発明が解決しようとする課題】
ところが、従来のロボット教示方法では、動作位置に加えて動作姿勢も教示しなければならなく、かつ、作業対象の特徴点の前後にも教示点を作成しなければならないことがあり、これらのことが、ロボットの教示を手間のかかるものにしていた。
そこで、本発明は、作業対象の特徴点のみの教示で、動作可能な動作プログラムを作成できる方法を提供することを目的とする。
【０００４】
【課題を解決するための手段】
上記問題を解決するため、請求項１に記載の発明においては、ティーチングプレイバック方式の産業用ロボットの動作プログラム作成方法において、教示ツールによって作業対象に対する作業の開始点と終了点とこの間の複数の特徴点である教示点のみの動作プログラムを作成し、前記教示点の位置情報のみを前記ロボットの設置環境に基づく絶対座標系で表し、前記教示点の間の複数の前記特徴点の補間経路上に各々の前記特徴点の前点と後点の座標を前記絶対座標系であらかじめ定められた手順に基づく演算で求め、前記前点の姿勢を該前点の基本フレーム座標とあらかじめ定められている前記ロボットが備えるツール姿勢のロール、ピッチ、ヨー角に指定する変換行列より求め、前記後点の姿勢を該前点の基本フレーム座標とあらかじめ定められている前記ロボットが備えるツール姿勢のロール、ピッチ、ヨー角に指定する変換行列より求め、前記特徴点の姿勢は前記前点と後点のそれぞれの基本フレーム座標のＹ軸方向ベクトルのなす角の１／２だけ前記前点姿勢より基本フレーム座標の外積の回りに回転させて求め、姿勢の求まった前記特徴点と座標と姿勢の求まった前記前点と後点とを前記動作プログラムに挿入するものである。
また、請求項２に記載の発明においては、前記特徴点と前記前点と後点のそれぞれに対して、ツール姿勢の冗長自由度の回りに回転可能な範囲を決定し、前記決定された範囲の中で前記特徴点と前記前点と後点の動作位置変化量を表現するあらかじめ決められた評価関数があらかじめ決められた値にすることにより前記特徴点と前記前点と後点の姿勢を決定することとするものである。
また、請求項３に記載の発明では、前記前点と後点を追加する位置は、補間方法に応じて決められる前記教示点の相互間の動作補間線上に前記教示点からの距離または前記教示点間の前記動作補間線上の距離に対する割合で指定することにより決められることとするものである。
また、請求項４に記載の発明では、前記特徴点と前記前点と後点でツール姿勢の冗長自由度の回りに回転できる範囲の決定において、回転可能かどうかの判定は、前記ロボット自身の機構的な制限によるものと、前記ロボットがもつツールと前記ロボットの干渉の有無で行うこととするものである。
また、請求項５に記載の発明では、上記評価関数は、Ｊ＝Σi Σj （Ｗij＊△Ｐij２）とすることとするものである。ただし、△Ｐijは前記教示点と前記前点と後点を動作順に並べたときのi 番目の動作点からi+1 番目の動作点までのj 軸位置変化量、Σj はロボット軸の合計（ｊ＝０〜Ｎ−１、Ｎは前記ロボットの軸数）、Σi は前記特徴点と前記前点および前記後点の合計をとることを表し（j ＝０〜Ｍ−１、Ｍは前記教示点と前記前点および前記後点の合計点数）、前記冗長自由度回りの回転角により、このj 軸位置は決定されるものであり、Ｗi j は予め決めた重み係数である。
また、請求項６記載の発明では、教示点j の前記前点および前記後点の姿勢を決める評価関数は、
Ｊi １＝Σj （Ｗij1 ＊（Ｐijpre −Ｐijpost）2 ）、（ここで、i は前記教示点を動作順に並べたときの動作順番号、Ｐijpre は、教示点i の前点、j 軸位置、Ｐijpostは、教示点i の後点、j 軸位置、Ｗij1 は、予め決めた重み係数、Σj はロボット軸の合計を表す）をとり、かつ、教示点i での各軸位置を決定する評価関数は、
Ｊi ２＝Σj （Ｗij2pre＊（Ｐijtch −Ｐijpre0）2 ＋Ｗij2post ＊（Ｐijpost0 −Ｐijtch ）2 ）
（ここで、Ｐijpre0，Ｐijpost0 は、前記Ｊi １を最低にするような、ロボット各軸の回転位置、Ｐijtch は教示点i でのj 軸の位置、Ｗij2pre、Ｗij2post は予め決めた重み係数）をとることとするものである。
【０００５】
【作用】
上記手段により、ロボットの動作位置のみの教示で、実際に動作可能な動作プログラムが作成できる。
【０００６】
【実施例】
以下、本発明の実施例を図に基づいて説明する。
図１は、請求項１に記載の発明を実施するための、動作の流れを書いたフローチャートである。以後ベクトル、マトリックス等は明示しない限り、同次変換表現するものとする（「ロボットマニピュレータ」、Ｒ．Ｐａｕｌ著に詳しい）。
【０００７】
まず、ステップＳ１０１では、通常の教示ツール（ティーチングペンダント等）を使って、作業対象の特徴点（個数Ｎとする）のみの動作プログラムを作成する。このとき、ツールの姿勢は、実際の望ましい姿勢にする必要はない。例えば、図２のような作業対象を溶接するときは、特徴点は点Ｐ０，Ｐ１，Ｐ２，Ｐ３となり、これら４点の位置は正確にティーチングする。しかし、姿勢は考慮する必要はない。
【０００８】
ステップＳ１０２では、ステップＳ１０１で作成された動作プログラムから、教示点Ｐi （i ＝０〜Ｎ−１）の位置情報のみを読み込む。これらをロボットが設置されている環境の絶対座標（以下、ワールド座標と呼ぶ）で、Xi＝（xi,yi,zi,1）T（i ＝０〜Ｎ−１）と表す。上付きＴは転値行列を表す。
【０００９】
ステップＳ１０３では、読み込まれた座標Xiより、動作経路上に、前後点を作成する。教示点Piの前点Pipre の位置Xipre は教示点Pi-1とPiの座標値Xi-1と Xi から次式で決める。この実施例では、請求項３に記載の方法のうち直線補間の場合の、教示点間の距離に対する割合で決める場合になっており、前記割合はＣpre で指定している。
Xipre ＝ Xi-1 ＋Ｃpre ＊（Xi− Xi-1 ）
（Ｃpre ＜１）
【００１０】
前点の姿勢は、ステップＳ１０４で以下のように作成する。図４を参照にして説明する。まず、前点Pipre の位置Xipre に原点を持ち、 Y軸方向単位ベクトルYfが進行方向、つまり、Pi-1からPiに向かう方向であり、ワールド座標の垂直方向（図４では、refpと示す）単位ベクトルと前記Yfの外積ベクトルをX 軸方向単位ベクトルXfととる。このXfとYfと右手系をなすように、Z 軸方向単位ベクトルZfをとるような、座標系を考える。これを、点Pipre での基本フレーム座標Afpre とする。ここで、Xf＝（xxf,xyf,xzf,0 ）T 、 Yf＝（yxf,yyf,yzf,0 ）T 、 Zf＝（zxf,zyf,zzf,0 ）T である。つまり、Afpre=（Xf,Yf,Zf,Xipre）となる。この基本フレーム座標に対して、ロボットが持つツールの姿勢を、あらかじめ決められていたとする。（図５で、（Ｘ，Ｙ，Ｚ）で表す。））この決め方を表す形式は、多種あるが、例えば、ロール、ピッチ、ヨー角で指定できる。この変換を表す変換行列をＴすると、
Apre＝ Afpre・Ｔ
（ただし、Ｔの並進成分は０となっている。）
より、教示点Piの前点Pipre のワールド座標での位置と姿勢を表す同次変換マトリックスApreが、教示点Pi-1とPiの座標値Xi-1と Xi から決められたことになる。後点Pipostは、ステップＳ１０３で位置を決めるとき、教示点PiとPi+1の座標値Xiと Xi+1 から次式で決められる。
この実施例では、請求項３に記載の方法のうち直線補間の場合の、教示点間の距離に対する割合で決める場合になっており、前記割合はＣpostで指定している。
Xipost＝ Xi ＋Ｃpost＊（ Xi+1 − Xi ）
（Ｃpost＜１）
後点の姿勢は、前点のときと同様な方法でステップＳ１０４で決まり、教示点Piの後点Pipostの位置と姿勢Apost が、教示点PiとPi+1の座標値Xiと Xi+1 から決められたことになる。
【００１１】
ステップＳ１０５では、以上述べたような方法で作成した前点姿勢Apreと後点姿勢Apost より、教示点の姿勢を決定する。この決定のしかたは、多種あるが、もっとも簡単には、ベクトルXi−Xi-1とXi+1−Xiの外積方向単位ベクトルをk ＝（xk,yk,zk,1）とし、また、ベクトルXi−Xi-1とXi+1−Xiのなす角をθとすると、k の回りにPipre での姿勢をθ／２だけ回転したものをとるとよい。つまり、教示点Piでの位置と姿勢Atは、At＝ Rot(k, θ／２) ・Apre・ TRで決定できる。ここで、 TR は Apre をPiまで並進する行列、Rot(k , θ／２)は、ベクトルkの回りにθ／２だけ回転する行列を意味する。この様子は図６で示す。他の教示点も同様にして、前後点の作成、教示点の姿勢の決定ができる。
【００１２】
ステップＳ１０６では、Ｓ１０２からＳ１０５まででつくられた前後点、教示点の位置、姿勢をロボットの動作プログラムに書き込む。
以上のような手順で、特徴点の位置情報から実際に動作可能な動作プログラムが作成できる。
【００１３】
次に、請求項２に記載の実施例について述べる。本発明は、ツールの姿勢が、冗長な自由度を持つ場合に対して利用できる。図７は動作の流れを書いたフローチャートである。Ｓ７０１〜Ｓ７０３までは、請求項１のＳ１０１〜Ｓ１０３と同様にして、前後点の位置を決定する。
【００１４】
ステップＳ７０４では、前後点の姿勢を決定する。請求項１でも使った図４を参考にして説明する。
まず、前点Ｐｉｐｒｅ  の位置Ｘｉｐｒｅ  に原点を持ち、  Ｙ軸方向単位ベクトルＹｆが進行方向、つまり、Ｐｉ−１からＰｉに向かう方向であり、ワールド座標の垂直方向（図では、ｒｅｆｐと示す）単位ベクトルと前記Ｙｆの外積ベクトルをＸ  軸方向単位ベクトルＸｆととる。このＸｆとＹｆと右手系をなすように、Ｚ  軸方向単位ベクトルＺｆをとるような、座標系を考える。これを、点Ｐｉｐｒｅでの基本フレーム座標Ａｆｐｒｅ  とする。ここで、Ｘｆ＝（ｘｘｆ，ｘｙｆ，ｘｚｆ，０  ）Ｔ  、  Ｙｆ＝（ｙｘｆ，ｙｙｆ，ｙｚｆ，０  ）Ｔ  、  Ｚｆ＝（ｚｘｆ，ｚｙｆ，ｚｚｆ，０  ）Ｔ  である。つまり、Ａｆｐｒｅ＝（Ｘｆ，Ｙｆ，Ｚｆ，Ｘｉｐｒｅ）となる。ここまでは、請求項１と同様である。
ここで、基本ツールフレームＡｆｐｒｅ０を以下で決める。
Ａｆｐｒｅ０＝（Ｔｘ，Ｔｙ，Ｔｚ，Ｘｉｐｒｅ）
（ただし、Ｔｘ＝Ｙｆ、Ｔｙ＝Ｘｆ、Ｔｚ＝−Ｚｆ、座標系（Ｔｘ，Ｔｙ，Ｔｚ）はツールＴに対して例えば図８のように決められているとする。）
ここで、ロボットが持つツールの姿勢が動作方向に対して、作業に望ましいように、あらかじめ決められていたする。このとき一般に、アーク溶接や塗装などのような場合には、冗長な自由度を持ち、姿勢自由度３つのうち、２つだけが決められる。ここでは、図３で示したねらい角（α）、前進角（β）のみ決められている場合を例示する。このようなときは、以下の式によって点Ｐｉｐｒｅ  でのツール先端の基本ツール位置姿勢が決定される。
Ａｆｐｒｅ１＝Ａｆｐｒｅ０・Ｒｏｔ  （Ｔｘ，α）・Ｒｏｔ  （Ｔｙ，β）
後点Ｐｉｐｏｓｔの基本ツール位置姿勢Ａｆｐｒｅ１も前記と同様にして、教示点ＰｉとＰｉ＋１の座標値ＸｉとＸｉ＋１から決められる。
【００１５】
ステップＳ７０５では、以上述べたような方法で作成した前点の基本ツール位置姿勢Ａｆｐｒｅ１とＡｆｐｏｓｔ１  より、教示点の基本姿勢を決定する。この決定のしかたは、請求項１のステップＳ１０５で、  Ａｐｒｅ  をＡｆｐｒｅ１に、Ａｐｏｓｔ  をＡｆｐｏｓｔ１  に置き換えて同様に実施する。すると、教示点での基本ツール位置姿勢Ａｆｔ１は、
Ａｆｔ１＝  Ｒｏｔ（ｋ、  θ／２）  ・Ａｆｐｒｅ１・  ＴＲ
で決定できる。
他の教示点も同様にして、前後点の作成と基本姿勢の作成、教示点の基本姿勢が決定できる。
【００１６】
ステップＳ７０６では、ステップＳ７０４〜Ｓ７０５でつくった基本ツール姿勢Ａｆｐｒｅ１，Ａｆｔ１，Ａｆｐｏｓｔ１  に対してＴｚ軸回りの回転の冗長自由度を利用して動作可能な姿勢の範囲をつくる。
各点（前後点、教示点）での回転可能範囲をＴｚ回りの回転角の値として△Ｔｚｉ  （ｉ＝０  〜Ｍ−１、Ｍは教示点、前後点の合計）として保存する。一般には、△Ｔｚｉは、いくつかの区間を持った値となるが、ここでは、説明の簡単のために、１つの区間しか持たないとする。つまり、△  Ｔｚｉ＝（Ｔｚｉ０，Ｔｚｉ１）とする。ここで、（ａ，ｂ）は、ａ〜ｂの区間を表す。
【００１７】
ステップ７０７では、ステップ７０６でつくられた各点の区間△Ｔｚｉ  の中から、あらかじめ決まられた評価関数を最低にするものを選び出す。これを、γｉ  （ｉ＝０〜Ｍ−１）とする。
このようにすると最終的な点の位置、姿勢は、
Ａｆｐｒｅ２ｉ  ＝Ａｆｐｒｅ１ｉ  ・Ｒｏｔ  （Ｔｚ，γｉ  ）    （ｉ＝０〜Ｍ−１のうち前点）
Ａｆｐｏｓｔ２ｉ＝Ａｆｐｏｓｔ１ｉ・Ｒｏｔ  （Ｔｚ，γｉ  ）    （ｉ＝０〜Ｍ−１のうち後点）
Ａｆｔ２ｉ  ＝Ａｆｔ１ｉ  ・Ｒｏｔ  （Ｔｚ，γｉ  ）        （ｉ＝０〜Ｍ−１のうち教示点）
となる。
【００１８】
ステップＳ７０８では、Ｓ７０２〜Ｓ７０７まででつくられた前後点、教示点の位置、姿勢Ａｆｐｒｅ２ｉ，Ａｆｐｏｓｔ２ｉ，Ａｆｔ２ｉをロボットの動作プログラムに書き込む。以上のような手順で、望ましいツール姿勢が冗長自由度を持っている場合に特徴点の位置情報から実際に動作可能な動作プログラムが作成できる。
【００１９】
請求項４は、前記の請求項２の実施例のうち、ステップＳ７０６において、動作可能範囲を決めるときの方法に関する。
前記と同様図８のようなツールＴをもつときＴｚの回りに冗長自由度を持つとする。
このとき、図９ような、動作の流れで動作可能な範囲を決定する。
ステップＳ９０１で、あらかじめ決められた探索の増分値ＤＴｚ  と終了値ＭａｘＴｚ  を設定する。次に、ステップＳ９０２で冗長自由度の回りの回転量をゼロクリアする。Ｓ９０３では、基準ツール位置姿勢Ａｆ１  を△Ｔｚだけ回転させたＡｆ２  を求める。Ｓ９０４では、この位置姿勢に関して、ロボット自身の機構的な制限にかからないか判定し、かからなければ、Ｓ９０５に進み、ロボット先端につけたツールとロボット本体が干渉しないかどうか判定する。ロボット自身の制限にもかからず、ツールＴとの干渉もない場合のみ、動作可能範囲△Ｔｚを更新する。ステップＳ９０７では、  ＤＴｚだけ回転量を増やす。Ｓ９０８では、回転量△Ｔｚが終了値ＭａｘＴｚ  を越えるかどうか判定し、越えていれば、動作終了とする。
各軸、各教示点、前後点に対して、以上のような動作をすることにより、冗長自由度回りに回転できる範囲△  Ｔｚｉ＝（Ｔｚｉ０，Ｔｚｉ１）（ｉ＝０〜Ｍ−１）を決定できる。
【００２０】
つぎに、請求項５と６の実施例について説明する。請求項４と５は、請求項２の説明でのステップＳ７０７での評価関数の作り方に関している。
請求項５の評価関数は、Ｊ＝Σｉ  Σｊ  （Ｗｉｊ＊△Ｐｉｊ２  ）とするものである。ここで、△Ｐｉｊは教示点、前後点を動作順に並べてたときのｉ  番目の動作点からｉ  ＋１番目の動作点までのｊ軸位置変化量、Σｊ  はロボット軸の合計（ｊ＝０〜Ｎ−１、Ｎはロボットの軸数）、Σｉ  は教示点、前後点の合計をとることを表す（ｉ  ＝０〜Ｍ−１、Ｍは教示点、前後点の合計）。前記冗長自由度回りの回転角により、このｊ  軸位置は決定され、Ｗｉ  ｊ  は、予め決めた重み係数であることを特徴とする。このようにとることにより、全体として、各軸の動作が少なくなり、サーボ遅れ等の影響が少なくなる動作プログラムが作成できる。
また、請求項６の評価関数Ｊは、教示点ｊ  の前後点姿勢を決める評価関数は、Ｊｉ  １＝Σｊ  （Ｗｉｊ１  ＊（Ｐｉｊｐｒｅ  −Ｐｉｊｐｏｓｔ）２  ）、
（ここで、ｉ  は教示点を動作順に並べたときの動作順番号、
Ｐｉｊｐｒｅ  は、教示点ｉ  の前点、ｊ  軸の位置、
Ｐｉｊｐｏｓｔは、教示点ｉ  の後点、ｊ  軸の位置、
Ｗｉｊ１  は、予め決めた重み係数、
Σｊ  はロボット軸の合計を表す）
をとり、かつ、教示点ｉ  での各軸位置を決定する評価関数は、
Ｊｉ  ２＝Σｊ  （Ｗｉｊ２ｐｒｅ＊（Ｐｉｊｔｃｈ  −Ｐｉｊｐｒｅ０）２  ＋Ｗｉｊ２ｐｏｓｔ  ＊（Ｐｉｊｐｏｓｔ０  −Ｐｉｊｔｃｈ  ）２  ）
（ここで、Ｐｉｊｐｒｅ０，Ｐｉｊｐｏｓｔ０は、前記Ｊｉ  １を最低にするような、ロボット各軸の回転位置、Ｐｉｊｔｃｈ  は教示点ｉ  でのｊ  軸の位置、Ｗｉｊ２ｐｒｅ、Ｗｉｊ２ｐｏｓｔ  は予め決められている重み係数）
をとることとする。
このよにすると、評価関数Ｊの計算時間が少なくて、かつ、作業対象の特徴点での各軸動作の変化が少なくなり、サーボ遅れ等の影響が少なくなる動作プログラムが作成できる。
【０００２１】
【発明の効果】
以上述べたように、本発明によれば、姿勢を教示することなく、ロボットの動作位置のみの教示で、実際に動作可能な動作プログラムが作成可能となる。したがって教示作業が簡単化され、作業効率が大幅に向上するという効果がある。
【図面の簡単な説明】
【図１】本発明の請求項１の実施例を示す図
【図２】本発明の実施例を説明する図であって、（ａ）は作業対象の斜視図、（ｂ）は上から見た図
【図３】ねらい角、前進角を説明するための図
【図４】本発明の実施例で前後点の作成を説明するための図
【図５】本発明の実施例で前後点の姿勢作成を説明するための図
【図６】本発明の実施例で教示点の姿勢作成を説明するための図
【図７】本発明の請求項２の実施例を示す図
【図８】冗長自由度をもつツールの例
【図９】本発明の請求項４の実施例を示す図
【符号の説明】
１…溶接トーチ
Ｗ…作業対象
Ｔ…ツール
【図１】
0003608673.tif 000002
【図２】
0003608673.tif 000003
【図３】
0003608673.tif 000004
【図４】
0003608673.tif 000005
【図５】
0003608673.tif 000006
【図６】
0003608673.tif 000007
【図７】
0003608673.tif 000008
【図８】
0003608673.tif 000009
【図９】
0003608673.tif 000010