(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025450
(43)【公開日】2024-02-26
(54)【発明の名称】生成プログラム、表示プログラム、表示装置、および電子機器システム
(51)【国際特許分類】
G06F 3/01 20060101AFI20240216BHJP
G06F 3/0481 20220101ALI20240216BHJP
G06F 3/0346 20130101ALI20240216BHJP
G06V 20/20 20220101ALI20240216BHJP
G06T 7/20 20170101ALI20240216BHJP
G06T 13/40 20110101ALI20240216BHJP
G06T 19/00 20110101ALI20240216BHJP
【FI】
G06F3/01 510
G06F3/01 514
G06F3/01 515
G06F3/0481
G06F3/0346 421
G06F3/0346 424
G06F3/0346 425
G06V20/20
G06T7/20 300A
G06T13/40
G06T19/00 A
【審査請求】未請求
【請求項の数】29
【出願形態】OL
(21)【出願番号】P 2022128909
(22)【出願日】2022-08-12
(71)【出願人】
【識別番号】000004112
【氏名又は名称】株式会社ニコン
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高階 知巳
(72)【発明者】
【氏名】井上 毅
【テーマコード(参考)】
5B050
5B087
5E555
5L096
【Fターム(参考)】
5B050AA03
5B050AA08
5B050BA09
5B050BA11
5B050BA12
5B050BA13
5B050CA01
5B050DA04
5B050EA07
5B050EA26
5B050FA02
5B050FA05
5B087AA02
5B087AA07
5B087BC06
5B087BC32
5B087DE03
5E555AA07
5E555AA27
5E555AA28
5E555BA02
5E555BA38
5E555BB02
5E555BB38
5E555BC08
5E555BD01
5E555BD09
5E555BE17
5E555CA23
5E555CA28
5E555CA29
5E555CA41
5E555CA42
5E555CA44
5E555CB19
5E555CB20
5E555CB21
5E555CB45
5E555CB74
5E555CC05
5E555DA08
5E555DA11
5E555DB31
5E555DB53
5E555DB56
5E555DC13
5E555DC19
5E555DC26
5E555DC27
5E555DC35
5E555DC43
5E555DC61
5E555DC63
5E555DC84
5E555DD01
5E555DD06
5E555EA14
5E555EA22
5E555FA00
5L096CA04
5L096DA04
5L096FA67
5L096FA69
5L096HA04
(57)【要約】
【課題】作業対象物への力加減を容易に把握すること。
【解決手段】生成プログラムは、プロセッサに、動作する手の位置を示す位置データを取得する取得処理と、前記動作により対象物にかかる力に関する情報を検出する検出処理と、前記取得処理によって取得された前記位置データと、前記検出処理によって検出された力に関する情報とに基づいて、前記対象物に前記力をかける前記手の動作データを生成する生成処理と、を実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサに、
動作する手の位置を示す位置データを取得する取得処理と、
前記動作により対象物にかかる力に関する情報を検出する検出処理と、
前記取得処理によって取得された前記位置データと、前記検出処理によって検出された力に関する情報とに基づいて、前記対象物に前記力をかける前記手の動作データを生成する生成処理と、
を実行させる生成プログラム。
【請求項2】
請求項1に記載の生成プログラムであって、
前記位置データは、前記手の形状を構成する点の位置データを含む、
生成プログラム。
【請求項3】
請求項2に記載の生成プログラムであって、
前記動作データは、前記手の形状を構成する点の位置データと前記力に関する情報とを関連付けたデータである、
生成プログラム。
【請求項4】
請求項3に記載の生成プログラムであって、
前記位置データは、時系列な前記手の形状を構成する点の位置データを含む、
生成プログラム。
【請求項5】
請求項1に記載の生成プログラムであって、
前記力に関する情報は、前記対象物にかかる力の量、力の方向、およびトルクの少なくとも1つを含む、生成プログラム。
【請求項6】
請求項5に記載の生成プログラムであって、
前記力に関する情報は、前記対象物にかかる力を発生させる前記手の特定の位置であり、
前記動作データは、前記手の形状を構成する点のうち前記手の特定の位置に対応した特定の点に、前記力の量および方向を関連づけたデータである、
生成プログラム。
【請求項7】
請求項5に記載の生成プログラムであって、
前記検出処理では、前記プロセッサに、前記力を発生させる前記手の特定の位置、および前記力の量に関する情報を、前記手に装着された圧力センサおよび前記手の筋電位を検出する筋電位センサのうち少なくとも1つの検出データに基づいて検出させる、
生成プログラム。
【請求項8】
請求項5に記載の生成プログラムであって、
前記検出処理では、前記プロセッサに、前記力の方向に関する情報を、前記手を含む身体に装着された慣性計測装置の検出データに基づいて検出させる、
生成プログラム。
【請求項9】
請求項5に記載の生成プログラムであって、
前記取得処理では、前記プロセッサに、時間的に異なる複数の画像フレームの各々から前記手の位置に関する前記複数の画像フレーム間のオプティカルフローを取得させ、
前記検出処理では、前記プロセッサに、前記オプティカルフローに基づいて、前記力の方向に関する情報を検出させる、
生成プログラム。
【請求項10】
請求項1に記載の生成プログラムであって、
前記対象物の仮想データを表示画面に表示する表示処理を実行させ、
前記対象物の仮想データは、前記対象物の位置情報を含み、
前記検出処理は、前記取得処理により取得された前記動作する手の位置を示す位置データと、前記対象物の仮想データとの位置関係に基づいて、前記力に関する情報を検出させる、
生成プログラム。
【請求項11】
請求項1に記載の生成プログラムであって、
前記対象物の仮想データを表示画面に表示する表示処理、
を実行させ、
前記検出処理は、前記手が前記対象物を構成する仮想部品を動作させたときに、前記仮想部品に対応して記憶されている前記仮想部品を前記動作させるのに必要な力を、該力に関する情報として検出させる、
生成プログラム。
【請求項12】
プロセッサに、
動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報を取得する取得処理と、
前記取得処理によって取得された前記手の位置を示す位置データおよび前記力に関する情報に基づいて、前記手の仮想データ生成する生成処理と、
前記生成処理によって生成された前記手の仮想データに基づいて、前記手の仮想データを表示画面に表示する表示処理と、
を実行させる表示プログラム。
【請求項13】
請求項12に記載の表示プログラムであって、
前記手の位置データは、前記手の形状を構成する点の位置データを含み、
前記表示処理では、前記プロセッサに、前記点の位置データに基づいて前記手の仮想データを前記表示画面に表示させる、
表示プログラム。
【請求項14】
請求項12に記載の表示プログラムであって、
前記力に関する情報は、前記対象物にかかる力の量、力の方向およびトルクのうち少なくともいずれか1つである、
表示プログラム。
【請求項15】
請求項12に記載の表示プログラムであって、
前記生成処理では、前記プロセッサに、前記力の量に対応する色または大きさで前記手の仮想データを生成させる、
表示プログラム。
【請求項16】
請求項14に記載の表示プログラムであって、
前記力に関する情報は、前記対象物にかかる力を発生させる前記手の特定の位置であり、
前記手の形状を構成する点のうち前記手の特定の位置に対応した特定の点に、前記力の量および方向が関連づいている、
表示プログラム。
【請求項17】
請求項16に記載の表示プログラムであって、
前記表示処理では、前記プロセッサに、前記手の仮想データのうち、前記対象物にかかる力を発生させる手の位置に対応した領域を前記力の量に対応する色または大きさで表示させる、
表示プログラム。
【請求項18】
プロセッサに、
動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報を取得する取得処理と、
前記取得処理によって取得された前記手の位置を示す位置データに基づいて、前記手の仮想データ生成する生成処理と、
前記生成処理によって生成された前記手の仮想データに基づいて前記手の仮想データを表示画面に表示させるとともに、前記力に関する情報を表示させる、表示処理と
を実行させる表示プログラム。
【請求項19】
請求項18に記載の表示プログラムであって、
前記手の位置データは、前記手の形状を構成する点の位置データを含み、
前記表示処理では、前記プロセッサに、前記点の位置データに基づいて前記手の仮想データを前記表示画面に表示させる、
表示プログラム。
【請求項20】
請求項18に記載の表示プログラムであって、
前記力に関する情報は、前記対象物にかかる力の量、力の方向およびトルクのうち少なくともいずれか1つである、
表示プログラム。
【請求項21】
請求項18に記載の表示プログラムであって、
前記表示処理では、前記プロセッサに、前記力の量および方向の少なくとも1つに対応するオブジェクトを前記表示画面に表示させる、
表示プログラム。
【請求項22】
請求項21に記載の表示プログラムであって、
前記力の量に対応するオブジェクトは文字列を含み、前記力の方向に対応するオブジェクトは矢印を含む、
表示プログラム。
【請求項23】
動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報とを取得する取得部と、
前記取得部によって取得された前記手の位置データと前記力に関する情報に基づいて、前記手の仮想データを生成する生成部と、
前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示する表示部と、
を備える表示装置。
【請求項24】
請求項23に記載の表示装置であって、
前記生成部は、前記力の量に対応する色または大きさで前記手の仮想データを生成する、表示装置。
【請求項25】
動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報とを取得する取得部と、
前記取得部によって取得された前記手の位置データに基づいて、前記手の仮想データを生成する生成部と、
前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示するとともに、前記力に関する情報を表示する表示部と、
を備える表示装置。
【請求項26】
請求項24に記載の表示装置であって、
前記力に関する情報は、前記対象物にかかる力の量、力の方向およびトルクのうち少なくともいずれか1つである、表示装置。
【請求項27】
請求項25に記載の表示装置であって、
前記表示部は、前記力の量および方向の少なくとも1つに対応するオブジェクトを表示画面に表示する、
表示装置。
【請求項28】
動作する手の位置を示す位置データを取得する取得部と、
前記動作により対象物にかかる力に関する情報を検出するする検出部と、
前記取得部によって取得された前記位置データと、前記検出部によって検出された力に関する情報を送信する送信部と、
前記送信部から送信された前記手の位置を示す位置と前記力に関する情報を受信する受信部と、
前記受信部が受信した前記手の位置を示す位置データおよび前記力に関する情報に基づいて、前記手の仮想データを生成する生成部と、
前記生成部が生成した前記手の仮想データを表示する表示部と、
を備える電子機器システム。
【請求項29】
動作する手の位置を示す位置データを取得する取得部と、
前記動作により対象物にかかる力に関する情報を検出するする検出部と、
前記手の位置を示す位置データと前記力に関する情報を送信する送信部と、
前記送信部から送信された前記手の位置を示す位置と前記力に関する情報を受信する受信部と、
前記受信部によって受信された前記手の位置を示す位置データに基づいて、前記手の仮想データを生成する生成部と、
前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示するとともに、前記力に関する情報を表示する表示部と、
を備える電子機器システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成プログラム、表示プログラム、表示装置、および電子機器システムに関する。
【背景技術】
【0002】
作業者が観察している映像を遠隔地にいる指示者に伝送し、指示者がこの映像を観察しながら三次元的な作業指示を行える画像処理装置が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
本願の第1開示技術の生成プログラムは、プロセッサに、動作する手の位置を示す位置データを取得する取得処理と、前記動作により対象物にかかる力に関する情報を検出する検出処理と、前記取得処理によって取得された前記位置データと、前記検出処理によって検出された力に関する情報とに基づいて、前記対象物に前記力をかける前記手の動作データを生成する生成処理と、を実行させる。
【0005】
本願の第2開示技術の表示プログラムは、プロセッサに、動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報を取得する取得処理と、前記取得処理によって取得された前記手の位置を示す位置データおよび前記力に関する情報に基づいて、前記手の仮想データ生成する生成処理と、前記生成処理によって生成された前記手の仮想データに基づいて、前記手の仮想データを表示画面に表示する表示処理と、を実行させる。
【0006】
本願の第3開示技術の表示装置は、動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報とを取得する取得部と、前記取得部によって取得された前記手の位置データと前記力に関する情報に基づいて、前記手の仮想データを生成する生成部と、前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示する表示部と、を備える。
【0007】
本願の第4開示技術の表示装置は、動作する手の位置を示す位置データと、前記動作により対象物にかかる力に関する情報とを取得する取得部と、前記取得部によって取得された前記手の位置データに基づいて、前記手の仮想データを生成する生成部と、前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示するとともに、前記力に関する情報を表示する表示部と、を備える。
【0008】
本願の第5開示技術の電子機器システムは、動作する手の位置を示す位置データを取得する取得部と、前記動作により対象物にかかる力に関する情報を検出するする検出部と、前記取得部によって取得された前記位置データと、前記検出部によって検出された力に関する情報を送信する送信部と、前記送信部から送信された前記手の位置を示す位置と前記力に関する情報を受信する受信部と、前記受信部が受信した前記手の位置を示す位置データおよび前記力に関する情報に基づいて、前記手の仮想データを生成する生成部と、前記生成部が生成した前記手の仮想データを表示する表示部と、を備える。
【0009】
本願の第6開示技術の電子機器システムは、動作する手の位置を示す位置データを取得する取得部と、前記動作により対象物にかかる力に関する情報を検出するする検出部と、前記手の位置を示す位置データと前記力に関する情報を送信する送信部と、前記送信部から送信された前記手の位置を示す位置と前記力に関する情報を受信する受信部と、前記受信部によって受信された前記手の位置を示す位置データに基づいて、前記手の仮想データを生成する生成部と、前記生成部によって生成された手の仮想データに基づいて前記手の仮想データを表示するとともに、前記力に関する情報を表示する表示部と、を備える。
【図面の簡単な説明】
【0010】
【
図1】
図1は、電子機器システムのシステム構成例を示す説明図である。
【
図2】
図2は、手の3次元位置データおよび形状データの一例を示す説明図である。
【
図3】
図3は、サーバのハードウェア構成例を示すブロック図である。
【
図4】
図4は、ヘッドマウントディスプレイのハードウェア構成例を示すブロック図である。
【
図5】
図5は、電子機器システムの機能的構成例を示すブロック図である。
【
図6】
図6は、ヘッドマウントディスプレイでの手の動作データの表示例1を示す説明図である。
【
図7】
図7は、
図6における仮想手への力の付与例1を示す説明図である。
【
図8】
図8は、
図6における仮想手への力の付与例2を示す説明図である。
【
図9】
図9は、ヘッドマウントディスプレイでの手の動作データの表示例2を示す説明図である。
【
図10】
図10は、ヘッドマウントディスプレイでの手Hの動作データの表示例3を示す説明図である。
【
図11】
図11は、電子機器システムによる遠隔作業支援例(前半)である。
【
図12】
図12は、電子機器システムによる遠隔作業支援例(後半)である。
【
図13】
図13は、ヘッドマウントディスプレイに表示される作業対象物の仮想データを手で操作する状態を示す説明図である。
【発明を実施するための形態】
【0011】
<電子機器システムのシステム構成例>
図1は、電子機器システムのシステム構成例を示す説明図である。電子機器システム100は、サーバ101と、ヘッドマウントディスプレイDa1~Da3、Db1、Db2と、を有する。ヘッドマウントディスプレイDa1~Da3は、指示者IN1~IN3が装着する表示装置であり、ヘッドマウントディスプレイDb1、Db2は、作業者W1、W2が装着する表示装置である。
【0012】
指示者IN1~IN3を区別しない場合は、指示者INと表記する。作業者W1、W2を区別しない場合は、作業者Wと表記する。指示者INが装着するヘッドマウントディスプレイDa1~Da3を区別しない場合は、ヘッドマウントディスプレイDaと表記する。作業者Wが装着するヘッドマウントディスプレイDb1、Db2を区別しない場合は、ヘッドマウントディスプレイDbと表記する。ヘッドマウントディスプレイDa、Dbを区別しない場合は、ヘッドマウントディスプレイDと表記する。なお、指示者INと作業者Wは一対一の関係であってもよい。
【0013】
サーバ101とヘッドマウントディスプレイDとは、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク110を介して通信可能に接続される。
【0014】
指示者IN1は、ヘッドマウントディスプレイDa1を装着している。指示者IN2は、ヘッドマウントディスプレイDa2を装着し、かつ、両手にグローブGa2r、Ga2lを装着している。グローブGa2r、Ga2lを区別しない場合は、グローブGa2と表記する。
【0015】
グローブGa2は、圧力センサを有し、指示者IN2の手の圧力を検出する。圧力センサではなく、指示者IN2の手の筋電位を検出する筋電位センサでもよい。また、グローブGa2は、慣性計測装置を有し、3次元の慣性運動(直交する3軸方向の並進運動および回転運動)を検出する。具体的には、たとえば、慣性計測装置は加速度センサおよび角速度センサおよび地磁気センサを含み、加速度センサが指示者IN2の手の並進運動を検出し、角速度センサが指示者IN2の手の回転運動を検出する。グローブGa2は、検出したデータを、ネットワーク110経由でサーバ101に、またはヘッドマウントディスプレイDa2およびネットワーク110経由でサーバ101に送信する。
【0016】
なお、他の指示者IN1、IN3および作業者Wも慣性計測装置を、たとえば、手首などに装着してもよい。
【0017】
指示者IN3は、ヘッドマウントディスプレイDa3を装着し、かつ、右手Ha3rにデジタルドライバMaを保持している。デジタルドライバMaは、その回転により発生するトルクおよび回転方向を検出する。デジタルドライバMaは、検出されたトルクおよび回転方向を、ネットワーク110経由でサーバ101に、またはヘッドマウントディスプレイDa2およびネットワーク110経由でサーバ101に送信する。
【0018】
作業者W1は、ヘッドマウントディスプレイDb1を装着している。作業者W2は、ヘッドマウントディスプレイDb2を装着し、かつ、ドライバMbを右手Hb2rに保持している。ドライバMbは、デジタルドライバでもよい。
【0019】
ヘッドマウントディスプレイDは、カメラ102とディスプレイ103とを有する。カメラ102、104は、手Hや作業対象物Ta1~Ta3、Tb1、Tb2を撮像する。指示者IN側の作業対象物Ta1~Ta3を区別しない場合は、作業対象物Taと表記する。作業者W側の作業対象物Tb1、Tb2を区別しない場合は、作業対象物Tbと表記する。作業対象物Ta、Tbを区別しない場合は、作業対象物Tと表記する。
【0020】
なお、指示者INは、ヘッドマウントディスプレイDaを装着しなくてもよい。この場合、ヘッドマウントディスプレイDaのカメラ102の替わりに、指示者INの手Hの周辺に配置されたカメラ104が用いられる。
【0021】
カメラ102、104は、指示者IN1の手Ha1r、Ha1l、指示者IN2の手にはめられたグローブGa2r、Ga2l、指示者IN3の手Ha3r、Ha3l、手Ha3rが保持するデジタルドライバMa、作業者W1,W2の手Hb1r、Hb1l、手Hb2r、Hb2l、手Hb2rが保持するドライバMbを撮像する。これらの符号の末尾の「r」は右手を示し、「l」は左手を示す。指示者IN1の手Ha1r、Ha1l、指示者IN2の手にはめられたグローブGa2r、Ga2l、指示者IN3の手Ha3r、Ha3lを区別しない場合は、手Haと表記する。作業者W1,W2の手Hb1r、Hb1l、手Hb2r、Hb2lを区別しない場合は、手Hbと表記する。手Ha、Hbを区別しない場合は、手Hと表記する。
【0022】
電子機器システム100は、ヘッドマウントディスプレイDaが備えるカメラ102または手の周囲に配置されたカメラ104を用いて撮像した動作する指示者INの手Hの撮像データから手Haの3次元位置データを取得し、手Haの3次元位置データと手Hの力に関する情報とに基づいて手Hの動作データを生成する。
【0023】
手Hの動作データとは、手Hの3次元位置データと手Hの力に関する情報とを含む。また、動作する手Hの3次元位置データにおける手の位置データ毎に、その位置に対応する手Hの力に関する情報が関連付けられていてもよい。なお、カメラ102(またはカメラ104)が手Hの動画データを取得し、動画データに基づいて手Haの動作データを生成してもよい。この場合、手Hの位置データとは、動画データの各画像フレームにおける手Hの3次元位置を示す。
【0024】
図2は、手Hの3次元位置データおよび形状データの一例を示す説明図である。(A)は、手Hを撮像した3次元座標系200における手Hの3次元位置データ201を示す。(B)は、手Hを撮像した3次元座標系200における手Hの形状データ202を示す。
【0025】
手Hの3次元位置データ201は、画像に加えて距離情報を取得できるRGB-Dカメラであるカメラ102(またはカメラ104)から取得される。手Hの3次元位置データ201は、手Hの特徴点の集合である。特徴点は3次元座標値を有する。特徴点は、たとえば、手Hの指先および関節である骨格点である。特徴点は、手Hの輪郭を構成する点でもよい。なお、カメラ104は白黒カメラであってもよい。また、RGB-Dカメラを用いる代わりに、RGBカメラを用いてもよい。この場合、手Hまでの距離情報は距離センサ(図示しない)で測定する。
【0026】
手Hの力に関する情報とは、手Hから作業対象物Tにかける力を示す情報である。たとえば、手Haの力に関する情報とは、指示者INが手Haから作業対象物Taにかける力の大きさやデジタルドライバMaによって検出されたトルクおよび力の方向、筋電位センサによって検出された筋電位、および、慣性計測装置の検出データ(手Haの回転運動(回転量および回転方向)、手Haの並進運動(移動量および移動方向))、地磁気センサの検出データである。
【0027】
手Hの仮想データとは、ヘッドマウントディスプレイDに表示させる手Hの形状を示す形状データ202であり、手Hの力に関する情報が関連付けすることが可能なデータである。手Haは、ヘッドマウントディスプレイDbの撮像範囲に存在しない手であるため、手Haの形状データ202は、ヘッドマウントディスプレイDbのディスプレイ103において、仮想的に表示されるデータである。同様に、手Hbは、ヘッドマウントディスプレイDaの撮像範囲に存在しない手であるため、手Hbの形状データ202は、ヘッドマウントディスプレイDaのディスプレイ103において、仮想的に表示されるデータである。
【0028】
手Hの形状データ202は、手Hの3次元位置を示す3次元位置データ201から生成される。具体的には、たとえば、3次元位置データ201が手Hの骨格点の集合である場合、手Hの骨格に沿うように骨格点を連結し、骨格点および骨格点間のリンクに所定の幅を持たせて手Hの輪郭を生成することで、手Hの形状データ202が生成される。また、3次元位置データ201が手Hの輪郭を構成する点の集合である場合、隣り合う点を連結することにより、手Hの形状データ202が生成される。なお、手Hの仮想データとして、骨格点間のリンクに所定の幅を持たせることなく、骨格点間をリンクさせたリンクモデルとして構成してもよい。
【0029】
電子機器システム100では、たとえば、指示者INが作業者Wに指示する場合、ヘッドマウントディスプレイDaが備えるカメラ102または手の周囲に配置されたカメラ104が手Haを撮像することによって取得される手Haの3次元位置データ201および圧力センサ等により取得される手Haの力に関する情報に基づいて手Haの動作データを生成し、サーバ101を介して、ネットワーク110経由でヘッドマウントディスプレイDbに送信する。ヘッドマウントディスプレイDbは、サーバ101からの手Haの3次元位置データ201から手Haの仮想データを生成し、手Haの力に関する情報を関連付けて表示する。
【0030】
また、ヘッドマウントディスプレイDaではなく、サーバ101が、手Haの動作データを生成してもよい。この場合、サーバ101は、手Haの動作データを生成し、ヘッドマウントディスプレイDbに転送する。ヘッドマウントディスプレイDbは、サーバ101からの手Haの3次元位置データ201から手Haの仮想データを生成し、手Haの力に関する情報を関連付けて表示する。なお、サーバ101が、手Haの仮想データを生成し、ヘッドマウントディスプレイDbに手Haの仮想データを転送してもよいし、ヘッドマウントディスプレイDaが、ヘッドマウントディスプレイDbに手Haの3次元位置データと力情報を転送し、ヘッドマウントディスプレイDbが手Haの動作データを生成してもよく、さらに手Haの仮想データを生成してもよい。
【0031】
これにより、作業者Wは、手Haの力に関する情報が付与された手Haの仮想データを視認することができる。
【0032】
また、電子機器システム100では、たとえば、作業者Wが指示者INに確認してもらう場合、手Hbの3次元位置データ201および手Hbの力に関する情報である手Hbの動作データを生成し、サーバ101を介して、ネットワーク110経由でヘッドマウントディスプレイDaに送信する。ヘッドマウントディスプレイDaは、サーバ101からの手Hbの3次元位置データ201から手Hbの仮想データを生成し、手Hbの力に関する情報を関連付けて表示する。
【0033】
また、ヘッドマウントディスプレイDbではなく、サーバ101が、手Hbの動作データを生成してもよい。この場合、サーバ101は、ヘッドマウントディスプレイDbからの手Hbの動作データを生成し、ヘッドマウントディスプレイDaに転送する。ヘッドマウントディスプレイDaは、サーバ101からの手Hbの3次元位置データ201から手Hbの仮想データを生成し、手Hbの力に関する情報を関連付けて表示する。
【0034】
これにより、指示者INは、手Hbの力に関する情報が付与された手Hbの仮想データを視認することができる。
【0035】
<サーバ101のハードウェア構成例>
図3は、サーバ101のハードウェア構成例を示すブロック図である。サーバ101は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF)305と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バス306により接続される。プロセッサ301は、サーバ101を制御する。記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF305は、ネットワーク110と接続し、データを送受信する。
【0036】
<ヘッドマウントディスプレイDのハードウェア構成例>
図4は、ヘッドマウントディスプレイDのハードウェア構成例を示すブロック図である。ヘッドマウントディスプレイDは、プロセッサ301、記憶デバイス302、通信IF305、およびバス306のほか、操作デバイス403、ディスプレイ103、カメラ102、マイク404およびスピーカ405を有する。
【0037】
操作デバイス403は、指示者INまたは作業者Wの操作により、カメラ102で撮像する動画の記録の開始、停止および一時停止、記録された動画の再生の開始、停止および一時停止など各種入力を受け付ける。
【0038】
ディスプレイ103は、表示画面を有し、手Hの仮想データを表示する。また、ディスプレイ103の方式がビデオ透過型(ビデオシースルー)であれば、カメラ102で撮像または再生された動画を表示画面に表示する。一方、ディスプレイ103の方式が光学透過型(光学シースルー)であれば、指示者INまたは作業者Wは、目の前の実体物を視認でき、それに重畳して手Hの仮想データを表示させることができる。
【0039】
カメラ102は、可視光域の赤(R)、緑(G)、青(B)の光を電気信号に変換するとともに、被写体までの距離を取得する撮像素子(RGB-Dカメラ)である。カメラ102は、被写体の撮像面上の平面位置と被写体までの距離とにより、被写体の3次元位置を取得する。
【0040】
マイク404は、ヘッドマウントディスプレイDの周囲の音声を電気信号に変換してヘッドマウントディスプレイD内部に入力する。スピーカ405は、音声に関する電気信号を音声に変換してヘッドマウントディスプレイD外部に出力する。
【0041】
<電子機器システム100の機能的構成例>
図5は、電子機器システム100の機能的構成例を示すブロック図である。ヘッドマウントディスプレイDaは、第1取得部511と、第1検出部512と、第1生成部513と、第1通信部514と、第1表示制御部515と、第1表示画面516と、を有する。ヘッドマウントディスプレイDbは、第2取得部521と、第2検出部522と、第2通信部524と、第2生成部523と、第2表示制御部525と、第2表示画面526と、を有する。
【0042】
第1取得部511、第1検出部512、第1生成部513、第1通信部514、第1表示制御部515、第2取得部521、第2検出部522、第2生成部523、第2通信部524、および第2表示制御部525は、具体的には、たとえば、
図4に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される機能である。第1表示画面516および第2表示画面526は、ディスプレイ103において映像が表示される画面である。
【0043】
まず、ヘッドマウントディスプレイDaについて説明する。第1取得部511は、ヘッドマウントディスプレイDaのカメラ102からの動画データやマイク404からの音声データを取得する。第1取得部511は、手Haの3次元位置データ201を取得する。また、第1取得部511は、画像フレームの各々の手Haの3次元位置データ201に基づいて、画像フレーム間における手Haの移動量および移動方向を示すオプティカルフローを取得する。なお、手Hの周囲に配置されたカメラ104が手Haを撮像し、手Haの撮像データから手Haの3次元位置データ201を取得する場合、第1取得部511がカメラ104から3次元位置データ201を取得してもよい。
【0044】
第1検出部512は、手Haが作業対象物Taにかける力に関する情報を検出する。具体的には、たとえば、第1検出部512は、手Haの画像データ内の色情報に基づいて、手Haが作業対象物Taにかけた力に関する情報を検出する。手Haに力が入る(たとえば、作業対象物Taを握る)と手Haの甲の血管が浮き上がる。したがって、第1検出部512は、手Haの画像データ内の対応する画素における色情報(HSV表色系などで表現される)の微小な変化量のうち、あらかじめ設定されたしきい値(表色系の各軸毎に設定される)以上の変化をする画素があれば、当該手Haの血管の浮き上がり箇所に決定して3次元座標点を特定し、特定した3次元座標点を手Haが作業対象物Taにかけた力に関する情報として検出する。
【0045】
またこの場合、第1検出部512は、手Haの血管の浮き上がり箇所における画素の色の白さに応じて、力の強さを段階的に検出してもよい。
【0046】
また、第1検出部512は、グローブGa2からの検出データに基づいて、手Haが作業対象物Taにかけた力に関する情報を検出する。具体的には、たとえば、第1検出部512は、グローブGa2から得られた圧力を示す検出データから、グローブGa2がはめられた手の3次元位置データ201内において所定圧力以上の特徴点を特定し、グローブGa2がはめられた手の3次元位置データ201内の当該特徴点をグローブGa2がはめられた手が作業対象物Ta2にかけた力に関する情報として検出する。
【0047】
また、第1検出部512は、慣性計測装置からの検出データ(手Hの回転運動(回転量および回転方向)、手Hの並進運動(移動量および移動方向))を、手Haが作業対象物Taにかけた力に関する情報として検出する。
【0048】
また、第1検出部512は、デジタルドライバMaからの検出データであるトルクおよび力の方向を、手Ha3rが作業対象物Taにかけた力に関する情報として検出する。
【0049】
第1生成部513は、手Haの3次元位置データ201と手Haの力に関する情報を関連付けて、画像フレームごとに手Haの動作データを生成する。また、第1生成部513は、画像フレーム間のオプティカルフローが取得されていれば、手Haのオプティカルフローを手Haの動作データに含める。
【0050】
第1通信部514は、ヘッドマウントディスプレイDbまたはサーバ101に、手Haの動作データを送信する。また、ヘッドマウントディスプレイDaが手Haの3次元位置データ201を取得せず、サーバ101が取得する構成である場合、第1通信部514は、ヘッドマウントディスプレイDaのカメラ102で撮像した手Haの撮像データをサーバ101に送信する。また、第1通信部514は、ヘッドマウントディスプレイDbが備えるカメラ102が撮像する画像(動画)を受信してもよい。
【0051】
第1表示制御部515は、ディスプレイ103の方式がビデオ透過型(ビデオシースルー)であれば、第1取得部511によって取得された動画データを第1表示画面516に表示するように制御する。
【0052】
ディスプレイ103の方式がビデオ透過型(ビデオシースルー)であれば、第1取得部511によって取得された動画データを第1表示画面516に表示するように制御する。
【0053】
つぎに、ヘッドマウントディスプレイDbについて説明する。第2取得部521は、ヘッドマウントディスプレイDbのカメラ102からの動画データやマイク404からの音声データを取得する。
【0054】
第2通信部524は、ヘッドマウントディスプレイDaまたはサーバ101に、ヘッドマウントディスプレイDbが備えるカメラ102が撮像する画像(動画)データを送信する。
【0055】
また、第2通信部524は、ヘッドマウントディスプレイDaまたはサーバ101から、手Haの動作データを受信する。手Haの動作データは、手Haの3次元位置データ201、手Haの力に関する情報、および手Haのオプティカルフローを含む。
【0056】
この場合、第2生成部523は、手Haの3次元位置データ201から手Haの形状データ202を生成する。また、第2生成部523は、第1生成部513と同様の方法で、手Haの力に関する情報から、手Haの力に関する表示情報を生成する。たとえば、手Haの力に関する情報が、手Haの血管の浮き上がり箇所であれば、その3次元座標点の画素に力の強さを示す色情報を付与する。なお、第2生成部523は、3次元座標点が複数存在する場合、複数の3次元座標点の力の強さの平均値を示す色情報を、手Haの形状データ202内の全画素に付与してもよい。
【0057】
たとえば、手Haの力に関する情報が、慣性計測装置からの検出データ(手Haの回転運動(回転量および回転方向)、手Haの並進運動(移動量および移動方向))であれば、第2生成部523は、手Haの回転運動や手Haの並進運動を示す表示情報を生成する。当該表示情報は、たとえば、方向および量のうち少なくとも方向を示す文字列でもよく、矢印のような図形でもよい。表示情報が矢印の場合、量は、矢印の大きさや太さ、色で表現してもよい。表示情報が文字列の場合、力の量を数値で表現してもよく、また、力の方向を例えば、左右上下で表現してもよい。また、所定の動作または時間において、指示者INの手Haがかける力の平均的な力の量を数値で表現してもよい。
【0058】
たとえば、手Haの力に関する情報が、グローブGa2からの検出データであれば、第2生成部523は、圧力を示す表示情報を生成する。当該表示情報は、圧力の値とその3次元座標値とにより構成される。
【0059】
たとえば、手Haの力に関する情報が、デジタルドライバMaからの検出データであるトルクであれば、第2生成部523は、トルクを示す表示情報を生成する。当該表示情報は、たとえば、方向および量のうち少なくとも方向を示す文字列でもよく、矢印のような図形オブジェクトでもよい。表示情報が矢印の場合、量は、矢印の大きさや太さ、色で表現してもよい。
【0060】
第2表示制御部525は、手Haの形状データ202に手Haの力に関する表示情報が関連付けられた手Haの仮想データを、第2表示画面526に表示するように制御する。
【0061】
ディスプレイ103の方式がビデオ透過型(ビデオシースルー)であれば、第2表示制御部525は、第2取得部521によって取得された動画データを第2表示画面526に表示するように制御する。これにより、動画データと手Haの仮想データとが重畳表示される。ディスプレイ103の方式が光学透過型(光学シースルー)であれば、第2表示画面526を通して見える現実の像と手Haの仮想データとが第2表示画面526に重畳表示される。
【0062】
つぎに、サーバ101について説明する。サーバ101は、第3取得部531と、第3検出部532と、第3生成部533と、第3通信部534と、を有する。第3取得部531、第3検出部532、第3生成部533、および第3通信部534は、具体的には、たとえば、
図2に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される機能である。
【0063】
ヘッドマウントディスプレイDが動作データを生成する場合、第3通信部534が、通信IF305を制御して、手Haの力に関する情報をヘッドマウントディスプレイDに転送する。ヘッドマウントディスプレイDaがカメラ102を備えているときは、カメラ102が撮像した手Haの撮像データから3次元位置データ201を取得し、3次元位置データ201と転送された手Haの力に関する情報とに基づいて、動作データを生成する。一方、手の周囲に配置されたカメラ104が手Haの3次元位置データ201を取得するときは、カメラ104は、手Haの3次元位置データ201をヘッドマウントディスプレイDaに転送する。ヘッドマウントディスプレイDaは、転送された手Haの3次元位置データ201と、手Haの力に関する情報とに基づいて、動作データを生成する。なお、ヘッドマウントディスプレイD間で直接通信する構成の場合、サーバ101は不要になる。
【0064】
ヘッドマウントディスプレイDが動作データを生成しない場合、第3取得部531は、第1取得部511および第2取得部521の機能を有し、第3検出部532は、第1検出部512および第2検出部522の機能を有し、第3生成部533は、第1生成部513および第2生成部523の機能を有する。また、第3通信部534は、ヘッドマウントディスプレイDから動画データを受信する。
【0065】
上述した構成では、手Hの形状データ202は、手Hの3次元位置データ201を受信したヘッドマウントディスプレイDで生成されるため、手Hの形状データ202をネットワーク110経由で送受信する場合に比べて、トラフィック量の低減化を図ることができる。
【0066】
一方、手Hの形状データ202は、手Hの動作データを送信する側のヘッドマウントディスプレイDで生成されてもよい。この場合、手Hの動作データを受信する側のヘッドマウントディスプレイDでは、手Hの形状データ202を生成する必要がなくなるため、処理負荷の低減化を図ることができる。
【0067】
<ヘッドマウントディスプレイDでの手Hの動作データの表示例>
図6は、ヘッドマウントディスプレイDでの手Hの動作データの表示例1を示す説明図である。情報表示例1では、指示者IN1が作業者W1に指示する。なお、指示者IN1は、第1表示画面516の中央に作業対象物Ta1が位置するようにヘッドマウントディスプレイDa1のカメラ102を向け、作業者W1は、第2表示画面526の中央に作業対象物Tb1が位置するようにヘッドマウントディスプレイDb1のカメラ102を向けているものとする。
【0068】
ヘッドマウントディスプレイDa1の第1表示画面516には、指示者IN1の手Ha1l、Ha1rと、作業対象物Ta1と、が表示される。なお、ディスプレイの方式が透過型であれば、指示者IN1は、第1表示画面516を通して作業者の手Hを認識することができる。
【0069】
ヘッドマウントディスプレイDb1の第2表示画面526には、作業者W1の手Hb1l、Hb1rと、作業対象物Tb1と、が表示される。ディスプレイの方式が透過型であれば、作業者W2は、第2表示画面526を通して作業者の手Hを認識することができる。
【0070】
また、ヘッドマウントディスプレイDb1の第2表示画面526には、指示者IN1の手Ha1l、Ha1rの仮想データである仮想手V(Ha1l)、V(Ha1r)が表示される。仮想手V(Ha1l)、V(Ha1r)は、第2生成部523によって生成された手Haの形状データ202であり、手Ha1l、Ha1rの3次元位置データ201が示す第2表示画面526上の位置に表示される。仮想手V(Ha1l)、V(Ha1r)の輪郭は点線で表示され、内部は透明または半透明で表示される。
【0071】
図7は、
図6における仮想手への力の付与例1を示す説明図である。
図7では、ヘッドマウントディスプレイDb1の第2表示画面526に表示される指示者IN1の仮想手V(Ha1l)を例に挙げて説明する。
図7では、力が強いほど、仮想手V(Ha1l)内の色が濃く表示される。また、仮想手V(Ha1l)全体ではなく、手Ha1の血管の浮き上がり箇所のように、特定の箇所または当該箇所を含む領域の力を特定の色およびその濃度で表示してもよい。このように、本実施形態によれば、作業者Wは直感的に作業対象物Tbを操作するのに必要な力に関する情報を認識することができる。なお、仮想手Vに色の濃淡をつけて表示する場合、手Hの3次元位置データに基づいて仮想データである仮想手Vを生成し、第2表示部等が、仮想手Vの力が強い領域に対して、力の大きさに応じて仮想手Vに重畳して色を表示してもよい。
【0072】
図8は、
図6における仮想手への力の付与例2を示す説明図である。
図8でも、ヘッドマウントディスプレイDb1の第2表示画面526に表示される指示者IN1の仮想手V(Ha1l)を例に挙げて説明する。
図8では、力が強いほど、手Haの指や甲が太く表示される。また、仮想手V(Ha1l)全体ではなく、手Ha1の血管の浮き上がり箇所のように、力がかかっている特定の箇所(指や甲)を太く表示してもよい。このように、本実施形態によれば、作業者Wは直感的に作業対象物Tbを操作するのに必要な力に関する情報を認識することができる。
【0073】
図9は、ヘッドマウントディスプレイDでの手Hの動作データの表示例2を示す説明図である。情報表示例2では、指示者IN2が作業者W1に指示する。なお、指示者IN2は、第1表示画面516の中央に作業対象物Ta1が位置するようにヘッドマウントディスプレイDa2のカメラ102を向け、作業者W1は、第2表示画面526の中央に作業対象物Tb1が位置するようにヘッドマウントディスプレイDb1のカメラ102を向けているものとする。
【0074】
ヘッドマウントディスプレイDa2の第1表示画面516には、指示者IN2の手にはめられたグローブGa1l、Ga1rと、作業対象物Ta2と、が表示される。
【0075】
ヘッドマウントディスプレイDb1の第2表示画面526には、指示者IN1の手Ha1l、Ha1rと、作業対象物Ta1と、を表示する代わりに、作業者W1の手Hb1l、Hb1rと、作業対象物Tb1と、を表示してもよい。また、ヘッドマウントディスプレイDb1の第2表示画面526には、指示者IN2の手にはめられたグローブGa2l、Ga2rの仮想データである仮想手V(Ga2l)、V(Ga2r)が表示される。仮想手V(Ga2l)、V(Ga2r)は、第2生成部523によって生成されたグローブGa2l、Ga2rの形状データ202であり、グローブGa2l、Ga2rの3次元位置データ201が示す第2表示画面526上の位置に表示される。仮想手V(Ga2l)、V(Ga2r)の輪郭は点線で表示され、内部には、仮想手V(Ga2l)、V(Ga2r)よりも奥にある像が表示される。
【0076】
また、仮想手V(Ga2l)、V(Ga2r)には、
図7および
図8で示したような力に関する情報が付与されてもよい。
【0077】
図10は、ヘッドマウントディスプレイDでの手Hの動作データの表示例3を示す説明図である。情報表示例3では、指示者IN3が作業者W2に指示する。なお、指示者IN3は、第1表示画面516の中央に作業対象物Ta1が位置するようにヘッドマウントディスプレイDa3のカメラ102を向け、作業者W2は、第2表示画面526の中央に作業対象物Tb1が位置するようにヘッドマウントディスプレイDb2のカメラ102を向けているものとする。
【0078】
ヘッドマウントディスプレイDa3の第1表示画面516には、指示者IN3の手Ha1rと、手Ha1rが保持しているデジタルドライバMaと、作業対象物Ta3と、が表示される。
【0079】
ヘッドマウントディスプレイDb2の第2表示画面526には、作業者W2の手Hb2rと、ドライバMbと、作業対象物Tb2と、が表示される。ディスプレイの方式が透過型であれば、作業者W2は、第2表示画面526を通して、手Hb2rを認識することができる。また、ヘッドマウントディスプレイDb2の第2表示画面526には、指示者IN3の手Ha3rの仮想データである仮想手V(Ha3r)が表示される。仮想手V(Ha3r)は、第2生成部523によって生成された手Ha3rの形状データ202であり、手Ha3rの3次元位置データ201が示す第2表示画面526上の位置に表示される。
【0080】
また、ヘッドマウントディスプレイDb2の第2表示画面526には、力情報901、902が仮想手V(Ha3r)に関連付けて表示される。力情報901は、手Ha3rにかけられた力でデジタルドライバMaに発生した力を示すトルクの表示情報であり、力情報901の接続点910が仮想手V(Ha3r)に重複するように接続される。接続点910は、手Ha3r内のトルクの発生箇所と一致するように仮想手V(Ha3r)に接続されてもよい。
【0081】
力情報902は、慣性計測装置からの検出データである手Ha3rに保持されたデジタルドライバMaの回転運動の一つである回転方向を示す矢印である。力情報902は、仮想手V(Ha3r)の近傍に配置される。また、仮想手V(Ha3r)には、
図7および
図8で示したような力に関する情報が付与されてもよい。
【0082】
<遠隔作業支援例>
図11は、電子機器システム100による遠隔作業支援例(前半)であり、
図12は、電子機器システム100による遠隔作業支援例(後半)である。遠隔作業支援例では、指示者IN1が作業者W1に指示する。
図11に示す遠隔作業支援例(前半)では、指示者IN1が作業者W1に手本を見せる。
図12に示す遠隔作業支援例(後半)では、作業者W1が、手本である指示者IN1の動きを参照して、作業する。なお、指示者IN1は、第1表示画面516の中央に作業対象物Ta1が位置するようにカメラ102を向け、作業者W1は、第2表示画面526の中央に作業対象物Tb1が位置するようにカメラ102を向けているものとする。
【0083】
[時刻t1]
図11において、指示者IN1は、手Ha1lで作業対象物Ta1の左下端部を保持し、手Ha1rで作業対象物Ta1の右下端部を保持する。作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、作業対象物Tb1の左下端部の位置に指示者IN1の仮想手V(Ha1l)が重畳表示され、作業対象物Tb1の右下端部の位置に指示者IN1の仮想手V(Ha1r)が重畳表示される。
【0084】
[時刻t2]
図11において、指示者IN1は、作業対象物Ta1の右下端部に位置する手Ha1rを作業対象物Ta1の右上端部に移動させる。作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、作業対象物Tb1の左下端部の位置に指示者IN1の仮想手V(Ha1l)が重畳表示されたままである。また、作業対象物Tb1の右上端部の位置に指示者IN1の仮想手V(Ha1r)が重畳表示される。また、仮想手V(Ha1r)の近傍に、仮想手V(Ha1r)の移動方向を示す力情報1101が表示される。
【0085】
[時刻t3]
図11において、指示者IN1は、手Ha1lで作業対象物Ta1の左下端部を保持し、かつ、手Ha1rで作業対象物Ta1の右上端部を保持した状態で、作業対象物Ta1を反時計回りに回転させる。作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、作業対象物Tb1の左下端部に位置する指示者IN1の仮想手V(Ha1l)が作業対象物Ta1の回転動作により右下に移動し、作業対象物Tb1の右上端部に位置する指示者IN1の仮想手V(Ha1r)が反時計回りに回転する。また、仮想手V(Ha1l)の近傍に、仮想手V(Ha1l)の移動方向を示す力情報1102が表示され、仮想手V(Ha1r)の近傍に、仮想手V(Ha1r)の回転方向を示す力情報1103が表示される。このようにして、指示者IN1は作業者W1に作業の手本を見せることができる。
【0086】
つぎに、
図12を用いて時刻t4~t5での動作について説明する。時刻t4~t6において、
図11と同様、指示者IN1は、時刻t1~t3と同様の動作をおこなって、作業者W1のヘッドマウントディスプレイDb1の第2表示画面526に、指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きを表示させる。なお、時刻t4~t6において、指示者IN1が時刻t1~t3と同様の動作をせずに、作業者W1のヘッドマウントディスプレイDb1が、第2表示画面526に、時刻t1~t3における指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きを再生してもよい。
[時刻t4]
ヘッドマウントディスプレイDb1は、指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きをリアルタイムで表示させる。なお、ヘッドマウントディスプレイDb1は、リアルタイムで時刻t1~t3における指示者INの仮想手V(Ha1l)、V(Ha1r)の動きを表示する代わりに、録画した動画データを再生してもよい。作業者W1は、再生された仮想手V(Ha1l)、V(Ha1r)の動きを参照して、作業を試みる。
【0087】
図12において、作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、時刻t1と同様、時刻t4での作業対象物Tb1の左下端部の位置に指示者IN1の仮想手V(Ha1l)が重畳表示され、作業対象物Tb1の右下端部の位置に指示者IN1の仮想手V(Ha1r)が重畳表示される。作業者W1は、指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きにあわせて、時刻t4において、手Hb1lで作業対象物Tb1の左下端部を保持し、手Hb1rで作業対象物Tb1の右下端部を保持する。
[時刻t5]
図12において、時刻t2と同様、時刻t5での作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、作業対象物Tb1の左下端部の位置に指示者IN1の仮想手V(Ha1l)が重畳表示されたままである。また、指示者IN1の仮想手V(Ha1r)は、時刻t4の位置から、作業対象物Tb1の右上端部の位置に移動する。また、仮想手V(Ha1r)の近傍に、仮想手V(Ha1r)の移動方向を示す力情報1101が表示される。作業者W1は、指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きにあわせて、作業対象物Tb1の右下端部に位置する手Hb1rを作業対象物Tb1の右上端部に移動させる。
【0088】
[時刻t6]
図12において、時刻t3と同様、時刻t6での作業者W1のヘッドマウントディスプレイDb1の第2表示画面526には、作業対象物Tb1の左下端部に位置する指示者IN1の仮想手V(Ha1l)が作業対象物Ta1の回転動作により右下に移動し、作業対象物Tb1の右上端部に位置する指示者IN1の仮想手V(Ha1r)が反時計回りに回転する。また、仮想手V(Ha1l)の近傍に、仮想手V(Ha1l)の移動方向を示す力情報1102が表示され、仮想手V(Ha1r)の近傍に、仮想手V(Ha1r)の回転方向を示す力情報1103が表示される。
【0089】
作業者W1は、指示者IN1の仮想手V(Ha1l)、V(Ha1r)の動きにあわせて、手Hb1lで作業対象物Tb1の左下端部を保持し、かつ、手Hb1rで作業対象物Tb1の右上端部を保持した状態で、作業対象物Tb1を反時計回りに回転させる。
【0090】
このようにして、作業者W1は指示者IN1の指示に従って作業し、指示者IN1はその作業内容をヘッドマウントディスプレイDa1で確認することができる。
【0091】
<変形例1>
上述した説明では、ヘッドマウントディスプレイD(またはサーバ101)は、作業対象物TやデジタルドライバMa、ドライバMbといった工具の3次元位置データ201を取得していないが、ヘッドマウントディスプレイD(またはサーバ101)は、手Hと同様に、これらの3次元位置データを取得してもよい。
【0092】
この場合、ヘッドマウントディスプレイD(またはサーバ101)は、取得した手Hの3次元位置データ201から手Hの形状データ202を生成するとともに、作業対象物Tや工具の3次元位置データから形状データを生成する。そして、ヘッドマウントディスプレイD(またはサーバ101)は、手Hの形状データ202と作業対象物Tの形状データとが干渉しているか否かを判定する。
【0093】
干渉している場合は、手Hから作業対象物Tに力がかかっている。したがって、ヘッドマウントディスプレイD(またはサーバ101)は、干渉している作業対象物Tの形状データの3次元座標点に、力がかかっていることを示す力情報を付与する。また、工具の形状データと作業対象物Tの形状データとの干渉についても同様である。
【0094】
このように、本実施形態によれば、指示者INが作業対象物Taに加える力の量や方向を実演し、作業者Wは、作業対象物Tbへの力加減を容易に把握することができる。したがって、指示者INの指導の容易化、および、作業者Wによる作業習得の効率化を図ることができる。
【0095】
<変形例2>
図13は、ヘッドマウントディスプレイDに表示される作業対象物Taの仮想データを手Hで操作する状態を示す説明図である。ヘッドマウントディスプレイDaの第1表示画面516に作業対象物Taの仮想データを表示することもできる。作業対象物Taの仮想データは、予めCAD等によって生成されている。また、第1表示画面516に表示される作業対象物Taの仮想データは、仮想空間内での位置情報を含んでいる。
【0096】
ヘッドマウントディスプレイDaに備えられたカメラ102が指示者INの手Hを撮像し、カメラ102または距離センサ(図示しない)がヘッドマウントディスプレイDaから手Hまでの距離を測定する。仮想空間内での作業対象物Taの位置情報と、実空間内での指示者INの手Hの位置(距離)情報との関係から、指示者INの手Hと作業対象物Taとの間で干渉が生じているのか否かを判定する。
【0097】
図13のように、指示者INの手Hが作業対象物Taの内部に入り込んでいる場合は、手Hと作業対象物Taとのあいだで干渉(重なり)が生じていると判定する。干渉が生じている場合は、手Hから作業対象物Taに仮想的に力がかかっている。なお、指示者INの手Hが作業対象物Taの内側により大きく入り込んでいるほど、手Hが受ける仮想的な力が大きくなるように検出してもよい。ヘッドマウントディスプレイD(またはサーバ101)は、手Hの3次元位置データ201と、手Haの力に関する情報とに基づいて、動作データを生成する。このように、本実施形態によれば、指示者INがいる実空間に実体物として作業対象物Taが置かれていなくても、手Hから作業対象物Tにかかる力の情報を検出することができる。
【0098】
指と物体のなす角度をθとすると下記式(1)が成り立つので、cos-1によりθを求めれば、指にかかる力の方向を算出することができる。
【0099】
【0100】
<変形例3>
変形例2と同様に、ヘッドマウントディスプレイDaの第1表示画面516には、作業対象物Taの仮想データが表示される。作業対象物Taの仮想データは、予めCAD等によって生成されている。また、仮想データである作業対象物Taは、1つまたは複数の仮想部品から構成されており、ヘッドマウントディスプレイDaが備える記憶部(図示しない)には、仮想部品ごとに予めその部品を操作するのに必要な力の量が記憶されている。
【0101】
指示者INが、仮想空間内で手Hを使って仮想部品を操作する(例えば、持ち上げる)と、ヘッドマウントディスプレイDaは、記憶されている操作するのに必要な力の量(例えば、部品の重さ)を記憶部から取得し、手Hの3次元位置データ201と、手Haの力に関する情報とに基づいて、動作データを生成する。このように、本実施形態によれば、指示者INがいる実空間に作業対象物Taが置かれていなくても、手Hから作業対象物Tにかかる力の情報を検出することができる。
【0102】
なお、本発明は上記の内容に限定されるものではなく、これらを任意に組み合わせたものであっても良い。また、本発明の技術的思想の範囲で考えられるその他の態様も本発明の範囲に含まれる。
【符号の説明】
【0103】
100 電子機器システム、101 サーバ、102 カメラ、103 ディスプレイ、110 ネットワーク、201 3次元位置データ、202 形状データ、301 プロセッサ、511 第1取得部、512 第1検出部、513 第1生成部、514 第1通信部、515 第1表示制御部、516 第1表示画面、521 第2取得部、522 第2検出部、523 第2生成部、524 第2通信部、525 第2表示制御部、526 第2表示画面、531 第3取得部、532 第3検出部、533 第3生成部、534 第3通信部、901 力情報、902 力情報、910 接続点、1001~1003 力情報、1101~1103 力情報、D ヘッドマウントディスプレイ、H 手、IN 指示者、Ma デジタルドライバ、Mb ドライバ、T 作業対象物、W 作業者