(57)【要約】【課題】ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定するユーザインタフェイスを提供する。を実現する。【解決手段】ユーザインタフェイス１０は、ユーザの頭部に装着されるカメラ１２と、記憶装置１８と、カメラの位置と姿勢を特定する３Ｄセンサと、画像処理装置１６を備える。記憶装置１８は、周囲の物体の３次元配置をモデル化した環境モデル２２と、カメラからユーザの目までのベクトルＶと、ユーザの手に予め定められている指標点とカメラの間の距離Ｌを記憶している。画像処理装置１６は、画像上の指標点の位置を算出する指標点算出処理と、算出された位置とベクトルＶと距離Ｌから、ユーザの目から指標点へ伸びる指示ベクトルを算出する指示ベクトル算出処理と、指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する対象物特定処理とを実行する。【選択図】図１
2009258884.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの頭部に装着されてユーザの前方を撮影するカメラと、
カメラの周囲の物体の３次元配置を記述した環境モデルと、頭部に装着されたカメラの焦点からユーザのいずれか一方の目までのベクトルＶと、手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Ｌを記憶している記憶装置と、
環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定するセンサと、
前記カメラによって撮影された画像を処理する画像処理装置と、
を備えており、前記画像処理装置が、
画像上での前記指標点の位置を算出する指標点算出処理と、
算出された位置とベクトルＶと距離Ｌから、ユーザの目から前記指標点へ伸びる指示ベクトルを算出する指示ベクトル算出処理と、
算出された指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する対象物特定処理と、
を実行することを特徴とするユーザインタフェイス。
【請求項２】
記憶装置は、画像上の指標点の位置に応じて異なる距離Ｌを記憶しており、指示ベクトル算出手段は、画像上での指標点の位置に応じた距離Ｌを用いて指示ベクトルを算出することを特徴とする請求項１に記載のユーザインタフェイス。
【請求項３】
前記ベクトルＶは、頭部に装着されたカメラの焦点からユーザの利き目までのベクトルであることを特徴とする請求項１又は２に記載のユーザインタフェイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの頭部に装着されたカメラと画像処理装置によって、ユーザが指し示す物体を特定するユーザインタフェイスに関する。
【背景技術】
【０００２】
キーボードやマウスに代わるユーザインタフェイスが研究されている。そのひとつとして、カメラで撮影した画像からユーザが指し示した物体を特定する画像入力装置（ユーザインタフェイス）が特許文献１に開示されている。この装置は、ユーザの目へ入射する光を反射するハーフミラーをユーザの眼前に配置し、このハーフミラーによって反射された映像をカメラで撮影する。ハーフミラーで反射された映像を撮影することによって、カメラの光軸はユーザの目の光軸に一致する。即ち、撮影された画像はユーザの視点から見た画像となる。別言すれば、撮影された画像上では、ユーザの視線ベクトルは画像上の一点として現れる。特許文献１の装置は、この原理を利用する。即ち、この装置は、カメラで撮影した画像上でユーザの指先を特定し、画像上でユーザの指先に近い物体をユーザが指し示している物体として特定する。
【０００３】
【特許文献１】特開２０００−１４８３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１のユーザインタフェイスは、ユーザの眼前にハーフミラーを配置することで、ユーザの視線ベクトルが一点として現れる画像を取得する。これによって、ユーザが指し示している物体を画像上で特定し易くしている。しかしながらこの装置は、ユーザの眼前にハーフミラーが位置するために、ユーザにとって煩わしい。ハーフミラーを用いずに、ユーザの頭部に装着されたカメラでユーザの前方を直接撮影すると、カメラの光軸とユーザの目の光軸が一致しないため、画像からユーザの指し示す方向を特定することができない。
本発明は、上記課題に鑑みて創作された。本発明の目的は、ハーフミラーを用いることなく、ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定することのできるユーザインタフェイスを提供することにある。
【課題を解決するための手段】
【０００５】
前述したように、ユーザの頭部に装着されたカメラでユーザの前方を直接撮影すると、カメラの光軸とユーザの目の光軸が一致しないため、画像からユーザの指し示す方向を特定することができない。そこで本発明は、カメラの光軸とユーザの目の光軸のずれを補正する補正用データを予め記憶しておく。さらに、本発明は、周囲の物体の３次元配置をモデル化した環境モデルを記憶しておく。前記の補正用データによって、画像からユーザが指し示す方向を特定し、環境モデルからその方向に存在する物体を特定する。本発明は、光軸のずれを補正するデータと環境モデルを予め記憶しておくことによって、ハーフミラーを用いることなく、ユーザが指し示す方向に存在する物体を特定することに成功した。
【０００６】
本発明のユーザインタフェイスは、ユーザの頭部に装着されてユーザの前方を撮影するカメラと、記憶装置と、センサと、画像処置装置を備える。記憶装置は、カメラの周囲の物体の３次元配置を記述した環境モデルと、頭部に装着されたカメラの焦点からユーザのいずれか一方の目の焦点までのベクトルＶと、ユーザが手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Ｌを予め記憶している。ベクトルＶと距離Ｌが、前述した補正用データに相当する。
【０００７】
環境モデルによって、カメラの周囲（即ちユーザの周囲）の空間をコンピュータ内に仮想的に構築することができる。環境モデルによってコンピュータ内に構築される空間は仮想空間と呼ばれている。
ベクトルＶは、カメラ固定の座標系における、頭部に装着されたカメラの焦点からユーザのいずれか一方の目の焦点までのベクトルである。カメラの装着位置は予め定めることができるので、ベクトルＶも予め定めることができる。ベクトルＶは、頭部に装着されたカメラの焦点からユーザの利き目の焦点へのベクトルであることが好ましい。
ユーザの手に予め定められている指標点は、典型的には指先でよい。或いは、ユーザが手にする指示棒であってもよい。指標点は、画像処理によって認識しやすい点であればよい。手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Ｌは、ユーザが指し示す方向によらず概ね一定である。従って、距離Ｌは予め定めることができる。
【０００８】
センサは、環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定する。環境モデルは現実の空間を模しているので、仮想空間におけるカメラの位置と姿勢は、現実の空間におけるカメラの位置と姿勢と等価である。センサは、ジャイロや磁気センサを組み合わせたいわゆるモーションセンサを採用してよい。あるいはセンサは、位置と姿勢が既知のマーカを現実の空間に配置するとともに環境モデルに定義しておき、カメラの画像で捉えたマーカの位置を仮想空間でマッチングする手法を採用してよい。後者の場合、頭部の装着するカメラと画像処理装置をセンサとして併用することができる。カメラの位置と姿勢を特定するセンサは、３次元センサ（略して３Ｄセンサ）と換言することができる。
【０００９】
画像処理装置は、指標点算出処理と指示ベクトル算出処理と対象物特定処理を実行する。指標点算出処理は、画像上での指標点の位置を算出する。指標点がユーザの指先に設定している場合、指標点算出処理は、既知の指の形状や色に基づいて、画像から指標点の位置を特定することができる。既知の指の形状や色に基づいて画像から指を特定する処理は、既知の画像処理技術を採用すればよい。指示ベクトル算出処理は、算出された指標点の位置とベクトルＶと距離Ｌから、ユーザの目から指標点へ伸びる指示ベクトルを算出する。算出方法の概要は次の通りである。カメラの焦点と撮像面の距離はカメラの焦点距離で表される。従って、画像の中心を原点とする指標点の２次元座標をｘとｙで表すと、これにｚ座標として焦点距離を加えた３次元ベクトル（ｘ、ｙ、ｚ）が、カメラの焦点から指標点に向かって伸びるベクトルを表す。このベクトルを、その大きさを前述の距離Ｌに変換したベクトルが、カメラの焦点から指標点までの３次元ベクトルを表す。この３次元ベクトルをカメラ原点の指示ベクトルと称する。カメラの焦点からユーザの目までの３次元ベクトルＶとカメラ原点の指示ベクトルから、ユーザの目の焦点から指標点へ伸びる指示ベクトルを求めることができる。指示ベクトルは、カメラ座標系で表されている。指示ベクトルの具体的な算出方法については実施例で説明する。
【００１０】
３Ｄセンサによって仮想空間におけるカメラの位置と姿勢が特定されているので、カメラ座標系から仮想空間の座標系への座標変換行列を求めることができる。この座標変換行列を用いることによって、カメラ座標系で表された指示ベクトルを仮想空間に写像することができる。対象物特定処理は、カメラ座標系の指示ベクトルを仮想空間に写像して、仮想空間において指示ベクトルの延長方向に位置する物体を特定する。対象物特定処理が特定した物体が、ユーザが指し示している物体である。
本発明のユーザインタフェイスによる物体の特定は、物体そのものの特定でもよく、或いは、物体における指し示された位置の特定でもよい。
【００１１】
以上のとおり、本発明に係るユーザインタフェイスは、ハーフミラーを用いることなく、即ち、ユーザに煩わしさを感じさせることなく、ユーザが指し示している物体を特定することができる。
【００１２】
上記のユーザインタフェイスは、手を伸ばしたときのユーザの手に予め定められている指標点と頭部に装着されたカメラの焦点の間の距離Ｌが、ユーザが指し示す方向によらず概ね一定であるという知見に基づいている。より正確に指示ベクトルを特定するために、記憶装置は、画像上の指標点の位置に応じて異なる距離Ｌを記憶していることが好ましい。例えば、距離Ｌは、画像を分割した各領域ごとにテーブル化されていてよい。あるいは所定の近似式によって、画像上の指標点の位置の関数として与えられてもよい。指示ベクトル算出手段は、画像上での指標点の位置に応じた距離Ｌを用いて指示ベクトルを算出するとよい。そうすることで、指示ベクトルを一層正確に求めることができる。即ち、ユーザが指し示している物体を正確に特定することができる。
【発明の効果】
【００１３】
本発明によれば、ユーザの眼前にハーフミラーを配置することなく、即ちユーザを煩わせることなく、ユーザの頭部に装着されたカメラの画像からユーザの指し示す物体を特定することのできるユーザインタフェイスを実現することができる。
【実施例】
【００１４】
図面を参照して、本発明に好適なユーザインタフェイスを説明する。本実施例のユーザインタフェイスは、ユーザが指し示した先に存在する物体を特定して出力することができる。図１に、実施例のユーザインタフェイス１０の模式図を示す。ユーザインタフェイス１０は、カメラ１２とコントローラ１４から構成される。カメラ１２は、例えばヘアバンドなどを利用してユーザＵの頭部に装着することができる。カメラ１２は、眼鏡のフレームに固定されていてもよい。コントローラ１４には、画像処理装置１６と記憶装置１８が組み込まれている。
図１の主な英字記号を説明する。Ｕは、カメラ１２を装着したユーザを表す。ＵＨは、ユーザの手を表す。Ｆは、ユーザの指先を表す。Ｓは、カメラ１２の投影面を表す。Ｓａは、撮影された画像を表す。ＵＨａとＦａは夫々、画像Ｓａ上のユーザの手ＵＨと指先Ｆを表している。後述するように、ユーザインタフェイス１０は、カメラ画像Ｓａにおけるユーザの指先Ｆａを画像処理によって認識する。画像処理装置１６には、指の形や色に基づいて、画像から指先を認識する画像処理が実装されている。即ち、ユーザＵの指先が、予め定められた指標点に相当する。以下では、ユーザＵの指先Ｆ（及び画像上での指先Ｆａ）を指標点Ｆ（あるいは指標点Ｆａ）と称する。
Ｂ１とＢ２は、カメラ１２の周囲に存在する物体を表す。物体Ｂ１とＢ２の形状と位置は、後述する環境モデル２２に記述されている。即ち、画像処理装置１６は、環境モデルに２２基づいて、現実の物体Ｂ１とＢ２の位置と形状を模した仮想空間を構築することができる。
【００１５】
ＯＧは、絶対座標系の原点を表す。ＸＧ、ＺＧは、絶対座標系を表す。なお、図示を省略しているが、絶対座標系のＹ軸は、紙面上方に伸びている。ＸＣ、ＹＣ、ＺＣは、カメラ固定の座標系を表す。カメラ固定の座標系の原点は、カメラ１２の焦点ＯＣに設定されている。
英字Ｖは、ベクトルを表す。ＶＥは、頭部に装着されたカメラ１２の焦点ＯＣからユーザＵの利き目の焦点Ｅまでのベクトルを表す。ベクトルＶＥは、カメラ固定の座標系で表わされている。カメラ１２の装着位置は既知であるので、ベクトルＶＥも既知である。
ベクトルＶＴは、ユーザＵの利き目の焦点Ｅから指標点Ｆ（ユーザの指先）へのベクトルを表す。ベクトルＶＴは、ユーザＵが意図する物体を指し示す方向を表しているので、「指示ベクトルＶＴ」と換言する場合がある。
ベクトルＶＦは、カメラ１２の焦点ＯＣから指標点Ｆへのベクトルを表す。ベクトルＶＦａは、カメラの１２の焦点ＯＣから、ベクトルＶＦと投影面Ｓとの交点のまでのベクトルを表す。ベクトルＶＦと投影面Ｓとの交点は、画像Ｓａ上での指標点Ｆａに対応する。画像Ｓａ上での指標点Ｆａの座標を（ｘａ、ｙａ）で表し、カメラ１２の焦点ＯＣ（カメラ座標系の原点）から投影面Ｓまでの距離（即ち、焦点距離）をｚａで表すと、ベクトルＶＦａ＝（ｘａ、ｙａ、ｚａ）で表される。即ち、画像上での指標点Ｆａの位置が特定できれば、ベクトルＶＦａを特定することができる。ベクトルＶＴ、ＶＦ、及びＶＦａも、カメラ固定の座標系におけるベクトルである。
Ｒは、カメラ固定座標系から絶対座標系への座標変換行列である。行列Ｒは、２つの座標系間の原点の移動と回転を含んでいる。そのような座標変換行列は同次変換行列と呼ばれることがあり、ロボットの技術分野でよく使われている。カメラ座標系で表現された指示ベクトルＶＴの絶対座標系への変換は、ＶＴＧ＝Ｒ・ＶＴで表すことができる。ここで添え字Ｇは、絶対座標系におけるベクトルであることを意味する。
その他の英字記号については後述する。
【００１６】
記憶装置１８が記憶しているデータについて説明する。記憶装置１８は、補正用データ２０と環境モデル２２を記憶している。補正用データ２０には、ベクトルＶＥと距離Ｌが含まれる。ベクトルＶＥは、前述したとおり、カメラ座標系におけるカメラ焦点ＯＣからユーザＵの利き目の焦点Ｅまでのベクトルである。距離Ｌは、ユーザが手を伸ばしたときのカメラ焦点ＯＣと指標点Ｆ（ユーザの指先）の間の距離である。一般に、ユーザが自然に手を伸ばした状態では頭部から指先までの距離は概ね一定である。ベクトルＶＥと距離Ｌは、ユーザ毎に予め測定し、記憶装置１８に記憶されている。
環境モデル２２は、ユーザの周囲、即ち、カメラ１２の使用領域に存在する物体の位置と形状を数値化したデータである。環境モデルは一般に、絶対座標系で物体の位置と形状を表現している。環境モデル２２は、実空間に存在する物体の位置と形状を絶対座標系で記述した幾何学データと換言してよい。図１の例では、物体Ｂ１とＢ２の位置と形状のデータが環境モデルに記述されている。環境モデル２２には、床や壁が含まれていてもよい。環境モデル２２によってコンピュータ（画像処理装置１６）内に仮想空間が構築される。
【００１７】
図１に示す記号Ｍは、実空間に置かれたマーカを示している。マーカＭは、画像処理によって特定し易い形状あるいは模様を有している。マーカＭの位置と形状のデータも予め環境モデル２２に記述されている。図示を省略しているが、実空間に複数のマーカが設置されている。図１の記号Ｍａは、カメラ１２の画像Ｓａに映し出されたマーカＭを示している。
画像処理装置１６は、画像Ｓａから複数のマーカＭａを抽出することによって、仮想空間におけるカメラ１２の位置と姿勢を特定する。即ち、画像処理装置１６は、仮想空間におけるカメラ１２の位置と姿勢を検出する３Ｄセンサを兼ねている。カメラ１２の位置と姿勢を特定する処理は具体的には次のとおりである。画像処理装置１６は、画像ＳａからマーカＭａを抽出する。画像Ｓａ上のマーカＭａの位置から、画像処理装置１６は、カメラ固定の座標系におけるマーカＭの位置と姿勢を算出する。次いで画像処理装置１６は、カメラ固定の座標系におけるマーカＭの位置と、仮想空間におけるマーカＭの位置と姿勢を照合することによって、仮想空間（即ち絶対座標系）におけるカメラ１２の位置と姿勢を特定する。画像処理装置１６は、仮想空間におけるカメラ１２の位置と姿勢から、前述した座標変換行列Ｒを求める。
【００１８】
ユーザインタフェイス１０は、画像処理装置１６によって、ユーザＵが指標点Ｆ（指先）で指し示した先に存在する物体を特定することができる。画像処理装置１６が物体を特定する処理を、図１を参照して説明する。画像処理装置１６が物体を認識するまでの処理は、指標点算出処理と、指示ベクトル算出処理と、対象物特定処理に分けることができる。
ユーザＵは、頭部にカメラ１２を装着して、希望する物体を指標点Ｆで指し示す。図１は、ユーザＵが物体Ｂ１を指し示している状況を示している。このときユーザＵは、利き目の焦点Ｅと物体Ｂ１を結ぶ線上に指標点Ｆ（指先）を移動している。
【００１９】
（指標点算出処理）
カメラ１２が指標点Ｆを撮影する。図１の記号Ｆａが、画像Ｓａに映し出された指標点を表している。画像処理装置１６は、画像Ｓａにおける指標点Ｆａを認識し、指標点Ｆａの座標（ｘａ、ｙａ）を算出する。画像処理装置１６は、ユーザＵの指先の形状と色に基づいて、画像Ｓａから指標点Ｆａを抽出する。画像から特定の形状や色の物体を抽出する処理は、よく知られた画像処理方法を採用すればよい。前述したように、カメラ１２の焦点距離ｚａは既知であるので、画像処理装置１６は、カメラ１２の焦点ＯＣから投影面Ｓにおける指標点ＦａへのベクトルＶＦａ＝（ｘａ、ｙａ、ｚａ）を得る。
【００２０】
（指示ベクトル算出処理）
画像処理装置１６は、記憶装置１８から距離Ｌ（ユーザが手を伸ばしたときのカメラ１２の焦点ＯＣから指標点Ｆまでの距離）を読み出し、次の（数１）によってベクトルＶＦを得る。
【数１】
2009258884.tif 000003
（数１）の右辺の分数部分は、ベクトルＶＦａの大きさを距離Ｌに変換するスケールファクタを意味している。ベクトルＶＦは、前述したように、カメラ固定座標系におけるカメラ焦点ＯＣから指標点Ｆまでのベクトルを表す。
次に画像処理装置１６は、記憶装置１８からベクトルＶＥを読み出し、ＶＴ＝ＶＦ−ＶＥの演算によって、ユーザＵの利き目の焦点Ｅから指標点Ｆへの指示ベクトルＶＴを得る。指示ベクトルＶＴは、カメラ固定の座標系で表現されている。
【００２１】
（対象物特定処理）
画像処理装置１６は、ＶＴＧ＝Ｒ・ＶＴの演算によって、仮想空間（絶対座標系）における指示ベクトルＶＴＧを得る。ここで「Ｒ」は、前述した座標変換行列である。
最後に画像処理装置１６は、環境モデル２２を参照し、指示ベクトルＶＴＧの延長線に交差する物体Ｂ１を特定する。画像処理装置１６は、ユーザＵの指し示す物体として物体Ｂ１のデータを出力する。
以上の処理により、ユーザインタフェイス１０は、ハーフミラーを用いることなく、ユーザＵの指し示す方向に存在する物体を特定することができる。
【００２２】
ユーザインタフェイス１０の留意点を述べる。
カメラ１２は、ユーザの利き目の近くに装着できることが好ましい。具体的には、利き目の上、利き目側のこめかみ、眉間が好ましい。
上記の実施例では、画像処理装置１６が３Ｄセンサを兼ねていた。３Ｄセンサは画像処理装置１６とは独立したセンサであってよい。３Ｄセンサは、例えば、ジャイロと磁気センサを組み合わせた、いわゆるモーションセンサであってよい。３Ｄセンサとして加速度センサを用いることも好適である。
上記の実施例では、記憶装置１８が記憶している距離Ｌは一定の値であった。距離Ｌは、画像Ｓａ上での指標点Ｆａの位置に応じて異なる値であってもよい。たとえば、距離Ｌは、画像Ｓａ上の指標点Ｆａの座標（ｘａ、ｙａ）の関数であってよい。あるいは、距離Ｌは、画像Ｓａを分割した領域毎に異なる値が設定されてよい。この場合、指示ベクトル算出処理は、指標点Ｆａの座標（ｘａ、ｙａ）が属する領域に対応する距離Ｌを採用してベクトルＶＦを算出すればよい。
【００２３】
ユーザインタフェイス１０の適用例を説明する。
（第１の適用例）
図２と図３は、ユーザインタフェイス１０を用いてユーザの指先Ｆ（指標点Ｆ）をあたかもマウスのように使うことのできる例を示す。ユーザがスクリーン１００の所望の場所を指し示すと、ユーザインタフェイス１０は、指し示した先にカーソル１０２を表示することができる。図２は、ユーザがユーザインタフェイス１０を使用している様子を示す。図２（ａ）は平面図を示し、図２（ｂ）は側面図を示す。図３は、スクリーンの表示例を示す。図３に示すとおり、スクリーン１００の周囲に３つのマーカ（Ｍ１〜Ｍ３）が配置されている。
環境モデル２２には、スクリーン１００の位置と形状のデータが記述されている。本例では、スクリーンが鉛直方向に拡がる所定の領域を有する平面であることを示すデータが記述されている。環境モデル２２には、マーカＭ１〜Ｍ３の位置と形状のデータも記述されている。
ユーザがカメラ１２を装着してスクリーンの前に立つと、カメラ１２はマーカＭ１〜Ｍ３を撮影する。コントローラ１４の画像処理装置は、画像上のマーカＭ１〜Ｍ３の位置・姿勢を特定し、特定した位置・姿勢と環境モデル２２に記述されたマーカＭ１〜Ｍ３を照合して仮想空間におけるカメラ１２の位置と姿勢を特定する。即ち、カメラ１２と画像処理装置は３Ｄセンサとして機能し、前述した座標変換行列Ｒを算出する。
【００２４】
ユーザがスクリーン１００上の所望の位置を指し示したとき、ユーザインタフェイス１０は、ユーザの利き目の焦点Ｅから指先（指標点Ｆ）への指示ベクトルＶＴを算出する。次いでユーザインタフェイス１０は、カメラ座標系で表現された指示ベクトルＶＴを仮想空間へ写像し、仮想空間（絶対座標系）における指示ベクトルＶＴＧの延長線とスクリーン１００の交点Ｐの座標を特定する。ユーザインタフェイス１０は、特定した座標Ｐを図示しないコンピュータに送信する。コンピュータは、座標Ｐに、カーソル１０２を表示する。
【００２５】
（第２の適用例）
図４は、ユーザインタフェイス１０を用いて、ユーザが指し示した位置へ移動ロボット２００が移動する例を示す。図４（ａ）は平面図を示し、図４（ｂ）は側面図を示す。移動ロボットは、現在２００ａの場所に位置していると仮定する。なお、本例では、ユーザインタフェイス１０は、３次元姿勢センサ（不図示）を備えている。
移動ロボット２００は、車輪で床上を移動することができる。移動ロボット２００には、３つのマーカＭ１、Ｍ２、Ｍ３が配置されている。
環境モデル２２には、絶対座標系における床平面のデータと、マーカを含む移動ロボット２００の形状のデータが記述されている。
ユーザがカメラ１２を装着して移動ロボット２００の方向を向いたときに、カメラ１２はマーカＭ１〜Ｍ３を撮影する。コントローラ１４の画像処理装置は、画像上のマーカＭ１〜Ｍ３の位置を特定し、特定した位置と環境モデル２２に記述されたマーカＭ１〜Ｍ３を照合する。そうすることでユーザインタフェイス１０は、仮想空間におけるカメラ１２と移動ロボット２００の相対的な位置と姿勢を特定する。即ち、カメラ１２と画像処理装置は３Ｄセンサとして機能し、前述した座標変換行列Ｒを算出する。このとき、ユーザインタフェイス１０は、３次元姿勢センサ（不図示）の検出値に基づいて、仮想空間におけるカメラ１２の姿勢も特定する。
【００２６】
次にユーザは、床面を向き、所望の位置を指し示す。ユーザインタフェイス１０は、３次元姿勢センサを備えているので、カメラ１２の視野からマーカＭ１〜Ｍ３が外れても、仮想空間（即ち絶対座標系）におけるカメラ１２の位置と姿勢をトレースすることができる。
ユーザインタフェイス１０は、ユーザの利き目の焦点Ｅから指先（指標点Ｆ）への指示ベクトルＶＴを算出する。次いでユーザインタフェイス１０は、カメラ座標系で表現された指示ベクトルＶＴを仮想空間へ写像し、仮想空間（絶対座標系）における指示ベクトルＶＴＧの延長線と床面の交点Ｐの座標を特定する。ユーザインタフェイス１０は、特定した座標Ｐを移動ロボット２００へ送信する。移動ロボット２００は、座標Ｐに移動する（図４の２００ｂ）。
【００２７】
（第３の適用例）
図５は、ユーザインタフェイス１０を用いて、作業ロボット３００に、ユーザが指し示した物体を把持させる例を示す。図５（ａ）は平面図を示し、図５（ｂ）は側面図を示す。本例では、マーカの代わりに、環境モデルによって構築される仮想空間におけるカメラの位置と姿勢を特定する３Ｄセンサとして、外部カメラ３０２を備えている。
環境モデル２２には、絶対座標系における作業台３０４の位置と形状のデータと、物体Ｂの位置と形状のデータが記述されている。物体Ｂは、作業台３０４の上面に載置されている。
外部カメラ３０２は、ユーザが装着したカメラ１２、物体Ｂ、作業台３０４、及び作業ロボット３００を撮影する。外部カメラ３０２の位置は既知であるので、ユーザインタフェイス１０は、外部カメラ３０２の映像と環境モデル２２を照合することによって、仮想空間におけるカメラ１２の位置と姿勢を特定することができる。即ち、ユーザインタフェイス１０は、外部カメラ３０２と画像処理装置を３Ｄセンサとして用いて、前述した座標変換行列Ｒを算出する。
【００２８】
ユーザは、物体Ｂを指し示す。ユーザインタフェイス１０は、ユーザの利き目の焦点Ｅから指先（指標点Ｆ）への指示ベクトルＶＴを算出する。次いでユーザインタフェイス１０は、カメラ座標系で表現された指示ベクトルＶＴを仮想空間へ写像し、仮想空間（絶対座標系）における指示ベクトルＶＴＧの延長線上に存在する物体Ｂを特定する。ユーザインタフェイス１０は、特定した物体Ｂのデータを作業ロボット３００へ出力する。作業ロボット３００は、受信した物体Ｂのデータに基づいて、物体Ｂを把持する。
作業ロボット３００に物体Ｂの移動先を指示する場合は、ユーザは、移動先を指し示せばよい。
【００２９】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、仮想空間におけるカメラ１２の位置と姿勢を特定するためのマーカは、赤外ＬＥＤ等でもよい。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００３０】
【図１】ユーザインタフェイスの模式図を示す。
【図２】ユーザインタフェイスの第１の適用例を示す。
【図３】第１の適用例におけるスクリーンの表示例を示す。
【図４】ユーザインタフェイスの第２の適用例を示す。
【図５】ユーザインタフェイスの第３の適用例を示す。
【符号の説明】
【００３１】
１０：ユーザインタフェイス
１２：カメラ
１４：コントローラ
１６：画像処理装置
１８：記憶装置
２０：補正用データ
２２：環境モデル
【図１】
2009258884.tif 000004
【図２】
2009258884.tif 000005
【図３】
2009258884.tif 000006
【図４】
2009258884.tif 000007
【図５】
2009258884.tif 000008