4. RUI を用いた実世界へのインタラクションシステム
4.4. システム構成
今回RUIとしては,IP RobotPHONEを用いて機器制御を行うシステムを製作する.機器 制御の方法としては,まず制御対象を選択し,その制御対象に対して操作者がRUIを操作 することで制御入力を行い,RUIの動作・形状によって制御対象から情報を得る.実際に 操作者が家電機器を制御している様子を図 4.1に示す.
制御対象としては,今回は電球と扇風機,テレビとする.電球と扇風機の制御について は,オン・オフだけではなく,明るさや風量を連続的に調節することを可能とする.これ は,RUIの腕角度に応じて,制御機器に供給する電力を自作の回路によって調節すること で実現する.テレビの制御については,オン・オフとチャンネルの切り替え,音量の調節 を可能とする.このテレビの制御に関してはRUIに加え,市販の学習機能付マルチリモコ ン,クロッサム2+USB(スギヤマエレクトロン社)を使用して実現する.
操作者は,RUIの顔を機器の方へ向けることで制御対象の機器を選択する.つまり,RUI の顔を制御対象へ「見せる」ことで選択を行う,今回はRUIにカメラを搭載し,そのカメ
ラ画像をPCに送り,ARToolKit[49]でマーカーを判別することで機器を判別する.よって,
制御対象とする機器にはそれぞれ異なるパターンが印刷されたマーカーを貼り付ける必要 がある.
図 4.1 機器制御の様子 テレビ
扇風機 電球
操作者
RUI
マーカー
の画像情報がPCに送信され,ARToolKitにて処理が行われる.
電力制御装置はPC とRS232C ケーブルで接続されており,電球,扇風機の電源プラグ が電力制御装置に接続されている.電力制御装置にはマイコンが搭載されており,PCから マイコンへDuty値として制御信号が送信され,その値に従って各機器に供給する電力の制 御を行う.
学習リモコンはUSBケーブルでPCと接続されており,PCから学習リモコンに対して 押下ボタンの情報が送られ,学習リモコンはそのボタンに対応する信号をテレビに送信す る.
図 4.2 機器制御システム構成図
4.4.1. RUI
今回使用するRUIとしてはIP RobotPHONEを使用した.このIP RobotPHONEの顔の箇 所に図 4.3のように内蔵させたUSBカメラによって,制御対象のマーカーを認識させる.
カメラとしてはポチカム(グリーンフラッシュジャパン社)を使用した.
RUIにカメラを搭載することで,RUIが視覚を持つことになる.これにより,従来のRUI が持つ腕や首,足などの身体性に加え,視覚を有することでRUIの応用範囲を広げられる と考えられる.今回はこの視覚であるカメラを用い,RUIが人の代わりに制御対象を「見 る」ことで制御機器の選択を行う.
図 4.3 カメラを内蔵したIP RobotPHONEの鼻部
4.4.2. ARToolKit
ARToolKitとは,Augmented Reality(拡張現実感)を提示するアプリケーション開発を容
易にするために開発されたソフトウェアライブラリである.
ARToolKit は現実世界のカメラ画像中のマーカーを認識し,画像中でのマーカーの位置
測定や,そのマーカーに対応したCGモデルを画像上に重畳することを可能としている.
ARToolKitを使用した際にPC内で行われる処理は以下の通りである.
1.カメラ画像を受け取る.
2.カメラ画像を二値化し,黒い四角形のマーカー領域を抽出する.
3.マーカーの理想スクリーン座標系における4頂点座標値を求める.
4.マーカーの4頂点座標値から,マーカーの3次元位置情報を求める.
(具体的には,マーカー座標系からカメラ座標系への座標変換行列を求める)
5.パターン認識によりマーカーを識別する.
6.得られた座標変換行列を用いて,認識したマーカー上にCGモデルが描画する.
カメラ
カメラ画像
マーカー検出 マーカー マーカーの 3次元位置と
角度を検出
マーカー認識
CGモデルの 位置と角度合わせ CGモデル
カメラ画像内に CGモデルを描画
マーカー 識別情報
ディスプレイで 表示する画像
マーカーの 位置と角度情報
図 4.4 ARToolKitの処理の流れ
今回はARToolKitのマーカーパターン認識技術を利用する.操作対象の機器に個別のマ
ーカーを添付し,RUIに内蔵したカメラがどのマーカーを認識しているかをARToolKit上 にて判別することで,操作者が制御を行おうとする機器の識別を行う.
4.4.3. 電力制御
電球,扇風機の電力制御にはトライアックを用いた制御回路を作成して行った.
電源から供給する電力を増減させるためには,商用電源から供給されるAC100Vを高速
にOn/Offする必要があり,リレーでは切り替え時間がかかりすぎるためトライアックを使
用する.基本回路としては下図のようにT1,T2間のOn/Off制御をゲート電圧の制御で行う.
R2
SW1 R1
LAMP TRIAC
T1 T2
AC Power Gate
図 4.5 トライアック基本回路図
この回路で,ゲートに一瞬電圧を加えるとT1,T2間が導通し,負荷に対してAC100Vが 加わる.そしてAC100Vの電圧の正弦波が0Vになるとき,トライアックはOffになる.
これを正弦波の半サイクル毎に繰り返せば,正弦波の一部が切れた形の図 4.6のような交 流が負荷に加わることになる.この負荷に加わる交流の電力は波形の面積に比例するため,
電圧が0Vから上がり始めた後にOnとするまでの時間を変更することで,電力を制御する ことができる.
(a)元の正弦波 (b)
t
0経過後ON(電力大) (c)t1経過後ON(電力小)図 4.6 電力制御時の交流電源の波形
電 力 制 御 回 路 の マ イ コ ン と し て は , ワ ン チ ッ プ マ イ コ ン PIC16F876(Microchip Technology)を用いた.マイコンの機能としては,デジタル入出力,シリアル通信,タイ マを使用している.PCからシリアル通信で制御信号を受け取り,5口のコンセントに供給 する電力を独立に制御することが出来る.
図 4.7 制作した電力制御回路
処理は次のように行った.
t
0 t1t
0 t1また,交流の電圧が0Vに近づいたときに,フォトカプラTLP626(東芝)によってゼロ クロスのパルス信号を外部割込み信号としてマイコンに送り,割り込み処理でタイマの値 を0とし,カウントアップを始める.
タイマのカウント値が,出力コンセントのチャンネル[i]に対して設定されたtimer[i]の値 を越えると,TLP560 を介してトライアック SM12GZ47(東芝)をオンにする.そして,
次のゼロクロスのパルス信号がくる直前の時間に設定された timerlimit の値をタイマが超 えると,すべてのトライアックをオフにする.
4.4.4. 操作方法
操作者はRUIを手に持ち,RUIの顔を操作したい機器の方向へ向けることで制御対象の 機器を選択する.その状態でRUIの腕や首を動かすことで機器を制御する.今回の制御対 象は電球と扇風機,テレビである.
・電球と扇風機
電球は明るさ,扇風機は風量の調節を可能とする.これは,RUIの右腕関節を体前方へ 上下する角度(人での肩関節の屈伸角度)に従って,電力制御装置から各機器に供給する 電力を変化させることで実現する.RUI の右腕関節の操作と機器の制御との関係は表 4.1 のようになる.
表 4.1 RUIの動作と電球と扇風機の制御の対応
右腕 供給電力 電球 扇風機 上げる 増える 明るくなる 風量が増える 下げる 減る 暗くなる 風量が減る
図 4.8 電球と扇風機制御時のRUIの操作法
RUIの腕の操作によって機器を制御するのみではなく,RUIの腕の形状・動作を用いて 機器の状態を提示する.例として,扇風機の操作を終え,次に電球の操作を行ったとする.
再度扇風機の操作に移る場合,PC内で記憶しておいた扇風機の風量の強さに従って,RUI
の右腕を上下に動作させる.このRUIの右腕がどれだけ上下に動作するかによって,選択 した機器の状態を提示することが出来る.また,この提示動作が行われた後に,扇風機の 操作が可能となるため,電球での操作量が突然扇風機に反映されてしまうといった問題を 回避することができる.また同時に,制御対象の機器を判定したことも操作者に提示する ことが出来る.
・テレビ
テレビの制御としては,電源のオン・オフ,チャンネルの変更,音量の増減を可能とす る.まず,テレビに対応したマーカーをRUI内蔵のカメラが識別している状態で,RUIを うなずかせることで電源のオン・オフを行う.そして,扇風機や電球の制御と同様に右腕 体前方へ上げ下げすることでチャンネルの変更を,左腕を上げ下げすることで音量の増減 を行う.これらの制御は,RUIの関節動作に従って学習リモコンを通じて行う.RUIの各 関節の操作と機器の制御との関係は表 4.2となる.
表 4.2 RUIの動作とテレビの制御の対応
首 電源 右腕 チャンネル 左腕 音量
上げる + 上げる + うなずく オン・オフ
下げる - 下げる -
図 4.9 テレビ制御時のRUIの操作法
「うなずく」という動作は日本において承諾,同意などの意志を表す.よって,機器制 御に関して操作者とRUIの意志が合致するイメージに通ずると考え,うなずく動作で電源 のオン・オフを行うことにした.
テレビにおいてチャンネルの変更や,音量の増減は,相対的な増減方向への操作である.
よって,腕を前方水平に上げた状態を基準とし,それより上げたときは増の方向へ,下げ