-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix/tsukuba navigation #83
Conversation
これとtandemは何か関係があるんですか? |
返信が遅れました。
対応として、1に対しては nav2 のゴール判定を厳しくすることで nav2 のゴール判定よりも先に waypoint_nav にゴール判定をさせることで対応しました。2に対しては、一時停止直前の tandem を無くすことで対応しました。 厳密な検証をする時間はなかったので、原因は推測に過ぎませんが、ひとまず本番では以上の対応をしました。 |
waypoint_navigation側ではゴール到達判定になっているが、navigation2ではゴール到達判定になっていない状態で、navigation2の方でゴールしたと判定されると、waypoint_navigation側では一つ先のwaypointでゴールしたことになってしまい停止したいwaypointで停止できないということですか?
手動で再開するときって |
stop が true の waypoint を N番目としたとき、
このようなプロセスで問題が起きていると推測しています。
ナビゲーション時、コントローラは使用していません。手動とは、rviz 上のボタンで再開させるという意味です。 |
なるほど、理解しました。
すみません。完全に忘れていました。 |
承知です。後ほど orange_navigation の方で issue にしておきます。
ナビゲーションの中断や再開は、すべて waypoint_nav の ROS Service をコールする形で実装しています(rviz や tandem からこのサービスをコールする)。このとき、現状の実装では waypoint_nav は誰からサービスをコールされたのか判別ができない、ということです。 ROS2 移行時に考えてはいたのですが、ROS1 ではこれが問題になることがなかった(これが問題の原因かは不確かですが)ということと、ROS2の標準サービス(std_srvs)では、リクエスト側にデータを含むものが Bool のみで、2つ以上の判別ができない(十分だとしてもあまり美しくない)こともあり先送りにしていました。 |
解説頂きありがとうございます。こちらの件もissue対応した方が良いかもしれませんね。 とりあえずここでの作業内容は良いと思います。 |
PR Type
Overview
Detail
参考;Fix/nav2 local costmap #73 (comment)
Test
Attention
参考;Fix/nav2 param navigation #82 (comment)