-
Notifications
You must be signed in to change notification settings - Fork 32
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(obstacle_avoidance_planner): add empty check #1285
Conversation
@sfukuta |
ノード単体としての後段処理への影響、およびノード外(モジュール・システム)への影響を明記いただきたいです。 |
L.349〜L.351のslerp関数自体が他の例外についてもthrowしているので、大前提としてslerpへのtry catchは必要かと思います。 その上で特定条件で異なるふるまいを期待する場合にはtry catchより前にif文を追加する対応で違和感はありませんが、 |
@yn-mrse 記載を追記しました。
|
|
|
影響について、以下のように修正しました。 後続処理としては,PathPointに対してスプライン補間の経路予測結果と比較し、差分についてyaw方向への補整を実施する。この経路予測が、空データとなる事で、yaw方向への補正が実施されなくなる。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
下記によりApproveします。
- Descriptionの記載内容と変更内容が合致している
- テスト方法が妥当であり、その結果も問題がない
Descriptionの記載内容については、発生する可能性のある問題挙動に対するリスクを追記いただきたいです。
Approveはしますが、記載内容追記を追って対応いただけますと幸いです。
* fix(obstacle_avoidance_planner): add empty check * ci(pre-commit): autofix * add invalid_argument * delete empty check * return code moved to end * add warning log * update rclcpp_debug * delete debug log * Delete unnecessary blank lines --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(obstacle_avoidance_planner): add empty check * ci(pre-commit): autofix * add invalid_argument * delete empty check * return code moved to end * add warning log * update rclcpp_debug * delete debug log * Delete unnecessary blank lines --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@Mergifyio backport beta/v0.3.19 |
✅ Backports have been created
|
* fix(obstacle_avoidance_planner): add empty check * ci(pre-commit): autofix * add invalid_argument * delete empty check * return code moved to end * add warning log * update rclcpp_debug * delete debug log * Delete unnecessary blank lines --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (cherry picked from commit 39fe090)
* fix(obstacle_avoidance_planner): add empty check * ci(pre-commit): autofix * add invalid_argument * delete empty check * return code moved to end * add warning log * update rclcpp_debug * delete debug log * Delete unnecessary blank lines --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(system_monitor): extend command line to display (backport autowarefoundation#4553) (#768) fix(system_monitor): extend command line to display (autowarefoundation#4553) Signed-off-by: ito-san <[email protected]> Co-authored-by: ito-san <[email protected]> * feat(behavior_path_planner): resample output path (backport #1604) (#782) feat(behavior_path_planner): resample output path (#1604) * feat(behavior_path_planner): resample output path * update param Signed-off-by: Takayuki Murooka <[email protected]> Co-authored-by: Takayuki Murooka <[email protected]> * ci: add dispatch-push-event workflow (#803) * ci: add dispatch-push-event workflow Signed-off-by: Keisuke Shima <[email protected]> * fix: change APP KEY Signed-off-by: Keisuke Shima <[email protected]> * chore: use strategy Signed-off-by: Keisuke Shima <[email protected]> * chore: change trigger Signed-off-by: Keisuke Shima <[email protected]> * pre-commit fixes Signed-off-by: Keisuke Shima <[email protected]> * Update .github/workflows/dispatch-push-event.yaml * Update .github/workflows/dispatch-push-event.yaml * style(pre-commit): autofix * Update .github/workflows/dispatch-push-event.yaml --------- Signed-off-by: Keisuke Shima <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(behavior_path): only apply spline interpolation for its output, not for turn_signal processing (#909) * fix(behavior_path): only apply spline interpolate for output, not for turn_signal processing * fix implementation * ci(pre-commit): autofix --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(behavior_path): fix base points vanishing and inconsistent lane_ids on the spline interpolated path (#929) * add base points to resampled path in behavior_path * Revert "fix(behavior_path): only apply spline interpolation for its output, not for turn_signal processing (#909)" This reverts commit c80c986. * ci(pre-commit): autofix * fix insert * fix: not interpolate behavior velocity path * Revert "Revert "fix(behavior_path): only apply spline interpolation for its output, not for turn_signal processing (#909)"" This reverts commit e6dd540. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(system_monitor): fix program command line reading (backport autowarefoundation#5191, autowarefoundation#5430) (#995) * perf(system_monitor): fix program command line reading (autowarefoundation#5191) * Fix program command line reading Signed-off-by: Owen-Liuyuxuan <[email protected]> * style(pre-commit): autofix * fix spelling commandline->command_line Signed-off-by: Owen-Liuyuxuan <[email protected]> --------- Signed-off-by: Owen-Liuyuxuan <[email protected]> Co-authored-by: Owen-Liuyuxuan <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(system_monitor): output command line (autowarefoundation#5430) * fix(system_monitor): output command line Signed-off-by: takeshi.iwanari <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: takeshi.iwanari <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --------- Signed-off-by: Owen-Liuyuxuan <[email protected]> Signed-off-by: takeshi.iwanari <[email protected]> Co-authored-by: Yuxuan Liu <[email protected]> Co-authored-by: Owen-Liuyuxuan <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: takeshi-iwanari <[email protected]> Co-authored-by: Akihisa Nagata <[email protected]> * feat(obstacle_stop): upd obstacle hunting (#1068) * Adapted from PR #1458 Signed-off-by: Shigekazu Fukuta <[email protected]> * Adapted from PR #1627 Signed-off-by: Shigekazu Fukuta <[email protected]> * fix parameter name Signed-off-by: Shigekazu Fukuta <[email protected]> * Adapted from PR autowarefoundation#2647 Signed-off-by: Shigekazu Fukuta <[email protected]> * ci(pre-commit): autofix * fix build error * ci(pre-commit): autofix * remove comment line * remove logic * Delete parameters other than those added this time * ci(pre-commit): autofix * add stop vehicle check * ci(pre-commit): autofix * fix stop velocity threshold * fix engage obstacle clear and stop threshold * ci(pre-commit): autofix --------- Signed-off-by: Shigekazu Fukuta <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(obstacle_avoidance_planner): add empty check (#1285) * fix(obstacle_avoidance_planner): add empty check * ci(pre-commit): autofix * add invalid_argument * delete empty check * return code moved to end * add warning log * update rclcpp_debug * delete debug log * Delete unnecessary blank lines --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * fix(virtual traffic light): suppress lauch (#1290) * suppress launch Signed-off-by: Yuki Takagi <[email protected]> * add existence check Signed-off-by: Yuki Takagi <[email protected]> --------- Signed-off-by: Yuki Takagi <[email protected]> Co-authored-by: Shigekazu Fukuta <[email protected]> * revert: #929,#909,#782 * revert: #1068 - d56c191. --------- Signed-off-by: ito-san <[email protected]> Signed-off-by: Takayuki Murooka <[email protected]> Signed-off-by: Keisuke Shima <[email protected]> Signed-off-by: Owen-Liuyuxuan <[email protected]> Signed-off-by: takeshi.iwanari <[email protected]> Signed-off-by: Shigekazu Fukuta <[email protected]> Signed-off-by: Yuki Takagi <[email protected]> Co-authored-by: Hiroki OTA <[email protected]> Co-authored-by: ito-san <[email protected]> Co-authored-by: Takayuki Murooka <[email protected]> Co-authored-by: Keisuke Shima <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Yuxuan Liu <[email protected]> Co-authored-by: Owen-Liuyuxuan <[email protected]> Co-authored-by: takeshi-iwanari <[email protected]> Co-authored-by: Shigekazu Fukuta <[email protected]> Co-authored-by: Yuki TAKAGI <[email protected]>
Description
走行中に、motion_planning_containerが落ちることによって、EMが発生する問題の対策PRとなる。
今回の対策によって、稼働を継続できる条件において、EMが発生せずに、稼働を継続する。
原因
空データに対してスプライン補間をした場合に例外が発生する事が分かった。
上記ログから
interpolation_utils::validateKeys
関数で例外が発生していることがわかる。実装を確認したところ、同関数のthrowに対するtry-catchが存在していないことが判明した。
対策
例外発生部でtry-catchを追加し、例外発生時には経路の補間を実施せず、補間がない経路出力を後段に与える。
想定される影響
後続処理としては,PathPointに対してスプライン補間の経路予測結果と比較し、差分についてyaw方向への補整を実施する。この経路予測が、空データとなる事で、yaw方向への補正が実施されなくなる。
スプライン補間による補整が実施されないだけで、planningの経路計画等は実施さるれため、リグレッションはないと判断する
該当項目が継続して空データの場合に、データのタイムアウトなどが発生する可能性がある。
ただし、問題となったデータを利用して、走行を継続できたため、実績ベースでは問題はおきていない。
Related links
https://tier4.atlassian.net/browse/AEAP-1142
Tests performed
機能評価
interpolate2DTrajectoryPoints
関数について、複雑な構成となっており、単一関数として確認は困難になるため、関数単体でのテストではなく、例外が発生するrosbagを利用した機能評価により、問題の改善を確認する。
問題が発生した1件のrosbagを再生した時に、"process died"のメッセージが表示されない事を確認済み
before (N=3, process has died = 3)
after (N=3, process has died = 0)
リグレッション評価
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.