つくばチャレンジ2009:PS3コントローラをUbuntu8.02で使う

PS3のコントローラでODEのデモを動かす

PS3のワイヤレスコントローラをLinuxで使い、ODEのシミュレーションや本物のロボットを動かせるといろいろ便利ですね。 調べて見るとすでにその方法があり、比較的簡単にできましたので、ここにメモとして記録します。参考にしたページは次のページです。おまけに、ODEのデモプログラムdemo_buggyをコントローラで動かすサンプルプログラムを掲載します。

作業手順

準 備

  • Ubuntu 8.04のみを対象とします。
  • libusb-devとlibusb-0.1-4がインストールされていること
    • sudo apt-get install libusb-dev libusb-0.1-4
  • /home/ユーザ名/src/ps3のディレクトリを作り、このbluez.tgzをダウンロードして展開する。
    • tar xvzf  bluez.tgz

USBのペアリング

  • コントローラをUSBポートに有線で接続する
  • sixpair.cをダウンロードしてコンパイルする。同じファイルは先ほどダウンロードしたbluez.tgzの中にもある。
    • gcc -o sixpair sixpair.c -lusb
  • ペアリング
    • sudo ./sixpair
  • USBケーブルを抜く

Bluez-Utilのインストール

  • 準備でダウンロードしたBluez-Utilをインストールします。これは、PS3コントローラを認識するためのパッチ済みです。
  • インストール
    • sudo dpkg -i  bluez-utils_3.26-0ubuntu6_i386.deb
  • アップグレードの防止:Bluz-utilがシステムにより自動アップグレードされると、PS3コントローラは認識されなくなります。それを防止します。
    • echo bluez-utils hold | dpkg –set-selections

Bluetoothの再起動

  • コントローラを認識させるためにデーモンを再起動します。
  • サービスの停止
    • sudo /etc/init.d/bluetooth stop
  • hicdプロセスの停止
    • sudo killall hcid hidd
  • HIDPデーモンの起動
    • hidd –server –nocheck -n
    • コントローラのPSボタンを押す。成功するとNew HID device … とメッセージが表示される。
    • コントロールキーを押しながらCキーを押すしてデーモンを終了させる。
  • サービスの開始
    • sudo /etc/init.d/bluetooth start

テスト

  • ODE0.11.1をインストールしている方は、このjoystickbuggy090725.tgzをダウンロードして、/home/ユーザ名/src/ode-0.11.1/myprogの中で展開してください。codeblocksのプロジェクトファイルbuggy.cbpがあるのでそれを使いビルドしてください。
  • 設定がうまくできていると、左側のジョイスティックを引くと前進し、左に倒すと左折します。

次回からの利用

  • 設定が一度済んでしまえば次回からは自動的にPSコントローラを認識し利用可能となります。


以上で終わりです。

コメントを残す

メールアドレスが公開されることはありません。