Skip to content

feat(crane_local_planner): update_rate_hz<=0でコールバック駆動モードを追加#1354

Merged
HansRobo merged 3 commits intodevelopfrom
feat/local-planner-callback-mode
Apr 24, 2026
Merged

feat(crane_local_planner): update_rate_hz<=0でコールバック駆動モードを追加#1354
HansRobo merged 3 commits intodevelopfrom
feat/local-planner-callback-mode

Conversation

@HansRobo
Copy link
Copy Markdown
Member

概要

crane_local_plannerupdate_rate_hz パラメータが 0 以下のとき、タイマーではなく上流コマンド /control_targets の受信コールバックで processLatestCommands() を駆動するモードを追加します。

背景・根本原因

  • 上流の発行レートとタイマーレートがずれると同一メッセージの多重処理や取りこぼしが発生していた
  • update_rate_hz = 0 のときゼロ除算で未定義動作になるバグがあった

変更内容

  • local_planner.hpp: update_rate_hz <= 0.0 のときタイマーを生成せず、/control_targets 受信コールバック内で直接 processLatestCommands() を呼ぶよう分岐を追加。正値の場合は従来通りタイマー駆動。
  • crane.launch.xml: シミュレータ・実機両方の update_rate_hz0.0 に変更し、デフォルトをコールバック駆動に設定。

HansRobo and others added 3 commits April 25, 2026 05:52
## 背景
上流コマンドのレートとタイマーレートがずれると同一メッセージの
多重処理や取りこぼしが発生する。また update_rate_hz=0 の場合に
ゼロ除算で未定義動作になるバグがあった。

## 変更内容
- update_rate_hz <= 0.0 のときタイマーを生成せず、/control_targets
  受信コールバック内で直接 processLatestCommands() を実行するモードを追加
- update_rate_hz > 0.0 のときは従来通りのタイマー駆動(挙動維持)
- コールバックモード選択時に起動ログで明示
- crane.launch.xml のデフォルト値を 120.0 → 0.0 に変更し
  コールバック駆動をデフォルト運用に設定
## 変更内容
- crane.launch.xml の実機用 local_planner 設定の update_rate_hz を
  120.0 → 0.0 に変更し、コールバック駆動モードをデフォルトとする
@HansRobo HansRobo merged commit 641be40 into develop Apr 24, 2026
8 checks passed
@HansRobo HansRobo deleted the feat/local-planner-callback-mode branch April 24, 2026 21:01
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