fix(obstacle_avoidance_planner): add empty check (backport #1285) #1539
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.
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.
This is an automatic backport of pull request #1285 done by [Mergify](https://mergify.com).