0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ROS2 Dashingにおける/dev/input/js0以外での joyトピックの使用方法@2022/06

Last updated at Posted at 2022-06-14

はじめに

Windows10上のVirtual BoxのROS2 Dashingにコントローラをつなぐ際、デバイスIDは自動的に
js2以降からとなってしまう。しかし、ROS2 Dashingのコントローラの値取得用のトピックであるjoyは
デフォルトではjs0で起動してしまい、js1以降を指定できない。
parameter設定をすれば済む話なのだが、方法がROSのバージョン間でかなり違っており、Webでも
簡単に確信的な情報を見つけられず、かなり苦労したのでここに残しておく。

実行環境

ホストOS Windows 10 HOME 21H2
仮想化ソフト Virtual Box 6.1.22
ゲストOS Ubuntu 18.04.6 LTS
ROS ROS2 Dashing Diademata
JOYSTICK PS4 DualShock4 Bluetooth接続(※1

※1 Bluetooth接続は、ds4drv等使う記事が出てくるが、私の環境では必要なく
  UbuntuにBluetooth接続するだけでOKだった。

joyトピックをjs0以外で使うParameter設定の仕方

1. joy-params.yaml を作成

この際、拡張子が".yaml"であれば名前は何でもいい
私の環境では、コントローラがjs2に認識されたので下記のように設定した。

joy-params.yaml
joy_node:
    ros__parameters:
        dev: "/dev/input/js2"

今回は保存場所を~/ とした。

2. yamlファイルを指定してターミナルでノードを実行

"__params:=" 以降にPATHを指定。絶対でも相対でもOK。

$ ros2 run joy joy_node __params:=./joy-params.yaml

下記のようにレスポンスが帰ってくれば成功している。

[INFO] [joy_node]: Opened joystick: /dev/input/js2. deadzone_: 0.050000.

参考

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?