Ubuntu Weekly Recipe

第302回 Ubuntuで3Dモーションセンサ『Leap Motion』を使う

この記事を読むのに必要な時間:およそ 8 分

『Leap Motion』とはUSBでPCに接続可能な小型で安価な3Dモーションセンサデバイスです。 Leap Motionを使用すれば手や指の動きでマウスやキーボードを使うことなくデスクトップやアプリケーションを操作することが可能です。 今回はUbuntuでLeap Motionを使用する方法を紹介します。

Leap Motionとは

Leap Motionとは,手と指,ペンなどの尖った道具を検出できる3Dモーションセンサです。手の有無や,指の本数,下記のジェスチャなどを検出することができます。

  • Circle(指をくるくる回す動き)
  • Swipe(手を横に振る動き)
  • Key Taps(キーボードのキーを叩くような指の動き)
  • Screen Taps(ディスプレイをつつく,タブレット端末をタップする様な動き)

サイズは,3インチ×1.2インチ×0.5インチとだいたい板ガムより一回り大きめ程度です。Leap Motionはセンサとして2つのカメラと3つの赤外線LEDを備えています。

手や指,ジェスチャの認識は,これらを実現するためには奥行きを含めた3次元の情報を取得することが(とくにジェスチャに関しては)必要です。Leap Motionでは2つのカメラをステレオカメラとして使用することで奥行きの情報を取得可能としています。具体的には,Leap Motion付属のソフトウェアが,2つのカメラが同時に撮影した画像の差分や,LEDが照射した赤外線の影などを手がかりにしてLeap Motion本体上空の左右(x軸)⁠上下(y軸)⁠前後(z軸)3次元情報の抽出を行います。更に3次元情報を付属ソフトウェアが処理して,手や指が存在しているのか,ジェスチャはあったのか,などの検知を行います。

3Dモーションセンサの代表格としてMicrosoftのKinectが存在しますが,Kinectとは下記の違いがあります。

Kinect
  • 全身の動作が対象
  • 分解能はLeap Motionに比べ相対的に低い
  • 公式ドライバ・SDKはWindowsのみ対応
  • TVやディスプレイの上に載せて使用する
Leap Motion
  • 手と指の動作が対象
  • 分解能はKinectと比べ相対的に高い(公称0.01mm単位)
  • 公式ドライバ・SDKがWindows/Mac OS X/Linuxに対応している
  • ディスプレイや,ノートPCの前に置いて使用する

Leap Motionを使用すれば,自分の手の動作のみでデスクトップや,Webブラウザを始めとする各種アプリケーションを操作することが可能です。

図1 Leap Motionの本体

図1 Leap Motionの本体

入手方法

Leap Motionは公式サイト「BUY」ページから入手できます。日本への発送にも対応しています。価格は筆者が確認した時点では本体が日本円で8,400円程度,送料と税金を合わせて1万2,000円程度です注1)⁠

Amazon.co.jpにも並行輸入品が出品されていますが,価格も公式サイトから購入した場合と同程度なので,海外の通販が不安などの特別な理由がない限りは,公式サイトを利用したほうが良いでしょう。

Leap Motion本体以外にもHPからHP ENVY17-j100 Leap Motion SEが2013年12月9日(月)現在,同社オンラインストアで発売中です。Leap Motion本体と比べ高価であることや,そもそもUbuntuで内蔵のLeap Motionが使用できるのかなどの問題がありますが,興味のある方は購入してみましょう。

注1)
購入ページで発送情報を入力するフォームの様式が,日本の通販サイトとは異なっています。そのため,海外通販に慣れていない方は海外通販の注文方法を紹介したサイトなどを参照しながらフォームに入力しましょう。また,フォームの入力はローマ字で行いましょう。

Ubuntuへの対応とインストール

前述のとおりLeap Motionにはデバイスドライバとサービスを含んだLeap Packageが公式で準備されており,debファイルをインストールするのみで利用することができます。

まず,公式サイトの「DEVS」ページへアクセスして,開発者として登録を行います。登録に際して必要なのはメールアドレスだけで,登録料や年会費は必要ありません。

アカウントの登録とサインインを済ましたら,インストーラのダウンロードページからLinuxのインストーラを選択してtarファイルをダウンロードします。筆者が確認した時点では,1.0.9.8409が最新バージョンとして利用可能でした。

インストーラをダウンロードしたら,任意の場所でファイルを下記コマンドを入力するか,GUIからアーカイブマネージャーを使用してtarを展開します。展開をしたらLeap_Packagesディレクトリにカレントディレクトリを移します。

$ tar -xvf Leap_Packages_1.0.9+8409_Linux.tar
$ cd Leap_Packages_1.0.9+8409_Linux

Leap_Packagesディレクトリにはi386/amd64向けのdebファイルと,READMEファイルが格納されています。debファイルをインストールすると以下のソフトウェアがインストールされます。

  • デバイスドライバ
  • デーモンとその起動スクリプト
  • コントロールパネル(GUIプログラム)
  • コントロールパネルから起動する検証・設定プログラム

Ubuntu 13.10ではamd64が推奨となっているため,今回はamd64版のdebファイルを用います。下記コマンドを入力するか,GUIからdebファイルをダブルクリックして,Ubuntuソフトウェアセンターからインストールを行います。

$ sudo dpkg -i Leap-1.0.9+8409-x64.deb

インストールに成功したら,Leap Motionを動かすために必要なデーモンプロセスleapdが起動しているか下記コマンドで確認します。

$ sudo service leapd status

「leapd start/running <プロセスID>」という文字が出力されればleapdの起動は成功しています。起動に失敗してしまっている場合は/var/log/syslogを「Leap」で検索して,Leap Motionに関係するプロセスにエラーが発生していないか確認してください。また,Leap Packageのインストールに成功した時点で,leapdはOS起動時に自動起動する設定となっているため,手動でleapdを起動・停止したい場合以外は,これ以降service leapd startなどの起動・停止のためのコマンドを入力する必要はありません。

次にGUIのコントロールパネルであるLeapControlPanelを起動します。この時点でLeap Motion本体をコンピューターに接続していないようであれば接続をしておきましょう。

$ LeapControlPanel &

初回起動時にはソフトウェア使用許諾契約書の受諾画面が表示されますので,内容を読み,理解した上で「受諾」をクリックします。

図2 ソフトウェア使用許諾契約書

図2 ソフトウェア使用許諾契約書

Leap Control Panelが起動すると,右上のインジケーターにLeap Motion本体の形をしたアイコンが現れ,Leap Motionが正常に接続されているとアイコンに緑色のランプが灯ります。

図3 Leap Control Panelのインジケーター。Leap Motion本体との接続に成功していると緑色のランプが点灯する

図3 Leap Control Panelのインジケーター。Leap Motion本体との接続に成功していると緑色のランプが点灯する

インジケーターのアイコンをクリックすると,デバイスの設定や,診断ビジュアライザーの起動,再キャリブレーション注2が選択可能です。診断ビジュアライザーを起動すると,実際に手や指,ジャスチャーが検出されることが視覚的に確認できます注3)⁠診断ビジュアライザーが動作すれば,Leap Motionを利用するための準備は完了です。

最後にLeap Control PanelをUnityのDashから呼び出せるように設定をしておきましょう。~/.local/share/applicationsの中にleap_control_panel.desktopというファイルを作成し,ファイルに以下の記述を追加して保存します注4)⁠また,⁠自動起動するアプリケーション」にLeap Control Panelを登録して,OS起動時・ログイン時に自動で起動させるように設定してしまうのも良いでしょう。

[Desktop Entry]
Comment=Leap Control Panel
Terminal=false
Name=Leap Control Panel
Exec=/usr/bin/LeapControlPanel
Type=Application
Icon=

図4 診断ビジュアライザー。手指の動きや,モードによってはジェスチャーの認識,ペイント(指やペンの軌跡を表示する)が確認できる

図4 診断ビジュアライザー。手指の動きや,モードによってはジェスチャーの認識,ペイント(指やペンの軌跡を表示する)が確認できる

注2)
再キャリブレーションは,Leap Motionの認識が悪い場合に実行します。したがって,leapdの起動時に毎回実行する必要はありません。
注3)
診断ビジュアライザーと同様なサンプルを試すことができるWebページが存在します
注4)
Iconの項目は空にしていますが,気になるようであれば好みのアイコンのパスを設定してください。

著者プロフィール

菊川竜一(きくがわりゅういち)

趣味のUbuntuユーザ。よくUbuntu Japanese Teamが参加するイベントに出入りしている。

コメント

コメントの記入