JP4760732B2 - 経路作成装置 - Google Patents

経路作成装置 Download PDF

Info

Publication number
JP4760732B2
JP4760732B2 JP2007039438A JP2007039438A JP4760732B2 JP 4760732 B2 JP4760732 B2 JP 4760732B2 JP 2007039438 A JP2007039438 A JP 2007039438A JP 2007039438 A JP2007039438 A JP 2007039438A JP 4760732 B2 JP4760732 B2 JP 4760732B2
Authority
JP
Japan
Prior art keywords
nodes
new
node
line segment
step size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007039438A
Other languages
English (en)
Other versions
JP2008204161A (ja
Inventor
真太郎 吉澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2007039438A priority Critical patent/JP4760732B2/ja
Publication of JP2008204161A publication Critical patent/JP2008204161A/ja
Application granted granted Critical
Publication of JP4760732B2 publication Critical patent/JP4760732B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、ロボットが障害物を回避する経路を作成する経路作成装置に関する。
近年、各種産業用ロボットや人型ロボットなどの様々なロボットが開発されている。例えば、ロボットには、多数の関節を有し、関節間がリンクで連結され、各関節の動作によって多数の自由度を持つロボットがある。このようなロボットを動作させる場合、初期位置姿勢と目標位置姿勢が与えられ、初期位置姿勢から目標位置姿勢に至る経路を作成し、その経路に基づいてロボットの各関節を動作させる。さらに、このようなロボット全体を2次元平面内などで移動させるものもある。
このようなロボットを動作や移動させる場合、ロボットの周辺に障害物が存在すると、この障害物を回避しながらロボットを動作や移動させるための経路の作成は非常に難しくなる。例えば、周囲の障害物で形成される狭い空間を通り抜けるような経路を作成するような場合がある。このような経路の作成方法としては、一定の経路ステップサイズを設定し、その探索ステップサイズ毎に障害物と干渉しない経路を探索し、その探索した経路ステップサイズ毎の経路を接続しながら全経路を作成する(特許文献1参照)。
しかし、経路ステップサイズが一定値の場合、ロボットの大きさ、形状、位置と障害物の大きさ、形状、位置との相対関係(例えば、ロボットの大きさや形状と上記した周囲の障害物による狭い空間との相対関係)により、経路ステップサイズが大き過ぎて障害物を回避できる経路を作成できない場合がある。そこで、経路の作成方法として、障害物を回避できる経路を作成可能な経路ステップサイズに自動的に更新し、更新した経路ステップサイズ毎に経路を作成するものがある(非特許文献1参照)。この経路作成方法では、経路を作成しようとする領域内に複数の点を生成し、障害物と生成された点との境界の情報を取得し、経路を作成しようとする領域を複数の円で近似して経路を作成する。特に、この経路作成方法では、その領域を各点との距離によって分割したボロノイ領域を設定し、障害物との境界に位置する点を中心とする円によってボロノイ領域を近似し、この円の半径を障害物との干渉回数によって一定割合αで徐々に増減する。
特開平7−64633号公報 L.Jaillet A.Yershova S.LaValle,T.Simeon,Adaptive Tuning of the Sampling Domain for Dynamic−Domain RRTs,IEEE International Coference on Intelligent Robots and Systems 2005
ロボットなどを実用化するには、リアルタイム性が要求される。しかし、上記経路作成方法の場合、経路を作成する領域の次元が高くなったり、ロボットの自由度が大きくなったりあるいは障害物の形状が複雑になると、経路ステップサイズを求める処理負荷が大きくなる。これは、一様乱数を生成すべき領域の形状を、随時、保持しながら一様乱数を生成することは非常に複雑な処理を要するからである。そのため、処理負荷が増大し、リアルタイムでの処理ができなくなり、実用化に適さない。
そこで、本発明は、処理負荷を軽減しつつ経路ステップサイズを自動的に求めることができる経路作成装置を提供することを課題とする。
本発明に係る経路作成装置は、ノードを繋ぐ線分を順次接続することによりロボットが障害物を回避する経路を作成する経路作成装置であって、経路を探索する際に経路を作成可能なノード間の線分長である探索ステップサイズを計算するためのノードの個数を設定する個数設定手段と、障害物とは干渉しないサンプル点を生成するサンプル点生成手段と、個数設定手段で設定された個数分のノードの分散情報に基づいて、個数分のノードの分散が大きいほど探索ステップサイズとして大きい値を計算する探索ステップサイズ計算手段と、探索ステップサイズ計算手段で計算された探索ステップサイズに応じてノードを探索する探索手段と、探索手段で探索されたノードを繋ぐ線分を接続し、経路を作成する線分接続手段とを備え、探索ステップサイズ計算手段は、サンプル点生成手段で生成されたサンプル点q random から近いノードを個数設定手段で設定された個数分抽出し、抽出された個数分のノードの中からサンプル点q random に最も近いノードN near を選択し、抽出された個数分のノード間の線分の中から最も短い線分長d min を選択し、抽出された個数分のノードの共分散行列Σを計算し、線分長d min と共分散行列Σとを用いたマハラノビス距離によって、ノードN near から新たなノードN new を求め、新たなノードN new のユークリッド距離での大きさを探索ステップサイズとすることを特徴とする。
この経路作成装置では、個数設定手段により、経路を探索していくための探索ステップサイズを計算するためのノードの個数を設定する。そして、経路作成装置では、探索ステップサイズ計算手段により、その設定された個数分のノード(探索済みのノード)の分散情報に基づいて探索ステップサイズを計算する。さらに、経路作成装置では、探索手段により探索ステップサイズに応じてノードを探索し、線分接続手段により探索されたノードを繋ぐ線分を接続しながら経路を作成する。ノードが密集しているほど、ロボットと障害物との相対的関係によってロボットが動作や移動し難い状況であり、探索ステップサイズを小さくする必要がある。一方、ノードが分散しているほど、ロボットと障害物との相対的関係においてロボットが動作や移動を自由にできる状況であり、探索ステップサイズを大きくできる。このように、経路作成装置では、ノードの分散状況に応じて探索ステップサイズを自動的に求めることができる。さらに、経路作成装置では、所定の個数分のノードの分散情報から探索ステップサイズを計算するだけなので、処理が容易であり、処理負荷を軽減できる。その結果、この経路作成装置では、リアルタイム処理も可能となる。また、経路作成装置では、自動的に探索ステップサイズを更新することができるので、障害物を回避しながら目標位置姿勢に至る経路を作成することができる。
なお、ロボットには、関節などによって動作する一般的なロボット以外にも、移動体(自動車など)も含むものとする。したがって、経路には、移動するだけの経路も含むものとする。
本発明の上記経路作成装置では、個数設定手段は、探索ステップサイズ計算手段で計算された探索ステップサイズが所定の範囲外の場合に個数を変更する構成としてもよい。
この経路作成装置では、個数設定手段により、計算された探索ステップサイズが所定の範囲外の場合に個数を変更する。これによって、ノードが密集してきた場合でも、個数を多くすることによって探索ステップサイズを大きくことが可能であり、多くの個数のノードにより分散を大きくできる。その結果、ノードが密集し過ぎることによってロボットが動作や移動できないような経路の作成を防止できる。
本発明の上記経路作成装置では、ノードとノードを繋ぐ線分からなるツリー構造を記憶する記憶手段を備え、探索ステップサイズ計算手段は、記憶手段のツリー構造から個数設定手段で設定された個数分のノードを抽出し、当該抽出したノードの分散情報に基づいて探索ステップサイズを計算する構成としてもよい。
この経路作成装置では、記憶手段に経路を作成するためのノードとノード間の線分からなるツリー構造を保持する。そして、経路作成装置では、探索ステップサイズ計算手段により、記憶手段に保持されているツリー構造から設定された個数分のノードを抽出し、その抽出したノードの分散情報に基づいて探索ステップサイズを計算する。これによって、経路の途中に対応する部分のツリーにおけるノード情報を記憶手段から常時取得することができ、そのノード情報から分散情報を求めることができる。
本発明の上記経路作成装置では、探索ステップサイズ計算手段は、サンプル点生成手段で生成されたサンプル点qrandomから近いノードを個数設定手段で設定された個数分抽出し、抽出された個数分のノードの中からサンプル点qrandomに最も近いノードNnearを選択し、抽出された個数分のノード間の線分の中から最も短い線分長dminを選択し、抽出された個数分のノードの共分散行列Σを計算し、共分散行列Σと最も近いノードNnearと新たなノードNnewを用いてマハラノビス距離を最も短い線分長dminとした式(4)を構築し、新たなノードNnewを計算するための式(5)を構築し、式(4)と式(5)から新たなノードNnewを計算し、新たなノードNnewのユークリッド距離での大きさを探索ステップサイズとする構成としてもよい。
(Nnew−Nnear)Σ−1(Nnew−Nnear=dmin …(4)
new=r(qrandom−Nnear)…(5)
この経路作成装置では、探索ステップサイズ計算手段により、設定された個数分のノードの共分散行列を計算し、その共分散行列を用いたマハラノビス距離により探索ステップサイズを計算する。このように、分散情報として共分散行列によるマハラノビス距離を適用することにより、簡単に探索ステップサイズを求めることができる。さらに、マハラノビス距離を用いることにより、ノードが密集している場合には小さい探索ステップサイズを計算でき、ノードが分散している場合には大きい探索ステップサイズを計算できる。
本発明は、所定の個数のノードの分散情報を用いて探索ステップサイズを計算することにより、処理負荷を軽減しつつ経路ステップサイズを自動的に求めることができる。
以下、図面を参照して、本発明に係る経路作成装置の実施の形態を説明する。
本実施の形態では、本発明に係る経路作成装置を、多自由度リンク系の2次元平面を移動可能なロボットの経路を作成する経路作成装置に適用する。本実施の形態に係る経路作成装置は、固定の障害物を回避しつつ、ロボットが所定の位置から所定の位置までの動作(移動)するための経路を作成する。
図1〜図8を参照して、本実施の形態に係る経路作成装置1について説明する。図1は、本実施の形態に係る経路作成装置の構成図である。図2は、本実施の形態で適用されるロボットの一例である。図3は、本実施の形態で適用されるロボットの他の例である。図4は、コンフィグレーション空間(作業空間)における障害物とロボットのスタートノード及びゴール条件の一例である。図5は、図1のサンプル点生成部での処理の説明図であり、(a)がスタートノードから1つ目のノードを生成した場合であり、(b)がスタートノードから2つ目のノードを生成した場合である。図6は、図1の個数設定部で設定した個数分のノード群の一例である。図7は、図1の線分長計算部での処理の説明図である。図8は、図1の線分接続部での処理の説明図である。
経路作成装置1は、経路を作成可能な線分長(探索ステップサイズ)を自動的に計算し、線分長に応じたノードと線分を生成し、その線分を接続していくことによってロボットが最終位置姿勢に至るまでの経路を作成する。特に、経路作成装置1は、線分長を計算する際の処理負荷を軽減するために、数え点の個数分のノードの共分散行列を計算し、共分散行列を用いたマハラノビス距離により線分長を計算する。そのために、経路作成装置1は、入力部2、データベース3、サンプル点生成部4、個数設定部5、線分長計算部6、線分接続部7、経路出力部8を備えている。経路作成装置1の主要部はコンピュータ上あるいはロボット内の電子制御ユニットなどに構成され、特に、サンプル点生成部4、個数設定部5、線分長計算部6、線分接続部7はハードディスクあるいはROM内に格納された各アプリケーションプログラムをRAMにロードし、CPUで実行することによって構成される。
なお、本実施の形態では、データベース3が特許請求の範囲に記載する記憶手段に相当し、サンプル点生成部4及び線分長計算部6が特許請求の範囲に記載する探索手段に相当し、個数設定部5が特許請求の範囲に記載する個数設定手段に相当し、線分長計算部6が特許請求の範囲に記載する探索ステップサイズ計算手段に相当し、線分接続部7が特許請求の範囲に記載する線分接続手段に相当する。
まず、本実施の形態に適用されるロボットについて説明しておく。図2にはロボットの一例を示している。ロボットR1は、多数の関節J3,・・・,Jnを備えており、関節間がリンクL3,・・・,Ln+1で接続されている。また、ロボットR1は、末端のリンクL3の一端が台車Cに取り付けられ、先端のリンクLn+1の一端にハンドHが取り付けられている。各関節J3,・・・,Jnは、アクチュエータが内蔵されており、回転動作をそれぞれ行い、接続される2本のリンク間の角度X3,・・・,Xnをそれぞれ変更する。台車Cは、駆動用モータと操舵用モータが設けられており、2次元平面上を移動し、ロボットR1の位置(X1,X2)を変更する。
このように、ロボットR1は、n個の自由度を持つ。この自由度は、n−2個の角度に対して座標軸及び2個の位置に対して座標軸を持つn次元座標空間(コンフィグレーション空間)における一点(X1,・・・,Xn)で表される。ロボットR1の先端部T(リンクLn+1とハンドHとの取付部)の座標系(Y1,Y2,Y3)は、コンフィグレーション空間から実際の3次元空間への非線形写像の値として、Y1=f1(X1,・・・,Xn)、Y2=f2(X1,・・・,Xn)、Y3=f3(X1,・・・,Xn)で定義される。したがって、コンフィグレーション空間の(X1,・・・,Xn)を規定すると、(Y1,Y2,Y3)が決まる。なお、ロボットR1や障害物が実際に存在する空間は、2次元平面や3次元空間であり、作業空間と呼ぶ。
また、図3にはロボットの他の例を示している。ロボットR2は、人型のロボットであり、左右一対のアーム部A1,A2とハンドH1,H2を有している。ロボットR2は、台車Cで2次元平面上を移動可能であり、10個の関節J3,・・・,J12を備えており、12個の自由度を持つ。ロボットR2は、自由度がコンフィグレーション空間における座標系(X1,・・・,X12)で表される。ロボットR2の場合、コンフィグレーション空間の(X1,・・・,X12)を規定すると、各先端部T1,T2の座標系(Y11,Y12,Y13)、(Y21,Y22,Y23)が決まる。
本実施の形態では、説明を容易にするために、コンフィグレーション空間と作業空間とが一致する場合について説明する。具体的には、ロボットが2次元平面を移動する場合で説明する。図4に示す例では、2次元の四角形状範囲SA内をロボットが移動可能であり、その四角形状範囲SA内に障害物OBが存在する。障害物OBは、位置、形状、大きさなどの情報があり、図4に示す例では位置が固定の壁状であり、一箇所に狭い出口EXを有する略円形状である。ロボットの初期位置姿勢は、ロボットの位置や姿勢などで定義され、図4の例の場合にはスタートノードNとして障害物OBの内部領域に設定される。ロボットの目標位置姿勢は、ロボットの位置や姿勢などによって定義され、図4の例の場合にはロボットのゴール条件としてロボットが障害物OBの出口EXから出ることである。以下の説明では、図4に示す例を用いて説明する。
それでは、経路作成装置1の各部について説明する。入力部2は、ロボット情報、障害物情報、スタートノード、ゴール条件、数え点の個数、初期線分長dを入力する手段である。ロボット情報としては、ロボット全体や各部の質量、ロボット全体や各部の形状及び大きさ、ロボットの重心、関節の回転角度範囲、リンク長及び位置、姿勢などがある。ロボットの質量、形状、大きさ、重心、関節情報については、オペレータによる入力である。ロボットの位置や姿勢については、GPS、エンコーダ、カメラによる画像などで取得する。障害物情報としては、障害物の位置、形状、大きさなどである。これらの障害物情報については、ミリ波センサ、超音波センサ、レーザセンサ、レンジファインダ、カメラによる画像などで取得するが、図4の例に示すような固定物の場合にはオペレータによって予め入力するようにしてもよい。例えば、図3に示す人型ロボットの場合、顔部の目に相当する部分にカメラなどが取り付けされる。スタートノードについては、オペレータによる入力である。数え点の個数(基準値と補正値)は、線分長を計算するためのノードの個数であり、オペレータによる入力である。初期線分長dは、線分長の初期値であり、オペレータによる入力である。
データベース3は、ハードディスクあるいはRAMの所定の領域に構成される。データベース3には、ロボット情報、障害物情報、スタートノード、ゴール条件、数え点の個数、初期線分長d及びサンプル点生成部4や線分長計算部6で生成するノードの位置情報、ノード間を繋ぐ線分の長さ情報、線分を接続したツリー構造が記憶される。
サンプル点生成部4は、サンプル点qrandomを生成するとともに、初期線分長dでのノードN及び線分Sを生成する手段である。まず、サンプル点生成部4では、一様乱数などにより、コンフィグレーション空間内に任意のサンプル点qrandomを生成する。サンプル点qrandomは、障害物とは干渉しない点であり、ロボットが移動や動作可能な範囲内に設定される。そして、サンプル点生成部4では、そのサンプル点qrandomとスタートノードNを直線で結び、その直線上にスタートノードNからユークリッド距離で初期線分長d分に相当する位置にノードNを設定し、スタートノードNとノードNとを繋ぐ線分Sを生成する(図5(a)参照)。
続いて、サンプル点生成部4では、コンフィグレーション空間内に新たな任意のサンプル点qrandomを生成する。そして、サンプル点生成部4では、そのサンプル点qrandomとスタートノードN間のユークリッド距離とサンプル点qrandomとノードN間のユークリッド距離とを比較し、短い方のユークリッド距離(図5(b)の例では、サンプル点qrandomとノードN間の距離)の間を直線で結び、その直線上にノードNからユークリッド距離で初期線分長d分に相当する位置にノードNを設定し、ノードNとノードNとを繋ぐ線分Sを生成する(図5(b)参照)。
続いて、サンプル点生成部4では、コンフィグレーション空間内に新たな任意のサンプル点qrandomを生成する。そして、サンプル点生成部4では、そのサンプル点qrandomとスタートノードN間のユークリッド距離とサンプル点qrandomとノードN間のユークリッド距離とサンプル点qrandomとノードN間のユークリッド距離を比較し、最も短いユークリッド距離の間を直線で結び、その直線上にノードNからユークリッド距離で初期線分長d分に相当する位置にノードNを設定し、ノードNとノードNとを繋ぐ線分Sを生成する(図6参照)。さらに、サンプル点生成部4では、上記と同様の処理によりノードNを生成し、スタートノードNを含めて数え点の個数分(5つ分)のノードN,N,N,N,Nを設定する(図6参照)。このようにスタートノードNを含めて5つのノードが生成されるまで線分長dは初期線分長dで固定値であり、それ以降、ノードNnewが生成される毎に、任意の長さの線分長dnewが線分長計算部6で自動的に計算される。
そして、サンプル点生成部4では、ノードNnewが生成される毎に、コンフィグレーション空間内に新たな任意のサンプル点qrandomを生成する。
サンプル点生成部4では、ノードNや線分Sを生成する毎に、そのノードNの情報(位置情報など)と線分Sの情報(長さ情報、接続される2つのノード)及びノードNや線分Sからなるツリー情報をデータベース3に記憶させる。
個数設定部5は、線分長を求めるためのノードの数え点の個数を設定する手段である。個数設定部5では、通常、数え点の個数としてデータベース3に記憶されている数え点の個数(基準値)を設定する。この基準値は、ロボットの周辺環境(障害物)などを考慮して予め設定され、例えば、5である。さらに、個数設定部5では、線分長計算部6で新たに線分長dnewを計算する毎に、その線分長dnewが下限線分長dより小さいか否かを判定し、線分長dnewが下限線分長dより小さい場合には数え点の個数としてデータベース3に記憶されている数え点の個数(補正値)を設定する。下限線分長dは、ロボットの周辺環境(障害物)などを考慮して予め設定される。数え点の個数(補正値)は、数え点の個数(基準値)より所定数分多い個数であり、ロボットの周辺環境(障害物)などを考慮して予め設定される。
数え点の個数分のノードが密集しているほど、新たな線分長dnewが小さい値になる。線分長dnewが小さくなり過ぎると(ノードが密集し過ぎると)、ロボットが動けない状態となり、ゴールに到達する経路を作成できない。そこで、数え点の個数を基準値より多くし、線分長dnewの計算に用いるノードの個数を増やして、その多数個のノードによる分散を大きくする。これによって、線分長dnewが長くなり、ノードの密集を抑制でき、ロボットが動けるようになる。
線分長計算部6は、新たな線分長dnewを計算し、新たなノードNnewと線分Snewを生成する手段である。線分長計算部6では、データベース3に記憶されているノードの数が数え点の個数(例えば、5つ)以上になると、データベース3に記憶されているノード群の中からサンプル点生成部4で生成したサンプル点qrandomから近い(ひいては、新たに生成するノードNnewの近傍の)ノードN,N,N,N,Nを数え点の個数分選択する。図7の例では、スタートノードNを含めて数え点の個数分のノードN,N,N,N,Nが選択される。さらに、線分長計算部6では、そのサンプル点qrandomと数え点の個数分のノードN,N,N,N,N間の各ユークリッド距離を比較し、最も短い距離となるノードNnearを選択する。図7の例では、ノードNnearはノードNである。
そして、線分長計算部6では、式(1)により、この数え点の個数分のノードN,N,N,N,Nの共分散行列Σを計算する。但し、N=(x,y)、N=(x,y)、N=(x,y)、N=(x,y)、N=(x,y)とし、N’の値は式(2)から計算し、Naveの値は式(3)から計算する。Nは、N’の転置行列である。
Figure 0004760732
そして、線分長計算部6では、共分散行列Σを用いて、マハラノビス距離をdminとした方程式(式(4))を構築する。ここで、dminは、ノードN,N,N,N,Nの間を結ぶ4つの線分のうちの最小のユークリッド距離での線分長であり、図7の例では、線分S,S,S,Sの長さは全て初期線分長dとなっているので、dmin=dである。また、線分長計算部6では、新たなノードNnewを求めるための式(5)を構築する。rは、正のスカラーである。
Figure 0004760732
そして、線分長計算部6では、式(5)を式(4)の方程式に代入してrに関する二次方程式を解き、その求めたrの値を式(5)に代入し、新たなノードNnewを計算し、ノードNnewのユークリッド距離での大きさをdとし、dの値を新たな線分長dnewとする。さらに、線分長計算部6では、ノードNnearとノードNnewとを結ぶ新たな線分Snewを求める。線分長計算部6では、ゴール条件が満たされるまで、以上の処理を繰り返し行う。なお、線分長計算部6では、線分長dnewだけを計算し、新たなノードNnewや線分Snewの生成についてはサンプル点生成部4で行うようにしてもよい。
数え点の個数分のノードN,N,N,N,Nが密集している場合(分散が小さくなる場合)、ロボットの形状や位置と障害物の形状や位置との相対的な関係でロボットが移動(動作)し難くなっている。この場合、マハラノビス距離が小さくなり、新たな線分長dnewとして小さい値が計算され、ロボットをより微小移動させることができ、ロボットの移動が可能となる。一方、数え点の個数分のノードN,N,N,N,Nが密集していない場合(分散が大きくなる場合)、ロボットと障害物との相対的な関係でロボットが移動(動作)し易くなっている。この場合、マハラノビス距離が大きくなり、新たな線分長dnewとして大きい値が計算され、ロボットをより大幅に移動させることができる。
線分長計算部6では、ノードNnewや線分Snewを生成する毎に、そのノードNnewの情報と線分Snewの情報及びノードNnewと線分Snewからなるツリー情報をデータベース3に記憶させる。
線分接続部7は、ノード間を繋ぐ線分を接続して経路を作成する手段である。線分接続部7では、新たなノードNnewが生成される毎に、新たなノードNnewの位置が障害物OBの出口EXから出た位置か否かを判定する(すなわち、ゴール条件を満たしたか否かを判定する)。新たなノードNnewの位置が障害物OBの出口EXから出た場合、線分接続部7では、サンプル点生成部4、個数設定部5、線分長計算部6での処理を終了させ、データベース3からスタートノードNから出口EXから出たノードNnewまでを接続する線分を抽出し、その線分を接続して経路を作成する(図8参照)。
経路出力部8は、線分接続部7で作成した経路を出力する手段である。経路出力部8は、例えば、モニタ、プリンタ、ロボットを動作させる制御部との通信を行う通信装置である。また、経路出力部8は、ロボットを動作させる制御部としての機能を有する場合、動作経路における各位置姿勢のコンフィグレーション空間の座標系(台車の位置や各関節の角度)に従ってロボットの各関節のアクチュエータを駆動制御する。
図1を参照して、経路作成装置1の動作を説明する。経路作成装置1では、オペレータによる入力によって、データベース3に、ロボット情報、スタートノードN、ゴール条件、数え点の個数、初期線分長dが予め記憶される。また、経路作成装置1では、入力部2の各種センサによって、一定時間毎に、ロボットの位置情報や各種障害物情報を取得する。なお、図4の例のように、障害物が固定物の場合、オペレータによって予め入力されてもよい。
まず、個数設定部5では、数え点の個数として基準値を設定する。サンプル点生成部4では、コンフィグレーション空間内に任意のサンプル点qrandomを作成し、そのサンプル点qrandomとスタートノードNとの直線上に初期線分長dに応じた新たなノードNと線分Sを生成する。続いて、サンプル点生成部4では、コンフィグレーション空間内に任意のサンプル点qrandomを作成し、そのサンプル点qrandomとスタートノードN間のユークリッド距離とサンプル点qrandomとノードN間のユークリッド距離とを比較し、短い方のユークリッド距離の直線上に初期線分長dに応じた新たなノードNと線分Sを生成する。サンプル点生成部4では、上記と同様の処理を繰り返し行い、数え点の個数分のノードN,N,N,N,Nと(数え点の個数−1)分の線分S,S,S,Sを生成する。サンプル点生成部4では、ノードNや線分Sを生成する毎に、そのノードNの情報と線分Sの情報及びこれらの情報からなるツリー情報をデータベース3に記憶させる。
続いて、個数設定部5では、数え点の個数として基準値を設定する。そして、サンプル点生成部4では、コンフィグレーション空間内に新たな任意のサンプル点qrandomを生成する。線分長計算部6では、データベース3からサンプル点生成部4で生成したサンプル点qrandomからユークリッド距離で近いノードN,N,N,N,Nを数え点の個数分抽出するとともにそのノード間を繋ぐ線分を抽出する。そして、線分長計算部6では、その数え点の個数分のノードN,N,N,N,Nの中からそのサンプル点qrandomにユークリッド距離で最も近いノードNnearを選択する。また、線分長計算部6では、その(数え点の個数−1)分の線分の中からユークリッド距離で最も短い線分長をdminに設定する。
線分長計算部6では、この数え点の個数分のノードN,N,N,N,Nの座標を用いて、式(1)により、ノードN,N,N,N,Nの共分散行列Σを計算する。そして、線分長計算部6では、共分散行列Σ、ノードNnew、ノードNnear用いて、マハラノビス距離をdminとした方程式(式(4))を構築する。さらに、線分長計算部6では、ノードNnewを求めるための式(5)を式(4)の方程式に代入してrに関する二次方程式を解き、その求めたrの値を式(5)に代入し、新たなノードNnewを計算し、ノードNnewのユークリッド距離での大きさをdとし、dの値を新たな線分長dnewとする。そして、線分長計算部6では、ノードNnearとノードNnewとを結ぶ新たな線分Snewを求める。そして、線分長計算部6では、そのノードNnewの情報と線分Snewの情報及びそれらの情報からなるツリー情報をデータベース3に記憶させる。新たなノードNnewが求められると、線分接続部7では、新たなノードNnewがゴール条件を満たしたか否かを判定する。
ゴール条件を満たさなかった場合、個数設定部5では、新たな線分長dnewが下限線分長dより小さいか否かを判定する。そして、個数設定部5では、線分長dnewが下限線分長dより小さい場合には数え点の個数として基準値より多い補正値を設定し、線分長dnewが下限線分長d以上の場合には数え点の個数として基準値を設定する。そして、サンプル点生成部4で上記と同様に新たなサンプル点qrandomを作成し、線分長計算部6では上記と同様に新たな線分長dnewを計算し、新たなノードNnewと線分Snewを生成し、線分接続部7では上記と同様に新たなノードNnewがゴール条件を満たしたか否かを判定する。
ゴール条件を満たした場合、線分接続部7では、サンプル点生成部4、個数設定部5、線分長計算部6での処理を終了させる。そして、線分接続部7では、データベース3からスタートノードNから出口EXから出たノードNnewまでを接続する線分を抽出し、その線分を接続して経路を作成する。経路出力部8は、線分接続部7で作成された経路を出力する。
この経路作成装置1によれば、ノードの分散状況に従って線分長を計算し、線分長を自動的に更新してゆくことができる。特に、経路作成装置1では、数え点の個数分のノードの分散情報から線分長を計算するだけなので、処理が容易であり、処理負荷を軽減できる。その結果、経路作成装置1では、リアルタイム処理が可能となる。また、経路作成装置1では、自動的に線分長を更新することができるので、障害物を回避しながらゴールまで到達可能な経路を作成することができる。
また、経路作成装置1によれば、線分長が下限線分長より小さくなった場合には数え点の個数を多くすることにより、ノードが密集し過ぎてロボットが移動できないような経路の作成を防止できる。また、経路作成装置によれば、データベース3から経路の途中に対応する部分のツリー構造におけるノード情報を常時取得することができ、そのノード情報から分散情報を求めることができる。また、経路作成装置1によれば、分散情報として共分散行列を用いたマハラノビス距離を適用することにより、簡単に線分長を計算することができり、処理負荷を軽減できる。さらに、マハラノビス距離を用いることにより、ノードが密集している場合には小さい線分長を計算でき、ノードが分散している場合には大きい線分長を計算できる。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態では多数の関節を有し、関節間がリンクで連結され、各関節の回転動作によって多数の自由度を持ちかつ2次元平面を移動するロボットに適用したが、関節が伸縮動作などの他の動作を行うものでも適用可能であり、1次元的に移動するロボットや3次元空間を移動するロボットでも適用可能であり、ロボット全体が移動しないものでも適用可能であり、あるいは、関節を持たない単純な移動体(自動車など)にも適用可能である。
また、本実施の形態では固定の障害物が存在し、その障害物を回避してスタートからゴール条件を満たした場合の経路作成について説明したが、移動する障害物の場合にも適用可能であり、あるいは、ロボットが3次元空間における所定の位置や姿勢になるまでの経路作成にも適用可能である。
また、本実施の形態では線分長が下限線分長より小さくなった場合に数え点の個数を多くする構成としたが、線分長が上限線分長より大きくなった場合に数え点の個数を少なくするなどの他の数え点の個数の変更方法としてもよいし、あるいは、数え点の個数を固定値としてもよい。さらに、直接的に線分長を上限線分長に設定するようにしてもよい。固定値とする場合、ノードが密集し過ぎないように、比較的多めの個数を設定するとよい。
また、本実施の形態ではノードを繋ぐ線分を接続したツリー構造をデータベースに保持する構成としたが、このようなツリー構造をデータベースに保持しなくても実現可能である。
また、本実施の形態では分散情報として共分散行列を用いたマハラノビス距離を適用したが、分散情報として他の様々なものを適用可能である。
また、本実施の形態では線分長が下限線分長より小さい場合には数え点の個数として補正値を設定する構成としたが、線分長が下限線分長より小さくなる毎に所定個数分を加算して徐々に数え点の個数を増加してゆくようにしてもよい。
本実施の形態に係る経路作成装置の構成図である。 本実施の形態で適用されるロボットの一例である。 本実施の形態で適用されるロボットの他の例である。 コンフィグレーション空間(作業空間)における障害物とロボットのスタートノード及びゴール条件の一例である。 図1のサンプル点生成部での処理の説明図であり、(a)がスタートノードから1つ目のノードを生成した場合であり、(b)がスタートノードから2つ目のノードを生成した場合である。 図1の個数設定部で設定した個数分のノード群の一例である。 図1の線分長計算部での処理の説明図である。 図1の線分接続部での処理の説明図である。
符号の説明
1…経路作成装置、2…入力部、3…データベース、4…サンプル点生成部、5…個数設定部、6…線分長計算部、7…線分接続部、8…経路出力部

Claims (4)

  1. ノードを繋ぐ線分を順次接続することによりロボットが障害物を回避する経路を作成する経路作成装置であって、
    経路を探索する際に経路を作成可能なノード間の線分長である探索ステップサイズを計算するためのノードの個数を設定する個数設定手段と、
    障害物とは干渉しないサンプル点を生成するサンプル点生成手段と、
    前記個数設定手段で設定された個数分のノードの分散情報に基づいて、前記個数分のノードの分散が大きいほど探索ステップサイズとして大きい値を計算する探索ステップサイズ計算手段と、
    前記探索ステップサイズ計算手段で計算された探索ステップサイズに応じてノードを探索する探索手段と、
    前記探索手段で探索されたノードを繋ぐ線分を接続し、経路を作成する線分接続手段と
    を備え
    前記探索ステップサイズ計算手段は、前記サンプル点生成手段で生成されたサンプル点q random から近いノードを前記個数設定手段で設定された個数分抽出し、前記抽出された個数分のノードの中から前記サンプル点q random に最も近いノードN near を選択し、前記抽出された個数分のノード間の線分の中から最も短い線分長d min を選択し、前記抽出された個数分のノードの共分散行列Σを計算し、前記線分長d min と前記共分散行列Σとを用いたマハラノビス距離によって、前記ノードN near から新たなノードN new を求め、新たなノードN new のユークリッド距離での大きさを探索ステップサイズとすることを特徴とする経路作成装置。
  2. 前記個数設定手段は、前記探索ステップサイズ計算手段で計算された探索ステップサイズが所定の範囲外の場合に個数を変更することを特徴とする請求項1に記載する経路作成装置。
  3. ノードとノードを繋ぐ線分からなるツリー構造を記憶する記憶手段を備え、
    前記探索ステップサイズ計算手段は、前記記憶手段のツリー構造から前記個数設定手段で設定された個数分のノードを抽出し、当該抽出したノードの分散情報に基づいて探索ステップサイズを計算することを特徴とする請求項1又は請求項2に記載する経路作成装置。
  4. 前記探索ステップサイズ計算手段は、前記サンプル点生成手段で生成されたサンプル点qrandomから近いノードを前記個数設定手段で設定された個数分抽出し、前記抽出された個数分のノードの中から前記サンプル点qrandomに最も近いノードNnearを選択し、前記抽出された個数分のノード間の線分の中から最も短い線分長dminを選択し、前記抽出された個数分のノードの共分散行列Σを計算し、前記共分散行列Σと前記最も近いノードNnearと新たなノードNnewを用いてマハラノビス距離を前記最も短い線分長dminとした式(4)を構築し、新たなノードNnewを計算するための式(5)を構築し、式(4)と式(5)から新たなノードNnewを計算し、新たなノードNnewのユークリッド距離での大きさを探索ステップサイズとすることを特徴とする請求項1〜請求項3のいずれか1項に記載する経路作成装置。
    (Nnew−Nnear)Σ−1(Nnew−Nnear=dmin …(4)
    new=r(qrandom−Nnear)…(5)
JP2007039438A 2007-02-20 2007-02-20 経路作成装置 Expired - Fee Related JP4760732B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007039438A JP4760732B2 (ja) 2007-02-20 2007-02-20 経路作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007039438A JP4760732B2 (ja) 2007-02-20 2007-02-20 経路作成装置

Publications (2)

Publication Number Publication Date
JP2008204161A JP2008204161A (ja) 2008-09-04
JP4760732B2 true JP4760732B2 (ja) 2011-08-31

Family

ID=39781607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007039438A Expired - Fee Related JP4760732B2 (ja) 2007-02-20 2007-02-20 経路作成装置

Country Status (1)

Country Link
JP (1) JP4760732B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101554515B1 (ko) * 2009-01-07 2015-09-21 삼성전자 주식회사 로봇의 경로계획장치 및 그 방법
KR101667032B1 (ko) * 2009-10-30 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
KR101667031B1 (ko) * 2009-11-02 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
JP5338640B2 (ja) * 2009-11-30 2013-11-13 トヨタ自動車株式会社 経路作成装置
JP7460356B2 (ja) 2019-11-13 2024-04-02 ファナック株式会社 移動経路生成装置
CN111123951B (zh) * 2019-12-31 2024-02-06 深圳市优必选科技股份有限公司 一种双足机器人及其轨迹跟随方法和装置
CN115605328A (zh) * 2020-02-19 2023-01-13 发那科株式会社(Jp) 一种用于工业机器人的碰撞避免运动规划方法
JP7400644B2 (ja) 2020-07-02 2023-12-19 株式会社デンソー 動作経路生成装置、動作経路生成方法および動作経路生成プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073130A (ja) * 2000-06-13 2002-03-12 Yaskawa Electric Corp ロボットの大域動作経路計画方法とその制御装置
JP3510195B2 (ja) * 2000-09-11 2004-03-22 川崎重工業株式会社 移動体制御装置および移動体制御方法
US7447593B2 (en) * 2004-03-26 2008-11-04 Raytheon Company System and method for adaptive path planning

Also Published As

Publication number Publication date
JP2008204161A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
JP4760732B2 (ja) 経路作成装置
JP5044991B2 (ja) 経路作成装置及び経路作成方法
US9411335B2 (en) Method and apparatus to plan motion path of robot
JP4941068B2 (ja) 経路作成方法及び経路作成装置
US8825209B2 (en) Method and apparatus to plan motion path of robot
US8483874B2 (en) Path planning apparatus of robot and method and computer-readable medium thereof
US8666548B2 (en) Path planning apparatus of robot and method thereof
JP5998816B2 (ja) 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
Chikhaoui et al. Toward motion coordination control and design optimization for dual-arm concentric tube continuum robots
JP4693643B2 (ja) ロボットの教示支援装置及びそのためのプログラム
US11292132B2 (en) Robot path planning method with static and dynamic collision avoidance in an uncertain environment
JP2009032189A (ja) ロボットの動作経路生成装置
JP2010528886A (ja) モーション計画方法、モーション計画システム及び記録媒体
KR102300752B1 (ko) 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
JP5659890B2 (ja) ロボットの軌道計画システム及び軌道計画方法
JP4667764B2 (ja) 経路設定方法
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP5061798B2 (ja) 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
CN114932549A (zh) 空间冗余机械臂的运动规划方法与装置
JP2006048372A (ja) 経路計画方法
Raheem et al. Applying A* path planning algorithm based on modified c-space analysis
JP4848838B2 (ja) 経路作成装置及び経路作成方法
Chen et al. Model-based estimation of the gravity-loaded shape and scene depth for a slim 3-actuator continuum robot with monocular visual feedback
JP4967458B2 (ja) 経路作成装置及び経路作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110523

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4760732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees