JP7351609B2 - 経路探索装置及びプログラム - Google Patents

経路探索装置及びプログラム Download PDF

Info

Publication number
JP7351609B2
JP7351609B2 JP2018189127A JP2018189127A JP7351609B2 JP 7351609 B2 JP7351609 B2 JP 7351609B2 JP 2018189127 A JP2018189127 A JP 2018189127A JP 2018189127 A JP2018189127 A JP 2018189127A JP 7351609 B2 JP7351609 B2 JP 7351609B2
Authority
JP
Japan
Prior art keywords
node
route
graph
space
information
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.)
Active
Application number
JP2018189127A
Other languages
English (en)
Other versions
JP2020057313A (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.)
Secom Co Ltd
Original Assignee
Secom Co Ltd
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 Secom Co Ltd filed Critical Secom Co Ltd
Priority to JP2018189127A priority Critical patent/JP7351609B2/ja
Publication of JP2020057313A publication Critical patent/JP2020057313A/ja
Application granted granted Critical
Publication of JP7351609B2 publication Critical patent/JP7351609B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、経路探索装置及びプログラムに係り、特に、三次元の移動可能空間内における開始位置から目標位置に至る移動経路を求める経路探索装置及びプログラムに関する。
従来、現在位置から所定の目標位置に至る飛行経路が最短となるよう飛行経路を算出し、当該飛行経路に沿って自律的に飛行可能な自律飛行ロボットが提案されている。
例えば、特許文献1には、建物や樹木などの障害物を除いた空間(飛行可能空間)を所定サイズのボクセルにて分割し、各ボクセルの重心位置にノードを置いたグラフ構造を求め、当該グラフ構造にA*(エースター)経路探索法などの経路探索アルゴリズムを適用することで、開始位置から目的位置までに至る最短経路を探索し、飛行経路を求める技術が記載されている。
特開2014-119901号公報
しかしながら、上記の従来技術では、飛行可能空間が広大となるに従ってボクセル数が増大するため、経路探索のために要する計算コストが膨大なものとなり、リアルタイムで飛行経路を求めることが困難となっていた。
そこで、本発明は、移動可能空間が広くなっても膨大な計算コストとなることなく移動経路を生成することができる経路探索装置及びプログラムを提供することを目的とする。
上記の目的を達成するために本発明に係る経路探索装置は、三次元の移動可能空間内における開始位置から目標位置に至る移動経路を求める経路探索装置であって、前記移動可能空間を表す立体の辺上の各点又は各頂点をノードとし、各ノードについて、当該ノードから前記移動可能空間内の線分にて接続可能な他のノードをエッジにて連結した可視グラフを記憶した記憶部と、前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求める経路グラフ算出手段と、前記経路グラフを用いて前記移動経路を求める経路算出手段とを備えて構成されている。
本発明に係る経路探索装置によれば、経路グラフ算出手段によって、前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求める。そして、経路算出手段によって、前記経路グラフを用いて前記移動経路を求める。
また、前記経路算出手段は、前記経路グラフを構成するノードの位置を、前記移動可能空間を表す立体の辺上に沿って変位させることによって前記エッジで表される経路を最短化させ前記移動経路を求めることが好適である。
また、前記経路算出手段は、変位対象のノードに接続された他の2つのノードまでの距離の和が最小となる位置まで当該変位対象のノードを変位させることが好適である。
また、前記経路算出手段は、変位対象のノードに接続された他の2つのノードに至る線分が前記移動可能空間内から外れない方向に当該変位対象のノードの位置を変位させることが好適である。
また、前記経路算出手段は、変位対象のノードに接続された他の2つのノードに至る線分のなす角度が減少する方向に当該変位対象のノードの位置を変位させることが好適である。
また、前記経路算出手段は、変位対象のノードの各々の変位量が閾値以下となるまで前記変位を繰り返すことにより前記移動経路を求めることが好適である。
また、前記移動可能空間は、複数の平面によって規定される空間であることが好適である。
本発明に係るプログラムは、三次元の移動可能空間内における開始位置から目標位置に至る移動経路を求めるためのプログラムであって、前記移動可能空間を表す立体の辺上の各点又は各頂点をノードとし、各ノードについて、当該ノードから前記移動可能空間内の線分にて接続可能な他のノードをエッジにて連結した可視グラフについての可視グラフ情報を記憶した記憶部を含むコンピュータを、前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求める経路グラフ算出手段、及び前記経路グラフを用いて前記移動経路を求める経路算出手段として機能させるためのプログラムである。
以上説明したように、本発明の経路探索装置及びプログラムによれば、前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求め、前記経路グラフを用いて前記移動経路を求めることにより、移動可能空間が広くなっても膨大な計算コストとなることなく移動経路を生成することができる、という効果が得られる。
本発明の実施の形態に係る移動制御システムの構成を示す概略図である。 本発明の実施の形態に係る自律飛行ロボットの構成を示す概略図である。 本発明の実施の形態に係る管理装置の構成を示す概略図である。 ノード位置情報の構成を示す図である。 可視グラフ情報の構成を示す図である。 経路テーブルの構成を示す図である。 (a)飛行空間を上方から見た場合の図、(b)飛行可能空間の例を示す図、及び(c)飛行可能空間を表す立体の各頂点に設定されたノードを示す図である。 (a)ノードN1の可視グラフを示す図、(b)経路テーブルにおける、ノードN1からノードN16に至る最短経路を説明するための図、及び(c)経路テーブルにおける、ノードN4からノードN13に至る最短経路を説明するための図である。 (a)開始ノードSの可視グラフ及び目標ノードGの可視グラフを示す図、及び(b)開始ノードSから目標ノードGに至る経路グラフを説明するための図である。 (a)中間ノードの変位方向を決定する方法を説明するための図、(b)中間ノードを変位させた結果を示す図、及び(c)中間ノードを変位させた結果を示す図である。 本発明の実施の形態に係る管理装置による経路テーブル生成処理の動作を示すフローチャートである。 経路テーブルを算出する際に用いられるツリー構造の例を示す図である。 本発明の実施の形態に係る管理装置による経路探索処理の動作を示すフローチャートである。 本発明の実施の形態に係る自律飛行ロボットの他の例の構成を示す概略図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、複数のドローンの移動を制御する移動制御システムに本発明を適用した場合を例に説明する。
<システム構成>
以下、本発明を適用した移動制御システム1000の概略構成を示した図1を参照し、本発明の実施の形態の構成を説明する。
(移動制御システム1000)
移動制御システム1000は、管理装置100、及び複数台の自律飛行ロボット200を有する。管理装置100と自律飛行ロボット200の間は所定の閉域網(無線LAN等)を介して通信する。なお、管理装置100が、経路探索装置の一例である。
(自律飛行ロボット200)
自律飛行ロボット200は、例えば、クアッドロータ型の小型無人ヘリコプタである。なお、クアッドロータ型の小型無人ヘリコプタに限定されるものではなく、シングルロータ型の小型無人ヘリコプタについても同様に適用することができる。
自律飛行ロボット200は、管理装置100から、移動経路の一例である飛行経路に係る情報(後述する経路情報)を受信し、当該飛行経路に沿って飛行するよう制御する。以下、自律飛行ロボット200を構成する位置・姿勢センサ210、通信部220、記憶部230、制御部240、モータ250、及びロータ260の各部について、詳細に説明する(図2参照)。
(位置・姿勢センサ210)
位置・姿勢センサ210は、自律飛行ロボット200の現在位置および姿勢を取得するためのセンサである。位置・姿勢センサ210は、例えば、GNSS(Global Navigation Satellite System)等の航法衛星(人工衛星)から送信される電波(航法信号)を受信する受信機、加速度を計測する加速度センサ、方位を計測する電子コンパス、および角速度を計測するジャイロセンサを備えている。具体的には、位置・姿勢センサ210において、受信機が複数の航法衛星から送信される航法信号を受信して制御部240に出力するとともに電子コンパスおよびジャイロセンサによる計測信号を制御部240に出力する。
現在位置を取得するために受信機に代えてレーザスキャナおよび気圧センサを用いるなど、他の既知のセンサを用いて既知の従来技術により現在位置および姿勢を得るための情報を取得するものとしてもよい。
(通信部220)
通信部220は、管理装置100との間で通信するための通信モジュールである。
(記憶部230)
記憶部230は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の情報記憶装置である。
記憶部230は、各種プログラムや各種データを記憶し、制御部240との間でこれらの情報を入出力する。
各種データには、位置・姿勢情報232、経路情報234等の制御部240の各処理に用いられる情報が含まれる。
位置・姿勢情報232は、位置・姿勢センサ210によって取得された、自律飛行ロボット200の現在位置および姿勢を予め定められた回数だけ循環記憶した位置と姿勢の履歴である。ここで、履歴内の最新の位置及び姿勢を特に現在位置及び現在姿勢と称し、それ以外の位置及び姿勢を過去位置及び過去姿勢と称する。
経路情報234は、自律飛行ロボット200が移動する予定である飛行経路に関する情報である。具体的には、飛行経路上における座標列(x,y,z)である。経路情報234は、管理装置100から受信する。
制御部240は、CPU、ROM、RAM等を備えたコンピュータであり、記憶部230からプログラムやデータを読み出し、プログラムに従って、位置・姿勢算出手段242および飛行制御手段244等として機能する。
位置・姿勢算出手段242は、位置・姿勢センサ210の出力から飛行空間における自律飛行ロボット200の現在位置および姿勢を算出し、位置・姿勢情報232として記憶部230に記憶させる。
位置・姿勢算出手段242は、例えば、位置・姿勢センサ210によって出力された航法信号から緯度・経度・高度を求め、予め記憶した変換規則を用いて飛行空間の座標系における位置に変換する。
また、位置・姿勢算出手段242は、位置・姿勢センサ210によって出力された加速度センサおよびジャイロセンサの計測信号から、飛行空間の座標系における現在姿勢を求める。
なお、位置・姿勢センサ210によって出力された電子コンパスの計測信号から、飛行空間の座標系における方位を求め、他のセンサからの計測信号を更に用いて現在姿勢を算出してもよい。
以上のように、位置・姿勢センサ210と通信部220と位置・姿勢算出手段242(制御部240)とが共働して自律飛行ロボット200の現在位置及び現在姿勢を検出する。
なお、位置・姿勢算出手段242は、現在位置を算出する都度、通信部220を介して当該現在位置を管理装置100に送信する。
飛行制御手段244は、経路情報234、位置・姿勢情報232を参照し、自律飛行ロボット200を経路情報234に記された飛行経路に追従して移動するようモータ250の回転速度を制御する。
具体的には、飛行制御手段244は、経路情報234に記された現在時刻の位置(座標)と、位置・姿勢情報232に記された現在位置との誤差が小さくなるようにモータ250の回転速度を制御する。
(モータ250、ロータ260)
4つのロータ260と、その回転軸がそれぞれ対応するロータ260に連結された4つのモータ250からなる4つのユニットが自律飛行ロボット200に搭載されている。
各モータ250は、制御部240に接続されて制御部240から回転速度を指示される。4つのロータ260が独立して回転することにより自律飛行ロボット200に任意方向の加速度を発生させる。
(管理装置100)
管理装置100は、飛行空間内の所定位置に設置され、自律飛行ロボット200の飛行先である目標位置を決定し、自律飛行ロボット200から受信した現在位置に基づいて、現在位置から目標位置に至る飛行経路を求め、自律飛行ロボット200に送信する。
なお、管理装置100は、遠隔の監視センタに設置してある図示しないセンタ装置と広域網(インターネット、携帯電話網等)を介して通信し、センタ装置からの指示を受け、当該指示に基づいて目標位置を設定したり、センタ装置に自律飛行ロボット200に係る各種情報を送信するようにしてもよい。
以下、管理装置100を構成する通信部110、記憶部120、及び制御部130の各部について、詳細に説明する(図3参照)。
(通信部110)
通信部110は、自律飛行ロボット200との間で通信するための通信モジュールである。
(記憶部120)
記憶部120は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の情報記憶装置である。
記憶部120は、各種プログラムや各種データを記憶し、制御部130との間でこれらの情報を入出力する。
各種データには、飛行可能空間情報121、位置情報122、ノード位置情報123、可視グラフ情報124、経路テーブル125、経路グラフ情報126、経路情報128等の制御部130の各処理に用いられる情報が含まれる。
(飛行可能空間情報121)
飛行可能空間情報121は、自律飛行ロボット200が飛行可能な三次元空間の空間範囲(立体)を表す座標データからなる情報である。飛行可能空間情報121は、自律飛行ロボット200が飛行する空間内に存在する障害物の位置や形状に基づいて生成される。障害物以外にも、自律飛行ロボット200の所有者の敷地や、行政機関によって規定される飛行可能高度帯などといった、自律飛行ロボット200が飛行範囲を制限する情報に基づいて生成してもよい。
本実施形態では、飛行可能空間を表す立体(立体図形、立体形状)は、複数の平面の組み合わせによって規定される。したがって、曲面を構成する障害物は平面によって近似された障害物に変換され、当該平面からなる障害物以外の空間が飛行可能空間として設定される。
例えば、図7(a)に示すように、飛行可能空間を上から見た図において、敷地の範囲を示す境界線Aと、障害物(建物)Bとから少なくとも所定距離だけ離れた水平範囲abcdefghを規定する。図7(a)では、水平範囲abcdefghを破線で示している。次に、図7(b)に示すように、自律飛行ロボット200の飛行が許可された高度を示す高度限界値と、水平範囲abcdefghとを用いて、飛行可能空間Fを求める。
なお、飛行可能空間は、管理者等により予め設定されていてもよいし、図示しないレーザセンサや監視カメラからの出力に基づいて車両などの移動障害物を検知したとき、センサ出力やカメラ画像から当該移動障害物の位置及び形状を認識し、認識結果に応じて、移動障害物の存在領域を含む所定範囲を飛行不可能とするよう飛行可能空間を更新してもよい。また、飛行可能空間情報121は、飛行可能空間を所定サイズのボクセルにて分割したデータ構造であってもよい。また、飛行可能空間は、移動可能空間の一例である。
(位置情報122)
位置情報122は、自律飛行ロボット200の現在位置及び目標位置を示した情報である。
自律飛行ロボット200から現在位置を受信すると、当該自律飛行ロボット200の機体IDと対応付けて位置情報122に記憶する。
また、目標位置設定手段132によって、ある自律飛行ロボット200の目標位置が設定されると、当該自律飛行ロボット200の機体IDに対応付けて目標位置が位置情報122に記憶される。
(ノード位置情報123)
ノード位置情報123は、飛行可能空間情報121に基づいて可視グラフ算出手段134によって生成される情報であり、飛行可能空間情報121によって規定される立体の各頂点の位置がノード位置として求められる。ノード位置情報123は、ノードの識別子とノード位置とを対応付けたテーブルとして記憶される。ノード位置情報123は、例えば、図4に示すようなテーブル構造であり、ノードの識別子「N1」とノード位置(x1、y1、z1)とが対応付けられ、ノードの識別子「N2」とノード位置(x2、y2、z2)とが対応付けられ、ノードの識別子「N3」とノード位置(x3、y3、z3)とが対応付けられている。
(可視グラフ情報124)
可視グラフ情報124は、ノード位置情報123と飛行可能空間情報121とに基づいて可視グラフ算出手段134にて生成される情報であり、ノード位置情報123にて規定された各ノードから、可視となる他のノードとの間をエッジで接続したグラフである。ここで「可視」とは、ノード間を結ぶ直線(線分)が飛行可能空間外に干渉しない状態のことをいう。
可視グラフ情報124は、例えば、図5に示すようなテーブル構造であり、対象ノードID「N1」と、可視ノードID「N2、N3、N4、N5、N6、N7、N8、N9、N10、N13、N14」とが対応付けられ、対象ノードID「N2」と、可視ノードID「N1、N3、N4、N5、N6、N7、N8」とが対応付けられている。これらの対応付けの情報がノード同士の接続関係の情報、つまりエッジの情報である。
(経路テーブル125)
経路テーブル125は、ノード位置情報123と可視グラフ情報124とに基づいて経路グラフ算出手段138にて算出される情報であり、各ノードから他のノードまでに最短で到達するノードの組み合わせと、当該組み合わせで移動した場合の総距離とを対応付けた情報である。総距離は、ノード位置情報123を用いて幾何学的に算出される。
経路テーブル125は、例えば、図6に示すようなテーブル構造であり、始点ノードID「N1」と、終点ノードID「N2」と、最短経路「N1、N2」と、距離「10」とが対応付けられ、始点ノードID「N1」と、終点ノードID「N16」と、最短経路「N1、N10、N16」と、距離「25」とが対応付けられている。
(経路グラフ情報126)
経路グラフ情報126は、可視グラフ情報124と経路テーブル125とに基づいて経路グラフ算出手段138にて算出される情報であり、現在位置(開始ノードS)から目標位置(目標ノードG)に至る距離が最小となる経路上のノードの組み合わせを示した情報である。後述する図9(b)の例では、経路グラフ情報126は(S、N10、N6、G)となる。
なお、経路グラフ情報126において開始ノードSと目標ノードGとを除いたノードを中間ノードという。
(経路情報128)
経路情報128は、経路グラフ情報126、ノード位置情報123、及び飛行可能空間情報121に基づいて経路算出手段140にて算出される情報であり、現在位置から始まり、各中間ノードの位置を経由し、目標位置に至る経路上の各位置の三次元座標のリストである。
(制御部130)
制御部130は、CPU、ROM、RAM等を備えたコンピュータであり、記憶部120からプログラムやデータを読み出し、プログラムに従って、目標位置設定手段132、可視グラフ算出手段134、経路テーブル算出手段136、経路グラフ算出手段138、及び経路算出手段140等として機能する。
(目標位置設定手段132)
目標位置設定手段132は、各自律飛行ロボット200の目標位置を設定し、機体IDに対応付けて位置情報122に記憶する。
目標位置は、例えば、巡回警備をタスクとする自律飛行ロボット200であれば、予め定めた時刻になったときに所定の巡回位置が目標位置となるよう設定する。また、侵入者への対応をタスクとする自律飛行ロボット200であれば、図示しないセンサからの侵入検知出力に基づいて、当該センサの検知位置の近傍を目標位置に設定してもよい。
他にも、図示しないセンタ装置からの指示に基づいて、目標位置を設定してもよい。
(可視グラフ算出手段134)
可視グラフ算出手段134は、記憶部120から飛行可能空間情報121を読み出し、飛行可能空間情報121にて規定される空間を表す立体の角(頂点)にノードを設定し、各ノードの識別子と座標とを対応付けてノード位置情報123に記憶する。
例えば、図7(c)に示すように、飛行可能空間Fを表す立体の全ての頂点にノードN1~N16を設定し、各ノードの識別子と座標とを対応付けてノード位置情報123に記憶する。
また、各ノードから可視となる他のノードとの間をエッジで連結したグラフを求め、可視グラフ情報124に記憶する。
例えば、図8(a)に示すように、ノードN1の可視グラフを求める場合には、ノードN1は、ノードN2、N3、N4、N5、N6、N7、N8、N9、N10、N13、N14が可視である(飛行可能空間内で線分にて接続できる)ため、ノードN1との間をエッジで接続したグラフを設定し、可視グラフ情報124に記憶させる。このとき、ノードN1に対して、ノードN11、N12、N15、N16は非可視である(飛行可能空間内で線分にて接続できない)ためノードN1とN11、N12、N15、N16とのエッジは可視グラフには含まれない。
また、可視グラフ算出手段134は、経路探索処理において、位置情報と飛行可能空間情報とを読み出し、現在位置に相当するノード(開始ノードS)から可視となる他のノードを求めて、求めたノードと開始ノードSとのエッジを可視グラフ情報124に追記する。同様に、目標位置に相当するノード(目標ノードG)から可視となる他のノードを求めて、求めたノードと目標ノードGとのエッジを可視グラフ情報124に追記する。
(経路テーブル算出手段136)
経路テーブル算出手段136は、ノード位置情報123と可視グラフ情報124とに基づいて、経路テーブル125を算出する。
例えば、図8(b)に示すように、ノードN1からノードN16に至る最短経路上のノードとして、ノードN1、N10、N16を算出し、経路テーブル125に記憶させる。また、図8(c)に示すように、ノードN4からノードN13に至る最短経路上のノードとして、ノードN4、N6、N13を算出し、経路テーブル125に記憶させる。経路テーブル125の具体的な算出方法については後述する。
(経路グラフ算出手段138)
経路グラフ算出手段138は、位置情報122とノード位置情報123と可視グラフ情報124と経路テーブル125とに基づいて、開始ノードSから目標ノードGまでに最短で到達する経路上のノードの組み合わせを計算し、経路グラフ情報126として記憶する。このとき、経路テーブル125を用いることで、開始ノードSから目標ノードGに至る最短距離となる経路上のノードの組み合わせを高速に求めることができる。
具体的には、図9(a)の例に示す(S、N10、N1、G)、(S、N10、N2、G)、・・・、(S、N16、N8、G)のように開始ノードSから目標ノードGに至る全通りの組み合わせについて総距離を計算する。すなわち、開始ノードSから可視となるノードの数(N9~N16の8通り)×目標ノードGから可視となるノードの数(N1~N8の8通り)=64通りについて開始ノードSから目標ノードGに至る総距離を算出する。なお、開始ノードS及び目標ノードGから可視となるノードまでの距離は、ノード位置情報123を用いて幾何学的に算出し、途中のパスの距離については経路テーブル125に記された距離値を用いる。
そして、開始ノードSから目標ノードGに至る全通りの組み合わせの中から総距離が最小となるノードの組み合わせを計算することによって、経路グラフ(S、N10、N6、G)を求めることができる。求めた経路グラフを経路グラフ情報126として記憶する。
(経路算出手段140)
経路算出手段140は、経路グラフ情報126、ノード位置情報123、及び飛行可能空間情報121に基づいて現在位置から目標位置に至る最短経路を算出する。
具体的には、経路グラフ情報126に示される経路グラフの中間ノードの位置を、飛行可能空間を表す立体の辺に沿って変位させることによって経路を最短化させ、最短経路を求める。
ここで、最短経路を算出する処理は、中間ノードの変位方向を決定するステップと、変位させる位置を決定するステップとからなる。
まず、中間ノードの変位方向を決定するステップでは、変位対象の中間ノード(以下、「対象中間ノード」という)としてある中間ノードに着目したとき、以下の条件1を満たす方向を対象中間ノードの変位方向として決定する。
条件1:対象中間ノードの位置から飛行可能空間によって示される立体の辺(面と面が交わった端部)に沿った方向であって、移動先において当該対象中間ノードと接続された他の2つのノードの線分が飛行可能空間外とらない方向であること。
上記条件1では、複数方向が存在する場合があるため、計算量を減らすために、より好適には、以下の条件2を満たす方向を対象中間ノードの変位方向として決定する。
条件2:対象中間ノードと接続された他の2つのノードの線分のなす角の内積が増加(ノード間の角度が減少)する方向であること。
上図10(a)の例が示すように、ノードN10を対象中間ノードとした場合、「飛行可能空間によって示される立体の辺に沿った方向」は以下のa)~c)の3通り考えられる。
a)「ノードN10の位置からノードN12に向かう方向」
b)「ノードN10の位置からノードN9に向かう方向」
c)「ノードN10の位置からノードN6に向かう方向」
しかし、a)とc)の方向に移動した場合、「対象中間ノードと接続された他の2つのノードの線分が飛行可能空間外」となるため、b)の方向が変位方向として決定される。
なお、上記の条件1を満たす方向が複数ある場合は、条件2を適用して変位方向を決定するのが好適である。しかし、複数方向に対して変位させたうえで、最短経路となるパスから飛行経路を決定してもよい。
また、上記のように対象中間ノードの変位方向が決定されると、対象中間ノードを変位させる位置を決定するステップが行われる。
このとき、図10(a)に示すように、対象中間ノードをN10とすると、直前のステップにより、ノードN10の変位方向はN10→N9の方向であることが判っている。本ステップでは、変位方向のどの位置に変位させるかを決定する。
変位させる位置を決定するステップでは、以下のように、対象中間ノードと接続された2つのノードに対して当該対象中間ノードを変位させる位置を決定する。
まず、対象中間ノード(N10)と変位方向にあるノード(N9)及び対象中間ノードの直前ノード(S)の3つのノードの位置を結ぶ三角形平面の拡大平面Sを求める。
そして、経路グラフにおける対象中間ノードの次のノード(N6)の位置を、対象中間ノード(N10)と変位方向にあるノード(N9)とを結ぶ線分を軸として回転させた際に出来る交点(N6’)を求める。
そして、当該交点N6’と直前ノード(S)とを線分で結んだ際に、当該線分と対象中間ノード(N10)から変位方向にあるノード(N9)を結ぶ線分との交点を、変位先の位置(N10’)として求める。
なお、上記の方法とは別の方法として、解析的に変位する位置を求めることができる。すなわち、対象中間ノードを変位方向に変位させた場合における、対象中間ノードに接続された2つのエッジの距離の和を表す式を幾何学的に求め、その式を微分演算して求めた極小値に相当する位置を、変位先の位置として求めてもよい。
次に、変位する位置(N10’)を決定した後、ノードN10をN10’の位置に移動させる(ノード位置情報123を更新する)。この際のノードの移動量を対象中間ノードの識別子に対応付けて一時的に記憶する。
また、対象中間ノードをN6とした場合も、同様に、中間ノードの変位方向を決定するステップと、変位先の位置を決定するステップとを行い、対象中間ノードN6と接続された2つのノードG、N10’に対して当該対象中間ノードN6を変位先の位置(N6’)を求める。
<移動制御システムの動作>
以下、図11、図13に示したフローチャートを参照しつつ、本発明を適用した移動制御システム1000による経路テーブル生成処理、経路探索処理の動作を説明する。
管理装置100の記憶部120に、飛行可能空間情報121が新規登録されたとき、または飛行可能空間情報121が更新されたときに、図11に示す経路テーブル生成処理が実行される。
図11に示す管理装置100の経路テーブル生成処理では、最初に、可視グラフ算出手段134が、記憶部120から飛行可能空間情報121を読み出し、飛行可能空間情報121によって規定される立体の各頂点にノードを設定し、ノード位置情報123を更新する(ステップS100)。
そして、可視グラフ算出手段134が、飛行可能空間情報121とノード位置情報123とに基づいて、各ノードについての可視グラフを生成し、可視グラフ情報124を更新する(ステップS102)。
次に、経路テーブル算出手段136が、ノード位置情報123と可視グラフ情報124とに基づいて、各ノードから他のノードに至る最短経路をなすノードの組み合わせを求め、記憶部120の経路テーブル125を更新し(ステップS104)、経路テーブル生成処理を終了する。
ここで、経路テーブル125の具体的な算出方法について説明する。経路テーブル125を算出する処理では、以下の処理1~処理3が行われる。なお、上記図8の例における始点ノードをN12、終点ノードをN1とした場合の経路テーブル125の算出を例に説明する。
まず、処理1では、図12に示すツリー構造Tにおいて、始点ノードN12をL1とし、L1から可視となる(飛行可能空間外に干渉せずに直線にて到達可能である)ノードのリストをL2とし、L1の各ノードからL2の各ノードまでの距離をそれぞれ求める。ここで、当該距離は、ノード位置情報123を用いて幾何学的に算出される。
もし、L2の中に終点ノードN1が含まれていれば、N1までの最短距離のパス(経由するノード)を最短経路とし、当該最短経路とその距離(総距離)を経路テーブル125に記憶し、処理を終了する。
処理2では、L2の中に終点ノードN1が含まれていない場合には、L2の各ノードから可視であり、かつ、L2に含まれていないノードを求め、当該ノードのリストをL3とする。L2の各ノードからL3の各ノードまでの距離をそれぞれ計算する(処理2)。もし、L3の中に終点ノードN1が含まれていれば、N1までの最短距離のパス(経由するノード)を最短経路とし、当該最短経路とその距離(総距離)を経路テーブル125に記憶し、処理を終了する。L3の中に重複したノードがある場合、重複したノードのうち総距離(L1からL3までの距離の和)が最小なもの以外のノードについては、ツリー構造Tから除外する。
処理3では、リストLnに終点ノードが含まれるまで上記処理2を繰り返す。
また、複数の自律飛行ロボット200の中で、少なくとも1台の自律飛行ロボット200の目標位置が変更されたときに、目標位置が変更された1又は複数の自律飛行ロボット200の各々を処理対象として選択し、図13に示す経路探索処理が実行される。以下、選択された経路探索対象を「対象ロボット」と称する。
図13に示す管理装置100の経路探索処理では、最初に、可視グラフ算出手段134が、記憶部120から、対象ロボットの位置情報122の現在位置及び目標位置を読み出し、現在位置に対応する開始ノードSと、目標位置に対応する目標ノードGとをノード位置情報123に登録する(ステップS120)。
そして、可視グラフ算出手段134が、ノード位置情報123の開始ノードS及び目標ノードGの位置と、飛行可能空間情報121を用いて、開始ノードS及び目標ノードGの可視グラフを求め、可視グラフ情報124に登録(更新)する(ステップS122)。
そして、経路グラフ算出手段138が、開始ノードSと、目標ノードGと、開始ノードS及び目標ノードGの間を接続する線分(エッジ)とからなるグラフが可視グラフとして形成されているか否かを判定する(ステップS124)。具体的には、開始ノードSと目標ノードGとが飛行可能空間内で線分にて接続されていない場合は可視グラフとして形成されていないとの否定判定をして、ステップS126へ移行するが、そうでない場合には、経路算出手段140が、開始ノードSと、目標ノードGと、開始ノードS及び目標ノードGの間を接続するエッジとから、開始ノードSから目標ノードGまでの最短経路を求め、対象ロボットの飛行経路とし(ステップS136)、経路探索処理ルーチンを終了する。
そして、ステップS126では、経路グラフ算出手段138が、ノード位置情報123と可視グラフ情報124と経路テーブル125とに基づいて、開始ノードSから目標ノードGまでに最短で到達するノードの組み合わせを計算し、経路グラフ情報126として記憶する。
そして、ループ1のステップS128~S130の処理が、上記ステップS126で得られた経路グラフの各中間ノードに対して実行される。なお、ループ1において処理対象となっている中間ノードは、前述の「対象中間ノード」に相当する。
経路算出手段140が、経路グラフ情報126、ノード位置情報123、及び飛行可能空間情報121に基づいて、対象中間ノードの変位方向を決定する(ステップS128)。そして、経路算出手段140が、経路グラフ情報126、ノード位置情報123、飛行可能空間情報121、及び決定された変位方向に基づいて、対象中間ノードと接続された2つのノードに対する、当該対象中間ノードの変位先の位置及び変位量を算出する(ステップS130)。
そして、経路算出手段140が、全ての中間ノードの変位量が閾値Th1以下であったか否かを判定する(ステップS132)。全ての中間ノードの変位量が閾値Th1以下であった場合には、最短経路をなすパスが求まったとみなし、経路グラフと修正された中間ノードの位置から、開始ノードSから目標ノードGまでの最短経路を求め、対象ロボットの飛行経路とし(ステップS134)、経路探索処理ルーチンを終了する。
一方、少なくとも1つの中間ノードの変位量が閾値Th1より大きい場合には、上記ループ1を再度繰り返す。
以上説明してきたように、本発明の実施の形態に係る移動制御システム1000では、可視グラフ情報を用いて、開始位置から目標位置に至る最短距離の経路上の各ノードをエッジにて連結した経路グラフを求め、経路グラフを用いて飛行経路を求めることにより、飛行可能空間が広くなっても膨大な計算コストとなることなく飛行経路を生成することができる。
また、飛行可能空間の頂点をノードとした可視グラフを形成し、各ノード間の距離が最短距離となる経路を記した経路テーブルを予め記憶しておき、開始位置から飛行可能空間に干渉せずに直線で到達可能な各ノードまでの距離と、目標位置から前記飛行可能空間に干渉せずに直線で到達可能な各ノードまでの距離とを求め、求めた距離と、経路テーブルとを用いて、開始位置から目標位置に至る距離が最小となる経路グラフを求め、経路グラフの中間ノードの位置を修正して、三次元の飛行空間における開始位置から目標位置に至る飛行経路を求める。このように、二次元空間で利用されている可視グラフを用いた経路探索手法を三次元空間に拡張した手法を用いることにより、空間が広くなっても膨大な計算コストとなることなく飛行経路を生成することができる。また、飛行可能空間の全ての頂点に対応するノードの組み合わせについて最短距離をなすノードの組み合わせを算出し、経路テーブルとして予め記憶しておくことにより、空間の大きさによらずに少ない計算コストで飛行経路を生成できる。
<変形例>
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、管理装置が備える全ての機能を、特定の自律飛行ロボットが備えるように構成してもよい。この場合、図14に示すように、自律飛行ロボット300は、位置・姿勢センサ210、通信部220、記憶部330、制御部340、モータ250、及びロータ260を備え、記憶部330に記憶される各種データには、位置・姿勢情報232、経路情報234だけでなく、飛行可能空間情報121、ノード位置情報123、可視グラフ情報124、経路テーブル125、経路グラフ情報126等が含まれる。
また、制御部340は、CPU、ROM、RAM等を備えたコンピュータであり、記憶部330からプログラムやデータを読み出し、プログラムに従って、位置・姿勢算出手段242および飛行制御手段244等として機能すると共に、目標位置設定手段132、可視グラフ算出手段134、経路テーブル算出手段136、経路グラフ算出手段138、及び経路算出手段140等として機能する。
また、経路グラフ算出手段138は、位置・姿勢情報232とノード位置情報123と可視グラフ情報124と経路テーブル125とに基づいて、現在位置である開始ノードSから目標ノードGまでに最短で到達する経路上のノードの組み合わせを計算し、経路グラフ情報126として記憶する。経路算出手段140は、経路グラフ情報126、ノード位置情報123、及び飛行可能空間情報121に基づいて現在位置から目標位置に至る最短経路を算出して、飛行経路として経路情報234に記憶する。
また、特定の自律飛行ロボット300が他の自律飛行ロボットと通信し、全ての自律飛行ロボットの飛行経路を生成してもよい。
また、個々の自律飛行ロボットを、上記自律飛行ロボット300のように構成し、自らの飛行経路(経路情報)を生成するようしてもよい。
また、目標位置は、外部装置(例えば、管理装置100)から受信してもよいし、自らが目標位置を設定してもよい。例えば、自律飛行ロボット300が備える図示しないカメラからの撮影画像に基づいて、侵入者や不審車両等の追跡対象を検出し、当該追跡対象の付近に目標位置を設定してもよい。
また、上記実施形態では、移動障害物が検出された際などの飛行可能空間情報が更新された場合、経路テーブル生成処理を開始して、ノードを再設定する処理から開始する。しかし、これに限らず、飛行可能空間情報が更新された場合であっても、当該更新された部分(箇所)が、記憶部120に記憶している経路テーブル125によって求まるグラフのエッジに相当する線分に接触しない場合については、経路テーブル生成処理を実行しなくてもよい。あるいは、更新された部分が可視グラフのエッジに相当する線分に接触する場合であっても、経路探索処理において経路グラフを求める際、当該エッジを有するグラフを経路グラフとして採用しないようにし、当該更新された部分を飛行しないような経路を採用するようにしてもよい。
また、経路算出手段140が、経路グラフの中間ノードを変位させて最短経路を求める場合を例に説明したが、これに限定されるものではなく、中間ノードを変位させずに、経路グラフが表す経路を、飛行経路として採用してもよい。
また、飛行可能空間を表す立体の各頂点にノードを設定する場合を例に説明したが、これに限定されるものではなく、飛行可能空間を表す立体の辺上の、頂点ではない位置にノードを設定してもよい。
また、移動体の一例として自律飛行ロボットを用いる場合を例に説明したが、これに限定されるものではなく、自律飛行ロボット以外の移動体を対象としてもよい。例えば、水中ロボットの移動経路を算出する場合に本発明を適用してもよい。
以上のように、当業者は本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
100 管理装置
110 通信部
120 記憶部
121 飛行可能空間情報
122 位置情報
123 ノード位置情報
124 可視グラフ情報
125 経路テーブル
126 経路グラフ情報
128 経路情報
130 制御部
132 目標位置設定手段
134 可視グラフ算出手段
136 経路テーブル算出手段
138 経路グラフ算出手段
140 経路算出手段
200、300 自律飛行ロボット
210 位置・姿勢センサ
220 通信部
230、330 記憶部
232 位置・姿勢情報
234 経路情報
240、340 制御部
242 位置・姿勢算出手段
244 飛行制御手段
250 モータ
260 ロータ
1000 移動制御システム

Claims (6)

  1. 三次元の空間内における、開始位置から目標位置に至る飛行ロボットの移動経路を求める経路探索装置であって、
    前記空間内の障害物の位置に基づいて生成された移動可能空間を記憶し、かつ、前記移動可能空間を表す立体の各頂点をノードとし、各ノードについて、当該ノードから前記移動可能空間内の線分にて接続可能な他のノードをエッジにて連結した可視グラフを記憶した記憶部と、
    前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求める経路グラフ算出手段と、
    前記経路グラフを用いて前記移動経路を求める経路算出手段と、
    を備え
    前記移動可能空間は、複数の直線で囲まれ規定された前記障害物の位置を除く敷地面内の水平範囲を第1面とし、前記第1面上の空間における前記飛行ロボットの飛行が許可された高度限界値の水平範囲を第2面とし、前記第1面及び前記第2面と複数の平面からなる側面とによって囲まれた多面体の空間であることを特徴とする経路探索装置。
  2. 前記経路算出手段は、前記経路グラフを構成するノードの位置を、前記移動可能空間を表す立体の辺上に沿って変位させることによって前記エッジで表される経路を最短化させ前記移動経路を求め、
    変位対象のノードの位置を変位させる際に、当該変位対象のノードに接続された他の2つのノードに至る線分が前記移動可能空間内から外れない方向に当該変位対象のノードの位置を変位させる請求項1に記載の経路探索装置。
  3. 前記経路算出手段は、変位対象のノードに接続された他の2つのノードまでの距離の和が最小となる位置まで当該変位対象のノードを変位させる請求項2に記載の経路探索装置。
  4. 前記経路算出手段は、変位対象のノードに接続された他の2つのノードに至る線分のなす角度が減少する方向に当該変位対象のノードの位置を変位させる請求項2又は3に記載の経路探索装置。
  5. 前記経路算出手段は、変位対象のノードの各々の変位量が閾値以下となるまで前記変位を繰り返すことにより前記移動経路を求める請求項2から請求項4の何れか一項に記載の経路探索装置。
  6. 三次元の空間内における開始位置から目標位置に至る飛行ロボットの移動経路を求めるためのプログラムであって、
    前記空間内の障害物の位置に基づいて生成された移動可能空間を記憶し、かつ、前記移動可能空間を表す立体の各頂点をノードとし、各ノードについて、当該ノードから前記移動可能空間内の線分にて接続可能な他のノードをエッジにて連結した可視グラフについての可視グラフ情報を記憶した記憶部を含むコンピュータを、
    前記可視グラフに前記開始位置および前記目標位置から前記移動可能空間内の線分にて接続可能な前記ノードへのエッジを加えたグラフにおいて、前記開始位置から前記目標位置に至る最短経路上の前記ノードを前記エッジで連結した経路グラフを求める経路グラフ算出手段、及び
    前記経路グラフを用いて前記移動経路を求める経路算出手段
    として機能させるためのプログラムであって、
    前記移動可能空間は、複数の直線で囲まれ規定された前記障害物の位置を除く敷地面内の水平範囲を第1面とし、前記第1面上の空間における前記飛行ロボットの飛行が許可された高度限界値の水平範囲を第2面とし、前記第1面及び前記第2面と複数の平面からなる側面とによって囲まれた多面体の空間であるプログラム
JP2018189127A 2018-10-04 2018-10-04 経路探索装置及びプログラム Active JP7351609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018189127A JP7351609B2 (ja) 2018-10-04 2018-10-04 経路探索装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018189127A JP7351609B2 (ja) 2018-10-04 2018-10-04 経路探索装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2020057313A JP2020057313A (ja) 2020-04-09
JP7351609B2 true JP7351609B2 (ja) 2023-09-27

Family

ID=70107443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018189127A Active JP7351609B2 (ja) 2018-10-04 2018-10-04 経路探索装置及びプログラム

Country Status (1)

Country Link
JP (1) JP7351609B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021220409A1 (ja) * 2020-04-28 2021-11-04 株式会社ナイルワークス エリア編集システム、ユーザインターフェース装置および作業エリアの編集方法
CN113110455B (zh) * 2021-04-16 2022-09-23 哈尔滨工业大学 一种未知初始状态的多机器人协同探索方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134948A (ja) 2006-11-29 2008-06-12 Canon Inc 沿面経路探索装置及び沿面経路探索方法
JP2012106335A (ja) 2012-02-27 2012-06-07 Fujitsu Ltd 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
JP2016181178A (ja) 2015-03-24 2016-10-13 セコム株式会社 自律移動ロボット

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191743A (ja) * 1993-12-27 1995-07-28 Toshiba Corp 移動経路生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134948A (ja) 2006-11-29 2008-06-12 Canon Inc 沿面経路探索装置及び沿面経路探索方法
JP2012106335A (ja) 2012-02-27 2012-06-07 Fujitsu Ltd 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
JP2016181178A (ja) 2015-03-24 2016-10-13 セコム株式会社 自律移動ロボット

Also Published As

Publication number Publication date
JP2020057313A (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
JP6029446B2 (ja) 自律飛行ロボット
JP6599143B2 (ja) 自律移動ロボット
US20180350086A1 (en) System And Method Of Dynamically Filtering Depth Estimates To Generate A Volumetric Map Of A Three-Dimensional Environment Having An Adjustable Maximum Depth
CN111338383B (zh) 基于gaas的自主飞行方法及系统、存储介质
JP7106417B2 (ja) 飛行計画算出装置及びプログラム
JP6527726B2 (ja) 自律移動ロボット
JP6140458B2 (ja) 自律移動ロボット
CN110226143A (zh) 前导无人机的方法
JP6758068B2 (ja) 自律移動ロボット
JP6014484B2 (ja) 自律移動ロボット
JP6469492B2 (ja) 自律移動ロボット
JP2017182692A (ja) 自律移動ロボット
JP6530212B2 (ja) 自律移動ロボット
Magree et al. Combined laser and vision-aided inertial navigation for an indoor unmanned aerial vehicle
JP7351609B2 (ja) 経路探索装置及びプログラム
Ivancsits et al. Visual navigation system for small unmanned aerial vehicles
JP7126366B2 (ja) 移動制御システム
Lu et al. A Heterogeneous Unmanned Ground Vehicle and Blimp Robot Team for Search and Rescue using Data-driven Autonomy and Communication-aware Navigation.
Muller et al. A probabilistic sonar sensor model for robust localization of a small-size blimp in indoor environments using a particle filter
JP6832394B2 (ja) 自己位置推定装置、自己位置選択装置、及び学習器
US20230400850A1 (en) Unmanned aerial vehicle controller, and storage medium
WO2022264413A1 (ja) 移動体の移動経路生成方法及びプログラム、管理サーバ、管理システム
JP7202834B2 (ja) 移動計画算出装置及びプログラム
JP7468543B2 (ja) 情報処理装置、情報処理方法、プログラムおよび飛行体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230718

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: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230914

R150 Certificate of patent or registration of utility model

Ref document number: 7351609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150