Repository navigation
feat: 乗客向けHMI 車内アナウンス・到着表示 (UC-04/UC-05) とゴール距離算出 - #205
Merged
Merged
Conversation
/autoware_api/utils/path_distance_calculator/distance が廃止予定のため、 /api/routing/route のゴール姿勢と /api/vehicle/kinematics の自車位置から ゴールまでの直線距離を算出して goal_distance を求めるよう変更。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
行先表示以外のHMI改善(SYS-HMI-04/05/06/07)を立ち乗り機能から分離し develop 上に再構成。 - UC-04(SYS-HMI-04/05/06): velocity_factors の behavior から停止種別を判定し、 障害物停止(obstacle_stop)/一時停止・横断歩道(temporary_stop)を車内案内。 - UC-05(SYS-HMI-07): 接近10m(arriving_distance)で安全配慮(arrive_caution)、 通常停留所は停止後に到着案内(arrived)+到着表示、終点は従来の thank_you。 - going_to_arrive(到着予告)は Phase1 方針でデフォルト除外し表示・音声を一括制御。 - 発話抑止の announce_interval 基盤(in_interval/set_timeout)を汎用部分のみ移植。 - 音声データ(無音プレースホルダ)・パラメータを追加。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- UC-04 車内停止案内: 障害物/横断歩道/一般の区別をやめ、全て temporary_stop (「停車します」)で共通案内。obstacle_stop のカテゴリ/音声/_select_stop_category を削除。 - UC-05 到着音声: 通常停留所も終点と同じ thank_you を流用し arrived 音声を廃止 (到着停留所名の乗客サイネージ表示・announce_interval.arrived は表示用に存置)。 - 実音声を反映: temporary_stop.wav(「停車します」約0.9s) / arrive_caution.wav(約4s)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- arrived_goal() が self.task_list 未初期化(self._task_list への誤代入)で AttributeError となり thank_you 到着案内が発話されない不具合を修正 - arrive_caution(接近10m安全配慮)を calculate_time_callback の FMSゲート前へ 移設し、FMSスケジュール無しでも発話するように - temporary_stop(停車します)を velocity_factors の停止理由に依存せず運行状態 (AUTONOMOUS走行中にゴール手前で停止)で判定するように変更。e2e対応で停止理由が 出ないケースに対応。到着停止/途中バス停/発進待ちは除外 - engage直後の未発進停止での誤発話防止に _stop_announce_executed を初期disarm化 - 不要になった velocity_factors 購読・STOP_ANNOUNCE_BEHAVIORS を削除 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
到着表示 (handle_phrase("arrived", 停留所名)) は display_phrase に設定して
いたが、これを描画する TimeRemaining.qml は BusStopView の10秒ローテーション
(BusStopName→BusRouteName→TimeRemaining) の3番目で、到着時に counter が0
リセットされるため入室20秒後まで表示されず、5秒の到着ウィンドウでは不可視だった。
到着表示を専用 view_mode "arrived" として独立させ確実に5秒表示する:
- ArrivedView.qml 新規 (白背景・中央大文字で display_phrase を全画面表示)
- main.qml に登録
- view_mode_callback で in_interval("arrived") 中は "arrived" を選択
(safety表示より下・stopping/driving より優先)。5秒経過で stopping へ遷移
- arrived_goal の音声統合前の古いコメントを修正
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
終点(_reach_final)では乗客サイネージに「終点です。ご乗車ありがとうございました」 の文言を表示しない方針に変更。従来は BusStopView ローテーションの TimeRemaining 枠でのみ描画され、到着直後に約20秒遅延+断続表示になる問題もあった。 - route_handler: _reach_final 分岐で display_phrase を空に固定(is_stopping ブランチに落として発車待ち文言が出るのを防ぐ) - signage_utils: 未使用になった handle_phrase の "final" エントリを削除 音声(thank_you)は従来どおり。スケジュール完了時は従来どおり回送中(out_of_service)へ遷移。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
緊急停止 (emergency) の表示は従来 EmergencyStopView 内の Timer で10秒ごとに EmergencyStop/EmergencyStopping を切り替えていたが、comfortable stop (slowing/slow_stop) と揃えて motion_state で状態を2つに分け、表示を固定する。 - 減速中 (emergency_slowing): EmergencyStop (急停止します) を表示 - 停止後 (emergency_stopped): EmergencyStopping (安全確認のため停車しています) を表示 CVM state 報告は両状態とも mrm_emergency_display にマップする。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
comfortable stop 判定・緊急停止中判定・緊急アナウンスが1関数に混在していたため、 振る舞いを変えずに以下のヘルパーへ分割して見通しを良くする。 - _update_comfortable_stop_state: comfortable stop の減速中/停止後判定 - _update_emergency_state: 緊急停止中かどうか(_in_emergency_state)の判定 - _announce_emergency: 緊急アナウンスの発話 発話の初回/繰り返し判定は従来どおり更新前の _in_emergency_state を参照するため、 状態更新より先に発話ヘルパーを呼ぶ順序とし、freeze/timeout による解除条件・ trigger_time 更新タイミングも従来と等価に保っている。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yabuta
added a commit
that referenced
this pull request
Jul 30, 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
added a commit
that referenced
this pull request
Jul 30, 2026
* feat: 立席運行向け転倒防止アナウンス機能を追加 立席運行時の転倒防止のためのアナウンス/表示を追加する。 - 立席モード切替サービス (/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> * fix: 立席警告音声の音量を他アナウンスに揃える 追加した立席警告音声4件が他アナウンス(約-16 LUFS)より約10dB小さく 聞こえづらかったため、統合ラウドネス -16 LUFS へ正規化して揃える (形式は 48kHz/16bit/mono 維持、ピーク -1.5dB でクリップなし)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


概要
乗客向けHMI改善 (SYS-HMI-04/05/06/07) のうち車内サイネージ・車内アナウンス系をまとめて実装。
変更点 (コミット単位)
30360a9): route と vehicle kinematics からゴール距離を算出 (FMS非依存)。到着接近判定の基盤。252b5df): 走行中の予定外停止で「停車します」、接近10mで安全配慮、到着で到着案内を車内発話。eadcbc8): 障害物/横断歩道/一般を区別せずtemporary_stop(「停車します」)に統合。通常停留所の到着音声は終点と同じthank_youを流用。実音声反映。91852ae):task_list属性名タイプミスによる到着時クラッシュを修正。arrive_caution / temporary_stop を FMSスケジュール・velocity_factors 停止理由に非依存化し運行状態で判定。9fb9656): 到着案内「‹停留所›に到着しました」を専用 view_modearrived+ArrivedView.qmlで全画面5秒表示。従来の BusStopView ローテーション経由では counter リセットにより5秒窓で不可視だった問題を解消。検証
colcon build --packages-select signage成功対象外 / 備考
🤖 Generated with Claude Code