LoginSignup
0
1

More than 1 year has passed since last update.

ROS環境構築 <Part 2> ゲームパッド接続

Last updated at Posted at 2022-10-13

はじめに

ゲームパッド(Logicool F710)をROSで使うためにセットアップした際の忘備録です.
(2022年10月購入)
図1.png

環境

PC (Panasonic Let's Note CF-FV)

・OS: Windows11 Pro (64bit)
・VirtualBox: 6.1.38 (Ubuntu18.04.3, GUI環境)
・ROS: melodic
※こちらの環境構築については別記事
https://qiita.com/pez/items/741b43eb4765894edc94
と同様になります
(追記)
・Ubuntu16.04 + kinetic でも全く同様の操作でセットアップできることを確認

ゲームパッド

・Logicool F710

ゲームパッドをPCに接続

ゲームパッドのドングルをPCに接続
入力モードとしてX(XInput)とD(DirectInput)があるがXの方にしておく

VirtualBoxの設定

立ち上げ直後の画面の「設定」⇒「USB」⇒ USBフィルタの追加 
で接続したゲームパッドを選択して加える ⇒ OK
gamepad1.jpg

Ubuntuの設定

接続確認

$ lsusb

lsusb.png
一覧の中に接続したゲームパッドが表示されれば認識されている.
表示されない場合はエラー対応MEMO①へ↓↓

動作確認

$ jstest-gtk

※未インストールの場合は下記でインストール

$ sudo apt-get install jstest-gtk

該当のデバイス(ここでは Logitech Gamepad F710)を選択して「プロパティ」
ゲームパッドのボタンやスティックの操作で反応するか確認する.
図2.png

また,ゲームパッドの接続先 (例としてここでは) 「/dev/input/js2」を確認(記憶)しておく

エラー対応MEMO①

ubuntuでゲームパッドを認識できない状況が発生することがあった
(lsusbコマンドの段階で表示されない)
・Ubuntuの再起動
・VirtualBoxの立ち上げ直し
・ゲームパッドの接続し直し(USBデバイスフィルターの再設定)
などを繰り返していたらあるとき認識された.腑に落ちない.

そもそもPCがゲームパッドを認識していない?と思ったら
下記が参考になると思います

ROSのjoy用パッケージのインストール

いつかソースコードを参照したりいじったりする日がくるかもしれないということで、ソースコードからビルド

githubから
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-drivers/joystic_drivers.git
ビルド
$ cd ~/catkin_ws
$ catkin_make

エラー対応MEMO②

ここで「fatal error : spnav.h そのようなファイルやディレクトリはありません」
といったエラーが出てビルドできなかった.そこでそのspnavというものをインストール

$ sudo apt-get install libspnav-dev

その後は正常にビルドできた.

動作確認

ROSを立ち上げる
$ roscore
別のターミナルにて
$ rosrun joy joy_node _dev:=[ゲームパッドの接続先]

例えばここでは
$ rosrun joy joy_node _dev:=/dev/input/js2

さらに別のターミナルにて
$ rostopic echo /joy

これでゲームパッドを操作したときに画面にその情報が出れば成功
tan7.png

終了したいときは全ターミナルで
Ctrl + C

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1