説明

移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム

【課題】本発明は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法等に関し、任意の現在位置から任意の目標位置への移動経路を実時間で簡単に作成する。
【解決手段】ロボットアームの移動空間を多数のサブ空間に分割して、各サブ空間それぞれについて各代表座標を定め、各サブ空間の代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成し、この作成された移動経路網を構成する各移動経路について、ロボットアームと、そのロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法および移動経路生成装置、演算装置を移動経路生成装置として動作させる移動経路生成プログラム、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置、並びに、演算装置をロボットアーム制御装置として動作させるロボットアーム制御プログラムに関する。
【背景技術】
【0002】
人間型ロボットのような多関節ロボットは多くの自由度を持つため、移動中にアームの関節(リンク)が自分のボディやその他の障害物に干渉する恐れがある。移動経路を予め定義しておけば干渉を回避できるが、動的な経路生成ができず、あらかじめ決められた移動経路上を移動するということしかできないという問題がある。特に、何らかの外乱等の原因で決められた移動経路から外れた状態で停止した後動作を再開させようとしたとき、決められた移動経路から外れていると自動的な復旧が困難となる。また、オンラインで動的な移動経路を生成する場合は、干渉チェック計算を常に行なう必要があるため、計算量、メモリ使用量が多く、実時間で実現することが難しい。このため、動的な移動経路を、オンラインで実時間で生成する方法の確立が多関節ロボットの分野での1つの課題となっている。これを少ない計算量やメモリ使用量で実現することが望ましい。
【0003】
ここで、特許文献1には、ロボットの動作範囲内に障害物が存在する場合、予め該障害物を3次元的なパスゾーンとして、ソフトマップ内で有し、軌道生成した経路上に該障害物が存在する時、3次元的なパスゾーンを考慮して複数の経路を最短時間経路の候補として選択し、選択した候補について各々軌道生成を行い、最短時間のものを最短時間経路として選択することが開示されている。
【0004】
障害物との干渉を避けることは重要であるが、この特許文献1では軌道をどのように生成するかという点については記述がない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−156095号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、上記事情に鑑み、任意の現在位置から任意の目標位置への移動経路を実時間で簡単に決定することができるように移動経路網をあらかじめ準備しておくための移動経路生成方法および移動経路生成装置、並びに、演算装置をそのような移動経路生成装置として動作させる移動経路生成プログラム、さらに、そのあらかじめ準備された移動経路網を使って、ロボットアームを任意の現在位置から任意の目標位置への移動経路を実時間で生成してロボットアームを移動させるロボットアーム制御装置、および、演算装置をそのようなロボットアーム制御装置として動作させるロボットアーム制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明の移動経路生成方法のうちの第1の移動経路生成方法は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法であって、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成ステップと、
移動経路網作成ステップで作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算ステップとを有する。
【0008】
ここで、上記第1の移動経路生成方法において、上記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動ステップをさらに有していてもよい。
【0009】
本発明の第1の移動経路生成方法は、上記のツリー構造の移動経路網を生成しあらかじめ干渉チェックを行なって有効移動経路網を生成するものであるため、ロボットアームの現在位置から目標位置への移動経路を短時間で構築することができる。
【0010】
また、本発明の移動経路生成方法のうちの第2の移動経路生成方法は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法であって、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成ステップと、
移動経路網作成ステップで作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算ステップとを有することを特徴とする。
【0011】
ここで、上記第2の移動経路生成方法において、上記ロボットアームを現在位置から目標位置に移動させるにあたり、上記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動ステップをさらに有していてもよい。
【0012】
本発明の第2の移動経路生成方法は、いわば網目状の移動経路網を生成しあらかじめ干渉チェックを行なって有効移動経路網を生成するものであるため、ロボットアームの現在位置から目標位置への移動経路を生成するにあたっては、そのあらかじめ生成されている有効移動経路網について、第1のノードから第2のノードへの最短移動経路を探索すればよく、ロボットアームの現在位置から目標位置への移動経路を短時間で構築することができる。
【0013】
また、本発明の移動経路生成装置のうちの第1の移動経路生成装置は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置において、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えたことを特徴とする。
【0014】
ここで、上記第1の移動経路生成装置において、上記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えていてもよい。
【0015】
また、本発明の移動経路生成装置のうちの第2の移動経路生成装置は、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
上記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えたことを特徴とする。
【0016】
ここで、上記第2の移動経路生成装置において、前記ロボットアームを現在位置から目標位置に移動させるにあたり、上記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、上記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えていてもよい。
【0017】
さらに、本発明の移動経路生成プログラムのうちの第1の移動経路生成プログラムは、プログラムを実行する演算装置で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置として動作させる移動経路生成プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成部と、
上記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えた移動経路生成装置として動作させることを特徴とする。
【0018】
ここで、本発明の第1の移動経路生成プログラムは、上記演算装置を、前記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えた移動経路生成装置として動作させるものであってもよい。
【0019】
さらに、本発明の移動経路生成プログラムのうちの第2の移動経路生成プログラムは、プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成として動作させる移動経路生成プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
上記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えた移動経路生成装置として動作させることを特徴とする。
【0020】
ここで、本発明の第2の移動経路生成プログラムは、上記演算装置を、前記ロボットアームを現在位置から目標位置に移動させるにあたり、上記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えた移動経路生成装置として動作させるものであってもよい。
【0021】
また、本発明のロボットアーム制御装置のうちの第1のロボットアーム制御装置は、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置において、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより作成された、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行なうことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
上記有効移動経路網に基づいて、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の移動経路を求め、上記ロボットアームを、現在位置から、該第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたことを特徴とする。
【0022】
本発明の第1のロボットアーム制御装置は、上述した本発明の第1の移動経路生成方法により生成された有効移動経路網を記憶しておき、アーム移動制御部で、その有効移動経路網から第1のノードと第2のノードとを結ぶ移動経路を抽出し、さらに現在位置と第1のノードとの間、第2のノードと目標位置との間の移動経路を生成して、ロボットアームをその移動経路に沿って移動させるものであり、任意の現在位置から任意の目標位置へのロボットアームの移動経路を実時間的に生成してそのロボットアームを移動させることができる。
【0023】
さらに、本発明のロボットアーム制御装置のうちの第2のロボットアーム制御装置は、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
上記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、上記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたことを特徴とする。
【0024】
本発明の第2のロボットアーム制御装置は、上述した本発明の第2の移動経路生成方法により生成された有効移動経路網を記憶しておき、アーム移動制御部で、その有効移動経路網から第1のノードと第2のノードとを結ぶ最短移動経路を抽出し、さらに現在位置と第1のノードとの間、第2のノードと目標位置との間の移動経路を生成して、ロボットアームをその移動経路に沿って移動させるものであり、任意の現在位置から任意の目標位置へのロボットアームの移動経路を実時間的に生成してそのロボットアームを移動させることができる。
【0025】
また、本発明のロボットアーム制御プログラムのうちの第1のロボットアーム制御プログラムは、プログラムを実行する演算装置で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置として動作させるロボットアーム制御プログラムであって、
上記演算装置を、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより作成された、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行なうことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
上記有効移動経路網に基づいて、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の移動経路を求め、上記ロボットアームを、現在位置から、該第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたロボットアーム制御装置として動作させることを特徴とする。
【0026】
さらに、本発明のロボットアーム制御プログラムのうちの第2のロボットアーム制御プログラムは、プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置として動作させるロボットアーム制御プログラムであって、
上記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
上記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、上記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから上記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたロボットアーム制御装置として動作させることを特徴とする。
【発明の効果】
【0027】
以上の本発明によれば、ロボットアームを任意の現在位置から任意の目標位置へ移動する移動経路を実時間で簡単に定めることができる。
【図面の簡単な説明】
【0028】
【図1】人間型ロボットの一例を示す模式図である。
【図2】ロボットアーム11の移動空間D0を複数のサブ空間に分割したことを示す模式図である。
【図3】ロボットアームの移動空間を2次元的に表現したときの、第1実施形態の分割方法の説明図である。
【図4】ツリー構造の移動経路網の概念図である。
【図5】ロボットアームを、その先端を下に降ろした原点に移動する様子を示した模式図である。
【図6】第1実施形態の、ロボットアームの移動時のフローチャートである。
【図7】第2実施形態の有効移動経路網を表わした図である。
【図8】第2実施形態のロボットアームの移動時のフローチャートである。
【発明を実施するための形態】
【0029】
以下、本発明の実施形態について説明する。
【0030】
図1は、人間型ロボットの一例を示す模式図である。
【0031】
ここでは、このロボット10のアーム11,12(代表的に一本のアーム11を取り扱う)の移動について説明する。
【0032】
図2は、ロボットアーム11の移動空間D0を複数のサブ空間に分割したことを示す模式図である。
【0033】
以下では、第1実施形態と第2実施形態について説明するが、第1実施形態と第2実施形態とでは分割方法が異なり、ここでは先ず第1実施形態における分割方法について説明する。
【0034】
図3は、分かり易さのため、ロボットアームの移動空間を2次元的に表現したときの、第1実施形態の分割方法の説明図である。
【0035】
この第1実施形態では、ロボットアームの移動空間が複数の第1段階のサブ空間に分割され、各第1段階のサブ空間それぞれが複数の第2段階のサブ空間に分割され、以下同様に、各第n−1段階のサブ空間それぞれが複数の第n段階のサブ空間に分割(但し、nは2以上の整数)される。
【0036】
この分割方法の一例を図3を参照して具体的に説明する。ここでは、上記のnはn=3とする。
【0037】
ここでは、ロボットアームの移動空間D0が4つの第1段階のサブ空間D1,D2,D3,D4に分割され、各第1段階のサブ空間D1,D2,D3,D4のそれぞれが4つの第2段階のサブ空間に分割される。4つの第1段階のサブ空間D1,D2,D3,D4のうちの1つの第1段階のサブ空間D1について例示すると、この第1段階のサブ空間D1が、さらに4つの第2段階のサブ空間D11,D12,D13,D14に分割される。このような分割により得られた第2段階のサブ空間が、さらにそれぞれ4つずつの第3段階のサブ空間に分割される。例示すると、第2段階の1つのサブ空間D11が、4つの第3段階のサブ空間D111,D112,D113,D114に分割される。
【0038】
このような各段階の分割が行なわれた後、その移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、原点座標に置かれたノードから、第1段階のサブ空間の代表座標に置かれたノード、第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網が作成される。
【0039】
ここでは、各段階の各サブ空間の代表座標として各サブ空間の中心点の座標が採用される。また、移動空間D0を分割するにあたっては、その移動空間D0の中心点(代表点)がロボットアーム先端の原点位置となるように、移動空間D0が定められる。移動空間D0をこのように定めた結果、移動空間D0がロボットのボディや他の障害物と重なる位置まで広がっても、後述する干渉チェックでロボットアームの移動経路から排除されるため問題は生じない。
【0040】
図4は、ツリー構造の移動経路網の概念図である。ここでは図示の煩雑さを避けるため、第2段階のサブ空間まで分割したときの例を示してある。
【0041】
このツリー構造の各ノードは各サブ空間の中心の座標点を表わしている。
【0042】
ノードaの位置にあるロボットアームの先端をノードbに移動させるには、ノードaから移動経路rを進んで一段階上のサブ空間の中心の座標点に進み、さらに移動経路rを進んでもう一段階上のサブ空間(ここでは移動空間全体)の中心の座標点(ここでは移動空間の原点の座標点)に進み、さらに移動経路rを進んで第1段階のサブ空間の中心の座標点に進み、さらに移動経路rを進んで目標位置であるノードb、すなわち第2段階のサブ空間の中心の座標点に進む。
【0043】
この図4の移動経路上に×印が付されている箇所があるが、この意味については後述する。
【0044】
ロボットアームの現在位置および目標位置は、ノード上にあるとは限らない。そこで、図3を参照して、ロボットアームの現在位置および目標位置がノード(サブ空間の中心点)にはない場合の移動経路について説明する。
【0045】
ロボットアームの先端の現在位置がサブ空間D113内のa点にあり、このロボットアームを、その先端がサブ空間D343内のb点に移動するように移動させるものとする。このとき、ロボットアーム先端は、a点とサブ空間D113の中心点との間がリニア補間された各点(すなわちa点とサブ空間D113の中心点とを直線で結んだときのその直線上の各点)を経由してa点からそのサブ空間D113の中心点に移動し、次にそのサブ空間D113の中心点から一段階上位のサブ空間D11の中心点に直線的に移動し、さらに上位のサブ空間D1の中心点に直線的に移動し、さらにこの移動空間D0の中心点(原点O)に直線的に移動し、次にその原点Oからサブ空間D3の中心点まで直線的に移動し、さらに同様にサブ空間D34の中心点に直線的に移動し、さらにサブ空間D343の中心点に直線的に移動し、さらにそのサブ空間D343内の目標位置bに直線的に移動する。
【0046】
本発明の第1実施形態では、以上の動きによりロボットアームが任意の現在位置から任意の目標位置に移動する。
【0047】
次に干渉チェックについて説明する。
【0048】
以上の説明は、ロボットアームの移動経路上に何らの障害物が存在しない場合に成り立つものであるが、移動経路上にロボットアームの移動を防げる何らかの障害物が存在する場合がある。
【0049】
そこで、上記のようにして構築したツリー構造の移動経路網が調べられ、接続された2つのノード間の移動経路上に障害物が存在しないかどうか、が事前に調べられる。
【0050】
図4の×印を付した移動経路は、干渉チェック計算を行なった結果障害物が存在した移動経路であることを表わしている。
【0051】
ここでは、2つのノードを結ぶ移動経路全てについて干渉チェックが行なわれて、障害物が存在した移動経路の先にある全てのノード(図4にハッチングを施したノード)が取り除かれ、有効な移動経路のみからなるツリー構造の移動経過網が再構築される。
【0052】
ロボットアームの移動を制御する制御装置には、以上のようにして生成された有効移動経路網が記憶され、ロボットアームの移動にあたっては、その有効移動経路網が参照され、ロボットアームが、障害物との干渉が生じない領域間でのみ、上記の説明のとおりに移動するように制御される。
【0053】
図5は、ロボットアームを、その先端を下に降ろした原点に移動する様子を示した模式図である。
【0054】
この第1実施形態では、原点をルートノードとしたツリー構造の有効移動経路網が生成され、ロボットアームはその有効移動経路網に従って移動するため、ロボットアームは、離れた位置に移動するときは、現在位置から一旦原点に移動し、その原点から目標位置に向かって動くことになる。
【0055】
図6は、第1実施形態の、ロボットアームの移動時のフローチャートである。
【0056】
先ず、現在位置(移動空間上の現在の座標)を取得し(ステップS01)、有効移動経路網が定義された階層ツリーに基づいて経路探索を行ない(ステップS02)、現在位置に最も近いノードから目標位置に最も近いノードへの経路が作成される(ステップS03)。この経路の作成に失敗したときはロボットアームを移動させずにそのまま終了するが(ステップS04)、この経路の作成に成功したときは、現在位置から最も近いノードへ移動し(ステップS05)、作成した経路に沿い、第1のノードから第2のノードまで、順次接続されたノード間をリニア補間で移動し(ステップS06)、第2のノードから目標位置へ移動する(ステップS07)。
【0057】
次に本発明の第2実施形態について説明する。
【0058】
図7は、第2実施形態の有効移動経路網を表わした図である。
【0059】
ここでは、分かり易さのため2次元的な経路を示している。
【0060】
第2実施形態では、ロボットアームの移動空間が多数のサブ空間に分割されるが、この第2実施形態では、第1実施形態とは異なり、多段階には分割せずに、比較的細かな1段階にのみ分割され、各サブ空間の中心点にノードが配置され、全てのノードについて、2つのノードを結ぶ移動経路が一旦作成され、全ての移動経路について干渉チェックが行なわれ、干渉が生じた移動経路は取り除かれて有効移動経路網が作成される。
【0061】
この図6では、一点鎖線の領域に障害物が存在し、その障害物を避けた領域にのみ移動経路を有する有効移動経路網が形成されている。
【0062】
図8は、第2実施形態のロボットアームの移動時のフローチャートである。図6に示す第1実施形態のロボットアームの移動時のフローチャートとの相違点について説明する。
【0063】
ステップS11〜S13では、図7に示す有効移動経路網上で現在位置に最も近い第1のノードと目標位置に最も近い第2のノードとの間の移動経路の探索が行なわれ、それらのノード間での移動距離が最短の移動経路が作成される。
【0064】
その最短の移動経路が作成されると(ステップS14)、その後は、その移動経路に従ってロボットアームが現在位置から目標位置まで移動される(ステップS15〜S17)。
【0065】
以下、本発明の各種形態を付記する。
【0066】
(付記1)
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法において、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成ステップと、
前記移動経路網作成ステップで作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算ステップとを有することを特徴とする移動経路生成方法。
【0067】
(付記2)
前記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動ステップをさらに有することを特徴とする付記1記載の移動経路生成方法。
【0068】
(付記3)
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成ステップと、
前記移動経路網作成ステップで作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算ステップとを有することを特徴とする移動経路生成方法。
【0069】
(付記4)
前記ロボットアームを現在位置から目標位置に移動させるにあたり、前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動ステップをさらに有することを特徴とする付記3記載の移動経路生成方法。
【0070】
(付記5)
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置において、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えたことを特徴とする移動経路生成装置。
【0071】
(付記6)
前記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えたことを特徴とする付記5記載の移動経路生成装置。
【0072】
(付記7)
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えたことを特徴とする移動経路生成装置。
【0073】
(付記8)
前記ロボットアームを現在位置から目標位置に移動させるにあたり、前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えたことを特徴とする付記7記載の移動経路生成装置。
【0074】
(付記9)
プログラムを実行する演算装置で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置として動作させる移動経路生成プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えた移動経路生成装置として動作させることを特徴とする移動経路生成プログラム。
【0075】
(付記10)
前記演算装置を、前記ロボットアームを現在位置から目標位置に移動させるにあたり、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えた移動経路生成装置として動作させることを特徴とする付記9記載の移動経路生成プログラム。
【0076】
(付記11)
プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成として動作させる移動経路生成プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えた移動経路生成装置として動作させることを特徴とする移動経路生成プログラム。
【0077】
(付記12)
前記演算装置を、前記ロボットアームを現在位置から目標位置に移動させるにあたり、前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部をさらに備えた移動経路生成装置として動作させることを特徴とする付記11記載の移動経路生成プログラム。
【0078】
(付記13)
ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置において、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより作成された、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行なうことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網に基づいて、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の移動経路を求め、前記ロボットアームを、現在位置から、該第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたことを特徴とするロボットアーム制御装置。
【0079】
(付記14)
ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたことを特徴とするロボットアーム制御装置。
【0080】
(付記15)
プログラムを実行する演算装置で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置として動作させるロボットアーム制御プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数の第1段階のサブ空間に分割し、各第1段階のサブ空間それぞれを複数の第2段階のサブ空間に分割し、以下同様に、各第n−1段階のサブ空間それぞれを複数の第n段階のサブ空間に分割(但し、nは2以上の整数)して、該移動空間全体の代表座標である原点座標、および、各第1段階のサブ空間それぞれ、各第2段階のサブ空間それぞれ、…、各第n段階のサブ空間それぞれの各代表座標を定めることにより作成された、該原点座標に置かれたノードから、該第1段階のサブ空間の代表座標に置かれたノード、該第2段階のサブ空間の代表座標に置かれたノード、…、第n段階のサブ空間の代表座標に置かれたノードへと順次繋がる移動経路からなるツリー構造の移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行なうことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網に基づいて、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の移動経路を求め、前記ロボットアームを、現在位置から、該現在位置に最近接した第1のノードに移動させ、該第1のノードに順次接続されたノードを経由して目標位置に最近接した第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたロボットアーム制御装置として動作させることを特徴とするロボットアーム制御プログラム。
【0081】
(付記16)
プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置として動作させるロボットアーム制御プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたロボットアーム制御装置として動作させることを特徴とするロボットアーム制御プログラム。
【符号の説明】
【0082】
10 ロボット
11,12 ロボットアーム

【特許請求の範囲】
【請求項1】
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成方法において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成ステップと、
前記移動経路網作成ステップで作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算ステップとを有することを特徴とする移動経路生成方法。
【請求項2】
ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えたことを特徴とする移動経路生成装置。
【請求項3】
プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動経路を生成する移動経路生成として動作させる移動経路生成プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定め、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を作成する移動経路網作成部と、
前記移動経路網作成部で作成された移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行ない、該移動経路網から干渉を免れた有効な移動経路のみを抽出した有効移動経路網を作成する干渉演算部とを備えた移動経路生成装置として動作させることを特徴とする移動経路生成プログラム。
【請求項4】
ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置において、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたことを特徴とするロボットアーム制御装置。
【請求項5】
プログラムを実行する演算装置内で実行され、該演算装置を、ロボットアームの、現在位置から目標位置への移動を制御するロボットアーム制御装置として動作させるロボットアーム制御プログラムであって、
前記演算装置を、
ロボットアームの移動空間を複数のサブ空間に分割したときの各サブ空間の代表座標を定めることにより作成された、各代表座標に置かれた各ノードどうしを結ぶ移動経路からなる移動経路網を構成する各移動経路について、ロボットアームと、該ロボットアームの移動の障害となる障害物との間の干渉チェックを行うことにより、該移動経路網から干渉を免れた有効な移動経路のみが抽出された有効移動経路網を記憶する記憶部と、
前記有効移動経路網から、現在位置に最近接した第1のノードと目標位置に最近接した第2のノードとの間の最短移動経路を求め、前記ロボットアームを、該現在位置から該第1のノードに移動させ、該第1のノードから前記最短移動経路を経由して該第2のノードに移動させ、該第2のノードから該目標位置に移動させるアーム移動制御部とを備えたロボットアーム制御装置として動作させることを特徴とするロボットアーム制御プログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−106335(P2012−106335A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2012−39477(P2012−39477)
【出願日】平成24年2月27日(2012.2.27)
【分割の表示】特願2007−226779(P2007−226779)の分割
【原出願日】平成19年8月31日(2007.8.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】