Skip to content

<FYI>[冬学期演習] ジョイスティックコントローラはUSB接続では正しく動作しない #432

@ketaro-m

Description

@ketaro-m

冬学期演習の中でジョイスティックを利用する部分がありますが,資料に書かれているようにBluetooth接続によって動作をさせないと,正しく動作しません(=USB接続では正しく動作しません.)

演習資料の中では turtlebot_joystick_teleop.launch が利用されていますが,この中で立ち上げられる turtlebot_joy.cppのこの部分 でハードコーディングされているボタンのインテックスが,USB接続時にはうまく機能しないようです.

そもそも,JoystickをBluetooth接続した場合とUSB接続した場合とで,rosrun joy joy_nodeでpublishされる/joyトピックの配列サイズやボタンに対応するインテックスが異なることが原因であるようです.

(Bluetooth接続した場合)

header: 
  seq: 2
  stamp: 
    secs: 1668513199
    nsecs: 146324660
  frame_id: "/dev/input/js0"
axes: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.05203084647655487, 0.1692219227552414, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---

(USB接続した場合)

header: 
  seq: 15
  stamp: 
    secs: 1380
    nsecs: 730000000
  frame_id: "/dev/input/js0"
axes: [-0.0, -0.0, 0.0, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---

この問題は,joyps3joyから起きている問題なので,上手く場合分けなどして回避している例があれば興味があります.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions