(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-07
(45)【発行日】2024-02-16
(54)【発明の名称】位置変換方法、プログラムおよび移動装置
(51)【国際特許分類】
G01C 15/00 20060101AFI20240208BHJP
G01B 21/00 20060101ALN20240208BHJP
【FI】
G01C15/00 101
G01B21/00 A
(21)【出願番号】P 2020167262
(22)【出願日】2020-10-01
【審査請求日】2023-06-06
(73)【特許権者】
【識別番号】302060926
【氏名又は名称】株式会社フジタ
(73)【特許権者】
【識別番号】501493358
【氏名又は名称】株式会社セック
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】関原 弦
(72)【発明者】
【氏名】山口 瞳
(72)【発明者】
【氏名】權 純洙
(72)【発明者】
【氏名】園木 匠
(72)【発明者】
【氏名】平塚 和宏
(72)【発明者】
【氏名】杉江 卓哉
【審査官】仲野 一秀
(56)【参考文献】
【文献】国際公開第2020/008878(WO,A1)
【文献】特開2012-47637(JP,A)
【文献】国際公開第2018/193797(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 1/00-1/14
5/00-15/14
G01C 3/00-3/32
G01B 21/00-21/30
G01B 11/00-11/30
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
マーカの位置を検出する移動可能なセンサの出力データに基づいて、前記センサの装置座標系における第1マーカの位置と第2マーカの位置との関係を示す第1位置ベクトルであって、2次元平面上に投影された前記第1位置ベクトルを取得し、
予め設定された平面座標系において規定された第2位置ベクトルであって、前記第1マーカに対応する第3マーカの位置と前記第2マーカに対応する第4マーカの位置との関係を示す前記第2位置ベクトルを取得し、
前記第1位置ベクトルと前記第2位置ベクトルとの関係によって、前記装置座標系と前記平面座標系とを変換するための変換パラメータを算出する
ことを含む、位置変換方法。
【請求項2】
前記変換パラメータは、前記第1位置ベクトルの大きさと前記第2位置ベクトルの大きさとの第1比に基づく値、および前記第1位置ベクトルと前記第2位置ベクトルとの外積の大きさと前記第1位置ベクトルと前記第2位置ベクトルとの内積との第2比に基づく値を含み、
前記平面座標系の前記センサの位置を記憶部に記録することをさらに含む、請求項1に記載の位置変換方法。
【請求項3】
前記センサを移動させるための移動機構に対して、前記センサが前記第1マーカと前記第2マーカとの間を通過するように制御する、請求項1または請求項2に記載の位置変換方法。
【請求項4】
前記センサの位置を無線通信により外部装置に送信し、
前記無線通信が切断されると、前記センサの位置を記憶部に記録し、
前記無線通信が回復すると、前記記憶部に記録したセンサの位置を前記外部装置に送信する、請求項1から請求項3のいずれかに記載の位置変換方法。
【請求項5】
前記無線通信が回復すると、改めて前記第1位置ベクトルと前記第2位置ベクトルとを取得して、前記変換パラメータを更新する、請求項4に記載の位置変換方法。
【請求項6】
コンピュータに、
マーカの位置を検出する移動可能なセンサの出力データに基づいて、前記センサの装置座標系における第1マーカの位置と第2マーカの位置との関係を示す第1位置ベクトルであって、2次元平面上に投影された前記第1位置ベクトルを取得し、
予め設定された平面座標系において規定された第2位置ベクトルであって、前記第1マーカに対応する第3マーカの位置と前記第2マーカに対応する第4マーカの位置との関係を示す前記第2位置ベクトルを取得し、
前記第1位置ベクトルと前記第2位置ベクトルとの関係によって、前記装置座標系と前記平面座標系とを変換するための変換パラメータを算出すること
を実行させるためのプログラム。
【請求項7】
前記変換パラメータは、前記第1位置ベクトルの大きさと前記第2位置ベクトルの大きさとの第1比に基づく値、および前記第1位置ベクトルと前記第2位置ベクトルとの外積の大きさと前記第1位置ベクトルと前記第2位置ベクトルとの内積との第2比に基づく値を含み、
前記平面座標系の前記センサの位置を記憶部に記録することをさらに含む、請求項6に記載のプログラム。
【請求項8】
前記センサを移動させるための移動機構に対して、前記センサが前記第1マーカと前記第2マーカとの間を通過するように制御する、請求項6または請求項7に記載のプログラム。
【請求項9】
前記センサの位置を無線通信により外部装置に送信し、
前記無線通信が切断されると、前記センサの位置を記憶部に記録し、
前記無線通信が回復すると、前記記憶部に記録したセンサの位置を前記外部装置に送信する、請求項6から請求項8のいずれかに記載のプログラム。
【請求項10】
前記無線通信が回復すると、改めて前記第1位置ベクトルと前記第2位置ベクトルとを取得して、前記変換パラメータを更新する、請求項9に記載のプログラム。
【請求項11】
マーカの位置を検出するセンサと、
前記センサを移動させる移動機構と、
前記センサの出力データに基づいて、前記センサの装置座標系における前記センサの位置を予め設定された平面座標系における位置に変換する変換部と、
を含み、
前記変換部は、
前記装置座標系における第1マーカの位置と第2マーカの位置との関係を示す第1位置ベクトルであって、2次元平面上に投影された前記第1位置ベクトルを取得し、
前記平面座標系において規定された第2位置ベクトルであって、前記第1マーカに対応する第3マーカの位置と前記第2マーカに対応する第4マーカの位置との関係を示す前記第2位置ベクトルを取得し、
前記第1位置ベクトルと前記第2位置ベクトルとの関係によって、前記装置座標系と前記平面座標系とを変換するための変換パラメータを算出する
移動装置。
【請求項12】
前記変換パラメータは、前記第1位置ベクトルの大きさと前記第2位置ベクトルの大きさとの第1比に基づく値、および前記第1位置ベクトルと前記第2位置ベクトルとの外積の大きさと前記第1位置ベクトルと前記第2位置ベクトルとの内積との第2比に基づく値を含み、
前記平面座標系の前記移動装置の位置を記憶部に記録することをさらに含む、請求項11に記載の移動装置。
【請求項13】
前記移動機構に対して、前記移動装置が前記第1マーカと前記第2マーカとの間を通過するように制御する、請求項11または請求項12に記載の移動装置。
【請求項14】
前記移動装置の位置を無線通信により外部装置に送信し、
前記無線通信が切断されると、前記移動装置の位置を記憶部に記録し、
前記無線通信が回復すると、前記記憶部に記録したセンサの位置を前記外部装置に送信する、請求項11から請求項13のいずれかに記載の移動装置。
【請求項15】
前記無線通信が回復すると、改めて前記第1位置ベクトルと前記第2位置ベクトルとを取得して、前記変換パラメータを更新する、請求項14に記載の移動装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置変換方法、プログラムおよび移動装置に関する。
【背景技術】
【0002】
移動する装置の位置を認識するために、GNSS(Global Navigation Satellite System)を用いる。一方、環境によってはGNSS信号の受信ができないため、この環境を想定して現実の位置を知るための技術も開発されている。例えば、特許文献1は、予め初期位置に配置された所定のマーカを撮像することによって、端末の初期位置および初期姿勢を登録し、深度センサにより得られる3次元特徴点群の変位に基づいて、現在位置および現在姿勢を取得する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された技術によれば、初期位置および現在位置等を取得するための処理は、非常に負荷の大きい演算を行う必要がある。一方、装置の位置を用いる技術の種類によっては、負荷の小さい演算で対応することが求められている。
【0005】
本発明の目的の一つは、装置の位置を負荷の小さい演算により得ることにある。
【課題を解決するための手段】
【0006】
本発明の一実施形態によれば、マーカの位置を検出する移動可能なセンサの出力データに基づいて、前記センサの装置座標系における第1マーカの位置と第2マーカの位置との関係を示す第1位置ベクトルであって、2次元平面上に投影された前記第1位置ベクトルを取得し、予め設定された平面座標系において規定された第2位置ベクトルであって、前記第1マーカに対応する第3マーカの位置と前記第2マーカに対応する第4マーカの位置との関係を示す前記第2位置ベクトルを取得し、前記第1位置ベクトルと前記第2位置ベクトルとの関係によって、前記装置座標系と前記平面座標系とを変換するための変換パラメータを算出することを含む、位置変換方法が提供される。
【0007】
前記変換パラメータは、前記第1位置ベクトルの大きさと前記第2位置ベクトルの大きさとの第1比に基づく値、および前記第1位置ベクトルと前記第2位置ベクトルとの外積の大きさと前記第1位置ベクトルと前記第2位置ベクトルとの内積との第2比に基づく値を含んでもよい。
【0008】
前記平面座標系の前記センサの位置を記憶部に記録することをさらに含んでもよい。
【0009】
前記センサを移動させるための移動機構に対して、前記センサが前記第1マーカと前記第2マーカとの間を通過するように制御してもよい。
【0010】
前記センサの位置を無線通信により外部装置に送信し、前記無線通信が切断されると、前記センサの位置を記憶部に記録し、前記無線通信が回復すると、前記記憶部に記録したセンサの位置を前記外部装置に送信してもよい。
【0011】
前記無線通信が回復すると、改めて前記第1位置ベクトルと前記第2位置ベクトルとを取得して、前記変換パラメータを更新してもよい。
【0012】
また、本発明の一実施形態によれば、コンピュータに、上記の位置変換方法を実行させるためのプログラムが提供される。
【0013】
また、本発明の一実施形態によれば、マーカの位置を検出するセンサと、前記センサを移動させる移動機構と、前記センサの出力データに基づいて、前記センサの装置座標系における前記センサの位置を予め設定された平面座標系における位置に変換する変換部と、を含み、前記変換部は、前記装置座標系における第1マーカの位置と第2マーカの位置との関係を示す第1位置ベクトルであって、2次元平面上に投影された前記第1位置ベクトルを取得し、前記平面座標系において規定された第2位置ベクトルであって、前記第1マーカに対応する第3マーカの位置と前記第2マーカに対応する第4マーカの位置との関係を示す前記第2位置ベクトルを取得し、前記第1位置ベクトルと前記第2位置ベクトルとの関係によって、前記装置座標系と前記平面座標系とを変換するための変換パラメータを算出する、移動装置が提供される。
【発明の効果】
【0014】
本発明によれば、装置の位置を負荷の小さい演算により得ることができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態における移動装置の構成を示す図である。
【
図2】本発明の一実施形態における変換機能の構成を示す図である。
【
図3】本発明の一実施形態における装置座標系における検出マーカの位置を説明するための図である。
【
図4】本発明の一実施形態における図面座標系における図面マーカの位置を説明するための図である。
【
図5】本発明の一実施形態における変換パラメータを説明するための図である。
【
図6】本発明の一実施形態における経路データを説明するための図である。
【
図7】本発明の一実施形態における位置変換方法を示すフローチャートである。
【
図8】本発明の一実施形態における経路データを説明するための図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字の後にA、B等を付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。
【0017】
[概要]
本発明の一実施形態における移動装置は、建築物内部を移動し、建築物内部の構造を示す設計図の座標系と移動装置が用いる座標系とで移動経路を関連付けることができる。移動装置は、建築物内部に配置された複数のマーカを検出することによって、双方の座標系における移動経路を関連付ける。複数のマーカにはそれぞれ識別情報が付与されている。識別情報は、この例ではマーカの外観から認識可能な情報である。移動装置は、移動経路上において、各位置で撮像した画像などの各種情報を記録することもできる。以下、移動装置について詳述する。
【0018】
[移動装置の構成]
図1は、本発明の一実施形態における移動装置の構成を示す図である。移動装置1は、制御部10、記憶部20、通信部30、検出部50および移動機構80を含む。制御部10は、CPU、RAMおよびROM等を含む。制御部10は、記憶部20に記憶されたプログラムをCPUにより実行することによって、プログラムに規定された命令にしたがった処理を行う。制御部10は、コンピュータの一例である。このプログラムは、位置情報の座標系を変換する方法(位置変換方法)を実行する機能(変換機能)を実現するための命令を含む。変換機能については後述する。
【0019】
記憶部20は、不揮発性メモリなどの記憶装置を含み、制御部10によって実行されるプログラムを記憶する。このプログラムは、コンピュータにより実行可能であればよく、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶された状態で移動装置1に提供されてもよい。この場合には、移動装置1は、記録媒体を読み取る装置を備えていればよい。また、このプログラムは、通信部30を介してダウンロードすることによって移動装置1に提供されてもよい。
【0020】
記憶部20は、変換機能において用いられるデータおよび変換機能において生成されるデータを記憶する。記憶部20に記憶されるデータの一例は、上述した建築物内部の構造を示す設計図のデータ(以下、設計図データDD(
図2参照)という)を含む。設計図データDDは、建築物の各階層における壁などの構造体を上から見たときの位置に相当する2次元上の座標(xd,yd)で示した情報を含む。設計図データDDは、建築物内部に配置された複数のマーカのそれぞれの位置を示す座標およびそれぞれのマーカを識別する情報をさらに含む。設計図データDDにおいて規定された座標は、設計図上の座標系で規定されている。以下の説明では、この座標系を図面座標系といい、2次元平面上の座標系であるため平面座標系ということもある。マーカの位置を示す座標については、後述する変換機能における演算の関係から1次元(z軸方向)の座標を「0」とした3次元の座標(xd,yd,0)で示される。図面座標系の原点、xd軸、yd軸は、予め決められている。例えば、原点は予め決められた位置(設計図の中心など)、xd軸の正方向が東方向、yd軸の正方向が北方向として定義されている。
【0021】
記憶部20に記憶されるデータの一例は、移動装置1の移動経路を示すデータ(以下、経路データという)を含む。経路データRD(
図2参照)は、この例では、設計図上の図面座標系による座標が時系列に並ぶ形式で示されている。したがって、設計図データDDと経路データRDとがあれば、設計図に移動経路を表示することもできる。時系列に並ぶ形式とは、単に時間の経過に伴って変化する座標が順番に並ぶ形式であってもよいし、移動経路の開始点から経過した時間と座標とを対応付けた形式であってもよい。
【0022】
通信部30は、無線通信モジュールを含み、制御部10からの制御に応じて、ネットワークNWに接続してサーバ90等の外部装置と各種データの送受信を行う。ネットワークNWは例えばインターネット等を含む。サーバ90は、移動装置1の移動経路などを管理するための機能を有する。
【0023】
検出部50は、撮像カメラ51および深度センサ53を含む。撮像カメラ51は、CCDセンサまたはCMOSセンサなどのイメージセンサであり、移動装置1の周囲の所定の範囲を撮像して画像データとして制御部10に出力する。深度センサ53は、所定の検出範囲に含まれる物体までの距離を測定して距離データとして制御部10に出力する距離センサの一例である。撮像カメラ51の撮像範囲と深度センサ53の測定範囲とは概ね一致し、少なくとも撮像範囲における座標と測定範囲における座標とは関連付けることができる。
【0024】
撮像カメラ51から得られる画像は、建築物内部に配置されたマーカを認識するために用いられる。深度センサ53から得られる測定結果は、移動装置1(深度センサ53)からそれぞれのマーカまでの距離、およびそれぞれのマーカの方向を特定するために用いられる。この距離および方向は、移動装置1において用いられる座標系でベクトルとして表される。この座標系は、検出部50によって得られた測定結果から得たものであるから、実際の大きさを反映したものである。以下の説明では、この座標系を装置座標系という。装置座標系も図面座標系と同じように、上から見たときの2次元平面上の座標であるが、後述する変換機能における演算の関係から1次元(z軸方向)の座標を「0」とした3次元の座標(xs,ys,0)で示される。装置座標系の原点、xs軸、ys軸は、移動装置1が起動されたタイミングの位置と向きを基準に決められている。したがって、装置座標系のxs軸と図面座標系xd軸とは異なる向きである場合もある。例えば、図面座標系のxd軸が東方向であったとしても、装置座標系のxs軸が東方向になるとは限らない。
【0025】
移動機構80は、制御部10の制御によって移動装置1を移動させるためのモータおよび駆動部を含む。駆動部には、車輪、脚、無限軌道などが含まれる。
【0026】
[変換機能]
続いて、変換機能について説明する。制御部10は、記憶部20に記憶されたプログラムを実行して、プログラムに記述された命令にしたがって変換機能を実現する。以下に説明する変換機能の少なくとも一部が、サーバ90の制御部(例えばCPU)において実現されてもよい。すなわち、変換機能が、移動装置1によって実現されてもよいし、サーバ90によって実現されてもよいし、移動装置1とサーバ90との協働によって実現されてもよい。
【0027】
図2は、本発明の一実施形態における変換機能の構成を示す図である。変換機能100は、検出マーカ特定部101、検出ベクトル算出部102、図面マーカ特定部103、図面ベクトル算出部104、演算部110、変換パラメータ登録部120および位置変換部130により実現される。この例では、変換機能100は、さらに移動経路制御部140を含む。
【0028】
検出マーカ特定部101は、撮像カメラ51から得られる画像データから少なくとも2つのマーカを検出し、それぞれのマーカの画像からマーカの識別情報を特定する。以下の説明では、検出マーカ特定部101によって特定される2つのマーカを、検出マーカS(A)、S(B)という。検出マーカ特定部101は、深度センサ53から得られる距離データに基づいて、移動装置1から検出マーカS(A)までの距離と検出マーカS(A)が存在する方向とを特定し、移動装置1から検出マーカS(B)までの距離と検出マーカS(B)が存在する方向とを特定する。これによって、移動装置1は、検出マーカS(A)、S(B)の位置を、装置座標系における座標で認識することができる。
【0029】
検出マーカS(A)と検出マーカS(B)とを区別するための識別情報は、例えば、2次元コード、バーコード、数字、色、模様、形状などの情報の少なくとも1つを含む。例えば、2次元コードが識別情報として用いられる場合には、複数のマーカは互いに異なる2次元コードを外観から認識できる位置に保持している。このマーカは、三角コーン(ロードコーン)、建築資材、重機などであってもよい。すなわち、マーカは建築物に固定されるものに限らない。災害現場などで用いる場合には、マーカを上空から投下することによって、所定の位置に配置するようにしてもよい。この場合には、配置された場所が設計図データDDにおいても反映されるようにすればよい。
【0030】
検出マーカ特定部101は、特定した情報から、検出マーカS(A)の位置を示すベクトルSaと、検出マーカS(B)の位置を示すベクトルSbとを算出する。ベクトルSa、Sbは、装置座標系において原点を基準としたベクトルであり、上述したように、高さ方向(z軸方向)の成分は「0」とした(xs,ys,0)の形式で表される。すなわち、検出マーカの位置が高さ方向の情報も含んでいたとしても、2次元平面上に投影された情報に修正される。
【0031】
検出ベクトル算出部102は、検出マーカS(A)を基準とした検出マーカS(B)の位置を示す検出ベクトルSpを算出する。すなわち、検出ベクトルSpは、(ベクトルSb-ベクトルSa)の演算により得られる。
【0032】
図3は、本発明の一実施形態における装置座標系における検出マーカの位置を説明するための図である。
図3は、実際の移動装置1と2つの検出マーカS(A)、S(B)との位置関係を上から見た場合に対応し、検出ベクトルSpを示している。装置座標系において移動装置1が存在する位置は、原点を基準としたベクトルSnという場合がある。制御部10は、検出マーカS(A)の位置を、装置座標系の原点として再設定してもよい。
【0033】
図2に戻って説明を続ける。図面マーカ特定部103は、検出マーカ特定部101によって特定された各検出マーカの識別情報に基づいて、設計図データDDにおいてその識別情報に対応付けられたマーカを特定する。以下の説明では、図面マーカ特定部103によって特定される2つのマーカを、図面マーカD(A)、D(B)という。すなわち、識別情報を介して、検出マーカS(A)と図面マーカD(A)とが関連付けられ、検出マーカS(B)と図面マーカD(B)とが関連付けられる。
【0034】
図面マーカ特定部103は、特定した情報から、図面マーカD(A)の位置を示すベクトルDaと、図面マーカD(B)の位置を示すベクトルDbとを算出する。ベクトルDa、Dbは、装置座標系において原点を基準としたベクトルであり、上述したように、高さ方向(z軸方向)の成分は「0」とした(xd,yd,0)の形式で表される。
【0035】
図面ベクトル算出部104は、図面マーカD(A)を基準とした図面マーカD(B)の位置を示す図面ベクトルDpを算出する。すなわち、図面ベクトルDpは、ベクトルDb-ベクトルDaの演算により得られる。
【0036】
図4は、本発明の一実施形態における図面座標系における図面マーカの位置を説明するための図である。
図4は、上述のように得られた図面ベクトルDpの関係を示す図であり、設計図における2つの図面マーカD(A)、D(B)の位置関係を上から見た場合に対応する。図面座標系において移動装置1が存在する位置は、原点を基準としたベクトルDnという場合がある。制御部10は、検出マーカS(A)に対応する図面マーカD(A)の位置を、図面座標系の原点として再設定してもよい。検出マーカS(A)の位置が装置座標系の原点として再設定されていれば、装置座標系と図面座標系との原点を一致させることもできる。
【0037】
図2に戻って説明を続ける。演算部110は、検出ベクトルSpと図面ベクトルDpとを用いて、装置座標系から図面座標系へ変換するための変換パラメータを算出する。変換パラメータは、倍率APと回転角θである。
【0038】
図5は、本発明の一実施形態における変換パラメータを説明するための図である。
図5は、検出ベクトルSpと図面ベクトルDpとの関係を示している。検出ベクトルSpに対する図面ベクトルDpの角度は、回転角θに対応する。検出ベクトルSpの大きさに対する図面ベクトルDpの大きさの割合が、倍率Mに対応する。すなわち、検出ベクトルSpは、その大きさをM倍し、角度θで回転させると、図面ベクトルDpに一致する。倍率Mと回転角θとは以下の通り演算することができる。
【0039】
この演算では、2つのベクトルの外積の大きさが、双方のベクトルの大きさとsinθとの積であること、2つのベクトルの内積が、双方のベクトルの大きさとcosθとの積であることを利用する。すなわち、2つのベクトルの内積に対する2つのベクトルの外積の大きさの割合が、tanθに対応することを利用する。また、ベクトルSp=(sx,sy,0)であり、ベクトルDp=(dx,dy,0)であるとすると、SpとDpとの内積(Sp・Dp)はsx・dx+sy・dyとして得られる。SpとDpとの外積(Sp×Dp)は(0,0,sx・dy-sy・dx)として得られ、z軸方向の成分が外積の大きさに相当する。
【0040】
M=|Dp|/|Sp|
tanθ=(Sp×Dpのz軸方向の成分)/(Sp・Dp)
=(sx・dy-sy・dx)/(sx・dx+sy・dy)
この式は以下のように変形できる
θ=tan-1((sx・dy-sy・dx)/(sx・dx+sy・dy))
【0041】
このように、倍率Mは、検出ベクトルSpの大きさと図面ベクトルDpの大きさとの比に基づいて算出される。回転角θは、検出ベクトルSpと図面ベクトルDpとの外積の大きさと、検出ベクトルSpと図面ベクトルDpとの内積との比に基づいて算出される。
【0042】
図2に戻って説明を続ける。変換パラメータ登録部120は、算出された変換パラメータを制御部10の所定の記憶領域に登録する。なお、変換パラメータを算出した後においては、以下に説明するベクトルを用いた演算は、3次元のベクトルを2次元のベクトルとして扱うようにしてもよい。
【0043】
位置変換部130は、変換パラメータに基づいて、装置座標系の位置と図面座標系の位置との間で変換する。例えば、位置変換部130は、変換パラメータを参照して、装置座標系における移動装置1の位置を図面座標系の位置に変換することができる。すなわち、装置座標系における検出マーカS(A)を基準とした移動装置1の位置(ベクトルSn-ベクトルSa)を角度θで回転させ、大きさをM倍することによって、図面座標系における図面マーカD(A)を基準とした移動装置1の位置(ベクトルDn-ベクトルDa)に変換することができる。変換のための演算式は以下の通りである。
【0044】
(Dn-Da)=M・R(θ)・(Sn-Sa)
この式は、以下のように変形できる
Dn=M・R(θ)・(Sn-Sa)+Da
R(θ)は、z軸周りに角度θで回転させる回転行列を示す。
【0045】
位置変換部130は、経路データRDにしたがって移動装置1を移動させる場合に、変換パラメータを用いて、経路データに基づいて指定される移動装置1の図面座標系の位置を、装置座標系の位置に変換する。
【0046】
移動経路制御部140は、位置変換部130において経路データに基づいて装置座標系に変換された移動装置1の位置に移動するように、移動機構80を制御する。
【0047】
図6は、本発明の一実施形態における経路データを説明するための図である。
図5に示す例では、移動装置1の移動経路RTが経路データRDに登録されている。移動経路RTは、開始点SPと終了点EPとを規定する。経路データRDは、さらに、経路上において撮像カメラ51の撮像により画像データを記録する地点(データ記録点CD1、CD2)を規定する。データ記録点において取得されるデータは、画像データに代えて、または画像データとともに距離データを含んでいてもよいし、その他のデータを含んでいてもよい。その他のデータの例は、温度、湿度、音量等を含む。ここでいう音量は、例えば、環境音、音声などの大きさを想定している。環境音には騒音などが含まれる。音量ではなく音波形信号であってもよい。この場合には、取得すべきデータに応じたセンサが移動装置1に設けられていればよい。温度であれば、温度センサ、湿度であれば湿度センサ、音量であればマイクロフォンなどの各センサが検出部50として設けられてもよい。
【0048】
移動経路制御部140は、経路データにしたがって、移動装置1が開始点SPまで移動してさらに終了点EPまで移動するように、移動機構80を制御する。移動経路上のデータ記録点CD1、CD2において撮像カメラ51から得られた画像データは、制御部10によって経路データRDに関連付けて登録される。
【0049】
[位置変換方法]
続いて、変換機能100において実行される位置変換方法について、説明する。
【0050】
図7は、本発明の一実施形態における位置変換方法を示すフローチャートである。このフローチャートは、移動装置1が起動されることによって開始される。制御部10は、装置座標系の原点を設定する(ステップS110)。続いて、移動装置1は、2つの検出マーカを特定することができる程度に、撮像カメラ51における所定の撮像範囲に2つのマーカを捉えるまで移動する(ステップS120、ステップS130;No)。制御部10は、2つの検出マーカを特定する(ステップS130;Yes)と、検出マーカの識別情報に基づいて設計図データから図面マーカを特定して、変換パラメータを算出する(ステップS210)。
【0051】
制御部10は、経路データRDに基づいて、データ記録点に到達するか終了点に到達するまで移動装置1を移動させる(ステップS220、ステップS230;No、ステップS250;No)。このとき、上述したように、制御部10は、経路データRDに規定された図面座標系の移動経路を装置座標系の移動経路に変換し、変換後の移動経路を移動装置1の移動制御に用いる。移動装置1が記録点に到達した場合(ステップS230;Yes)、制御部10は、撮像カメラ51から画像データを取得して、経路データRDにおける記録点に関連付けて登録する。移動装置1が終了点に到達した場合(ステップS250;Yes)、制御部10は、移動装置1を停止して位置変換方法の処理を終了する。
【0052】
このように、演算部110は、マーカが2次元平面上に配置されている前提とすることによって、非常に負荷の小さい処理で変換パラメータを算出することができる。また、変換パラメータを用いた座標系の変換についても、倍率Mと回転角θによる回転行列を用いた簡易的な演算によって実現することができる。
【0053】
上述の一実施形態によれば、変換パラメータを用いて、予め決められた図面座標系の移動経路を装置座標系の移動経路に変換することによって移動装置1が移動する構成を説明した。これとは逆に、移動装置1が自立して移動する構成とし、移動装置1の移動経路を、変換パラメータを用いて図面座標系の移動経路に変換することで、設計図上での移動経路が記録されるようにしてもよい。
【0054】
この場合には、移動経路制御部140は、予め決められたアルゴリズムにしたがって、移動装置1の移動経路を制御する。このアルゴリズムは、例えば、2つの検出マーカを特定すると、特定した2つの検出マーカとの間を通過するように移動し、例えば、検出マーカ間を結ぶ直線の中心を垂直に横切るように移動し、そして、移動した先でさらに他の2つの検出マーカを特定して、再び同じように移動するといったことを繰り返すように、予め決められている。
【0055】
移動装置1の移動制御および装置座標系での位置認識は、撮像カメラ51を用いた技術、深度センサ53を用いた技術、移動機構80を用いた技術など、自立して移動制御をするための公知の方法を用いればよい。
【0056】
このようにして決められたアルゴリズムにしたがって移動装置1が移動したときの経路が、経路データRDとして記録される。このようにして記録された経路データRDの例について説明する。
【0057】
図8は、本発明の変形例における経路データを説明するための図である。
図8に示す図面座標系の移動経路RTは、移動装置1が上記アルゴリズムにしたがって移動した結果、移動装置1の移動経路として、制御部10によって経路データRDに記録された例を示している。マーカ特定点CP1、CP2、CP3は、それぞれ、移動装置1が2つの検出マーカを特定した位置に対応する。まず、移動装置1は、マーカ特定点CP1において検出マーカS(A)、S(B)およびこれらに対応する図面マーカD(A)、D(B)を特定する。その後、移動装置1は、検出マーカS(A)と検出マーカS(B)とを結ぶ直線の中心を垂直に横切るように移動し、他の2つのマーカを検出マーカとして特定するまでそのまま移動する。
【0058】
移動装置1は、マーカ特定点CP2において検出マーカS(C)、S(D)およびこれらに対応する図面マーカD(C)、D(D)を特定する。その後、移動装置1は、検出マーカS(C)と検出マーカS(D)とを結ぶ直線の中心を垂直に横切るように移動し、さらに他の2つのマーカを検出マーカとして特定するまでそのまま移動する。その後、移動装置1は、検出マーカS(C)と検出マーカS(D)とを結ぶ直線の中心を垂直に横切るように移動し、他の2つのマーカを検出マーカとして特定するまでそのまま移動する。
【0059】
移動装置1は、マーカ特定点CP3において検出マーカS(E)、S(F)およびこれらに対応する図面マーカD(E)、D(F)を特定する。その後、移動装置1は、検出マーカS(E)と検出マーカS(F)とを結ぶ直線の中心を垂直に横切るように移動する。この例では、移動装置1は、他のマーカの存在を確認できないため、終了点EPの位置で移動を停止する。移動装置1は、移動経路の途中において画像データの取得を行った場合には、取得された位置に対応してその画像データを経路データRDに登録することもできる。
【0060】
このように、移動装置1が所定のアルゴリズムにしたがって移動する場合でも、移動装置1は、移動経路の座標を装置座標系から図面座標系へ変換することによって、設計図における移動経路として示すことのできる経路データRDを生成することができる。
【0061】
<変形例>
以上、本発明の一実施形態について説明したが、上述した各実施形態は、以下の通り変形して実施することも可能である。
【0062】
(1)移動装置1の移動経路を経路データRDに記録する場合、経路データRDは、サーバ90の記憶部に記録されるようにしてもよい。この場合には、移動装置1は、ネットワークNWを介してサーバ90に移動装置1の図面座標系における位置を示す情報を送信する。サーバ90は、受信した情報に基づいて経路データRDを記憶部に記録する。
【0063】
移動装置1が移動することによってネットワークNWに接続できなくなり無線通信が切断された場合には、送信すべき情報を移動装置1の記憶部20に記録しておく。さらに移動装置1が移動することによってネットワークNWへの接続ができるようになって無線通信が回復した場合には、記憶部20に記憶しておいた情報をサーバ90に送信する。このようにして、サーバ90における経路データRDの一部欠落が生じないようにすることができる。
【0064】
なお、無線通信が回復した後には、最も近くにあるマーカを用いるなどして、改めて変換パラメータを算出するようにして、位置変換方法において用いる変換パラメータを更新してもよい。
【0065】
(2)マーカの識別情報は外観から認識可能なもの、すなわち可視光で検出される情報である場合に限らない。例えば、電波、音波などによって検出される情報であってもよい。この場合には移動装置1は、検出部50においてそのような情報を取得するためのセンサを有するようにすればよい。
【0066】
(3)移動装置1の利用環境は、建築物内部を例として説明したが、屋外であってもよい。すなわち、マーカの配置ができる環境であれば、どのような環境であっても移動装置1の利用環境として適用できる。移動機構80は、駆動部として利用環境に応じた構成を採用することによって移動装置1を移動させればよい。
【0067】
(4)移動装置1は、深度センサ53によって対象物までの距離を測定するようにしていたが、撮像カメラ51によって撮像された画像を解析することによって対象物までの距離を測定することができる場合には、深度センサ53を備えていなくてもよい。例えば、撮像カメラ51によって撮像されたARマーカの傾きおよび大きさからARマーカまでの距離を算出すればよい。
【符号の説明】
【0068】
1…移動装置、10…制御部、20…記憶部、30…通信部、50…検出部、51…撮像カメラ、53…深度センサ、80…移動機構、90…サーバ、100…変換機能、101…検出マーカ特定部、102…検出ベクトル算出部、103…図面マーカ特定部、104…図面ベクトル算出部、110…演算部、120…変換パラメータ登録部、130…位置変換部、140…移動経路制御部