"作業対象物の作業線に則して移動させる作業部を先端に有し,その作業部に連結されて前記作業部の姿勢を変化させる3つの駆動軸を備えた第1関節駆動系と,前記第1関節駆動系に連結されて該第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を備えた第2関節駆動系とを有する多関節型ロボットを制御する多関節型ロボットの制御装置であって,前記多関節型ロボットのベース座標系において予め教示された前記作業部の作業開始位置及びその時の姿勢と作業終了位置及びその時の姿勢とを結ぶ教示経路を補間する複数の補間点における前記作業部の位置及びその時の姿勢を示すデータを算出する補間データ算出手段と,前記補間データ算出手段により算出されたデータから逆運動学問題の解を求めることにより,前記補間点における前記作業部の位置及びその時の姿勢を示す前記第1関節駆動系及び前記第2関節駆動系を含む全ての駆動軸の角度を算出する角度算出手段と,前記角度算出手段により算出された次の前記補間点と現在の前記補間点とにおける前記第1関節駆動系の前記各駆動軸の角度の差分に基づいて次の前記補間点に前記作業部の姿勢を動かすときの前記第1関節駆動系における両端の2つの駆動軸の速度を算出する速度算出手段と,前記補間データ算出手段により算出されたデータを,前記作業部の移動方向の軸,該軸に垂直な方向の軸,該2つの軸に垂直な軸を含む作業座標系における前記作業部の姿勢を示す姿勢データに変換する姿勢データ変換手段と,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が予め定められた許容範囲外である場合に,前記作業部の移動速度を変更することなく,且つ前記姿勢データ変換手段により変換された次の前記補間点における前記作業部の姿勢データに対して一つ又は二つの特定成分の変動を抑制しつつ前記第1関節駆動系における両端の2つの駆動軸の速度が前記許容範囲内となる前記第1関節駆動系の駆動軸各々の角度を再度算出し,該算出された前記第1関節駆動系の駆動軸各々の角度と前記補間データ算出手段により算出された前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を再度算出する再算出手段と,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記角度算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記再算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させる駆動指示手段と,を備えてなることを特徴とする多関節型ロボットの制御装置。前記再算出手段が,現在の前記補間点における前記第1関節駆動系の駆動軸各々の角度に基づいて,該駆動軸各々の角度が前記角度算出手段で算出された次の前記補間点における角度に追従し,且つ前記第1関節駆動系における両端の2つの駆動軸の次の前記補間点における速度が前記許容範囲内となる該駆動軸各々の角度の候補を複数算出する角度候補算出手段と,前記角度候補算出手段により算出された角度の候補各々を採用したときの次の前記補間点の前記作業部の姿勢を前記作業座標系で示す姿勢データをそれぞれ算出する姿勢データ算出手段と,前記姿勢データ算出手段により算出された複数の姿勢データのうち,前記姿勢データ変換手段により変換された次の前記補間点における前記作業部の姿勢データに対して前記特定成分の変動が最も抑制された姿勢データを選択し,該姿勢データに対応する角度を前記駆動軸各々の角度として選択する角度選択手段と,を含んでなる請求項1に記載の多関節型ロボットの制御装置。前記第1関節駆動系の駆動軸の角度を±180°で表したとき,前記角度算出手段が,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出するものである請求項2に記載の多関節型ロボットの制御装置。前記第1関節駆動系の駆動軸の角度を±180°で表したとき,前記角度算出手段が,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と異符号になる逆運動学問題の解を算出するものである請求項2に記載の多関節型ロボットの制御装置。前記第1関節駆動系の駆動軸の角度を±180°で表したとき,前記角度算出手段が,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系の中央の駆動軸の角度が同符号である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系の中央の駆動軸の角度が異符号である場合において,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と異符号になる逆運動学問題の解を算出するものである請求項2に記載の多関節型ロボットの制御装置。前記再算出手段が,前記姿勢データ変換手段により変換された前記作業部の姿勢データのうち予め定められた重み付けが大きい前記特定成分から順に変動の抑制量が大きくなるように前記駆動軸の角度を再度算出するものである請求項1~5のいずれかに記載の多関節型ロボットの制御装置。前記作業部がトーチであり,前記姿勢データが,前記作業部の移動方向の軸をX軸,前記X軸と重力方向との外積によって表される軸をY軸,前記X軸と前記Y軸との外積によって表される方向の軸をZ軸,前記X軸の軸周りの回転角をトーチ傾斜角,前記Y軸の軸周りの回転角をトーチ前進角,前記Z軸の軸周りの回転角をトーチ回転角とする作業座標系で表されるものであって,前記特定成分が,前記トーチ傾斜角,前記トーチ前進角,前記トーチ回転角のいずれか一つ又は二つである請求項1~6のいずれかに記載の多関節型ロボットの制御装置。前記作業部が,先端に前記作業対象物に対して作業上の効果を与える一つの作業点を有するシングルトーチであり,前記特定成分が,前記トーチ傾斜角及び前記トーチ前進角である請求項7に記載の多関節型ロボットの制御装置。前記作業部が,先端に前記作業対象物に対して作業上の効果を与える2つの作業点を有するタンデムトーチであり,前記特定成分が,前記トーチ傾斜角及び前記トーチ回転角である請求項7に記載の多関節型ロボットの制御装置。前記駆動指示手段が,前記速度許容判別手段により前記許容範囲外の駆動軸があると判別された後は,前記再算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,その後,前記角度算出手段により算出された前記第1関節駆動系の角度と前記再算出手段により算出された前記第1関節駆動系の角度との差分が所定値以下となったことを条件に,前記再算出手段により算出された前記駆動軸各々の角度に代えて前記角度算出手段により算出される前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させるものである請求項1~9のいずれかに記載の多関節型ロボットの制御装置。前記駆動指示手段が,前記再算出手段により算出された前記駆動軸各々の角度に基づく前記多関節ロボットの駆動制御から前記角度算出手段により算出された前記駆動軸各々の角度に基づく前記多関節ロボットの駆動制御に切り替える際に,該駆動軸各々の角度を所定の変動範囲内で徐々に変動させるものである請求項10に記載の多関節型ロボットの制御装置。前記速度算出手段が,速度に代えて加速度を算出するものであり,前記再算出手段及び前記駆動指示手段が,速度に代えて加速度に基づいて判別するものである請求項1~11のいずれかに記載の多関節型ロボットの制御装置。作業対象物の作業線に則して移動させる作業部を先端に有し,その作業部に連結されて前記作業部の姿勢を変化させる3つの駆動軸を備えた第1関節駆動系と,前記第1関節駆動系に連結されて該第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を備えた第2関節駆動系とを有する多関節型ロボットを制御する多関節型ロボットの制御方法であって,前記多関節型ロボットのベース座標系において予め教示された前記作業部の作業開始位置及びその時の姿勢と作業終了位置及びその時の姿勢とを結ぶ教示経路を補間する複数の補間点における前記作業部の位置及びその時の姿勢を示すデータを算出する補間データ算出工程と,前記補間データ算出工程により算出されたデータから逆運動学問題の解を求めることにより,前記補間点における前記作業部の位置及びその時の姿勢を示す前記第1関節駆動系及び前記第2関節駆動系を含む全ての駆動軸の角度を算出する角度算出工程と,前記角度算出工程により算出された次の前記補間点と現在の前記補間点とにおける前記第1関節駆動系の前記各駆動軸の角度の差分に基づいて次の前記補間点に前記作業部の姿勢を動かすときの前記第1関節駆動系における両端の2つの駆動軸の速度を算出する速度算出工程と,前記補間データ算出工程により算出されたデータを,前記作業部の移動方向の軸,該軸に垂直な方向の軸,該2つの軸に垂直な軸を含む作業座標系における前記作業部の姿勢を示す姿勢データに変換する姿勢データ変換工程と,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が予め定められた許容範囲外である場合に,前記作業部の移動速度を変更することなく,且つ前記姿勢データ変換工程により変換された次の前記補間点における前記作業部の姿勢データに対して一つ又は二つの特定成分の変動を抑制しつつ前記第1関節駆動系における両端の2つの駆動軸の速度が前記許容範囲内となる前記第1関節駆動系の駆動軸各々の角度を再度算出し,該算出された前記第1関節駆動系の駆動軸各々の角度と前記補間データ算出工程により算出された前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を再度算出する再算出工程と,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記角度算出工程により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記再算出工程により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させる駆動指示工程と,を実行することを特徴とする多関節型ロボットの制御方法。作業対象物の作業線に則して移動させる作業部を先端に有し,その作業部に連結されて前記作業部の姿勢を変化させる3つの駆動軸を備えた第1関節駆動系と,前記第1関節駆動系に連結されて該第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を備えた第2関節駆動系とを有する多関節型ロボットを制御するコンピュータによって実行される多関節型ロボットの制御プログラムであって,前記多関節型ロボットのベース座標系において予め教示された前記作業部の作業開始位置及びその時の姿勢と作業終了位置及びその時の姿勢とを結ぶ教示経路を補間する複数の補間点における前記作業部の位置及びその時の姿勢を示すデータを算出する補間データ算出工程と,前記補間データ算出工程により算出されたデータから逆運動学問題の解を求めることにより,前記補間点における前記作業部の位置及びその時の姿勢を示す前記第1関節駆動系及び前記第2関節駆動系を含む全ての駆動軸の角度を算出する角度算出工程と,前記角度算出工程により算出された次の前記補間点と現在の前記補間点とにおける前記第1関節駆動系の前記各駆動軸の角度の差分に基づいて次の前記補間点に前記作業部の姿勢を動かすときの前記第1関節駆動系における両端の2つの駆動軸の速度を算出する速度算出工程と,前記補間データ算出工程により算出されたデータを,前記作業部の移動方向の軸,該軸に垂直な方向の軸,該2つの軸に垂直な軸を含む作業座標系における前記作業部の姿勢を示す姿勢データに変換する姿勢データ変換工程と,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が予め定められた許容範囲外である場合に,前記作業部の移動速度を変更することなく,且つ前記姿勢データ変換工程により変換された次の前記補間点における前記作業部の姿勢データに対して一つ又は二つの特定成分の変動を抑制しつつ前記第1関節駆動系における両端の2つの駆動軸の速度が前記許容範囲内となる前記第1関節駆動系の駆動軸各々の角度を再度算出し,該算出された前記第1関節駆動系の駆動軸各々の角度と前記補間データ算出工程により算出された前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を再度算出する再算出工程と,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記角度算出工程により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,前記速度算出工程により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記再算出工程により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させる駆動指示工程と,をコンピュータに実行させることを特徴とする多関節型ロボットの制御プログラム。しかし,ある関節軸の速度が許容範囲を超える場合に,各手首軸に急激な変化を生じさせず制限内の速度に保ったまま動作させて,予定経路を通過させようとする場合には,エンドエフェクタに要求された1位置2移動速度3姿勢角度の3要素を同時に満たすことができないことが一般的に知られている。そのため,一般的なマニピュレータでは,1~3の要素の中から1つか2つの要素のみを満たすようにマニピュレータを動作させる制御がなされている。例えば,特許文献1及び特許文献2には,エンドエフェクタの1の位置と3の姿勢角度とを維持する方法が記載されているが,2の移動速度を維持することができず移動速度が遅くなるため,エンドエフェクタに溶接器を備えたような場合には,本来要求される時間よりも長い時間をかけて作業線を通過してしまい,他の部分の溶接時間よりも長くなり,強度が低下する等の問題がある。さらに,移動速度が遅くなり溶接時間が長くなった箇所が必要以上に盛り上がり,次工程例えば2層目の溶接工程などに影響を与えるおそれもある。また,特許文献3には,エンドエフェクタの移動速度又は位置のいずれか一方を維持する方法が記載されているが,移動速度を維持する場合には位置を維持することができず,エンドエフェクタに溶接器や塗装器を備えたような場合には,本来予定された作業線からずれ,溶接や塗装が必要な場所に効果を及ぼせない問題がある。従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,手首軸を所定の許容量を超えて急激に変化させる必要がある場合に,溶接や塗装作業に特に必要な手首先端の位置及び手首先端の移動速度と手首軸の許容速度とを維持し,かつ目的に応じた作業座標系における姿勢角度の少なくとも一つの特定成分の変動を抑制するようにした多関節型ロボットの制御装置,制御方法及び制御プログラムを提供することにある。上記目的を達成するために本発明は,作業対象物の作業線に則して移動させる作業部を先端に有し,その作業部に連結されて前記作業部の姿勢を変化させる3つの駆動軸を備えた第1関節駆動系と,前記第1関節駆動系に連結されて該第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を備えた第2関節駆動系とを有する多関節型ロボットを制御する多関節型ロボットの制御装置に適用されるものであって,下記の11~16を備えてなることを特徴として構成される。11前記多関節型ロボットのベース座標系において予め教示された前記作業部の作業開始位置及びその時の姿勢と作業終了位置及びその時の姿勢とを結ぶ教示経路を補間する複数の補間点における前記作業部の位置及びその時の姿勢を示すデータを算出する補間データ算出手段。12前記補間データ算出手段により算出されたデータから逆運動学問題の解を求めることにより,前記補間点における前記作業部の位置及びその時の姿勢を示す前記第1関節駆動系及び前記第2関節駆動系を含む全ての駆動軸の角度を算出する角度算出手段。13前記角度算出手段により算出された次の前記補間点と現在の前記補間点とにおける前記第1関節駆動系の前記各駆動軸の角度の差分に基づいて次の前記補間点に前記作業部の姿勢を動かすときの前記第1関節駆動系における両端の2つの駆動軸の速度を算出する速度算出手段。14前記補間データ算出手段により算出されたデータを,前記作業部の移動方向の軸,該軸に垂直な方向の軸,該2つの軸に垂直な軸を含む作業座標系における前記作業部の姿勢を示す姿勢データに変換する姿勢データ変換手段。15前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が予め定められた許容範囲外である場合に,前記作業部の移動速度を変更することなく,且つ前記姿勢データ変換手段により変換された次の前記補間点における前記作業部の姿勢データに対して一つ又は二つの特定成分の変動を抑制しつつ,前記第1関節駆動系における両端の2つの駆動軸の速度が前記許容範囲内となる前記第1関節駆動系の駆動軸各々の角度を再度算出し,該算出された前記第1関節駆動系の駆動軸各々の角度と前記補間データ算出手段により算出された前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を再度算出する再算出手段。16前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記角度算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記再算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させる駆動指示手段。本発明によれば,前記第1関節駆動系の駆動軸を前記許容範囲を超えて急激に変化させる必要がある場合でも,溶接や塗装作業に特に必要な前記作業部の位置及び手首先端の移動速度と前記第1関節駆動系の駆動軸の許容速度とを維持し,かつ目的に応じた作業座標系における姿勢角度の少なくとも一つの特定成分の変動を抑制することができる。また,前記作業開始位置から前記作業終了位置までの間に存在する特異点領域や特異点回避経路などを算出する場合には,事前計算における過大な負荷に対応することのできる演算装置CPUを設ける必要がありコストアップ要因となるが,本発明によれば,現在の状態と次の状態とに応じてその都度駆動が制御すればよいため,演算装置に瞬間的に要求される処理負荷が軽減されており低コスト化を図ることができる。例えば,前記再算出手段が,現在の前記補間点における前記第1関節駆動系の駆動軸各々の角度に基づいて,該駆動軸各々の角度が前記角度算出手段で算出された次の前記補間点における角度に追従し,且つ前記第1関節駆動系における両端の2つの駆動軸の次の前記補間点における速度が前記許容範囲内となる該駆動軸各々の角度の候補を複数算出する角度候補算出手段と,前記角度候補算出手段により算出された角度の候補各々を採用したときの次の前記補間点の前記作業部の姿勢を前記作業座標系で示す姿勢データをそれぞれ算出する姿勢データ算出手段と,前記姿勢データ算出手段により算出された複数の姿勢データのうち,前記姿勢データ変換手段により変換された次の前記補間点における前記作業部の姿勢データに対して前記特定成分の変動が最も抑制された姿勢データを選択し,該姿勢データに対応する角度を前記駆動軸各々の角度として選択する角度選択手段とを含んでなることが考えられる。これにより,前記作業部の位置姿勢を動かした際に,前記作業部の作業目的に応じた適切な特定成分の変動を抑制することができる。ところで,前記第1関節駆動系の駆動軸の角度を±180°で表したとき,前記角度算出手段は,例えば前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出する。これにより,前記第1関節駆動系の中央に位置する駆動軸の角度が0°を通過しないように制御して特異点を回避することができる。また,前記角度算出手段は,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と異符号になる逆運動学問題の解を算出するものであってもよい。さらに,これらを組み合わせた構成も考えられる。即ち,前記角度算出手段が,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系の中央の駆動軸の角度が同符号である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系の中央の駆動軸の角度が異符号である場合において,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の両方の速度が前記許容範囲内である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と同符号になる逆運動学問題の解を算出し,前記速度算出手段により算出された前記第1関節駆動系における両端の2つの駆動軸の一方又は両方の速度が前記許容範囲外である場合は,前記第1関節駆動系の中央に位置する駆動軸の次の前記補間点における角度が前記作業開始位置における該駆動軸の角度と異符号になる逆運動学問題の解を算出するものであることが望ましい。これにより,前記作業終了位置における前記第1関節駆動系の中央の駆動軸の角度を教示された通りに到着させることができる。また,前記再算出手段は,前記姿勢データ変換手段により変換された前記作業部の姿勢データのうち予め定められた重み付けが大きい前記特定成分から順に変動の抑制量が大きくなるように前記駆動軸の角度を再度算出するものであることが考えられる。これにより,前記重み付けを適宜設定しておくことにより,前記特定成分の変動の抑制量を適宜調整することが可能となる。本願発明のより具体的な構成としては,前記作業部がトーチであり,前記姿勢データが,前記作業部の移動方向の軸をX軸,前記X軸と重力方向との外積によって表される軸をY軸,前記X軸と前記Y軸との外積によって表される方向の軸をZ軸,前記X軸の軸周りの回転角をトーチ傾斜角,前記Y軸の軸周りの回転角をトーチ前進角,前記Z軸の軸周りの回転角をトーチ回転角とする作業座標系で表されるものであって,前記特定成分が,前記トーチ傾斜角,前記トーチ前進角,前記トーチ回転角のいずれか一つ又は二つであることが考えられる。図25に示すように,前記手首先端部に備えられた前記作業部の姿勢について,直交座標系Σbase上で表される手首先端位置XYZと手首先端姿勢αβγから,前記作業部が移動方向の軸をX軸とする溶接線座標系Σline作業座標系上で表すことによって,前記作業部の姿勢を図26~図28に示すように各軸に対する傾き成分として表すことができる。変換された溶接線座標系Σlineの座標軸周りの回転角は,図26,図27に示すようにXline軸周りの回転角を右ネジ方向を正方向として前記トーチ傾斜角Rxとし,図26,図28に示すようにYline軸周りの回転角を右ネジ方向を正方向として前記トーチ前進角Ryとし,Zline軸周りの回転角を右ネジ方向を正方向として前記トーチ回転角Rzとする。このとき,前記作業部が,先端に前記作業対象物に対して作業上の効果を与える一つの作業点を有するシングルトーチである場合には,前記特定成分が,前記トーチ傾斜角及び前記トーチ前進角であることが考えられる。これにより,作業点が一つであるシングルトーチの作業に重要な前記トーチ傾斜角と前記トーチ前進角との変動を抑制することができる。他方,前記作業部が,先端に前記作業対象物に対して作業上の効果を与える2つの作業点を有するタンデムトーチである場合には,前記特定成分が,前記トーチ傾斜角及び前記トーチ回転角であることが考えられる。これにより,作業点が二つであるタンデムトーチの作業に重要な前記トーチ傾斜角と前記トーチ回転角との変動を抑制することができる。さらに,前記駆動指示手段が,前記速度許容判別手段により前記許容範囲外の駆動軸があると判別された後は,前記再算出手段により算出された前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させ,その後,前記角度算出手段により算出された前記第1関節駆動系の角度と前記再算出手段により算出された前記第1関節駆動系の角度との差分が所定値以下となったことを条件に,前記再算出手段により算出された前記駆動軸各々の角度に代えて前記角度算出手段により算出される前記駆動軸各々の角度に基づいて前記多関節型ロボットを駆動させるものであることが考えられる。このとき,前記駆動指示手段は,前記再算出手段により算出された前記駆動軸各々の角度に基づく前記多関節ロボットの駆動制御から前記角度算出手段により算出された前記駆動軸各々の角度に基づく前記多関節ロボットの駆動制御に切り替える際に,該駆動軸各々の角度を所定の変動範囲内で徐々に変動させるものであることが考えられる。これにより,前記作業対象物の作業線に則して移動する前記作業線が振動して作業線に則して移動しなくなることを防止することができる。例えば,前記再算出手段により算出された角度と前記多関節ロボットの駆動制御から前記角度算出手段により算出された角度との中間の角度であることが考えられる。また,前記速度算出手段が,速度に代えて加速度を算出するものであり,前記再算出手段及び前記駆動指示手段が,速度に代えて加速度に基づいて判別するものであってもよい。なお,本発明は前記多関節型ロボットの制御装置で実行される各工程を実行する多関節型ロボットの制御方法の発明,或いは,その各工程をコンピュータに実行させる多関節型ロボットの制御プログラムの発明として捉えることができる。本発明によれば,手首先端を僅かに動かしただけで,手首軸が所定の許容量を超えて急激に変化する場合であっても,溶接や塗装作業に特に必要な手首先端の位置及び手首先端の移動速度と手首軸の許容速度とを維持し,かつ目的に応じた作業座標系における姿勢角度の少なくとも一つの特定成分の変動を抑制することが可能となる。また,前記作業開始位置から前記作業終了位置までの間に存在する特異点領域や特異点回避経路などを算出する場合には,事前計算における過大な負荷に対応することのできる演算装置CPUを設ける必要がありコストアップ要因となるが,本発明によれば,現在の状態と次の状態とに応じてその都度駆動が制御すればよいため,演算装置に瞬間的に要求される処理負荷が軽減されており低コスト化を図ることができる。以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。まず,図1に示される概略構成図を参照しつつ,本発明の実施形態に係る多関節型ロボットXの構成について説明する。多関節型ロボットXは,制御部10,操作部21,マニピュレータ本体30等を備えている。尚,多関節型ロボットXは,図1に示す構成要素以外にも,一般的な多関節型ロボットが備える他の構成要素も備えているが,ここでは記載を省略している。制御部10は,主制御部11,記憶部12,駆動指示部13を備えており,本発明に係る多関節型ロボットの制御装置の一例である。マニピュレータ本体30は,人間の腕に相当するJ1軸31,J2軸32,J3軸33を有する第2関節駆動系と,人間の手首に相当するJ4軸34,J5軸35,J6軸36を有する第1関節駆動系と,作業対象物に効果を発揮するエンドエフェクタ39とを備え,操作された内容に従って駆動し,人間の上腕が行うのと同様の作業をするロボットである。尚,上記マニピュレータ本体30は,多関節型ロボットの一例である。J1軸31~J6軸36は,電気モータ等により構成され,駆動指示部13からの指示により正負の方向に回転駆動し,複数の軸の回転駆動が連関することによって,人間の手首や腕の動きを実現する。特に,前記第2関節駆動系は,前記第1関節駆動系の駆動軸の動作にかかわらず,前記多関節型ロボットのベース座標系Σbaseにおける前記エンドエフェクタ39の位置X,Y,Zを自由に作り出すことができる。エンドエフェクタ39は,マニピュレータ本体30の先端J6軸36の先に取り付けられた効果器であり,1つの作業点により作業をする溶接器トーチ,塗装器,工具,捕獲器,センサなどである。尚,上記エンドエフェクタ39は,作業部の一例である。また,1つの作業点を備えるトーチをシングルトーチという。操作部21は,ユーザにより操作されるシートキーや操作ボタン,操作レバー等により構成され,ユーザによる操作入力を受け付ける入力インターフェースである。例えば,操作部21は,前記エンドエフェクタ39の作業開始位置及び姿勢と作業終了位置及び姿勢とこれを結ぶ経路との作業経路や作業時間,目的に応じた溶接線座標系Σline作業座標系におけるエンドエフェクタ39の姿勢角度の各成分の変動を抑制するための重み付け情報,これらの内容が記載されたプログラムなどの入力を受け付けて制御部10に出力する。即ち,操作部21は,エンドエフェクタ39の作業開始位置及び姿勢,作業終了位置及び姿勢を教示するための手段であり,前記重み付け情報を設定するための手段である。記憶部12は,例えば,ハードディスクや,DRAM等により構成された揮発性メモリであり,エンドエフェクタ39の作業開始位置及び姿勢と作業終了位置及び姿勢とこれを結ぶ経路との作業経路や作業時間,エンドエフェクタ39の姿勢角度の各成分の変動を抑制するための重み付け情報,後述する主制御部11により算出された補間点特異点を経由する経路と,特異点を回避する経路との双方における前記J1軸31~J6軸36の角度と速度場合によっては更に加速度などを記憶するものである。駆動指示部13は,主制御部11からの制御指示に従ってサンプリング周期毎に記憶部12に記憶された次の補間点特異点を経由する経路又は特異点を回避する経路の一方にエンドエフェクタ39を動かすように前記J1軸31~J6軸36の角度又は速度の情報を読み出して,マニピュレータ本体30に出力する。尚,主制御部11及び駆動指示部13が,駆動指示工程を実行するための駆動指示手段の一例である。主制御部11は,CPU,ROMなどを備え,CPUは,当該多関節型ロボットXの各種制御及び演算を行う演算手段であり,ROMは,CPUにより実行される制御プログラムや演算プログラム,CPUがそれらプログラムを実行する際に参照するデータ等が記憶されるメモリである。次に,図2~図6のフローチャートを参照して,多関節型ロボットXの主制御部11が中心となって,マニピュレータ本体30を作動させる処理手順の一例について説明する。尚,以下に示すS11,S12,...は,処理手順ステップの識別符号を表す。まず,図2を参照して,一般的なマニピュレータ本体30の制御と,この発明の一実施形態に係る多関節型ロボットXの制御との処理手順の違いについて説明する。一般的なマニピュレータ本体30の制御は,後述するように主制御部11に作動軌跡を教示する教示工程ステップS11を実施し,更に教示された作動軌跡上の補間点の位置姿勢に作動させるために各駆動軸の角度を算出記憶する工程ステップS12と,算出された角度を読み出して作動を指示する工程ステップS14と,作業終了位置姿勢に到達したか否かを判別する工程ステップS15とを実施して,マニピュレータ本体30を現在の補間点の位置姿勢から次の補間点の位置姿勢に作動させ,以後,所定のサンプリング期間毎にステップS12,S14,S15を繰り返すことにより作動軌跡に沿って作業開始位置姿勢から作業終了位置姿勢までマニピュレータ本体30を作動させる。また,主制御部11は,マニピュレータ本体30のエンドエフェクタ39を予め設定された一定速度で移動させることにより,該エンドエフェクタ39による作業を実行する。但し,一定速度で移動させる場合には,第1関節駆動系のJ5軸35が0°近傍を通過するとき特異点に,J4軸34やJ6軸36の速度が予め定められた許容範囲を超えるおそれがある。そこで,本実施の形態に係る多関節型ロボットXの制御は,上記一般的なマニピュレータ本体30の制御に必要な工程に加え,後述するように第1関節駆動系のJ4軸34,J6軸36の少なくとも一方の速度が許容範囲を超えるため速度抑制処理が必要か否かを判別する工程ステップS13と,速度抑制処理が必要な場合にステップS13;YES,特異点を回避した作動軌跡上の補間点に作動させるために各駆動軸の角度を再度算出記憶する速度抑制工程ステップS20とを含み,特異点を回避してマニピュレータ本体30を現在の補間点の位置姿勢から再算出された次の補間点の位置姿勢に作動させるものである。続いて,図2を参照して,主制御部11によって実行される多関節型ロボットXの制御全体処理について説明し,各処理の詳細については後述する。最初に,利用者が,ロボットの作動軌跡を,操作部21によりポイントツーポイントで教示する。即ち,操作部21によって各教示ポイントに移動させ,前記エンドエフェクタ39の作業位置及び姿勢を制御部10の記憶部12に記憶させるステップS11。尚,ステップS11が教示工程の一例である。主制御部11は,上記の教示されたポイント間を所定のサンプリング周期毎例えば,1/16秒,1/32秒などに分割補間し,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度と第1関節駆動系のJ4軸34~J6軸36の速度場合によっては更に加速度とを算出して記憶部12に記憶させるステップS12。ここに,J1軸31~J6軸36の角度は±180°で表される。もちろん,角度の指定方法は±180°に限らず,例えば0°~360°などであってもよい。尚,このステップS12の詳細については後述する。そして,主制御部11は,前記ステップS12で算出されたエンドエフェクタ39を次の補間点に動かすための第1関節駆動系のJ4軸34及びJ6軸36の一方又は両方の速度や加速度が許容範囲内か外か以後,速度抑制処理の要不要という又は,既に許容範囲外の駆動軸があると判別された後の回避処理中以後,速度抑制処理中というであるかを判別するステップS13。尚,このステップS13の詳細については後述する。ここで,速度抑制処理の要又は速度抑制処理中と判別されるとステップS13;YES,主制御部11が,エンドエフェクタ39の移動速度を変更することなく,且つ前記ステップS12により算出された次の補間点におけるエンドエフェクタ39の姿勢データに対して一つ又は二つの特定成分の変動を抑制し速度や加速度が前記許容範囲内となるように該J4軸34及びJ6軸36の一方又は両方の角度を再度算出し,これに対応する他の軸の角度を再算出して記憶部12に記憶させる速度抑制処理を行うステップS20。尚,このステップS20の上記の説明では,速度抑制処理の要不要を判別する目安として,各軸の速度や加速度を問題としたが,該ステップS20の具体例についての後述の説明では,速度について判別する場合を例に挙げて説明する。他方,速度抑制処理が不要であり速度抑制処理中でないと判別されるステップS13;NOか,速度抑制処理ステップS20がなされると,主制御部11の指示により駆動指示部13が,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度を記憶部12から読み出して,マニピュレータ本体30の各駆動軸のアクチュエータに出力するステップS14。このとき,速度抑制処理が不要であり速度抑制処理中でないと判別された場合には,前記ステップS12で算出された次の補間点に動かすためのJ1軸31~J6軸36の角度に基づいてマニピュレータ本体30が制御され,J4軸34やJ6軸36の速度が許容範囲外となって速度抑制処理が実行された場合には,前記ステップS20で算出された次の補間点に動かすためのJ1軸31~J6軸36の角度に基づいてマニピュレータ本体30が制御される。ここに,係るステップS14が駆動指示工程の一例であって,係る処理を実行するときの主制御部11及び駆動支持部13が駆動指示手段に相当する。続いて,主制御部11は,移動後のエンドエフェクタ39の位置及び姿勢が,作業部終了位置及び姿勢に到達したかを判別するステップS15。作業部終了位置及び姿勢に到達していない場合にはステップS15;NO,所定のサンプリング周期毎に,上述したステップS12以下の工程を再度実施し,作業部終了位置及び姿勢に到達した場合にはステップS15;YES,処理を終了する。このように,主制御部11は,所定のサンプリング周期毎に,エンドエフェクタ39を現在位置及び姿勢から次の補間点に動かすためのJ1軸31~J6軸36の角度を算出して,多関節型ロボットXを動作させる。次に,図3を参照して,図2のステップS12に該当する多関節型ロボットXの現在の補間点から次の補間点に移動するためのJ1軸31~J6軸36の角度と第1関節駆動系のJ4軸34~J6軸36の速度とを算出する処理手順の一例について説明する。まず,主制御部11は,前記ステップS11において予め教示された作業開始位置及び姿勢P0と作業終了位置及び姿勢Pnとの間をnサンプリング周期毎に基づく,任意の値個の点で補間したエンドエフェクタ39の位置及び姿勢を算出する。この場合,1サンプリング周期毎の移動量は,ΔP=Pn-P0/n={ΔX=Xn-X0/n,ΔY=Yn-Y0/n,ΔZ=Zn-Z0/n,Δα=αn-α0/n,Δβ=βn-β0/n,Δγ=γn-γ0/n}によって表せる。なお,前記補間点各々は,前記多関節型ロボットXのベース座標系Σbaseにより表されるものである。主制御部11は,図7に示すように,現在の位置の補間点がPiである場合に,次の補間点Pi1の位置及び姿勢をPi1=P0ΔP×i1や,Pi1=PiΔPによって算出するステップS121。尚,このステップS121が補間データ算出工程の一例であり,係る処理を実行するときの主制御部11が補間データ算出手段に相当する。続いて,主制御部11は,次の補間点Pi1の位置及び姿勢Xi1,Yi1,Zi1,αi1,βi1,i1から逆運動学問題の解を求めることによって,各J1軸31~J6軸36の角度θ1,θ2,θ3,θ4,θ5,θ6を算出して,記憶部12に記憶させるステップS122。このとき,J4軸34~J6軸36について逆運動学問題の2つの解が得られるが,ここでは,主制御部11は,その2つの解のうち第1関節駆動系のJ5軸35の角度が,教示された前記エンドエフェクタ39の作業開始位置におけるJ5軸35の角度と同符号となる逆運動学問題の解を採用する。これにより,J5軸35の角度が0°を通過することなく推移するため特異点の通過を回避することができる。尚,主制御部11は,後述する速度抑制処理を実行する場合には,特異点を経由する経路の補間点の各J1軸31~J6軸36の角度ばかりではなく,特異点を回避する経路の補間点の各J1軸31~J6軸36の角度をもそれぞれ算出して記憶部12に記憶させて,後述する復帰処理図5のステップS310及び図6のフローチャートをする際の比較対象とする。ここに,ステップS122が角度算出工程の一例であり,係る処理を実行するときの主制御部11が角度算出手段に相当する。次に,主制御部11は,算出された次の補間点Pi1の各J4軸34~J6軸36の角度から,記憶部12に記憶された現在の補間点Piの各J4軸34~J6軸36の角度を差し引き,第1関節駆動系のJ4軸34~J6軸36の速度を算出して記憶部12に記憶させるステップS123。尚,後述するように,速度抑制処理ステップS20を実行する場合には,特異点を経由する系の補間点の第1関節駆動系のJ4軸34~J6軸36の速度を算出し記憶部12に記憶させ,後述するステップS131において速度の許容範囲を算出したり,ステップS211等において次の補間点の候補となる速度必要に応じて加速度を算出するために用いる。ここに,ステップS123が速度算出工程の一例であり,係る処理を実行するときの主制御部11が速度算出手段に相当する。次に,図4を参照して,図2のステップS13に該当する速度抑制必要性判別処理手順の一例について説明する。まず,主制御部11はエンドエフェクタ39の位置及び姿勢を現在の補間点Piから次の補間点Pi1に動かす際の第1関節駆動系のJ4軸34,J6軸36の速度の許容範囲を算出するステップS131。例えば,現在の補間点Piの速度の値に所定の値や所定の割合を加減算して得られる値を上限下限として,速度の許容範囲を算出する。尚,この各軸の速度の許容範囲は,エンドエフェクタ39の作動条件例えば,溶接する際の温度,塗装する際の塗装膜の厚さなどの条件や多関節型ロボットが動作する際に振動などの異常動作を起こさないための条件など,作業対象物の品質に影響を及ぼさない範囲内で予め定めておいても良い。さらに,J4軸34,J6軸36ごとに個別の許容範囲を設定しても良い。次に,主制御部11は,第1関節駆動系の次の補間点におけるJ4軸34及びJ6軸36の一方又は両方の速度が上記許容範囲を超えているか,或いは,速度抑制処理中を示すフラグが立っているか否かを判別するステップS132。ここで,第1関節駆動系の次の補間点におけるJ4軸34及びJ6軸36の両方が前記許容範囲内であり,且つ速度抑制処理中でない場合にはステップS132;NO,主制御部11の指示により駆動指示部13は記憶部12から前記ステップS12で算出された各J1軸31~J6軸36の角度を読み出しマニピュレータ本体30に出力するステップS14。他方,許容範囲外の軸がある,又は速度抑制処理中である場合にはステップS132;YES,主制御部11は以下に述べる速度抑制処理ステップS20を実行する。以下,図5を参照して,図2のステップS20に該当する多関節型ロボットXの速度抑制処理の具体例について説明する。尚,以下では,図24に示したJ5軸35が0度付近にあり,J4軸34やJ6軸36の速度が許容範囲を超えるときに当該速度抑制処理を実行する場合を例に挙げて説明するが,他の理由によってJ4軸34やJ6軸36の速度が許容範囲を超える場合にも同様である。従って,当該速度抑制処理は,第1関節駆動系のJ4軸34,J6軸36の何れか1つ又は2つの駆動軸の速度が許容範囲を超える場合に実施される。尚,最初に次の補間点について許容範囲外の軸が発見された時に,現在の補間点での速度は許容範囲内である。まず,主制御部11は,次の補間点について速度が前記許容範囲外である駆動軸がJ4軸34及びJ6軸36のいずれであるか又は両方であるか,或いは,既に速度抑制処理中のフラグが立っている場合には,該速度抑制処理がJ4軸34及びJ6軸36のいずれか一方又は両方について実行されているかを判別し,処理を分岐するステップS201。許容範囲内か外かは,前記したように速度が許容範囲の上限下限の間にあるか否かにより判別される。ここで,J4軸34及びJ6軸36の両方が速度の許容範囲外でなく,且つ速度抑制処理中のフラグが立っていなければステップS201;その他,主制御部11は当該速度抑制処理を終了する。一方,J6軸36の速度が許容範囲外である場合は処理がステップS211に移行し,J4軸34の速度が許容範囲外である場合は処理がステップS221に移行し,J4軸34及びJ6軸36の両方の速度が許容範囲外である場合は処理がステップS231に移行する。J6軸36の速度抑制処理ステップS211~S217J6軸36の速度が許容範囲外であるか又は,J6軸36の速度抑制処理中を示すフラグが立っている場合ステップS201;J6軸が範囲外,主制御部11は,現在の補間点におけるJ6軸36の角度に基づいて,該J6軸36の角度が前記ステップS12で算出された次の補間点における角度に追従し,且つJ6軸36の次の補間点における速度が前記許容範囲内となる角度の候補を複数算出するステップS211。例えば,主制御部11は,以下の21~23の手順により,J6軸36の速度の候補を算出する。21まず,下記21a式により抑制基準速度V6bを算出する。ここに,θnowは次の補間点におけるJ6軸36の角度,θoldは現在の補間点におけるJ6軸36の角度,Eは予め設定された係数例えば0.1である。V6b=Eθnow-θold...21a22次に,抑制基準速度V6bが予め定められた速度リミッタVmax以上であるか否かを判断し,該速度リミッタVmax以上であると判断した場合は,抑制基準速度V6bを前回の速度θoldに設定する。前記速度リミッタVmaxは,例えば前記許容範囲内の速度の最大値である。23そして,抑制基準速度V6bと所定の値D事前に定められた許容範囲内の加速度を保っていることが分かっている速度の変化分の絶対値などとにより3つの速度の候補Vθ6a=V6b-D,Vθ6b=V6b,Vθ6c=V6bDを算出する。前記所定の値Dは,例えば前記速度リミッタVmaxの10程度の値である。また,Vθ6aが前記速度リミッタVmaxより大きい場合は,Vθ6a=Vmaxとする。その後,主制御部11は,現在の補間点におけるJ6軸36の角度θ6から上記の速度の各候補Vθ6a,Vθ6b,Vθ6cに対応する次の補間点における3つのJ6軸36の角度の候補θ6a,θ6b,θ6cを算出する。即ち,次の補間点として,少なくとも許容範囲を超えていない抑制基準速度V6b又は現在の補間点における速度を継続した角度当然,許容範囲内であると,それにより僅かな量±D速度の変化分の絶対値に対応するだけ離れた角度が算出される。ここに,係るステップS211の処理が角度候補算出工程の一例であり,係る処理を実行するときの主制御部11が角度候補算出手段に相当する。次に,主制御部11は算出された次の補間点におけるJ6軸36の角度の各候補に対応する他の駆動軸J1軸31~J5軸35の角度を算出するステップS212。例えば,以下の1~3に示すように,J6軸36の角度の候補θ6a,θ6b,θ6c毎に,前記ステップS122において算出された次の補間点Pi1のエンドエフェクタ39の位置Xi1,Yi1,Zi1と,第1関節駆動系のJ4軸34,J5軸35の角度θ4,θ5とを用いて,第1関節駆動系及び第2関節駆動系のJ1軸31~J6軸36の角度θ1,θ2,θ3,θ4,θ5,θ6を再算出する。1候補θ6aに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6a]から[θ1a,θ2a,θ3a,θ4,θ5,θ6a]を算出する。2候補θ6bに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6b]から[θ1b,θ2b,θ3b,θ4,θ5,θ6b]を算出する。3候補θ6cに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6c]から[θ1c,θ2c,θ3c,θ4,θ5,θ6c]を算出する。これによって,後に説明する図8に示すように,速度が許容範囲を超えない次の補間点の候補P’i1が計算され,この次の補間点の候補P’i1を次の補間点と見做すことにより,J6軸36の速度が許容範囲を超えず,元の補間点Pi1特異点を回避した例外経路図8B参照を得ることができる。このようにしてJ6軸36の速度を許容範囲内に維持した次の補間点における3つの角度の候補θ6a,θ6b,θ6cが得られると,次の補間点としてどの候補を選択すべきかの判断が行われる。ここまでの計算では,第1関節駆動系のJ4軸34~J6軸36の角度θ4,θ5,θ6が問題とされているが,最終的には作業の種類に応じて重要視されるエンドエフェクタ39の姿勢に焦点を合わせて候補が選択されなければならない。従って,上記J1軸31~J6軸36の角度からエンドエフェクタ39の姿勢を示すデータへの変換が必要である。そして,次の補間点としてどの候補を選択すべきかの判断を行うため,主制御部11は,算出された候補ごとに次の補間点における溶接線座標系Σlineのエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzをそれぞれ算出するステップS213。尚,このステップS213が,姿勢データ算出工程の一例であり,係る処理を実行するときの主制御部11が姿勢データ算出手段に相当する。ここに,前記溶接線座標系Σlineは,図25に示すように,エンドエフェクタ39が移動する方向進行方向の軸をX軸とし,該X軸と重力方向との外積X軸×重力方向によって表される軸をY軸とし,該X軸と該Y軸との外積X軸×Y軸によって表される方向の軸をZ軸とする作業座標系であり,図26~図28に示すように,該X軸の軸周りの回転角がトーチ傾斜角Rxで示され,該Y軸の軸周りの回転角がトーチ前進角Ryで示され,該Z軸の軸周りの回転角がトーチ回転角Rzで示される。例えば,上記の1~3の候補θ6a~θ6cに対して,以下の1’~3’によりエンドエフェクタ39の姿勢を示すデータの各成分を算出する。1’[θ1a,θ2a,θ3a,θ4,θ5,θ6a]から[Rxa,Rya,Rza]を算出する。2’[θ1b,θ2b,θ3b,θ4,θ5,θ6b]から[Rxb,Ryb,Rzb]を算出する。3’[θ1c,θ2c,θ3c,θ4,θ5,θ6c]から[Rxc,Ryc,Rzc]を算出する。次に,主制御部11は,前記ステップS121で算出された元の経路上の次の補間点Pi1におけるエンドエフェクタ39の位置及び姿勢を直交座標系Σbaseによって表したXi1,Yi1,Zi1,αi1,βi1,γi1を,エンドエフェクタ39が移動する方向の軸をX軸とする溶接線座標系Σlineトーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzによって表すためにデータを変換するステップS214。尚,このステップS214が,姿勢データ変換工程の一例であり,係る処理を実行するときの主制御部11が姿勢データ変換手段に相当する。尚,直交座標系Σbaseから溶接線座標系Σlineに変換する式を下記の数1に示す。そして,もともとJ6軸36の速度が許容範囲外であったので,軌道を維持しつつJ6軸36の速度を抑制するためには,J6軸36以外のJ1軸31~J5軸35の中から余分に回転してもよい軸を選定し,その軸を余分に回転させることで,J6軸36の超過速度に対応する変動量を抑制しなければならない。しかし,軌道を維持しつつJ1軸31~J5軸35のどの軸を余分に回転させればよいかは,角度θ1~θ6によって表される領域では判断することができない。これに対して,エンドエフェクタ39の作業の種類と密接に関係する溶接線座標系Σlineにおける各成分Rx,Ry,Rzによって表される領域では判断することができる。そこで,図5に示すように,主制御部11は,前記ステップS213において変換された溶接線座標系Σlineにおけるエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzの中から変動を抑制すべき成分を示す情報重み付け情報を取得するステップS215。尚,主制御部11は,前記操作部21からの入力によりどの成分の重み付けを大きくするかを任意に設定してもよい。例えば,この実施形態では,エンドファクタ39は作業点が1つの溶接トーチであり,溶接トーチを用いた溶接作業の性質上,トーチの作業対象物材料に対する角度やトーチの進行速度は重要であるが,トーチの軸周りの回転は重要でない。そのため,この実施形態では,前記重み付け情報が,トーチ傾斜角Rx,トーチ前進角Ryを重み付けが大きい抑制すべき成分とし,トーチ回転角Rzを重み付けが小さい抑制しない成分として予め設定されているものとする。この重み付け情報は,後述するステップS216の変動を抑制した候補を選択する評価式の各成分に対応する係数として用いられる。次に,主制御部11は算出された次の補間点における複数の候補の中から前述したステップS215により取得された抑制するための重み付けが大きい特定成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれか一つ又は二つの変動が最も少ない候補を選択するステップS216。例えば,トーチ傾斜角と,トーチ前進角との変動を抑制し,トーチ回転角の変動を許容する場合,重み付け係数A=1,B=1,C=0とし即ち特定成分はトーチ傾斜角及びトーチ前進角,上記の1’~3’の候補に対して下記の1~3の演算をする。なお,Rx,Ry,Rzは元の経路上における次の補間点のトーチ傾斜角,トーチ前進角,トーチ回転角である。1Fa=A2B2C22Fb=A2B2C23Fc=A2B2C2上記1~3において,変動を抑制する成分に重み付けをして,前記ステップS214で算出された元の経路上の次の補間点のエンドエフェクタ39の姿勢角と,前記ステップS213で算出された例外経路上の次の補間点の各候補のエンドエフェクタ39の姿勢角との差Fa~Fcが求められるので,そのFa~Fcの中で最も値が小さい変動が小さいものを選択し,選択された候補の駆動軸J1軸31~J6軸36の角度を特異点を回避する動作時の各軸の角度として採用する。ここに,係るステップS216の処理が角度選択工程の一例であり,係る処理を実行するときの主制御部11が角度選択手段に相当する。また,選択された候補の駆動軸J1軸31~J6軸36の角度とJ6軸36の速度を記憶部12に保存する。これにより,エンドエフェクタ39の姿勢データのうち予め定められた重み付けが大きい成分から順に変動の抑制量が大きくなるように駆動軸J1軸31~J6軸36の角度が再度算出される。例えば,重み付け係数A=0.2,B=0,C=1である場合,トーチ回転角Rzの変動が最も抑制され,トーチ前進角Ryの変動が最も大きくなる。次に,主制御部11はJ6軸36の速度抑制処理中のフラグが立っていなければ,フラグを立ててJ6軸36に対する速度抑制処理中であることを示すステップS217。尚,ステップS211~S213,S216,S217が,再算出工程の一例であって,係る処理を実行するときの主制御部11が再算出手段に相当する。上述した処理ステップS211~S217を実行することによって,図8A,図8Bに示すように,現在の補間点の位置Piから特異点を経由する元の経路上の次の補間点Pi1ではなく,特異点を回避する例外経路上の次の補間点P’i1が見つかる。この演算ステップS201,S211~S217を次の補間点が元の経路の補間点になるまでステップS201;その他繰り返して,特異点を回避する例外経路を算出する。但し,前記制御部10では,この算出処理が事前にまとめて実行されるのではなく,現在の状態と次の状態とに応じてその都度,主制御部11によって実行されるため,該主制御部11に瞬間的に要求される処理負荷が軽減され,低コスト化を図ることができる。尚,次の補間点の角度の候補θ6a,θ6b,θ6cの中には,元々許容範囲内に維持することができる前記抑制基準速度V6b又は現在の補間点のJ6軸36の角度が含まれているため,採用された何れかの候補により次の補間点のJ6軸36の速度を許容範囲内に維持することができる。その後に主制御部11が実行するJ6軸36の速度抑制処理からの復帰処理ステップS310の詳細については後述する。J4軸34の速度抑制処理ステップS221~S227J4軸34の速度が許容範囲外であるか又は,J4軸34の速度抑制処理中を示すフラグが立っている場合ステップS201;J4軸が範囲外,主制御部11は,前述したJ6軸36の速度と角度の候補を算出する場合と同様に,許容範囲内に収まる複数のJ4軸34の角度の候補を算出するステップS221。即ち,J4軸34の抑制基準速度V4bが算出されて,3つの速度の候補Vθ4a=V4b-G,Vθ4b=V4b,Vθ4c=V4bGが算出され,3つの角度の候補θ4a,θ4b,θ4cが算出される。なお,所定の値Gは,事前に定められた許容範囲内の加速度を保っていることが分かっている速度の変化分の絶対値などである。ここに,係るステップS221の処理が角度候補算出工程の一例である。以下のステップS222~S227,S320の処理は,前述したJ6軸36のステップS212~S217,S310の処理と同様の処理を実行するため,説明を省略する。J4軸34J6軸36の速度抑制処理ステップS231~S237J4軸34及びJ6軸36両方の速度が許容範囲外であるか又は,J4軸及びJ6軸36両方の速度抑制処理中を示すフラグが立っている場合ステップS201;J4軸J6軸が範囲外,主制御部11は許容範囲内に収まる1又は複数のJ4軸34とJ6軸36との両方の速度と角度の候補を算出するステップS231。例えば,前記ステップS231では,前記ステップS211と同様にJ6軸36の速度の候補を3つ算出して,前記ステップS221と同様にJ4軸34の速度の候補を3つ算出した後,J4軸34の候補3つとJ6軸36の候補3つとを組み合わせて9つの候補を算出することが考えられる。つまり,主制御部11はJ6軸36の前記抑制基準速度V6bと前記所定の値Dとから3つの速度の候補Vθ6a=V6b-D,Vθ6b=V6b,Vθ6a=V6bDを生成し,J4軸34の前記抑制基準速度V4bと所定の値Gとから3つの速度の候補Vθ4a=V4b-G,Vθ4b=V4b,Vθ4a=V4bGを生成する。更に,主制御部11は現在の補間点におけるJ6軸36の角度θ6から上記の速度の各候補に対応する次の補間点における3つのJ6軸36の角度の候補θ6a,θ6b,θ6cを算出し,現在の補間点におけるJ4軸34の角度θ4から上記の速度の各候補に対応する次の補間点における3つのJ4軸34の角度の候補θ4a,θ4b,θ4cを算出する。そして,これらJ4軸34の候補とJ6軸36の候補とを組合せ,θ4a,θ6a,θ4a,θ6b,θ4a,θ6c,θ4b,θ6a,θ4b,θ6b,θ4b,θ6c,θ4c,θ6a,θ4c,θ6b,θ4c,θ6cの9つの候補を算出する。即ち,次の補間点におけるJ4軸34J6軸36夫々に対して,許容範囲を超えていない現在の補間点における速度を継続した角度と,それにより僅かな量だけ離れた角度が算出される。ここに,係るステップS231の処理が角度候補算出工程の一例である。次に,主制御部11は算出された次の補間点におけるJ4軸34,J6軸36の角度の各候補に対応する他の駆動軸J1軸31~J3軸33,J5軸35の角度を算出するステップS232。例えば,J4軸34J6軸36の角度の候補θ4a,θ6a~θ4c,θ6cの組毎に,前記ステップS122において算出された次の補間点Pi1のエンドエフェクタ39の位置Xi1,Yi1,Zi1と,第1関節駆動系のJ5軸35の角度θ5とを用いて第2関節駆動系のJ1軸31~J3軸33の角度θ1,θ2,θ3を再算出する。1候補θ4a,θ6aに対して,[Xi1,Yi1,Zi1,θ4a,θ5,θ6a]から[θ1aa,θ2aa,θ3aa,θ4a,θ5,θ6a]を算出する。2候補θ4a,θ6bに対して,[Xi1,Yi1,Zi1,θ4a,θ5,θ6b]から[θ1ab,θ2ab,θ3ab,θ4a,θ5,θ6b]を算出する。3候補θ4a,θ6cに対して,[Xi1,Yi1,Zi1,θ4a,θ5,θ6c]から[θ1ac,θ2ac,θ3ac,θ4a,θ5,θ6c]を算出する。4候補θ4b,θ6aに対して,[Xi1,Yi1,Zi1,θ4b,θ5,θ6a]から[θ1ba,θ2ba,θ3ba,θ4b,θ5,θ6a]を算出する。5候補θ4b,θ6bに対して,[Xi1,Yi1,Zi1,θ4b,θ5,θ6b]から[θ1bb,θ2bb,θ3bb,θ4b,θ5,θ6b]を算出する。6候補θ4b,θ6cに対して,[Xi1,Yi1,Zi1,θ4b,θ5,θ6c]から[θ1bc,θ2bc,θ3bc,θ4b,θ5,θ6c]を算出する。7候補θ4c,θ6aに対して,[Xi1,Yi1,Zi1,θ4c,θ5,θ6a]から[θ1ca,θ2ca,θ3ca,θ4c,θ5,θ6a]を算出する。8候補θ4c,θ6bに対して,[Xi1,Yi1,Zi1,θ4c,θ5,θ6b]から[θ1cb,θ2cb,θ3cb,θ4c,θ5,θ6b]を算出する。9候補θ4c,θ6cに対して,[Xi1,Yi1,Zi1,θ4c,θ5,θ6c]から[θ1cc,θ2cc,θ3cc,θ4c,θ5,θ6c]を算出する。これによって,速度が許容範囲を超えない次の補間点の候補P’i1が計算され,この次の補間点の候補P’i1を次の補間点と見做すことにより,許容範囲を超えない次の補間点Pi1特異点を回避する例外経路を得ることができる。次に,エンドエフェクタ39の姿勢に焦点を合わせて候補を選択するために,J1軸31~J6軸36の角度の候補をエンドエフェクタ39の姿勢を示すデータへ変換する。具体的に,主制御部11は算出された次の補間点における前記溶接線座標系のエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzを算出するステップS233。例えば,上記の1~9の角度の候補に対して,以下の1’~9’によりエンドエフェクタ39の姿勢を示すデータの各成分を算出する。1’[θ1aa,θ2aa,θ3aa,θ4a,θ5,θ6a]から[Rxaa,Ryaa,Rzaa]を算出する。2’[θ1ab,θ2ab,θ3ab,θ4a,θ5,θ6b]から[Rxab,Ryab,Rzab]を算出する。3’[θ1ac,θ2ac,θ3ac,θ4a,θ5,θ6c]から[Rxac,Ryac,Rzac]を算出する。4’[θ1ba,θ2ba,θ3ba,θ4b,θ5,θ6a]から[Rxba,Ryba,Rzba]を算出する。5’[θ1bb,θ2bb,θ3bb,θ4b,θ5,θ6b]から[Rxbb,Rybb,Rzbb]を算出する。6’[θ1bc,θ2bc,θ3bc,θ4b,θ5,θ6c]から[Rxbc,Rybc,Rzbc]を算出する。7’[θ1ca,θ2ca,θ3ca,θ4c,θ5,θ6a]から[Rxca,Ryca,Rzca]を算出する。8’[θ1cb,θ2cb,θ3cb,θ4c,θ5,θ6b]から[Rxcb,Rycb,Rzcb]を算出する。9’[θ1cc,θ2cc,θ3cc,θ4c,θ5,θ6c]から[Rxcc,Rycc,Rzcc]を算出する。そして,主制御部11は,前記ステップS234で算出された次の補間点Pi1における前記溶接線座標系のエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzを算出するステップS234。尚,このステップS234が,姿勢データ変換工程の一例であり,係る処理を実行するときの主制御部11が姿勢データ変換手段に相当する。次に,主制御部11は,前記ステップS233において変換された溶接線座標系Σlineにおけるエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzの中から変動を抑制すべき成分を示す情報重み付け情報を取得するステップS235。さらに,主制御部11は算出された次の補間点における複数の候補の中から前述したステップS235により取得された抑制するための重み付けが大きい特定成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれかの変動が最も少ない候補を選択するステップS236。例えば,トーチ傾斜角と,トーチ前進との変動を抑制し,トーチ回転角の変動を許容する場合,重み付け係数A=1,B=1,C=0とし,上記の1’~9’の候補に対して下記の1~9の演算する。1Faa=A2B2C22Fab=A2B2C23Fac=A2B2C24Fba=A2B2C25Fbb=A2B2C26Fbc=A2B2C27Fca=A2B2C28Fcb=A2B2C29Fcc=A2B2C2上記1~9において,変動を抑制する成分に重み付けをして,前記ステップS234で算出された元の経路の次の補間点のエンドエフェクタ39の姿勢角と,前記ステップS233で算出された例外経路の次の補間点の各候補のエンドエフェクタ39の姿勢角との差Faa~Fccが求められるので,その差Faa~Fccの中で最も値が小さい変動が小さいものを選択し,選択された候補の駆動軸J1軸31~J6軸36の角度を特異点を回避する動作時の各軸の角度とする。ここに,係るステップS236の処理が角度選択工程の一例であり,係る処理を実行するときの主制御部11が角度選択手段に相当する。また,選択された候補の駆動軸J1軸31~J6軸36の角度とJ4軸34J6軸36の速度を記憶部12に保存する。その後,主制御部11はJ4軸34J6軸36の速度抑制処理中のフラグが立っていなければ,フラグを立ててJ4軸34J6軸36に対する速度抑制処理中であることを示すステップS237。上述した処理ステップS231~S237をすることによって,現在の補間点の位置Piから特異点を経由する元の経路上の次の補間点Pi1ではなく,特異点を回避する例外経路上の次の補間点P’i1が見つかる。主制御部11が実行するJ4軸34J6軸36の速度抑制処理からの復帰処理ステップS330の詳細については後述する。次に,図6を参照して,図5のステップS310に該当する多関節型ロボットXの速度抑制処理からの復帰処理の手順の一例について説明する。主制御部11は,図8Bに示されるように特異点区間Pi~Pi1を回避した例外経路上の次の補間点P’i1から,特異点を経由する元の経路上の更に次の補間点Pi2と特異点を回避した例外経路上の更に次の補間点P’i2との角度の差分を計算して,その差が所定の範囲を超えていない場合にはPi3へ進んでこの処理を終了するが,超えている場合にはP’i3へ進み,差分が所定の範囲を超えている限りこの処理を繰り返す。やがて差分が所定の範囲内に入る次の補間点が見つかった場合にこの例では,P’i4~Pi5の場合は,補間点P’i4から補間点Pi5へ進みこの処理を終了する。そこで,特異点を回避する経路上の現在の補間点P’i4から特異点を経由する経路上の次の補間点Pi5に復帰する場合を中心に説明する。J6軸36の速度抑制処理からの復帰処理まず,主制御部11は前記ステップS122により算出された特異点を経由した系の次の補間点Pi5のJ6軸36の角度θ6と,前記ステップS214により選択された特異点を回避した系の次の補間点P’i5のJ6軸36の角度θ’6とを取得するステップS311。次に,主制御部11は特異点を回避した系のJ6軸36の角度θ’6と特異点を経由した系のJ6軸36の角度θ6との差分の値が所定の範囲以内かを判別するステップS312。尚,前記所定の範囲はJ6軸36の角度θ’6を角度θ6に置き換えてエンドエフェクタ39を作動させた場合に,一般的には振動などの動作上の不都合が生じないと考えられる範囲内で定められた角度差の値とする。即ち,回避した経路上の補間点が,特異点を経由した元の経路上の補間点と見做せる範囲内に戻ったといえる程に充分近づいたかどうかを判断する。従って,差分の値が所定の範囲を超える場合ステップS312;NO,主制御部11はステップS310の復帰処理を終了して,ステップS14に進む図2参照。差分の値が所定の範囲以内の場合ステップS312;YES,主制御部11はJ6軸36の角度θ’6を角度θ6に置き換える際の速度を算出するステップS313。ここでは,特異点を経由した次の補間点のJ6軸36の角度θ6と特異点を回避した経路の補間点のJ6軸36の角度θ’6との差分に基づいて,J6軸36の速度を算出する。そして,主制御部11は,J6軸36の速度の許容範囲を算出するステップS314。例えば,特異点を回避した経路の補間点のJ6軸36の速度の値に所定の値や所定の割合を加減算して得られる値を上限下限として,速度の許容範囲を算出する。尚,この各軸の速度の許容範囲は,エンドエフェクタ39の作動条件例えば,溶接する際の温度,塗装する際の塗装膜の厚さなどの条件や多関節型ロボットが動作する際に振動などの異常動作を起こさないための条件など,作業対象物の品質に影響を及ぼさない範囲内で予め定めておいても良い。続いて,主制御部11はJ6軸36の速度が所定の許容範囲内か否かを判別するステップS315。また,この許容範囲は,エンドエフェクタ39を動かした場合に振動などの動作上の不都合が生じない範囲で予め定められた値とする。ここで,J6軸36の速度が所定の許容範囲内の場合ステップS315;YES,主制御部11は次の補間点をP’i5からPi5に変更して,J6軸36の角度をθ6にし,これに対応する他の全ての駆動軸J1軸31~J5軸35の角度を算出するステップS316。主制御部11は算出された全ての駆動軸J1軸31~J6軸36の角度を記憶部12に記憶させる。更に,主制御部11はJ6軸36の速度抑制処理中を示すフラグを立ち下げるステップS317。一方,J6軸36の速度が所定の許容範囲外の場合ステップS315;NO,主制御部11は角度θ6と角度θ’6との中間の角度θ6をJ6軸36の角度にし,このJ6軸36の角度θ6を含む補間点を次の補間点Pi5にしステップS318,これに対応する他の全ての駆動軸J1軸31~J5軸35の角度を算出するステップS319。即ち,主制御部11は,J6軸36の角度θ’6を角度θ6に置き換える際に,該駆動軸J6軸36の角度をθ’6からθ6に急激に変化させることなく,所定の変動範囲内で徐々に変動させる。更に主制御部11は算出された全ての駆動軸J1軸31~J6軸36の角度を記憶部12に記憶させる。J4軸34の速度抑制処理からの復帰処理ステップS320にあたるJ4軸34の速度抑制処理からの復帰処理は,上述したJ6軸36の速度抑制処理からの復帰処理ステップS311~S319と同様の処理をするため説明を省略する。J4軸34J6軸36の速度抑制処理からの復帰処理ステップS330にあたるJ4軸34J6軸36の速度抑制処理からの復帰処理は,それぞれJ4軸34の復帰処理とJ6軸36の復帰処理との双方を共に実施する以外はJ6軸36の速度抑制処理からの復帰処理と同様のため説明を省略する。以上に示した制御方法により,多関節型ロボットXの主制御部11が中心となって,変動を抑制するための重み付けが大きい特定成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれか一つ又は二つの変動を抑えつつ特異点を回避してマニピュレータ本体30に備え付けられたエンドエフェクタ39の位置及び姿勢を作動させることにより,本来の教示ポイントに基づく補間点を大きく外れることがなく,且つエンドエフェクタ39の移動速度を変更せずに全ての軸の速度が許容範囲内に入る作業軌道を得ることができる。例えば,図24に示したように,J5軸35が0度付近で,J4軸34とJ6軸36との角度が急激に変化するつまり速度が許容範囲外になる特異点がある場合に,上述した速度抑制処理を実行することによって,トーチ傾斜角Rx,トーチ前進角Ryの変動を抑制しつつ,図9に示すように,J4軸34とJ6軸36との角度の変動を緩やかにして,J4軸34とJ6軸36との速度を許容範囲内の速度にすることができる。また,図10に示すように,速度制限をしない場合一点鎖線には特異点付近でJ4軸34の速度が急激に変化するが,単に速度制限をした場合実線と本発明の制御方法を実施した場合破線とは速度が許容範囲内に抑えられる。但し,図11に示すように単に速度制限をした場合には,トーチ前進角やトーチ傾斜角の姿勢変動角が大きく変動してしまう。しかしながら,図12に示すように,本発明の制御方法を実施すると,重み付けが小さい速度を抑制する必要のないトーチ回転角は大きく変動するが,重み付けが大きいトーチ傾斜角とトーチ前進角との姿勢変動角の変動を抑制することができる。また,図13Aに示すように,J1軸31が上下方向に駆動し,J2軸32とJ3軸33との駆動する方向が同じ方向でもよい,更に図13Bに示すようにJ1軸31,J2軸32が左右方向に駆動し,J3軸33が上下方向に駆動するものでもよい。尚,駆動軸が上下方向に駆動する場合には,各駆動軸を上下させるためのモータが回転する角度の差分のみならず,各駆動軸が上下する移動距離の差分を元に速度を算出してもよい。尚,上記の説明では,速度が許容範囲を超える場合に,他の軸の変動量を増やすことにより該軸の速度を抑制する方法について述べたが,上記の説明で得られた速度の変化量加速度が,所定の許容範囲を超える場合に,該軸の変動量を抑して,加速度が許容範囲に入るようにする各軸の角度のデータを算出してもよい。手段としては,速度をその変化量である加速度に置き換えて計算すれば良い。例えば,上記ステップS123において,主制御部11が,速度の変わりに加速度を算出し,上記ステップS131において,主制御部11が,加速度の許容範囲を算出し,上記ステップS132において,主制御部11が,ステップS123により算出された加速度が,ステップS131により算出された加速度の許容範囲外かを判別する。そして,許容範囲外である場合には,加速度が前記許容範囲に入るようにする各軸の角度のデータを算出する。このとき加速度の候補の算出時に用いる前記所定の値Dや前記所定の値Gは,事前に定められた許容範囲内の加加速度を保っていることが分かっている加速度の変化分の絶対値などである。尚,速度を加速度に置き換え,加速度を加加速度躍度に置き換えるだけなので,ここではその詳細な説明を省略する。本実施例1では,前記実施の形態と異なる多関節型ロボットXの制御方法について説明する。前記実施の形態で説明した手法により多関節型ロボットXを制御すると,前記J5軸35の角度の符号が作業開始位置及び作業終了位置で異符号になる場合でも,該J5軸35の角度が0°を通過しないように制御されるため,該作業終了位置における該J5軸35の角度が本来の目標値と異なる。この場合には,例えば図15に示すように,残りのJ4軸34やJ6軸36の角度が急激に変化するおそれや動作限界角度例えば±180°を超えるおそれがある。また,多関節型ロボットXにおいて,一つの姿勢データから求められる逆運動学問題の解は2つ存在し,例えば図15に示すように,J6軸36の角度の変化量が急激に増減する場合には,前記J6軸36の別解が該J6軸36の現在の角度に近づくこととなる。そこで,本実施例1では,逆運動学問題により求まる2つの解を利用することにより,J4軸34やJ6軸36の急激な変化を防止するための構成について説明する。ここに,図14は,多関節型ロボットXの他の制御方法を説明するためのフローチャートである。なお,前記実施の形態で説明した図2の処理内容と同様の処理手順については同じ符号を付してその詳細な説明を省略する。まず,本実施例1に係る構成でも,前記ステップS13で速度抑制処理が必要であると判断されるまでの間はS13のNo側,主制御部11が,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度として,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と同符号となる逆運動学問題の解を算出するS12。なお,ステップS12では,その算出されたJ4軸34~J6軸36に対応する速度も算出される。また,続くステップS14において,主制御部11は,駆動指示部13を制御することにより,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度として,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と同符号となる解を記憶部12から読み出して,マニピュレータ本体30の各駆動軸のアクチュエータに出力させる。これにより,J1軸31~J6軸36は,エンドエフェクタ39が作業終了位置における位置及び姿勢に移動するまでS15のYes側,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と同符号となる解を目標値として動作することとなるS15のNo側。ステップS411~S412一方,前記ステップS13で速度抑制処理が必要であると判断された場合S13のYes側,主制御部11は,続くステップS411において,前記ステップS12と同様に,次の補間点におけるJ1軸31~J6軸36の角度とJ4軸34~J6軸36の速度を算出する。なお,ステップS411では,その算出されたJ4軸34~J6軸36に対応する速度も算出される。但し,このとき,主制御部11は,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度として求められる逆運動学問題の2つの解のうち,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と異符号となる逆運動学問題の解別解を算出する。ここに,逆運動学問題の2つの解として求められるJ4軸34,J5軸35,J6軸36の角度をθ41,θ51,θ61とθ41’,θ51’,θ61’とすると,その値には,θ41-θ41’=±π,θ51θ51’=0,θ61-θ61’=±πとの関係がある。例えば,θ41,θ51,θ61=90°,75°,0°であるとき,θ41’,θ51’,θ61’=-90°,-75°,180°となる。このように,本実施例1において,主制御部11は,J4軸34やJ6軸36の速度が前記許容範囲内である場合は,J5軸35の次の補間点における角度が作業開始位置における該J5軸35の角度と同符号になる逆運動学問題の解を採用し,前記許容範囲外である場合は,J5軸35の次の補間点における角度が作業開始位置における該J5軸35の角度と異符号になる逆運動学問題の解を採用する。ここに,係る処理が角度算出工程の一例であり,係る処理を実行するときの主制御部11が角度算出手段に相当する。そして,続くステップS412において,主制御部11は,前記ステップS13と同様に,前記ステップS412で算出されたJ4軸34,J6軸36の速度が許容範囲外であるかや,J4軸34,J6軸36についての速度抑制処理が実行中であるかなど,該速度抑制処理の必要性を判断する。ここで,速度抑制処理が必要であると判断されるとS412のYes側,処理はステップS413に移行し,速度抑制処理が必要でないと判断されるとS412のNo側,処理はステップS414に移行する。ステップS413前記ステップS413では,図5に示した前記ステップS20と同様に,J4軸34及びJ6軸36のいずれか一方又は両方の速度を抑制するための速度抑制処理が実行される。但し,このとき,主制御部11は,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度として求められる逆運動学問題の2つの解のうち,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と異符号となる解を採用するため,J1軸31~J6軸36はその解を目標値として動作することになる。なお,前記ステップS413における処理内容は,J4軸34やJ6軸36の角度が異なるだけであり,その他は前記ステップS20と同様であるためその説明を省略する。ステップS414~S415そして,ステップS414では,前記ステップS14と同様に,主制御部11が,駆動指示部13を制御することにより,エンドエフェクタ39を次の補間点に動かすためのJ1軸31~J6軸36の角度が記憶部12から読み出されて,マニピュレータ本体30の各駆動軸のアクチュエータに出力される。このとき,J1軸31~J6軸36の角度は,前記ステップS411又は前記ステップS413において,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と異符号となる解を目標値として算出されたものである。従って,J5軸35の角度は0°を通過して遷移することとなる。その後,J1軸31~J6軸36は,エンドエフェクタ39が作業終了位置における位置及び姿勢に移動するまでS415のYes側,J5軸35の角度の符号が前記作業開始位置における該J5軸35の角度と異符号となる解を目標値として動作することとなるS415のNo側。ここに,図15は,J5軸35の角度の符号が作業開始位置及び作業終了位置で異なる場合プラスからマイナス,マイナスからプラスに変化する場合,即ち0°を通過する場合に,従来の特異点を経由する経路のJ4軸J5軸J6軸の動作結果の一例を示している。図15に示す例では,J5軸35の角度が0°を通過しないように制御され,作業終了位置におけるJ5軸35の角度がプラスとなっているため,他のJ4軸34やJ6軸36の角度の変化量が大きくなっていることがわかる。一方,図16は,J5軸35の角度の符号が作業開始位置及び作業終了位置で異なる場合に,本実施例1に係る多関節型ロボットXの制御手法を採用した結果の一例を示している。図16に示す例では,J5軸35に0°を通過させることにより,他のJ4軸34やJ6軸36の角度の変化量が抑制されていることがわかる。さらに,図17は,本実施例1に係る多関節型ロボットXの制御手法を採用せずに等速動作させた場合のエンドエフェクタ39の姿勢データの変化を示しており,図18は,本実施例1に係る制御手法を採用した場合のエンドエフェクタ39の姿勢データの変化を示している。なお,図17,図18において縦軸は本来の補間点におけるエンドエフェクタ39の姿勢データに対する変動量,横軸は時間を示している。図17に示すように,本実施例1に係る制御手法を採用しない場合には,傾斜角及び前進角の変動が大きいが,図18に示すように,本実施例1に係る制御手法を採用して傾斜角及び前進角の重み付け変動の抑制量の大きさを大きく設定しておけば,溶接に不要な回転角の精度を犠牲にして傾斜角及び前進角の変動を抑制することができる。また,前記実施の形態で説明したように,多関節型ロボットXにおいて,前記作業開始位置から前記作業終了位置の間でJ5軸35の角度が0°近傍となる特異点を通過しないように制御する場合には,前記作業開始位置及び前記作業終了位置におけるJ5軸35の角度の符号が異符号である場合に,該作業終了位置におけるJ5軸35の角度が所望の角度と異なってしまうことになる。一方,前記実施例1で説明したように,多関節型ロボットXにおいて,前記作業開始位置から前記作業終了位置の間でJ5軸35の角度が0°近傍を通過するように制御する場合には,前記作業開始位置及び前記作業終了位置におけるJ5軸35の角度の符号が同符号である場合に,該作業終了位置におけるJ5軸35の角度が所望の角度と異なってしまうことになる。これらの場合には,例えば多関節型ロボットXのJ1軸31~J6軸36やエンドエフェクタ39などに接続された配線が絡まることや,その後の操作によりJ4軸34~J6軸36の駆動限界点を超えるおそれがあること等が問題となる。そこで,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系のJ5軸35の符号が同符号であるか異符号であるかに応じて,前記実施の形態に係る制御手法と前記実施例1に係る制御手法とを切り替えて実行することが考えられる。ここに,図19は,本実施例2に係る多関節型ロボットXの制御方法を説明するためのフローチャートである。なお,前記実施の形態及び前記実施例1と同様の処理手順については同じ符号を付してその説明を省略する。具体的に,主制御部11は,前記ステップS13のYes側と前記ステップS20及び前記ステップS411との間において,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系のJ5軸35の角度の符号が同符号であるか異符号であるかを判断するための処理ステップS511のYes側を実行する。そして,主制御部11は,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系のJ5軸35の角度の符号が同符号である場合はステップS511のYes側,前記ステップS20に移行する。この場合は,前記第1関節駆動系のJ5軸35の角度の符号が前記作業開始位置における角度と同符号である逆運動学問題の解が採用される。一方,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系のJ5軸35の角度の符号が異符号である場合ステップS511のNo側,主制御部11は,処理をステップS411に移行させる。この場合は,前記第1関節駆動系のJ5軸35の角度の符号が前記作業開始位置における角度と異符号である逆運動学問題の解が採用される。即ち,前記作業開始位置及び前記作業終了位置における前記第1関節駆動系のJ5軸35の角度の符号が異符号である場合は,J5軸35が0°近傍に近づいてJ4軸34やJ6軸36の速度が許容範囲内である間は,前記第1関節駆動系のJ5軸35の角度の符号が前記作業開始位置における角度と同符号である逆運動学問題の解が採用され,該J5軸35が0°近傍に近づいてJ4軸34やJ6軸36の速度が許容範囲外となった場合は,前記第1関節駆動系のJ5軸35の角度の符号が前記作業開始位置における角度と異符号である逆運動学問題の解が採用される。係る処理が角度算出工程の一例であり,係る処理を実行するときの主制御部11が角度算出手段に相当する。これにより,教示された作業終了位置におけるJ5軸35の角度の符号がその教示通りの符号と一致することになるため,例えば多関節型ロボットXのJ1軸31~J6軸36やエンドエフェクタ39などに接続された配線の絡まりや,その後の操作によりJ4軸34~J6軸36の駆動限界点を超えるおそれ等を防止することができる。また,上記説明では,多関節型ロボットXのエンドエフェクタ39の作業点が1つの場合について説明したが,図20に示すように,2つの作業点を有するエンドエフェクタ39Aを用いた多関節型ロボットX1を制御してもよい。多関節型ロボットX1は,エンドエフェクタ39Aを備え,エンドエフェクタ39以外の他の構成は多関節型ロボットXと同様である。また,前記多関節型ロボットX1の制御は,前記多関節型ロボットXの制御処理とは,図5に示したステップS215,S216ステップS225,S226及びS235,236を含むの処理以外は同様の処理をする。尚以下の説明では,多関節型ロボットX1と多関節型ロボットXとの同一の構成及び同一の処理は説明を省略する。まず,図1に示した多関節型ロボットXとの構成が異なる部分について説明する。エンドエフェクタ39Aは,マニピュレータ本体30の先端J6軸36の先に取り付けられ,作業対象物に対して効果を与える2つの作業点を有する効果器であり,作業点として溶接器トーチ,塗装器,工具,捕獲器,センサなどがある。尚,2つの作業点を備えるトーチをタンデムトーチという。次に,図5のフローチャートを参照して,本発明の実施形態と処理が異なる速度抑制処理のステップS215,S216の処理を中心に説明する。まず,主制御部11は,ステップS201を実行する。ここでは,J6軸36の速度が許容範囲外であるか又は,J6軸36の速度抑制処理中を示すフラグが立っている場合ステップS201;J6軸が範囲外に該当しているものとする。更にステップS211~ステップS214を実行する。次に,前記ステップS215において,主制御部11は,前記ステップS213において変換された溶接線座標系Σlineにおけるエンドエフェクタ39Aの姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzの中から変動を抑制すべき成分の情報重み付け情報を取得する。その際,この実施例1では,エンドファクタ39Aは作業点が2つの溶接トーチであり,溶接トーチを用いた溶接作業の性質上,トーチの軸周りの回転角とトーチの進行速度とは重要である。そのため,この実施例1では,標準設定として,トーチ回転角Rzを重み付けが大きい抑制すべき成分とし,トーチ前進角Ryを重み付けが小さい抑制しない成分として予め設定される。次に,前記ステップS216において,主制御部11は算出された次の補間点における複数の候補の中から前述したステップS215により取得された抑制するための重み付けが大きい特定成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれか一つ又は二つの変動が最も少ない候補を選択する。例えば,トーチ回転角Rzの変動を抑制し,トーチ前進角Ryの変動を許容する場合,重み付け係数A=0.2,B=0,C=1や,重み付け係数A=0,B=0,C=1即ち特定成分は,トーチ傾斜角及びトーチ回転角,或いはトーチ回転角であるとし,前記ステップS213によって算出された各候補1’~3’に対して下記の1~3の演算をする。1Fa=A2B2C22Fb=A2B2C23Fc=A2B2C21~3において,特異点を経由する経路上の次の補間点のエンドエフェクタ39Aの姿勢角と,特異点を回避する経路上の次の補間点の各候補のエンドエフェクタ39Aの姿勢角との差が求められるので,Fa~Fcの中で最も値が小さい変動が小さいものを選択し,選択された候補の駆動軸J1軸31~J6軸36の角度を特異点を回避する動作時の各軸の角度とする。続いて,主制御部11はステップS217以降の処理をする。尚,実施形態と同様に,速度が許容範囲外と判別された各駆動軸に対応して,ステップS211~S216の代わりに,ステップS221~S226若しくはステップS231~S236を実行する。以上に示した制御方法により,多関節型ロボットX1の主制御部11が中心となって,抑制するための重み付けが大きいトーチ傾斜角Rx,トーチ回転角Rzの変動を抑えつつ特異点を回避してマニピュレータ本体30に備え付けられたエンドエフェクタ39Aの位置及び姿勢を作動させ,本来の教示ポイントに基づく補間点を大きく外れることがなく,且つエンドエフェクタ39Aの移動速度を変更せずに全ての軸の速度が許容範囲内に入る作業軌道を得ることができる。また,図21に示すように実施例1の制御方法を実施すると,抑制するための重み付けが小さいトーチ前進角Ryは大きく変動するが,抑制するための重み付けが大きい回転角Rzの姿勢変動角を抑制することができる。上記説明では,多関節型ロボットXの第2関節駆動系の駆動軸がJ1軸31~J3軸33の3つの軸を備えたマニピュレータ本体30の制御方法について説明したが,第2関節駆動系の駆動軸が4以上のマニピュレータであってもよい。尚以下の説明では,多関節型ロボットXと多関節型ロボットX2との同一の構成及び同一の処理は説明を省略する。まず,図1に示した多関節型ロボットXと図22に示される多関節型ロボットX2との構成が異なる部分について説明する。図22に示される多関節型ロボットX1は,制御部10,操作部21,マニピュレータ本体30A等を備えている。マニピュレータ本体30Aは,第1関節駆動系の3つの駆動軸のJ4軸34,J5軸35,J6軸36と,第2関節駆動系の4つの駆動軸のJ1軸31,J2軸32,J3軸33,J7軸37とを備える。J7軸37は,J1軸31~J6軸36と同様に,電気モータ等により構成され,駆動指示部13からの指示により正負の方向に回転駆動し,複数の軸の回転駆動が連関することによって,人間の手首や腕の動きを実現する。その中でも上記J7軸37を含む第2関節駆動系の4つの駆動軸は,人間の腕に相当する動作を行い,エンドエフェクタ39の位置を移動する。次に,図2~図6のフローチャートを参照して,本発明の実施形態と処理が異なる部分について説明する。実施形態においては,補間点の位置及び姿勢PiXi,Yi,Zi,αi,βi,γiから逆運動学問題の解として各J1軸31~J6軸36の角度θ1,θ2,θ3,θ4,θ5,θ6を算出し,補間点における各J1軸31~J6軸36の角度θ1,θ2,θ3,θ4,θ5,θ6から順運動学問題の解として位置及び姿勢PiXi,Yi,Zi,αi,βi,γiを算出したが,実施例4では,補間点の位置及び姿勢PiXi,Yi,Zi,αi,βi,γiから逆運動学問題の解として各J1軸31~J7軸37の角度θ1,θ2,θ3,θ4,θ5,θ6,θ7を算出し,補間点における各J1軸31~J7軸37の角度θ1,θ2,θ3,θ4,θ5,θ6,θ7から順運動学問題の解として位置及び姿勢PiXi,Yi,Zi,αi,βi,γiを算出するように,角度の変数の数が6か7かの点が異なる。前記ステップ122において,主制御部11は,逆運動学問題の解を求めることによって,次の補間点の位置及び姿勢Pi1Xi1,Yi1,Zi1,αi1,βi1,γi1から各J1軸31~J7軸37の角度θ1,θ2,θ3,θ4,θ5,θ6,θ7を算出して,記憶部12に記憶させる。次に,前記ステップS123以降と同様の処理を実行する。ここでは,速度抑制処理が必要であると判別されS13;YES,J6軸36の速度が許容範囲外であるか又は,J6軸36の速度抑制処理中を示すフラグが立っている場合ステップS201;J6軸が範囲外に該当しているものとする。ステップS211において,J6軸36の角度の候補が算出されたものとする。次に,前記ステップS212において,主制御部11は算出された次の補間点におけるJ6軸36の角度の各候補に対応する他の駆動軸J1軸31~J5軸35,J7軸37の角度を算出する。例えば,J6軸36の角度の候補θ6a,θ6b,θ6c毎に,前記ステップS122において算出された次の補間点Pi1のエンドエフェクタ39の位置Xi1,Yi1,Zi1と,第1関節駆動系のJ4軸34,J5軸35の角度θ4,θ5と用いて,第2関節駆動系のJ1軸31~J3軸33,J7軸37の角度θ1,θ2,θ3,θ7を再算出する。1候補θ6aに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6a]から[θ1a,θ2a,θ3a,θ4,θ5,θ6a,θ7]を算出する。2候補θ6bに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6b]から[θ1b,θ2b,θ3b,θ4,θ5,θ6b,θ7]を算出する。3候補θ6cに対して,[Xi1,Yi1,Zi1,θ4,θ5,θ6c]から[θ1c,θ2c,θ3c,θ4,θ5,θ6c,θ7]を算出する。次に,前記ステップS213において,主制御部11は算出された特異点を回避する系の次の補間点における前記溶接線座標系のエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzを算出する。例えば,上記の1~3の候補θ6a~θ6cに対して,1’[θ1a,θ2a,θ3a,θ4,θ5,θ6a,θ7]から[Rxa,Rya,Rza]を算出する。2’[θ1b,θ2b,θ3b,θ4,θ5,θ6b,θ7]から[Rxb,Ryb,Rzb]を算出する。3’[θ1c,θ2c,θ3c,θ4,θ5,θ6c,θ7]から[Rxc,Ryc,Rzc]を算出する。次に,ステップS214において,主制御部11は算出された特異点を経由する系の次の補間点Pi1における前記溶接線座標系のエンドエフェクタ39の姿勢を示すデータの各成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzを算出する。続いて,前記ステップS215以降の処理を実行する。尚,実施形態と同様に,速度が許容範囲外と判別された各駆動軸に対応して,ステップS211~S216の代わりに,ステップS221~S226若しくはステップS231~S236を実行する。以上に示した制御方法により,第2関節駆動系の軸が4軸あるマニピュレータ本体30Aを備えた多関節型ロボットX2の主制御部11が中心となって,抑制するための重み付けが大きい特定成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれかの変動を抑えつつ特異点を回避してエンドエフェクタ39の位置及び姿勢を作動させ,本来の教示ポイントに基づく補間点を大きく外れることがなく,且つエンドエフェクタ39の移動速度を変更せずに全ての軸の速度が許容範囲内に入る作業軌道を得ることができる。このように実施例4の制御方法は,補間点Piにおける位置及び姿勢Xi,Yi,Zi,αi,βi,γiから第1関節駆動系の各軸の角度θ4,θ5,θ6を逆運動学問題の解として得られ,且つ,補間点Piにおける位置及び第1関節駆動系の各軸の角度Xi,Yi,Zi,θ4,θ5,θ6から第2関節駆動系の各軸の角度θ1,θ2,θ3,θ7を逆運動学問題の解として得られる多数関節軸を備えたマニピュレータの制御に有用である。そのため,上述した6軸,7軸のマニピュレータを備えた多関節型ロボットに限らず,それ以上の軸を備えた多関節型ロボットにも適用することができる。また,多関節型ロボットXの制御部10は,専用のシステムによらず,図29に示されるネットワークに接続された通常のコンピュータシステムYを用いて実現可能である。図29のコンピュータシステムYは,例えば,主制御部11,記憶部12,外記憶部103,入出力部104,表示部105,送信部106,内部バス109を備えている。主制御部11はCPUCentralProcessingUnitを含み,記憶部12はRAMRandomAccessMemory等を含む。主制御部11は,記憶部12に記憶されているプログラムを実行し,多関節型ロボットXの制御装置である制御部10を実現する。例えば,前記の処理を実行するためのプログラムを,コンピュータが読み取り可能な記録媒体フレキシブルディスク,CD-ROM,DVD-ROM等に格納して配布し,当該プログラムをコンピュータにインストールすることにより,前記の処理を実行する多関節型ロボットXの制御部10を構成してもよい。また,インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該プログラムを格納しておき,通常のコンピュータシステムがダウンロード等することで多関節型ロボットXの制御部10を構成してもよい。以上,本発明の実施の形態について説明したが,設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは,請求項に記載されている発明や発明の実施の形態に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。上述した実施形態では、例えば、第1関節駆動系のJ4軸34やJ6軸36の一方又は両方の速度や加速度が許容範囲外とならないように、J5軸35の特異点を回避するという特異点回避の処理を行っている。ここで、特異点回避の処理を行っていることを外部に報知する手段を多関節型ロボットに設けてもよい。具体的には、図5に示す如く特異点回避のための処理として速度抑制処理を行っているとき、図30に示すように、特異点回避の処理を行っていることを示す特異点回避中を、操作部21教示ペンダントの表示画面Mに表示する。特異点回避の処理を行っていることを示す表示は、特異点回避中に限定されず、特異点回避の処理が行われていることが分かる表現であればどのような表現であってもよい。このように、特異点回避中であることを表示することによって、マニピュレータ本体30が特異点回避中の状態回避溶接状態であるか、特異点回避中ではない状態通常溶接状態であるかをオペレータが溶接中に把握することができる。そのため、例えば、作業対象物材料の溶接後に品質検査を行う場合、回避溶接状態で溶接した箇所を注視して検査することができ、この検査結果に基づいて、回避溶接状態で溶接を行った時の溶接条件を適切に変更することができる。また、例えば、回避溶接状態におけるマニピュレータ本体30の全体の動きを、オペレータが目視などで監視することもでき、この監視に基づいて、次の溶接作業などで、再度、マニピュレータ本体30を動かすときに、マニピュレータ本体30の全体の動作を見直すこともできる。なお、特異点回避中の表示の他に、処理プログラムが分かるように処理プログラムの内容例えば、再生中プログラムの番号を表示画面Mに表示したり、処理プログラムを実行している時間再生時間、エンドエフェクタ39の動き例えば、直線移動を表示画面Mに表示してもよい。さらに、予め教示されたトーチの情報例えば、トーチ傾斜角、トーチ前進角、トーチ回転角などと、現在のトーチの情報とを表示画面Mに表示してもよい。これによれば、特異点回避中におけるマニピュレータ本体30の詳しい状態を把握することができる。上述した例では、特異点回避の処理を行っていることを表示画面Mに表示させているが、これに代えて、特異点回避を行っていることをスピーカ等によって音で知らせてもよいし、ランプなどの点灯や点滅など光で知らせてもよい。また、特異点回避を行っていることは、多関節型ロボットの教示ペンダント21とは別の外部の表示装置に表示してもよい。また、特異点回避中の時間を制御部10の記憶部12などに記憶してもよい。そして、例えば、溶接終了後に操作部21教示ペンダントの表示画面Mに特異点回避中の時間履歴を表示し、オペレータなどが特異点回避中の時間履歴を確認できるようにしてもよい。"