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_UP | manual モード (既定) |
DPAD_DOWN | auto モード |
START 0.4 s 長押し | 走行中の BT を cancel |
PS (manual 中) | goto_home (BT executer が要る。無ければ posture_request に home) |
manual モード (関節ジョグ)
| キー | 関節 | 上限 [rad/s] | 可動域 [rad] |
|---|---|---|---|
LEFTX | base_yaw | 1.0 | ±π |
LEFTY | shoulder_pitch | 0.8 | −0.785 〜 1.308 |
RIGHTY | beam_pitch | 0.8 | 0 〜 1.396 |
RIGHTX | wrist_yaw | 1.5 | ±π |
R2 (TRIGGERRIGHT) | wrist_pitch | 1.0 | ±π/2。押すと缶が立つ向き (単方向) |
R1 | 有効化。押した時点の joint_states を初期目標にする | ||
SQUARE | 吸着トグル (grasp_close / grasp_open) |
auto モード
| キー | 動作 |
|---|---|
TRIANGLE | pick_place (pick_request の col/row/box) |
CROSS | goto_home |
CIRCLE | goto_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
最終更新: