へもろぐ

へもへも備忘録

PepperくんがJavaから制御できると聞いて、駆けつけて、触ってきた件について

JDTとStephan ChinのJJUG Raspberry Pi Night Seminarで紹介された

Pepperくんが、Javaで制御できる件…さっそく体験会に行ってきました。

 

今回は、ソフトバンクロボティクスさん主催のJJUG協賛イベントで、神田の3331にあるアルデバランのアトリエで行われました。

募集自体が、Stephanのセミナー内で行われたことと瞬殺で全席完売状態だったので、参加したかった人に情報が行き渡らなかったみたい。

今回の開催自体はStephanの「JJUGのために、やってあげてよー」という発言があったからみたいです。Stephan、ありがとう♪

 

やったことは、

  • Pepperの概要説明(主にセンサー類)
  • Choregrapheの使い方説明
  • JavaSDKの使い方説明とハンズオン

でした。

資料類は、Web公開しないでねー(ハンズオンの風景写真はいいけど)と言われたので、資料公開は無しです。(スライドだけは公開したいなー。)

 

とりあえず、どんな感じのソースコードになるか?だけは、お知らせしたいので、私が最初にテストしたソースコードを載せます!

4/28のPepperくんイベントで試したソースコード

このコードをEclipseで書いて実行すると、PCにあるプログラムからPepper内にあるPepper SDKを呼び出しして、Pepperが動きます。

PC側にプログラムがあるので、ブレイクポイントを仕込んで、デバッグ実行も可能でした。

難点は、

  • プログラム側が落ちても、Pepper側の動作が終わらないことがある
  • プログラム末尾まで動いても、プログラム自体が終了しないことが多い

という点で、このへんは今後の改良待ち…ですね。

 

他の実行方法として、Pepper内部にプログラムをインストールしてしまう(これが本来のやりかたなのでしょう)方法も用意されているとのことですが、今回はやりませんでした。

 

あと、Pepper実機が無い人のために、Choregrapheのバーチャルロボットを使って動作確認する方法を聞きました。

Choregrapheの[編集]->[設定]でロボットモデルを選んでから、[接続]->[バーチャルロボットに接続]を選んで、Choregraphe上のロボットビューに、バーチャルロボットを出します。

プログラムのほうは、[編集]->[設定]の画面に出ていたポート番号を使って、

   tcp://localhost:出ていたポート番号

にすればいいそうです。

 

Choregraphe上のロボットビューは、センサーや音声をバーチャルに処理するため、センサー用のライブラリを設定したり、音声はふきだしで表現したり…と、面白みには欠けますが、一通りのことができそうです。(経験上、カメラはバーチャルロボットではダメ…)

 

Java用のAPIjavadocレベルのリファレンスもいただきました。APIを見るといろいろできそうな感じはあるのですが、まずは、Choregrapheでどんな制御ができるのかを勉強したほうがよさそうです。

 

 

ハンズオンで体験したWindowsだとめんどくさいなーという点をまとめます。

 

私は、Choregrapheは触ってたのでそこは大丈夫!と思っていたら…

今回持参したWindows7機では…いろいろと…問題が…

 

まず(分かっていたことですが)ChoregrapheからPepper実機に接続するとき、通常は[接続ボタン]から一覧を出して自分の使うPepperを接続するのですが、Bonjourが入ってないと、一覧内容が出ないのです。Windows機でzipのほうのChoregrapheだとBonjourのインストールを聞かれないので…入れ忘れることが多いです。

Bonjour必須!!

 

 次が、Java SEのこと。Pepper用のJava SDKJava NAOqi SDK)は、32bitベースです。こちらが作るプログラムも32bitのJava SEが必要です。Windows機で64bit使ってる人は、ちゃんと用意しておいてね?ということでした。

 

とりあえず、短い時間のハンズオンでしたが、Eclipseで開発して、実機を即動かせるというところがよかったです。

 

噂によると、6/6にJJUGPepperハッカソンをするような…。なので、それまでにSDKを研究しておきたいと思っています。