back
Pepperをブラウザから操ろう!

今年より、アクアリングの仲間になりましたエンジニアのTaijimanです。
 
今回は、僕より少し先輩のPepper君のQiMessagingライブラリを使用して、先輩の秘密をさぐってみたいと思います。
 
使用方法は、以下のタグをHTMLに追加すれば、使用できるようになります。
ローカルで試験的に使用するため、pepper先輩のIPを指定しています。

 
以下のリンクからもソースを取得できるようです。
https://github.com/aldebaran/libqi-js
 
接続方法は、以下のようになります。
接続成功時、接続失敗時にJavaScriptコンソールに出力します。
ローカルで使用するので、こちらにもIPを指定します。

 
PepperのNAOqi APIを使用するには、以下のような記述で使用できるようになります。
doneが成功時、failが失敗時の処理ですね。

 
今回は、NAOqi APIがどこまで使用できるのか試してみたいので、
以下のようなメソッドを作って、実行してみます。
(本当はtimeoutも設定すべきですが・・)
成功時には、pepper.{サービス名}でその機能を実行できるようにしています。

 
サービス名称は、以下のページを参考に配列に加工します。
http://doc.aldebaran.com/2-1/naoqi/index.html

 
Pepper_JavaScript.01
 
ALRobotPose以外、deprecatedな機能もほとんど実行できるようですね。
ALExtractor, ALModule, ALVisionExtractorsは親クラスなのでAPIとしては使えないのはわかりますが、ALLandmarkDetectionが使えないのは、解せない・・・。
 
ALLandMarkDetectionに変更すると・・・
 
Pepper_JavaScript.02
 
使えるようです。
 
JavaScriptコンソールで以下のようにたたくとPepper先輩が話します。

 
getMethodListで使用できるメソッドの配列、getMethodHelpで使用方法がとれるので、
各APIの説明は、JavaScriptコンソールで調べるほうが簡単ですね。
 
Pepper_JavaScript.03
 
Pepper先輩は、家族構成は教えてくれませんが、NAOqi APIを使ってブラウザから操れることがわかりました。
 
javascriptで操作するとか、ウェブの知識、技術を活用できるので、
SVGあたりと組み合わせたら、もっとおもろいことができそうですね。

Please share it!

FacebookTwitterGoogle+Pinteresttumblr