PepperくんがJavaから制御できると聞いて、駆けつけて、触ってきた件について
JDTとStephan ChinのJJUG Raspberry Pi Night Seminarで紹介された
Pepperくんが、Javaで制御できる件…さっそく体験会に行ってきました。
今回は、ソフトバンクロボティクスさん主催のJJUG協賛イベントで、神田の3331にあるアルデバランのアトリエで行われました。
募集自体が、Stephanのセミナー内で行われたことと瞬殺で全席完売状態だったので、参加したかった人に情報が行き渡らなかったみたい。
今回の開催自体はStephanの「JJUGのために、やってあげてよー」という発言があったからみたいです。Stephan、ありがとう♪
やったことは、
でした。
資料類は、Web公開しないでねー(ハンズオンの風景写真はいいけど)と言われたので、資料公開は無しです。(スライドだけは公開したいなー。)
とりあえず、どんな感じのソースコードになるか?だけは、お知らせしたいので、私が最初にテストしたソースコードを載せます!
このコードをEclipseで書いて実行すると、PCにあるプログラムからPepper内にあるPepper SDKを呼び出しして、Pepperが動きます。
PC側にプログラムがあるので、ブレイクポイントを仕込んで、デバッグ実行も可能でした。
難点は、
- プログラム側が落ちても、Pepper側の動作が終わらないことがある
- プログラム末尾まで動いても、プログラム自体が終了しないことが多い
という点で、このへんは今後の改良待ち…ですね。
他の実行方法として、Pepper内部にプログラムをインストールしてしまう(これが本来のやりかたなのでしょう)方法も用意されているとのことですが、今回はやりませんでした。
あと、Pepper実機が無い人のために、Choregrapheのバーチャルロボットを使って動作確認する方法を聞きました。
Choregrapheの[編集]->[設定]でロボットモデルを選んでから、[接続]->[バーチャルロボットに接続]を選んで、Choregraphe上のロボットビューに、バーチャルロボットを出します。
プログラムのほうは、[編集]->[設定]の画面に出ていたポート番号を使って、
にすればいいそうです。
Choregraphe上のロボットビューは、センサーや音声をバーチャルに処理するため、センサー用のライブラリを設定したり、音声はふきだしで表現したり…と、面白みには欠けますが、一通りのことができそうです。(経験上、カメラはバーチャルロボットではダメ…)
Java用のAPIはjavadocレベルのリファレンスもいただきました。APIを見るといろいろできそうな感じはあるのですが、まずは、Choregrapheでどんな制御ができるのかを勉強したほうがよさそうです。
ハンズオンで体験したWindowsだとめんどくさいなーという点をまとめます。
私は、Choregrapheは触ってたのでそこは大丈夫!と思っていたら…
今回持参したWindows7機では…いろいろと…問題が…
まず(分かっていたことですが)ChoregrapheからPepper実機に接続するとき、通常は[接続ボタン]から一覧を出して自分の使うPepperを接続するのですが、Bonjourが入ってないと、一覧内容が出ないのです。Windows機でzipのほうのChoregrapheだとBonjourのインストールを聞かれないので…入れ忘れることが多いです。
Bonjour必須!!
次が、Java SEのこと。Pepper用のJava SDK(Java NAOqi SDK)は、32bitベースです。こちらが作るプログラムも32bitのJava SEが必要です。Windows機で64bit使ってる人は、ちゃんと用意しておいてね?ということでした。
とりあえず、短い時間のハンズオンでしたが、Eclipseで開発して、実機を即動かせるというところがよかったです。
噂によると、6/6にJJUGがPepperハッカソンをするような…。なので、それまでにSDKを研究しておきたいと思っています。