【文献】
加藤二二和,“電力機器設置工事の検討のための経路自動探索法”,電気学会論文誌C,社団法人電気学会,平成6年,114巻2号,p.223−232
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、Cスペースを用いた経路生成方法は、ロボットアームの自由度が増えると、計算量や必要な記憶容量が膨大となり、多自由度ロボットへの適用は非現実的であるといった課題があった。
【0006】
さらに、上記Cスペースを用いた経路生成方法に対する解決策として、Cスペース上の初期コンフィギュレーション点と目標コンフィギュレーション点から波面を広げるようにCスペースを構築することで計算量を削減し、2つの波面を重ねた自由空間で動作生成する方法も開示されているが、波面を全方向に一様に膨張させるため、余分な自由空間の構築を行うといった課題があった(特許文献1)。
【0007】
また、迷路探索法を用いた経路生成方法は、Cスペース上の初期コンフィギュレーション点と目標コンフィギュレーション点を直線で結び、その直線およびその直線と交わるCスペース上の障害物の境界をたどることによって経路を生成するが、2次元迷路を前提としており、3次元以上のCスペースにおける障害物の境界は面や立体で現れるため、経路決定ができないといった課題があった。
【0008】
また、RRT法を用いた経路生成方法は、ランダムに選んだコンフィギュレーション点に向けて一定距離だけ進んだコンフィギュレーション点を経路探索木に取り入れて探索木を成長させ、探索木に取り入れたコンフィギュレーション点をたどることによって経路を生成するが、乱数を用いて自由空間を構築するため、計算時間の推定が困難であるといった課題があった。
【0009】
本発明は、このような背景に鑑みてなされたものであり、コンフィギュレーション空間における過剰な計算を排除して、ロボットアームの動作計画工数を低減することができる経路生成装
置を提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明の請求項1に係る発明は、演算処理装置および記憶装置からなる制御装置を有し、初期コンフィギュレーション点から目標コンフィギュレーション点まで障害物を回避するように新コンフィギュレーション点を採択してロボットアームの動作経路を生成するコンフィギュレーション空間を用いた経路生成装置であって、前記制御装置は、前記初期コンフィギュレーション点を格納する初期位置記憶手段と、前記目標コンフィギュレーション点を格納する目標位置記憶手段と、前記ロボットアームの現在位置を検出する現在位置検出手段と、前記初期コンフィギュレーション点から現在位置までの経路を構成する各コンフィギュレーション点を格納する経路記憶手段と、前記動作経路における現在位置に隣接する現在位置隣接コンフィギュレーション点を求める第1候補判断手段と、前記現在位置隣接コンフィギュレーション点のうち前記障害物との干渉点に隣接する干渉点隣接コンフィギュレーション点を求める第2候補判断手段と、前記現在位置隣接コンフィギュレーション点
を対象として、当該現在位置隣接コンフィギュレーション点が前記
障害物との干渉点であるかどうかを判断する干渉チェック手段と、前記現在位置隣接コンフィギュレーション点のうち現在位置から前記目標コンフィギュレーション点
までの仮想直線経路に沿う方向において、当該現在位置から当該目標コンフィギュレーション点に最も近づくようにコンフィギュレーション点を選定する距離候補判断手段と、を備え、
前記干渉チェック手段は、さらに前記現在位置隣接コンフィギュレーション点
のうち前記動作経路における現在位置において前記距離候補判断手段により選定された距離候補コンフィギュレーション点が前記障害物との干渉点であるかどうかを判断して、前
記距離候補コンフィギュレーション点が前記干渉チェック手段により前記干渉点でないと判断された場合には、当該距離候補コンフィギュレーション点を前記新コンフィギュレーション点として採択して前記経路記憶手段に格納し当該新コンフィギュレーション点まで進む直進モード経路を生成し、前
記距離候補コンフィギュレーション点が前記干渉チェック手段により前記干渉点であると判断された場合には、前記第2候補判断手段により求めた前記干渉点隣接コンフィギュレーション点のうち、前記距離候補判断手段により現在位置から前記目標コンフィギュレーション点
までの仮想直線経路に沿う方向において、当該現在位置から当該目標コンフィギュレーション点に最も近づくように前記新コンフィギュレーション点を採択して前記経路記憶手段に格納し当該新コンフィギュレーション点まで進む境界追従モード経路を生成し、このようにして、前記直進モード経路および前記境界追従モード経路を逐次生成しながら前記初期コンフィギュレーション点から目標コンフィギュレーション点までの動作経路を生成し、前記現在位置隣接コンフィギュレーション点のうち現在位置までに通過した経路を構成する前記経路記憶手段に格納された経路構成コンフィギュレーション点を参照して前記新コンフィギュレーション点として採択しないように除外するデッドロック回避手段をさらに備えたことを特徴とする。
【0011】
本発明は、第1候補判断手段および第2候補判断手段により、現在位置隣接コンフィギュレーション点のうち前記障害物との干渉点に隣接する干渉点隣接コンフィギュレーション点を求めることで、ロボットアームの自由度に対応したすべてのコンフィギュレーション点について干渉の有無を判断するのではなく、コンフィギュレーション空間(Cスペース)の構築をロボットアームの現在位置および干渉点の周囲に限定して部分的なものに留めるので、Cスペースにおける過剰な計算を排除することができる。
このようにして、本発明は、確率的手法によらずにCスペースの構築を部分的なものに限定することで、動作計画工数を効果的に低減することができる。
【0012】
そして、前記動作経路における現在位置において距離候補コンフィギュレーション点が前記干渉点でないと判断された場合には直進モード経路を生成することで、干渉点に隣接するまでは目標コンフィギュレーション点に迅速に到達することができるため、無駄な動作を低減してロボットアームの効率的な動作経路を生成することができる。
【0013】
また、距離候補コンフィギュレーション点が前記干渉点であると判断された場合には、境界追従モード経路を生成することで、障害物の境界を辿る方向に進む経路を採択するため、狭いスペースでも障害物との干渉領域を確実に回避しながら動作経路を生成することが可能である。
【0014】
以上より、本発明に係る経路生成装置は、前記直進モード経路および前記境界追従モード経路を逐次生成しながら、前記初期コンフィギュレーション点から目標コンフィギュレーション点までの動作経路を生成することで、障害物との干渉領域を確実に回避しながら、Cスペースにおける過剰な計算を排除して、ロボットアームの動作計画工数を低減することができる。
【0015】
このため、本発明に係る経路生成装置は、自由度が高い多関節ロボットであっても好適に適用することができる。例えば、安全性が重視される原子力関係の機器等におけるシュラウドや複数の配管が並存するような狭あいな作業空間の中で多関節ロボットアームの動作経路を生成するような場合には、干渉領域を確実に回避することができる動作経路を迅速にシミュレーションすることが可能であるため、経路生成ツールとしての高い利用価値が期待される。
【0017】
本発明によれば、前記距離候補判断手段は、前記現在位置隣接コンフィギュレーション点のうち現在位置から前記目標コンフィギュレーション点
までの仮想直線経路に沿う方向において、当該現在位置から前記目標コンフィギュレーション点に最も近づくようにコンフィギュレーション点を選定することで、より狭いスペースでも障害物との干渉領域を確実に回避しながら動作経路を生成することが可能となる。
【0019】
本発明によれば、現在位置までに遭遇したコンフィギュレーション点を除外して、常に新しいコンフィギュレーション点について経路探索が行われるため、経路を逆戻りして同じ経路を往復したり、同じ経路を周回したりしてデッドロックに陥ることを回避することができる。
【発明の効果】
【0024】
本発明によれば、コンフィギュレーション空間における過剰な計算を排除して、ロボットアームにおける動作計画工数を低減することができる経路生成装
置を提供することができる。したがって、本発明は、自由度が高い多関節ロボットであっても円滑に適用できることから、原子力分野等における狭あいな作業空間の中で複雑な動作をさせたい場合等において特に好適である。
【発明を実施するための形態】
【0026】
本発明の実施形態に係る経路生成装置1(
図3参照)について、適宜図を参照しながら詳細に説明する。経路生成装置1は、コンフィギュレーション空間(Cスペース)を用いて、6軸を有するロボットアーム100(
図1参照)の動作経路を生成する場合を例として説明する。なお、ロボットアーム100は、一般的にはロボットアーム自体が移動するような移動体として広く観念されるものであればよく、特に限定して解釈されるものではない。
【0027】
ロボットアーム100は、
図1に示すように、6つの関節(6つの自由度)からなる6軸J1,J2,J3,J4,J5,J6を備えている。
ロボットアームの自由度を表すパラメータを関節角度として、ロボットアーム100の6軸J1,J2,J3,J4,J5,J6の関節角度をそれぞれθ1,θ2,θ3,θ4,θ5,θ6とすれば、ロボットアーム100のコンフィギュレーション(姿勢)はθ1,θ2,θ3,θ4,θ5,θ6で表すことができる。
【0028】
このように、ロボットアーム100の自由度を表すパラメータ(例えば、関節角度や伸縮長さ)を座標軸の値とした場合、ロボットアーム100のコンフィギュレーション点はCスペース上の点として表現することができる。
【0029】
例えば、
図2に示すように、簡略化のために例えば、実空間において関節角度をθxとθyで表すことができる2軸(θx,θy)のロボットアーム100′(
図2(a)参照)について、横軸にθxをとり縦軸にθyをとれば、Cスペース上において、ロボットアーム100′のコンフィギュレーション(姿勢)をコンフィギュレーション点(θx,θy)して表すことができる。
【0030】
一方、ロボットアーム100′が作業空間中の障害物Ob(Obstacle)と干渉(衝突)するコンフィギュレーション点を干渉点と定義する。干渉点が単独で存在することはまれであり、一般に連続した点の集合である干渉領域CA(Collision Area)としてCスペース上に表すことができる(
図2(b)参照)。
このようにして、
図2(b)に示すように、Cスペース上において、ロボットアーム100′のコンフィギュレーションと干渉領域CAを表すことで、動作経路におけるロボットアームと障害物との干渉をチェックすることができる。
【0031】
なお、
図2では2軸(θx,θy)について説明したが、計算量が異なるとしても同じ考え方でロボットアーム100(
図1)のような6軸(θ1,θ2,θ3,θ4,θ5,θ6)に発展させて処理することも可能である。このため、
図4や
図5に示すように、2軸のみを平面的に示す方が理解しやすいので、便宜上簡略化したものである。
【0032】
経路生成装置1は、
図3と
図4に示すように、初期コンフィギュレーション点qiから目標コンフィギュレーション点qgまで干渉領域CAを回避するように逐次新コンフィギュレーション点qn(例えば、
図5(a)参照)を採択してロボットアーム100の動作経路を生成する装置である(
図4、
図7参照)。
ここで、Cスペースを用いた動作計画とは、
図4に示すように、Cスペース上において干渉領域CAを避けて初期コンフィギュレーション点qi(initial)と目標コンフィギュレーション点qg(goal)を接続する経路を生成し、実空間における経路に置き換えて動作経路を探索する手法である。
【0033】
経路生成装置1は、
図3に示すように、作業者(不図示)がデータ入力等を行う操作盤2と、図示しないCPU等からなる演算処理装置3と、種々のデータを格納する記憶装置4と、を備えている。
操作盤2には、ディスプレイ21が配設され、ロボットアーム100や作業空間を3D(3次元)グラフィックス表示して、作業者(不図示)が生成された動作経路を視認できるようになっている。
【0034】
演算処理装置3は、
図3と
図4に示すように、現在位置検出手段31と、現在位置qpに隣接する現在位置隣接コンフィギュレーション点qcを求める第1候補判断手段32と、干渉点に隣接する干渉点隣接コンフィギュレーション点qcaを求める第2候補判断手段33と、干渉点であるかどうかを判断する干渉チェック手段34と、現在位置qpから目標コンフィギュレーション点qgに近づくように距離候補コンフィギュレーション点を選定する距離候補判断手段35と、現在位置qpまでに通過したコンフィギュレーション点を除外するデッドロック回避手段36と、を備えている。
【0035】
記憶装置4は、初期位置記憶手段41と、目標位置記憶手段42と、ロボットアーム100(
図1)の形状データを格納するロボット形状記憶手段43と、作業空間の形状データを格納する作業空間記憶手段44と、現在位置qpまでの経路を格納する経路記憶手段45と、発見した干渉点を格納する干渉点記憶手段46と、を備えている。
【0036】
以下、経路生成装置1を構成する具体的手段、およびその作用効果について、
図3と
図4を参照しながら経路生成装置1の動作の順に沿って説明する。
参照する
図4において、細線で表示された図の縦方向のグリッド線をa〜lまで、横方向のグリッド線を1〜11まで符号をつけて示し、それらのグリッド線の交点を格子点といい(a,1)〜(l,11)のように表示する。ただし、グリッド線の間隔等の表示は模式的なものであり縦横の比率等は簡略化したものである。
【0037】
格子点は、Cスペースを細かく分割して、離散化されたコンフィギュレーション点の集合として扱うための概念である。このように、Cスペースを連続した空間として認識するのではなく、格子点を基準として離散化(量子化)し、この量子化された格子点を通るように新コンフィギュレーション点を採択しながら動作経路を生成することで、Cスペース上の演算処理を簡略化することができる。
例えば、ロボットアーム100の根元部分の関節角度θ1〜θ3を1度刻みにして、手先部分の関節角度θ4〜θ6を5度刻みにしてCスペースにおける格子点を設定し、この格子点を基準にして離散化されたCスペースを構築することができる。
【0038】
初期位置記憶手段41は、初期コンフィギュレーション点qi(
図4参照)であるロボットアーム100の初期姿勢(実空間では
図7(a)参照)を各関節の関節角度等により記憶する装置であり、操作盤2から作業者(不図示)が入力したり、演算処理装置3により初期位置を角度センサ等の検出器で検出して初期コンフィギュレーション点qiとして設定したりすることができる。
例えば、初期コンフィギュレーション点qiは、qi=(θ1,θ2,θ3,θ4,θ5,θ6)=(−170,90,0,25、−85,75)のように関節角度をパラメータとして表すことができる。
【0039】
目標位置記憶手段42は、目標コンフィギュレーション点qgであるロボットアーム100の目標姿勢(実空間では
図7(b)参照)を各関節の関節角度等により記憶する手段であり、操作盤2から作業者(不図示)が入力したり、演算処理装置3により目標位置を角度センサ等の検出器で検出して目標コンフィギュレーション点qgとして設定したりすることができる。
例えば、目標コンフィギュレーション点qgは、qg=(θ1,θ2,θ3,θ4,θ5,θ6)=(−71,−75,38,80,−10,25)のように関節角度をパラメータとして表すことができる。
【0040】
ロボット形状記憶手段43は、CADファイル等から作成したロボットアーム100の形状データを格納するが、データ処理を簡略化するため、例えば、ロボットアーム100の形状データをポリゴンと呼ばれる多角形等の最小構成単位(例えば三角形)の集合で表して、この多角形の集合をCスペース上の形状として表現して記憶することができる。
かかる構成により、実空間におけるロボットアーム100の形状データを三角形等のポリゴンの集合として表して、Cスペース上の形状として認識することで、Cスペース上におけるロボットアーム100の形状データを簡略化(離散化)して演算処理を短縮化することができる。
【0041】
作業空間記憶手段44は、障害物Ob(
図7参照)が配置された作業空間の形状データを格納するが、データ処理を簡略化するため、例えば、障害物Obの形状データをポリゴン(例えば三角形等の多角形)の集合で表して、この三角形等の集合をCスペース上の形状として表現して記憶することができる。
かかる構成により、Cスペース上における作業空間の形状データを簡略化(離散化)して演算処理を短縮化することができる。
【0042】
現在位置検出手段31は、例えば、ロボットアーム100(
図1参照)の6軸の関節角度(θ1,θ2,θ3,θ4,θ5,θ6)を角度センサ等により計測して、Cスペース上の探索経路における現在位置qpを検出する装置である。
現在位置qpは、経路探索中は現在位置qpから新たに採択された新コンフィギュレーション点qn(例えば、
図5(a)参照)を生成するごとに更新されるが、現在位置qpの位置データは経路記憶手段45に格納されている。
【0043】
経路記憶手段45は、初期コンフィギュレーション点qiから現在位置qpまでの経路を構成する経路構成コンフィギュレーション点を格納する記憶装置である。
例えば、経路記憶手段45は、
図4(b)に示す現在位置qp(g,4)では、現在位置qp(g,4)までの経路を構成する経路構成コンフィギュレーション点として(f,3),(g,4)を格納している。
【0044】
第1候補判断手段32は、
図3と
図4に示すように、動作経路における現在位置qpに隣接する現在位置隣接コンフィギュレーション点qcを求める演算装置である。例えば、現在位置qpのコンフィギュレーション点に対して、実空間におけるロボットアーム100の関節角度(θ1,θ2,θ3,θ4,θ5,θ6)がそれぞれ離散化された回転角度だけ変化した場合のCスペース上における隣接するコンフィギュレーション点を演算して求めることができる。
具体的には、第1候補判断手段32は、
図4(a)における初期コンフィギュレーション点qi(f,2)が現在位置qpである場合には、コンフィギュレーション点(e,1),(e,2),(e,3),(f,1),(f,3),(g,1),(g,2),および(g,3)を現在位置隣接コンフィギュレーション点qcとして求める。
【0045】
第2候補判断手段33は、
図4(b)に示すように、現在位置qpに対する現在位置隣接コンフィギュレーション点qcのうち干渉領域CAとの干渉点に隣接する干渉点隣接コンフィギュレーション点qcaを求める演算装置である。
例えば、2次元平面で表したCスペース上では、
図4(b)における現在位置qp(g,4)では、コンフィギュレーション点(f,3),(f,4),(f,5),(g,3),(g,5),(h,3),(h,4),および(h,5)が現在位置隣接コンフィギュレーション点qcであるから、第2候補判断手段33は、これらの現在位置隣接コンフィギュレーション点qcのうちの(f,4),および(h,4)を干渉点に隣接する干渉点隣接コンフィギュレーション点qcaとして求める。
【0046】
このようにして本発明の実施形態に係る経路生成装置1は、第1候補判断手段32および第2候補判断手段33により、現在位置隣接コンフィギュレーション点qcのうち障害物Obとの干渉点に隣接する干渉点隣接コンフィギュレーション点qcaを求めることで、ロボットアーム100の自由度に対応したすべてのコンフィギュレーション点について干渉の有無を判断するのではなく、Cスペースの構築をロボットアーム100の現在位置qpおよび干渉点の周囲に限定して部分的なものに留めるので、コンフィギュレーション空間における過剰な計算を排除することができる。
【0047】
したがって、経路生成装置1は、確率的手法によらずにCスペースの構築を部分的なものに限定することで、動作計画工数を効果的に低減することができ、自由度が高い6軸のロボットアーム100であっても好適に適用することができる。
【0048】
干渉チェック手段34は、
図3と
図4に示すように、現在位置隣接コンフィギュレーション点
を対象として、対象となる現在位置隣接コンフィギュレーション点がそれぞれ障害物Ob(干渉領域CA)との干渉点であるかどうかを判断する演算装置である。
つまり、干渉チェック手段34は、対象となる現在位置隣接コンフィギュレーション点におけるロボットアーム100(
図1参照)の関節角度(θ1,θ2,θ3,θ4,θ5,θ6)から、ロボット形状記憶手段43に格納されたロボットアーム100の形状データを基にして対象となる現在位置隣接コンフィギュレーション点におけるロボットアーム100の形状(姿勢)を求めて、作業空間記憶手段44に格納された障害物Ob(干渉領域CA)の形状データと干渉するかどうかをチェックする。
【0049】
例えば、干渉チェック手段34は、ロボットアーム100と障害物ObのCADデータをポリゴン(例えば三角形等の多角形)の集合として表した場合には、対象となる現在位置隣接コンフィギュレーション点におけるロボットアーム100のポリゴンの集合と障害物Obのポリゴンの集合が幾何学的に接触しているかどうかを判定して判断する。
【0050】
具体的には、干渉チェック手段34は、Cスペース上において、対象となる現在位置隣接コンフィギュレーション点qcにおけるロボットアーム100の形状を構成する1つの多角形(ポリゴン)と障害物Obの形状を構成する1つの多角形(ポリゴン)との接触を判定し、それぞれすべての多角形(ポリゴン)の集合について同様に判定して、ロボットアーム100と障害物Obが干渉するか否かを判断して、ディスプレイ21(
図3)に表示させることができる。
【0051】
なお、本実施形態においては、Cスペース上において、ポリゴンの集合が接触しているかどうかで判断したが、これに限定されるものではなく、ロボットアーム100の自由度数(N次元)に応じて、このN次元形状の干渉領域CAを想定してロボットアーム100と干渉領域CAとの干渉をチェックしてもよい。
また、ポリゴン(多角形状)ではなく、ロボットアーム100と障害物Obを点や線ないし面の集合として表して、このような点と面との干渉チェック、または線と面との干渉チェックでもよい。
さらに、Cスペース上における干渉チェックに限定されるものではなく、CAD空間や実空間内で点や線ないしポリゴンを利用した干渉チェックを採用することもできる。
【0052】
干渉点記憶手段46は、干渉チェック手段34により動作経路を探索中に遭遇して発見した干渉点を格納する記憶装置である。
例えば、干渉点記憶手段46は、
図4(b)における現在位置qp(g,4)において、干渉チェック手段34により発見された干渉点としてコンフィギュレーション点(f,5),(g,5),および(h,5)を格納する。
【0053】
距離候補判断手段35は、
図3と
図4に示すように、現在位置隣接コンフィギュレーション点qcのうち現在位置qpから目標コンフィギュレーション点qgまでの仮想直線経路に
沿う方向において、現在位置qpから目標コンフィギュレーション点qgに最も近づくように距離候補コンフィギュレーション点を選定する演算装置である。
例えば、距離候補判断手段は、
図4(a)に示すように、初期コンフィギュレーション点qi(f,2)が現在位置qpである場合には、現在位置(f,2)から目標コンフィギュレーション点qgまでの仮想直線経路(破線で示す直線)に
沿う方向において、現在位置(f,2)から目標コンフィギュレーション点qgに最も近づくように距離候補コンフィギュレーション点(f,3)を選定する。
【0055】
デッドロック回避手段36は、
図3と
図4に示すように、現在位置隣接コンフィギュレーション点qcのうち現在位置qpまでに通過した経路を構成する経路記憶手段45に格納された経路構成コンフィギュレーション点を参照して新コンフィギュレーション点qnとして採択しないように除外する演算装置である。
【0056】
続いて、本発明の実施形態に係る経路生成装置1における動作について
図4と
図5、および適宜
図6のフローチャートを参照しながら説明する。
図4と
図5は、初期コンフィギュレーション点qiから目標コンフィギュレーション点qgまで障害物を回避するように新コンフィギュレーション点qnを採択してロボットアーム100の動作経路を生成する様子を説明するための模式図であり、
図4は干渉領域CAが凸形状をなした例を示し、
図5は干渉領域CAが凹形状をなしデッドロック回避手段36の動作を説明するための模式図である。
【0057】
[データの格納]
作業者(不図示)がロボットアーム100(
図1)の初期位置データ、目標位置データ、ロボットアーム100の形状データ、および障害物Ob(
図2(a)、
図7)の形状データを操作盤2から入力すると、経路生成装置1は、
図6に示すように、Cスペース上において、ロボットアーム100の初期位置データを初期コンフィギュレーション点qiとして初期位置記憶手段41に格納し、目標位置データを目標コンフィギュレーション点qgとして目標位置記憶手段42に格納し、ロボットアーム100(
図1参照)の形状データをロボット形状記憶手段43に格納し、障害物Ob(
図2(a)、
図7)の形状データを作業空間記憶手段44に格納する(
図6のステップS1参照)。
【0058】
そして、経路生成装置1は、現在位置検出手段により、Cスペース上における現在位置qpを検出し(
図6のステップS2)、干渉チェック手段34により、現在位置隣接コンフィギュレーション点
を対象として、対象となる現在位置隣接コンフィギュレーション点がそれぞれ障害物Ob(干渉領域CA)との干渉点であるかどうかを判断す
る。
さらに、このとき干渉チェック手段は、現在位置隣接コンフィギュレーション点のうち距離候補判断手段35により選定された距離候補コンフィギュレーション点(f,3)が障害物Obとの干渉点であるかどうかを判断する(図6のステップS3)。
【0059】
経路生成装置1は、
図3と
図4に示すように、初期コンフィギュレーション点qi、および現在位置qpから目標コンフィギュレーション点qgに向かって直線的に経路を採択する直進モード経路(
図4(a),(c)参照)と、干渉領域CAの境界に沿って経路を採択する境界追従モード経路(
図4(b))と、を繰り返すことで経路を生成する(
図6のステップS4とS5)。
【0060】
[直進モード経路]
直進モード経路は、
図4(a),(c)に示すように、動作経路における現在位置qpにおいて距離候補判断手段35により選定された距離候補コンフィギュレーション点(f,3)が干渉チェック手段34により干渉点でないと判断された場合には(
図6のステップS3のYes)、この距離候補コンフィギュレーション点(f,3)を新コンフィギュレーション点qnとして採択して(
図6のステップS9)、経路記憶手段45に格納し新コンフィギュレーション点qnまで進む経路である(
図6のステップS4〜S9)。
【0061】
具体的には、経路生成装置1は、
図4(a)に示すように、初期コンフィギュレーション点qi(f,2)が現在位置qpである場合には、第1候補判断手段32により、コンフィギュレーション点(e,1),(e,2),(e,3),(f,1),(f,3),(g,1),(g,2),および(g,3)を現在位置隣接コンフィギュレーション点qcとして求める。
【0062】
そして、経路生成装置1は、距離候補判断手段35により、これらの現在位置隣接コンフィギュレーション点qcのうち現在位置qpから目標コンフィギュレーション点qgに最も近づくようにコンフィギュレーション点(f,3)を選定する。
【0063】
そして、経路生成装置1は、干渉チェック手段34により、コンフィギュレーション点(f,3)が干渉点であるかどうかを判断して、干渉点ではないので、コンフィギュレーション点(f,3)が経路構成コンフィギュレーション点でないこと(
図6のステップS6)、および、目標コンフィギュレーション点でないことを確認して(
図6のステップS7)、このコンフィギュレーション点(f,3)を新コンフィギュレーション点pnとして採択する(
図6のステップS9)。
【0064】
同様にして、
図4(a)に示すように、経路生成装置1は、コンフィギュレーション点(f,3)からさらに直進モード経路を採択し、コンフィギュレーション点(g,4)まで進む経路を生成する。
【0065】
かかる構成により、経路生成装置1は、このようにして直進モード経路を生成することで、干渉点に隣接するまでは目標コンフィギュレーション点に迅速に到達することができるため、無駄な動作を低減してロボットアーム100の効率的な動作経路を生成することができる。
【0066】
[境界追従モード経路]
境界追従モード経路は、
図4(b)に示すように、動作経路における現在位置qpにおいて距離候補判断手段35により選定された距離候補コンフィギュレーション点が干渉チェック手段34により干渉点であると判断された場合には(
図6のステップS3のNo)、第2候補判断手段33により求めた干渉点隣接コンフィギュレーション点qcaのうち、距離候補判断手段35により現在位置qpから目標コンフィギュレーション点qgに近づくように新コンフィギュレーション点qnを採択して経路記憶手段45に格納し新コンフィギュレーション点qnまで進む経路である(
図6のステップS5〜S9)。
【0067】
具体的には、経路生成装置1は、
図4(b)に示すように、現在位置qpがコンフィギュレーション点(g,4)である場合には、第1候補判断手段32により、コンフィギュレーション点(f,3),(f,4),(f,5),(g,3),(g,5),(h,3),(h,4),および(h,5)を現在位置隣接コンフィギュレーション点qcとして求める。
【0068】
そして、経路生成装置1は、距離候補判断手段35により、これらの現在位置隣接コンフィギュレーション点qcのうち現在位置qpから目標コンフィギュレーション点qgに最も近づくように、例えばコンフィギュレーション点(g,5)を選定する。
【0069】
そして、経路生成装置1は、干渉チェック手段34により、コンフィギュレーション点(g,5)が干渉点であるかどうかを判断して、この場合にはコンフィギュレーション点(g,5)が干渉点であるので、第2候補判断手段33により、干渉点隣接コンフィギュレーション点qca(f,4),(h,4)のうち、距離候補判断手段35により、現在位置qpから目標コンフィギュレーション点qgに近づくように新コンフィギュレーション点qn(h,4)を採択して、経路記憶手段45に格納し、この新コンフィギュレーション点(h,4)まで進む経路を生成する(
図6のステップS6,S7,S9)。
【0070】
このとき、経路生成装置1は、経路探索中に干渉チェック手段34が発見した干渉点であるコンフィギュレーション点(g,5)を干渉点記憶手段46に格納して記憶する。
このように発見した干渉点を記憶しておくことで、繰り返しの演算を回避して処理を迅速化することができる。
【0071】
同様にして、
図4(b)に示すように、経路生成装置1は、コンフィギュレーション点(h,4)からコンフィギュレーション点(k,8)まで境界追従モード経路を採択して経路を生成する。
【0072】
かかる構成により、経路生成装置1は、距離候補コンフィギュレーション点が干渉点であると判断された場合には、境界追従モード経路を生成することで、障害物Obの境界を辿る方向に進む経路を採択するため、狭いスペースでも障害物Obとの干渉領域CAを確実に回避しながら動作経路を生成することが可能である。
【0073】
経路生成装置1は、
図4(c)に示すように、
図4(a)に示す直進モード経路と同様にして、コンフィギュレーション点(k,8)から目標コンフィギュレーション点qg(k,8)まで直進モード経路を生成する。
このようにして、経路生成装置1は、直進モード経路(
図4(a),(c))および境界追従モード経路(
図4(b))を逐次生成しながら初期コンフィギュレーション点qiから目標コンフィギュレーション点qgまでの動作経路を生成する。
【0074】
続いて、
図5を参照しながら干渉領域CAが凹形状の場合におけるデッドロック回避手段36(
図3)の動作について説明する。なお、直進モード経路および境界追従モード経路については
図4の場合と同様であるので詳細な説明は省略する。
図5(a)に示すように、経路生成装置1は、初期コンフィギュレーション点qi(b,5)からコンフィギュレーション点(g,8)までは直進モード経路を生成して進行し、コンフィギュレーション点(g,8)からコンフィギュレーション点(j,8)までは境界追従モードを生成して進行する。
【0075】
ここで、現在位置qpがコンフィギュレーション点(j,8)である場合には、デッドロック回避手段36により、現在位置qp(j,8)までに通過した経路であるコンフィギュレーション点(i,8)を採択しないので(
図6のステップS6〜S8)、経路を逆戻りして同じ経路を往復するようなデッドロックに陥ることを回避することができる。
【0076】
したがって、経路生成装置1は、常に新しいコンフィギュレーション点を採択するため、コンフィギュレーション点(j,8)では、新コンフィギュレーション点qnとして(j,7)を採択する(
図6のステップS9)。このようにして、経路生成装置1は、コンフィギュレーション点(j,6)からコンフィギュレーション点(i,6)まで、境界追従モードを生成して進行する(
図6のステップS5)。
【0077】
現在位置qpがコンフィギュレーション点(i,6)である場合には、
図5(b)に示すように、コンフィギュレーション点(j,7)と(h,6)が干渉点隣接コンフィギュレーション点qcaであるが、コンフィギュレーション点(j,7)は、現在位置qpまでに通過した経路構成コンフィギュレーション点であるから、デッドロック回避手段36により新コンフィギュレーション点qnとして採択しないように除外される(
図6のステップS6〜S8)。
【0078】
このため、経路生成装置1は、コンフィギュレーション点(j,7)を新コンフィギュレーション点として採択しないように除外することで、コンフィギュレーション点(j,7)から(j,6)、(i,6)のように同じ経路を周回するようなデッドロックに陥ることを回避することができる。
このようにして、経路生成装置1は、コンフィギュレーション点(i,6)から新コンフィギュレーション点qnとして(h,6)を採択し、同様にして、
図5(c)に示すように、コンフィギュレーション点(h,6)からさらに境界追従モード経路および直進モード経路を生成しながら目標コンフィギュレーション点qgに到達する。
【0079】
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されず、適宜変更して実施することが可能である。
例えば、本実施形態においては、干渉点記憶手段46を備えて構成したが、これに限定されるものではなく、干渉点記憶手段46を設けずにその都度干渉チェック手段34により、干渉点であるかどうかを判断してもよい。
【0080】
本実施形態においては、コンフィギュレーション空間を用いた経路生成装置について説明したが、実空間における干渉チェック等の手法を排除する趣旨ではなく、本発明における経路生成の後、実際のロボットアーム100の動作を実空間において確認し検証することもできる。