Skip to content

stop を true に設定した waypoint のゴール判定が適切に行われないときがある(humble-devel) #22

@koki0624

Description

@koki0624

※ この問題が確認されたのは humble-devel のみです。

問題の概要

一時停止をするために stop を true に設定した waypoint の一つ手前の waypoint で一時停止をしてしまうという問題が、しばしば起きることが確認されました。
検証が不十分ですが、現時点では以下のようなプロセスで問題が発生していると推測しています。


stop が true の waypoint を N番目としたとき

  1. N-1番目の waypoint に到達する。このとき、waypoint_nav はもちろん、nav2 の方でもゴールしたと判定された場合、nav2 の状態が "ゴールした" 状態になる。
  2. waypoint_nav が N番目の waypoint をゴールに設定し、ゴール判定をし始める。
  3. nav2 の状態が "ゴールした" 状態のままの場合、N番目にゴールを設定した直後に waypoint_nav はゴールしたと判定してしまう。(stop が true の waypoint でのゴール判定に nav2 の状態も利用しているため)

結果として N-1 番目の waypoint に到達直後、N番目の waypoint に到達したと判定されてしまい、一時停止する。


現状の対応

nav2 ゴール判定 を waypoint_nav の判定よりも厳しく設定し、nav2 の状態が "ゴールした" 状態になることを防ぐことで、この問題は発生しなくなるようです。

しかし、この問題は特定の箇所のみで確認できたため、発生する条件に別の要因が絡んでいる可能性があり、要検証です。

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions