2010年10月10日日曜日

Mac & LinuxでPepperの動作テスト

そろそろフィジカル・コンピューティングの授業のために準備をしようと考えて、購入したキットを組み立てる作業をはじめました。手始めに、Pepperから作り始めよう(部品数が少なくてすぐに作れるから)と考えて、以前にスイッチサイエンスさんで購入して組み立てたままになっていたのPepperがあったのを思い出し、まずはこいつから動作テストをすることにしました。

軽い気持ちでUbuntu 10.04で動かしているPCとPepperをつなぎ、Processingからそれらしいプログラムを流してみました。しかし、どうにもうまく行きません。Linuxだからダメなのかもしれないと思ってMac OS X 10.5.8からもやってみましたが、やっぱりダメです。「ハンダ付けが下手なのか?」と疑ってみましたが、それぞれの環境で「/dev」以下を覗いてみると、ちゃんと認識されているのです。さてはProcessingに関する問題だろうと推察し、いろいろと調べて回りました。すると、次のような手順でセッティングをしないと、Pepperを動かすことができないということがわかりました。
#やらなければならないことは、MacもLinuxも同じですが、やり方が少し違うので注意が必要です。
  1. Pepper用の「gainer.jar」を導入する
    デフォルトのGainerライブラリだと、Pepperをうまく認識してくれないようなので、PepperのダウンロードサイトからPepper用のgainer.jarをダウンロードして、Processingに導入します。
  2. Pepperに対応した「RXTXcomm.jar」を導入する
    Pepperを接続した際、Macでは「/dev/cu.usbmodem****(「*」は数字とアルファベット)」として認識され、Linuxでは「/dev/ttyACM*(「*」は数字)」として認識されます。この状態で、デフォルトのRXTXライブラリではProcessingとPepperをつなぐことができないため、Pepperに対応したRXTXcomm.jarを導入します。
    #ページの中央付近にリンクされています。
  3. Processingのpdeファイルに接続先を明示する
    いわゆる「Lチカ」で動作確認するために、Pepper用に書かれたpdeファイルを探した(横着ですみません…)ところ、エレキジャックさんのWebサイトにフォローアップ記事があり、これを使うことにしました。それぞれの環境で「/dev」以下を確認し、どのように認識されているのかを確認した上で修正します。
    修正前:gainer = new Gainer (this, Gainer.MODE1);
    修正後(Mac):gainer = new Gainer (this, "/dev/cu.usbmodem****", Gainer.MODE1);
    修正後(Linux):gainer = new Gainer (this, "/dev/ttyACM*", Gainer.MODE1);
    #フォントが導入されていない場合は、続く「myFont…」と「textFont…」の行をコメントアウトしてください。
  4. 回路を組んでPepperをつないで動作確認する
    記事の通りに回路を組んで、Processingからpdeファイルを動かす(Run)と、ちゃんと期待通りに動いてくれました。他のものも試してみましたが、問題ありませんでした。
はじめは、すぐに済むだろうと思ったPepperの動作テストでしたが、思いの外時間がかかってしまいました。KNOPPIX 6.2では、Ubuntuと同じ方法でやっても動きませんでした。こちらはもう少し時間がかかりそうです。たぶん私以外にも苦労されている方がいらっしゃるだろうと思って、ここにまとめてみましたので参考にしてみてください。(「自己責任で」というのは、いつものパターンですが…)

0 件のコメント: