サーボ (ショット機構)¶
ディスク発射機構の チルト(上下) と トリガー(発射) はシリアルサーボで制御します。
motor_control_app の shot_component ノードが担当します。
接続¶
| 項目 | 値 |
|---|---|
| ポート | /dev/servo |
| ボーレート | 115200 bps |
| チルトサーボ ID | 11 |
| トリガーサーボ ID | 10 |
/dev/servo について
/dev/servo は udev ルールで固定化されたシリアルデバイスのエイリアスです。
実体(/dev/ttyUSB* 等)は環境によって変わるため、エイリアスで参照します。
詳細は 配線・デバイスマッピング を参照してください。
主なパラメータ¶
shot_component の既定パラメータ(shot_config.yaml)は次のとおりです。
| パラメータ | 既定値 | 説明 |
|---|---|---|
joy_topic |
/joy |
入力する Joy トピック |
port |
/dev/servo |
サーボのシリアルポート |
baudrate |
115200 |
ボーレート |
tilt_servo_id |
11 |
チルトサーボの ID |
trigger_servo_id |
10 |
トリガーサーボの ID |
fire_button |
5 |
発射ボタン(Switch2 R / DualShock R1 = 5) |
fire_duration_ms |
300 |
発射動作の持続時間 (ms) |
tilt_axis |
7 |
チルト入力に使う軸(D-pad 縦 = 7)。負値ならボタンモード |
tilt_up_button_index |
4 |
チルト上ボタン(Switch2 L = 4) |
tilt_down_button_index |
6 |
チルト下ボタン(Switch2 ZL = 6) |
fire_angle |
145.0° |
発射角度 |
home_angle |
245.0° |
ホーム角度 |
tilt_max_angle |
120.0° |
チルト最大角度 |
チルト入力モード¶
tilt_axis の値で、チルトの入力方法を切り替えます。
tilt_axis >= 0… 指定したアナログ軸を使用(例:D-pad 縦 = 7)。tilt_axis < 0…tilt_up_button_index/tilt_down_button_indexのボタンを使用。
コントローラ種別による調整
ボタン / 軸のインデックスはコントローラ種別(UART / DualShock)で異なります。
shot_config.uart.yaml / shot_config.dualshock.yaml に種別ごとの設定があります。
詳細は コントローラ入力 を参照してください。