JP6738007B2 - 情報処理装置、情報処理システム、その制御方法及びプログラム - Google Patents

情報処理装置、情報処理システム、その制御方法及びプログラム Download PDF

Info

Publication number
JP6738007B2
JP6738007B2 JP2015239856A JP2015239856A JP6738007B2 JP 6738007 B2 JP6738007 B2 JP 6738007B2 JP 2015239856 A JP2015239856 A JP 2015239856A JP 2015239856 A JP2015239856 A JP 2015239856A JP 6738007 B2 JP6738007 B2 JP 6738007B2
Authority
JP
Japan
Prior art keywords
model
virtual object
displayed
specifying
determining
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
JP2015239856A
Other languages
English (en)
Other versions
JP2017107349A5 (ja
JP2017107349A (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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
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 Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2015239856A priority Critical patent/JP6738007B2/ja
Publication of JP2017107349A publication Critical patent/JP2017107349A/ja
Publication of JP2017107349A5 publication Critical patent/JP2017107349A5/ja
Application granted granted Critical
Publication of JP6738007B2 publication Critical patent/JP6738007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Studio Circuits (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
近年、複合現実(Mixed Reality/以下、MRと記載)の技術が普及している。MR技術を用いて、ヘッドマウントディスプレイ(以下、HMDと記載)を装着したユーザに対し、現実物体とCGモデルを配置した空間の疑似体験を提供できる。MR空間(現実空間と仮想空間とを合成した複合現実空間)を生成するにあたり、仮想空間を現実空間の位置合わせに用いられる位置指標として、マーカを用いる場合がある。
特許文献1には、当該マーカの存在をユーザに意識させないために、マーカを検出した場合に、当該マーカを隠した画像を描画する技術が記載されている。また、特許文献2では、光学センサを用いてHMDの位置姿勢を検出する技術について記載されている。
MRの技術はしばしば、製品のデザイン検証や、工事・作業現場での作業のシミュレーション等を、HMDの装着者にリアルに体験、視認させるために用いられる。
特開2000−350860号公報 特開2006−301924号公報 特開平08−185431号公報
製品の形状設計にあたり、設計対象物の中において作業者が部品を組み立てたり作業したりするスペースが必要になることがある。例えば特許文献3では、これらの作業スペースが十分に確保されているかを検討するために、工具や手の形状データを予め複数用意しておき、装置上で手動で選択された部品に対応する工具の大きさ、部品の取り付け方向を特定して、画面上に工具の画像やその動きを表示し、作業スペースが十分か確認させることが行われている。
一方、実際の設計現場においては、設計者は必ずしも部品の作業方向を把握しているわけではない。よって、どの方向から工具を差し込み、どのくらい工具の振り幅があれば作業ができるか等の情報を、製品設計者やシステム設計者がシステム上に一律に記憶・設定しておいたとしても、実態と設定とに差があれば結局設計を修正しなければならない。
よって、実際の現場においては、これらの作業のノウハウを持つ、部品の組立等の作業をする作業者に製品の作業スペースが十分かの検証を依頼し、検証結果をフィードバックしてもらうことが行われている。
本発明は、対象物体の種類に応じた仮想物体を容易に表示可能仕組みを提供することを目的とする。
本発明の情報処理装置は、空間上の3次元モデルの位置姿勢に基づいて現実画像と3次元モデルを重畳した複合現実画像を表示する表示装置と通信可能な、当該3次元モデルの位置姿勢を記憶する情報処理装置であって、前記3次元モデルのうち、作業対象となる第1のモデルと、当該第1のモデルに対する作業を行うための道具を示す第2のモデルを対応付けて記憶する記憶手段と、現実物体を検出する現実物体検出手段と、前記現実物体検出手段で検出された現実物体の位置と、前記第1のモデルの位置とが所定距離内にあるか判定する判定手段と、前記判定手段で、前記現実物体の位置と前記第1のモデルの位置とが所定距離内にあると判定された場合に、前記第1のモデルに対応する前記第2のモデルを特定する特定手段と、前記特定手段で特定された第2のモデルの空間上の位置姿勢を、前記現実物体の位置姿勢に従って決定する決定手段と、前記検出手段で検出された現実物体が所定の動きをしたことを検知する動き検知手段と、前記動き検知手段で当該現実物体が所定の動きをしたと検知した場合に、当該所定の動きをしている現実物体又は当該現実物体の位置姿勢に応じて前記決定手段で位置姿勢が決定された前記第2のモデルが、他の3次元モデルに接触したか判定する接触判定手段と、前記接触判定手段で接触したと判定された場合に、当該接触した旨を示す情報を前記表示装置の表示画面に表示すべく制御する表示制御手段と、を備えることを特徴とする。
本発明によれば、対象物体の種類に応じた仮想物体を容易に表示可能仕組みを提供することができる。
本発明の実施形態における、情報処理システムの構成の一例を示す図である。 本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。 本発明の実施形態における、各種装置の機能構成の一例を示す図である。 本発明の実施形態における、ナットに合わせたスパナのモデル表示処理の流れを示すフローチャートである。 本発明の実施形態における、可動範囲の確認処理の流れを示すフローチャートである。 本発明の実施形態における、距離特定処理の流れを示すフローチャートである。 本発明の実施形態における、各種データ構成の一例を示す図である。 本発明の実施形態における、現実空間と仮想空間を重ね合わせた場合のユーザ及びCGの位置の一例を示す図である。 本発明の実施形態における、可動範囲の確認表示の一例を示す図である。 本発明の実施形態における、可動範囲の確認表示の一例を示す図である。 本発明の実施形態における、距離表示の一例を示す図である。
以下、図面を参照して、本発明の実施の形態の一例について説明する。
まず図1を参照して、本発明の実施形態における情報処理システムの構成の一例について説明する。
PC200は、ネットワーク150(例えばLAN)で、光学センサや、HMD101(ヘッドマウントディスプレイ)と通信可能に接続されている。PC200は、HMD101のカメラで撮像した現実画像に重畳する仮想物体(CG/3次元モデル)の形状、大きさ、仮想空間上の位置姿勢の情報を記憶しており、光学センサから得られるHMD101の位置姿勢を用いて、HMD101と同じ位置姿勢において同じ画角のカメラを用いて撮影した場合に得られる仮想空間の画像(仮想空間上に前述した位置姿勢で配置された仮想物体の画像)を生成して、現実画像と重畳し、複合現実画像(MR画像)を生成してHMD101に表示するべく出力する。
HMD101は当該MR画像を表示画面に表示する。また光学センサは、HMD101に設置された光マーカを追跡してHMD101の現実空間上の位置姿勢を特定して、PC200に送信する。
また、PC200は、HMD101を装着したMRの体験者であるユーザの持つ現実物体が、所定の動きをしたか判定し、所定の動きをした場合に動きの範囲を特定して、当該動きの範囲と仮想物体とが接触しているか(当該動きによる作業のための空きスペース(空間)が十分にあるか)判定し、ユーザに通知する。例えば、図9の910に示すようなMR画像を生成してHMD101に送信する。910の詳細については図9の説明で後述する。以上が図1の説明である。
次に図2を参照して、本発明の実施形態における各種装置のハードウェア構成の一例について説明する。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステム(OS)、その他各種装置の実行する機能を実現するために必要な各種プログラムが記憶されている。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
本発明のPC200が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
入力コントローラ(入力C)205は、キーボードやマウス等のポインティングデバイス(入力デバイス210)からの入力を制御する。
ビデオコントローラ(VC)206は、HMD101が備える右目・左目ディスプレイ222等の表示器への表示を制御する。右目・左目ディスプレイ222に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力される。また、右目・左目ディスプレイ222は、右目用のディスプレイと左目用のディスプレイとから構成されている。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。また、通信I/Fコントローラ208は、ギガビットイーサネット(登録商標)等を通じて光学式センサ(光学センサ)との通信も制御する。
汎用バス209は、HMD101の右目・左目ビデオカメラ221からの映像を取り込むために使用される。右目・左目ビデオカメラ221からは、外部入力端子(例えば、IEEE1394端子)を用いて入力される。右目・左目ビデオカメラ221は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ上での表示を可能としている。また、CPU201は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が図2の説明である。
次に図3を参照して、本発明の実施形態における、各種装置の機能構成について説明する。
撮像部311は、現実画像を撮像する撮像部(カメラ)である。撮像画像送信部312は、撮像した現実画像をPC200に送信する送信部である。
撮像画像記憶部321は、HMD101から受信した現実画像(撮像画像)を記憶する記憶部である。HMD位置姿勢記憶部322は、HMD101の位置姿勢を記憶する記憶部である。例えば光学センサからHMD101の位置姿勢を取得して記憶する。
モデル情報記憶部323は、3次元モデルの位置姿勢を記憶する記憶部である。例えば図7の説明で後述するモデル情報720を記憶する。MR画像生成部324は、HMD101の位置姿勢と、3次元モデルの位置姿勢とを用いて、HMD101の位置から見た現実画像とHMD101の位置から見た3次元モデルの画像とを重畳したMR画像(複合現実画像)を生成する生成部である。MR画像送信部325は、MR画像をHMD101に送信する送信部(表示制御部)である。
MR画像受信部313は、MR画像を受信する受信部であり、MR画像表示部314は、受信したMR画像を表示する表示部である。
現実物体検出部326は、現実物体を検出して、検出した現実物体の位置姿勢を特定して記憶部に記憶する処理部である。現実物体とは、例えば2次元マーカの貼りつけられた物体(例:図8の801)である。PC200のCPU201は、現実画像の中にある2次元マーカの画像から特定される2次元マーカの識別情報、形状、大きさ、角度、HMD101の位置姿勢の情報から、当該2次元マーカの貼り付けられた現実物体の位置姿勢を特定する。
マーカの形状は問わないが、例えば正方形であり、全て同じサイズであるものとする。各マーカにはユニークなマーカ番号が埋め込まれているものとする。そして、HMD101に設けられたカメラで撮像した際に、個々のマーカが識別でき、デコードした際に、そのマーカ番号が得られるものとする。撮像した画像中の位置検出用マーカそれぞれのサイズから、HMD101からそれぞれのマーカまでの距離を求める。(3つのマーカから求めた3つの距離が重なる位置がHMD101の位置である。)なお、マーカの法線方向に視点があるとき、そのマーカ画像が正方形に見えることになる。そして、視点が法線方向からずれると、そのずれの度合いに応じて正方形が歪んで見える。つまり、この歪みから、視点の軸に対するマーカで規定される平面の向きが判明し、マーカのサイズから視点とマーカ間の距離を検出でき、マーカが貼り付けられた平面が規定できる。また、実施形態では、マーカには、互いに識別できる2つの印が設けられ、マーカの中心位置を原点とし、マーカで規定される上記の平面上の、原点からその印に向かう2つのベクトルを2軸、マーカの中心位置から法線方向の1軸で、局所的(ローカル)な3次元座標を規定する3軸を規定しているものとする。
距離判定部327は、現実物体と、所定の3次元モデルとの距離が所定距離以内か判定する判定部である。例えば、ナットのモデルの位置と、ユーザが手に持つ現実物体801(ターゲット801)との距離が所定距離以内か判定する。当該所定距離の情報(例えば所定距離740)はPC200の外部メモリに予め記憶されているものとする。
工具モデル特定部328は、ナットのモデルと現実物体が所定距離以内にあると判定された場合に、当該ナットの種類を特定して、特定したナットの種類に対応する工具の3次元モデルを特定する特定部である。
可動範囲判定部329は、工具モデル特定部328でナットに対応する工具として特定され、現実物体に重畳して配置・表示された工具の3次元モデル(工具モデル)の可動範囲が十分にあるか判定する判定部である。具体的には、ユーザがナットのモデルと所定距離内に現実物体を位置させたまま、所定の動きを検知した場合に(例えば予めPC200の外部メモリに記憶されているナットを締める動作とモーションの値が所定範囲内の動作/ナットを締める動作と判定される動作を検知した場合に)、ナットの位置・方向を軸とした当該工具モデルの可動の範囲を示すモデルが、他の3次元モデルと接触することを示しているか判定する。
通知部330は、工具モデルの可動範囲が十分でないと判定された場合に、当該工具モデルの可動範囲が十分でない旨をユーザに通知する通知部である。例えば、図9の910のように、工具モデルを稼動させた場合に他の3次元モデルに接触する旨を示すMR画像を生成して、HMD101に送信して表示させる表示制御部である。以上が図3の説明である。
次に図4を参照して、本発明の実施形態における、ナットに合わせたスパナのモデル表示処理の流れについて説明する。図4は、所定のモデルに対応する工具モデルの特定、配置、表示処理の流れを示すフローチャートである。PC200のCPU201は、ステップS401〜S408の処理を、HMD101及びPC200が起動してから、PC200の不図示のMR画像表示開始・終了指示受付画面において、MR画像の生成・表示の終了操作を受け付けるまで繰り返し実行する。
PC200のCPU201は、光学センサからHMD101の位置姿勢の情報を取得して、外部メモリに記憶する(ステップS401)。具体的には、図7のHMD情報700に、当該位置姿勢を取得したHMD101の識別情報であるHMD ID701、当該HMD101の現実空間上の位置702、姿勢703を記憶する(ステップS402)。
PC200のCPU201は、HMD101のカメラで撮像された現実画像を取得してメモリ上に記憶する。そして、当該現実画像中の2次元マーカを検出することにより検出された現実物体の位置姿勢を特定し、記憶する(ステップS403)。例えば、図7のマーカ情報710における、現実画像中から検出したマーカの位置姿勢を位置713、姿勢714に上書き・更新する。尚、マーカID711は2次元マーカの識別情報であり、大きさ712は2次元マーカの大きさ(サイズ)を示す。マーカID711、大きさ712は予めPC200の外部メモリに記憶されているものとする。
また、PC200のCPU201は、ステップS403で検出した2次元マーカ(2次元マーカの貼付された現実物体)の検出中フラグ715を1に更新する。検出中フラグ715は、当該フラグに対応するマーカが検出中か否かを示すフラグであり、検出中フラグ715=1の場合には検出中であり、検出中フラグ715=0の場合には検出していない状態であることを示す。
PC200のCPU201は、ステップS403で検出したターゲット801(図8:2次元マーカが貼り付けられた現実物体)から所定距離内に、所定の種類の3次元モデル(例えばナットのモデル)があるか判定する(ステップS404)。図8に、現実空間と仮想空間を重ね合わせた場合のユーザ及びCGの位置の一例を示す。
3次元モデルの位置姿勢、種類は図7のモデル情報720、配置中モデル情報730等に記憶されている。
図7を参照して、本発明の実施形態におけるモデル情報について説明する。
モデル情報720は、PC200の外部メモリに予め記憶されている3次元モデルの情報である。モデル名721は3次元モデルの識別情報であるモデルのファイル名である。モデルファイルは、PC200の外部メモリ上の所定のフォルダに記憶されているものとする。種類722は、3次元モデルの種類を示す。例えば、natはモデルの種類=ナットであることを示し、spanner01はモデルの種類=スパナ(工具)、move01はモデルの種類=工具に対応する工具の可動範囲、realはモデルの種類=現実物体に重畳する現実物体と同じ形状・大きさのモデルであることを示す。なお、nat01とnat02は、ナットの中でも別の種類のナットである。
対応モデル723は、種類722に示す種類に対応するモデルの種類である。例えば、種類722=ナットであれば、対応モデル723には当該対応モデル723のナットに対応する工具(スパナ)のモデルの種類が記憶されている。種類722=スパナであれば、対応モデル723には当該種類722のスパナに対応するナットのモデル(部品のモデル/工具による作業対象のモデル)の種類が記憶されている。また、種類722=可動範囲であれば、対応モデル723には当該種類722の可動範囲に対応するスパナのモデルの種類が記憶されている。
可動範囲724は、種類722=スパナであるモデル(工具・道具のモデル)に対応付けて記憶される、当該工具の可動範囲を示すモデルの種類である(例えば図9でいう921)。マーカID725は、2次元マーカの識別情報である。
配置中モデル情報730(配置中モデル情報730A、730B,730C)は、PC200の外部メモリに記憶される、仮想空間上に配置されているモデルの情報を記憶する。
マーカID731は、モデル名732のモデルが、2次元マーカの位置を基準として配置される場合に記憶される。例えば、工具(スパナ)のモデルの場合には、仮想空間上に当該モデルが配置されるにあたり、当該配置の基準位置を示すマーカの識別情報が記憶される。
位置733、姿勢734は、モデル名732のモデルの仮想空間上における位置姿勢を示す。
ステップS404では、PC200のCPU201は、種類722=ナットのモデルの位置733と、現実物体の位置733(種類722=real01のモデルの位置)とが所定距離740以内か判定する。具体的には、PC200のCPU201は、現実物体に貼付された2次元マーカから特定された当該現実物体の現実空間上の位置に対応する仮想空間上の位置に、予め外部メモリ上に用意しておいた当該現実物体と同じ大きさ・形状をしたモデル(種類722=real01のモデル)を配置して、当該モデルの外面上の点の中でナットのモデルの位置と最短距離にある点と、当該ナットのモデルの位置との距離が、所定距離740以内か判定する。
ナットのモデルと現実物体が所定距離内にあると判定された場合、現実物体から最も近い位置にあるナットのモデルを特定し(ステップS405)、特定したナットのモデルの種類722を参照して当該種類に対応する工具のモデル(対応モデル723のモデル)をメモリから取得する(ステップS406)。
そして、取得した工具のモデルを、ナットと所定距離以内にある現実物体の位置(ナットとの距離判定に用いられた現実物体を示す3次元モデルが参照しているマーカID731を基準とした仮想空間上の位置)をモデルの配置位置として決定して、配置する(ステップS407)。つまり、図7の730Bに示すように、マーカID731のマーカの位置姿勢と同じ位置姿勢を位置733、姿勢734に挿入して記憶する。
PC200のCPU201は、HMD101から取得した現実画像に配置中モデル情報730に示す、仮想空間上に配置されている3次元モデルの画像であって、HMD101の位置姿勢から見た仮想空間内の画像(仮想画像)を重畳したMR画像を生成して、HMD101の表示画面に表示すべくHMD101に送信する(ステップS408)。例えば、図9の910に示すように、ターゲット801の位置に重畳して工具モデル911を配置したMR画像を生成する。なお、図9の900は工具モデル911配置前のターゲット801、3次元モデル802の状態を示す。HMD101は当該MR画像を受信して表示画面に表示する。以上が図4の説明である。
次に図5を参照して、本発明の実施形態における、可動範囲の確認処理の流れについて説明する。
PC200のCPU201は、PC100の表示画面上に表示される不図示のシミュレーション開始画面において、「シミュレーション開始」ボタンの押下指示を受け付け(ステップS501)、ステップS502以降の処理を実行する。
PC200のCPU201は、ナットのモデルと工具のモデルが接触したか判定する(ステップS502)。モデル同士の接触の判定は、配置中モデル情報730の各モデルの位置姿勢と、モデル名732のモデルファイルの中に記憶されている、各モデルの形状・大きさを用いて判定する。
PC200のCPU201は、ナットのモデルと工具のモデルが接触していないと判定した場合には図5の処理を終了する。ナットのモデルと工具のモデルが接触していると判定した場合には、現実物体が所定の動きをしたか判定する(ステップS503)。当該現実物体が所定の動きをしたか否かの判定は、例えばHMD101に設置されているカメラと、公知のモーション検知の技術(例:特開2012−008772等に記載の技術)を用いて実行するものとする。なお、所定の動きの情報は、別途PC200の外部メモリに記憶されているものとする。ここでいう所定の動きとは、ナットのモデルの位置・向き(ナットの軸方向)を軸として、ナットを締めるような動きであるものとする。
所定の動きをしていない場合図5の処理を終了する。所定の動きをしていると判定された場合には、当該所定の動きをしている現実物体に重畳された工具の3次元モデルに対応する可動範囲724のモデルを取得する(ステップS504)。これは工具を使ってナットを回す/締めるのに工具を動かす範囲を示す図9の921のようなモデルである。PC200のCPU201は当該取得した可動範囲を示すモデルを、工具のモデルと同じ位置姿勢で仮想空間上に配置する。具体的には、図7の730Cに示すように配置中モデル情報730に、可動範囲のモデル(M004.vrml)を追加し、スパナのモデル(M003.vrml)と同じ位置姿勢の値を記憶する(ステップS505)。
PC200のCPU201は、当該可動範囲を示すモデルが、ナット以外の3次元モデルと接触しているか判定する(ステップS506)。ナットのモデル以外の3次元モデルと接触している例を図9の930に示す。ナットのモデル以外の3次元モデルと接触していない例を図9の920に示す。
可動範囲を示すモデルがナット以外の3次元モデルと接触していない場合、図9の920の「OK」オブジェクト922に示すように、可動範囲を示すモデルがナット以外の3次元モデルと接触していない旨を示す情報を、HMD101の表示画面に表示させる処理を行う(ステップS509)。具体的には、工具の可動範囲を示すモデルから所定距離離れた仮想空間上の位置に図9の922に示すような3次元モデルを配置してMR画像を生成し、HMD101に送信する。HMD101はこれを受信して表示する。そして、可動範囲を示すモデルがナット以外の3次元モデルと接触していないと判定された際の、可動範囲のモデルの位置(例えば図9の923に示すような可動範囲のモデルの頂点が位置する仮想空間上の位置)と、当該接触していないと判定された時間をメモリに記憶する(ステップS510/図7の判定位置情報750のOK位置751、日時752)。
一方、ステップS506で、可動範囲を示すモデルがナット以外の3次元モデルと接触していると判定された場合、図9の930の「NG」オブジェクト932に示すように、可動範囲を示すモデルがナット以外の3次元モデルと接触している旨を示す情報をHMD101の表示画面に表示する処理を行う(ステップS507)。具体的には、工具の可動範囲を示すモデルから所定距離離れた仮想空間上の位置に図9の932に示すような3次元モデルを配置し、また、各モデルが接触している位置を示す931に示すようなモデルを生成して、各モデルが接触している位置(接触位置)に配置してMR画像を生成し、HMD101に送信する。HMD101はこれを受信して表示する。
そして、可動範囲を示すモデルがナット以外の3次元モデルと接触していると判定された際の、可動範囲のモデルの位置と、当該接触していると判定した時間とをメモリに記憶する(ステップS508/図7の判定位置情報750のNG位置753、日時754/位置記憶手段に該当)。そして、工具のモデルが接触しているナットのモデルが配置されている位置にある(ナットのモデルが合致している/設置されている)モデルを特定し、当該モデル上の、当該ナットのモデルと接触しているナットの設置位置を特定する(ステップS511)。例えば、ナットの中心点と最も近い位置にある、当該ナットが接触しているモデルの面上の点を、当該設置位置として特定する。
PC200のCPU201は、ナットと接触しているモデル(例:3次元モデル802に示すモデル)のファイルを所定のフォルダにコピーして、当該コピーしたファイルのモデル上の前記設置位置に、当該設置位置を示す球のモデルを生成・配置して、上書き保存する(ステップS512)。つまり、尚、ステップS506で、可動範囲を示すモデルが他の3次元モデル(例:3次元モデル802に示すモデル)と接触していると判定されている場合には、赤の球を生成して配置し、可動範囲を示すモデルが他の3次元モデルと接触していないと判定されている場合には、青の球を生成して配置するものとする。これにより、各球が、当該点を基準位置とした工具の可動範囲が十分か否かを、容易に確認可能とする。以上が図5の説明である。
なお、ステップS512において、コピーしたモデルファイル上に可動範囲を示すモデル921とモデル802の接触位置を示すモデルや、可動範囲を示すモデル921そのものを生成して、仮想空間上において、モデル802接触したと判定された時点におけるモデル802との相対位置に配置するようにしてもよい。
また、ステップS506における判定において、ナットが設置されている面を除いて、工具の可動範囲を示すモデルとの接触判定を行うようにしてもよい。
また、ステップS512の処理の直後に、HMD101に表示されている画像(例えばステップS507、又はS509で生成したMR画像)をキャプチャして、所定のフォルダに出力、保存するようにしてもよい。
当該コピーファイルの出力、キャプチャ画像の出力、保存により、当該コピーファイルを他のユーザが確認可能となる。よって例えば、HMD101を装着した作業者が検討していた、作業スペース(工具の可動範囲)が十分か否かの情報を、他のユーザである設計者に容易に手渡すことができる状態となる。また、容易に確認させることができる
図5の処理によれば、現実物体の位置と、現実物体と所定距離内にあるモデルの位置とを用いて、当該モデルに対応する適切なモデルを選出し、表示させることができる。
また、当該工具のモデルに対応する可動範囲のモデルを取得して配置することで、当該工具を用いた作業範囲が十分に確保されているかを目視で確認することができる。
次に図6を参照して、本発明の実施形態における、本発明の実施形態における、距離特定処理の流れについて説明する。
図6の処理は、例えばHMD101を装着して、作業スペース(工具の可動範囲)が十分に確保されているかをMRを用いて検証している作業者が、現在ナットが存在する場所では作業スペースが十分でないことが分かったため、モデル上のどの位置にナット(ナットを用いて締めるボルト)を移動すればよいかを検証した検証結果を表示する処理である。
例えば、図10の1000における1001の位置でスパナを左右に振る動作を行い、その後、図10の1010における1011の位置にスパナを移動させた場合に、図11に示すように、1001の位置から1011の位置の間の距離を識別可能にするものである。以下、詳細を説明する。
PC200のCPU201は、工具のモデルと、ナット以外のモデルの面が接触しているか判定し、接触していると判定した場合に、当該接触している時間が所定時間以上か判定する(ステップS601)。所定時間の情報は、PC200の外部メモリに予め記憶されているものとする。
接触している時間が所定時間未満の場合には図6の処理を終了する。所定時間以上接触していると判定した場合には、当該工具のモデルに対応する可動範囲のモデルを取得して、当該工具のモデルの位置姿勢と同じ位置姿勢で、当該可動範囲のモデルを仮想空間上に配置する(ステップS602)。
そして、当該可動範囲のモデルが、工具が接触している面以外のモデルの面と接触しているか判定する(ステップS603)。工具が接触している面以外のモデルの面と接触している場合には処理を終了する。工具が接触している面以外のモデルの面と接触していない場合には、処理をステップS604に移行し、当該工具のモデルと接触しているモデル上の点を特定してメモリ上に記憶する(ステップ604)。例えば、工具のモデルがスパナの場合、スパナのナットを締めるヘッド部分の中心点(例:図10の1011)の位置を特定する。
そして、過去所定時間内に、工具の可動範囲のモデルとナット以外のモデルが接触しているか判定する(ステップS605)。具体的には、図7の日時754とPC200が自装置の時計機能で特定可能な現在日時との差の時間が、外部メモリに予め記憶されている不図示の所定時間内か判定するものである。
過去所定時間内に、工具の可動範囲のモデルとナット以外のモデルが接触している記録があった場合には、当該記録(NG位置753)の示す位置から、ステップS604でメモリ上に記憶した位置との距離を算出する(ステップS606)。
そして、当該距離を示す3次元モデルを生成する(ステップS607)。例えば図11の1100に示す、モデル1101や1102に示すような、2つの点同士の距離を示す3次元モデルである。
PC200のCPU201は、当該距離を示すモデルを、NG位置753の示す位置から、ステップS604でメモリ上に記憶した位置の間に、2つの位置の示す2つの点を結ぶように配置して(ステップS608)、HMD101から取得した現実画像に重畳してMR画像を生成し(2つの点の相対位置/相対関係を示す相対関係画像生成手段に該当)、HMD101に送信する(ステップS609)。HMD101は当該MR画像を受信して、図11の1100のようなMR画像を表示画面に表示する。以上が図6の説明である。
なお、前述した距離を示すモデルは図11の1101や1102の形状に限るものではない。例えば図11の1110に示すモデル1111のような形状のモデルを生成するようにしてもよい。
また、PC200のCPU201が、ステップS609の後に、モデル802のファイルを所定のフォルダにコピーして保存し、前記距離のモデルで結ばれたモデル802上の2つの点(NG位置753の示す位置と、ステップS604でメモリ上に記憶した位置の点)、及び当該2つの点の間の距離を示す3次元モデルを、当該コピーしたモデルファイル上で生成して配置、上書き保存するようにしてもよい。つまり、前記距離のモデルで結ばれたモデル802上の2つの点(NG位置753の示す位置と、ステップS604でメモリ上に記憶した位置の点)、及び当該2つの点の間の距離を示す3次元モデルを対応付けて記憶する処理を行うものである。
また、ステップS609の直後に、HMD101に表示されている画像(例えばステップS609で生成したMR画像)をキャプチャして、所定のフォルダに出力、保存するようにしてもよい。
当該コピーファイルの出力、キャプチャ画像の出力、保存により、当該コピーファイルを他のユーザが確認可能となる。よって例えば、HMD101を装着した作業者が検討していた、作業スペース(工具の可動範囲)が十分か否かの情報を、他のユーザである設計者に容易に手渡すことができる状態となる。また、容易に確認させることができる。
例えば、どの位置にナット(ナットを使って締めるボルト)を移動させた設計をすれば作業スペースが十分に確保できるかを、設計者に容易に伝達可能となる。
なお、ステップS601において、工具のモデルとナット以外のモデルの面が所定時間以上接触しているか判定するものとしたが、例えば、図5のS503と同じように、工具のモデルと同じ位置にある現実物体が所定の動きをしているか判定し、所定の動きをしていると判定した場合には処理をステップS602に移行するようにしてもよい。こうすることでユーザは、作業スペースが十分でないと判断されたナットの位置とは別の位置で、ナット等の部品を締めるような直感的な動作をするだけで、作業スペースが十分でないと判断されたナットの位置から、作業スペースが十分であると判断されたモデル上の位置までの距離を知ることができる。また、当該情報を出力することができるようになる。
以上説明したように、本発明によれば、MRを用いて表示した設計物上の作業スペースの検証結果を容易に確認可能にする仕組みを提供することができる。
尚、上述した実施形態においては、HMD101に設置されたカメラと、PC200の外部メモリに記憶された所定の動きの情報を用いて、現実物体(ターゲット801)が所定の動きをしたか判定するものとしたが、例えば、ターゲット801と同じ位置、姿勢に配置された現実物体を示すモデルの位置姿勢の履歴を記憶し、当該位置姿勢の履歴と、別途PC200の外部メモリに記憶された所定の動きの情報を照らし合わせて、現実物体が所定の動きをしたか否か判定するようにしてもよい。
また、上述した実施形態においては、工具の例をスパナ、部品の例をナットとしたが、工具、部品のモデルはこれに限るものではない。例えば部品の種類としてネジやボルトを示す値を挿入したモデルを記憶しておき、ナットの代わりに用いるようにしてもよい。また、工具の種類としてレンチやドライバを示す値を挿入したモデルを記憶しておき、スパナの代わりに用いるようにしてもよい。
また、可動範囲を示すモデル(move)は、予め外部メモリ上に記憶されているものとしたが、例えば、図5のS503や図6のS601で所定の動きをしたと判定された現実物体に重畳されている(ターゲットのマーカM111の位置に配置されている)工具のモデルの所定時間内の位置姿勢の履歴を記憶して置き、当該履歴を参照して、例えば、当該履歴から特定される、当該工具のモデルが過去5秒間の間に通った軌跡を示す座標値を取得して、当該座標値から特定されるモ工具のモデルが通った軌跡を示す形状のモデル(所定の動きを示すモデル)を生成して、S505やS602で仮想空間上に配置するようにしてもよい。実際の工具のモデルの動きを用いることで、より現実的な作業スペース有無の検証が可能となる。
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 HMD
150 ネットワーク
200 PC

Claims (8)

  1. 仮想物体を表示すべき位置を特定する第1の特定手段と、
    前記第1の特定手段により特定された位置に表示する仮想物体を決定するための基準となる対象物体を特定する第2の特定手段と、
    前記対象物体の種類に応じて、前記第1の特定手段により特定された位置に表示する仮想物体を決定する決定手段と、
    前記決定手段により決定された仮想物体を、前記第1の特定手段により特定された前記位置に表示する表示手段と、
    前記仮想物体を表示すべき位置にかかる動きによって、所定の条件が満たされたかを識別表示する識別表示手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記第2の特定手段は、前記仮想物体を表示すべき位置と一定以上近い位置にある物体を、前記基準となる対象物体として特定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記仮想物体を表示すべき位置にかかる動きを検知する検知手段と、
    前記識別表示手段は、前記検知手段により検知された動きに応じて特定される作業範囲が前記条件を満たさなかった場合、前記条件を満たさなかった旨を示す情報を識別表示すべく出力することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記仮想物体を表示すべき位置にかかる動きによって前記条件満たされた場合、前記条件が満たされた位置と、前記条件を満たされなかった位置とを出力する出力手段と、
    を備えることを特徴とする請求項1乃至請求項3のいずれか1項に記載の情報処理装置。
  5. 前記第1の特定手段は、前記仮想物体を表示すべき位置を、表示装置の位置姿勢および撮像画像に含まれるマーカ画像の位置姿勢に基づいて特定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 仮想物体を表示すべき位置を特定する第1の特定工程と、
    前記第1の特定工程により特定された位置に表示する仮想物体を決定するための基準となる対象物体を特定する第2の特定工程と、
    前記対象物体の種類に応じて、前記第1の特定工程により特定された位置に表示する仮想物体を決定する決定工程と、
    前記決定工程により決定された仮想物体を、前記第1の特定工程により特定された前記位置に表示すべる表示工程と、
    前記仮想物体を表示すべき位置にかかる動きによって、所定の条件が満たされたかを識別表示する識別表示工程と、
    を含む制御方法。
  7. 情報処理装置を、
    仮想物体を表示すべき位置を特定する第1の特定手段と、
    前記第1の特定手段により特定された位置に表示する仮想物体を決定するための基準となる対象物体を特定する第2の特定手段と、
    前記対象物体の種類に応じて、前記第1の特定手段により特定された位置に表示する仮想物体を決定する決定手段と、
    前記決定手段により決定された仮想物体を、前記第1の特定手段により特定された前記位置に表示する表示手段と
    前記仮想物体を表示すべき位置にかかる動きによって、所定の条件が満たされたかを識別表示する識別表示手段として機能させるためのプログラム。
  8. 表示装置と情報処理装置とを含む情報処理システムであって、
    仮想物体を表示すべき位置を特定する第1の特定手段と、
    前記第1の特定手段により特定された位置に表示する仮想物体を決定するための基準となる対象物体を特定する第2の特定手段と、
    前記対象物体の種類に応じて、前記第1の特定手段により特定された位置に表示する仮想物体を決定する決定手段と、
    前記決定手段により決定された仮想物体を、前記第1の特定手段により特定された前記位置に表示する表示手段と、
    前記仮想物体を表示すべき位置にかかる動きによって、所定の条件が満たされたかを識別表示する識別表示手段と、
    を備えることを特徴とする情報処理システム。
JP2015239856A 2015-12-09 2015-12-09 情報処理装置、情報処理システム、その制御方法及びプログラム Active JP6738007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015239856A JP6738007B2 (ja) 2015-12-09 2015-12-09 情報処理装置、情報処理システム、その制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015239856A JP6738007B2 (ja) 2015-12-09 2015-12-09 情報処理装置、情報処理システム、その制御方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020121313A Division JP2020187778A (ja) 2020-07-15 2020-07-15 情報処理装置、情報処理システム、その制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2017107349A JP2017107349A (ja) 2017-06-15
JP2017107349A5 JP2017107349A5 (ja) 2019-01-24
JP6738007B2 true JP6738007B2 (ja) 2020-08-12

Family

ID=59059662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015239856A Active JP6738007B2 (ja) 2015-12-09 2015-12-09 情報処理装置、情報処理システム、その制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6738007B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6912970B2 (ja) * 2017-08-24 2021-08-04 キヤノンマーケティングジャパン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP2019219492A (ja) * 2018-06-19 2019-12-26 ニチアス株式会社 締付体験システム
CN113784822B (zh) * 2018-10-10 2023-09-26 株式会社日立制作所 基于增强现实的机械紧固部的管理方法
JP7279530B2 (ja) 2019-06-07 2023-05-23 マツダ株式会社 映像処理方法、映像処理装置、映像処理プログラム及び映像処理プログラムを記録した記録媒体
WO2020250270A1 (ja) * 2019-06-10 2020-12-17 マクセル株式会社 操作支援システム及び操作支援方法
WO2021176645A1 (ja) * 2020-03-05 2021-09-10 Yamagata株式会社 拡張現実による機械締結作業方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129656A (ja) * 2006-11-16 2008-06-05 Sharp Corp 干渉検証装置、方法、プログラムおよび記録媒体
JP5988563B2 (ja) * 2011-10-25 2016-09-07 キヤノン株式会社 画像処理装置と画像処理装置の制御方法およびプログラムと、情報処理装置と情報処理装置の制御方法およびプログラム
JP5994233B2 (ja) * 2011-11-08 2016-09-21 ソニー株式会社 画像処理装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
JP2017107349A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
JP6738007B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6978701B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに、情報処理装置、その制御方法、及びプログラム
US7440691B2 (en) 360-° image photographing apparatus
JP2015125641A (ja) 情報処理装置、その制御方法、及びプログラム
US10424122B2 (en) Augmented reality simulation device which displays a virtual object on a machine tool and computer-readable medium
JP6920057B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP6730577B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6364389B2 (ja) 検査方法及び検査システム
JP6295296B2 (ja) 複合システム及びターゲットマーカ
JP6725827B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP4447896B2 (ja) 画像処理装置および方法
JP2020187778A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP7078834B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP4742976B2 (ja) 遠隔指示システム、遠隔指示方法及びプログラム
JP6683919B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2018097645A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6928281B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP7029087B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2019050064A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6376251B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2016115230A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6741939B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2019012334A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6164177B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6458373B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R151 Written notification of patent or utility model registration

Ref document number: 6738007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250