ROSでDUALSHOCK 4(以下、DS4)を扱う方法はds4drvを使う例をよく見かけるけど、何もインストールせずにDS4の無線接続ができてしまったので、その記録。
できた理由がUbuntuのバージョン18.04によるものなのか、Parallels Desktop 15という仮想環境を使っているせいなのかは不明。
動作環境
少し特殊な環境かもしれないので、環境について最初に記載。
PC
ホストOS: macOS Mojave 10.14.6
仮想環境ソフト: Parallels Desktop 15
ゲストOS: Ubuntu 18.04
ROS: Melodic
下準備
Parallels Desktopには、ホストOS(Mac)とBluetoothを共有する機能があるけど、DS4の電源をONにするとほぼほぼMacと接続されてしまうなど、扱いが難しかった。そのため、次のような対策をしてみた。
- Parallels DesktopのBluetooth共有機能をOFFにする
- PCにBluetooth USBアダプター(BT-Micro4)を接続する
- USBデバイスはホストOSかゲストOSのどちらかのみに接続されるため、ゲストOSを選択する
こうすることで確実にゲストOSと接続できるようになった。
その後、ゲストOS上でDS4とBluetoothのペアリングすれば、ゲストOS上で/dev/input/js1と認識。
あとは、前回の「Turtlebot3をPS4コントローラーDUALSHOCK 4で動かしてみた(有線接続)」の方法で、無線でもTurtlebot3を操作できた。
PLANEX Bluetooth USBアダプター Ver.4.0+EDR/LE(省エネ設計)対応 BT-Micro4
- 出版社/メーカー: プラネックス
- 発売日: 2012/02/10
- メディア: Personal Computers
- 購入: 3人 クリック: 9回
- この商品を含むブログを見る