事例を見る - Hotmock.com

DESIGNED BY: de:VISION
電動ドリル
CATEGOLY
<手順 1> 構想!こんな電動ドリル
見えにくい場所に穴を開ける
カメラ付き電動ドリル
外部モニタ
ドリルの先が見えなくて先端を覗きこんで孔が斜めになっちゃた!!
TARGET
だったらドリルの先にカメラを付けちゃおう!ついでに液晶も付けて
リッチなコンテンツを持った電動ドリルをプロトタイピング。
カメラ
穴あけ作業がどう変わるのか? HOTMOCK×ActionScript を使っ
てありそうでなかったすこし複雑なプロトタイピングを試みます
TARGET に近づくと「水平値」と「回転トルク」が画面表示され正確に適切な穴あけ加工が可能な今までとあま
り形状が変わらず少しだけ機能アップした電動ドリルをイメージする。
外部モニタは取り外しができてドリル先端とターゲットを映し出し TARGET を直視しなくてもモニターを通し
てドリルを使用することができる。またハンドルレバーに感圧のセンサを設置し、使用者の力の入れ具合に合わせ
使用キット
レガシー KIT
使用デバイス
シール LED 感圧センサ シールスイッチ 外部デバイス
USB カメラ スマートフォン(外部モニタとして)
プログラム
モックアップの材料
デシタル KIT
アナログ KIT
エクステンション
トルクが変わる事をイメージした。
<手順 2> プロトタイピングの用意
1.
2.
3.
ActionScript
光造形されたモックアップ
4.
5.
1. 簡単なスケッチで雰囲気をつかむ
2. 近接でも対応可能な USB カメラを購入しサイズを図る 3. 今回はスマートフォンを外部モニタとして使用する
(機種 F05D 外部モニタとして使用するアプリ iDisplay)
4. 寸法を考慮しながら 3D データを作成
5. 出来上がったモデルに必要なセンサ・デバイスを組み込む
プログラム製作 有限会社ホロンディビジョン http://www.hol-on.com/devision/
モデル作成 株式会社トライワーク http://www.trywork.jp/ DESIGNED BY: de:VISION
<手順 3>
HOTMOCK Setting と USB カメラを ActionScript で繋ぐ
<手順 5>
電動ドリルと TARGET の関係を調整して改良
今回は、HOTMOCK Builder を使わずに Flash で ActionScript プログラムを書いていく。
TARGET を「穴あけ位置のマーク」と「AR マーカー」のデザインに、また、ドリルの先端がカメラに写り込むよ
まずは、サンプルコードを参考に SocketConnector 関連の組み込みとカメラ画像の取得までやってみる。
うにモデルを調整。マーカーの距離と角度と傾きの情報を使って、電動ドリルが接地しているか、垂直になってい
ついでに、毎回 HOTMOCK Setting とつながなくとも反応できるようキーボード割り当てをする。
るかを判断するようにした。
import src.hotmock.socket.SocketConnector;
画面にガイドを表示
穴あけ位置
var power:Boolean = false;
カメラにドリル先端が写り込む
// 電源オンオフ
// ソケット接続
ドリル
socket = new SocketConnector();
socket.addListener(”DI01”, SocketEvent.PRESS, pressHandler);
// スイッチ入力
socket.addListener(”AI01”, SocketEvent.RECEIVE, receiveHandler );
// 感圧センサー
socket.connect(8888,“localhost”);
// 通信開始
カメラ
// カメラ接続
camera = Camera.getCamera();
TARGET
// キーボード
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownHandler);
function pressHandler(conn, event) // スイッチ入力をキーボードイベントに変換
角度と傾きを示す十字線
var key = KeyboardEvent.KEY_DOWN;
var code = Keyboard.SPACE;
stage.dispatchEvent(new KeyboardEvent(key, true, false, 0, code));
<手順 6>
体験してみよう!
function keydownHandler(e) // キーボードイベントの処理の中に HOTMOCK 受信時の動作を書く
if(e.keyCode = Keyboard.SPACE) power = !power;
これで HOTMOCK を繋いでも動くし、繋がなくてもキーボードで動作確認できるようになりました。
<手順 4>
TARGET を AR マーカーにする
電動ドリルを HOTMOCK に繋ぎ、 スイッチを押すと電源オン。
マーカー、外部モニタを準備する。 少し慣れれば画面を見ながらでも
穴あけの TARGET を AR マーカーにして、カメラでマーカーを捉えたらドリル回転「OK」
と判断する仕組みで検討。
TARGET に当てられる。
「OK」になると画面にリングが出る。
ハンドルレバーを握るとリングが回転。
圧力の強弱で回転速度が変わる。
(AR( 拡張現実 ) は「マーカー」と呼ばれる図形を認識して 3D モデル等を表示したりするのに使われる技術。)
今回はマーカー認識のみを利用します。
参考:FLARToolKit http://www.libspark.org/wiki/saqoosha/FLARToolKit
1.
マーカーをデザイン
2.
カメラ + ドライバで簡易に確認
作成のコツ
モデル:握る行為はとても難しいので発泡材で握り具合を確かめながら形を決めていくことを薦めます。トリ
ガーを握ったりボタンを押す行為も出てくるとなると力を入れるバランスが変わってきて画面がブレる事が
あった。実際にモニターに画像を映しながらモデルを作るとモニター設置の場所や手で持った時のバランスな
どがわかり現実に近い形が体験できる。
プログラム:ActionScript が書ける人なら、外部の USB デバイスと HOTMOCK で様々な事ができると思い
ます。キーボードに割り当てるテクのように、自分なりのアプローチを試してみて下さい。
3.
マーカーが認識されたら線で囲う
ドリルの先端や指先がマーカーに被って一部が欠けてカメラに写ると認識できない問題点があるとわかった。
また、ドリルの状態がわからないと画面だけ見て操作するのは難しいようだ。
評価と反省
ハイスペックな PC で作業を行ったのと同時に外部モニタの解像度が高すぎて処理が遅れ体感に合わなくなっ
てしまった。また行為自体も「操作と目視」なので操作感がよりバラバラに感じられた。解決方法としては処
理を早くするためにフレームレートをさげプロトタイプする環境に合わせて作成し直すことにした。
今回は AR マーカーを使用したが、傾きなら HOTMOCK の内蔵加速度センサーでも得られる。外部モニタに
繋いだスマートフォンでタッチ操作を使用するのも面白くなると思います。