TOP > 国内特許検索 > 3次元位置入力装置 > 明細書

明細書 :3次元位置入力装置

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4644800号 (P4644800)
公開番号 特開2006-190212 (P2006-190212A)
登録日 平成22年12月17日(2010.12.17)
発行日 平成23年3月2日(2011.3.2)
公開日 平成18年7月20日(2006.7.20)
発明の名称または考案の名称 3次元位置入力装置
国際特許分類 G06F   3/033       (2006.01)
G01B  11/00        (2006.01)
G01B  11/26        (2006.01)
G06F   3/041       (2006.01)
FI G06F 3/033 310Y
G01B 11/00 H
G01B 11/26 H
G06F 3/041 380N
請求項の数または発明の数 8
全頁数 24
出願番号 特願2005-003118 (P2005-003118)
出願日 平成17年1月7日(2005.1.7)
審査請求日 平成19年11月22日(2007.11.22)
特許権者または実用新案権者 【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
発明者または考案者 【氏名】多田 好克
【氏名】和田 将
個別代理人の代理人 【識別番号】100083806、【弁理士】、【氏名又は名称】三好 秀和
【識別番号】100101247、【弁理士】、【氏名又は名称】高橋 俊一
【識別番号】100120455、【弁理士】、【氏名又は名称】勝 治人
審査官 【審査官】山崎 慎一
参考文献・文献 特開平11-248415(JP,A)
特開平05-265637(JP,A)
特開平07-146753(JP,A)
特開平06-089125(JP,A)
調査した分野 G06F 3/033
G01B 11/00
G01B 11/26
G06F 3/041
特許請求の範囲 【請求項1】
先端部分に光源を持ち、前記光源が出力する光の消滅及び出現を切り替える手段を有するポインティングデバイスと、
前記ポインティングデバイスの発する前記光が作る楕円または円の平面投影像を映す平面状の投影部と、
前記光源が出力する光の消滅及び出現を切り替える手段により前記光源の光を消滅させることで前記平面投影像が消えたときから一定時間、前記光の消滅及び出現をON/OFF情報として時間的に羅列するシグナルパターンを取得する信号取得部と、
前記シグナルパターンに基づいて複数の入力処理を識別する入力処理識別手段と、
予め登録された異なる複数のシグナルパターンの情報に対応した個別処理を実行する個別処理実行部と、
前記平面投影像を撮影する撮像機器と、
前記撮像機器により撮影された画像から前記平面投影像の特徴量を算出する特徴量算出手段と、
前記特徴量から前記ポインティングデバイスの3次元位置及び回転角を算出する位置算出手段とを具備し、
前記入力処理識別手段は、前記一定時間内に出現した前記シグナルパターンと前記予め登録された異なる複数のシグナルパターンとの一致を判断し、一致した場合は前記個別処理実行部が前記個別処理を実行し、一致しない場合は、前記信号取得部が新たにシグナルパターンを再取得し、前記新たなシグナルパターンと前記予め登録された異なる複数のシグナルパターンとの一致を判断することを特徴とする3次元位置入力装置。
【請求項2】
前記ポインティングデバイスは、光源の光軸を中心に円錐状の光線を発することを特徴とする請求項1に記載の3次元位置入力装置。
【請求項3】
前記ポインティングデバイスは、光源の光軸を通る光線を発生することを特徴とする請求項1または2に記載の3次元位置入力装置。
【請求項4】
前記ポインティングデバイスの発する平面投影像は、1箇所、欠けを生じ、前記位置算出手段は、前記欠けを利用して前記回転角を算出することを特徴とする請求項1乃至3のいずれか1項に記載の3次元位置入力装置。
【請求項5】
前記ポインティングデバイスは、楕円の周上または円周上に複数の光の点を発生し、前記位置算出手段は、前記複数の光の点のうち、ある光の点に着目して前記回転角を算出することを特徴とする請求項1に記載の3次元位置入力装置。
【請求項6】
前記撮像機器は、前記特徴量算出手段と前記位置算出手段とを具備することを特徴とする請求項1乃至5のいずれか1項に記載の3次元位置入力装置。
【請求項7】
前記平面状の投影部は、光を感知する機能を具備し、前記ポインティングデバイスの発する前記平面投影像もしくは前記複数の光の点の位置情報を読み取る平面状の光感知器であって、
この光感知器により読み取った前記平面投影像の特徴量もしくは前記複数の光の点の特徴量を算出する特徴量算出手段と、
前記特徴量から前記ポインティングデバイスの3次元位置及び回転角を算出する位置算出手段とを具備することを特徴とする請求項1乃至5のいずれか1項に記載の3次元位置入力装置。
【請求項8】
前記特徴量は、楕円の中心座標と焦点の座標と長軸の長さと短軸の長さと傾き、または円の中心座標と半径であることを特徴とする請求項1乃至8のいずれか1項に記載の3次元位置入力装置。
発明の詳細な説明 【技術分野】
【0001】
本発明は、電子黒板あるいはコンピュータ等に3次元位置情報を入力あるいは表示するための3次元位置入力装置に関する。
【背景技術】
【0002】
現在普及しているコンピュータ及び電子機器等への入力装置としては、マウス及びタブレット等の2次元の位置情報入力装置が一般的に使われているが、情報処理を行う上で、ある特殊な専門的分野を除いては、3次元位置入力装置は特に必要に迫られることはなかった。
【0003】
しかし、処理速度が向上するに従って、3次元コンピュータグラフィクスを扱ったり、機械を遠隔操作したりする際に、直接3次元の座標値を入力することにより、作業効率が上がったり、より的確に対象物を扱うことが可能となってきている。
【0004】
3次元位置入力装置としては、例えば特許文献1に開示されたものがある。この3次元位置入力装置では、指の圧力による光の反射面の変化で相対変化を求めている。可動部分に外から圧力を加えることで変形する反射面に、発光素子から発生した光が当たり、反射した光が受光素子に当たる。可動部分に指などで圧力を加えると、反射面の法線ベクトルが変化し光の軌道も変化するため、受光素子に当たる光も変化する。この変化を読み取ることで可動部分の変位を算出し、指の移動量、移動方向を算出する。
【0005】
また、他の3次元位置入力装置としては、例えば特許文献2に開示されたものがある。この3次元位置入力装置は、ポインティングデバイスから発せられた電波を三点測量の要領で最低3つのセンサで受信するものである。複数のセンサで受信した電波は、発信源の位置によってセンサに到達する時間にずれが生じる。このずれを求めることで3次元位置を求める。また、ポインティングデバイスに2つのセンサを用いることで、ポインティングデバイスの指している方向を得る。
【0006】
また、他の3次元位置入力装置としては、ジョイスティック(前後左右方向の位置操作を行うレバーと上下方向の位置操作を行うボタンとを有する)とトラックボールとを用いて3つの回転を表現するものがある。

【特許文献1】特開平9-16325号公報
【特許文献2】特開平10-171591号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
3次元空間を扱う分野は製図やコンピュータグラフィクス等の3次元画像を扱う分野の他にロボットの分野もあり、ロボットやロボットの腕を制御する場合は、一般的に空間上の位置と回転の計6つの自由度が必要となるが、上記特許文献1に開示された3次元位置入力装置は、位置が固定されたデバイスを操作するため空間的自由度が3のデバイスであり、自由度の要件を満たしていないという問題があった。また、相対位置を入力することは可能であるが、絶対座標の入力は不可能であり、また、指圧で常に同じ湾曲面を作ることは難しく、ポインタの制御を正確に行うことが困難であるという問題があった。
【0008】
また、上記特許文献2に開示された3次元位置入力装置は、ポインティングデバイス自身の回転情報は得ることができないので、空間的自由度が5のデバイスである。また、電波を発信する部分と受信する部分は複数必要であり、構造が複雑になるという問題があった。
【0009】
また、ジョイスティックとトラックボールを用いた3次元位置入力装置は、絶対座標を表現できず、また、装置に取り付けられたセンサが5個もあり、ポイントを動かすために指を頻繁に動かさなければならないという問題があった。
【0010】
上述のように、ポインティングデバイスの3次元位置及び回転角を、絶対座標と相対座標の両方で求めることができる3次元位置入力装置は存在しなかった。
【0011】
そこで本発明は、ポインティングデバイスの3次元位置及び回転角を、絶対座標と相対座標の両方で求めることが可能で、コンパクトで使い易い3次元位置入力装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の3次元入力装置は、先端部分に光源を持ち、前記光源が出力する光の消滅及び出現を切り替える手段を有するポインティングデバイスと、前記ポインティングデバイスの発する前記光が作る楕円または円の平面投影像を映す平面状の投影部と、前記光源が出力する光の消滅及び出現を切り替える手段により前記光源の光を消滅させることで前記平面投影像が消えたときから一定時間、前記光の消滅及び出現をON/OFF情報として時間的に羅列するシグナルパターンを取得する信号取得部と、前記シグナルパターンに基づいて複数の入力処理を識別する入力処理識別手段と、予め登録された異なる複数のシグナルパターンの情報に対応した個別処理を実行する個別処理実行部と、前記平面投影像を撮影する撮像機器と、前記撮像機器により撮影された画像から前記平面投影像の特徴量を算出する特徴量算出手段と、前記特徴量から前記ポインティングデバイスの3次元位置及び回転角を算出する位置算出手段とを具備し、前記入力処理識別手段は、前記一定時間内に出現した前記シグナルパターンと前記予め登録された異なる複数のシグナルパターンとの一致を判断し、一致した場合は前記個別処理実行部が前記個別処理を実行し、一致しない場合は、前記信号取得部が新たにシグナルパターンを再取得し、前記新たなシグナルパターンと前記予め登録された異なる複数のシグナルパターンとの一致を判断することを特徴とする。
【0013】
また、本発明の3次元位置入力装置は、前記ポインティングデバイスは、光源の光軸を中心に円錐状の光線を発することを特徴とする。
【0014】
また、本発明の3次元位置入力装置は、前記ポインティングデバイスは、光源の光軸を通る光線を発生することを特徴とする。
【0015】
また、本発明の3次元位置入力装置は、前記ポインティングデバイスの発する平面投影像は、1箇所、欠けを生じ、前記位置算出手段は、前記欠けを利用して前記回転角を算出することを特徴とする。
【0016】
また、本発明の3次元位置入力装置は、前記ポインティングデバイスは、楕円の周上または円周上に複数の光の点を発生し、前記位置算出手段は、前記複数の光の点のうち、ある光の点に着目して前記回転角を算出することを特徴とする請求項1に記載の3次元位置入力装置。
【0017】
また、本発明の3次元位置入力装置は、前記撮像機器は、前記特徴量算出手段と前記位置算出手段とを具備することを特徴とする。
【0018】
また、本発明の3次元位置入力装置は、前記平面状の投影部は、光を感知する機能を具備し、前記ポインティングデバイスの発する前記平面投影像もしくは前記複数の光の点の位置情報を読み取る平面状の光感知器であって、この光感知器により読み取った前記平面投影像の特徴量もしくは前記複数の光の点の特徴量を算出する特徴量算出手段と、前記特徴量から前記ポインティングデバイスの3次元位置及び回転角を算出する位置算出手段とを具備することを特徴とする。
【0020】
また、本発明の3次元位置入力装置は、前記特徴量は、楕円の中心座標と焦点の座標と長軸の長さと短軸の長さと傾き、または円の中心座標と半径であることを特徴とする。
【発明の効果】
【0021】
本発明の3次元位置入力装置によれば、円錐状の光線が作る平面投影像や楕円の周上または円周上に発生する複数の光の点から形状情報を読み取り、この形状情報から算出される特徴量に基づいてポインティングデバイスの3次元位置及び回転角を算出するので、3次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。
【0022】
これにより、3次元コンピュータグラフィックスやロボットの制御などの3次元物体の姿勢回転を表現するのに必要十分な、ポインティングデバイスの6つの自由度と絶対位置、相対位置を表現、入力する装置を提供することができる。
【0023】
また、ポインティングデバイスは鉛筆サイズでワイヤレスなので空間上を自由に移動させることができ、センサや光源の構造が簡単なので、あらゆる3次元を扱う機器への導入が容易である。例えば、カメラ付き携帯電話やノートPC等のモバイル機器に搭載することにより、最近検討が進んでいるユビキタス通信への応用も可能である。
【0024】
また、本発明の3次元位置入力装置は、マウスやトラックボールの構造を用いるデバイスのような機械的な磨耗といった問題もなく、常に高い精度を保つことが可能である。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態を図面を参照して説明する。
【0026】
(実施の形態の基本原理)
まず、本発明の実施の形態における3次元位置入力装置の基本原理を図1乃至図12に基づいて説明する。
【0027】
図1は円錐形を平面で切断したときの断面図形を示す図、図2は光源の姿勢の変化による平面投影像の変化を示す図、図3は光源が平面に対して垂直になっているときの平面投影像を示す図、図4は光源が平面に対して斜めになっているときの平面投影像を示す図、図5は楕円の平面投影像に対応する、撮像機器により撮影された2次元の画像データ(x,y)をx-y座標で示した図、図6は傾きのない標準形の楕円をx-y座標で示した図、図7は光源の3次元位置及び回転角の算出に用いる説明図、図8は図7の補足説明図、図9は回転角の3次元上の位置を示す説明図、図10は光源の光軸回りの回転角を求める方法を示す説明図、図11は6個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図、図12は6個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図である。
【0028】
図1(a)に示すように、平面上に円形の光の像を作り出す光源1を考えると、丁度、円錐の頂点に光源1があり、光源1の発する光の光路を円錐図形に見立てることができる。この円錐図形を平面で切断する場合、水平に切断した場合は、図1(b)に示すように、その切断面は円になり、斜めに切断した場合は図1(c)に示すように切断面は楕円形になる。
【0029】
図1(b)において、円錐の中心軸2は切断面の円の中心点を通り、図1(c)において、円錐の中心軸2は切断面の楕円の片方の焦点を通る。中心軸2と円錐の側面との間の角度αと断面図形の特徴量(中心座標、焦点の座標、長軸の長さ、短軸の長さ等)とが分かれば、それらより円錐の頂点の座標と中心軸2の方向を求めることができる。
【0030】
ところで、図2に示すように、光源1は、どのように移動させたり姿勢を変化させたりしても、平面投影像は円か楕円のどちらかになる。
【0031】
図3は光源が平面に対して垂直になっているときの平面投影像を示す図である。図3(a),(b)に示すように、平面にx軸、y軸を取り、平面に垂直にz軸を取る場合、光源1の姿勢がxy平面に対して垂直になる場合は、xy平面には円が像として映し出される。光源1の光軸3と円錐の側面との間の角度をαとするとき、xy平面に映し出された図形の特徴量(中心座標、半径)より光源1の3次元位置を算出することができる。ここで、図3(b)に示すa,bは円の半径となる。光源1が左右に平行移動した場合、投影像の中心点座標が移動し、光源1が上下に移動した場合は、円の半径が変化する。
【0032】
一方、図4は光源が平面に対して斜めになっているときの平面投影像を示す図である。図4(a)は光源1をz軸に対してθだけ傾けた状態を示しており、光軸3とxy平面の交点Cに原点を取っている。図4(b)はその時にxy平面に映し出される像を示しており、この投影像は楕円となる。この時、光軸3とxy平面との交点C(図4(a)に示すCと同じ)は楕円の焦点になっており、θを変化させた場合も常に光軸3は楕円の焦点を通る。光源1の姿勢(3次元位置、回転角)は、図4(b)に示す楕円の長軸の長さ(a’)、短軸の長さ(b’)、楕円の中心点D及び焦点C、図4(a)に示す光軸3と円錐の側面との間の角度をα等の特徴量を用いて算出することができる。光源1が移動すると平面投影像の位置と形状が変化するので、そのときの変化量を計算することにより、投影像が楕円でも光源1の姿勢を同定することができる。
【0033】
ここで、平面投影像の特徴量の具体的な算出方法について説明する。求める特徴量は、楕円の長軸の長さ、短軸の長さ、中心点及び焦点、楕円の傾き、または円の中心座標と半径である。
【0034】
図5は楕円の平面投影像に対応する、撮像機器により撮影された2次元の画像データ(x,y)をx-y座標で示した図である。この2次元の画像データ(x,y)は左上の点から右下に向かう順であらかじめ用意された記録領域に記録される。この際、2次元の画像データは白か黒かに2値化処理される。
【0035】
まず、楕円の中心点の求め方を説明する。2次元の画像データを左上から走査していき、直前のデータと初めて数値が異なる点(楕円の上側)を検知し、これを図5に示すように点Dとする。次に、画像の右下から同様に走査を行い、直前のデータと初めて数値が異なる点を、点Dとする。図形の対称性により、点Dと点Dの中間点が楕円の中心点(x,y)となる。
【0036】
次に、楕円の長軸の長さ、短軸の長さ、焦点、楕円の傾きの求め方を説明する。ここで、以降の処理を簡単にするため、求めた楕円の中心点(x,y)を原点(0,0)とする。一般的な楕円(2次曲線)の方程式は、
ax+bxy+cy+dx+ey+f=0 (数式1)
で与えられるが、楕円の中心点を原点(0,0)とすると、
ax+bxy+cy+f=0 (数式2)
と表現される。
【0037】
ここで、最初に得られた点D,Dを、原点(0,0)を基準としてD→A(x,y),D→A(x,y)と座標変換する。次に、x軸の正の部分と楕円の交点をA(x,0)、y軸の正の部分と楕円の交点をA(0,y)とする。
【0038】
計算上点D,Dが両方ともにx軸上もしくはy軸上にあるような場合は、円もしくは傾いていない楕円であるので、以下ではそれ以外の場合を説明する。
【0039】
,A,Aを(数式2)に代入すると、楕円の方程式は、
【数1】
JP0004644800B2_000002t.gif

【0040】
となる。
【0041】
この(数式3)は傾いている楕円の方程式である。図6は図5の楕円を-φだけ回転させて得られた傾きのない楕円(標準型とする)で、これと比較することで、まず、楕円の傾きφが求められる。
【0042】
標準型の楕円上の任意の点を(X,Y)とすると、次の行列式が成り立つ。
【数2】
JP0004644800B2_000003t.gif

【0043】
(数式4)を展開すると、
x=Xcosφ-Ysinφ (数式5)
y=Xsinφ+Ycosφ (数式6)
が得られる。
【0044】
この(数式5)及び(数式6)を(数式3)に代入すると、
【数3】
JP0004644800B2_000004t.gif

【0045】
となる。
【0046】
図6に示すような傾きのない標準型の楕円の場合は、XYの項は0になるので、結果として、
【数4】
JP0004644800B2_000005t.gif

【0047】
となる。
【0048】
そして、(数式8)を整理すると、
【数5】
JP0004644800B2_000006t.gif

【0049】
となり、
【数6】
JP0004644800B2_000007t.gif

【0050】
となり、楕円の傾きφの値が決まる。
【0051】
次に、(数式10)を(数式7)に戻すと、XYの項は消えるので、次の標準形の式が得られる。
【数7】
JP0004644800B2_000008t.gif

【0052】
(数式11)より、楕円の長軸の長さa’、短軸の長さb’は次式で求まる。
【数8】
JP0004644800B2_000009t.gif

【0053】
次に、図6において、楕円の焦点をS(s,0),S(s,0),s<0,s>0とすると、
【数9】
JP0004644800B2_000010t.gif

【0054】
で楕円の焦点が求まり、以上で平面投影像の特徴量が算出できる。
【0055】
次に、特徴量a’,b’ならびに焦点S(s,0),S(s,0)から光源1の3次元位置と回転角を算出する方法について説明する。
【0056】
まず、3次元位置(x,y,z)の求め方を説明する。図7(a)に示すように光源1がz軸に対してθだけ傾いているとする。
【0057】
のx座標sは、楕円の長軸の長さがa’、短軸の長さがb’なので、(数式14)より
【数10】
JP0004644800B2_000011t.gif

【0058】
である。なお、原点から焦点Sまでの距離Sは
【数11】
JP0004644800B2_000012t.gif

【0059】
である。
【0060】
図7(b)に示すように、焦点Sからy軸正方向へ線を引き、楕円と交差する点を(s,y)とすると、yの値は、図7(a)に示すLの値と一致する。
【0061】
このyの値とLの値が一致することについて説明する。図8(a)に示すような、高さZ、中心軸と側面との間の角度αの円錐台を考える。
【0062】
図8(b)に示すように、中心軸とxy平面との交点をS(x軸上の点)、円錐台の側面とx軸との交点をA,Aとする。
【0063】
次に、図8(c)に示すように、Sを中心としてxz平面に沿ってz軸からθだけ回転させる。円錐台の点Aは点A’へ回転移動する(Zを回転半径として、Zの長さは固定する)。回転移動なので、SからAまでの距離とSからA’までの距離は等しい。
【0064】
さらに、回転する前の円錐台に注目すると、図8(d)に示すように、投影像は円なので、SからAまでの距離とSから同円上の点Aまでの距離は等しい。一方、Aに注目すると、円錐台が回転するとき、Aは回転軸上にあるので円錐台のAの位置は不変である(図8(e)、図8(f)参照)。以上より、SからAまでの距離(円の半径)と、SとA’までの距離は等しいと言えるので、yの値は、図7(a)に示すLの値と一致する。
【0065】
今、楕円の方程式は、楕円の長軸の長さa’、短軸の長さb’で表すと
【数12】
JP0004644800B2_000013t.gif

【0066】
である。(数式17)に(x,y)→(s,y)を代入すると、y(=L)は、
【数13】
JP0004644800B2_000014t.gif

【0067】
となる。
【0068】
光源1から、光軸3と平面との交点までの距離をZとすると、
【数14】
JP0004644800B2_000015t.gif

【0069】
である。ここで、αは光軸3と円錐の側面との間の角度である(光源1固有の定数)。
【0070】
図7(a)について、Z’とLを含む直角三角形に注目すると、
【数15】
JP0004644800B2_000016t.gif

【0071】
である。また、頂角αを共有し、底辺をL,Lとする2つの三角形は相似形なので、
【数16】
JP0004644800B2_000017t.gif

【0072】
である。
【0073】
よって(数式22)は、
【数17】
JP0004644800B2_000018t.gif

【0074】
となる。(数式23)を整理すると、
【数18】
JP0004644800B2_000019t.gif

【0075】
となる。三角関数の合成を用いると、
【数19】
JP0004644800B2_000020t.gif

【0076】
となる。(数式25)を変形して、
【数20】
JP0004644800B2_000021t.gif

【0077】
よって、
【数21】
JP0004644800B2_000022t.gif

【0078】
こうして、光軸3のz軸に対する傾きθがまず、求まる。
【0079】
また、求める光源1の座標(x,y,z)は、楕円の傾きφ及び光軸3のz軸に対する傾きθを用いて、3次元極座標表示で求めると、
(-Zsinθcosφ-Scosφ,-Zsinθsinφ-Ssinφ,Zcosθ) (数式28)
となり、各座標値がz軸に対する光軸3の傾きθの関数で求まる。但し、これまでは、光軸3が楕円の焦点Sを通ることを前提に説明してきたので、実際には、このθを特定するには、初めに楕円の平面投影像の二つの焦点にうち、どちらの焦点を光軸3が通っているかを特定する必要がある。その特定方法は、光源1から発生する光軸3を通る光の点を利用する。この光の点は、前述のように必ずどちらか一方の焦点を通るので、記憶領域にあるこの光の点に対応する画像の2次元データと計算により求まる焦点S、Sを比較して座標位置が一致する方を求めることにより特定する。
【0080】
なお、上記説明においては、簡単のため楕円の中心と原点を一致させたが、原点を画像の左端上端などに設定した場合は、楕円の中心点が値(x,y)を取るとき、(数式28)のx,yの項にそれぞれx,yを加えることで他の基準点からの3次元位置を求めることができる。
【0081】
最後に、回転角の求め方について説明する。回転角は、図9に示すようにθ(ヨー角)、φ(ロー角)、δ(ピッチ角)で定義される。ここで、θとφは、前述のθとφの値から求められる。光源の光軸回りの回転角δ(ピッチ角)の求め方は、楕円の平面投影像にできる欠けを利用する。図10に示すように、δ(ピッチ角)は、楕円の長軸方向と、欠けの方向の間の角度になる。以上で光源1の3次元位置と回転角が算出できる。
【0082】
尚、これまでの説明においては、円錐状の光線を発する光源を考えたが、複数の光の点を平面上に投影する光源を用いることもできる。
【0083】
この場合、平面上に作られる複数の光の点に着目して、そこから円または楕円に帰着させ、円錐状の光を発する光源を用いた場合と同様の原理で光源の3次元位置及び回転角を求める。楕円の方程式が(数式1)で表され、その係数が6つであることから、光源が作る光の点は最低6個あれば、それらの座標位置から円または楕円の方程式を求めることができる。
【0084】
図11(a)は6個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図、図11(b)はこのとき平面に映る光の点を真上から見た図である。図11(b)に示すように、6個の光の点が円周上に等間隔に並び、光の点を隣同士でつなげると正6角形になるように光源4の発する光の方向を設定する。
【0085】
そして、任意の点を基準として6つの光の点の座標位置を検出する。これらの座標位置から円の方程式と特徴量(円の半径、中心座標)を求めることができるので、これにより光源4の3次元位置を算出することができる。
【0086】
また、光源4の中心軸回りの回転角は、ある光の点に着目して、回転による座標値の変化量を読み取ることで求めることができる。
【0087】
次に、光源4を平面に対して傾けたときについて考える。光源4の発する光の方向は図11に示した場合と同様に設定する。図12(a)は6個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図、図12(b)はこのとき平面に映る光の点を真上から見た図である。光源4を平面に対して傾けたとき、図12(b)に示すように光の点は楕円の周上に現れる。
【0088】
そして、任意の点を基準として6つの光の点の座標位置を検出し、これらの光の点の座標位値より楕円の方程式と特徴量(中心座標、焦点の座標、長軸の長さ、短軸の長さ、楕円の傾き)を求めることができるので、前述した円錐状の光線を発する光源を用いた場合と同様の方法により光源4の3次元位置と回転角を算出することができる。
【0089】
但し、光源4が傾いている場合には、直ちに光源4の光軸が楕円の焦点のどちらを通っているかを判定することができる。図形的に対称的な位置関係にある2つの点(3対)を直線で結ぶと、3本の直線の交点は楕円の焦点となる。図12(b)では直線の交点は左の焦点を通っているので、光源4は楕円の短軸を基準として左側にあることが分かる。
【0090】
また、光源4の中心軸回りの回転角は、ある光の点に着目して、回転による座標値の変化量を読み取ることで直ちに求めることができる。
【0091】
(実施例1)
次に、本発明の3次元位置入力装置の実施例1を図13乃至図17に基づいて説明する。図13は本発明の実施例1の3次元位置入力装置の動作を示す構成図、図14は図13に示す3次元位置入力装置の動作を示すフローチャート、図15はシグナルパターンを示す図、図16は原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す図、図17は原点を投影部上にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【0092】
図13(a)に示すように、本実施例の3次元位置入力装置は、円錐状の光線を発するポインティングデバイス5と、ポインティングデバイス5の発する光が作る平面投影像を映し出す平面状の投影部6と、投影部6に映し出された平面投影像を撮影する撮像機器7と、撮像機器7により撮影された画像の特徴量を算出し、この特徴量からポインティングデバイス5の3次元位置及び回転角を算出するメイン機器8とを具備する。
【0093】
なお、ポインティングデバイス5は、ボタン操作により光の消滅、出現を切り替えることができる。また、メイン機器8は、例えばパーソナルコンピュータであり、図13(b)に示すように、撮像機器7からの画像データが入力される入力ポート8aと、画像データや画像データの処理結果を記録するRAM8bと、図13に示す3次元位置入力装置の動作がプログラムとして記録されているROM8cと、メイン機器8の各部を制御するCPU8dとハードディスク8eとCD-ROMドライブ8fとを備える。
【0094】
次に、本実施例の3次元位置入力装置の動作を説明する。図14に示すフローチャートのように、まずステップS10では、CPU8dは撮像機器7の向きが投影部6の平面に対して垂直であるかどうかを判断し、垂直である(YES)ときは撮像機器7からそのまま画像をメイン機器8の入力ポート8aに取り込む(ステップS20)。垂直でない(NO)ときはステップS30で撮像機器7の位置による図形の変形を補正する数式を定義してから画像を入力ポート8aに取り込む(ステップS20)。
【0095】
ここで、ポインティングデバイス5の発する光の消滅、出現をON/OFF情報として時間的に羅列するシグナルパターンに基づいて複数の入力処理を識別する手段について説明する。
【0096】
ポインティングデバイス5が具備するボタンのON/OFFにより生じる、投影部6上の平面投影像の消滅や出現を、時間的に羅列するON/OFF情報(シグナルパターン)として一定期間保持し、メイン機器8に伝える。ON/OFF の回数やパターンでマウスのクリックのような動作を実現する。図15において、シグナル0/1=得られたボタンのON/OFF情報とする。
【0097】
シグナルパターン複数個をあらかじめROM8cに登録しておき、そのパターンによりマウスで言うところのワンクリック、ダブルクリック、右クリック等の個別処理を用意する。
【0098】
図15に示すように、光が照射または画像が撮像機器7で認識されている間は、シグナルパターン取得処理には入らない。ボタンを押して光が消え、平面投影像が消えたとき、ここから一定時間シグナルパターン取得処理に入る。パターンを取得するサンプリング周期は画像1枚をメイン機器で読み込むのにかかる時間とする。この間に取得した平面投影像はすべてこの処理のみに使われ、処理終了ごとにリセットされる。
【0099】
その一定時間内に出現したパターンをシグナルパターン情報として記録し、あらかじめ登録されたパターンと一致するかどうか判定する。一致した場合は、対応する個別処理を実行してシグナルパターン情報をリセットする。どれとも一致しない場合は何も処理をせずにシグナルパターン情報をリセットする。
【0100】
図14に示すフローチャートのステップS40では、CPU8dは画像が映っていたかどうかを判断し、画像が映っていた(YES)ときはシグナルパターン取得中かどうかを判断する(ステップS50)。画像が映っていなかった(NO)ときは、ステップS60でシグナルパターンに0を加え、ここから一定時間シグナルパターン取得処理に入り、ステップS20に戻って撮像機器7から入力ポート8aに画像を取り込む。
【0101】
そして、ステップS50では、CPU8dは、シグナルパターン取得中かどうかを判断する。シグナルパターン取得処理開始から一定時間内でありシグナルパターン取得中である(YES)ときは、CPU8dはシグナルパターンがROM8cに登録されているパターンのどれかに一致するかどうかを判断し(ステップS70)、一致する(YES)ときはステップS80で対応する個別処理を実行する。個別処理実行後はシグナルパターン情報をリセットしてステップS100に進み、得られた画像の特徴量を求める。一致しない(NO)ときはステップS90でシグナルパターンに1を加え、ステップS20に戻る。
【0102】
一方、ステップS50において、シグナルパターン取得処理開始から一定時間が経過し、シグナルパターン取得中でない(NO)ときは、何も処理をせずに一定時間内に出現したシグナルパターン情報をリセットし、ステップS100に進む。
【0103】
そして、ステップS100では、撮像機器7から得られた画像から平面投影像の特徴量を求める。求める特徴量は、平面投影像が楕円の場合は中心座標、焦点の座標、長軸の長さ、短軸の長さ、楕円の傾きであり、平面投影像が円の場合は中心座標、半径である。
【0104】
次に、ステップS110では、得られた特徴量からポインティングデバイス5の3次元位置及び回転角を算出する。なお、ステップS100,S110の計算は前述の方法で行う。この計算プログラムはROM8cに記録されており、これに従ってCPU8dが処理する。
【0105】
ポインティングデバイス5の3次元位置及び回転角の相対変化を求める場合は、ステップS120において、CPU8dは、ステップS110で処理して得られたデータをRAM8bに一時的に保存させ、次に来る新しい画像の計算データと保存されているひとつ前のデータとを比較する。
【0106】
そして、ステップS130では、CPU8dは、計算結果(3次元位置、回転角、クリック情報)をメイン機器8のOSもしくはアプリケーションプログラム等へ出力させる。その後はステップS20に戻り、以後同様の処理を繰り返す。
【0107】
ここで、ステップS10,S30に関して、撮像機器7に映し出される像から実際に投影部6に映っている平面投影像を取得する方法を図16及び図17に基づいて説明する。
【0108】
図16は原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す。まず、撮像機器7を固定し、撮像機器7の軸が投影部6の平面に対して垂直の場合は、得られた画像をそのまま利用できる。
【0109】
撮像機器7が投影部6に対して垂直でないとき、撮像機器7で撮影される画像上の点(I,I)と実際の投影部6の平面投影像上の点(x,y)との関係は、撮像機器7の位置を原点とすると次式のようになる。
【数22】
JP0004644800B2_000023t.gif

【0110】
Fは撮像機器7の焦点距離、Hは撮像機器7と投影部6間のz軸方向の距離、βはy軸を軸に回転した撮像機器7の向きとx軸とのなす角である。撮像機器7の位置は最初に固定するので、F,H,βは初期設定時に人の手で計測して求め、撮像機器7をメイン機器8に接続する時に、あらかじめROM8cに入力する。
【0111】
これにより、(数式29),(数式30)を用いて得られた画像上の点(I,I)に対応した実際の投影部6の平面投影像上の点(x,y)を特定し、実際の平面投影像の楕円のデータを得ることができる。なお、全ピクセル移すか、必要な部分だけ移すかは処理による。
【0112】
一方、図17は原点を投影部上にした場合の撮像機器7の画像と平面投影像との関係を示す。図16において撮像機器の位置においた原点を(A,B,C)だけ平行移動させて、投影部6上に原点をおいた場合を考える。
【0113】
撮像機器7の位置を原点としたときの平面投影像上の点(x,y,z)と(I,I)との関係式は、
【数23】
JP0004644800B2_000024t.gif

【0114】
となる。原点が(A,B,C)へ平行移動するので、
【数24】
JP0004644800B2_000025t.gif

【0115】
となる。今、平面の上の図形(点)のみ扱うので、常にz=0となる。よって、
【数25】
JP0004644800B2_000026t.gif

【0116】
となる。
【0117】
これが投影部6上に原点を置いたときの撮像機器7上の点(I,I)と投影部6上の平面投影像上の点(x,y,0)との対応式である。
【0118】
上述した(数式29),(数式30)または(数式35),(数式36)がステップS30で定義する数式である。
【0119】
このように本実施例の3次元位置入力装置によれば、ポインティングデバイス5の発する円錐状の光線が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス5の3次元位置及び回転角を算出するので、3次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、3次元コンピュータグラフィックスやロボットを扱うなどの3次元物体の姿勢回転を表現するのに必要十分な6つの自由度と絶対位置を表現、入力することができる。
【0120】
また、撮像機器7として市販のCCDカメラを使用することができるため、構成をシンプルにすることができる。
【0121】
そして、メイン機器8ですべての処理を行うので、プログラム依存型であり、汎用性、可変性を有する。メイン機器8として処理速度の高い機器を用いる場合に適している。
【0122】
なお、本実施例ではポインティングデバイス5として円錐状の光の発するものを使用したが、図11及び図12に示したような、6個の光の点を平面上に投影する光源を使用してもよい。
【0123】
また、本実施例の3次元位置入力装置の動作をコンピュータに実行させるプログラムは、CD-ROM8gに記録し、CD-ROMドライブ8fを介してハードディスク8eに記録することもでき、また、インターネットなどの通信網を介して伝送させて提供することも可能である。
【0124】
(実施例2)
次に、本発明の3次元位置入力装置の実施例2を図18及び図14に示すフローチャートに基づいて説明する。図18は本発明の実施例2の3次元位置入力装置を示す構成図である。
【0125】
図18(a)に示すように、本実施例の3次元位置入力装置は、円錐状の光を発するポインティングデバイス5と、ポインティングデバイス5の発する光が作る平面投影像を映し出す平面状の投影部6と、投影部6に映し出された平面投影像を撮影して、撮影された画像の特徴量を算出し、この特徴量からポインティングデバイス5の3次元位置及び回転角を算出する撮像機器9と、メイン機器10とを具備する。
【0126】
なお、ポインティングデバイス5は、ボタン操作により光の消滅、出現を切り替えることができる。また、撮像機器9は、図18(b)に示すように、投影部6に映し出された平面投影像を撮影する撮像部9aと、撮像部9aから得られた画像データや画像データの処理結果を記録するRAM9bと、図18に示す3次元位置入力装置の動作がプログラムとして記録されているROM9cと、画像データの処理結果をメイン機器10に出力する出力ポート9eと、撮像機器9の各部を制御するCPU9dとを備える。
【0127】
次に、本実施例の3次元位置入力装置の動作を図14に示すフローチャートに基づいて説明する。なお、各ステップの処理内容は実施例1の説明で記したものと同様なので、詳細な説明は省略する。
【0128】
まず、ステップS10では、CPU9dは撮像機器9の向きが投影部6の平面に対して垂直であるかどうかを判断し、垂直である(YES)ときは撮像部9aからそのまま画像をRAM9bに取り込む(ステップS20)。垂直でない(NO)ときはステップS30で撮像機器9の位置による図形の変形を補正する数式を定義してから画像をRAM9bに取り込む(ステップS20)。
【0129】
そして、ステップS40では、CPU9dは画像が映っていたかどうかを判断し、画像が映っていた(YES)ときはシグナルパターン取得中かどうかを判断する(ステップS50)。画像が映っていなかった(NO)ときは、ステップS60でシグナルパターンに0を加え、ここから一定時間シグナルパターン取得処理に入り、ステップS20に戻って撮像部9aからRAM9bに画像を取り込む。
【0130】
そして、ステップS50では、CPU9dはシグナルパターン取得中かどうかを判断する。シグナルパターン取得処理開始から一定時間内でありシグナルパターン取得中である(YES)ときは、CPU9dはシグナルパターンがROM9cに登録されているパターンのどれかに一致するかどうかを判断し(ステップS70)、一致する(YES)ときはステップS80で対応する個別処理を実行する。個別処理実行後はシグナルパターン情報をリセットしてステップS100に進み、得られた画像の特徴量を求める。一致しない(NO)ときはステップS90でシグナルパターンに1を加え、ステップS20に戻る。
【0131】
一方、ステップS50において、シグナルパターン取得処理開始から一定時間が経過し、シグナルパターン取得中でない(NO)ときは、何も処理をせずに一定時間内に出現したシグナルパターン情報をリセットし、ステップS100に進む。
【0132】
そして、CPU9dは、ステップS100では撮像部9aから得られた画像から平面投影像の特徴量を求め、ステップS110では得られた特徴量からポインティングデバイス5の3次元位置及び回転角を算出する。
【0133】
ポインティングデバイス5の3次元位置及び回転角の相対変化を求める場合は、ステップS120において、CPU9dは、ステップS110で処理して得られたデータをRAM9bに一時的に保存させ、次に来る新しい画像の計算データと保存されているひとつ前のデータとを比較する。
【0134】
そして、ステップS130では、CPU9dは出力ポート9eに計算結果(3次元位置、回転角、クリック情報)をメイン機器10のOSもしくはアプリケーションプログラム等へ出力させる。その後はステップS20に戻り、以後同様の処理を繰り返す。
【0135】
このように本実施例の3次元位置入力装置によれば、ポインティングデバイス5の発する円錐状の光が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス5の3次元位置及び回転角を算出するので、3次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、3次元コンピュータグラフィックスやロボットを扱うなどの3次元物体の姿勢回転を表現するのに必要十分な6つの自由度と絶対位置を表現、入力することができる。
【0136】
また、撮像機器9内で画像データを処理するように構成したので、メイン機器10の負荷を軽減することができる。
【0137】
なお、本実施例ではポインティングデバイス5として円錐状の光の発するものを使用したが、図11及び図12に示したような、6個の光の点を平面上に投影する光源を使用してもよい。
【0138】
(実施例3)
次に、本発明の3次元位置入力装置の実施例3を図19及び図20に基づいて説明する。図19は本発明の実施例3の3次元位置入力装置を示す構成図、図20は図19に示す3次元位置入力装置の動作を示すフローチャートである。
【0139】
図19(a)に示すように、本実施例の3次元位置入力装置は、円錐状の光を発するポインティングデバイス5と、ポインティングデバイス5の発する光が作る平面投影像を、光を感知することにより読み取る光感知器11と、光感知器11により読み取った平面投影像の特徴量を算出し、この特徴量からポインティングデバイス5の3次元位置及び回転角を算出するメイン機器8とを具備する。
【0140】
なお、ポインティングデバイス5は、実施例1と同様に、ボタン操作により光の消滅、出現を切り替えることができる。また、図19(b)に示すように、メイン機器8も実施例1と同様の構成、機能を有する。
【0141】
次に、本実施例の3次元位置入力装置の動作を説明する。図20に示すフローチャートのように、まずステップS210では、光感知器11により読み取った平面投影像をメイン機器8の入力ポート8aに取り込む。
【0142】
そして、ステップS40では、CPU8dは光感知器11に平面投影像が映っていたかどうかを判断する。
【0143】
その後、ステップS230~S310では、実施例1のステップS50~S130で説明した処理と同様の処理を行う。
【0144】
このように本実施例の3次元位置入力装置によれば、ポインティングデバイス5の発する円錐状の光線が平面上に作る平面投影像を読み取り、この平面投影像の特徴量に基づいてポインティングデバイス5の3次元位置及び回転角を算出するので、3次元位置及び回転角を絶対座標と相対座標の両方で求めることができる。これにより、3次元コンピュータグラフィックスやロボットを扱うなどの3次元物体の姿勢回転を表現するのに必要十分な6つの自由度と絶対位置を表現、入力することができる。
【0145】
そして、撮像機器を使用せず光感知器11により平面投影像を読み取るので、撮像機器の位置による図形の変形の補正をする必要がなく、また、構成を簡素化することができる。
【0146】
なお、本実施例ではポインティングデバイス5として円錐状の光の発するものを使用したが、図11及び図12に示したような、6個の光の点を平面上に投影する光源を使用してもよい。
【0147】
また、本実施例の3次元位置入力装置の動作をコンピュータに実行させるプログラムは、CD-ROM8gに記録し、CD-ROMドライブ8fを介してハードディスク8eに記録することもでき、また、インターネットなどの通信網を介して伝送させて提供することも可能である。
【図面の簡単な説明】
【0148】
【図1】円錐形を平面で切断したときの断面図形を示す図である。
【図2】光源の姿勢の変化による平面投影像の変化を示す図である。
【図3】光源が平面に対して垂直になっているときの平面投影像を示す図である。
【図4】光源が平面に対して斜めになっているときの平面投影像を示す図である。
【図5】楕円の平面投影像に対応する、撮像機器により撮影された2次元の画像データ(x,y)をx-y座標で示した図である。
【図6】傾きのない標準形の楕円をx-y座標で示した図である。
【図7】光源の3次元位置及び回転角の算出に用いる説明図である。
【図8】図7の補足説明図である。
【図9】回転角の3次元上の位置を示す説明図である。
【図10】光源の光軸回りの回転角を求める方法を示す説明図である。
【図11】6個の光の点を投影する光源を平面に対して真上から垂直に向けたときに平面に映る光の点を示す図である。
【図12】6個の光の点を投影する光源を平面に対して傾けたときに平面に映る光の点を示す図である。
【図13】本発明の実施例1の3次元位置入力装置を示す構成図である。
【図14】図13に示す3次元位置入力装置の動作を示すフローチャートである。
【図15】シグナルパターンを示す図である。
【図16】原点を撮像機器の位置にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【図17】原点を投影部上にした場合の撮像機器の画像と平面投影像との関係を示す図である。
【図18】本発明の実施例2の3次元位置入力装置を示す構成図である。
【図19】本発明の実施例3の3次元位置入力装置を示す構成図である。
【図20】図19に示す3次元位置入力装置の動作を示すフローチャートである。
【符号の説明】
【0149】
1,4 光源
2 中心軸
3 光軸
5 ポインティングデバイス
6 投影部
7,9 撮像機器
8,10 メイン機器
8a 入力ポート
8b,9b RAM
8c,9c ROM
8d,9d CPU
8e ハードディスク
8f CD-ROMドライブ
8g CD-ROM
9a 撮像部
9e 出力ポート
11 光感知器
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19