Leap Motionの精度確認

ジェスチャー操作センサー「Leap Motion」が、どれくらいの精度か確認したいと思います。

デフォルトのソフト、診断ビジュアライザーを使ってテストします。

ただ・・・私だとセンサーが認識しやすいよう、無意識に手を動かしてしまいそうなので、何も先入観のない子供にテストをしてもらいました。

グー・チョキ・パーの動きは前回の確認済みなので、ちょっと難易度が高そうな動きも見ていきたいと思います。

指で円を描く

人差し指でくるくる円を描きます。

これは安定して認識しています。

人差し指の認識は、特に安定しているような気がします。

手と手を握る

次は、絶望的に難しいと思われる、手と手を握った状態にしてみます。

なんとすごい!最後に右手の認識が外れましたが、十分機能しています。

重なった手を、どうやって手と認識しているんだろう?

前フレームとの差異を比較して、間接の位置を予測し続けているのか?・・・もはや私にはわかりません。

まあ、こんなジェスチャー入力を採用することはないと思いますが。

たまに手がどこかへ行く

精度は良いとはいえ、たまに自分の手が、どこかへ行っちゃいます。

あれー、戻ってこーい!

こうなると、意図しないジェスチャーが入力される可能性はあります。

実用化に必要な精度は?

家や街中でジェスチャー入力をする機会は、いまだにありません。

タッチーセンサーのように実用化し、普及するのは、ほぼ100%の精度になってからかもしれません。

ジェスチャーがタッチより優れているのは、衛生面(触らなくていい)と、操作機器から少し離れた距離でも入力できるところでしょうか。

まだ先の印象ですが、キッチンとかで使われるようになるかもしれません。

Leap Motionは未来のUIか?

手を動きを認識するLeap Motionを、半年前くらいに購入しました。

モーションキャプチャー精度が高く驚きます。しかし、日常的に利用するまでには至りませんでした。

Leap Motionとは?

手のジェスチャーでPC操作ができるようになる、近未来インターフェースです。

2012年に発売されているので、むしろ過去のインターフェースかもしれません。

外見はおしゃれ。

サイズも小型で、横8cm×縦3cm×高さ1cmくらいです。

診断ビジュアライザーで驚く

Leap MotionをPCにUSB接続し、診断ビジュアライザーを起動すると、すぐに動作確認ができます。

自分の手の3Dボーンが映し出されました。

なんだこの近未来的な体験は!?(今さらですが)

じゃんけんだってできます。

目の前の3Dボーンに自分の手の感覚が移る錯覚・・・ラバーハンド錯覚のようです。

それくらい、モーションキャプチャー精度が非常に高く、素晴らしい製品に感じました。

モーションキャプチャーの進化

ジェスチャー操作には昔から興味がありました。

子供でも直感的に操作できますし、ユニバーサルなUIを実現できる可能性を感じていました。

しかし、かなり前に日本科学未来館で、操作性の悪いジェスチャーUIを体験してから、実用的ではないのかな・・・と思い、遠のいていました。

まさかここまで進化していたとは!

しかし、使いどころは難しい

Leap Motionでより精度の高いキャプチャーができるようになったものの、日常的にジェスチャー操作は使っていない状態です。

音声操作の方が楽で、Alexaの方が使われています。

・・・Leap Motionで何が出来るか?

いくつか試したので、引き続き記事を投稿します。

Grove イヤー心拍センサーの中身

以前、Grove – イヤークリップ型 心拍センサー(Grove – Ear-clip Heart Rate Sensor)を使い、obnizで心拍数を取得する実験をしていました。

心拍数を測りながら、サンドバッグをたたいて・・・

この後、誤って+-を間違えて心拍センサーをつないでしまい、見事にセンサーが壊れました。

一瞬の油断で、1,800円のセンサーが使えなくなるのはショックです。

捨てる前に分解しよう

もう使えないセンサー。

せめて捨てる前に、気になったことを調べようと思います。

白いボックスが大きすぎない?

運動しながらセンサーを装着するつもりだったので、この心拍センサーが、もう少しコンパクトになるとうれしいです。

大きめの白いボックスが、邪魔になります。

それでは白いボックスをこじ開けてみましょう。

小さな基盤が出てきました。

ボンドで固定されているので、ニッパーで切って外します。

ケースに比べ、基盤は半分以下のサイズ。

これくらいなら、自作のプロダクトにも組み込みやすいかもしれません。

 

そして・・・

1,800円で勉強になったと自分を納得させ、心拍センサーをゴミ箱に捨てました。

obnizで振動取得 いろいろ

振ったら何かしらの値を送信するIoT機器を作りたくなり、obnizで振動取得系のセンサーをいろいろ試しました。

振動センサーでどんな値が取れるかは確認します。

圧電セラミック振動センサー

圧電セラミックの円盤が、振動を電気に変えます。

圧電セラミックを振ると、ブラウザに映し出されたハートが大きくなるプログラムを書きました。振動の強さを可視化します。

圧電セラミックの振動センサーは、振動の大きさを取得するのに向いてそうです。

ボールスイッチ

振動センサーではないのですが・・・ボールスイッチです。

これを振動取得に使うこともできるはずです。

金の筒の中をボールが動いて、ON-OFFが切り替わります。

表示されている数字は電圧です。
LOW(0.17Vくらい)とHIGH(4.7Vくらい)で切り替わります。

やはりスイッチなので、振動取得には向いていないかも・・・。

特定方向の振動回数をおおざっぱに取得するときは、これでよいかもしれません。

ボールがカチカチ動いて、振っている感じが気持ちいいです。

SW-420振動センサー

振動センサ素子SW-420が使われているそうです。

それが何かは分からないですが、期待できそうです。

obnizに装着。

当たり前ですがボールスイッチに比べ、振動取得に向いています。

LOWとHIGHで切り替わるので、振動の大きさは取得できませんが、振動回数・頻度の取得は可能です。

micro:bitで振動取得してBLE通信

もはや脱線しますが、子供向け学習用マイコン「micro:bit」を使い、振動データをobnizにBLEで送ってみます。

micro:bitはボタン電池でも動くので、obnizより小さいプロダクトを作るときや、長時間稼働するものを作るのときには向いています。

なんだかややっこしい構成となりましたが、micro:bit内臓の加速度センサーで、振動を送ってみましょう。

micro:bitからobnizに振動データ(数字)をBLEで送信して、そこからWi-Fiでクラウドを経由してブラウザにデータを送り、ハートを描画しています。

・・・言葉にすると、よくわかりません。

画像解析で振動を取得

さらに脱線します。

もう、振動取得はobnizを使わず、カメラで動いているものを画像解析すればいいんじゃないか?

ということで、OpenCV+Pythonでうちわの振動を解析して可視化するものを作りました。

うちわの色を抽出した後、前フレームとの差分の面積を取って、バーの高さに置き換えています。

目的と条件に合った振動取得を

振動取得をいろいろ試しましたが、SW-420振動センサーあたりが普通に使えそうです。

仕事で使う場合、電池の問題や、電子部品を買う決裁の問題に直面することもあるので、micro:bitや画像解析での振動取得も強引な技として、参考までに掲載します。

 

鈴・振動モジュール

電子工作でブザーが欲しかったのですが手元にありません。

代用品として、振動モーターと鈴を合体させて、音の出るモジュールを作成することにしました。

「ブザーちょうだい」

子供(小3)が突然、「電池とコードと針金とブザーちょうだい」と、詰め寄ってきました。

そして、謎の電子回路を突き付けられました。

なんだこれは?

とりあえず無駄が多いけど、スイッチでブザーが鳴る回路のようです。

ブザーがない

私が電子工作をしているため、ある程度部品がそろっています。

電池とコード(ジャンパーワイヤー)は家にあり、針金はなくても回路が成り立つので・・・省いちゃいましょう。

しかし、ブザーだけは家にありません。

代用品を求め、電子部品の箱を漁ると、スマホのバイブなどに使われる振動モーターが出てきました。

鈴と振動モーターをくっつけよう

運よく鈴もありました。

振動モーターとくっつけます。

電気を通すと・・・チリン♪と、ちょっとだけ鳴りました。

連続で鳴らすのが難しい。というのも、振動モーターの導線が小さくて、子供には接続が難しいようです。

モジュール化しよう

家に小型のブレッドボードもあったので、ジャンパーワイヤーを簡単に挿して使えるようにモジュール化しようと思います。

これで音の出る「鈴・振動モジュール」の完成です。

スイッチ付き電池ボックスで、回路も完成です。

親の都合で、子供が作ろうとした設計とだいぶ変わってしまったけど、教育上良いのだろうか・・・?

ブザーより優しい音

出来上がった回路のスイッチを入れます。

ブザーより優しく感じる鈴の音が気に入っています。

「鈴・振動モジュール」・・・ブザーの代用品として良いかも。

 

Tello 鏡で真下撮影

Telloで真下を撮影したい。

最も軽く実現する方法は、鏡をつけることです。

ありがたいことに鏡を付けるアイデアと、そのパーツの3Dモデリングデータが共有されいます。素晴らしい社会です。

3Dプリンターでパーツ作成

欲しい品を自宅でプリント。これもまた、すごい時代です。

プリントしたものは少し不格好ですが、機能には支障ないでしょう。

シートの鏡はなかったので購入しました。

接着剤で鏡をくっつけます。

そしてTelloに装着!

試験飛行&撮影

玄関で飛ばしてみます。

鏡が軽量のため、飛行には影響がないようです。

しかし撮影映像は・・・

あれ?鏡が足りなかった?

半分真下、半分前方の映像となりました。

鏡を長く切って付けなおします。

これで、だいたい良さそうです。

空から真下を見降ろそう

初めてTelloを外で飛ばします。

10mまで上昇すると、Telloが小さく見えます。

手元のスマホには、真下の映像が送られてきます。

リアルタイムで見ると面白いけど、ちょっとブレるような・・・。

↓動画(減色したもの)

鏡だから実際の揺れの方向と、映像の揺れの方向が合わなくて、手振れ補正が効かなくなるのだと思います。

惜しい。

真下の撮影を本格的にしたい場合は、もっと値段の高いドローンを買ったほうがよいかもしれません。

Telloに糸をつけて安全飛行

Telloを室内で飛ばし、幾度もの墜落を経験しました。

Telloを人が集まるイベントで使おうと考えていますが、制御不能になるリスクが高く、まだまだ道のりが長そうです。

糸を付ければいいのでは

Telloがどこかに流されても、とっさに戻す確実な手段がありません。

なので、糸を付けることにしました。

家にあった透明な糸を付けます。

糸がついている間抜けなドローンとなりますが、安全第一。

犬を散歩させている気分になります。

しかし、効果は抜群。

壁に向かって流されても、引っ張れば戻ってきます。

初心者や子供に最適

ドローンに糸をつけるのは、初心者の室内練習に最適です。

当たり所が悪いと、ドローンの部品は壊れます。

また、家の中で飛ばしていると、小さい子供がドローンを飛ばしたがることもあるでしょう。そういったとき、糸を付けていれば安心です。

今のところありませんが、糸をプロペラに巻き込まないように注意は必要だと思います。

TelloにM5Cameraを載せる・改

前回、TelloにM5Cameraを載せて飛ばそうとしましたが、重心が前に偏りすぎ、でんぐり返しをしてしまいました。

後ろにレゴを追加します。

バランスがまだ悪いですが、一度飛ぶのか試してみたいです。

飛びました!前に傾きながらも頑張って飛び立ちました。

しかし、フラフラして、1分持たずに墜落。

安定には重心とビジョンセンサー

機体が重くなっていきますが、ブロックを追加して重心を取ったほうが良いです。

あと、飛行中に「ビジョンなんとか・・・」の警告(操縦中に読む余裕ない)がでるのですが、ビジョンセンサーでの飛行位置調整が機能しないのでしょう。

緑単色の床じゃ、飛行位置が分かりません。

目印として、ボールを並べました。
(ちなみに、ボッチャコートを上から中継することが、ドローンを買った目的です。)

右下が、M5Cameraの映像です。

まだフラフラしますが、私の場合、カメラを載せなくても墜落させてしまうので、操縦技術と場所の問題かもしれません。

今度は外で試してみましょう。

TelloにM5Cameraを載せる

ドローンで真下を撮影し、リアルタイムで中継する予定でしたが、Telloのカメラは正面固定で動きません。

仕方ないので軽量なネットワークカメラ「M5Camera」を載せることにしました。

軽量・小型・簡単・安価「M5Camera」

「M5Camera」はプログラミングをしなくても、初期状態でブラウザに映像を配信できるカメラユニットです。

カメラケース左右には穴があり、レゴにくっつけることもできます。

軽量・小型バッテリー「FINGER POW」

「M5Camera」はバッテリー内臓ではないので、小さなモバイルバッテリーをくっつけます。

4つの小型バッテリーを素早く交換できる「FINGER POW」を使います。

カメラとバッテリーを合わせて30g。

Telloならきっと飛べます。

TelloのビジョンセンサーをふさぐのはNG

輪ゴムでTelloの下部にくくりつけて飛ばそうとしたら、ビジョンセンサーをふさいでしまい、明後日の方向にフラフラ飛んで行って墜落しました。

ビジョンセンサーが安定飛行に欠かせないようです。

下はスペース的に無理なので、上からカメラをちょうちんアンコウみたいに付けることにしました。

レゴジョイントは3Dプリント

レゴジョイントがあると、M5Cameraに簡単に接続できそうです。

海外のサイトを調べると、3Dモデリングデータが見つかりました。

さっそく、印刷。

・・・うちの3Dプリンターでは、精度が低くてレゴにうまくハマりません。

少し突起を削り、アロンアルフアで本物のレゴブロックを接着。

これで、レゴマウントTelloとなりました。

子供がレゴで作った何かを乗っけて、遊ぶ道具にもなります。

M5Cameraを載せる

レゴでカメラをTelloに固定します。

真下を撮影できるようになりました。

前が重いけど飛べるかな?

いよいよテークオフ

家族が見守る中、テークオフのカウントダウンが始まりました。

GO!

大笑いでした。

・・・最終的には飛びます(つづく)