Raspberry Pi 4にROSをインストール&PS4コントローラが接続できるようにする
今回からRaspberry Pi4にROS(Noetic)をインストールして、何かしらものを動かしながらROSの勉強を進めていく。
ROSを勉強するにあたってロボットを動かしている感があった方が楽しいので、PS4コントローラーを接続してpythonやROSのパッケージを使って動かしていこうと思う。
ということで、まず今回はRaspberry Pi用のmicroSDにUbuntu Server 20.04をインストールして、ROS Noeticをインストールする。そのあとでPS4コントローラーを使うための環境をセットアップする。
実行環境
Raspberry Pi 4 Model B / 4GB
Ubuntu Server 20.04.5 LTS(64-bit)
ROS Noetic Ninjemys
ワイヤレスコントローラーDUALSHOCK 4(Playstation4コントローラー)
Raspberry Pi 4にROS Noeticをインストール
まずはRaspberry Pi 4にUbuntu Server 20.04をインストールして、そのあとにROS Noeticをインストールする。こちらについては以下の記事を参考にさせて頂いたm(_ _)m
Raspberry Pi 4 を使ったROS入門 第1回 環境構築① Ubuntu20.04とROSのインストール – Qiita
手順は上の記事そのままだが、Raspberry Pi Imagerで選択できるUbuntu Serverのversionがちょっとだけ更新されていたので、以下をインストールして使った。
私のRaspberry Pi 4はメモリ4GBなのでやや不安はあるが、上の記事と同じようにまずはGUIで動かして、開発用のWindows PCからVNC viewerで接続して使うことにする。
PS4コントローラーをBluetoothで接続できるようにする
まずはRaspberry Pi 4にROS Noeticをインストールする。こちらについては以下の記事を参考にさせて頂いたm(_ _)m
ROSの勉強 第42弾:ps4のコントローラでカメ操作 – Qiita
やった手順だけまとめておくと、まずds4drvをインストール。
sudo pip install ds4drv
続いてjoyをインストール。
sudo apt install ros-noetic-joy
あと、Raspberry PiのBluetoothを有効にする必要があるのだが、こちらについては以下の記事
Raspberry Pi 4 Model BでUbuntu 20.04を動かし内蔵Bluetoothを使う
を参考にさせて頂いて、
sudo apt install pi-bluetooth sudo usermod -a -G bluetooth ubuntu
を実行してから一度Raspberry Piを再起動する。ubuntuのGUIの右上のSettingsを開いてBluetoothを開いて有効になっていれば準備完了。
PS4コントローラーをRaspberry Piと接続する
ここまで来たらPS4を接続できるはずなので、Raspberry Piで
sudo ds4drv
を実行した状態で、Raspberry Piの付近でPS4コントローラのPSボタンとSHAREボタンを同時に押し続けると、PS4コントローラーが白く点滅し始める。うまく接続できると、Raspberry Piのターミナルに以下のように「Connected to Bluetooth Controller」と表示が出る。
また、PS4コントローラーが以下のように青く点灯する。これでPS4コントローラーを接続することができた。
参考にさせて頂いたページではROSのカメをPS4で動かしているが、ROSからRaspberry PiのGPIOを制御する実験も兼ねて、次回はPS4コントローラーからGPIOを制御して、Raspberry Piに接続したLEDを点滅させてみる。
ROS勉強記まとめ
この勉強記は以下のページでまとめてます。