(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】移動経路生成装置
(51)【国際特許分類】
G05D 1/622 20240101AFI20240326BHJP
B25J 9/22 20060101ALI20240326BHJP
B25J 9/10 20060101ALI20240326BHJP
【FI】
G05D1/622
B25J9/22 Z
B25J9/10 A
(21)【出願番号】P 2019205515
(22)【出願日】2019-11-13
【審査請求日】2022-09-14
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】ゴバック ズン
【審査官】仁木 学
(56)【参考文献】
【文献】米国特許出願公開第2014/0121833(US,A1)
【文献】特開2017-151687(JP,A)
【文献】特開2014-073550(JP,A)
【文献】国際公開第2014/068975(WO,A1)
【文献】特開2008-204161(JP,A)
【文献】国際公開第2015/040980(WO,A1)
【文献】国際公開第2019/009350(WO,A1)
【文献】特開2009-211571(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/20 ー 1/87
B25J 1/00 ー 21/02
(57)【特許請求の範囲】
【請求項1】
多関節ロボットである移動体の移動経路を生成するための移動経路生成装置であって、
PRM(Probabilistic RoadMap)を用いて、前記多関節ロボットの始点から目標点について、障害物と干渉しない前記多関節ロボットの姿勢であるノードをランダムに生成し、生成したノードをつなぎ合わせた前記移動経路から、グラフ探索アルゴリズムを用いて、前記始点から前記目標点までの前記移動経路を生成するPRM経路生成部と、
前記多関節ロボットの前記移動経路及び前記ノードを記憶したデータベースであるマップ記憶部と、
前記PRM経路生成部により前記移動経路が生成されなかった場合、RRT(Rapidly exploring random tree)を用いて、前記始点を基点として、前記障害物と干渉しない前記多関節ロボットの姿勢であるノードを生成し、生成したノードを新たな基点として、ノードを生成することを前記目標点に到達するまで繰り返すことによって、前記移動経路を生成するRRT経路生成部と、
前記RRT経路生成部により生成された前記移動経路を前記マップ記憶部に追加する追加部と、
前記RRT経路生成部により生成された前記ノード間で新たな経路を生成可能な場合には、前記新たな経路を生成することにより、前記移動経路を再編する移動経路再編部と、
を備え、
前記多関節ロボットは、
前記多関節ロボット全体を制御する動作制御部と、
前記多関節ロボットのアーム及びハンドであり、前記動作制御部の制御に従い、前記PRM経路生成部又前記RRT経路生成部により生成された前記移動経路に従い動作する可動部と、
を備え
、
始点から第1目標点への第1移動経路を生成する際に、前記PRM経路生成部は、処理の開始時に、始点ノード及び第1目標点ノードについて、前記マップ記憶部に前記第1移動経路、前記始点ノード及び前記第1目標点ノードのデータが記憶されていない場合、前記第1移動経路の生成に失敗し、
前記RRT経路生成部は、前記PRM経路生成部により前記第1移動経路が生成されなかった場合、前記RRTを用いて前記第1移動経路を生成し、
前記追加部は、前記RRT経路生成部により生成された前記第1移動経路、並びに前記RRT経路生成部により生成された前記始点ノード及び前記第1目標点ノードを含むノードを前記マップ記憶部に追加し、
前記始点から第2目標点への第2移動経路を生成する際に、前記PRM経路生成部は、第2目標点ノードについて、前記マップ記憶部に前記第2移動経路及び前記第2目標点ノードが記憶されていない場合、前記第2移動経路の生成に失敗し、
前記RRT経路生成部は、前記PRM経路生成部により前記第2移動経路が生成されなかった場合、前記RRTを用いて前記第2移動経路を生成し、
前記移動経路再編部は、前記RRT経路生成部により前記第1移動経路及び前記第2移動経路の生成時に生成されたノード間で新たな経路を生成可能な場合には、前記新たな経路を生成し、
前記追加部は、前記RRT経路生成部により生成された前記第2移動経路、前記RRT経路生成部により生成された前記始点ノード及び前記第2目標点ノードを含むノード、並びに前記移動経路再編部により生成された前記新たな移動経路を前記マップ記憶部に追加し、
前記第1目標点から前記第2目標点への第3移動経路を生成する際に、前記PRM経路生成部は、前記第1目標点ノード及び前記第2目標点ノードについて、前記第3移動経路、前記第1目標点ノード及び前記第2目標点ノードのデータが前記マップ記憶部に記憶されている場合、前記マップ記憶部に記憶されたデータに基づいて、前記第3移動経路を生成する、
移動経路生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動経路生成装置に関する。
【背景技術】
【0002】
従来より、多関節ロボット、AGV(Automatic Guided Vehicle)等のような移動体は、障害物と干渉しないように、障害物を迂回するように移動経路を設定される必要がある。このような移動体の移動経路を設定するために様々な手法が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、例えば、移動体が多関節ロボットの場合、到達可能な姿勢が非常に多く存在するため、従来の手法では、移動体の移動経路を効率良く生成できない場合があった。このため、効率良く適切な移動経路を生成できる移動経路生成装置が望まれる。
【課題を解決するための手段】
【0005】
本開示の一態様に係る移動経路生成装置は、移動体の移動経路を生成するための移動経路生成装置であって、PRM(Probabilistic RoadMap)を用いて前記移動体の始点から目標点までの前記移動経路を生成するPRM経路生成部と、前記PRM経路生成部により前記移動経路が生成されなかった場合、RRT(Rapidly exploring random tree)を用いて前記移動経路を生成するRRT経路生成部と、前記RRT経路生成部により生成された前記移動経路をマップ記憶部に追加する追加部と、を備える。
【発明の効果】
【0006】
本発明によれば、効率良く適切な移動経路を生成できる。
【図面の簡単な説明】
【0007】
【
図1】移動経路生成装置の機能を示すブロック図である。
【
図2】移動経路生成装置による移動経路の生成を示す模式図である。
【
図3】移動経路生成装置による移動経路の生成を示す模式図である。
【
図4】移動経路生成装置による移動経路の生成を示す模式図である。
【
図5】移動経路生成装置による移動経路の生成を示す模式図である。
【
図6】移動経路生成装置による移動経路の生成を示す模式図である。
【
図7】移動経路生成装置による移動経路の生成を示す模式図である。
【
図8】移動経路生成装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る移動経路生成装置1の機能を示すブロック図である。
図1に示すように、移動経路生成装置1は、移動体としての多関節ロボット2の移動経路を生成する。移動経路生成装置1は、通信インターフェース等により多関節ロボット2と接続される。移動経路生成装置1は、制御部11と、記憶部12と、を備える。
【0009】
なお、本実施形態は、移動経路生成装置1は、移動体として多関節ロボット2を用いて説明するが、移動体は、多関節ロボットに限定されず、例えば、AGV(Automatic Guided Vehicle)等であってもよい。
【0010】
制御部11は、CPU(Central Processing Unit)等のプロセッサであり、記憶部12に記憶されたプログラムを実行することによってPRM経路生成部111、RRT経路生成部112、移動経路再編部113及び追加部114として機能する。
【0011】
記憶部12は、OS(Operating System)やアプリケーションプログラム等を格納するROM(Read Only Memory)、RAM(Random Access Memory)、その他の各種情報を格納するハードディスクドライブやSSD(Solid State Drive)等の記憶装置である。
記憶部12は、多関節ロボット2の移動経路及びノードを記憶したデータベースであるマップ記憶部121を備える。
【0012】
PRM経路生成部111は、PRM(Probabilistic RoadMap)を用いて多関節ロボット2の始点から目標点までの移動経路及びノードを生成する。
具体的には、PRM経路生成部111は、多関節ロボット2の始点から目標点について、障害物と干渉しない多関節ロボット2の姿勢(ノード)をランダムにいくつか生成する。PRM経路生成部111は、生成したノードをつなぎ合わせた移動経路から、ダイクストラ法等のグラフ探索アルゴリズムを用いて、始点から目標点までの最短の移動経路を生成する。
【0013】
また、PRM経路生成部111は、マップ記憶部121が始点ノードA及び目標点ノードBの移動経路を記憶している場合には、マップ記憶部121に記憶された移動経路及びノードに基づいて、PRMを用いて多関節ロボット2の始点から目標点までの移動経路を生成する。
【0014】
ここで、多関節ロボット2は、到達可能な姿勢(ノード)を非常に多く有するため、PRMを用いて全てのノードを生成することは不可能である。また、PRM経路生成部111は、ノードをランダムに生成するため、ノードの配置が不均一になる場合がある。この場合、ノードが生成されない領域や、無駄なノードが生成される領域が存在してしまう。
【0015】
また、PRM経路生成部111は、ノード数を増やした場合、ノードが生成されない領域を減らせるが、ノード数に伴いグラフ探索コストが大きくなる。このようにPRM経路生成部111は、始点から目標点までの移動経路の生成に失敗する場合がある。
【0016】
そこで、移動経路生成装置1は、は、PRM経路生成部111により移動経路が生成されなかった場合、処理をRRT経路生成部112に移す。
【0017】
RRT経路生成部112は、PRM経路生成部111により移動経路が生成されなかった場合、RRT(Rapidly exploring random tree)を用いて移動経路を生成する。
【0018】
具体的には、RRT経路生成部112は、多関節ロボット2の始点から目標点について、始点を基点として、障害物と干渉しないノードをランダムにいくつか生成する。RRT経路生成部112は、生成したノードを新たな基点として、ノードをランダムにいくつか生成することを目標点に到達するまで繰り返す。RRT経路生成部112は、このような処理によって移動経路を生成するため、移動経路を探索する成功率を高くすることができる。
【0019】
移動経路再編部113は、RRT経路生成部112により生成された移動経路を再編する。具体的には、移動経路再編部113は、RRT経路生成部112により生成されたノード間で新たな経路を生成可能な場合には、新たな経路を生成することにより移動経路を再編する。
【0020】
追加部114は、RRT経路生成部112により生成された移動経路をマップ記憶部121に追加する。また、追加部114は、移動経路再編部113により再編された移動経路をマップ記憶部121に追加する。
【0021】
多関節ロボット2は、移動経路生成装置1により生成された移動経路に従い動作する。多関節ロボット2は、動作制御部21と、可動部22と、を備える。
動作制御部21は、多関節ロボット2全体を制御する。動作制御部21は、ロボットに内蔵してもよく、ロボットから離間した位置に配置されていてもよい。動作制御部21は、移動経路生成装置1により生成された移動経路に従い可動部22を制御する。
可動部22は、多関節ロボット2のアーム及びハンドであり、動作制御部21の制御に従い動作する。
【0022】
図2から
図7は、移動経路生成装置1による移動経路の生成を示す模式図である。
図2及び
図3では、移動経路生成装置1は、始点ノードAから目標点ノードBへの移動経路を生成する。また、
図2から
図7において、X1からX5は、障害物を表す。
【0023】
図2に示すように、処理の開始時には、始点ノードA及び目標点ノードBについて、マップ記憶部121に移動経路及びノードのデータがないため、PRM経路生成部111は、移動経路の生成に失敗する。
【0024】
次に、RRT経路生成部112は、RRTを用いて移動経路を生成する。具体的には、
図3に示すように、RRT経路生成部112は、ノードP1及びP2を生成し、ノードA,P1,P2及びBを含む移動経路を生成する。そして、追加部114は、RRT経路生成部112により生成された移動経路及びノードをマップ記憶部121に追加する。
【0025】
図4から
図6では、始点ノードAから目標点ノードCへの移動経路を生成する。
図4に示すように、目標点ノードCについて、マップ記憶部121に記憶されたノード及び移動経路が不十分であるため、PRM経路生成部111は、移動経路の生成に失敗する。
【0026】
次に、RRT経路生成部112は、RRTを用いて移動経路を生成する。
具体的には、
図5に示すように、RRT経路生成部112は、ノードP3を生成し、ノードA,P1,P3及びCを含む移動経路を生成する。
【0027】
そして、
図6に示すように、移動経路再編部113は、ノードP2とノードP3との間に新たな移動経路を生成可能であるため、ノードP2とノードP3との間に移動経路を生成する。追加部114は、RRT経路生成部112及び移動経路再編部113により生成された移動経路及びノードをマップ記憶部121に追加する。
【0028】
次に、
図7において、ノードBからノードCへの移動経路を生成する場合、マップ記憶部121は、ノードB及びノードCの移動経路及びノードのデータが存在する。そのため、PRM経路生成部111は、マップ記憶部121に記憶された移動経路及びノードに基づいて、ノードBからノードCへの移動経路を短時間で生成することができる。
【0029】
図8は、移動経路生成装置1の処理を示すフローチャートである。
ステップS1において、PRM経路生成部111は、PRMを用いて多関節ロボット2の動作の始点から目標点までの移動経路を生成する。
【0030】
ステップS2において、PRM経路生成部111は、移動経路の生成が成功したか否かを判定する。移動経路の生成が成功した場合(YES)には、処理を終了し、移動経路の生成が失敗した場合(NO)には、ステップS3へ移る。
【0031】
ステップS3において、RRT経路生成部112は、RRTを用いて移動経路を生成する。
ステップS4において、RRT経路生成部112は、移動経路の生成が成功したか否かを判定する。移動経路の生成が成功した場合(YES)には、処理は、ステップS5へ移り、移動経路の生成が失敗した場合(NO)には、再度ステップS4へ戻る。
【0032】
ステップS5において、移動経路再編部113は、RRT経路生成部112により生成された移動経路を再編する。
【0033】
ステップS6において、追加部114は、RRT経路生成部112により生成された移動経路及びノード、並びに移動経路再編部113により再編された移動経路をマップ記憶部121に追加する。その後、処理は、ステップS1へ戻る。
【0034】
本開示の一態様によれば、移動経路生成装置1は、PRMを用いて多関節ロボット2の動作の始点から目標点までの移動経路を生成するPRM経路生成部111と、PRM経路生成部111により移動経路が生成されなかった場合、RRTを用いて移動経路を生成するRRT経路生成部112と、RRT経路生成部112により生成された移動経路をマップ記憶部121に追加する追加部114と、を備える。
【0035】
これにより、移動経路生成装置1は、マップ記憶部121において、移動経路の探索に必要となる移動経路及びノードのみを順次追加する。したがって、移動経路生成装置1は、PRMによる初期に移動経路を生成するコストを削減し、移動経路の探索成功率を向上させ、移動経路を短時間で作成することができる。
【0036】
また、移動経路生成装置1は、RRT経路生成部112により生成された移動経路を再編する移動経路再編部113を更に備え、追加部114は、移動経路再編部113により再編された移動経路をマップ記憶部121に追加する。これにより、移動経路生成装置1は、適切な移動経路を追加することができる。
【0037】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0038】
1 移動経路生成装置
2 多関節ロボット
11 制御部
12 記憶部
21 動作制御部
22 可動部
111 PRM生成部
112 RRT生成部
113 移動経路再編部
114 追加部
121 マップ記憶部