"先端に設けられた作業部の姿勢を変化させる3つの駆動軸を有する第1関節駆動系と前記第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を有する第2関節駆動系とを備えてなる多関節型ロボットを制御する多関節型ロボットの制御装置であって,予め設定される作業開始点及び作業終了点各々の位置及び姿勢を結ぶ教示経路上で前記作業部の位置を予め定められた速度で移動させるための複数の補間点を算出する補間点算出手段と,前記補間点算出手段により算出された前記補間点に従って前記第1関節駆動系及び前記第2関節駆動系を駆動させる駆動制御手段と,前記駆動制御手段により前記第1関節駆動系及び前記第2関節駆動系が駆動されているときに,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件が充足したか否かを判定する例外条件判定手段と,前記例外条件判定手段により前記例外条件が充足したと判定された後,前記作業部が前記作業終了点に到達するまでの間,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形に変化させるための該第1関節駆動系の駆動軸各々の角度を算出すると共に,該算出された第1関節駆動系の駆動軸各々の角度と前記補間点算出手段によって算出された前記補間点における前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を算出し,該算出結果に従って前記第1関節駆動系及び前記第2関節駆動系の駆動軸各々を駆動させる例外動作手段と,を備えてなることを特徴とする多関節型ロボットの制御装置。前記例外条件が,次の前記補間点からの前記作業部の残りの移動時間又は移動距離の間に前記第1関節駆動系の駆動軸各々の角度を前記作業終了点における角度に到達させる場合に前記第1関節駆動系の少なくとも一つの駆動軸の速度が予め設定された許容範囲を超えることである請求項1に記載の多関節型ロボットの制御装置。前記例外条件が,前記作業部の残りの移動時間又は移動距離が予め設定された所定値以下に達することである請求項1又は2のいずれかに記載の多関節型ロボットの制御装置。前記例外条件が,次の前記補間点における前記第1関節駆動系の少なくとも一つの駆動軸の角度が前記作業開始点及び/又は前記作業終了点に基づいて定まる基準角度から予め設定された所定角度以上離間することである請求項1~3のいずれかに記載の多関節型ロボットの制御装置。前記例外条件が,次の前記補間点における前記第1関節駆動系の少なくとも一つの駆動軸の角度が予め設定された作動範囲を超えることである請求項1~4のいずれかに記載の多関節型ロボットの制御装置。前記作業部と加工対象物の加工線とのズレ量を検出するズレ量検出手段と,前記ズレ量検出手段により検出されたズレ量に基づいて前記作業部を前記加工線に倣って移動させる倣い制御手段と,前記ズレ量検出手段により検出されたズレ量を前記作業終了点に加算して該作業終了点を更新する作業終了点更新手段とを更に備えてなり,前記例外条件判定手段及び/又は前記例外動作手段が,前記作業終了点更新手段による更新後の前記作業終了点に基づいて処理を実行するものである請求項1~5のいずれかに記載の多関節型ロボットの制御装置。前記例外動作手段が,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形動作させる場合より該目標に近い角度の範囲内において該駆動軸各々の角度の候補を複数算出する角度候補算出手段と,前記角度候補算出手段により算出された角度の候補から,該候補各々を採用したときの次の前記補間点の前記作業部から見た作業座標系における3つの姿勢角度の成分のうち予め設定された一つ又は二つの特定成分の変動が最も抑制される角度の候補を選択する角度選択手段と,を備えてなる請求項1~6のいずれかに記載の多関節型ロボットの制御装置。先端に設けられた作業部の姿勢を変化させる3つの駆動軸を有する第1関節駆動系と前記第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を有する第2関節駆動系とを備えてなる多関節型ロボットを制御する多関節型ロボットの制御方法であって,予め設定される作業開始点及び作業終了点各々の位置及び姿勢を結ぶ教示経路上で前記作業部の位置を予め定められた速度で移動させるための複数の補間点を算出する補間点算出工程と,前記補間点算出工程により算出された前記補間点に従って前記第1関節駆動系及び前記第2関節駆動系を駆動させる駆動制御工程と,前記駆動制御工程により前記第1関節駆動系及び前記第2関節駆動系が駆動されているときに,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件が充足したか否かを判定する例外条件判定工程と,前記例外条件判定工程により前記例外条件が充足したと判定された後,前記作業部が前記作業終了点に到達するまでの間,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形に変化させるための該第1関節駆動系の駆動軸各々の角度を算出すると共に,該算出された第1関節駆動系の駆動軸各々の角度と前記補間点算出工程によって算出された前記補間点における前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を算出し,該算出結果に従って前記第1関節駆動系及び前記第2関節駆動系の駆動軸各々を駆動させる例外動作工程と,を実行することを特徴とする多関節型ロボットの制御方法。先端に設けられた作業部の姿勢を変化させる3つの駆動軸を有する第1関節駆動系と前記第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を有する第2関節駆動系とを備えてなる多関節型ロボットを制御するための多関節型ロボットの制御プログラムであって,予め設定される作業開始点及び作業終了点各々の位置及び姿勢を結ぶ教示経路上で前記作業部の位置を予め定められた速度で移動させるための複数の補間点を算出する補間点算出工程と,前記補間点算出工程により算出された前記補間点に従って前記第1関節駆動系及び前記第2関節駆動系を駆動させる駆動制御工程と,前記駆動制御工程により前記第1関節駆動系及び前記第2関節駆動系が駆動されているときに,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件が充足したか否かを判定する例外条件判定工程と,前記例外条件判定工程により前記例外条件が充足したと判定された後,前記作業部が前記作業終了点に到達するまでの間,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形に変化させるための該第1関節駆動系の駆動軸各々の角度を算出すると共に,該算出された第1関節駆動系の駆動軸各々の角度と前記補間点算出工程によって算出された前記補間点における前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を算出し,該算出結果に従って前記第1関節駆動系及び前記第2関節駆動系の駆動軸各々を駆動させる例外動作工程と,をプロセッサに実行させることを特徴とする多関節型ロボットの制御プログラム。しかしながら,前記特許文献1に係る構成では,特異姿勢近傍に達したことが逆運動学問題の他方の解への移行条件であるため,特異点姿勢に近づくことなく動作する場合には,駆動軸を作業終了点の正しい角度に到達させることができない。具体的に,図24は,作業開始点及び作業終了点におけるJ5軸の角度の符号が異符号であるが,J5軸の角度が0度近傍に到達せず,J4軸やJ6軸の角度も急激に変化することなく動作する場合の軌跡を示している。この場合,特異姿勢近傍に近づいたことを検出することができない。そのため,J5軸の角度が作業開始点における符号のまま移動するため,J4軸~J6軸の角度を作業終了点の正しい角度に到達させることができない。そのため,例えば作業終了点の次の教示点に向けて動作する場合にJ4軸~J6軸の角度が作動範囲外に到達するおそれがある。従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,作業部の位置及び移動速度を維持しつつ,第1関節駆動系の駆動軸各々の角度を確実に作業終了点の角度に到達させることのできる多関節型ロボットの制御装置,制御方法及び制御プログラムを提供することにある。上記目的を達成するために本発明は,先端に設けられた作業部の姿勢を変化させる3つの駆動軸を有する第1関節駆動系と前記第1関節駆動系の位置を変化させる少なくとも3つの駆動軸を有する第2関節駆動系とを備えてなる多関節型ロボットを制御する多関節型ロボットの制御装置に適用されるものであって,以下の1~4を備えてなることを特徴として構成される。1予め設定される作業開始点及び作業終了点各々の位置及び姿勢を結ぶ教示経路上で前記作業部の位置を予め定められた速度で移動させるための複数の補間点を算出する補間点算出手段。2前記補間点算出手段により算出された前記補間点に従って前記第1関節駆動系及び前記第2関節駆動系を駆動させる駆動制御手段。3前記駆動制御手段により前記第1関節駆動系及び前記第2関節駆動系が駆動されているときに,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件が充足したか否かを判定する例外条件判定手段。4前記例外条件判定手段により前記例外条件が充足したと判定された後,前記作業部が前記作業終了点に到達するまでの間,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形に変化させるための該第1関節駆動系の駆動軸各々の角度を算出すると共に,該算出された第1関節駆動系の駆動軸各々の角度と前記補間点算出手段によって算出された前記補間点における前記作業部の位置とに基づいて前記第2関節駆動系の駆動軸各々の角度を算出し,該算出結果に従って前記第1関節駆動系及び前記第2関節駆動系の駆動軸各々を駆動させる例外動作手段。これにより,前記作業開始点及び前記作業終了点における前記第1関節駆動系の中央の駆動軸の符号の異同にかかわらず,前記補間点算出手段で算出された前記補間点における前記作業部の位置及び移動速度を維持しつつ,前記第1関節駆動系の駆動軸各々の角度を前記作業終了点の角度に確実に到達させることができる。例えば,前記例外条件は,次の前記補間点からの前記作業部の残りの移動時間又は移動距離の間に前記第1関節駆動系の駆動軸各々の角度を前記作業終了点における角度に到達させる場合に前記第1関節駆動系の少なくとも一つの駆動軸の速度が予め設定された許容範囲を超えることである。これにより,前記第1関節駆動系の駆動軸各々の速度を前記許容範囲に抑えつつ該第1関節駆動系の駆動軸各々の角度を前記作業終了点の角度に確実に到達させることができる。また,前記例外条件が,前記作業部の残りの移動時間又は移動距離が予め設定された所定値以下に達することであってもよい。さらに,前記例外条件は,次の前記補間点における前記第1関節駆動系の少なくとも一つの駆動軸の角度が前記作業開始点や前記作業終了点に基づいて定まる基準角度から予め設定された所定角度以上離間することであってもよい。これにより,例えば前記第1関節駆動系の駆動軸各々の角度が前記基準角度から離れ過ぎて前記作業終了点の角度に到達するまでの速度が急激になることを予防し,該第1関節駆動系の駆動軸各々を前記作業終了点に確実に到着させることができる。また,前記例外条件は,次の前記補間点における前記第1関節駆動系の少なくとも一つの駆動軸の角度が予め設定された作動範囲を超えることであってもよい。これにより,前記作動範囲を超えない範囲で前記第1関節駆動系の駆動軸各々を駆動させて前記作業終了点の角度に到達させることができる。ところで,前記作業部と加工対象物の加工線とのズレ量を検出するズレ量検出手段と,前記ズレ量検出手段により検出されたズレ量に基づいて前記作業部を前記加工線に倣って移動させる倣い制御手段とを備える構成では,前記作業終了点の位置が変化することになる。そこで,前記ズレ量検出手段により検出されたズレ量を前記作業終了点に加算して該作業終了点を更新する作業終了点更新手段を更に備えてなり,前記例外条件判定手段や前記例外動作手段が前記作業終了点更新手段による更新後の前記作業終了点に基づいて処理を実行するものであることが考えられる。これにより,前記例外動作手段は,前記倣い制御手段による倣い制御が実行される場合であっても,前記駆動軸各々を前記作業終了点更新手段による更新後の作業終了点に到達させることができる。前記例外条件判定手段による前記例外条件の判定も前記作業終了点更新手段による更新後の作業終了点を基準として適切に行うことができる。さらに,前記例外動作手段が,前記第1関節駆動系の駆動軸各々を前記作業終了点の角度を目標として線形動作させる場合より該目標に近い角度の範囲内において該駆動軸各々の角度の候補を複数算出する角度候補算出手段と,前記角度候補算出手段により算出された角度の候補から,該候補各々を採用したときの次の前記補間点の前記作業部から見た作業座標系における3つの姿勢角度の成分のうち予め設定された一つ又は二つの特定成分の変動が最も抑制される角度の候補を選択する角度選択手段とを備えることも考えられる。これにより,前記特定成分の変動を抑制しつつ前記第1関節駆動系の駆動軸各々を前記作業終了点における角度に確実に到達させることができる。また,本発明は,多関節型ロボットの制御方法や制御プログラムの発明として捉えることも可能である。即ち,予め設定される作業開始点及び作業終了点各々の位置及び姿勢を結ぶ教示経路上で前記作業部の位置を予め定められた速度で移動させるための複数の補間点を算出する補間点算出工程と,前記補間点算出工程により算出された前記補間点に従って前記第1関節駆動系及び前記第2関節駆動系を駆動させる駆動制御工程と,前記駆動制御工程により前記第1関節駆動系及び前記第2関節駆動系が駆動されているときに,前記第1関節駆動系の駆動軸各々が前記作業終了点の角度に到達するまでの間に該第1関節駆動系の少なくとも一つの駆動軸の速度又は角度が予め設定された所定範囲を超えることを,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件により判定する例外条件判定工程と,前記例外条件判定工程により前記例外条件が充足したと判定された場合に,前記駆動制御工程に代わって,前記第1関節駆動系及び前記第2関節駆動系を,前記第1関節駆動系の駆動軸各々が前記作業終了点の角度を目標として線形に変化し,且つ前記作業部の位置が予め定められた速度で移動するように駆動させる例外動作工程とを実行する多関節型ロボットの制御方法や,前記各工程をプロセッサに実行させる制御プログラムの発明として捉えてもよい。本発明によれば,前記作業開始点及び前記作業終了点における前記第1関節駆動系の中央の駆動軸の符号の異同にかかわらず,前記補間点算出手段で算出された前記補間点における前記作業部の位置及び移動速度を維持しつつ,前記第1関節駆動系の駆動軸各々の角度を前記作業終了点の角度に確実に到達させることができる。以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。図1に示すように,本発明の実施の形態に係る多関節型ロボットの制御装置1以下制御装置1と略称するは,先端にエンドエフェクタ2が設けられた多関節型ロボット3の動作を制御するものであって,演算部11,記憶部12,操作部13などを備えている。前記エンドエフェクタ2は,加工対象物に対して,例えば溶接や塗装などの作用を与える溶接器トーチ,塗装器,工具,捕獲器などである。前記記憶部12は,所定の制御プログラムや各種処理で参照されるパラメータ情報などが予め記憶されるROMやHDD等と,前記演算部11で各種処理が実行される際の作業領域一時記憶領域として利用されるEEPROMなどの揮発性メモリとを有している。前記操作部13は,シートキーや操作ボタン,操作レバー等を有するユーザインターフェースである。前記操作部13は,ユーザ操作に対応する操作信号を前記演算部11に入力する。具体的に,ユーザによって前記操作部13が操作されることにより,前記多関節型ロボット3の作業開始点,作業終了点,作業時間,移動速度などの各種加工パラメータが設定される。前記演算部11は,前記記憶部12に記憶された前記制御プログラムに従って後述のロボット制御処理図3参照などの各種処理を実行するCPUなどのプロセッサである。なお,本発明は,前記演算部11に後述のロボット制御処理を実行させるための制御プログラムの発明として捉えてもよい。ここに,図2は前記多関節型ロボット3の関節駆動系を示すモデル図である。図2に示すように,前記多関節型ロボット3は,前記エンドエフェクタ2の姿勢を変化させる3つの駆動軸34~36を有する第1関節駆動系と,その第1関節駆動系の後端の駆動軸34に連結されて該第1関節駆動系の位置を変化させる3つの駆動軸31~33を有する第2関節駆動系とを備えている。前記駆動軸31~36各々は,電気モータ等の駆動手段によって例えば±180度の範囲で個別に回転駆動される。なお,前記第2関節駆動系は4軸以上の駆動軸を有する構成であってもよい。前記多関節型ロボット3における前記エンドエフェクタ2の位置姿勢は,該多関節型ロボット3のベース座標系Σbaseにおける位置座標XYZと姿勢角αβγとによって表される。前記姿勢角αβγは,オイラー角やロールピッチヨー角などで表される。ここで,前記第2関節駆動系は,前記第1関節駆動系の駆動軸34~36の動作にかかわらず,前記多関節型ロボット3のベース座標系Σbaseにおける前記エンドエフェクタ2の位置座標XYZを自由に作り出すことができる。なお,前記多関節型ロボット3における前記駆動軸31~36各々の角度θ1~θ6は,前記多関節型ロボット3のベース座標系Σbaseにおける位置座標XYZ,姿勢角αβγから逆運動学問題の解を求めることにより算出可能である。以下,図3のフローチャートに従って,前記制御装置1により実行されるロボット制御処理の手順の一例について説明する。ここに,図3に示すS1,S2,...は処理手順ステップ番号を表す。なお,本発明は,以下の処理手順の各工程を実行する多関節型ロボットの制御方法の発明として捉えてもよい。前記制御装置1は,当該ロボット制御処理を実行することにより,前記操作部13によって予め設定された作業開始点及び作業終了点に基づいて前記多関節型ロボット3を制御する。ここでは,前記操作部13の操作により作業開始点Q1の位置姿勢{Xs,Ys,Zs,αs,βs,γs},作業終了点Q2の位置姿勢{Xe,Ye,Ze,αe,βe,γe}が予め設定されているものとする。ステップS1まず,ステップS1において,前記制御装置1は,前記作業開始点Q1及び前記作業終了点Q2各々の位置及び姿勢を結ぶ教示経路を補間する複数の補間点を算出するための経路方程式Pt=Q1ΔPtを求める。ここに,ΔPは単位時間1msecあたりの前記エンドエフェクタ2の位置の移動量,tは前記作業開始点Q1から計時される制御時間[msec]を示している。なお,前記経路方程式Ptで算出される補間点は,前記多関節型ロボット3のベース座標系Σbaseにおける位置姿勢XYZαβγtより表されるものである。具体的に,前記経路方程式Ptは,前記エンドエフェクタ2の位置を前記作業開始点Q1から前記作業終了点Q2まで予め定められた速度で移動させるための複数の補間点を算出するものである。具体的に,前記エンドエフェクタ2の位置が前記作業開始点Q1から前記作業終了点Q2まで移動するときの合計制御時間をT[msec],前記エンドエフェクタ2の位置姿勢XYZαβγの単位時間1msecあたりの変化量をΔX,ΔY,ΔZ,Δα,Δβ,Δγとすると,ΔPは,Q2-Q1/T={ΔX=Xe-Xs/T,ΔY=Ye-Ys/T,ΔZ=Ze-Zs/T,Δα=αe-αs/T,Δβ=βe-βs/T,Δγ=γe-γs/T}によって表される。もちろん,前記合計制御時間Tが設定されている場合に限らず,前記エンドエフェクタ2の移動速度が予め定められた速度に設定されていてもよい。ステップS2~S3続いて,ステップS2において,前記制御装置1は,前記作業終了点Q2における前記エンドエフェクタ2の位置姿勢{Xe,Ye,Ze,αe,βe,γe}の逆運動学問題の解を求めることにより,該作業終了点Q2における前記駆動軸31~36の角度{θ1e,θ2e,θ3e,θ4e,θ5e,θ6e}を算出する。なお,前記操作部13による教示時に前記作業終了点Q2における前記駆動軸31~36の角度θ1e~θ6eが直接設定されてもよい。また,ステップS3において,前記制御装置1は,制御時間t及び制御開始フラグFを0に初期設定する。なお,前記制御開始フラグFは,後述の例外条件S61が既に充足されているか否かを示す情報であって,後述のステップS62において1に設定される。ステップS4~S6次に,ステップS4において,前記制御装置1は前記制御時間tを更新するt=tΔt。ここに,Δtは,前記制御装置1による前記多関節型ロボット3の制御周期サンプル周期であって,例えば10[msec]や100[msec]である。そして,ステップS5において,前記制御装置1は,前記経路方程式Ptに基づいて次の補間点における前記駆動軸31~36各々の角度θ1t~θ6tを算出する。ここに,係る算出処理を実行するときの前記制御装置1が補間点算出手段に相当する。具体的に,まず前記制御装置1は,次の補間点の位置姿勢XYZαβγt={XsΔXt,YsΔYt,ZsΔZt,αsΔαt,βsΔβt,γsΔγt}を算出する。そして,前記制御装置1は,前記位置姿勢XYZαβγtの逆運動学問題の解を求めることにより,次の補間点における前記駆動軸31~36各々の角度θ1t,θ2t,θ3t,θ4t,θ5t,θ6tを算出する。なお,前記制御開始フラグFが1に設定された後は,前記角度θ1t~θ6tを用いないため,当該ステップS5の処理は省略してもよい。その後,ステップS6において,前記制御装置1は,前記制御開始フラグFが1であるか否かを判断する。ここで,前記制御開始フラグFが1であると判断されるとS6のYes側,処理はステップS7に移行し,前記制御開始フラグFが0であると判断されるとS6のNo側,処理はステップS61に移行する。ステップS61ステップS61において,前記制御装置1は,前記第1関節駆動系の特異姿勢の検出条件とは異なる予め設定された例外条件が充足したか否かを判定する。ここに,当該ステップS61は,後述のステップS64において前記第1関節駆動系及び前記第2関節駆動系の駆動軸31~36各々が前記ステップS5で算出された角度θ1t~θ6tに基づいて駆動されているときに実行される。ここに,係る判定処理を実行するときの前記制御装置1が例外条件判定手段に相当する。前記第1関節駆動系の特異姿勢の検出条件とは,例えば前記駆動軸35の角度が0に近づいたことや前記駆動軸34,36の角度が急激に変化したことである。具体的に,本実施の形態では,次の補間点からの前記エンドエフェクタ2の残りの移動時間の間に前記第1関節駆動系の駆動軸34~36各々の角度を前記作業終了点Q2における角度θ4e~θ6eに到達させる場合に前記第1関節駆動系の駆動軸34~36の少なくとも一つの駆動軸の速度が予め設定された許容範囲を超えることが前記例外条件として予め設定されているものとする。即ち,前記制御装置1は,当該ステップS61において,前記エンドエフェクタ2の残りの移動時間の間に,前記駆動軸34~36各々の速度を前記許容範囲内に維持しつつ前記作業終了点Q2に到達させることができるか否かを判定する。例えば,前記制御装置1は,以下の11式~13式のいずれかが成立する場合に,前記例外条件が充足したと判定することが可能である。ここに,Ttは次の補間点における残りの移動時間,θ4d,θ5d,θ6dは前記駆動軸34~36の速度の許容範囲の上限値である。|θ4e-θ4t/Tt|>θ4d...11|θ5e-θ5t/Tt|>θ5d...12|θ6e-θ6t/Tt|>θ6d...13なお,前記エンドエフェクタ2の残りの移動時間に限らず,該エンドエフェクタ2の残りの移動距離=残りの移動時間×移動速度の間に,前記駆動軸34~36各々の速度を許容範囲内に維持しつつ,前記エンドエフェクタ2を前記作業終了点Q2に到達させることができるか否かを判定してもよい。また,単に前記エンドエフェクタ2の残りの移動時間や残りの移動距離が予め設定された所定値以下に達することを前記例外条件として用いることも他の実施例として考えられる。そして,当該ステップS61において,前記例外条件が充足していないと判断されるとS61のNo側,処理はステップS64に移行し,前記例外条件が充足したと判断されるとS61のYes側,処理はステップS62に移行する。ステップS64ステップS64において,前記制御装置1は,前記駆動軸31~36各々を前記ステップS5で算出された角度θ1t,θ2t,θ3t,θ4t,θ5t,θ6tに基づいて駆動させ,処理をステップS12に移行させる。なお,当該ステップS64における処理は従来と同様であるため,詳細な説明は省略する。ここに,係る駆動処理を実行するときの前記制御装置1が駆動制御手段に相当する。ステップS62~S63一方,前記例外条件が充足すると,続くステップS62において,前記制御装置1は,前記制御開始フラグFを1に設定する。これにより,今後,前記ステップS6においては,前記制御開始フラグFが1であると判断され,処理は前記ステップS61~S63を経由することなく後述のステップS7に移行することとなる。次に,ステップS63において,前記制御装置1は,前記駆動軸34~36各々の現在の角度をθ4OLD,θ5OLD,θ6OLDとして前記記憶部12に記憶する。即ち,θ4OLD=θ4t-Δt,θ5OLD=θ5t-Δt,θ6OLD=θ6t-Δtである。ステップS7~S8そして,ステップS7において,前記制御装置1は,現在の補間点からの残りの移動時間Tt-Δtの間に,前記駆動軸34~36各々の角度を前記作業終了点Q2の角度に到達させるために必要な前記駆動軸34~36各々の単位時間1msecあたりの速度Vθ4,Vθ5,Vθ6を算出する。ここに,速度Vθ4,Vθ5,Vθ6は,現在の前記駆動軸34~36各々の角度θ4OLD,θ5OLD,θ6OLDを前記作業終了点Q2における角度θ4e,θ5e,θ6eに線形に変化させるための速度である。具体的に,速度Vθ4,Vθ5,Vθ6は,以下の21式~23式により算出可能である。Vθ4=θ4e-θ4OLD/Tt-Δt...21Vθ5=θ5e-θ5OLD/Tt-Δt...22Vθ6=θ6e-θ6OLD/Tt-Δt...23次に,ステップS8において,前記制御装置1は,前記ステップS7で算出された速度Vθ4,Vθ5,Vθ6に基づいて,次の補間点の前記駆動軸34~36の角度θ4NOW,θ5NOW,θ6NOWを算出する。ここに,角度θ4NOW,θ5NOW,θ6NOWは,以下の31式~33式により算出可能である。θ4NOW=θ4OLDVθ4Δt...31θ5NOW=θ5OLDVθ5Δt...32θ6NOW=θ6OLDVθ6Δt...33ステップS9~S10そして,ステップS9において,前記制御装置1は,前記ステップS8で算出された次の補間点の角度θ4NOW,θ5NOW,θ6NOWと,前記ステップS5で算出された次の補間点の位置座標XYZtとに基づいて,前記第2関節駆動系の駆動軸31~33各々の次の補間点における角度θ1NOW,θ2NOW,θ3NOWを算出する。ここで算出される前記駆動軸31~33の角度θ1NOW,θ2NOW,θ3NOWは,前記ステップS5で算出された次の補間点の位置座標XYZtを維持しているため,前記エンドエフェクタ2の位置及び移動速度は,前記ステップS64による駆動制御時における前記エンドエフェクタ2の位置及び移動速度を維持したものとなる。なお,前記制御装置1は,ステップS10において,前記駆動軸34~36各々の角度θ4NOW,θ5NOW,θ6NOWを,次の制御周期で使用するためにθ4OLD,θ5OLD,θ6OLDとして記憶するθ4OLD=θ4NOW,θ5OLD=θ5NOW,θ6OLD=θ6NOW。ステップS11~S12その後,ステップS11において,前記制御装置1は,前記ステップS8で算出された次の補間点における前記駆動軸34~36の角度θ4NOW,θ5NOW,θ6NOWと,前記ステップS9で算出された次の補間点における前記駆動軸31~33の角度θ1NOW,θ2NOW,θ3NOWとに基づいて前記駆動軸31~36を駆動させる。このように,当該ロボット制御処理では,前記例外条件が充足した後は,前記ステップS64における駆動制御に代えて,前記ステップS11における駆動制御が実行される。なお,前記制御装置1は,続くステップS12において,前記エンドエフェクタ2が前記作業終了点Q2に到着したか否かを判断し,該エンドエフェクタ2が前記作業終了点Q2に到着するまでS12のNo側,前記ステップS4以後の処理を繰り返し実行する。一方,前記エンドエフェクタ2が前記作業終了点Q2に到着するとS12のYes側,当該ロボット制御処理は終了される。以上説明したように,本発明の実施の形態に係る前記制御装置1は,前記例外条件が充足したと判定された後,前記エンドエフェクタ2が前記作業終了点Q2に到達するまでの間,前記第1関節駆動系の駆動軸34~36各々を前記作業終了点Q2の角度を目標として線形に変化させるための該第1関節駆動系の駆動軸34~36各々の角度を算出すると共に,該算出された第1関節駆動系の駆動軸34~36各々の角度と前記ステップS5によって算出された補間点における前記エンドエフェクタ2の位置とに基づいて前記第2関節駆動系の駆動軸31~33各々の角度を算出し,該算出結果に従って前記第1関節駆動系及び前記第2関節駆動系の駆動軸各々を駆動させている。ここに,係る処理を実行するときの前記制御装置1が例外動作手段に相当する。したがって,前記ステップS5で算出された補間点における前記エンドエフェクタ2の位置及び移動速度を維持しつつ,前記第1関節駆動系の駆動軸34~36各々の角度を前記作業終了点Q2の角度に確実に到達させることができる。これにより,例えば前記作業終了点Q2から次の教示点に向けて動作する場合に前記駆動軸34~36が作動範囲を超えることを防止することができる。特に,前記制御装置1は,前記作業開始点Q1及び前記作業終了点Q2の前記駆動軸35の角度の符号が異符号であり,前記第1関節駆動系の特異姿勢駆動軸35の角度が0度を経なければ前記駆動軸35の角度を前記作業終了点Q2の角度に到達させることができない場合に好適である。以下,この点について図4及び図5を参照しつつ説明する。ここに,図4及び図5は,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が異符号である場合の動作例を示すものであって,図4は従来例を示すものであり,図5は前記ロボット制御処理図3の実行結果を示すものである。具体的に,前記作業開始点Q1における前記駆動軸35の角度θ5sが65度,前記作業終了点Q2における前記駆動軸35の角度θ5eが-65度である。図4に示すように,通常は,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の角度θ5s,θ5eの符号が異符号である場合,前記作業開始点Q1における前記駆動軸35の符号が維持された解のまま前記エンドエフェクタ2が移動するため,前記駆動軸34~36各々が前記作業終了点Q2における角度に到達しない。そのため,例えば前記作業終了点Q2から次の教示点に向けて動作する場合に前記駆動軸34~36が作動範囲を逸脱するおそれがある。また,前記駆動軸35が0度に近づくことや前記駆動軸34,36の速度が所定値以上となることを条件に前記第1関節駆動系の特異姿勢を検出し,異なる解に移行させる構成であっても,図4に示すように前記駆動軸35が0度に近づかず,前記駆動軸34,36の速度が所定値以上とならない場合には,前記第1関節駆動系の特異姿勢を検出することができない。これに対し,図5に示すように,前記ロボット制御処理図3が実行される場合には,前記例外条件が充足したと判定されると,その時点L1からは前記駆動軸34~36が前記作業終了点Q2の角度に向けて線形に変化するように前記駆動軸31~36が駆動されるため,該駆動軸34~36各々を前記作業開始点Q2における角度に確実に到達させることができる。もちろん,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が同符号である場合であっても同様に,前記例外条件が充足した時点から,前記駆動軸34~36が前記作業終了点Q2における角度に向けて線形に変化するため,該駆動軸34~36各々を前記作業開始点Q2における角度に確実に到達させることができる。本実施例1では,前記ロボット制御処理図3参照における前記例外条件の他の例について説明する。具体的に,本実施例1では,前記制御装置1が,前記ステップS61において,前記駆動軸34~36の少なくとも一つの駆動軸の次の補間点における角度が予め設定された作動範囲を超える場合に,前記例外条件が充足したと判定する。例えば,前記制御装置1は,予め設定された前記駆動軸34~36各々のプラス側の作動範囲がθ4L,θ5L,θ6L,前記駆動軸34~36各々のマイナス側の作動範囲がθ4L,θ5L,θ6Lであるとき,以下の41~46の少なくとも一つが成立した場合に前記例外条件が充足したと判定する。なお,前記駆動軸34~36各々の作動範囲とは,例えば前記駆動軸34~36の駆動モータの許容動作範囲である。θ4t>θ4L...41θ4t<θ4L...42θ5t>θ5L...43θ5t<θ5L...44θ6t>θ6L...45θ6t<θ6L...46ここに,図6及び図7は,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が異符号である場合の動作例を示すものであって,図6は従来例を示すものであり,図7は本実施例1に係るロボット制御処理の実行結果を示すものである。具体的に,前記作業開始点Q1における前記駆動軸35の角度θ5sが-10度,前記作業終了点Q2における前記駆動軸35の角度θ5eが10度である。なお,前記駆動軸34~36の角度の作動範囲は-180度~180度であるものとする。図6に示すように,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が異符号であるにもかかわらず,前記作業開始点Q1における前記駆動軸35の符号が維持された解のまま前記エンドエフェクタ2が移動すると,前記駆動軸34,36の角度が該駆動軸34,36の作動範囲±180度を超えて異常停止するおそれがある。これに対し,図7に示すように,本実施例1に係るロボット制御処理が実行される場合には,前記駆動軸34~36の少なくとも一つの駆動軸の次の補間点における角度が予め設定された作動範囲を超えるという前記例外条件が充足したと判定されると,その時点L2からは前記駆動軸34~36が前記作業終了点Q2の角度に向けて線形に変化するように前記駆動軸31~36が駆動される。そして,一般に前記制御装置1では前記作業終了点Q2が前記駆動軸34~36の角度の作動範囲内でのみ設定可能である。そのため,前記駆動軸34~36各々を許容範囲内で駆動させつつ前記作業開始点Q2の角度に確実に到達させることができる。もちろん,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が同符号である場合であっても同様である。ところで,図7に示す動作例では,前記駆動軸34~36各々の角度が,前記作業終了点Q2よりも少し前の時点で該作業終了点Q2の近傍に到達し,その後,前記作業終了点Q2における角度に向けて緩やかな速度で動作している。このように,前記駆動軸34~36各々の速度を少しずつ落として前記作業終了点Q2に緩やかに停止させれば,停止時の振動などを抑制することができる。特に,このとき前記制御装置1は,前記駆動軸34~36各々の速度を調節して該駆動軸34~36各々を同時に前記作業終了位置Q2における角度に到着させて停止させることが望ましい。これにより,前記駆動軸34~36各々の駆動モータが個別に停止する場合に比べて該駆動モータの停止時に生じる振動などを抑制することができる。さらに,前記例外条件が充足する時点L2における前記駆動軸34~36各々の線形動作開始時の速度が緩やかになるように該駆動軸34~36の角度を補正することも考えられる。例えば図8は,前記例外条件が充足する前後の前記駆動軸36の角度の変化例を示している。図8に実線で示すように,前記駆動軸36の角度が180度まで増加した後,急にマイナス方向に向けて変化すると,該駆動軸36に急激なマイナス方向の加速度が生じ,振動などの原因となる。そこで,図8に破線で示すように,前記駆動軸36の作動範囲の上限値180に到達することを事前に推定し,その時点から前記駆動軸36の角度が緩やかにマイナス方向に変化するように,該駆動軸36の角度を補正することが考えられる。これにより,前記例外条件が充足した直後に前記駆動軸36の急激な加速度が生じないため,振動などを防止することができる。もちろん,前記駆動軸35,36についても同様である。また,このように前記駆動軸34~36の急激な停止や急激な加速度を防止するための制御手法は,前記実施の形態や後述の実施例2などの他の例外条件を用いる場合にも同様に適用することができる。本実施例2では,前記ロボット制御処理図3参照における前記例外条件のさらに他の例について説明する。ここに,図9は,本実施例2に係るロボット制御処理の手順の一例を示すフローチャートである。なお,前記ロボット制御処理図3参照と同様の処理手順については同じ符号を付してその説明を省略する。具体的に,図9に示すように,本実施例2に係るロボット制御処理では,前記ステップS2~S4,S61図3参照に代えて後述のステップS21,S31,S41,S611が実行される。ステップS21,S31,S41ステップS21において,前記制御装置1は,前記作業終了点Q2における前記駆動軸34~36の角度θ4e,θ5e,θ6eと共に,前記作業開始点Q1における前記駆動軸34~36の角度θ4s,θ5s,θ6sを算出する。また,前記制御装置1は,当該ステップS21において,前記駆動軸34~36を前記作業開始点Q1から前記作業終了点Q2まで一定速度で線形に動作させたときの単位時間1msecあたりの前記駆動軸34~36の角度変動Δθ4,Δθ5,Δθ6も算出する。このとき,角度変動Δθ4,Δθ5,Δθ6は,前記作業開始点Q1における前記エンドエフェクタ2の残りの移動時間をTsとすると,以下の51~53で求められる。Δθ4=θ4e-θ4s/Ts...51Δθ5=θ5e-θ5s/Ts...52Δθ6=θ6e-θ6s/Ts...53次に,ステップS31において,前記制御装置1は,制御時間t及び制御開始フラグFを0に初期設定すると共に,前記駆動軸34~36に対応する基準角度θkt={θ4k,θ5k,θ6k}の初期設定を行う。前記基準角度θktは,後述のステップS611において例外条件の判断で参照されるものであって,その初期値θk0は,{θ4k,θ5k,θ6k}={θ4s,θ5s,θ6s}に設定される。また,前記制御装置1は,ステップS41において,前記制御装置1は前記制御時間tを更新しt=tΔt,前記基準角度θktを更新する。具体的に基準角度θktは,θ4k=θ4kΔθ4Δt,θ5k=θ5kΔθ5Δt,θ6k=θ6kΔθ6Δtとなる。即ち,前記基準角度θktは,前記作業開始点Q1及び前記作業終了点Q2に基づいて定まるものであって,前記作業開始点Q1及び前記作業終了点Q2を結ぶ直線上の値に随時更新される。なお,前記基準角度θktが前記作業開始点Q1や前記作業終了点Q2における前記駆動軸34~36の角度であることも他の実施例として考えられる。ステップS611そして,本実施例2に係るロボット制御処理では,ステップS611の例外条件の判定処理において,前記制御装置1は,次の補間点における前記第1関節駆動系の駆動軸34~36の角度θ4t,θ5t,θ6tの少なくとも一つと前記基準角度θ4k,θ5k,θ6kとの離間角度が予め設定された所定角度θ4w,θ5w,θ6wを超えるか否かを判断する。前記所定角度θ4w,θ5w,θ6wは,前記駆動軸34~36の角度θ4t,θ5t,θ6tが前記基準角度θ4k,θ5k,θ6kから離れすぎて,該駆動軸34~36を前記作業終了点Q2に到達させるために該駆動軸34~36の角度の急激な変化を伴う可能性が高いことを事前に推定するために予め設定されたものである。例えば,前記所定角度θ4w,θ5w,θ6w各々は,90度,180度,90度に設定しておくことが考えられる。例えば,前記制御装置1は,下記の61式~63式のいずれかが成立する場合に前記例外条件が充足したと判定する。|θ4t-θ4k|>θ4w...61|θ5t-θ5k|>θ5w...62|θ6t-θ6k|>θ6w...63ここに,図10は,前記作業開始点Q1及び前記作業終了点Q2における前記駆動軸35の符号が異符号である場合の動作例を示すものであって,本実施例2に係る前記ロボット制御処理の実行結果を示すものである。具体的に,前記作業開始点Q1における前記駆動軸35の角度θ5sが10度,前記作業終了点Q2における前記駆動軸35の角度θ5eが-10度である。また,ここでは前記所定角度θ6wが90度に設定されているものとし,前記駆動軸36の角度θ6tが前記基準角度θ6ktから90度離れる場合を例に挙げて説明する。もちろん,前記駆動軸34,35についても同様である。図10に示すように,本実施例2に係るロボット制御処理が実行される場合には,前記駆動軸36の次の補間点の角度θ6tが前記基準角度θ6ktから90度以上離れると判断された時点L3から,前記駆動軸34~36が前記作業終了点Q2の角度に向けて線形に変化するように前記駆動軸31~36が駆動されるため,該駆動軸34~36各々を前記作業開始点Q2における角度に確実に到達させることができる。特に,本実施例2に係るロボット制御処理によれば,前記駆動軸34~36各々の角度が前記基準角度θktから離れ過ぎる前の早期の段階で,該駆動軸34~36を前記作業終了点Q2に向けて線形動作させることができ,前記駆動軸34~36の急激な角度変動を未然に防止することができる。ところで,前記制御装置1は,前記実施の形態,前記実施例1,当該実施例2で説明した複数の前記例外条件の少なくとも一つの充足の有無を判断するものであればよいが,複数の前記例外条件の充足の有無を同時に監視しておき,いずれか一つの例外条件が充足した場合に,前記ステップS7以後の線形動作処理を実行することも考えられる。これにより,前記実施の形態,前記実施例1,当該実施例2で得られる効果を共に奏する構成を具現することができる。本実施例3では,前記制御装置1が,前記エンドエフェクタ2が加工対象物の加工線に倣って移動するように前記多関節型ロボット3を制御する倣い制御を実行する構成を考える。この場合,前記多関節型ロボット3には,前記エンドエフェクタ2と前記加工線とのズレ量ΔXYZαβγtを検出するセンサズレ量検出手段に相当が設けられる。ここに,各時点において前記センサで検出される前記ズレ量ΔXYZαβγtは,前記経路方程式Ptにより算出されたその時点における補間点を基準として表した値である。そして,前記制御装置1は,前記センサによる検出結果に基づいて前記エンドエフェクタ2を前記加工線に倣って移動させる前記倣い制御を実行する。ここに,係る倣い制御を実行するときの前記制御装置1が倣い制御手段に相当する。具体的に,前記制御装置1は,前記ロボット制御処理図3参照のステップS5において次の補間点を算出する際,現在前記センサによって検出されているズレ量ΔXYZαβγtを前記経路方程式Ptに加算する。また,前記制御装置1は,その加算後の補間点の位置姿勢X’Y’Z’α’β’γ’tから逆運動学問題の解を求めることにより,次の補間点における前記駆動軸31~36各々の角度θ1’t~θ6’tを算出する。そして,前記例外条件が充足していない場合,前記制御装置1は,前記ステップS64において,前記ズレ量ΔXYZαβγtで修正された後の前記角度θ1’t~θ6’tに基づいて前記駆動軸31~36を駆動する。また,前記制御装置1は,前記ステップS5において,前記作業終了点Q2を,該作業終了点Q2に前記ズレ量ΔXYZαβγtを加算した値に更新する。このとき,更新後の前記作業終了点Q2における前記駆動軸34~36各々の角度をθ4et,θ5et,θ6etとする。ここに,係る処理を実行するときの前記制御装置1が作業終了点更新手段に相当する。これにより,前記例外条件の判断処理では,前記更新後の前記作業終了点Q2に基づいて前記例外条件の充足の有無が判断される。例えば,前記実施の形態における前記ステップS61の例外条件の判定指標となる上記11式~13式は,以下の11’式~13’式となる。|θ4et-θ4t/Tt|>θ4d...11’|θ5et-θ5t/Tt|>θ5d...12’|θ6et-θ6t/Tt|>θ6d...13’また,前記ステップS7において前記速度Vθ4,Vθ5,Vθ6を算出するための上記21式~23式は,以下の21’式~23’式となる。即ち,前記ステップS11における前記駆動処理では,前記更新後の前記作業終了点Q2を目標として前記駆動軸34~36の線形動作処理が行われる。Vθ4=θ4et-θ4OLD/Tt-Δt...21’Vθ5=θ5et-θ5OLD/Tt-Δt...22’Vθ6=θ6et-θ6OLD/Tt-Δt...23’これにより,前記センサで検出されるズレ量に基づいて前記倣い制御が実行される場合であっても,前記駆動軸34~36各々の角度を前記倣い制御で修正された後の作業終了点Q2に確実に到達させることができる。具体的に,図11a~cに示すように,前記エンドエフェクタ2が前記作業開始点Q1から前記作業終了点Q2に向けて移動し,前記倣い制御により前記ズレ量ΔXYZαβγtが修正されるとき,前記作業終了点Q2は,前記ズレ量ΔXYZαβγtが加算されて作業終了点Q2tに更新される。これにより,前記駆動軸34~36各々の角度を前記作業終了点Q2tに到達させることができる。ところで,前記ロボット制御処理図3参照において,前記エンドエフェクタ2の姿勢を完全に無視することは望ましくない。そこで,本実施例4では,前記エンドエフェクタ2の姿勢のうち予め定められた特定成分の変動を抑制することのできる構成について説明する。具体的に,本実施例4において,前記制御装置1は,前記ロボット制御処理図3参照の前記ステップS8と前記ステップS9との間において,後述の特定成分抑制処理図12参照を実行する。なお,前記ロボット制御処理については,前記実施の形態で説明したものに限らず,前記実施例1~3のいずれかに記載された内容を採用すればよい。以下,図12のフローチャートに従って,前記制御装置1によって実行される特定成分抑制処理の手順の一例について説明する。ステップS81まず,ステップS81において,前記制御装置1は,次の補間点について,図13に示すように,前記エンドエフェクタ2が移動する方向進行方向の軸をX軸とし,該X軸と重力方向との外積X軸×重力方向によって表される軸をY軸とし,該X軸と該Y軸との外積X軸×Y軸によって表される方向の軸をZ軸とする作業座標系以下,溶接線座標系Σlineというにおける姿勢角度を求める。ここに,前記溶接線座標系Σlineにおける前記エンドエフェクタ2の姿勢角度は,図14~図16に示すように,前記X軸の軸周りの回転角であるトーチ傾斜角Rx,前記Y軸の軸周りの回転角であるトーチ前進角Ry,前記Z軸の軸周りの回転角であるトーチ回転角Rzで表される。具体的に,前記制御装置1は,前記ステップS5で算出された次の補間点の前記ベース座標系Σbaseにおける位置姿勢XYZαβγtを,前記溶接線座標系Σlineにおける姿勢角度トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzに変換する。例えば,前記ベース座標系Σbaseから前記溶接線座標系Σlineへの変換は,以下の101式~107式に従って行われる。なお,前記溶接線座標系ΣlineにおけるX軸,Y軸,Z軸の単位ベクトルをXm,Ym,Zmとする。Rx=atanRm23/Rm33...105Ry=asinRm13...106Rz=atanRm12/Rm11...107ステップS82次に,ステップS82において,前記制御装置1は,前回の制御周期における前記駆動軸34~36の速度を基準として,該駆動軸34~36各々の次の補間点における速度の候補を複数生成する。ここに,係る処理を実行するときの前記制御装置1が角度候補算出手段に相当する。例えば,前記制御装置1は,前回の制御周期における前記駆動軸34~36の速度をVθ4OLD,Vθ5OLD,Vθ6OLDとしたとき,前記駆動軸34の速度の候補として,Vθ4m=Vθ4OLD-F,Vθ4n=Vθ4OLD,Vθ4p=Vθ4OLDFを生成する。また,前記制御装置1は,同じく前記駆動軸35の速度の候補として,Vθ5m=Vθ5OLD-G,Vθ5n=Vθ5OLD,Vθ5p=Vθ5OLDG,前記駆動軸36の速度の候補として,Vθ6m=Vθ6OLD-H,Vθ6n=Vθ6OLD,Vθ6p=Vθ6OLDHを生成する。ここに,前記定数F,G,H各々は,1サンプル周期あたりの加速度の限界値や振動などが起きない範囲の値で予め定めたものである。このように前記駆動軸34~36各々について3通りの速度の候補を生成すると,以下201~227の合計27通りの異なる組み合わせが生じる。201:Vθ4m,Vθ5m,Vθ6m202:Vθ4m,Vθ5m,Vθ6n203:Vθ4m,Vθ5m,Vθ6p204:Vθ4m,Vθ5n,Vθ6m205:Vθ4m,Vθ5n,Vθ6n206:Vθ4m,Vθ5n,Vθ6p207:Vθ4m,Vθ5p,Vθ6m208:Vθ4m,Vθ5p,Vθ6n209:Vθ4m,Vθ5p,Vθ6p210:Vθ4n,Vθ5m,Vθ6m211:Vθ4n,Vθ5m,Vθ6n212:Vθ4n,Vθ5m,Vθ6p213:Vθ4n,Vθ5n,Vθ6m214:Vθ4n,Vθ5n,Vθ6n215:Vθ4n,Vθ5n,Vθ6p216:Vθ4n,Vθ5p,Vθ6m217:Vθ4n,Vθ5p,Vθ6n218:Vθ4n,Vθ5p,Vθ6p219:Vθ4p,Vθ5m,Vθ6m220:Vθ4p,Vθ5m,Vθ6n221:Vθ4p,Vθ5m,Vθ6p222:Vθ4p,Vθ5n,Vθ6m223:Vθ4p,Vθ5n,Vθ6n224:Vθ4p,Vθ5n,Vθ6p225:Vθ4p,Vθ5p,Vθ6m226:Vθ4p,Vθ5p,Vθ6n227:Vθ4p,Vθ5p,Vθ6pステップS83~S84次に,ステップS83において,前記制御装置1は,前記組み合わせ201~227のうち,ランダムに或いは予め設定された規則に基づいて3つの組み合わせを選択する。このとき選択された3つの速度の候補をVθat,Vθbt,Vθctとする。続いて,ステップS84において,前記制御装置1は,3つの速度の候補Vθat,Vθbt,Vθct各々が採用された場合の次の補間点における前記駆動軸34~36の角度の候補θat,θbt,θctを生成する。なお,ここでは説明の便宜上3つの速度の候補及び角度の候補を生成しているが,その候補の数は,前記制御装置1の演算性能に応じて,前記多関節型ロボット3に要求される動作速度が満たされる範囲で任意に設定すればよい。例えば,最初のサンプル周期において,以下の301~303に示すように前記速度の候補Vθat,Vθbt,Vθctとして前記組み合わせ201,202,203が選択されると,以下の304~306に示すように前記角度の候補θat,θbt,θctが生成される。Vθat=Vθ4at,Vθ5at,Vθ6at=Vθ4m,Vθ5m,Vθ6m...301Vθbt=Vθ4bt,Vθ5bt,Vθ6bt=Vθ4m,Vθ5m,Vθ6n...302Vθct=Vθ4ct,Vθ5ct,Vθ6ct=Vθ4m,Vθ5m,Vθ6p...303θat=θ4at,θ5at,θ6at=θ4OLDVθ4atΔt,θ5OLDVθ5atΔt,θ6OLDVθ6atΔt...304θbt=θ4bt,θ5bt,θ6bt=θ4OLDVθ4btΔt,θ5OLDVθ5btΔt,θ6OLDVθ6btΔt...305θct=θ4ct,θ5ct,θ6ct=θ4OLDVθ4ctΔt,θ5OLDVθ5ctΔt,θ6OLDVθ6ctΔt...306また,次のサンプル周期においても同様に,以下の311~313に示すように前記速度の候補Vθat,Vθbt,Vθctとして前記組み合わせ203,206,209が選択された場合も,前記角度の候補θat,θbt,θctが生成される。Vθat=Vθ4at,Vθ5at,Vθ6at=Vθ4m,Vθ5m,Vθ6p...311Vθbt=Vθ4bt,Vθ5bt,Vθ6bt=Vθ4m,Vθ5n,Vθ6p...312Vθct=Vθ4ct,Vθ5ct,Vθ6ct=Vθ4m,Vθ5p,Vθ6p...313その後,さらに次のサンプル周期においても同様に,以下の321~323に示すように前記速度の候補Vθat,Vθbt,Vθctとして前記組み合わせ209,218,227が選択された場合も,前記角度の候補θat,θbt,θctが生成される。Vθat=Vθ4at,Vθ5at,Vθ6at=Vθ4m,Vθ5p,Vθ6p...321Vθbt=Vθ4bt,Vθ5bt,Vθ6bt=Vθ4n,Vθ5p,Vθ6p...322Vθct=Vθ4ct,Vθ5ct,Vθ6ct=Vθ4p,Vθ5p,Vθ6p...323ステップS85そして,ステップS85において,前記制御装置1は,前記第1関節駆動系の駆動軸34~36各々を前記作業終了点Q2の角度を目標として線形動作させる場合より該目標に近い角度の範囲内であるか否かを判断する。即ち,前記ステップS84で算出された角度の候補θat,θbt,θct各々が,前記ステップS8で算出された角度θ4NOW,θ5NOW,θ6NOWと前記ステップS2で算出された角度θ4e,θ5e,θ6eとの間の角度であるか否かが判断される。ここで,前記角度の候補θat,θbt,θct各々が,前記角度θ4NOW,θ5NOW,θ6NOWと前記角度θ4e,θ5e,θ6eとの間の角度であると判断された場合にはS85のYes側,処理はステップS86に移行する。しかし,そうでないと判断された場合にはS85のNo側,処理は前記ステップS83に戻されて異なる組み合わせが選択され,続く前記ステップS84において前記候補θat,θbt,θctが再度生成される。このように,前記駆動軸34~36各々の角度の候補が,常に前記角度θ4NOW,θ5NOW,θ6NOWと前記角度θ4e,θ5e,θ6eとの間の角度の範囲に限定されるため,該駆動軸34~36各々の角度を前記作業終了位置Q2における角度に確実に到達させることができる。なお,前記作業終了位置Q2よりも手前で前記駆動軸34~36各々の角度が該作業終了位置Q2における角度に到達することも考えられるが,この場合には,その後,前記駆動軸34~36各々の角度θ4NOW=θ4e,θ5NOW=θ5e,θ6NOW=θ6eとすればよい。ここに,前記ステップS82~S85により複数の角度の候補を算出するときの前記制御装置1が角度候補算出手段に相当する。ステップS86次に,ステップS86において,前記制御装置1は,前記ステップS84で生成された角度の候補θat,θbt,θctのそれぞれについて,前記溶接線座標系Σlineから見た前記エンドエフェクタ2の姿勢角度を求める。具体的には,前記角度の候補θat,θbt,θctについて順運動学問題の解を求めることにより,該候補ごとに対応する前記ベース座標系Σbaseにおける位置姿勢を算出した後,該ベース座標系Σbaseから溶接線座標系Σlineに変換することが考えられる。なお,ベース座標系Σbaseから溶接線座標系Σlineへの変換は,前記ステップS81と同様に行えばよいため,ここでは説明を省略する。ステップS87~S88そして,ステップS87において,前記制御装置1は,前記角度の候補θat~θctのうち,前記ステップS86で求められた姿勢角度が前記ステップS81で求められた姿勢角度に最も近い角度の候補を選択する。このとき,前記制御装置1は,前記溶接線座標系Σlineから見た前記エンドエフェクタ2の姿勢角度の3つの成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのうち,予め定められた一つ又は二つの特定成分の変動を抑制したときに,前記ステップS81で求められた姿勢角度に最も近いものを選択する。ここに,係る処理を実行するときの前記制御装置1が角度選択手段に相当する。なお,前記特定成分は,前記操作部13による操作に応じて,或いは前記多関節型ロボット3の加工内容に応じて前記制御装置1によって予め設定される。具体的に,前記制御装置1は,前記角度の候補θat,θbt,θctそれぞれを採用した場合における姿勢角度と前記ステップS81で求められた姿勢角度との変動量Ua,Ub,Ucを下記の331~333に従って求める。ここに,定数D,E,Fは,前記エンドエフェクタ2の姿勢角度の3つの成分トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのいずれの成分の変動を抑制するかによって定められる数値である。例えば,トーチ傾斜角Rx,トーチ前進角Ryの変動を抑制する場合には,D=1,E=1,F=0であることが考えられる。Ua=D2E2F2331Ub=D2E2F2332Uc=D2E2F2333そして,前記制御装置1は,前記変動量Ua,Ub,Ucのうちその値が最も小さいもの,即ち前記ステップS81で求められた姿勢角度との間で前記特定成分の変動量が最も小さいものに対応する前記角度の候補θat,θbt,θctを選択する。その後,ステップS88において,前記制御装置1は,前記ステップS8で算出されたθ4NOW,θ5NOW,θ6NOWを,前記ステップS87で選択された前記角度の候補θat,θbt,θctのいずれかに変更する。例えば,Ua<Ub<Ucであれば,変動量Uaに対応する前記角度の候補θatが選択され,θ4NOW=θ4at,θ5NOW=θ5at,θ6NOW=θ6atとなる。これにより,その後の前記ステップS9~S11により前記駆動軸31~36が駆動されたときの前記エンドエフェクタ2の前記特定成分の変動量を抑制することができる。ここに,図17は,前記実施の形態における前記ロボット制御処理図3において,前記特定成分抑制処理を実行した場合の前記駆動軸34~36の駆動軌跡を示している。なお,図17における破線は,前記特定成分抑制処理を実行せずに前記駆動軸34~36を線形動作させた場合の駆動軌跡を示している。ここでは,前記多関節型ロボット3の加工内容が溶接であって,前記エンドエフェクタ2の前記溶接線座標系Σlineにおける姿勢角度トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのうちトーチ傾斜角Rx,トーチ前進角Ryの変動を抑制することが特に重要であり,該トーチ傾斜角Rx,トーチ前進角Ryが前記特定成分として予め設定されているものとする。この場合,前記特定成分抑制処理図12参照が実行されることにより,図17に示すように,前記例外条件が充足した後,前記駆動軸34~36は,前記作業終了点Q2を目標として概ね線形動作することになるが,その経路は,前記エンドエフェクタ2の前記溶接線座標系Σlineにおけるトーチ傾斜角Rx,トーチ前進角Ryを抑制するために微調整される。これにより,図18に示すように,溶接作業にとって重要でない重み付けが小さいトーチ回転角Rzの変動を犠牲にして,溶接作業に重要な重み付けが大きいトーチ傾斜角Rxとトーチ前進角Ryとの変動を抑制することができる。なお,図18における破線は,前記特定成分抑制処理を実行せずに前記駆動軸34~36を線形動作させた場合の変動量を示している。また,図19は,前記実施例2における前記ロボット制御処理図9において,前記特定成分抑制処理を実行した場合の前記駆動軸34~36の駆動軌跡を示している。なお,図19における破線は,前記特定成分抑制処理を実行せずに前記駆動軸34~36を線形動作させた場合の駆動軌跡を示している。ここでも,前記多関節型ロボット3の加工内容が溶接であって,前記トーチ傾斜角Rx,トーチ前進角Ryが前記特定成分として予め設定されているものとする。この場合,前記特定成分抑制処理図12参照が実行されることにより,図19に示すように,前記例外条件が充足した後,前記駆動軸34~36は,前記作業終了点Q2を目標として概ね線形動作することになるが,その経路は,前記エンドエフェクタ2の前記溶接線座標系Σlineにおけるトーチ傾斜角Rx,トーチ前進角Ryを抑制するために微調整される。これにより,図20~図22に示すように,溶接作業にとって重要でない重み付けが小さいトーチ回転角Rzの変動を犠牲にして,溶接作業に重要な重み付けが大きいトーチ傾斜角Rxとトーチ前進角Ryとの変動を抑制することができる。なお,図20~22における破線は,前記特定成分抑制処理を実行せずに前記駆動軸34~36を線形動作させた場合の変動量を示している。ところで,当該ステップS64において,前記制御装置1は,前記第1関節駆動系が特異姿勢特異点に近づいたか否かを検出し,特異姿勢に近づいた場合には,前記ステップS5で算出される逆運動学問題の解のうち他方の解に滑らかに移行させるための処理を実行するものであってもよい。さらに,前記逆運動学問題の一方の解から他方の解に移行するとき,前記実施例4のように,前記エンドエフェクタ2の前記溶接線座標系Σlineにおける姿勢角度トーチ傾斜角Rx,トーチ前進角Ry,トーチ回転角Rzのうち予め設定された一つ又は二つの特定成分の変動を抑制するように複数の候補から一つの候補を選択しながら,前記駆動軸34~36の角度を,前記逆運動学問題の一方の解から他方の解に滑らかに移行させることが望ましい。上述した実施形態のような特異姿勢を回避する処理回避処理を行っている際は、この回避処理を行っていることを示す、即ち、多関節型ロボット3が特異姿勢を回避中であることを外部に報知する手段を設けることが好ましい。具体的には、図25に示すように、特異姿勢を回避中であることを示す特異点回避中を、操作部13教示ペンダントの表示画面Mに表示する。なお、特異姿勢を回避中であることを示す表示は、特異点回避中という表現に限定されず、特異姿勢を回避していることが分かる表現であればどのような表現であってもよい。このように、特異点回避中であることを表示することによって、多関節型ロボット3が特異点回避中の状態であるか、特異点回避中ではない状態であるかをオペレータが溶接中に把握することができる。そのため、例えば、作業対象物材料の溶接後に品質検査を行う場合、特異点回避中の状態で溶接した箇所を注視して検査することが可能となる。また、例えば、特異点回避中の状態における多関節型ロボット3の全体の動きを、オペレータが目視などで監視することもでき、この監視に基づいて、次の溶接作業などで、再度、多関節型ロボット3を動かすときに、多関節型ロボット3の全体の動作を見直すこともできる。なお、特異点回避中の表示の他に、処理プログラムが分かるように処理プログラムの内容例えば、再生中プログラムの番号を表示画面Mに表示したり、処理プログラムを実行している時間再生時間、エンドエフェクタの動き例えば、直線移動を表示画面Mに表示してもよい。さらに、予め教示されたトーチの情報例えば、トーチ傾斜角、トーチ前進角、トーチ回転角などと、現在のトーチの情報とを表示画面Mに表示してもよい。これによれば、特異点回避中における多関節型ロボット3の詳しい状態を把握することができる。上述した例では、特異点回避の処理を行っていることを表示画面Mに表示させているが、これに代えて、特異点回避を行っていることをスピーカ等によって音で知らせてもよいし、ランプなどの点灯や点滅など光で知らせてもよい。特異点回避を行っていることは、多関節型ロボットの教示ペンダント13とは別の外部の表示装置に表示してもよい。また、特異点回避中の時間を制御部10の記憶部12などにログとして記憶してもよい。そして、例えば、溶接終了後に操作部13教示ペンダントの表示画面Mに特異点回避中の時間履歴を表示し、オペレータなどが特異点回避中の時間履歴を確認できるようにしてもよい。"