Skip to content

ゲームパッドの利用方法

shiigi edited this page Aug 7, 2020 · 4 revisions

目次


概要

ゲームパッドとしてはELECOM製 JC-U4113SBKを推奨致します。
その他ゲームパッドも利用できますが、ROS側のconfig設定等は自己責任にて行ってください。
本項では同ゲームパッドの利用方法について記載します。

ゲームパッドには全13ボタンとアナログスティック2本が付いており、各配置は下図のようになっています。

/task_programmerではDirectInputモードを利用してください。
連射AUTOボタンは不具合の原因となるため、利用しないでください。

操作方法

移動

  1. Direct/XInput切替スイッチをD側にスライドする
    中央LED(GUIDEボタン)が赤点灯するとPCと接続されています。
  2. LBボタンを押した状態で、SEED-Moverの車輪にサーボが入ることを確認する
    プログラム(robot_bringup.launch)が起動していれば、同ボタンを押す=車輪のサーボONを意味します。
    もしサーボONしない場合、プログラムが起動されているか確認してください。
    (GUIの場合、"地図作成"もしくは"地図利用"ボタンを押してください)
  3. LBボタンを押したままジョイスティックを操作し、SEED-Moverが動く事を確認する
    動かし方は下記を参照のこと。なお、LBの代わりにLTボタンを押すと移動速度がアップします。

waypointの設定

ゲームパッドで移動ができる状態にて、下記を参考にwaypointの登録/参照/削除を行ってください。
 登録 : “START”ボタン
 参照 : “BACK”ボタン
 削除 : “LB + LT + RB + RT”同時押し

設定変更

ジョイスティックでの移動を滑らかにする

/launch/joy.launch内のJOY_SMOOTERtrueしてください。
ジョイスティックの値をローパスフィルタを通してトピック/joy_outとして出力します。
変換はscripts/joy_smoother.pyで行っています。

最大速度を変更する

/config/ps3-holonomic.config.yamlの各種値を変更してください。
低速移動時の最大速度はscale_linear[m/sec]とscale_angular[rad/sec]の値です。
高速移動時の最大速度はscale_linear_turbo[m/sec]とscale_angular_turbo[rad/sec]の値です。

他のゲームパッドを利用する

本パッケージでは、/launch/joy.launch内でゲームパッドのデータを下記フローで変換しています。

  • SONY製DUALSHOCK3の場合
  1. ゲームパッドの値をノード/joy_nodeで読み込み、トピック/joyとしてpublishする
  2. ノード/teleop_nodeでトピック/joyをsubscribeし、トピック/cmd_velをpublishする
  • SONY製DUALSHOCK3以外の場合
  1. ゲームパッドの値をノード/joy_nodeで読み込み、トピック/***/joyとしてpublishする
  2. ノード/***_to_ps3でトピック/***/joyをsubscribeし、トピック/joyとしてpublishする
  3. ノード/teleop_nodeでトピック/joyをsubscribeし、トピック/cmd_velをpublishする

ELECOM製ゲームパッドの場合、2.のトピック変換(remap)は/config/elecom_to_ps3.yamlの設定に従っています。
他のゲームパッドを利用する際は、DUALSHOCK3のボタン配置と同じになるように、YAMLファイルを作成してください。

トラブルシューティング

移動時にガタガタ振動する

中央LED(GUIDEボタン)が点滅している場合、下記いずれかが考えられます。

  • PCとの通信が途切れている
    何もボタンを押していないのにLEDが点滅する場合、接続不良の可能性が高いです。
    原因としては周辺環境に2.4[GHz]無線が乱立している場合が多く、 USBドングルの配置を変えたり、ロボットに近づいてゲームパッドを操作する事で対応してください。

  • 連射機能がONとなっている
    何かボタンを押した時にLEDが点滅する場合、そのボタンが連射モードとなっています。
    当該ボタンを押した状態で、左上の連射CLEARボタンを押してください。
    連射モードの詳細はユーザーマニュアルをご参照ください。