JP6488946B2 - 制御方法、プログラム及び制御装置 - Google Patents

制御方法、プログラム及び制御装置 Download PDF

Info

Publication number
JP6488946B2
JP6488946B2 JP2015163916A JP2015163916A JP6488946B2 JP 6488946 B2 JP6488946 B2 JP 6488946B2 JP 2015163916 A JP2015163916 A JP 2015163916A JP 2015163916 A JP2015163916 A JP 2015163916A JP 6488946 B2 JP6488946 B2 JP 6488946B2
Authority
JP
Japan
Prior art keywords
reference position
human body
vector
unit
correction
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
JP2015163916A
Other languages
English (en)
Other versions
JP2017041187A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015163916A priority Critical patent/JP6488946B2/ja
Publication of JP2017041187A publication Critical patent/JP2017041187A/ja
Application granted granted Critical
Publication of JP6488946B2 publication Critical patent/JP6488946B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ユーザの振る舞いによって操作を受け付ける技術に関する。
拡張現実の技術において、スマート端末の姿勢検知機能と撮影機能と表示機能とを用いれば、ユーザが状況に応じたデータを参照しながら、画面タッチによる入力操作を行うことができるようになる。しかし、ユーザの手がふさがっている状態では、スマート端末を保持し操作することはできないので、このようなシステムを適用できない。
一方、例えば3D距離カメラによってユーザの姿勢や環境の状態を検出し、プロジェクタによって画像を投影するシステムの場合には、スマート端末の機能に依存せずに済む。従って、ユーザの手がふさがっている状態でも、適用可能である。
但し、3D距離カメラの計測には誤差が生じるので、ユーザの振る舞いを検知した結果が安定しにくい面がある。
特開2011−159034号公報 特表2013−517051号公報 特開2004−264892号公報
本発明の目的は、一側面では、指差し位置の挙動を安定させることである。
一態様に係る制御方法は、(A)立体的に計測された人体の形状データを取得する処理と、(B)形状データに基づいて、人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する人体の部分の位置を特定する処理と、(C)人体の腕に取り付けられた装置における角速度を取得する処理と、(D)角速度に基づいて、ベクトルを補正する第1補正処理と、(E)現状の基準位置と部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、(F)補正されたベクトルと、基準位置とに基づいて、対象面上の指差し位置を算出する処理とを含む。
一側面としては、指差し位置の挙動が安定する。
図1は、作業現場の例を示す図である。 図2は、作業支援システムの構成例を示す図である。 図3は、ポータブルガジェットのハードウエア構成例を示す図である。 図4は、ポータブルガジェットの内部構造例を示す図である。 図5は、リストデバイスのハードウエア構成例を示す図である。 図6は、スマート端末のハードウエア構成例を示す図である。 図7は、ポインタ位置を決める方法を説明するための図である。 図8は、ポインタをわずかに移動させる様子を示す図である。 図9は、ポインタを大きく移動させる様子を示す図である。 図10は、制御装置のモジュール構成例を示す図である。 図11は、メイン処理フローを示す図である。 図12は、メイン処理フローを示す図である。 図13は、ベクトルフィルタリング処理(A)フローを示す図である。 図14Aは、位置フィルタリング処理(A)における力学モデルを示す図である。 図14Bは、位置フィルタリング処理(A)フローを示す図である。 図15は、位置フィルタリング処理(B)フローを示す図である。 図16は、位置フィルタリング処理(C)フローを示す図である。 図17は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、作業現場の例を示す。図示するように、作業現場である部屋の中にポータブルガジェット101が設置されている。ポータブルガジェット101には、人や周囲の状況を観測するためのセンサ、画像を投影するためのプロジェクタ及び各種の制御を行うための計算機が組み込まれている。
ポータブルガジェット101は、例えば部屋の壁面に作業を促す画像を投影し、その画像に対する作業員の指差し動作を検出して、操作指示として受け付ける。
作業員は、指差しを行う方の腕の手首に、腕時計型のリストデバイス103を装着している。リストデバイス103は、作業員の腕の姿勢や動きを検出する。
また、作業員は、スマート端末105を携帯している。図2に示すように、スマート端末105はリストデバイス103と無線によって通信を行う。更に、スマート端末105はポータブルガジェット101とも無線によって通信を行う。そして、スマート端末105は、リストデバイス103で検出されたモーションデータをポータブルガジェット101に転送する。但し、リストデバイス103からポータブルガジェット101へ直接モーションデータを転送するようにしてもよい。尚、無線方式は、例えば近距離無線方式又は無線LANである。
図1に示すように、部屋の壁にはメーターが設置されている。この例では、メーターが作業員の点検対象である。尚、点検対象の位置及び大きさは、予め特定されているものとする。
ポータブルガジェット101は、壁面にメーターを囲む枠111を投影する。このようにすれば、作業員は点検対象を直感的に把握できる。
更に、ポータブルガジェット101は、メーターの上側に正常ボタン113を投影し、メーターの下側に異常ボタン115を投影する。尚、この例でポータブルガジェット101によって投影された画像の範囲は、斜線パターンで塗りつぶされている。
この状況で、作業員がメーターを目視し点検を行う。そして、おおよそメーターの方向を指差す。すると、ポータブルガジェット101は、作業員の指差し動作を検出し、指差し方向に当たる位置にポインタ117を投影する。
点検結果が正常であると作業員が判断した場合には、作業員は、ポインタ117が正常ボタン113へ向かうように指差す方向をずらす。そして、ポインタ117が一定時間だけ正常ボタン113に留まれば、ポータブルガジェット101において「正常」を受け付けたことを示すイベントが発生する。
点検結果が異常であると作業員が判断した場合には、作業員は、ポインタ117が異常ボタン115へ向かうように指差す方向をずらす。そして、ポインタ117が一定時間だけ異常ボタン115に留まれば、ポータブルガジェット101において「異常」を受け付けたことを示すイベントが発生する。
このようにすれば、より自然な動作でシステムとのインタラクションが実現される。
続いて、機器の構成について説明する。図3に、ポータブルガジェット101のハードウエア構成例を示す。ポータブルガジェット101は、制御装置301、レーザレンジファインダ303、プロジェクタ305、3D距離カメラ307及びサーボモータ309を有している。
制御装置301は、レーザレンジファインダ303、プロジェクタ305、3D距離カメラ307及びサーボモータ309を制御し、作業を支援するための処理を行う。制御装置301は、CPU(Central Processing Unit)311、メモリ313及び無線通信デバイス315を有している。CPU311は、各種の演算処理を行う。メモリ313は、プログラムやデータを記憶する。無線通信デバイス315は、所定の無線方式による通信を制御する。
図4に、ポータブルガジェット101の内部構造例を示す。レーザレンジファインダ303は、レーザ光を用いて付近の物体までの距離を計測する。プロジェクタ305は、各種の画像を投影する。3D距離カメラ307は、作業員の形状や周囲の形状を計測するために用いられる。具体的には、3D距離カメラ307は、形状を小片体の集合であるポイントクラウドとして捉える。サーボモータ309は、レーザレンジファインダ303、プロジェクタ305及び3D距離カメラ307を水平に回転させ、所望の角度にレーザレンジファインダ303、プロジェクタ305及び3D距離カメラ307を向かせる。
図5に、リストデバイス103のハードウエア構成例を示す。リストデバイス103は、マイクロコントローラー501、慣性センサ503及び無線通信デバイス505を有する。マイクロコントローラー501は、演算装置及びメモリを内蔵している。慣性センサ503は、リストデバイス103における速度、加速度、角速度及び角加速度を計測する。この例で、慣性センサ503によって計測されたデータを、モーションデータという。無線通信デバイス505は、所定の無線方式による通信を制御する。
図6に、スマート端末105のハードウエア構成例を示す。スマート端末105は、CPU601、メモリ603及び無線通信デバイス605を有する。CPU601は、各種の演算処理を行う。メモリ603は、プログラムやデータを記憶する。無線通信デバイス605は、所定の無線方式による通信を制御する。
続いて、図7を用いてポインタ位置を決める方法を説明する。まず、3D距離カメラ307によって計測された人体(作業員)の形状から、指差し方向の基準となる位置(以下、基準位置という。)が特定される。この例における基準位置は、右腕の肘に相当する位置である。但し、肩や目を基準位置としてもよい。図7に示した小さい丸は、基準位置に相当する。
また、同じく人体の形状から、指差し方向を示すベクトル(以下、姿勢ベクトルという。)を特定する。この例で、姿勢ベクトルは、一定の大きさであるものとする。図7に示した矢印は、姿勢ベクトルの方向を示している。
そして、基準位置から姿勢ベクトルの方向への延長線が壁面と交叉する点が算出される。この交点がポインタ位置となる。
但し、3D距離カメラ307による計測の誤差が大きい場合もある。計測の誤差が大きいと、ポインタ位置は安定しにくい。つまり、ポインタ位置がぶれやすい。
従来の方法として、ポインタ位置を安定させるために、ローパスフィルタによって基準位置及び姿勢ベクトルを補正することが考えられる。但し、この方法では、応答性が劣化するという問題がある。応答性が劣化する要因は、ローパスフィルタの特性による。
本実施の形態では、基準位置のフィルタリングにおいて、大きな変化のみ追従し、小さな変化には反応しないようにする。また、姿勢ベクトルに対して、リストデバイス103で計測したモーションデータを補完的に用いたフィルタリングを行う。
図8に示すように、ポインタ117を細かく誘導する操作を想定する。作業員は、ポインタ117aが投影されている状態で指先をわずかに上方へ動かす。その動作に従って、移動したポインタ117bが投影される。このような場合には、指先の移動が狭い範囲に留まるので、肘の移動は比較的小さい。従って、基準位置の計測誤差に基づくポインタ位置のぶれを防ぐために、基準位置を変えない方がよい。
仮に、作業員が差しているつもりの場所とポインタ位置とが多少離れていたとしても、現に投影されているポインタ117を誘導する上では支障とならない。むしろ、ポインタ位置が安定していることの方が、操作上重要である。
図9に示すように、ポインタ117の位置を大きく変える操作を想定する。作業員は、ポインタ117aが投影されている状態で指先を大きく上方へ動かす。その動作に従って、移動したポインタ117cが投影される。このような場合には、指先が大きく移動し、それに伴い肘も移動する。この場合には、基準位置も変更しなければ、正しいポインタ位置は求められない。
また、人体の形状から特定される姿勢ベクトルは、比較的誤差が大きい。このことも、細かくポインタ117を誘導しようとする場合の支障となりうる。本実施の形態では、リストデバイス103で計測したモーションデータを用いて姿勢ベクトルを補正するので、姿勢ベクトルの誤差が抑制され、細かな誘導がし易くなる。
続いて、制御装置301の動作について説明する。図10に、制御装置301のモジュール構成例を示す。制御装置301は、初期化部1001、投影処理部1003、第1取得部1005、第1算出部1007、判定部1009、第2取得部1011、特定部1013、第1補正部1015、第2補正部1017、第2算出部1019、環境データ記憶部1031、画像データ記憶部1033、パラメータ記憶部1035、モーションデータ記憶部1037及び人体データ記憶部1039を有している。
初期化部1001は、初期化処理を実行する。投影処理部1003は、各種の画像をプロジェクタ305に投影させる。第1取得部1005は、リストデバイス103の慣性センサ503において計測されたモーションデータを取得する。第1算出部1007は、モーションデータに基づいて腕の傾きを算出する。判定部1009は、ユーザが指差し姿勢をとっているか否かを判定する。
第2取得部1011は、3D距離カメラ307における計測結果に含まれる人体の形状データ(以下、人体データという。)を取得する。特定部1013は、人体データに基づいて基準位置(この例では、肘の位置)及び姿勢ベクトルを特定する。第1補正部1015は、ベクトルフィルタリング処理を実行する。第2補正部1017は、位置フィルタリング処理を実行する。第2算出部1019は、ポインタ位置を算出する。
環境データ記憶部1031は、部屋の壁面や装置の形状データを記憶している。画像データ記憶部1033は、枠111、正常ボタン113及び異常ボタン115などの画像データを記憶している。パラメータ記憶部1035は、各種のパラメータを記憶する。モーションデータ記憶部1037は、モーションデータを記憶する。人体データ記憶部1039は、人体データを記憶する。
上述した初期化部1001、投影処理部1003、第1取得部1005、第1算出部1007、判定部1009、第2取得部1011、特定部1013、第1補正部1015、第2補正部1017及び第2算出部1019は、ハードウエア資源(例えば、図3又は図17)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した環境データ記憶部1031、画像データ記憶部1033、パラメータ記憶部1035、モーションデータ記憶部1037及び人体データ記憶部1039は、ハードウエア資源(例えば、図3又は図17)を用いて実現される。
図11に、メイン処理フローを示す。初期化部1001は、初期化処理を実行する(S1101)。初期化処理において、初期化部1001は、レーザレンジファインダ303によって計測した周囲の壁面や装置の形状と、環境データ記憶部1031に記憶されている部屋の壁面や装置の形状とを比較して、部屋内におけるポータブルガジェット101の位置を特定する。つまり、レーザレンジファインダ303は、作業現場において自らが置かれた位置を同定する。
そして、初期化部1001は、部屋内の絶対位置の基準となる絶対座標系とポータブルガジェット101における計測及び投影の基準となる相対座標系との変換パラメータを算出する。また、初期化部1001は、ベクトルフィルタリング処理に用いる各種パラメータ及び位置フィルタリング処理に用いる各種パラメータに初期値を設定する。
投影処理部1003は、枠111、正常ボタン113及び異常ボタン115の絶対的位置を相対座標系における位置に変換し、変換した位置に枠111、正常ボタン113及び異常ボタン115を投影する(S1103)。投影処理部1003は、壁面までの距離及び向きに応じて、枠111、正常ボタン113及び異常ボタン115の画像を変形した上で、投影するようにしてもよい。
第1取得部1005は、リストデバイス103の慣性センサ503において計測されたモーションデータを取得する(S1105)。この例では、第1取得部1005は、スマート端末105を介してモーションデータを受信する。但し、第1取得部1005は、リストデバイス103から直接モーションデータを受信するようにしてもよい。 第1算出部1007は、モーションデータに基づいて腕の傾きを算出する(S1107)。この例における腕の傾きは、作業員が指差しを行う方の腕における手首の傾きに相当する。また、腕の傾きを算出する方法は、装置の姿勢を求める従来技術を適用するようにしてもよい。
判定部1009は、腕の傾きに基づいて、人体の形状が指差し姿勢に該当するか否かを判定する(S1109)。具体的には、判定部1009は、腕の傾きが水平に近い場合に、人体の形状が指差し姿勢に該当すると判定する。
指差し姿勢に該当しないと判定した場合には、S1105に示した処理に戻って上述した処理を繰り返す。
一方、指差し姿勢に該当すると判定した場合には、第2取得部1011は、3D距離カメラ307における計測結果に含まれる人体データを取得する(S1111)。取得した人体データは、人体データ記憶部1039に記憶される。
特定部1013は、人体データに基づいて一次基準位置を特定する(S1113)。この例における基準位置は、作業員が指差しを行う方の肘の位置である。この例では、人体データから特定された基準位置を一次基準位置といい、位置フィルタリング処理によって補正された基準位置を二次基準位置という。
特定部1013は、人体データに基づいて、姿勢ベクトルを特定する(S1115)。この例における姿勢ベクトルは、作業員が指差しを行う方の肘から指先へ向かう、一定の大きさのベクトルである。この例では、人体データから特定された姿勢ベクトルを一次姿勢ベクトルといい、ベクトルフィルタリング処理によって補正された姿勢ベクトルを二次姿勢ベクトルという。そして、端子Aを介して、図12に示したS1201の処理に移る。
図12の説明に移る。第1取得部1005は、上述した通り、モーションデータを取得する(S1201)。第1算出部1007は、上述した通り、腕の傾きを算出する(S1203)。判定部1009は、上述した通り、人体の形状が指差し姿勢に該当するか否かを判定する(S1205)。
指差し姿勢に該当しないと判定した場合には、端子Bを介して、図11に示したS1105の処理に戻って上述した処理を繰り返す。
一方、指差し姿勢に該当すると判定した場合には、第2取得部1011は、上述した通り、人体データを取得する(S1207)。特定部1013は、上述した通り、一次基準位置を特定する(S1209)。特定部1013は、上述した通り、一次姿勢ベクトルを特定する(S1211)。
第1補正部1015は、ベクトルフィルタリング処理を実行する(S1213)。ベクトルフィルタリング処理については、図13を用いて後述する。ベクトルフィルタリング処理では、一次姿勢ベクトルを補正した二次姿勢ベクトルが求められる。
第2補正部1017は、位置フィルタリング処理を実行する(S1215)。位置フィルタリング処理については、図14A及び図14Bを用いて後述する。位置フィルタリング処理では、一次基準位置を補正した二次基準位置が求められる。
第2算出部1019は、二次基準位置と二次姿勢ベクトルとに基づいて、ポインタ位置を算出する(S1217)。この例では、ポインタ位置は、二次基準位置から二次姿勢ベクトルの方向への延長線が壁面と交わる点の位置である。
投影処理部1003は、壁面上のポインタ位置にポインタ117を投影する(S1219)。そして、S1201に示した処理に戻って上述した処理を繰り返す。
図13に、ベクトルフィルタリング処理フローを示す。本実施の形態では、粒子フィルタによるフィルタリング(以下、パーティクルフィルタリングという。)を行う。パーティクルフィルタリングでは、3次元空間に多数のパーティクルを配置し、状態方程式に従って更新したパーティクルに対する評価を行なう。つまり、パーティクルは、姿勢ベクトルと同じ大きさのサンプルベクトルに相当する。
まず、パーティクルフィルタリングにおける初期化に相当する処理を行う。第1補正部1015は、図12のS1201乃至S1219に示した一連のループ処理としてベクトルフィルタリング処理が初めて実行されたか否かを判定する(S1301)。
ベクトルフィルタリング処理が初めて実行されたと判定した場合には、第1補正部1015は、3次元空間にパーティクルを配置する(S1303)。例えば、初期の一次姿勢ベクトルに近似するパーティクルの密度が高くなるようにする。つまり、一次姿勢ベクトルとなす角が小さいパーティクルの割合が多くなるように配置を行う。但し、均一の密度でパーティクルを配置するようにしてもよい。
次に、パーティクルフィルタリングにおける予測に相当する処理を行う。第1補正部1015は、状態方程式「p←p+Δt(ω×p)+w」に従って、各パーティクルを更新する(S1305)。pは、パーティクルを示す。ωは、モーションデータに含まれる角速度を示す。Δtは、サンプリング間隔を示す。wは各パーティクルの表現する姿勢ベクトルをランダムにずらすノイズ項を示す。
次に、パーティクルフィルタリングにおける評価に相当する処理を行う。第1補正部1015は、図12のS1211に示した処理で特定した一次姿勢ベクトルqを観測値として、各パーティクルの評価値を算出する(S1307)。評価は、「E=exp(−θ2/2σ2)」の式に従って行う。Eは、評価値を示す。θは、一次姿勢ベクトルqとパーティクルpとのなす角を示す。σは、実験に基づいて決定される定数である。
次に、パーティクルフィルタリングにおけるリサンプリングに相当する処理を行う。第1補正部1015は、パーティクルの評価値に応じて次のパーティクルを配置する(S1309)。具体的には、第1補正部1015は、評価値が大きいパーティクル付近において次のパーティクルの密度が高くなり、評価値が小さいパーティクル付近において次のパーティクルの密度が低くなるようにする。
最後に、第1補正部1015は、リサンプリングされたパーティクルの平均を求め、当該平均を二次姿勢ベクトルに設定する(S1311)。そして、呼び出し元のメイン処理に復帰する。
S1301に示した処理の説明に戻って、ベクトルフィルタリング処理の実行が2回目以降であると判定した場合には、S1305に示した処理に移って上述した処理を行う。
次に、位置フィルタリング処理について説明する。本実施の形態では、位置フィルタリング処理(A)を行う。位置フィルタリング処理(A)は、図14Aに示した力学モデルに従う。位置xに示した矩形は、物体Xを表す。位置yに示した矩形は、物体Yを表す。2つの物体は、ばねを介して連結している。物体Yが段階的に位置を変え、物体Xが物体Yを追従する動きを想定する。
2つの物体の距離が小さい場合には、ばねによる引力Fsは小さい。引力Fsの大きさが摩擦力Ffの大きさと等しければ、物体Xは移動しない。
一方、2つの物体の距離が大きい場合には、ばねによる引力Fsは大きい。引力Fsの大きさが摩擦力Ffの大きさを超えれば、物体Xは移動する。そして、物体Xが物体Yに近づくと、引力Fsは小さくなり、物体Xは停止する。
本実施の形態における一次基準位置をこの力学モデルにおける位置yに見立て、同じく二次基準位置をこの力学モデルにおける位置xに見立てる。そして、物体Xが移動する場合には、移動後の位置xを新たな二次基準位置とする。物体Xが移動しない場合には、二次基準位置は変わらないものとする。このようにすれば、一次基準位置と二次基準位置との距離が大きいときだけ、二次基準位置が一次基準位置に近づくようになる。また、二次基準位置の挙動が滑らかになる。
図14Bに、位置フィルタリング処理(A)フローを示す。第2補正部1017は、今回の一次基準位置yと前回の二次基準位置xとに基づいて、第1状態量aを算出する(S1401)。第1状態量aは、力学モデルにおける物体Xの加速度に相当する。
具体的には、3つのステップによって第1状態量aの算出を行う。第2補正部1017は、まず式「Fs=−k(x−y)」に従って、引力Fsに相当する値を求める。kは、実験に基づいて決定される定数である。
次に、第2補正部1017は、摩擦力Ffを求める。「Fs≦Fmax」であれば、式「Ff=−Fs」に従って、摩擦力Ffが求められる。Fmaxは、実験に基づいて決定される定数である。一方、「Fs>Fmax」であれば、式「Ff=−Fd」に従って、摩擦力Ffが求められる。Fdは、実験に基づいて決定される定数である。また、力学モデルにおける物体Xの速度に相当する状態量vが0ではない場合には、式「Ff=−Fd」に従って、摩擦力Ffが求められるものとする。
そして、第2補正部1017は、式「a←(Fs−Ff)/m」に従って、第1状態量aを求める。mは、実験に基づいて決定される定数である。
第1状態量aを求めると、第2補正部1017は、第1状態量aとサンプリング間隔Δtとに基づいて、第2状態量vを更新する(S1403)。具体的には、式「v←v+a×Δt」に従って、今回の第2状態量vが求められる。
今回の第2状態量vを求めると、第2補正部1017は、今回の第2状態量vとサンプリング間隔Δtとに基づいて、二次基準位置xを更新する(S1405)。具体的には、式「x←x+v×Δt」に従って、今回の二次基準位置xが求められる。そして、呼び出し元のメイン処理に復帰する。
本実施の形態によれば、指差し位置の挙動が安定する。
また、粒子フィルタを用いるので、ローパスフィルタを用いる場合に比べて応答性が良いという面もある。
また、上記力学モデルによれば、指差し位置の移動が滑らかになる。
[実施の形態2]
本実施の形態では、別の方式による位置フィルタリング処理について説明する。具体的には、前回の二次基準位置xが今回の一次基準位置yと一定の距離以上離れた場合に、二次基準位置xを今回の一次基準位置yに改める。
図15に、位置フィルタリング処理(B)フローを示す。第2補正部1017は、今回の一次基準位置yと前回の二次基準位置xとの距離Dを算出する(S1501)。第2補正部1017は、距離Dが閾値を超えるか否かを判定する(S1503)。距離Dが閾値を超えると判定した場合には、第2補正部1017は、今回の一次基準位置yを二次基準位置xに設定する(S1505)。
一方、距離Dが閾値を超えないと判定した場合には、二次基準位置xは更新されない。
そして、位置フィルタリング処理(B)を終えると、呼び出し元のメイン処理に復帰する。
本実施の形態によれば、構成が単純であり、実装しやすい。また、反応が早いという面もある。
[実施の形態3]
本実施の形態では、更に別の方式による位置フィルタリング処理について説明する。具体的には、前回の二次基準位置xが今回の一次基準位置yと一定の距離以上離れた場合に、二次基準位置xを、一定の制限の下で今回の一次基準位置yの方向に近づける。具体的には、移動する距離に最大値に相当する制限を設ける。
図16に、位置フィルタリング処理(C)フローを示す。第2補正部1017は、今回の一次基準位置yと前回の二次基準位置xとの距離Dを算出する(S1601)。第2補正部1017は、距離Dが制限値を超えるか否かを判定する(S1603)。距離Dが制限値を超えないと判定した場合には、第2補正部1017は、今回の一次基準位置yを二次基準位置xに設定する(S1605)。
一方、距離Dが制限値を超えると判定した場合には、第2補正部1017は、二次基準位置xを制限値だけ今回の一次基準位置yの方向へ近づける(S1607)。具体的には、第2補正部1017は、前回の二次基準位置xを起点とし今回の一次基準位置yを終点とするベクトルについて、その大きさを制限値に改める。そして、第2補正部1017は、改められたベクトルを前回の二次基準位置xに加えることによって、新たな二次基準位置xを求める。
そして、位置フィルタリング処理(C)を終えると、呼び出し元のメイン処理に復帰する。
本実施の形態によれば、比較的構成が単純であり、実装しやすい。また、或る程度動きが滑らかになるという面もある。
[実施の形態4]
本実施の形態では、別の方式によるベクトルフィルタリング処理について説明する。具体的には、相補フィルタによるフィルタリングを行う。
第1補正部1015は、式「r←α{r+Δt(ω×r)}+(1−α)q」に従って、二次姿勢ベクトルrを更新する。αは、実験に基づいて決定される定数(例えば、0.96)である。Δtは、サンプリング間隔を示す。ωは、モーションデータに含まれる角速度を示す。
本実施の形態によれば、ローパスフィルタを用いる場合に比べて応答性が良い。
尚、実施の形態1乃至3に示した位置フィルタリング処理と、実施の形態4に示したベクトルフィルタリング処理を組み合わせるようにしてもよい。つまり、上述した各位置フィルタリング処理と各ベクトルフィルタリング処理との組み合わせは、任意である。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた制御装置301及びスマート端末105は、コンピュータ装置であって、図17に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る制御方法は、(A)立体的に計測された人体の形状データを取得する処理と、(B)形状データに基づいて、人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する人体の部分の位置を特定する処理と、(C)人体の腕に取り付けられた装置における角速度を取得する処理と、(D)角速度に基づいて、ベクトルを補正する第1補正処理と、(E)現状の基準位置と部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、(F)補正されたベクトルと、基準位置とに基づいて、対象面上の指差し位置を算出する処理とを含む。
このようにすれば、指差し位置の挙動が安定する。
更に、上記第1補正処理において、粒子フィルタを用いるようにしてもよい。
このようにすれば、ローパスフィルタを用いる場合に比べて応答性が良い。
上記第2補正処理において、2つの物体間に張られたばねによる引力と物体の摩擦力との合力による物体の移動モデルに、現状の基準位置と上記部分の位置とを適用するようにしてもよい。
このようにすれば、指差し位置の移動が滑らかになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
立体的に計測された人体の形状データを取得する処理と、
前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する処理と、
前記人体の腕に取り付けられた装置における角速度を取得する処理と、
前記角速度に基づいて、前記ベクトルを補正する第1補正処理と、
現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、
補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する処理と
を含み、コンピュータにより実行される制御方法。
(付記2)
前記第1補正処理において、粒子フィルタを用いる
付記1記載の制御方法。
(付記3)
前記第2補正処理において、2つの物体間に張られたばねによる引力と物体の摩擦力との合力による物体の移動モデルに、前記現状の基準位置と前記部分の位置とを適用する
付記1乃至2記載の制御方法。
(付記4)
立体的に計測された人体の形状データを取得する処理と、
前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する処理と、
前記人体の腕に取り付けられた装置における角速度を取得する処理と、
前記角速度に基づいて、前記ベクトルを補正する第1補正処理と、
現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、
補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する処理と
をコンピュータに実行させるプログラム。
(付記5)
立体的に計測された人体の形状データを取得する第1取得部と、
前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する特定部と、
前記人体の腕に取り付けられた装置における角速度を取得する第2取得部と、
前記角速度に基づいて、前記ベクトルを補正する第1補正部と、
現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正部と、
補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する算出部と
を有する制御装置。
101 ポータブルガジェット 103 リストデバイス
105 スマート端末 111 枠
113 正常ボタン 115 異常ボタン
117 ポインタ 301 制御装置
303 レーザレンジファインダ 305 プロジェクタ
307 3D距離カメラ 309 サーボモータ
311 CPU 313 メモリ
315 無線通信デバイス 501 マイクロコントローラー
503 慣性センサ 505 無線通信デバイス
601 CPU 603 メモリ
605 無線通信デバイス 1001 初期化部
1003 投影処理部 1005 第1取得部
1007 第1算出部 1009 判定部
1011 第2取得部 1013 特定部
1015 第1補正部 1017 第2補正部
1019 第2算出部 1031 環境データ記憶部
1033 画像データ記憶部 1035 パラメータ記憶部
1037 モーションデータ記憶部 1039 人体データ記憶部

Claims (4)

  1. 立体的に計測された人体の形状データを取得する処理と、
    前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する処理と、
    前記人体の腕に取り付けられた装置における角速度を取得する処理と、
    前記角速度に基づいて、前記ベクトルを補正する第1補正処理と、
    現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、
    補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する処理と
    を含み、コンピュータにより実行される制御方法。
  2. 前記第2補正処理において、2つの物体間に張られたばねによる引力と物体の摩擦力との合力による物体の移動モデルに、前記現状の基準位置と前記部分の位置とを適用する
    請求項1記載の制御方法。
  3. 立体的に計測された人体の形状データを取得する処理と、
    前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する処理と、
    前記人体の腕に取り付けられた装置における角速度を取得する処理と、
    前記角速度に基づいて、前記ベクトルを補正する第1補正処理と、
    現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正処理と、
    補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する処理と
    をコンピュータに実行させるプログラム。
  4. 立体的に計測された人体の形状データを取得する第1取得部と、
    前記形状データに基づいて、前記人体が指差す方向を示すベクトルと、当該方向の基準となる位置に相当する前記人体の部分の位置を特定する特定部と、
    前記人体の腕に取り付けられた装置における角速度を取得する第2取得部と、
    前記角速度に基づいて、前記ベクトルを補正する第1補正部と、
    現状の基準位置と前記部分の位置との隔たりが小さい場合に、当該現状の基準位置を変えず、当該隔たりが大きい場合に、前記部分の位置に近づくように又は一致するように新たな基準位置に改める第2補正部と、
    補正された前記ベクトルと、前記基準位置とに基づいて、対象面上の指差し位置を算出する算出部と
    を有する制御装置。
JP2015163916A 2015-08-21 2015-08-21 制御方法、プログラム及び制御装置 Active JP6488946B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015163916A JP6488946B2 (ja) 2015-08-21 2015-08-21 制御方法、プログラム及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015163916A JP6488946B2 (ja) 2015-08-21 2015-08-21 制御方法、プログラム及び制御装置

Publications (2)

Publication Number Publication Date
JP2017041187A JP2017041187A (ja) 2017-02-23
JP6488946B2 true JP6488946B2 (ja) 2019-03-27

Family

ID=58203488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015163916A Active JP6488946B2 (ja) 2015-08-21 2015-08-21 制御方法、プログラム及び制御装置

Country Status (1)

Country Link
JP (1) JP6488946B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4099275A4 (en) * 2020-01-29 2023-07-05 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING METHOD

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265222A (ja) * 2003-03-03 2004-09-24 Nippon Telegr & Teleph Corp <Ntt> インタフェース方法、装置、およびプログラム
JP5120754B2 (ja) * 2008-03-28 2013-01-16 株式会社国際電気通信基礎技術研究所 動作検出装置
TW201510771A (zh) * 2013-09-05 2015-03-16 Utechzone Co Ltd 指向位置偵測裝置及其方法、程式及電腦可讀取紀錄媒體

Also Published As

Publication number Publication date
JP2017041187A (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
US10674142B2 (en) Optimized object scanning using sensor fusion
US20210112181A1 (en) Image processing device, image processing method, and recording medium
US8933882B2 (en) User centric interface for interaction with visual display that recognizes user intentions
US10540006B2 (en) Tracking torso orientation to generate inputs for computer systems
JP5936155B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
JP6586824B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5472056B2 (ja) 表示システム、表示処理装置、表示方法、および表示プログラム
JP2017505933A (ja) 実在の物体上に固定された仮想画像を生成する方法及びシステム
JP2019041261A (ja) 画像処理システムおよび画像処理システムの設定方法
WO2016199736A1 (ja) 仮想空間位置指定方法、プログラム、プログラムを記録した記録媒体、および、装置
EP3021206A1 (en) Method and device for refocusing multiple depth intervals, and electronic device
WO2020157955A1 (ja) 仮想オブジェクト表示装置及び仮想オブジェクト表示方法
WO2017021902A1 (en) System and method for gesture based measurement of virtual reality space
WO2020195875A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20150339859A1 (en) Apparatus and method for navigating through volume image
JP2009258884A (ja) ユーザインタフェイス
JP6488946B2 (ja) 制御方法、プログラム及び制御装置
JP6975001B2 (ja) 傾き測定装置及び傾き測定方法
JP6818968B2 (ja) オーサリング装置、オーサリング方法、及びオーサリングプログラム
JP6800599B2 (ja) 情報処理装置、方法及びプログラム
JP7207915B2 (ja) 投影システム、投影方法及びプログラム
JP2018128739A (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及び記憶媒体
JP6701438B1 (ja) 合成画像生成システム及び初期条件リセットシステム
JP2016139396A (ja) ユーザーインターフェイス装置、方法およびプログラム
US20220192487A1 (en) Method and system for determining dominant eye, and non-transitory computer-readable recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R150 Certificate of patent or registration of utility model

Ref document number: 6488946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150