センサ・LiDAR¶
YDLiDAR¶
周囲のスキャンには YDLiDAR を使用します。ドライバは外部リポジトリとして
dependency.repos から取り込みます(ワークスペースのビルド)。
| リポジトリ | 用途 |
|---|---|
ydlidar_sdk_vendor |
YDLiDAR SDK のベンダーパッケージ |
ydlidar_ros2 |
YDLiDAR の ROS 2 ドライバ |
起動は questix_core.launch.xml の enable_lidar:=true で有効化され、内部で
ydlidar_ros2_driver の launch を読み込みます。LiDAR のパラメータは
launcher/config/lidar_params.yaml 等で調整します。
ブランチ互換性
ydlidar_ros2 は humble ブランチを参照しています。QUESTiX は Jazzy で動作するため、
ビルド前に互換性を確認してください。
GPIO 入力¶
競技フラグ等のデジタル入力は GPIO から読み取ります。gpio_reader ノードが担当します。
| パラメータ | 既定値 | 説明 |
|---|---|---|
chip_name |
/dev/gpiochip4 |
GPIO チップ(Raspberry Pi 5 は gpiochip4) |
gpio_pins |
[27] |
監視するピン(BCM 番号) |
publish_rate |
20.0 Hz |
読み取り・配信レート |
gpio_reader は監視ピンごとに /gpio/<PIN> (Bool) トピックを配信します。
操作可否の判定(operation_manager)¶
operation_manager は GPIO の状態を監視し、ロボットを操作してよいか判定します。
| パラメータ | 既定値 | 説明 |
|---|---|---|
monitored_pins |
[27] |
監視ピン |
timeout_seconds |
1.0 |
GPIO 更新がこの秒数途絶えたら「操作不可」とみなす |
判定結果は /gpio/controllable (Bool) として配信され、joy_gate が操作入力の
ゲーティング(遮断)に利用します。
flowchart LR
GPIO["GPIO pin27<br/>(gpiochip4)"] --> GR["gpio_reader"]
GR -->|/gpio/27| OM["operation_manager"]
OM -->|/gpio/controllable| JG["joy_gate"]
JG -->|ゲートされた Joy| DRV["drive / shot"]
Raspberry Pi 5 の GPIO チップ
Raspberry Pi 5 では GPIO の操作に /dev/gpiochip4 を使用します(Pi 4 以前は gpiochip0)。
GPIO アクセスには gpio グループへの所属が必要です(systemd サービスは
SupplementaryGroups=gpio を設定)。