notes
ProjectSalamander

ゲームパッド操作 (teleop)

salamander のゲームパッド割当。manual (関節ジョグ・吸着) と auto (BT 発火・手動位置合わせ) の 2 モード。正本は salamander_controller.yaml

要点: R1 を押している間だけスティックが効く。manual は関節 5 軸、auto は BT の発火と手先 XY のジョグ。SQUARE はモードで意味が変わる (manual = 吸着、auto = 確定)。

起動#

ros2 launch salamander_bringup manual.launch.xml       # driver + control + teleop。BT 無し
ros2 launch salamander_teleop controller.launch.xml    # teleop だけ (制御チェーンは別途)

起動後に一度、全ボタン離し・スティック中立にする。joy が 0.3 s 途切れた後は中立フレームが来るまで入力を無視する。

共通#

キー動作
DPAD_UPmanual モード (既定)
DPAD_DOWNauto モード
START 0.4 s 長押し走行中の BT を cancel
PS (manual 中)goto_home (BT executer が要る。無ければ posture_request に home)

manual モード (関節ジョグ)#

キー関節上限 [rad/s]可動域 [rad]
LEFTXbase_yaw1.0±π
LEFTYshoulder_pitch0.8−0.785 〜 1.308
RIGHTYbeam_pitch0.80 〜 1.396
RIGHTXwrist_yaw1.5±π
R2 (TRIGGERRIGHT)wrist_pitch1.0±π/2。押すと缶が立つ向き (単方向)
R1有効化。押した時点の joint_states を初期目標にする
SQUARE吸着トグル (grasp_close / grasp_open)

auto モード#

キー動作
TRIANGLEpick_place (pick_request の col/row/box)
CROSSgoto_home
CIRCLEgoto_rest
R1 + LEFTY / LEFTX手先を base_link +x (前) / +y (左) にジョグ。50 mm/s、30 mm まで
SQUAREジョグ位置で確定 (operator/confirm)

ジョグと確定は behavior_server_node の manual_place=true で BT が ManualAdjust に止まっている間だけ効く。120 s で失敗。

ファイル#

  • 割当: salamander_teleop/params/salamander_controller.yaml
  • 手順の詳細: docs/salamander.md の「salamander_teleop」「Step 4」
  • joy: salamander_teleop/params/joy.yaml (autorepeat 20 Hz、deadzone 0.08)

関連#

  • /docs/project/salamander/manual-final-placement
  • /docs/project/salamander/real-robot-bringup
最終更新:

On this page