Skip to content

feat: 転倒防止アナウンス機能 - #206

Merged
yabuta merged 2 commits into
developfrom
feature/standing-fall-prevention-announce
Jul 30, 2026
Merged

yabuta merged 2 commits into
developfrom
feature/standing-fall-prevention-announce

Conversation

@yabuta

@yabuta yabuta commented Jul 14, 2026 •

Copy link
Copy Markdown
Contributor

概要

L2立席運行(乗客が立って乗車する運用)向けの転倒防止アナウンス+表示機能。要件 UC-01〜03 を実装。

変更点 (コミット単位)

  • 転倒防止アナウンス機能を追加 (UC-01〜03) (ea156f9): 立席モード(UC-01, SetBoolサービス /signage/set/standing_mode, 停車中のみ受付)、発車警告(UC-02)、急減速/急操舵の即時警告(UC-03, sudden_motion_checker_callback)、StandingWarningView.qml。
  • 音声データ追加 (a809a6c): 転倒防止アナウンスの実音声4件(standing_depart / standing_sudden_stop / standing_sudden_turn / standing_sudden_stop_turn)。
  • 発車時の二重発話を解消 (caf4911): engage と発車警告の「発進します」重複を修正。
  • 要件更新反映+アナウンス提供ログ (0e725f4): 縦jerk判定・UC別クールダウンの要件反映、send_announce の結果ログ (NFR-08/09/10)。
  • UC-02クールダウンskipログ削除でUC-03と方針統一 (8e9181d)。
  • 永続設定をSettingsStore(統合JSON)に集約・クールダウンをannounce_interval方式へ (1805052): 個別ファイル→/opt/autoware/signage_settings.json 統合。クールダウンを VVAS 同方式の announce_interval へ移行。
  • 急減速アナウンスのjerk判定を減速方向のみに限定 (d504a2b): 加速時の正ジャークを急減速と誤判定する問題を受け、jerk <= -0.6(減速方向のみ)へ確定。
  • UC-03急操舵判定に横ジャーク(計算)を追加し横加速度とORで判定 (aacc1c2): 急操舵検知を横加速度(lateral_acceleration_abs >= 0.8)単独から、横加速度 OR 横ジャークの2条件へ拡張(要件 SYS2-UC03-01「metricのいずれか超過で急操舵」/検討案 最大横加速度≥0.8・最大横ジャーク≥0.5)。横ジャークはmetric未配信のため車内サイネージECUで v^2 * steering_rate / wheel_base として算出。速度は /api/vehicle/kinematics(topic)を購読、wheel_base は /api/vehicle/dimensions(サービス GetVehicleDimensions)を起動時に取得(未起動時はタイマー待機)し、取得前・失敗時は param(既定2.75m)をフォールバック。

検証

  • colcon build --packages-select signage 成功。
  • 発進時(UC-02)の表示確認済み。
  • 急減速・急操舵(UC-03)を psim で確認(横加速度 lateral_acceleration_abs による急旋回判定の発火を確認)。

既知の制約 / 対象外

  • 閾値は要件の検討案値を流用しパラメータ化(横加速度0.8 / 横ジャーク0.5 / 縦減速0.8 / 縦ジャーク0.6。要件確定後に再ビルド無しで signage_param.yaml で変更可)。
  • 緊急時縦減速(≤ -1.5)は MRM 最優先で代替のため未実装。
  • 立席/音量設定は pilot-auto の OTA persist_files 未登録のためOTA更新でリセットされる(要別途対応)。

🤖 Generated with Claude Code

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@yabuta yabuta changed the title feat: L2立席運行 転倒防止アナウンス機能 (UC-01〜03) feat: 転倒防止アナウンス機能 Jul 29, 2026
立席運行時の転倒防止のためのアナウンス/表示を追加する。

- 立席モード切替サービス (/signage/set/standing_mode、停車中のみ受付) と設定永続化
- 発車警告: 立席モードON時、発進時に engage に代えて発車警告を発話・表示
- 急減速/急操舵警告: 縦減速・縦ジャーク、および横加速度・横ジャーク(計算)の
  いずれか超過で発話・表示。横ジャークは v^2 * steering_rate / wheel_base で算出
  (wheel_base は /api/vehicle/dimensions サービスから取得、未取得時はパラメータ値)
- 永続設定を SettingsStore (統合JSON) に集約し、再発話抑止を announce_interval 方式へ

乗客向けHMI (#205) との統合で顕在化した不具合を解消:
- autoware_interface の sub_kinematics_callback 二重定義を1メソッドに統合
  (縦速度取得とゴール距離算出を両立)
- dataclass import に field を追加 (velocity_factors の default_factory 用)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yabuta
yabuta force-pushed the feature/standing-fall-prevention-announce branch from aacc1c2 to 2f320d9 Compare July 30, 2026 02:46
追加した立席警告音声4件が他アナウンス(約-16 LUFS)より約10dB小さく
聞こえづらかったため、統合ラウドネス -16 LUFS へ正規化して揃える
(形式は 48kHz/16bit/mono 維持、ピーク -1.5dB でクリップなし)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yabuta
yabuta merged commit baf0275 into develop Jul 30, 2026
1 of 3 checks passed
@operationtoolapp operationtoolapp Bot mentioned this pull request Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant