(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】位置合わせ装置及び位置合わせ方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240329BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2022534552
(86)(22)【出願日】2020-07-08
(86)【国際出願番号】 JP2020026680
(87)【国際公開番号】W WO2022009329
(87)【国際公開日】2022-01-13
【審査請求日】2023-04-05
(73)【特許権者】
【識別番号】591036457
【氏名又は名称】三菱電機エンジニアリング株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】向山 弘記
(72)【発明者】
【氏名】大神 航
(72)【発明者】
【氏名】山崎 亮平
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2015-121892(JP,A)
【文献】特開2012-151851(JP,A)
【文献】米国特許出願公開第2017/0154471(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/048 - 3/04895
(57)【特許請求の範囲】
【請求項1】
仮想オブジェクトを有する現実空間を模した第1の仮想空間に存在する第1の平面、及び、現実空間を模した第2の仮想空間に存在する当該第1の平面に相当する第2の平面を設定する平面設定部と、
前記平面設定部による設定結果に基づいて、第1の仮想空間に存在する第1の平面と交わる第3の平面、及び、第2の仮想空間に存在する第3の平面に相当する第4の平面を抽出する平面抽出部と、
前記平面設定部による設定結果及び前記平面抽出部による抽出結果に基づいて、第1の仮想空間における位置及び方向を、第2の仮想空間における位置及び方向に合わせる変換部と
を備えた位置合わせ装置。
【請求項2】
前記変換部は、
第1の仮想空間における第1の方向を、第2の仮想空間における第1の方向に相当する第2の方向に合わせるように傾ける第1の方向変換部と、
第1の仮想空間に存在する第1の点を、第2の仮想空間に存在する第1の点に相当する第2の点に合わせるように移動させる位置変換部と、
第1の仮想空間における第1の方向に垂直な方向である第3の方向を、第2の仮想空間における第3の方向に相当する第4の方向に合わせるように傾ける第2の方向変換部とを有する
ことを特徴とする請求項1記載の位置合わせ装置。
【請求項3】
前記第1の方向変換部は、
1つの第1の平面と1つの第3の平面とが交わる第1の交差線を求め、当該第1の平面と当該第3の平面とは平行ではない1つの第3の平面とが交わる第2の交差線を求め、第1の交差線及び第2の交差線と同一方向のベクトルの外積から第1の方向と同一方向のベクトルを求め、
1つの第2の平面と1つの第4の平面とが交わる第3の交差線を求め、当該第2の平面と当該第4の平面とは平行ではない1つの第4の平面とが交わる第4の交差線を求め、第3の交差線及び第4の交差線と同一方向のベクトルの外積から第2の方向と同一方向のベクトルを求める
ことを特徴とする請求項2記載の位置合わせ装置。
【請求項4】
前記位置変換部は、
第1の交差線及び第2の交差線の組合せのうち、同一平面上に存在する第1の交差線及び第2の交差線の交点座標を第1の点として求め、
第3の交差線及び第4の交差線の組合せのうち、同一平面上に存在する第1の交差線及び第2の交差線に相当する第3の交差線及び第4の交差線の交点座標を第2の点として求める
ことを特徴とする請求項3記載の位置合わせ装置。
【請求項5】
前記第2の方向変換部は、
第1の交差線又は第2の交差線と同一方向のベクトルと、第1の方向と同一方向のベクトルとの外積により、第3の方向と同一方向のベクトルを求め、
第3の交差線又は第4の交差線と同一方向のベクトルと、第2の方向と同一方向のベクトルとの外積により、第4の方向と同一方向のベクトルを求める
ことを特徴とする請求項4記載の位置合わせ装置。
【請求項6】
前記平面抽出部は、
第1の平面と交わる平面を抽出し、当該平面を法線方向によりグループに分け、当該グループ毎に当該平面の法線方向における位置を示す第1の分布情報を作成し、
第2の平面と交わる平面を抽出し、当該平面を法線方向によりグループに分け、当該グループ毎に当該平面の法線方向における位置を示す第2の分布情報を作成し、
第1の分布情報及び第2の分布情報から位置関係が一致するグループを抽出し、第1の仮想空間における当該抽出したグループに第3の平面が含まれている場合、第2の仮想空間における当該抽出したグループに含まれる、当該第3の平面と同じ位置関係にある平面を、第4の平面とする
ことを特徴とする請求項1から請求項5のうちの何れか1項記載の位置合わせ装置。
【請求項7】
平面設定部が、仮想オブジェクトを有する現実空間を模した第1の仮想空間に存在する第1の平面、及び、現実空間を模した第2の仮想空間に存在する当該第1の平面に相当する第2の平面を設定するステップと、
平面抽出部が、前記平面設定部による設定結果に基づいて、第1の仮想空間に存在する第1の平面と交わる第3の平面、及び、第2の仮想空間に存在する第3の平面に相当する第4の平面を抽出するステップと、
変換部が、前記平面設定部による設定結果及び前記平面抽出部による抽出結果に基づいて、第1の仮想空間における位置及び方向を、第2の仮想空間における位置及び方向に合わせるステップと
を有する位置合わせ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、2つの仮想空間の位置及び方向を合わせる位置合わせ装置及び位置合わせ方法に関する。
【背景技術】
【0002】
従来、ディスプレイに仮想オブジェクトを表示することで、ユーザに対して現実空間に仮想オブジェクトが存在しているかのように認識させるMR(Mixed Reality)デバイスが知られている(例えば特許文献1参照)。このMRデバイスでは、仮想オブジェクトが現実空間における特定の位置及び方向に存在しているかのように仮想オブジェクトの表示を行う場合、仮想オブジェクトを有する現実空間を模した仮想空間と、ディスプレイを通してユーザから見える現実空間を模した仮想空間との位置及び方向を一致させる必要がある。この2つの仮想空間の位置及び方向は、ユーザによる移動操作及び回転操作により合わせられる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、従来のMRデバイスでは、2つの仮想空間の位置及び方向を一致させる際に、ユーザが移動操作又は回転操作を行う必要がある。
【0005】
本開示は、上記のような課題を解決するためになされたもので、2つの仮想空間を一致させる際に、ユーザによる操作を不要とする位置合わせ装置を提供することを目的としている。
【課題を解決するための手段】
【0006】
本開示に係る位置合わせ装置は、仮想オブジェクトを有する現実空間を模した第1の仮想空間に存在する第1の平面、及び、現実空間を模した第2の仮想空間に存在する当該第1の平面に相当する第2の平面を設定する平面設定部と、平面設定部による設定結果に基づいて、第1の仮想空間に存在する第1の平面と交わる第3の平面、及び、第2の仮想空間に存在する第3の平面に相当する第4の平面を抽出する平面抽出部と、平面設定部による設定結果及び平面抽出部による抽出結果に基づいて、第1の仮想空間における位置及び方向を、第2の仮想空間における位置及び方向に合わせる変換部とを備えたことを特徴とする。
【発明の効果】
【0007】
本開示によれば、上記のように構成したので、2つの仮想空間を一致させる際に、ユーザによる操作が不要となる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係るMRデバイスの構成例を示す図である。
【
図2】実施の形態1に係る演算処理部の構成例を示す図である。
【
図3】実施の形態1に係る演算処理部の動作例を示すフローチャートである。
【
図4】実施の形態1における平面設定部の動作例を示す図である。
【
図5】実施の形態1における平面抽出部の動作例を示す図である。
【
図6】実施の形態1における平面抽出部の動作例を示す図である。
【
図7】実施の形態1における平面抽出部の動作例を示す図である。
【
図8】実施の形態1における平面抽出部の動作例を示す図である。
【
図9】実施の形態1における変換部の動作例を示す図である。
【
図10】実施の形態1における変換部の動作例を示す図である。
【
図11】実施の形態1における変換部の動作例を示す図である。
【
図12】実施の形態1における変換部の動作例を示す図である。
【
図13】実施の形態1における変換部の動作例を示す図である。
【
図14】実施の形態1における変換部の動作例を示す図である。
【
図15】実施の形態1における変換部の動作例を示す図である。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係るMRデバイス(仮想オブジェクト表示装置)の構成例を示す図である。
MRデバイスは、ディスプレイ1に仮想オブジェクトを表示することで、ユーザに対して現実空間に仮想オブジェクトが存在しているかのように認識させる。MRデバイスとしては、例えば、Hololens(登録商標)、Hololens2又はMagic Leap(登録商標)等のヘッドマウントディスプレイ方式のウェアラブルコンピュータが挙げられる。MRデバイスは、
図1に示すように、ディスプレイ1、記憶部2、センサ部3、演算処理部(位置合わせ装置)4及び表示制御部5を備えている。
【0010】
ディスプレイ1は、透明な表示デバイスである。ディスプレイ1としては、ヘッドマウントディスプレイ又はゴーグル等が挙げられる。
【0011】
記憶部2は、MRデバイスで扱われる各種情報を示すデータを記憶する。例えば、記憶部2は、仮想空間(第1の仮想空間)10aを示す形状データを記憶している。仮想空間10aは、ディスプレイ1に表示される仮想オブジェクトを有する仮想空間であり、現実空間を模して事前に作成された仮想空間である。
【0012】
センサ部3は、ユーザがディスプレイ1を通して見ている現実空間の形状を認識し、当該形状に基づいて仮想空間(第2の仮想空間)10bを作成する。仮想空間10bは、MRデバイスが仮想空間内の自己位置を定めるために作成する仮想空間であり、現実空間を模した仮想空間である。この仮想空間10bは、ユーザがディスプレイ1を通して見ている現実空間に対し、位置及び方向が一致(略一致の意味を含む)している。
【0013】
演算処理部4は、記憶部2に記憶された仮想空間10aの位置及び方向を、センサ部3により作成された仮想空間10bの位置及び方向に合わせる。この演算処理部4の詳細については後述する。
【0014】
表示制御部5は、演算処理部4による処理結果に基づいて、記憶部2に記憶されたデータが示す仮想オブジェクトを、ディスプレイ1に表示する。
【0015】
なお
図1では、演算処理部4がMRデバイスの内部に設けられた場合を示した。しかしながら、これに限らず、演算処理部4はMRデバイスの外部に設けられていてもよい。
【0016】
次に、演算処理部4の構成例について、
図2を参照しながら説明する。
演算処理部4は、
図2に示すように、平面設定部41、平面抽出部42及び変換部43を備えている。
【0017】
平面設定部41は、仮想空間10aに存在する平面(第1の平面)11a、及び、仮想空間10bに存在する平面(第2の平面)11bを設定する。すなわち、平面設定部41は、平面11aの方程式及び平面11bの方程式を生成する。平面11aは、例えば床面又は天井面等の水平平面である。平面11bは、平面11aに相当する平面である。
【0018】
平面抽出部42は、平面設定部41による設定結果に基づいて、仮想空間10aに存在する平面(第3の平面)12a、及び、仮想空間10bに存在する平面(第4の平面)12bを抽出する。すなわち、平面抽出部42は、平面12aの方程式及び平面12bの方程式を生成する。平面12aは、平面11aと交わる平面である。平面12bは、平面12aに相当する平面であり、平面11bと交わる平面である。
【0019】
なお、平面抽出部42は、平面12bについては、以下の手順で抽出を行う。
まず、平面抽出部42は、平面11aと交わる平面を抽出し、当該平面を法線方向によりグループに分ける。なお、平面が平面11aと交わるかは、当該平面の方程式から得た法線の傾きから判別可能である。そして、平面抽出部42は、グループ毎に第1の分布情報を作成する。第1の分布情報は、上記平面の法線方向(奥行き方向)における位置を示す情報である。この際、平面抽出部42は、平面11aと上記平面との交差線を求め、当該交差線の位置から第1の分布情報を作成する。
同様に、平面抽出部42は、平面11bと交わる平面を抽出し、当該平面を法線方向によりグループに分ける。なお、平面が平面11bと交わるかは、当該平面の方程式から得た法線の傾きから判別可能である。そして、平面抽出部42は、グループ毎に第2の分布情報を作成する。第2の分布情報は、上記平面の法線方向(奥行き方向)における位置を示す情報である。この際、平面抽出部42は、平面11bと上記平面との交差線を求め、当該交差線の位置から第2の分布情報を作成する。
そして、平面抽出部42は、第1の分布情報及び第2の分布情報から位置関係が一致するグループを抽出する。そして、平面抽出部42は、仮想空間10aにおける上記抽出したグループに平面12aが含まれている場合、仮想空間10bにおける当該抽出したグループに含まれる、当該平面12aと同じ位置関係にある平面を、平面12bとする。
【0020】
変換部43は、平面設定部41による設定結果及び平面抽出部42による抽出結果に基づいて、仮想空間10aにおける位置及び方向を、仮想空間10bにおける位置及び方向に合わせる。変換部43は、
図2に示すように、方向変換部(第1の方向変換部)44、位置変換部45及び方向変換部(第2の方向変換部)46を有している。
【0021】
方向変換部44は、仮想空間10aにおける方向(第1の方向)13aを、仮想空間10bにおける方向(第2の方向)13bに合わせるように傾ける。方向13bは、方向13aに相当する。
【0022】
この際、まず、方向変換部44は、仮想空間10aに存在する交差線(第1の交差線)14a及び交差線(第2の交差線)15aを求める。交差線14aは、1つの平面11aと1つの平面12aとが交わる線分である。交差線15aは、上記平面11aと上記平面12aとは平行ではない1つの平面12aとが交わる線分である。そして、方向変換部44は、交差線14a及び交差線15aと同一方向のベクトルの外積から、方向13aと同一方向のベクトルを求める。
同様に、方向変換部44は、仮想空間10bに存在する交差線(第3の交差線)14b及び交差線(第4の交差線)15bを求める。交差線14bは、1つの平面11bと1つの平面12bとが交わる線分である。交差線15bは、上記平面11bと上記平面12bとは平行ではない1つの平面12bとが交わる線分である。そして、方向変換部44は、交差線14b及び交差線15bと同一方向のベクトルの外積から、方向13bと同一方向のベクトルを求める。
その後、方向変換部44は、仮想空間10aにおける方向13aを、仮想空間10bにおける方向13aに合わせるように傾ける。この際、方向変換部44は、仮想空間10aに存在する交差線14a及び交差線15aも傾ける。
【0023】
位置変換部45は、仮想空間10aに存在する点(第1の点)16aを、仮想空間10bに存在する点(第2の点)16bに合わせるように移動させる。点16aは、一意の点である。点16bは、点16aに相当する点であり、一意の点である。
【0024】
この際、まず、位置変換部45は、交差線14a及び交差線15aの組合せのうち、同一平面上に存在する交差線14a及び交差線15aの交点座標を点16aとして求める。
同様に、位置変換部45は、交差線14b及び交差線15bの組合せのうち、同一平面上に存在する交差線14a及び交差線15aに相当する交差線14b及び交差線15bの交点座標を点16bとして求める。
その後、位置変換部45は、仮想空間10aに存在する点16aを、仮想空間10bに存在する点16bに合わせるように移動させる。
【0025】
方向変換部46は、仮想空間10aにおける方向(第3の方向)17aを、仮想空間10bにおける方向(第4の方向)17bに合わせるように傾ける。方向17aは、方向13aに垂直な方向である。方向17bは、方向17aに相当する方向であり、方向13bに垂直な方向である。
【0026】
この際、方向変換部46は、交差線14a又は交差線15aと同一方向のベクトルと、方向13aと同一方向のベクトルとの外積により、方向17aと同一方向のベクトルを求める。
同様に、方向変換部46は、交差線14b又は交差線15bと同一方向のベクトルと、方向13bと同一方向のベクトルとの外積により、方向17bと同一方向のベクトルを求める。
その後、方向変換部46は、仮想空間10aにおける方向17aを、仮想空間10bにおける方向17bに合わせるように傾ける。すなわち、方向変換部46は、仮想空間10aを方向13a回りに回転させる。
【0027】
なおここでは、演算処理部4がMRデバイスに適用された場合を示した。しかしながら、これに限らず、演算処理部4は、AR(Augmented Reality)デバイスに適用されていてもよい。
【0028】
次に、
図2に示す実施の形態1における演算処理部4の動作例について、
図3を参照しながら説明する。
ここで、MRデバイスによる仮想オブジェクトの表示では、ディスプレイ1を通して見える現実空間のどこに仮想オブジェクトを仮想的に存在させるかを決める必要がある。現行では、MRデバイスが自己の保有するセンサ部で認識した現実空間の形状に基づいて仮想空間を構築し、表示する仮想オブジェクトを仮想空間内の不定の位置又はユーザ操作による位置指定によって表示位置を決める。
【0029】
ここで、仮想オブジェクトを現実空間における特定の位置及び方向に存在しているかのように表示する場合、仮想オブジェクトが存在する仮想空間における特定の座標値及び方向を、MRデバイスが自己位置を推定するために現実空間の特徴に基づいて作成した仮想空間における特定の座標値及び方向に一致させる必要がある。
【0030】
具体例を挙げれば、現実空間における気流の流れをMRにより可視化する場合、第1の仮想空間及び第2の仮想空間の位置及び方向を一致させなければならない。なお、第1の仮想空間は、現実空間(現存する建築物の空間形状)のBIM(Building Information Modeling)データ等の建築CAD(Computer-Aided Design)データの形状(気流解析に用いる形状)で作成された仮想空間である。第2の仮想空間は、MRデバイスが現実空間に基づいて作成した仮想空間である。
【0031】
MRデバイスが表示を開始した後に、ユーザによる移動操作及び回転操作により、第1の仮想空間の位置及び方向を、第2の仮想空間に合わせることは可能である。しかしながら、この方法では、作業が煩雑であり、ユーザが期待するものではない。そのため、2つの仮想空間はユーザによる移動操作及び回転操作を行わずに一致させることが求められる。
【0032】
しかしながら、予め用意された仮想オブジェクトが存在する第1の仮想空間と、MRデバイスが自己の位置を推定するために作成した第2の仮想空間は、それぞれ独立した仮想空間である。また、MRデバイスが作成した第2の仮想空間の位置及び方向は、作成時の条件(空間認識を開始した位置及び方向等)により変動する。よって、第1の仮想空間と第2の仮想空間とを一致させる情報は事前に決められるものではない。
【0033】
MRデバイスを起動して現実空間の認識を開始する瞬間の、現実空間における位置及び向きを、固定された三脚等により厳密に指定できれば、MRデバイスにより作成される仮想空間の位置及び方向を予め想定することは可能である。しかしながら、この方法は、現実的な運用方法とは言えない。
【0034】
一方、特許文献1では、仮想オブジェクトを仮想空間に再配置する方法が提示されている。しかしながら、この方法は仮想オブジェクトをMRデバイスが現実空間に基づいて作成した仮想空間上の任意の平面(例えば壁又は机の上)に沿うように、自動で回転させ配置するように、ユーザによる仮想オブジェクトを空間内で移動させる際の疲労を低減させることを目的とした、仮想オブジェクトの移動に緩い拘束条件を発生させるものである。
【0035】
そのため、この方法では前述のような2つの仮想空間の一致を、ユーザの何らかのインタラクションによる移動操作及び回転操作を伴わずに実行することはできない。
【0036】
この問題を解決するためには、形状が一致する2つの仮想空間の位置及び方向を必ず一意に決めることができる厳格な拘束条件を導き出す必要がある。
【0037】
そこで、実施の形態1に係る演算処理部4は、まず、仮想空間10aの方向13aを仮想空間10bの方向13bに合わせる。そして、演算処理部4は、仮想空間10aと仮想空間10bに存在する一意の点16a,16bを一致させる。これにより、演算処理部4は、2つの仮想空間を、上記一意の点16a,16bを通る軸周りの回転誤差を除いて、一致させる。最後に、演算処理部4は、仮想空間10aの方向17aを仮想空間10bの方向17bに合わせる。これにより、演算処理部4は、仮想空間10aを仮想空間10bに対し、位置及び方向(傾き)ともに一致させる。
【0038】
これにより、演算処理部4は、表示用に予め用意した仮想オブジェクトが属する仮想空間10aの位置及び方向を、センサ部3が現実空間の形状を基に作成した仮想空間10bの位置及び方向と一致させることができる。そのため、仮想オブジェクト表示装置は、表示したい仮想オブジェクトを、ユーザが移動操作及び回転操作することなく、ディスプレイ1を通して見える現実空間の任意の位置及び向きに存在しているかのように表示可能になる。
【0039】
なお以下では、平面11a及び平面11bが水平平面であり、平面12a及び平面12bが垂直平面であるとする。また、方向13a及び方向13bが垂直方向であり、方向17a及び方向17bが水平方向であるとする。
【0040】
演算処理部4の動作例では、
図3に示すように、まず、平面設定部41は、仮想空間10aに存在する水平平面、及び、仮想空間10bに存在する水平平面を設定する(ステップST301)。以下では、
図4に示すように、仮想空間10aに存在する水平平面をA-HPlane(n)と称し、仮想空間10bに存在する水平平面をB-HPlane(n)と称す。
図4では、A-HPlane(1),B-HPlane(1)が図示されている。
【0041】
水平平面としては、通常、仮想空間内の床面又は天井面が選択されることが想定される。また、床面及び天井面は、法線の向き、及び、平面が仮想空間内の平面の集合のうちの上端及び下端の何れに属しているかによって、容易に選択可能である。
また、水平平面として、机の上面等のように、床面及び天井面以外の平面が選択されてもよい。この場合、仮想空間内の高さ方向の情報から容易に平面の選択が可能である。
【0042】
次いで、平面抽出部42は、平面設定部41による設定結果に基づいて、仮想空間10aに存在する垂直平面、及び、仮想空間10bに存在する垂直平面を抽出する(ステップST302)。以下では、
図5に示すように、仮想空間10aに存在する垂直平面をA-Plane(n)と称し、仮想空間10bに存在する垂直平面をB-Plane(n)と称す。
図5では、A-Plane(1),A-Plane(2),B-Plane(1),B-Plane(2)が図示されている。
【0043】
ここで、平面抽出部42は、仮想空間10a及び仮想空間10bから、同等の平面の組合せを抽出する必要がある。ここで課題となるのは、仮想空間10bは、センサ部3が現実空間の形状を認識した後に作成されるため、仮想空間10aに存在する平面12aに相当する平面12bを予め選定できない点である。また、MRデバイスが仮想空間の描画のために定義する表示計算用の3次元空間内において、仮想空間10bが作成される位置及び方向は、センサ部3が現実空間の形状の認識を始める時点での、センサ部3と現実空間との位置関係により相対的に決まる。そのため、仮想空間10aに存在する平面12aの位置を基に、仮想空間10bに存在する平面12bを選定できない点も課題である。
そのため、平面抽出部42は、上記の課題の下、仮想空間10bから、仮想空間10aの平面12aに相当する平面12bを抽出するため、以下のような処理を行う。
【0044】
まず、
図6に示すように、平面抽出部42は、A-HPlane(n)と交わる平面を抽出し、当該平面を法線方向によりグループに分ける。なお、平面がA-HPlane(n)と交わるかは、当該平面の方程式から得た法線の傾きから判別可能である。
図6では、同一グループの平面として、A-Plane(2)~A-Plane(6)が図示されている。なお、A-Plane(5),A-Plane(6)が抽出される部位は、部屋の柱等の一面であり、
図4等では図示されていない部位である。そして、
図7に示すように、平面抽出部42は、グループ毎に第1の分布情報を作成する。この際、平面抽出部42は、A-HPlane(n)と上記平面との交差線を求め、当該交差線の位置から第1の分布情報を作成する。
図7では、
図6に示されるグループの第1の分布情報が示す位置として、A-P(1)~A-P(4)が示されている。
同様に、平面抽出部42は、B-HPlane(n)と交わる平面を抽出し、当該平面を法線方向によりグループに分ける。なお、平面がB-Plane(n)と交わるかは、当該平面の方程式から得た法線の傾きから判別可能である。
図8では、同一グループの平面として、B-Plane(2)~B-Plane(6)が図示されている。なお、B-Plane(5),B-Plane(6)が抽出される部位は、部屋の柱等の一面であり、
図4等では図示されていない部位である。そして、平面抽出部42は、グループ毎に第2の分布情報を作成する。この際、平面抽出部42は、A-HPlane(n)と上記平面との交差線を求め、当該交差線の位置から第2の分布情報を作成する。
図8では、
図8に示されるグループの第2の分布情報が示す位置として、B-P(1)~B-P(4)が示されている。
そして、
図8に示すように、平面抽出部42は、第1の分布情報及び第2の分布情報から位置関係が一致するグループを抽出する。そして、平面抽出部42は、仮想空間10aにおける上記抽出したグループにA-Plane(n)が含まれている場合、仮想空間10bにおける当該抽出したグループに含まれる、当該A-Plane(n)と同じ位置関係にある平面を、B-Plane(n)とする。
【0045】
なお
図8に示すように、仮想空間10b内に対象とされる平面が複数存在する場合も想定される。
図8では、仮想空間10bにおいて、A-P(2)と同じ位置関係にあるものはB-P(2)であり、そのB-P(2)に位置する平面はB-Plane(3),B-Plane(4)の2つである。しかしながら、この平面は無限平面として定義されるため、同一平面上に存在する平面であればどの平面が選択されてもよく、同一の結果が得られる。
【0046】
なお、対象とする現実空間が例えば何も物が置かれていない立方体状の空間である場合、同一の仮想空間内に奥行き方向の位置関係が全く同じグループが複数存在することも考えられる。このような場合、仮想空間10aについては予め方位を示す情報を付与し、仮想空間10bについては、MRデバイスにジャイロセンサ等の方位を検知可能なセンサを設け、当該センサにより検知された方位を示す情報を付与する。そして、平面抽出部42は、仮想空間10aに付与された方位を示す情報及び仮想空間10bに付与された方位を示す情報に基づいて、平面12b(ここではB-Plane(n))の抽出を行う。
【0047】
次いで、方向変換部44は、仮想空間10aにおける垂直方向を、仮想空間10bにおける垂直方向に合わせるように傾ける(ステップST303)。
【0048】
この際、まず、
図9,10に示すように、方向変換部44は、仮想空間10aに存在する交差線14a及び交差線15aを求める。交差線14aは、1つのA-HPlane(n)と1つのA-Plane(n)とが交わる線分である。
図9では、交差線14aは、A-HPlane(1)とA-Plane(1)とが交わる線分である。交差線15aは、上記A-HPlane(n)と上記A-Plane(n)とは平行ではない1つのA-Plane(n)とが交わる線分である。
図10では、交差線15aは、A-HPlane(1)とA-Plane(2)とが交わる線分である。そして、
図11に示すように、方向変換部44は、交差線14a及び交差線15aと同一方向のベクトル14a’,15a’の外積から、垂直方向と同一方向のベクトル13a’を求める。
同様に、
図9,10に示すように、方向変換部44は、仮想空間10bに存在する交差線14b及び交差線15bを求める。交差線14bは、1つのB-HPlane(n)と1つのB-Plane(n)とが交わる線分である。
図9では、交差線14bは、B-HPlane(1)とB-Plane(1)とが交わる線分である。交差線15bは、上記B-HPlane(n)と上記B-Plane(n)とは平行ではない1つのB-Plane(n)とが交わる線分である。
図10では、交差線15bは、B-HPlane(1)とB-Plane(2)とが交わる線分である。そして、
図11に示すように、方向変換部44は、交差線14b及び交差線15bと同一方向のベクトル14b’,15b’の外積から、垂直方向と同一方向のベクトル13b’を求める。
その後、
図13に示すように、方向変換部44は、仮想空間10aにおける垂直方向を、仮想空間10bにおける垂直方向に合わせるように傾ける。この際、方向変換部44は、仮想空間10aに存在する交差線14a及び交差線15aも傾ける。
【0049】
次いで、位置変換部45は、仮想空間10aに存在する点16aを、仮想空間10bに存在する点16bに合わせるように移動させる(ステップST304)。
【0050】
この際、まず、
図12に示すように、位置変換部45は、交差線14a及び交差線15aの組合せのうち、同一平面上に存在する交差線14a及び交差線15aの交点座標を点16aとして求める。なお
図12では、方向変換部44が仮想空間10aの方向を変換する前に、位置変換部45が点16aを求めている。そのため、方向変換部44は、仮想空間10aに対する方向変換に伴い、上記点16aも傾ける。
同様に、
図12に示すように、位置変換部45は、交差線14b及び交差線15bの組合せのうち、同一平面上に存在する交差線14a及び交差線15aに相当する交差線14b及び交差線15bの交点座標を点16bとして求める。
その後、
図14に示すように、位置変換部45は、仮想空間10aに存在する点16aを、仮想空間10bに存在する点16bに合わせるように移動させる(符号1401参照)。
【0051】
次いで、方向変換部46は、仮想空間10aにおける水平方向を、仮想空間10bにおける水平方向に合わせるように傾ける(ステップST305)。
【0052】
この際、
図15に示すように、方向変換部46は、交差線14a又は交差線15aと同一方向のベクトルと、垂直方向と同一方向のベクトル13a’との外積により、水平方向と同一方向のベクトル17a’を求める。
同様に、方向変換部46は、交差線14b又は交差線15bと同一方向のベクトルと、垂直方向と同一方向のベクトル13b’との外積により、水平方向と同一方向のベクトル17b’を求める。
その後、方向変換部46は、仮想空間10aにおける水平方向を、仮想空間10bにおける水平方向に合わせるように傾ける。すなわち、方向変換部46は、仮想空間10aを垂直方向回りに回転させる(符号1501参照)。
【0053】
以上のように、この実施の形態1によれば、演算処理部(位置合わせ装置)4は、仮想オブジェクトを有する現実空間を模した仮想空間10aに存在する平面11a、及び、現実空間を模した仮想空間10bに存在する当該平面11aに相当する平面11bを設定する平面設定部41と、平面設定部41による設定結果に基づいて、仮想空間10aに存在する平面11aと交わる平面12a、及び、仮想空間10bに存在する平面12aに相当する平面12bを抽出する平面抽出部42と、平面設定部41による設定結果及び平面抽出部42による抽出結果に基づいて、仮想空間10aにおける位置及び方向を、仮想空間10bにおける位置及び方向に合わせる変換部43とを備えた。これにより、実施の形態1に係る演算処理部4は、2つの仮想空間を一致させる際に、ユーザによる操作が不要となる。
【0054】
最後に、
図16を参照して、実施の形態1における演算処理部4のハードウェア構成例を説明する。
演算処理部4における平面設定部41、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46の各機能は、処理回路101により実現される。処理回路101は、
図16Aに示すように、専用のハードウェアであってもよいし、
図16Bに示すように、メモリ103に格納されるプログラムを実行するCPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、又はDSP(Digital Signal Processor)ともいう)102であってもよい。
【0055】
処理回路101が専用のハードウェアである場合、処理回路101は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらを組み合わせたものが該当する。平面設定部41、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46の各部の機能それぞれを処理回路101で実現してもよいし、各部の機能をまとめて処理回路101で実現してもよい。
【0056】
処理回路101がCPU102の場合、平面設定部41、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46の機能は、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア及びファームウェアはプログラムとして記述され、メモリ103に格納される。処理回路101は、メモリ103に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、演算処理部4は、処理回路101により実行されるときに、例えば
図3に示した各ステップが結果的に実行されることになるプログラムを格納するためのメモリ103を備える。また、これらのプログラムは、平面設定部41、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46の手順及び方法をコンピュータに実行させるものであるともいえる。ここで、メモリ103としては、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)等の不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、又はDVD(Digital Versatile Disc)等が該当する。
【0057】
なお、平面設定部41、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェア又はファームウェアで実現するようにしてもよい。例えば、平面設定部41については専用のハードウェアとしての処理回路101でその機能を実現し、平面抽出部42、方向変換部44、位置変換部45及び方向変換部46については処理回路101がメモリ103に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【0058】
このように、処理回路101は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって、上述の各機能を実現することができる。
【0059】
なお、実施の形態の任意の構成要素の変形、若しくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【0060】
本開示に係る位置合わせ装置は、2つの仮想空間を一致させる際に、ユーザによる操作が不要となり、2つの仮想空間の位置及び方向を合わせる位置合わせ装置等に用いるのに適している。
【符号の説明】
【0061】
1 ディスプレイ、2 記憶部、3 センサ部、4 演算処理部、5 表示制御部、41 平面設定部、42 平面抽出部、43 変換部、44 方向変換部(第1の方向変換部)、45 位置変換部、46 方向変換部(第2の方向変換部)、101 処理回路、102 CPU、103 メモリ。