(57)【要約】【課題】  バックトラックを生じることなく短時間かつ小さな計算負荷で経路を求めることのできるロボットの経路作成方法を提供する。【解決手段】  第ｎアームの姿勢のうち、作業空間内に存在する障害物と干渉せず、かつ、第ｎ＋１アームが障害物と干渉しない姿勢を少なくとも一つ有する姿勢を、前記第ｎアームの保持可能姿勢として、第ｎアームの保持可能姿勢集合テーブルに基づき、隣接する格子点の間で一の姿勢から他の姿勢に連続的に移動できる姿勢を集めた可接続関係テーブルを第１アームから第Ｎアームまでの各々について作成し、最終目標点と各アーム目標点とから、前記ロボットが最終目標点に到達可能か否かを判断し、到達可能と判断したときに、前記可接続関係テーブルに基づき、前記第１アーム〜第Ｎアームの各々を初期姿勢から順次前記最終目標点及び各前記各アーム目標点に向けてスタートさせて前記移動経路を作成する。【選択図】  図１
2006227840.tif 000002
【特許請求の範囲】
【請求項１】
離間した格子点からなる作業空間内で稼働するロボットの移動経路作成方法であって、
前記ロボットに備えられたＮ（Ｎ≧１）個のアームの、第ｎ（Ｎ≧ｎ≧１）アームについて、前記第ｎアームの移動の支点となる一端側である基準点の位置と前記第ｎアームの他端側である副基準点の位置とで示される前記第ｎアームの姿勢のうち、第Ｎアームの保持可能姿勢を、第Ｎアームが前記作業空間内に存在する障害物と干渉しない姿勢とし、第ｎアーム（１≦ｎ≦Ｎ−１）の保持可能姿勢を、前記第ｎアームが前記作業空間内に存在する障害物と干渉しないで、かつ前記第ｎアームの前記副基準点を支点とする第ｎ＋１アームが少なくとも一つの保持可能姿勢を有する姿勢として、所定の格子点を基準点とするアームごとの前記保持可能姿勢の集合を第１〜第Ｎの各々について作成して、保持可能姿勢集合テーブルを得るステップと、
Ｎに関しては、障害物と干渉しない位置であって互いに隣接する格子点をＮ可接続関係にあるとし、ｎ（１≦ｎ≦Ｎ−１）に関しては、隣接する格子点のｎ−１可接続関係を、それら格子点に基準点を持つ第ｎアームの前記保持可能姿勢集合を利用して定義することによって、１〜Ｎの全てについての可接続関係の集合である可接続関係テーブルを作成するステップと、
前記保持可能姿勢集合テーブル及び前記可接続関係テーブルを用いて、所定の初期姿勢にある前記第１アーム〜第Ｎアームの各基準点及び副基準点が可接続関係にある格子点を経て各アームの目標点まで移動する経路を割り出すステップと、
を有することを特徴とするロボットの経路作成方法。
【請求項２】
請求項１に記載のロボットの経路作成方法において、前記ｎ可接続関係テーブルを照会して、所定の初期位置から互いにｎ可接続な作業空間内の格子点を経由して接続可能な点の集合であるｎ可到達集合を、１〜Ｎの各々について求め、求めた各々の集合に対応する番号のアームの前記目標点が含まれるか否かを判断し、含まれると判断した場合に、前記ロボットが目標点に到達可能と判断して、前記第１アーム〜第Ｎアームの各々を初期姿勢から目標姿勢に向けて移動経路を作成することを特徴とするロボットの経路作成方法。
【請求項３】
ｎ（１≦ｎ≦Ｎ−１）に関し、隣接する２つの格子点における第ｎアームの前記保持可能姿勢集合の中に、第ｎアームの副基準点位置として、共通の格子点もしくは互いにｎ可接続の関係にある格子点が存在する時、前記隣接する２つの格子点の関係をｎ−１可接続とすることを特徴とする請求項１又は２に記載のロボットの経路作成方法。
【請求項４】
一の格子点に基準点を持つ第ｎアーム（１≦ｎ≦Ｎ）の保持可能姿勢集合が、前記障害物によってｎ可接続関係にある複数の成分に分断される場合に、前記格子点と同一の座標上に、複写格子点を設定することを特徴とする請求項１〜３のいずれかに記載のロボットの経路作成方法。
【請求項５】
一の格子点に基準点を持つ第ｎアームの副基準点位置の集合を求め、前記第ｎアームが前記障害物に干渉する姿勢における前記副基準点の位置を前記集合から除外し、ｎ可接続関係にある前記副基準点の位置の集合が二つ以上の成分に分断されるときに、前記第ｎアームの保持可能姿勢集合が前記障害物によって分断されると判断して前記格子点と同じ位置に複写格子点を設定することを特徴とする請求項４に記載のロボットの経路作成方法。
【請求項６】
一の姿勢の第ｎアームが、その副基準点ないしは基準点を複数の他の位置に移動できる場合に、各格子点から第ｎアームの副基準点ないしは基準点の目標点までの距離を演算し、演算された距離に基づいて、次に移動すべき位置を決定することを特徴とする請求項１〜５のいずれかに記載のロボットの経路作成方法。
【請求項７】
前記作業空間内に存在する障害物が、一の姿勢から他の姿勢に移動する際の第ｎアームの基準点及び／又は副基準点の移動と関連して移動する場合に、前記第ｎアームの前記保持可能姿勢集合テーブル及び前記ｎ−１可接続関係テーブルに前記障害物の移動を加味することを特徴とする請求項１〜６のいずれかに記載のロボットの経路作成方法。
【請求項８】
第ｎアームの基準点及び／又は副基準点の移動と関連して移動する前記障害物が、前記第ｎアームに基準点で連接する第ｎ−１アームである場合に、第ｎ−１アームの姿勢に対する前記第ｎアームの許容回動角と他の障害物の位置とから、前記第ｎアームの保持可能姿勢集合テーブル及び前記可接続関係テーブルを作成することを特徴とする請求項７に記載のロボットの経路作成方法。
【請求項９】
離間した格子点からなる作業空間内で稼働するロボットの移動経路作成装置であって、
前記ロボットに備えられたＮ（Ｎ≧１）個のアームのそれぞれについて、アームの移動の支点となる一端側の基準点の位置情報と他端側の副基準点の位置情報とから、前記アームの各々の姿勢を求める姿勢演算部と、
この姿勢演算部で求めた姿勢が、前記作業空間内の障害物と干渉するかどうかを判断する障害物干渉判断部と、
前記ロボットに備えられたＮ（Ｎ≧１）個のアームの、第ｎ（Ｎ≧ｎ≧１）アームについて、前記第ｎアームの移動の支点となる一端側である基準点の位置と前記第ｎアームの他端側である副基準点の位置とで示される前記第ｎアームの姿勢のうち、
第Ｎアームの保持可能姿勢を、第Ｎアームが前記作業空間内に存在する障害物と干渉しない姿勢とし、第ｎアーム（１≦ｎ≦Ｎ−１）の保持可能姿勢を、前記第ｎアームが前記作業空間内に存在する障害物と干渉しないで、かつ前記第ｎアームの前記副基準点を支点とする第ｎ＋１アームが少なくとも一つの保持可能姿勢を有する姿勢として、所定の格子点を基準点とするアームごとの前記保持可能姿勢の集合を第１〜第Ｎの各々について作成して、保持可能姿勢集合テーブルを得る保持可能姿勢集合テーブル作成部と、
Ｎに関しては、障害物と干渉しない位置であって互いに隣接する格子点をＮ可接続関係にあるとし、ｎ（１≦ｎ≦Ｎ−１）に関しては、隣接する格子点のｎ−１可接続関係を、それら格子点に基準点を持つ第ｎアームの前記保持可能姿勢集合を利用して定義することによって、１〜Ｎの全てについての可接続関係の集合である可接続関係テーブルを作成する可接続関係テーブル作成部と、
前記保持可能姿勢集合テーブル及び前記可接続関係テーブルを用いて、所定の初期姿勢にある前記第１アーム〜第Ｎアームの各基準点及び副基準点が可接続関係にある格子点を経て各アームの目標点まで移動する経路を作成する経路作成部と、
を有することを特徴とするロボットの経路作成装置。
【請求項１０】
請求項９に記載のロボットの経路作成装置において、前記可接続関係テーブルを照会して、所定の初期位置から互いにｎ可接続な作業空間内の格子点を経由して接続可能な点の集合であるｎ可到達集合を、１〜Ｎの各々について求め、求めた各々の集合に対応する番号のアームの前記目標点が含まれるか否かから目標点に到達可能か否かを判断する判断部を有し、前記判断部によって到達可能と判断された場合に前記経路作成部による経路作成を行うことを特徴とするロボットの経路作成装置。
【請求項１１】
一の格子点を支点とする第ｎアームの保持可能姿勢集合が、障害物によってｎ可接続関係にある複数の部分に分断されるか否かを判断し、分断されると判断した場合に、前記格子点と同一の座標上に、分断される数に応じた数の複写格子点を設定し、前記保持可能姿勢集合の個々のｎ可接続の意味で連結な領域に前記格子点及び前記複写格子点を割り当てる複写格子点作成部をさらに有することを特徴とする請求項１０に記載のロボットの経路作成装置。
【請求項１２】
前記経路作成部は、前記可接続関係テーブルに基づいて第ｎアームを一の姿勢から他の姿勢に移動させる際、移動可能な前記他の姿勢が複数存在する場合に、各格子点から前記第ｎアームの目標点までの距離から前記他の姿勢を決定することを特徴とする請求項９〜１１のいずれかに記載のロボットの経路作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元又は三次元の作業空間内で所定の作業を行うロボットの経路作成方法及び装置に関する。
【背景技術】
【０００２】
マニピュレータ等のロボットは製造現場等の自動化には欠かせないものであるが、マニピュレータの移動経路設定に当たっては、マニピュレータを構成するアームの各々が、移動の過程で障害物と干渉しないようにしなければならない。
従来は、マニピュレータによる作業開始前に、オペレータが手作業で移動経路の設定を行っていたが、多品種・少量生産の環境では障害物の配置などが頻繁に変化するようになり、自動的に移動経路を求める技術の要求が高まっている。
そのため、従来より、マニピュレータの移動経路を自動的に求める技術の提案が種々なされている（例えば、特許文献１〜３参照）。
【特許文献１】特開平１０−７６４８９号公報（明細書の段落［００１２］〜［００１４］参照）
【特許文献２】特開平６−３４８３３０号公報
【特許文献３】特開２０００−２０１１７公報
【０００３】
上記特許文献１に開示された技術は、ロボットアーム教示方法及び装置で、ロボットアームが移動する経路をオペレータがロボットアームに教示するものである。従って、この技術においては、マニピュレータの移動経路を自動的に求めるといっても、その前提としてオペレータによる手動作業が不可欠である。
上記特許文献２に開示された技術は、プレイバック型の作業用ロボットに関するもので、特許文献１の場合と同様に、ロボットアームが移動する経路を予めオペレータがロボットアームに教示するものである。
【０００４】
ここで、「プレイバック型」とは、作業を行なう前にオペレータがあらかじめロボットを操作して作業を教えておき、作業時にデータを再生実行する形式のものをいい、システムが簡単になるという長所はあるものの、データを作成した環境と同じ環境でないと作業の再生ができなかったり、センサ情報をつかった作業のデータ作成ができないというような短所がある。従って、この文献に記載の技術においても、その前提としてオペレータによる手動作業が不可欠である。
【０００５】
マニピュレータの移動経路を自動的に求めようとすると、例えば特許文献３の
明細書の段落［０００４］にも記載されているように、処理しなければならない格子点情報が大量になり、高速で移動経路を自動決定することが困難であるという問題がある。特許文献３に記載の技術では、このような問題を解決しようとするものであるが、経路作成の過程でバックトラックが生じ、そのたびに計算をやり直す必要から、経路作成の時間短縮に限界があるという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記した課題を解決するためになされたもので、二次元又は三次元の作業空間内で所定の作業を行うロボットの経路作成、特に、二以上のアームを有するマニピュレータの経路作成にあたり、データ量が少量で計算負荷が小さく、かつ、経路作成の過程でバックトラックを生じることがなく、短時間で経路を作成することのできるロボットの経路作成方法及びその装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の発明者は、多関節アームロボット等のロボットにおいては、Ｎ個のアームのうち任意の第ｎアームについて、当該アームがどこに移動できるかは、第ｎ＋１アームが障害物等に干渉することなく移動できるか否かに依存することに着目した。
そこで、本願発明の発明者は、「保持可能姿勢、ｎ可接続関係、ｎ−１可接続関係なる三つの概念を用いることで本発明の目的を達成できることに想到した。
また、ロボットが作業を行う作業空間内の各格子点で、ロボットの各アームの保持可能姿勢集合が障害物等によって複数の連結成分に分断されない場合には、個々のアームの移動経路を順次別々に計算してもバックトラックが生じないことに着眼し、アームの保持可能姿勢集合が障害物等によって複数の連結成分に分断される場合にも、分断される各領域ごとに別の格子点（複写格子点）を設けることで、バックトラックの無い経路計算を実現した。
【０００８】
具体的に、請求項１に記載の発明は、離間した格子点からなる作業空間内で稼働するロボットの移動経路作成方法であって、前記ロボットに備えられたＮ（Ｎ≧１）個のアームの、第ｎ（Ｎ≧ｎ≧１）アームについて、前記第ｎアームの移動の支点となる一端側である基準点の位置と前記第ｎアームの他端側である副基準点の位置とで示される前記第ｎアームの姿勢のうち、第Ｎアームの保持可能姿勢を、第Ｎアームが前記作業空間内に存在する障害物と干渉しない姿勢とし、第ｎアーム（１≦ｎ≦Ｎ−１）のの保持可能姿勢を、前記第ｎアームが前記作業空間内に存在する障害物と干渉しないで、かつ、前記第ｎアームの前記副基準点を支点とする第ｎ＋１アームが少なくとも一つの保持可能姿勢を有する姿勢として、所定の格子点を基準点とするアームごとの前記保持可能姿勢の集合を第１〜第Ｎの各々について作成して、保持可能姿勢集合テーブルを得るステップと、Ｎに関しては、障害物と干渉しない位置であって互いに隣接する格子点をＮ可接続関係にあるとし、ｎ（１≦ｎ≦Ｎ−１）に関しては、隣接する格子点のｎ−１可接続関係を、それら格子点に基準点を持つ第ｎアームの前記保持可能姿勢集合を利用して定義することによって、１〜Ｎの全てについての可接続関係の集合である可接続関係テーブルを作成するステップと、前記保持可能姿勢集合テーブル及び前記可接続関係テーブルを用いて、所定の初期姿勢にある前記第１アーム〜第Ｎアームの各基準点及び副基準点が可接続関係にある格子点を経て各アームの目標点まで移動する経路を割り出すステップとを有する方法である。
各アームの副基準点を目標点に位置させることができるかどうかは、請求項２に記載するように、前記ｎ可接続関係テーブルを照会して、所定の初期位置から互いにｎ可接続な作業空間内の格子点を経由して接続可能な点の集合であるｎ可到達集合を、１〜Ｎの各々について求め、求めた各々の集合に対応する番号のアームの前記目標点が含まれるか否かから判断することができる。そして、含まれると判断した場合に、前記ロボットが目標点に到達可能と判断して、前記第１アーム〜第Ｎアームの各々を初期姿勢から目標姿勢に向けて移動経路を作成する。
【０００９】
この方法によれば、Ｎ個あるアームのうちの任意の第ｎ番目のアーム（第ｎアーム）の姿勢は、一端の基準点の位置と他端の副基準点の位置とによって表すことができる。第ｎアームの姿勢が保持可能であるには、ｎがＮより小さい場合は第ｎアームが障害物と干渉しないだけでは足りず、第ｎアームに連接する第ｎ＋１アームが保持可能な姿勢を少なくとも一つ有する必要がある。そこで、ｎ＝Ｎの第Ｎアームからｎ＝１の第１アームまで、上記の要件を満たす姿勢集合のテーブル（保持可能姿勢集合テーブル）を作成する。このテーブルは、Ｎ個のアームを備えるロボットが作業空間内で取り得る姿勢の集合ということができる。
【００１０】
請求項３に記載の発明は、ｎ（１≦ｎ≦Ｎ）に関し、隣接する２つの格子点における第ｎアームの前記保持可能姿勢集合の中に、第ｎアームの副基準点位置として、共通の格子点もしくは互いにｎ可接続の関係にある格子点が存在する時、前記隣接する２つの格子点の関係をｎ−１可接続とすることによって、請求項１に記載のｎ可接続性を判定し、ｎ可接続にある格子点をつないで、前記経路を作成する方法としてある。
ここで、「ｎ可接続関係」，「ｎ−１可接続関係」とは、第ｎアームの基準点や副基準点が隣接する格子点間で移動可能か否かを示すものである。例えば、ｎ−１可接続関係にある格子点に基準点を移動させたとき、ｎ可接続関係にある格子点を辿ることで、第ｎアームの副基準点を移動させることができる。つまり、ｎ可接続関係及びｎ−１可接続関係とは、第ｎアームが連続して移動できる関係を示すものであると言える。
【００１１】
なお、前記したｎ−１可接続関係では、隣接する格子点（例えば格子点Ｐ，Ｑ）は、それぞれに基準点を持つ第ｎアームの隣り合う保持可能姿勢の組が一つでも存在すればｎ−１可接続になり、ＰとＱにおける第ｎアームの２つの保持可能姿勢集合テーブルの中に、第ｎアームの副基準点位置として、同一もしくは互いにｎ可接続な格子点が含まれる場合にＰとＱがｎ−１可接続であると判定することによって構成できる。
そして、ロボットの目標点は、第１〜Ｎまでのアームの副基準点が到達すべき目標点の組として設定され、経路は、第１〜Ｎの順にｎ可接続関係テーブルにおける互いにｎ可接続な格子点を初期位置から目標点に向けて順次移動させることによって作成される。
【００１２】
任意の第ｎアームの保持可能姿勢集合は、基準点の位置によっては、作業空間内に配置された障害物によって、複数のｎ可接続の意味での連結成分に分断されることがある。保持可能姿勢集合が一の領域と他の領域に分断される場合、互いに隣接する点Ｐ、ＱおよびＱ、Ｒがともにｎ−１可接続であっても、第ｎアームはその基準点をＰ、Ｑ、Ｒに移動可能であるとは限らない。つまりＰからＱ、ＱからＲには移動可能であるが、ＰからＱに移動させる際の第ｎアーム副基準点の位置が一の領域にあり、ＱからＲに移動させる際の第ｎアーム副基準点の位置が他の領域にある場合には、第ｎアームの副基準点を一の領域から他の領域に移動させることはできない。そこで、本発明では、請求項４に記載するように、複写格子点なる概念を導入し、前記一の領域と他の領域がそれぞれ第ｎアームの異なる点における保持可能姿勢集合であるようにして、保持可能姿勢集合が分断されることを防止する。前記格子点と複写格子点とは同一の位置座標上にあり、それぞれの点に基準点を持つ第ｎアームは、その副基準点位置を、対応する保持可能姿勢集合に含まれる任意の位置に移動させることができる。
なお、第ｎアームの保持可能姿勢集合が例えば三つに分断される場合は、格子点の他に二つの複写格子点が前記格子点と同一の位置座標上に作成され、前記三つの領域がそれぞれに対応して、格子点と二つの複写格子点に振り分けられることになる。
【００１３】
第ｎアームの保持可能姿勢集合が複数に分断されるか否かは、例えば、請求項５に記載するように、一の格子点を支点とする第ｎアームの副基準点の位置の集合を求め、前記第ｎアームが前記障害物に干渉する姿勢における前記副基準点の位置を前記集合から除外し、前記副基準点の位置の集合が連続した二つ以上の集合に分断されるときに、前記第ｎアームの保持可能姿勢集合が、前記障害物によって複数に分断されると判断することができる。
【００１４】
第ｎアーム基準点の格子点からその複写格子点への移動は、まず前記格子点から、ｎ−１可接続な点をつないだ点と複写格子点からｎ−１可接続な点をつないだ点が同一になる(複写)格子点まで第ｎアーム基準点をいったん移動させ、その後に、前記基準点を複写格子点の位置まで戻せばよい。これにより第ｎアームの副基準点の、他の複写格子点に対応する保持可能姿勢集合内の点への移動が可能になる。
【００１５】
前記ｎ可接続関係テーブルに基づき、第ｎアームの副基準点を一の位置から目的位置に移動させる場合において、次に移動させることのできる他の位置が複数存在する場合がある。この場合、どの位置に移動させるかは、予め一定の条件を与えておくことで一義的に決定することができる。例えば、請求項６に記載するように、一の位置の第ｎアーム副基準点が複数の他の位置に移動可能である場合に、各点から目標点までの距離を演算し、演算された距離に基づいて、次に移動すべき他の姿勢を決定するようにしてもよい。
【００１６】
障害物の中には、ロボットのアームの移動に関連して移動するものがある。このような障害物については、請求項７に記載するように、前記保持可能姿勢集合テーブル，前記ｎ可接続関係テーブルに前記障害物の移動を加味する。
また、第ｎアームの移動可能範囲が、第ｎ−１アームによって制限される場合がある。例えば、第ｎアームと第ｎ−１アームとが、一定の領域で干渉する場合である。また、基準点に設けた関節部分のモータや回転シリンダの種類により、アームの回転角度が３６０度未満の範囲内で制限されている場合もある。このような場合は、請求項８に記載するように、第ｎ−１アームの姿勢に対する前記第ｎアームの許容回動角と他の障害物の位置とから、前記第ｎアームの保持可能姿勢集合テーブル及び可接続関係テーブルを作成する。
【００１７】
上記の方法は、請求項９〜１２に記載の経路作成装置によって実現することができる。
請求項９に記載の装置は、離間した格子点からなる作業空間内で稼働するロボットの移動経路作成装置であって、前記ロボットに備えられたＮ（Ｎ≧１）個のアームのそれぞれについて、アームの移動の支点となる一端側の基準点の位置情報と他端側の副基準点の位置情報とから、前記アームの各々の姿勢を求める姿勢演算部と、この姿勢演算部で求めた姿勢が、前記作業空間内の障害物と干渉するかどうかを判断する障害物干渉判断部と、前記ロボットに備えられたＮ（Ｎ≧１）個のアームの、第ｎ（Ｎ≧ｎ≧１）アームについて、前記第ｎアームの移動の支点となる一端側である基準点の位置と前記第ｎアームの他端側である副基準点の位置とで示される前記第ｎアームの姿勢のうち、第Ｎアームの保持可能姿勢を、第Ｎアームが前記作業空間内に存在する障害物と干渉しない姿勢とし、第ｎアーム（１≦ｎ≦Ｎ−１）の保持可能姿勢を、前記第ｎアームが前記作業空間内に存在する障害物と干渉しないで、かつ前記第ｎアームの前記副基準点を支点とする第ｎ＋１アームが少なくとも一つの保持可能姿勢を有する姿勢として、所定の格子点を基準点とするアームごとの前記保持可能姿勢の集合を第１〜第Ｎの各々について作成して、保持可能姿勢集合テーブルを得る保持可能姿勢集合テーブル作成部と、Ｎに関しては、障害物と干渉しない位置であって互いに隣接する格子点をＮ可接続関係にあるとし、ｎ（１≦ｎ≦Ｎ−１）に関しては、隣接する格子点のｎ−１可接続関係を、それら格子点に基準点を持つ第ｎアームの前記保持可能姿勢集合を利用して定義することによって、１〜Ｎの全てについての可接続関係の集合である可接続関係テーブルを作成する可接続関係テーブル作成部と、前記保持可能姿勢集合テーブル及び前記可接続関係テーブルを用いて、所定の初期姿勢にある前記第１アーム〜第Ｎアームの各基準点及び副基準点が可接続関係にある格子点を経て各アームの目標点まで移動する経路を作成する経路作成部とを有する構成としてある。
【００１８】
この構成によれば、姿勢演算部が、基準点の位置と副基準点の位置とから任意の第ｎアームの姿勢を求める。そして、所定の姿勢の第ｎアームが障害物に干渉するか否かは、障害物干渉判断部が判断する。この判断は、第１〜第Ｎの全てについて行う。そして、この判断結果に基づき、保持可能姿勢集合テーブル作成部が、ｎ＝Ｎから１の順に第ｎアームが障害物と干渉せず、かつｎがＮより小さい場合には、これに連接する第ｎ＋１アームが保持可能姿勢を少なくとも一つ有する第ｎアームの保持可能姿勢集合テーブルを作成する。また、可接続関係テーブル作成部が、ｎ＝Ｎに対しては、障害物に干渉しない隣接する格子点を互いにＮ可接続とし、また他のｎに対しては、隣接する２つの格子点ＰとＱにおける第ｎアームの保持可能姿勢集合テーブルが同じ格子点あるいはｎ可接続な隣接する格子点を含む場合にＰとＱをｎ−１可接続にすることによって、ｎ可接続関係テーブルを作成する。
【００１９】
各アーム基準点あるいは副基準点の目標点は、それぞれが指定されると、到達すべき位置（アーム目標点）として設定される。請求項１０に記載するように、前記可接続関係テーブルを照会して、所定の初期位置から互いにｎ可接続な作業空間内の格子点を経由して接続可能な点の集合であるｎ可到達集合を、１〜Ｎの各々について求め、求めた各々の集合に対応する番号のアームの前記目標点が含まれるか否かから目標点に到達可能か否かを判断する判断部を有するように構成してもよい。そして、この判断部によって到達可能と判断されたときに、移動経路作成部が、例えば第１アーム〜第Ｎアームを、前記可接続関係テーブルに基づき、第１アームから順に、基準点及び／又は副基準点を隣接する格子点に一つずつ移動させることで、経路を作成する。
【００２０】
また、請求項１１に記載の装置は、一の格子点を支点とする第ｎアームの保持可能姿勢集合が、障害物によってｎ可接続関係にある複数の部分に分断されるか否かを判断し、分断されると判断した場合に、前記格子点と同一の座標上に、分断される数に応じた数の複写格子点を設定し、前記保持可能姿勢集合の個々のｎ可接続の意味で連結な領域に前記格子点及び前記複写格子点を割り当てる複写格子点作成部をさらに有する構成としてある。
この構成によれば、第ｎアームの保持可能姿勢集合テーブルに基づき、複写格子点作成部が、第ｎアームの保持可能姿勢集合が前記障害物によって複数に分断されると判断して、分断される領域の数に応じて複写格子点を作成し、個々の前記保持可能姿勢集合の領域に前記格子点及び前記複写格子点を割り当てる。
【００２１】
なお、前記可接続関係テーブルに基づいて第ｎアームを一の姿勢から他の姿勢に移動させる際、移動可能な前記他の姿勢が複数存在する場合がある。この場合は、請求項１２に記載するように、各格子点と前記各アーム目標点との距離から前記他の姿勢を決定するようにするとよい。
【発明の効果】
【００２２】
本発明によれば、二次元又は三次元の作業空間内で所定の作業を行うロボットの経路作成にあたり、比較的少量の計算で経路を作成することができるから、経路作成作業を短時間で終了することができる。すなわち、従来、自動的に移動経路を求める方法において、アームの数がN個で、マニピュレータの作業領域がM個の格子点に離散化されている場合、MNに比例する量の計算や記憶容量が必要であったが、本発明では、作業空間内に存在するＭ個の格子点に上記した保持可能姿勢や可接続の条件を担持させて移動経路を作成することが可能であるため、最大でもＮＭ２オーダーの計算量とＮＭオーダーの記憶量で経路作成が可能であり、計算負荷を減少させて経路作成時間を大幅に短縮することが可能になる。また、予め作成されたアームの連続移動が可能な格子点情報に基づいて経路作成を行うので、経路作成の過程でバックトラックが生じることもない。
本発明は、単一アームのロボットにも適用が可能であるが、二以上のアームを有するマニピュレータの経路作成に特に有効である。また、第１アームの支点が固定された支点固定型のロボットに限らず、前記支点が移動可能な支点移動型のロボットにも適用が可能である。
さらに本発明では、第ｎアームの移動の支点となる一端側を基準点、前記第ｎアームの他端側を副基準点としているが、この基準点と副基準点を入れ替えても同じ結果が得られる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好適な実施形態を、図面を参照しながら詳細に説明する。
なお、以下の説明では、ロボットが実際に作業する空間を格子状の座標系で表した作業空間を想定し、この作業空間内で動作する複数のアーム（アーム番号を１，２，・・・ｎ−１，ｎ，ｎ＋１・・・Ｎとする）を有するマニピュレータを想定する。
まず、本明細書における用語の定義について説明する。
【００２４】
（１）  アームの基準点と副基準点
任意の第ｎアームの両端のうち、支点(第ｎアームを動作させても移動しない点)側を第ｎアームの「基準点」と称し、その座標位置を「Ｓ」を冠した符号で表すものとする。また、他端側を第ｎアームの「副基準点」と称し、その座標位置を「Ｅ」を冠した符号で表すものとする。なお、第ｎアームの「基準点」は第ｎ−１アームの副基準点であり、第ｎアームの「副基準点」は、第ｎ＋１アームの基準点である。
【００２５】
（２）  アームの位置と姿勢
任意の第ｎアームの位置をその基準点の位置(座標位置)で、また、第ｎアームの姿勢をその基準点と副基準点の位置の組で表す。
例えば、第ｎアームの基準点が任意の位置Ｓｎｋ（添字のｎはアーム番号、ｋは格子点の番号を示すものとする）にあり、この位置Ｓｎｋを支点とする第ｎアームの副基準点が位置Ｅ（ｎｋ）ｒ（括弧付き添字番号（ｎｋ）は対となる基準点位置（Ｓｎｋ）を指定し、括弧外のｒは副基準位置の番号を示すものとする）にあるとき、第ｎアームの位置は基準点の位置Ｓｎｋで表し、その姿勢は、基準点位置Ｓｎｋと副基準点位置Ｅ（ｎｋ）ｒとの組（Ｓｎｋ，Ｅ（ｎｋ）ｒ）で表すものとする。
なお、位置Ｓｎｋ，Ｅ（ｎｋ）ｒは、それぞれ、二次元又は三次元の座標成分を含んでいて、例えば、二次元の作業空間でＳｎｋは（Ｘ（Ｓｎｋ），Ｙ（Ｓｎｋ）），Ｅ（ｎｋ）ｒ＝（Ｘ（Ｅ（ｎｋ）ｒ），Ｙ（Ｅ（ｎｋ）ｒ））のように表すことができる。
【００２６】
（３）  アームの保持可能姿勢
マニピュレータの先端に位置する第Ｎアームの姿勢は、基準点が任意の位置Ｓｎｋにあり、副基準点が位置Ｅ（ｎｋ）ｒにあるとき、上記の定義に従えば、（Ｓｎｋ，Ｅ（ｎｋ）ｒ）で表すことができる。そして、この姿勢（Ｓｎｋ，Ｅ（ｎｋ）ｒ）が障害物と干渉しない場合、当該姿勢（Ｓｎｋ，Ｅ（ｎｋ）ｒ）は第Ｎアームの先端のロボットハンド等で目標点にある対象物を保持することが可能なものであり、「第Ｎアームの保持可能姿勢」と称する。
また、第ｎアーム（１≦ｎ≦Ｎ−１）については、ある姿勢（Ｓｎｋ，Ｅ（ｎｋ）ｒ）が障害物と干渉しないで、かつ、第ｎアームに副基準点で連接する第ｎ＋１アームが前記のような保持可能姿勢を少なくとも一つ持つとき、第ｎアームの姿勢（Ｓｎｋ，Ｅ（ｎｋ）ｒ）は「保持可能姿勢」であると言う。
【００２７】
（４）  保持可能姿勢集合
位置Ｓｎｋに基準点を持つ第ｎアームの「保持可能姿勢」における副基準点の位置Ｅ（ｎｋ）ｒの集合を、位置Ｓｎｋにおける第ｎアームの「保持可能姿勢集合」と称し、Ａ（Ｓｎｋ,ｎ)で表す。また、第１アームから第Ｎアームについて全ての「保持可能姿勢集合｛Ａ（Ｓ１ｋ,１)，Ａ（Ｓ２ｋ,２)，・・・Ａ（ＳＮｋ,Ｎ)」をこのマニピュレータの「保持可能姿勢集合」とし、Ａで表す。
【００２８】
（５）  第ｎアームの連続姿勢
保持可能姿勢である第ｎアームの２つの姿勢を(Ｓｎｋ,Ｅ（ｎｋ）ｒ)，(Ｓｎｋ＋１,Ｅ（ｎｋ＋１）ｒ＋１)で表した場合において、基準点の位置(Ｓｎｋ, Ｓｎｋ＋１)および副基準点の位置(Ｅ（ｎｋ）ｒ,
Ｅ（ｎｋ＋１）ｒ＋１)がともに一致するか格子点上の隣接する位置である場合、これら二つの姿勢(Ｓｎｋ,Ｅ（ｎｋ）ｒ)，(Ｓｎｋ＋１,Ｅ（ｎｋ＋１）ｒ＋１)は「互いに連続である」と言う。
【００２９】
（６）  可接続関係
第Ｎアームの副基準点について、隣接する任意の二つの格子点（位置（ＥＮｋ，ＥＮｋ＋１））を想定したとき、この二つの格子点が障害物と干渉しないとき、これら格子点は「Ｎ可接続関係」にあると言う。
また、第ｎアーム（１≦ｎ≦Ｎ−１）については、基準点について、隣接する任意の二つの格子点（位置（Ｅｎｋ，Ｅｎｋ＋１））を想定したとき、この二つの格子点における第ｎアームの保持可能姿勢集合の中に、第ｎアームの副基準点位置として、共通の格子点もしくは互いにｎ可接続の関係にある格子点が存在する時、これら格子点は「ｎ−１可接続関係」にあると言う。
上記した「Ｎ可接続関係」，「ｎ可接続関係」及び「ｎ−１可接続関係」を、図２（ａ）（ｂ）に示す。
【００３０】
（７）  可到達点集合
上記したｎ−１可接続関係及びｎ可接続関係から、所定の初期姿勢の第ｎアームがどこまで移動することができるかがわかる。そこで、初期姿勢から、第ｎアーム（１≦ｎ≦Ｎ）の副基準点がｎ可接続な格子点を経由して到達可能な格子点の集合をｎ可到達点集合と称し、Ｒ（ｎ）で表すこととする。
【００３１】
次に、図１のフローチャートを参照しながら、作業空間に含まれる格子点情報作成の手順について説明する。
作業空間における障害物の位置情報や、アームの数、各アームの長さ、回転角度に関する情報は予めメモリやハードディスク等の記憶部内に格納されているものとする。
【００３２】
まず、障害物の位置情報から、第Ｎアームにおいて、Ｎ可接続関係にある格子点（位置座標）の組からなるＮ可接続関係テーブルＣ（Ｎ）を作成する（ステップＳ１）。
このＮ可接続関係テーブルＣ（Ｎ）の作成の手順及び一例を、図２（ａ）を参照しながら説明する。
【００３３】
図２（ａ）は、Ｎ可接続関係を説明する図である。
上記したように、「Ｎ可接続」とは、第Ｎアームの副基準点に関し、隣接する任意の二つの格子点を想定したとき、この二つの格子点が障害物と干渉しないことを条件とする。
【００３４】
図２（ａ）に示すように、位置Ｅ１と位置Ｅ２の格子点は互いに隣接して障害物と干渉しないので、これら格子点はＮ可接続の関係にある。同様に、位置Ｅ２と位置Ｅ３の隣接する格子点，位置Ｅ３と位置Ｅ４の隣接する格子点，位置Ｅ４と位置Ｅ５の隣接する格子点も互いにＮ可接続の関係にある。ここで第Ｎアームの基準点が位置Ｓ１の格子点にある場合には、Ｅ１とＥ２、Ｅ２とＥ３、Ｅ３とＥ４、Ｅ４とＥ５がＮ可接続であるので、第Ｎアームはその副基準点をＥ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５と移動させることができる。
【００３５】
従って、Ｎ可接続関係テーブルＣ（Ｎ）は、Ｃ（Ｎ）＝｛（Ｅ１，Ｅ２），（Ｅ２，Ｅ３），（Ｅ３，Ｅ４），（Ｅ４，Ｅ５）｝のように表すことができる。このＮ可接続関係テーブルＣ（Ｎ）によれば、第Ｎアームの基準点が位置Ｓ１にあるとき起点位置をＥ１として、副基準点はＥ２→Ｅ３→Ｅ４を経てＥ５まで移動できることがわかる。
【００３６】
次に、アーム番号を意味する変数ｎを、アームの最大数Ｎに設定する（ステップＳ２）。そして、まず、第Ｎアームについて、可到達点集合Ｒ（Ｎ）を求める（ステップＳ３）。
最初の第Ｎアームについては、上記のＮ可接続関係テーブルＣ（Ｎ）から、第Ｎアームの副基準点がＮ可接続な格子点を経由して到達可能な位置（可到達点）を求めることができる。例えば、初期位置をＥ１とすると、Ｅ１からは図２（ａ）に示すように、Ｎ可接続な格子点をＥ２→Ｅ３→Ｅ４→Ｅ５とつなぐことができ、Ｒ（Ｎ）には少なくともＥ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５が含まれる。
【００３７】
次に、第Ｎアームについて、保持可能な姿勢の集合である保持可能姿勢集合テーブルＡ（Ｎ）を作成する（ステップＳ４）。
最初の第Ｎアームについて、「保持可能姿勢」とは、障害物と干渉しないことを条件とするから、基準点が位置する各格子点の位置Ｓ１，Ｓ２，Ｓ３・・・の各々について、上記のＮ可接続関係テーブルＣ（Ｎ）から保持可能姿勢集合Ａ（Ｎ）を得ることができる。
【００３８】
任意の第ｎアームについて、保持可能姿勢集合Ａ（ｎ）の作成手順を、図３を参照しながら説明する。
図３（ａ）は保持可能姿勢集合テーブルの作成手順を説明する図、図３（ｂ）は保持可能姿勢集合テーブルの一例を示す図である。
図３（ａ）に示すように、任意の第ｎアームについて、その基準点が位置（格子点）Ｓｎ１にあるとき、その姿勢は、副基準点との対で、（Ｓｎ１，Ｅ（ｎ１）１），（Ｓｎ１，Ｅ（ｎ１）２），・・・，（Ｓｎ１，Ｅ（ｎ１）５）と表すことができる。
【００３９】
なお、位置Ｓｎ１を支点とする第ｎアームの副基準点は、図示の障害物の反対側にも存在するが、ここでは、説明の便宜のため、位置Ｅ（ｎ１）１〜Ｅ（ｎ１）５までを示し、残りのものについては図示を省略する。
ここで、第ｎアームについて、第ｎアームの姿勢が障害物と干渉しないかどうかを各々の基準点位置Ｓについて判断し、第ｎアームが障害物と干渉せず、かつ、その副基準点位置に基準点を持つ第ｎ＋１アームが保持可能姿勢を少なくとも一つ有する姿勢の集合である保持可能姿勢集合Ａ（Ｓ，ｎ）を作成する。
【００４０】
このように、第ｎアームについて基準点が位置Ｓｎ１にあるとき、第ｎアームの姿勢（Ｓｎ１，Ｅ（ｎ１）１），（Ｓｎ１，Ｅ（ｎ１）２），（Ｓｎ１，Ｅ（ｎ１）３），（Ｓｎ１，Ｅ（ｎ１）４），（Ｓｎ１，Ｅ（ｎ１）５）・・・が得られるが、このうち、姿勢（Ｓｎ１，Ｅ（ｎ１）５）は、図３（ａ）に示すように第ｎアームが障害物と干渉することから、得られた姿勢の中からこの姿勢を除外する。
【００４１】
これにより、第ｎアームについて保持可能姿勢の集合である保持可能姿勢集合テーブルＡ（ｎ）を作成することができる。例えば、基準点が位置Ｓｎ１にあるとき、保持可能姿勢集合テーブルＡ（ｎ）の一成分であるＡ（Ｓｎ１，ｎ）は、（Ｅ（ｎ１）１，Ｅ（ｎ１）２，Ｅ（ｎ１）３，Ｅ（ｎ１）４，・・・）と表すことができる（図３（ｂ）参照）。保持可能姿勢集合テーブルＡには、第１〜第Ｎアームの全てについての保持可能姿勢集合テーブルＡ（１）〜Ａ（Ｎ）が含まれる。
【００４２】
次のステップＳ５（図１参照）では、第Ｎアームについて、前記の保持可能姿勢集合テーブルＡ（Ｎ）が複数に分断されるか否かを判断する。ある位置に基準点を有する保持可能姿勢集合テーブルＡ（Ｎ）が、複数に分断されるか否かは、可接続関係テーブルＣ（Ｎ）から判断することができる。例えば、図２（ａ）に示すＣ（Ｎ）が、（Ｅ１，Ｅ２），（Ｅ２，Ｅ３）、（Ｅ４，Ｅ５）は含むが（Ｅ３，Ｅ４）を含まない場合は、保持可能姿勢集合Ａ（Ｓ１，Ｎ）は位置Ｅ３と位置Ｅ４との間で分断され、二つの成分を持つことになる。
【００４３】
この場合は、後に詳細に説明する手法により、分断される数に従って、第Ｎアームの基準点が位置する格子点（上記の例では位置Ｓ１の格子点）と同じ位置に、複写格子点を作成する（ステップＳ６）。
そして、この複写格子点を加味して、後述するように、保持可能姿勢集合テーブルＡ（Ｎ）の書き換えを行う（ステップＳ７）。
【００４４】
上記のステップＳ５〜ステップＳ７までについて、任意の第ｎアームが障害物等によって第ｎアームの保持可能姿勢集合Ａ（ｎ）が複数に分断されるかどうかの判断の詳細を、図４及び図５を参照しながら説明する。ここで図４中の障害物に占有されない隣接する格子点対は既に「ｎ＋１可接続」であることが既に求められているものとする。
【００４５】
位置Ｓｎ１を支点とする第ｎアームの副基準点の移動可能範囲は、作業空間内に障害物が存在しない場合、図４（ａ）に示すように、位置Ｓｎ１を支点としてＥ（ｎ１）１〜Ｅ（ｎ１）ｍ＋１までであるとする。
しかし、作業空間内には実際には障害物が存在するため、位置Ｓｎ１を支点とする副基準点の移動可能範囲は、図４（ｂ）（ｃ）に示すように、Ｅ（ｎ１）１〜Ｅ（ｎ１）４とＥ（ｎ１）ｋ〜Ｅ（ｎ１）ｍ＋１の二つに分断されることになる。従って、例えば保持可能姿勢集合テーブルＡ（Ｓｎ１，ｎ）は、ｎ＋１可接続の意味で、（Ｓｎ１，Ｅ（ｎ１）１）から（Ｓｎ１，Ｅ（ｎ１）ｍ＋１）まで連続したものとはならず、（Ｓｎ１，Ｅ（ｎ１）１）〜（Ｓｎ１，Ｅ（ｎ１）４）の成分と、（Ｓｎ１，Ｅ（ｎ１）ｋ）〜（Ｓｎ１，Ｅ（ｎ１）ｍ−１）の成分の二つに分断されることになる。
【００４６】
このことから、位置Ｓｎ１を支点とする第ｎアーム副基準点の移動可能領域は、保持可能姿勢（Ｓｎ１，Ｅ（ｎ１）１）〜（Ｓｎ１，Ｅ（ｎ１）４）が含まれる領域Iと、保持可能姿勢（Ｓｎ１，Ｅ（ｎ１）ｋ）〜（Ｓｎ１，Ｅ（ｎ１）ｍ−１）が含まれる領域IIとに分断されることがわかる。
【００４７】
ところで、保持可能姿勢集合が領域Iと領域IIに分断される場合、第ｎアームの基準点が互いに隣接する点、例えばＳｎ１からＳｎ２、およびＳｎ２からＳｎ３に移動可能であっても、第ｎアームは、障害物との関係から、基準点を位置Ｓｎ１とする姿勢から位置Ｓｎ２そして位置Ｓｎ３とする姿勢に移行できるとは限らず、このことが第１アーム、第２アーム、・・・の経路計算の過程でバックトラックを引き起こす。
そこで、本発明では、上記のように保持可能姿勢集合が複数に分断されるときには、分断されている領域の数（この例の場合には領域Ｉ，ＩＩの二つ）に応じて、同一の座標上に別の格子点を複写し、各領域ごとに別の格子点を振り分けるようにしている（ステップＳ６）。
【００４８】
これを図４の例に従って説明すると、第ｎアームのＳｎ１における保持可能姿勢集合の領域Ｉ（Ｓｎ１，Ｅ（ｎ１）１）〜（Ｓｎ１，Ｅ（ｎ１）４）に対しては、図４（ｂ）に示すように、位置Ｓｎ１を割り当て、保持可能姿勢集合の領域II（Ｓｎ１，Ｅ（ｎ１）ｋ）〜（Ｓｎ１，Ｅ（ｎ１）ｍ−１）に対しては、図４（ｃ）に示すように、位置Ｓｎ１と同一の位置に設けたＳｎ１の複写であるＳｎ１′を割り当てる。以後、複写された格子点を、元々の格子点とは区別して「複写格子点」と称し、図中の符号に「′」を付けるものとする。
【００４９】
ここで、複写された位置Ｓｎ１′を加味して、保持可能姿勢集合テーブルＡ（Ｓｎ１，ｎ）を書き直す（ステップＳ７）。
これを、図５の保持可能姿勢集合テーブルに示す。例えば、位置Ｓｎ１に基準点を有する第ｎアーム保持可能姿勢集合は、Ａ（Ｓｎ１，ｎ）＝（Ｅ（ｎ１）１，Ｅ（ｎ１）２，Ｅ（ｎ１）３，Ｅ（ｎ１）４・・・）のように表される。また、位置Ｓｎ１′に複写された位置に基準点を有する第ｎアームの保持可能姿勢集合は、Ａ（Ｓｎ１′，ｎ）＝（Ｅ（ｎ１）ｋ，Ｅ（ｎ１）ｋ＋１，・・・，Ｅ（ｎ１）ｍ―１・・・）のように表される。
【００５０】
なお、保持可能姿勢が複数に分断されない場合は、ステップＳ５から次のステップＳ９にジャンプする。
ステップＳ９では、ｎ−１可接続関係テーブルを作成する。
互いに隣り合う格子点で、かつその２点における第Ｎアームの保持可能姿勢集合が第Ｎアームの副基準点位置として、共通の格子点もしくは互いにＮ可接続の関係にある格子点を含む時、それら２つの点をＮ−１可接続とする。同じようにしてｎがＮより小さい場合も、ｎ可接続関係からｎ−１可接続関係を求めることができる。
以上の手順を終了した後、ステップＳ１０でｎ＝ｎ−１とし、ｎ＝０でなければステップＳ３に戻る（ステップＳ１１）。
【００５１】
第Ｎ−１アームの副基準点の可到達集合テーブルＲ（Ｎ−１）は、Ｎ−１可接続関係テーブルＣ（Ｎ−１）から作成することができる（図２（ｃ）参照）。
次に、第Ｎ−１アームについて、保持可能姿勢集合テーブルＡ（Ｎ−１）を作成する。このときの副基準点の位置は、Ｎ可接続関係テーブルＣ（Ｎ）に含まれるはずであるから、これを利用して保持可能姿勢集合テーブルＡ（Ｎ−１）作成の対象となる第Ｎ−１アームの基準点が位置することのできる格子点を絞ることができる。
【００５２】
先と同様に、保持可能姿勢集合テーブルＡ（Ｎ−１）が複数に分断されるか否かを判断し（ステップＳ５）、分断される場合には複写格子点を設定し（ステップＳ６）、保持可能姿勢集合テーブルＡ（Ｎ−１）の書き換えを行う（ステップＳ７）。
この第Ｎ−１アームにおいては、互いに隣り合う格子点で、かつその２点における第Ｎ−１アームの保持可能姿勢集合が第Ｎ−１アームの副基準点位置として、共通の格子点もしくは互いにＮ−１可接続の関係にある格子点を含む時、それら２つの点をＮ−２可接続とする。
このようにして、変数ｎを一つずつ減じながら、第Ｎ〜第１アームの全てについて保持可能姿勢集合テーブルＡ、可到達点集合テーブルＲ、可接続関係テーブルＣを作成する。
以上で、格子点情報の作成を終了する。
【００５３】
次に、図６のフローチャート及び図７の経路作成図を参照しながら、上記の手順に従って作成された格子点情報を用いた経路作成の手順を説明する。
なお、説明の便宜のため、二つのアームの場合についてのみ図示及び説明をする。
まず、スタートと同時に、マニピュレータが目標姿勢に到達可能かどうかを判断する（ステップＳ２１）。
この判断は、第ｎアームに対して作成した可到達点集合Ｒ（ｎ）および第ｎアームの基準点を目標点Ｏｎ−１に位置させたときの第ｎアームの保持可能姿勢集合Ａ（Ｏｎ−１，ｎ）が、第ｎアームの副基準点の目標点Ｏｎを含むか否かを調べることによって行うことができる。
第ｎアームの可到達点集合Ｒ（ｎ）あるいは第ｎアームの保持可能姿勢集合Ａ（Ｏｎ−１，ｎ）に目標点Ｏｎが含まれない場合には、目標姿勢に到達不能と判断して処理を終了する。(ステップＳ２１)。
【００５４】
マニピュレータを目標姿勢に移動させることができる場合は、まず変数ｎを１に設定する（ステップＳ２２）。第１アームの基準点が固定されている場合は、第１アームの基準点の経路を第１アーム基準点の目標点Ｏ０だけから成る格子点列Ｌ（０）とする（ステップＳ２２）。
【００５５】
ｎ＞１のアームについては、Ｌ（ｎ−１）に基づいて第ｎアーム副基準点の経路Ｌ（ｎ）を求める。
Ｌ（ｎ）の最初の点は、第ｎアーム副基準点の初期位置Ｓｎ１とし、この位置を現在位置ＣＰとする（ステップＳ２３）。そして、Ｌ（ｎ−１）として、既に求めたｎ−１可接続関係にある第ｎアーム基準点の初期位置Ｓ１（＝Ｏｎ−１）以降の格子点を、変数ｍ（ｍ＝１，２，３，・・・）で表す（ステップＳ２４）。
まずｍ＝１ではＬ（ｎ−１）の１番目の点Ｓｍ（この場合はＳｍ＝１）がＯｎ−１と一致するか否かを判断する(ステップ２５)。
一致しない場合は、次にＬ（ｎ−１）のｍ＋１番目の点をＳｍ＋１（この場合はＳｍ＝２）とし（ステップＳ２６）、基準点の位置をＳｍ＝１およびＳｍ＝２とする第ｎアームの保持可能姿勢集合Ａ（Ｓｍ＝１，ｎ）と保持可能姿勢集合Ａ（Ｓｍ＝２，ｎ）とを検索して（ステップＳ２７）、一致又は互いにｎ可接続な点の対（Ｅｃｍｋ，Ｅｃｍ＋１ｋ）があるか否かを判断する。検索の結果、このような対（Ｅｃｍｋ，Ｅｃｍ＋１ｋ）が見つからなければ、移動不能と判断して処理を終了する。(ただし処理が正しく行われていればこのようなケースは発生しない)。
図７に示すように、このような対（Ｅｃｍｋ，Ｅｃｍ＋１ｋ；図示の例ではＥｃｍｋ＝Ｅｃ１１，Ｅｃｍ＋１ｋ＝Ｅｃ１２であり、両者は一致している）が発見されれば、Ａ（Ｓｍ，ｎ）及びＡ（Ｓｍ＋１，ｎ）はそれぞれｎ可接続の意味で連結であるので、Ａ（Ｓｍ，ｎ）内に現在位置ＣＰからＥｃ１１に至るｎ可接続な点の列（ＣＰ，Ｅｍ１１，Ｅｍ１２，・・・，Ｅｃ１１）が存在し、またＥｃ１１とＥｃ１２もｎ可接続であり互いに移行することが可能である。そこで、この点の列（Ｅｍ１１，Ｅｍ１２，・・・，Ｅｃ１１）とＥｃ１２をＬ（ｎ）に追加するとともに、現在位置ＣＰをＥｃ１２で置き換え (ステップ２８)、ｍに１を加えて（ステップＳ２９）、ステップ２４に戻る。
このとき、姿勢の列（Ｓｍ，ＣＰ），（Ｓｍ，Ｅｍ１１），（Ｓｍ，Ｅｍ１２），・・・，（Ｓｍ，ＥC１１），（Ｓｍ＋１，ＥC１２）は互いに移動可能で、第ｎアームの基準点をＳｍからＳｍ＋１に、また副基準点をＣＰからＥC１２に移動させるものである。
【００５６】
次にステップ２４でＳｍがＯｎ−１と一致する場合は、第ｎアームの基準点は既に目標点に到達しているので、第ｎアーム副基準点を現在位置ＣＰから副基準点の目標点Ｏｎに移動させる（ステップＳ３０）。
この過程は次のように実行できる。つまり、第ｎアームのＯｎ−１＝Ｓｍにおける保持可能姿勢集合テーブルＡ（Ｏｎ−１，ｎ）がＯｎを含み、またｎ可接続の意味で連結であるので、Ａ（Ｏｎ−１，ｎ）内に現在位置ＣＰからＯｎに到る互いにｎ可接続な点の列（ＣＰ，Ｅｍ１１，Ｅｍ１２，・・・，Ｏｎ）が存在することになる。従って、この点列（Ｅｍ１１，Ｅｍ１２，・・・，Ｏｎ）をＬ（ｎ）に追加すると(ステップＳ３０)、姿勢の列（Ｏｎ−１，ＣＰ），（Ｏｎ−１，Ｅｍ１１），（Ｏｎ−１，Ｅｍ１２），・・・，（Ｏｎ−１，Ｏｎ）は互いに移動可能で、基準点をＯｎ−１に持つ第ｎアームの副基準点をＣＰから目的点Ｏｎに移動させることができるわけである。
上記の処理をｎ＝１〜ｎ＝Ｎの全てのアームについて行うことで、マニピュレータの経路が作成できる。
【００５７】
上記の説明では、第１アーム１と第２アーム２の二つのアームを有するマニピュレータを例に挙げて説明したが、三つ以上のアームを有するマニピュレータでも同様である。また、上記の説明では、第１アーム１の基準点（位置Ｓ０１の支点）は移動させないものとして説明したが、基準点を移動させる場合も同様である。
【００５８】
図８は、上記の経路作成方法を実行するための装置の一例にかかり、その構成を説明するブロック図である。
経路作成装置１は、作業空間の指定や、障害物の位置の指定、ロボットを構成する個々のアームに関する種々の情報（アーム長、各アームの許容回動角の範囲、アームの個数等）及び最終目標点等を入力するキーボート等の入力部１１と、入力された各種情報の処理を行うＣＰＵ１３と、格子点情報の作成を行う格子点情報作成ユニット１５と、作成された格子点情報に基づきロボットの経路を作成する経路作成ユニット１６と、保持可能姿勢集合テーブル、ｎ可接続関係テーブル、可到達点テーブル、ｎ−１可接続関係テーブル等の格子点情報やこの格子点情報の作成に必要な種々のデータを記憶するデータベースＤＢとを有している。
【００５９】
格子点情報作成ユニット１５は、任意の第ｎアームについて、基準点の位置と副基準点の位置とから、前記第ｎアームの姿勢を求める姿勢演算部１５１と、この姿勢演算部で得られた前記第ｎアームの姿勢が、作業空間内の障害物と干渉するかどうかを判断する障害物干渉判断部１５２と、第Ｎアームの保持可能姿勢を、第Ｎアームが前記作業空間内に存在する障害物と干渉しない姿勢とし、第ｎアーム（１≦ｎ≦Ｎ−１）の保持可能姿勢を、前記第ｎアームが前記作業空間内に存在する障害物と干渉しないで、かつ前記第ｎアームの前記副基準点を支点とする第ｎ＋１アームが少なくとも一つの保持可能姿勢を有する姿勢として、これらの姿勢から成る保持可能姿勢集合テーブルを作成する保持可能姿勢集合テーブル作成部１５３と、一の基準点を支点とする第ｎアームの移動可能な領域が、前記障害物によって複数に分断されるか否かを判断し、分断されると判断した場合に、前記基準点と同一の座標上に、分断される数に応じた数の複写格子点を設定し、前記移動可能な領域ごとに前記基準点及び前記複写格子点を割り当てる複写格子点作成部１５４と、Ｎに関しては、障害物と干渉しない位置であって互いに隣接する格子点をＮ可接続関係にあるとし、ｎ（１≦ｎ≦Ｎ−１）に関しては、隣接する格子点のｎ−１可接続関係を、それら格子点に基準点を持つ第ｎアームの前記保持可能姿勢集合を利用して定義することによって、１〜Ｎの全てについての可接続関係の集合である可接続関係テーブルを作成する可接続関係テーブル作成部１５５と、所定の初期位置から互いにｎ可接続な作業空間内の格子点を経由して接続可能な点の集合であるｎ可到達点テーブルを、前記第１アーム〜第Ｎアームの各々について作成する可到達点テーブル作成部１５６とを有する。
【００６０】
格子点情報作成ユニット１５は、データベースＤＢに記憶された作業空間の格子点、障害物の位置、各アームに関する情報に基づき、第１アーム〜第Ｎアームの全てについて、図１のフローチャートに示した手順に従い、ｎ可接続関係テーブルＣ（Ｎ）、可到達点集合テーブルＲ（ｎ）、保持可能姿勢集合テーブルＡ（ｎ）、複写格子点、ｎ可接続関係テーブルＣ（ｎ）等を作成し、データベースＤＢに格子点情報として記憶させる。
【００６１】
経路作成ユニット１６は、データベースＤＢに記憶された前記保持可能姿勢集合テーブル及び／又は前記可接続関係テーブルを照会して、前記ロボットが最終目標点に到達可能か否かを判断する判断部１６２と、この判断部１６２により到達可能と判断されたときに、前記可接続関係テーブルに基づき、前記第１アーム〜第Ｎアームの各々を初期姿勢から順次前記最終目標点及び各前記各アーム目標点に向けてスタートさせて経路を作成する経路作成部１６３とを有する。
【００６２】
経路作成部１６３は、前記保持可能姿勢集合テーブル及び前記可接続関係テーブルに基づき、第ｎアームの姿勢が一の領域から他の領域に移動する境界の位置を判断する。そして、第ｎアームの副基準点の前記各アーム目標点又は前記最終目標点の位置から、第ｎアームの姿勢を一の領域から他の領域に移動させる必要があるか否かを判断し、第ｎアームの姿勢を一の領域から他の領域に移動させる必要があると判断したときに、第ｎアームの基準点の位置を前記境界の位置まで移動させるようにする。
【００６３】
さらに、経路作成部１６３は、前記可接続関係テーブルに基づいて第ｎアームを一の姿勢から他の姿勢に移動させる際、移動可能な前記他の姿勢が複数存在する場合に、前記第ｎアームと前記各アーム目標点又は前記最終目標点との距離から前記他の姿勢を決定する。
経路作成ユニット１６にて作成された経路は、実際にロボットの各アームを駆動させる駆動制御部（図示せず）に出力されるほか、データベースＤＢに記憶され、また、必要に応じて、ディスプレイやプリンタ等の出力部１７に出力される。
【００６４】
本発明の好適な実施形態について説明したが、本発明は上記の説明に限定されるものではない。
例えば、上記の説明では、第ｎアームは、障害物が存在しない場合、基準点（支点）を中心として３６０°回転できることを前提としている。しかし、マニピュレータの中には、第ｎ−１アームの姿勢との関係で、前記支点を中心に第ｎアームの回動範囲が限定される場合がある。この場合は、第ｎアームの保持可能姿勢集合テーブルＡ（ｎ）を作成するにあたり、障害物の他に第ｎ−１アームの姿勢に対する第ｎアームの許容回動角を考慮すればよい。
また、上記の説明では、二次元平面の作業空間を例に挙げて説明したが、本発明は三次元空間の作業空間にも適用が可能であることは言うまでもない。この場合は、基準点や副基準点の位置成分を三次元とすればよい。
【産業上の利用可能性】
【００６５】
本発明は、単一のアームを有する支点固定形のロボット、単一のアームを有する支点移動形のロボット、複数のアームを有し、第１アームの支点が固定された支点固定型のロボット、複数のアームを有し、前記支点が移動可能な支点移動型のロボットのいずれにも適用が可能である。
また、上記では、説明の便宜のため二次元平面の作業空間を例に挙げて説明したが、三次元の作業空間でも適用が可能である。
【図面の簡単な説明】
【００６６】
【図１】作業空間に含まれる格子点情報作成の手順を説明するフローチャートである。
【図２】「Ｎ可接続関係」，「ｎ可接続関係」及び「ｎ−１可接続関係」を説明する図である。
【図３】保持可能姿勢集合Ａ（ｎ）の作成手順及び第ｎアームの保持可能姿勢集合テーブルＡ（ｎ）の一例を示す図である。
【図４】移動可能領域が複数に分断されているかどうかの判断を行うための概念を説明する図である。
【図５】複写格子点を加味して、図３の保持可能姿勢集合テーブルＡ（ｎ）を書き直した保持可能姿勢集合テーブルＡ（ｎ）の一例である。
【図６】格子点情報を用いた経路作成の手順を説明するフローチャートである。
【図７】経路作成の手順を説明する図である。
【図８】上記の経路作成方法を実行するための装置の一例にかかり、その構成を説明するブロック図である。
【符号の説明】
【００６７】
１          経路作成装置
１１        入力部
１３        ＣＰＵ
１５        格子点情報作成ユニット
１５１      姿勢演算部
１５２      障害物干渉判断部
１６        経路作成ユニット
１６１      目標決定部
１６２      到達可能判断部
１６３      経路作成部
１７        出力部
ＤＢ        データベース
【図１】
2006227840.tif 000003
【図２】
2006227840.tif 000004
【図３】
2006227840.tif 000005
【図４】
2006227840.tif 000006
【図５】
2006227840.tif 000007
【図６】
2006227840.tif 000008
【図７】
2006227840.tif 000009
【図８】
2006227840.tif 000010