(57)【要約】【課題】作業間の動作経路を作成する際に、ロボットが異常動作をすることなく、特異姿勢又は特異姿勢近傍をスムーズ通過可能となっている実用的な動作経路を生成する。【解決手段】本発明の多関節ロボットの動作経路生成方法は、動作経路を算出した時に、多関節ロボットが特異姿勢を通るか否かを判定する判定ステップと、判定ステップで特異姿勢を通ると判定された場合に、多関節ロボットを特異姿勢たらしめている関節軸を選択する軸選択ステップと、特異姿勢を含む動作経路を多関節ロボットが円滑に移動可能なように、軸選択ステップが選択した関節軸に関し、その軸値を外部から指定する指定ステップと、前記指定ステップが指定した軸値を用いて、多関節ロボットの動作経路を算出する経路算出ステップと、を含む。【選択図】図３
2010201592.tif 000002
【特許請求の範囲】
【請求項１】
複数のリンクと該リンクを連結する軸を備えた多関節ロボットが、第１の作業の終点である移動開始位置と前記第１の作業に続く第２の作業の始点である移動目標位置との間を移動するに際し、前記多関節ロボットに干渉があるか否かを判定しつつ、当該多関節ロボットの動作経路を算出する動作経路算出方法であって、
移動開始位置での多関節ロボットの姿勢と移動目標位置での多関節ロボットの姿勢との間の動作経路を算出した時に、前記多関節ロボットが特異姿勢を通るか否かを判定する判定ステップと、
前記判定ステップで特異姿勢を通ると判定された場合に、多関節ロボットを特異姿勢たらしめている関節軸を選択する軸選択ステップと、
前記特異姿勢を含む動作経路を多関節ロボットが円滑に移動可能なように、前記軸選択ステップが選択した関節軸に関し、その軸値を外部から指定する指定ステップと、
前記指定ステップが指定した軸値を用いて、多関節ロボットの動作経路を算出する経路算出ステップと、
を含むことを特徴とする多関節ロボットの動作経路生成方法。
【請求項２】
前記指定ステップでは、
前記多関節ロボットが特異姿勢の近傍に位置する際に、特異姿勢たらしめている関節軸の軸値を固定値又は特異姿勢の境界を越えない値で付与し、
前記軸値の付与に伴い、不定値となる他の関節軸が存在する場合には、他の該関節軸の軸値として、特異姿勢の前後位置での多関節ロボットの姿勢から得られた補間値を与えることを特徴とする請求項１に記載の多関節ロボットの動作経路生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多関節ロボットの動作経路を生成する方法に関し、特に、作業を伴わない移動であって特異姿勢を通過する可能性のある経路を生成する場合に好適なロボットの動作経路生成方法に関する。
【背景技術】
【０００２】
周知の如く、ロボットの動作経路を生成する際には、コンフィギュレーション空間(Ｃ空間)を考え、このＣ空間でロボットの動作経路を考えることが多い。つまり、作業空間におけるロボットと障害物の幾何学的形状及びその位置関係を用いて、Ｃ空間における障害物を記述して、Ｃ空間内の自由空間（干渉しない空間）を求めるようにしている。
具体的には、Ｃ空間を離散的に表現すると共に、干渉位置及び非干渉位置をマッピングして、非干渉の位置を辿る経路をグラフ探索で求める方法がある。このようにして各軸の組み合わせ全てに対して探索を行ない、干渉のない経路を探索する。係る方法を用いたものとして、特開平４−２３５６０６号公報（特許文献１）などがある。
【０００３】
また、第１の作業の終点である移動開始位置と、第１の作業に続く第２の作業の始点である移動目標位置とを与えて、その間を干渉しない経路を作成する方法として、特開平８−１４７０２０号公報（特許文献２）のように、ポテンシャル法を用いて干渉回避姿勢を求める方法がある。
特許文献２においては、最近接の障害物を平面に投影し、投影した障害物を避けるように回避方向指示点を生成し、これによりロボット先端を回避方向へ導く動作経路をポテンシャル法により決定し、干渉を回避する経路を生成する方法が示されている。具体的には、所定のピッチで目標方向にロボットを動かした上で、ポテンシャル計算などを使って回避位置・姿勢を演算し、これらの処理を繰り返すことで、順次回避位置姿勢を生成しつつ、目標位置・姿勢に到達する経路を作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−２３５６０６号公報
【特許文献２】特開平８−１４７０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットの動作経路生成を行った場合、その動作経路の途中において、ロボットが特異姿勢をとったり特異姿勢の近傍を通過する場合がある。ロボットが特異姿勢を通ると動作不能になったり、特異姿勢の近傍を通る場合は、動作時に関節軸を大きく動かす必要が生じることがある。
例えば、図１に示すような構成の６軸多関節ロボットの場合、図２に示すように、（ａ）肩特異姿勢（手首位置が肩の真上の状態）、（ｂ）ひじ特異姿勢（ひじが一直線に伸びた状態）、（ｃ）手首特異姿勢（手首が一直線に伸びた状態）の３通りの特異姿勢が存在し、各々で、直線動作が不可能になったり、ある関節軸の角度が不定となったりして動作時に関節軸が大きく変化するなど、ロボットの異常動作が発生する場合がある。
【０００６】
このようなロボット異常動作状況下で、作業時間に制限がある場合は、関節駆動装置の回転速度を上げなければならず、関節駆動装置の回転速度の上限を超えてしまう可能性がある。または、上限を超えないように回転速度を下げれば、その分、作業時間が長くなる。仮に動作させることができたとしても、軸が高速回転することでロボットのマニピュレータに取り付けられたケーブル等が捻じれて破損するため、または関節駆動装置に負担がかかってしまうため、関節駆動装置が破損するなどの問題がある。
しかしながら、特許文献１や特許文献２には、上述したロボットの特異姿勢を回避する技術は開示されておらず、これら特許文献の技術を採用したとしても、ロボットの異常動作状況を回避することは困難である。
【０００７】
このような不都合を回避すべく、ロボットの動作経路生成においては、特異姿勢をとらないよう、特異姿勢を避けつつ動作経路生成を行うことも考えられる。
しかしながら、この場合、不必要に回り道をした動作経路を生成したり、動作経路生成に非常に多くの計算時間を要したりと不都合が生じる可能性が否めない。
そこで、本発明は上記事情に鑑みてなされたものであり、第１の作業の終点である移動開始位置と第１の作業に続く第２の作業の始点である移動目標位置との間の動作経路を作成する際に、ロボットが異常動作をすることなく、特異姿勢又は特異姿勢近傍をスムーズに通過可能となっている実用的な動作経路を生成する方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本発明においては以下の技術的手段を講じた。
本発明の多関節ロボットの動作経路生成方法は、複数のリンクと該リンクを連結する軸を備えた多関節ロボットが、第１の作業の終点である移動開始位置と前記第１の作業に続く第２の作業の始点である移動目標位置との間を移動するに際し、前記多関節ロボットに干渉があるか否かを判定しつつ、当該多関節ロボットの動作経路を算出する動作経路算出方法であって、移動開始位置での多関節ロボットの姿勢と移動目標位置での多関節ロボットの姿勢との間の動作経路を算出した時に、前記多関節ロボットが特異姿勢を通るか否かを判定する判定ステップと、前記判定ステップで特異姿勢を通ると判定された場合に、多関節ロボットを特異姿勢たらしめている関節軸を選択する軸選択ステップと、前記特異姿勢を含む動作経路を多関節ロボットが円滑に移動可能なように、前記軸選択ステップが選択した関節軸に関し、その軸値を外部から指定する指定ステップと、前記指定ステップが指定した軸値を用いて、多関節ロボットの動作経路を算出する経路算出ステップと、を含むことを特徴とする。
【０００９】
この動作経路生成方法により作成された動作経路をロボットが移動する際には、ロボットが異常動作をすることなく特異姿勢又は特異姿勢近傍を通過可能となる。加えて、あえて、ロボットが特異姿勢を通過するようにその経路を生成しているため、不必要に回り道をした経路を生成することがなく、動作経路生成に費やす計算時間が短いもので済むようになる。
好ましくは、前記指定ステップでは、前記多関節ロボットが特異姿勢の近傍に位置する際に、特異姿勢たらしめている関節軸の軸値を固定値又は特異姿勢の境界を越えない値で付与し、前記軸値の付与に伴い、不定値となる他の関節軸が存在する場合には、他の該関節軸の軸値として、特異姿勢の前後位置での多関節ロボットの姿勢から得られた補間値を与えるとよい。
【発明の効果】
【００１０】
本発明の動作経路生成方法により作成された動作経路をロボットが移動する際には、ロボットが異常動作をすることなく特異姿勢又は特異姿勢近傍をスムーズに通過可能となる。加えて、ロボットが特異姿勢をあえて通過するようにその経路を生成しているため、不必要に回り道をした動作経路を生成することがなくなり、動作経路生成に費やす計算時間が短いもので済むようになる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るロボットのスケルトン図である。
【図２】図１のロボットにおける特異姿勢を示す図である。
【図３】ロボットの姿勢（第４軸、第５軸及び第６軸）を示したものであり、（ａ）は移動開始位置及び移動目標位置にあるロボットを示し、（ｂ）は、計算開始位置、特異姿勢位置、干渉回避位置におけるロボットの姿勢を示したものである。
【図４】本発明にかかる動作経路生成方法において第４軸〜第６軸の軸値を決定するやり方を示した図である。
【図５】本発明にかかる動作経路生成方法を適用した実施例を示す図である。
【図６】本発明にかかる動作経路生成方法をフローチャートで示したものである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を、図を基に説明する。
なお、以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰返さない。
以下においては、垂直多関節型の６軸の溶接ロボットについて説明するが、本発明は、このような型式、軸数及び用途のロボットに限定して適用されるものではない。
図１に示す多関節ロボット１（以降、単にロボットと呼ぶ場合もある）のスケルトン図を参照して、本発明の実施形態に係るロボットシステムの全体構成について説明する。
【００１３】
図１に示すように、ロボット１は、垂直多関節型の６軸を備えた溶接ロボットであって、据付ベースに近い第１軸２１２から順に、第２軸２１０、第３軸２０８、第４軸２０６、第５軸２０４及び第６軸２０２までの回転軸を備える。据付ベースに近い第１軸２１２をロボット原点と呼ぶこともある。
また、ロボット１は、据付ベースに近い第１リンク２１１から順に、第２リンク２０９、第３リンク２０７、第４リンク２０５、第５リンク２０３、第６リンク２０１まで備える。各リンクは剛性部材からなる。
【００１４】
ロボット１は、第６リンク２０１の先端に設けられた溶接トーチ（ツール）により、たとえばワークを溶接する。
このロボットシステムには、ロボット１を制御する制御部が接続されていると共に、ロボット１のオフライン教示データを作成する制御装置が備えられている。本実施形態の場合、この制御装置において、ロボット１の動作経路が生成される。
この制御装置は、第１の作業の終点である「移動開始位置」と、第１の作業に続く第２の作業の始点である「移動目標位置」との間を移動するに際し、ロボット１に干渉があるか否かを判定しつつ、ロボット１の動作経路を算出する。言い換えるならば、溶接を行いながらのような作業動作経路を算出するのではなく、比較的自由度の高い「作業間におけるロボットの移動や姿勢変更」にかかる動作経路を算出している。本発明は、このような「非作業時におけるロボットの移動や姿勢変更」において、あえて、ロボットが特異姿勢を通過するようにその経路を生成するものである。
【００１５】
以下、制御装置で実行されるロボットの動作経路生成処理について説明する。
図６は、この制御装置で実行されるロボットの動作経路生成プログラムのフローチャートである。
Ｓ１００にて、制御装置は、第１の作業の終点である移動開始位置を計算開始位置に設定する。
Ｓ１１０にて、制御装置は、計算開始位置のロボット姿勢から、第１の作業に続く第２の作業の始点である移動目標位置のロボット姿勢まで、干渉せずに移動可能か否かを判定する。
【００１６】
計算開始位置から計算目標位置まで干渉せずに到達していないと判定されると（Ｓ１１０にてＹＥＳ）、処理はＳ１２０へ移される。もしそうでないと（Ｓ１１０にてＮＯ）、計算開始位置から移動目標位置まで干渉せずに到達できているので、この処理は終了する。
判定ステップであるＳ１２０にて、制御装置は、計算開始位置と移動目標位置との間を補間した時（移動経路を作成した時）に、ロボット１が特異姿勢を通るか否かを判定する。特異姿勢を通ると判定されると（Ｓ１２０にてＹＥＳ）、処理はＳ１３０へ移される。もしそうでないと（Ｓ１２０にてＮＯ）、この処理はＳ１５０へ移される。
【００１７】
軸選択ステップであるＳ１３０にて、制御装置は、ロボット１を特異姿勢たらしめている関節軸、すなわち、特異姿勢が形成される主たる要因となっている関節軸を選択する。なお、「特異姿勢が形成される主たる要因となっている関節軸」をより正確に表現すると、「ロボット１の姿勢を逆変換する場合において、解を退化させている関節軸」又は「ロボット１の姿勢を逆変換する場合におけるヤコビ行列に関し、ランク落ちを生じさせている関節軸」となる。詳しくは、例えば、「ロボット制御基礎論、吉川恒夫、１９８８、コロナ社発行、pp５８〜」などを参照されたい。
【００１８】
次に、指定ステップであるＳ１４０にて、制御装置は、ロボット１があえて特異姿勢を通るように、選択したロボットの関節軸について、軸値を補間した位置・姿勢を生成する。言い換えるならば、特異姿勢を含む動作経路をロボット１が円滑に移動可能なように、軸選択ステップ（Ｓ１３０）が選択した関節軸に関し、その軸値（関節軸の角度値）を外部から指定するようにする。
軸値が指定された後のロボット姿勢を、次の計算における計算開始位置とする。その後、処理はＳ１６０へ移される。
【００１９】
なお、Ｓ１２０にてＮＯ判定の結果行われるＳ１５０においても、制御装置は、計算開始位置と計算目標位置との間を補間したロボット１の位置・姿勢を生成し、次の計算開始位置とする。
第２の判定ステップであるＳ１６０にて、制御装置は、計算開始位置・姿勢が特異姿勢近傍であるか否かを判定する。計算開始位置・姿勢が特異姿勢近傍であると（Ｓ１６０にてＹＥＳ）、処理はＳ１７０へ移される。もしそうでないと（Ｓ１６０にてＮＯ）、この処理はＳ２１０へ移される。
【００２０】
第２の軸選択ステップであるＳ１７０にて、制御装置は、特異姿勢において解を退化させるロボットの関節軸を選択する。
第２の指定ステップであるＳ１８０にて、制御装置は、Ｓ１７０にて選択したロボットの関節軸には、過去の実績値やオペレータの経験から得られた固定値、又は、特異姿勢の境界を越えない値の軸値を与える。また、Ｓ１７０で選定された関節軸への指定値付与に伴い、特異姿勢又はその近傍で不定値になる関節軸がある場合には、かかる関節軸の軸値として、特異姿勢の前後位置におけるロボット１の姿勢から得られた補間値を与えることとする。その後、処理はＳ１９０へ移される。
【００２１】
経路算出ステップであるＳ１９０にて、制御装置は、計算開始位置から干渉回避位置を演算する。この干渉回避位置（及びその位置におけるロボット姿勢）は、干渉を回避しつつ、計算開始位置から特異姿勢を通って到達する位置（及びその位置におけるロボット姿勢）のことである。Ｓ２１０もこの処理と同様を行う。
Ｓ２００にて、制御装置は、求まった干渉回避位置（計算目標位置）を新たな計算開始位置とする。このＳ２００の処理の後、処理はＳ１１０へ戻される。
以降、第１の作業に続く第２の作業の始点である移動目標位置に到達するまで、Ｓ１２０〜Ｓ２００を繰返し、ロボット１の動作経路の生成を行う。
【００２２】
以上のフローチャートを備える本実施形態に係るロボットシステムの制御装置の動作について、以下、詳細に説明する。
まず、第１の作業の終点である移動開始位置が計算開始位置に設定されて（Ｓ１００）、計算開始位置・姿勢と移動目標位置・姿勢との間を補間した時に、特異姿勢を通るか否かが判断される（Ｓ１２０）。
本実施形態においては、図２（ｃ）のようにロボット手首が特異姿勢をとるとし、計算開始位置と移動目標位置との間で、第５軸２０４の軸値の符号が異なるように移動経路が作成される場合を考える（Ｓ１２０にてＹＥＳ）。この特異姿勢状態において、解を退化させる（特異姿勢たらしめている関節軸）ロボットの関節軸、すなわち第５軸２０４が選定される（Ｓ１３０）。
【００２３】
なお、肩特異姿勢である場合には、第２軸２１０、第３軸２０８が特異姿勢たらしめている関節軸として選定され、ひじ特異姿勢である場合には第３軸２０８が特異姿勢たらしめている関節軸として選定される。
選択されたロボット１の関節軸（第５軸２０４）について、あえてこの特異姿勢を通るように軸値（θ５）を補間した計算目標位置・姿勢を生成する。その後、この位置を次の計算における計算開始位置とする（Ｓ１４０）。
次に、計算開始位置・姿勢が特異姿勢近傍か否かが判定される（Ｓ１６０）が、本実施形態においては計算開始位置・姿勢の各軸値のうち、θ５の絶対値が５．０度以下となる場合を「手首の特異姿勢」とし特異姿勢近傍であると判定する。
【００２４】
特異姿勢近傍の場合、特異姿勢において解を退化させるロボットの関節軸（第５軸２０４）が選択される（Ｓ１７０）。
選択された第５軸２０４に対しては、固定値または特異姿勢の境界を越えない軸値を与えるようにする。本実施形態の場合、例えば、第５軸２０４の軸値θ５を５°→２°→０°（特異姿勢）→  −２°→−５°のように、外部から固定値として変化させながら与えてゆくようにする。それを基に、他の物体と干渉しないよう干渉回避位置・姿勢を求めてゆく。
【００２５】
なお、θ５に指定値を付与するに際し、干渉回避位置や特異姿勢で不定値になる関節軸や軸値が大きく変わるような関節軸が存在する場合、そのままでは、関節軸が大きく回転することでロボット１のマニピュレータ等に取り付けられたケーブル等が捻じれて破損したり、関節軸の駆動モータに大きな負担がかかってしまうなどの不都合が生じる。
本実施形態の場合、第４軸２０６の軸値と第６軸２０２とが不定値を取る関節軸に該当する。そこで、図４に示すように、計算開始位置・姿勢と求める位置・姿勢の第４軸２０６の軸値θ４は同じ値とし、どの姿勢でも第４軸２０６の軸値θ４と第６軸２０２の軸値θ６との和が常に一定として、順次各軸の軸値を決定するようにして、干渉回避位置・姿勢を演算する。言い換えるならば、第５軸２０４の軸値の符号が反転しない（＋→＋，−→−）場合は、図４（ａ）に基づき第６軸２０２の軸値を算出し、第５軸２０４の軸値の符号が反転する（＋→−，−→＋）場合は、図４（ｂ）に基づき第６軸２０２の軸値を算出する。
【００２６】
このようにすることにより、計算開始位置・姿勢が特異姿勢近傍で、この位置・姿勢から干渉回避位置・姿勢を求めた時に、θ４が大きく変化することがあってもその値を一致させるので変化は無くなり、また求められる干渉回避位置・姿勢のθ６も計算開始位置・姿勢と比べて大きく変化することを防ぎながら、干渉回避位置・姿勢を求めることができるようになる。
以上述べた方法で干渉回避位置・姿勢を求めると、実際に必要な干渉回避位置・姿勢と異なる位置・姿勢が得られるが、元々求めた干渉回避位置・姿勢と大幅に変わらない位置・姿勢が得られることを本発明者らは知見しており、干渉回避を行なうには十分な位置・姿勢を得ることが可能である。
【００２７】
図５には、本願発明の動作経路生成方法を適用した例が示されている。図中の位置ＸＹＺはロボット座標系で、姿勢角はロール・ピッチ・ヨー角で表している。
この図においては、計算開始位置・姿勢が手首特異点近傍であり、従来からの手法に基づいて干渉回避を行うと（干渉回避位置・姿勢１、干渉回避位置・姿勢２）、短い距離の移動でθ４及びθ６が大きく変化してしまうことが確認できる。
これに対して、本願発明の手法を適用した場合、計算開始位置・姿勢のθ５の符号から干渉回避位置・姿勢のθ５を選択して、干渉回避位置・姿勢のθ４とθ６の和から計算開始位置・姿勢を引いた値をθ６としている。このように演算された干渉回避位置・姿勢の姿勢値と、干渉回避位置・姿勢の姿勢値とは大幅に変わらないことが確認できる。
【００２８】
以上のようにして、初期位置と目標位置との間で関節軸が大きく回転することを防ぎながら、順次干渉回避位置・姿勢を求めるので、実用的な動作経路を生成することができる。
手首特異姿勢（第５軸２０４による特異姿勢）だけでなく、肩特異姿勢、ひじ特異姿勢近傍の姿勢をとった時に、特異姿勢の境界を越す関節軸の軸値及び特異姿勢で不定値になる関節軸の軸値を適切に設定することで実用的な経路が生成できる。
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００２９】
１  ロボット
２１２  第１軸
２１０  第２軸
２０８  第３軸
２０６  第４軸
２０４  第５軸
２０２  第６軸
２１１  第１リンク
２０９  第２リンク
２０７  第３リンク
２０５  第４リンク
２０３  第５リンク
２０１  第６リンク
【図１】
2010201592.tif 000003
【図２】
2010201592.tif 000004
【図３】
2010201592.tif 000005
【図４】
2010201592.tif 000006
【図５】
2010201592.tif 000007
【図６】
2010201592.tif 000008