2020-05-13
Bugfix: HDMAPMDK-1211 解決方法を思いつく
- 根本原因は、生産ラインの分割が不適切だったことです。
原因分析
車線変更がまだ終了していない時点(車線中心線が車線境界線をまたいでいる時点)で、すでに分割が行われていることがわかります。また、このような分割はRpをまたぐ可能性があります。
車線中心線(lanecenter)の形状点に付随する車線境界線(lane border)の観測情報は、幾何形状に忠実に、スキャンライン方式で両側の車線境界線を記録しており、意味に基づくフィルタリングは行われていません。そのため、車線境界線が車線をまたぐ位置では、車線境界線と交差する車線中心線が、その車線境界線を左右両方の車線境界線参照(lane border ref)に同時に記録することになります。
既存のコードロジックでは、意味に基づいて交差する車線境界線の境界線参照(border ref)をフィルタリングする際に、車線変更のタイプから削除すべき境界線参照(border ref)を推定します。
しかし、現在のロジックはこのような分割に遭遇すると機能しなくなり、その結果、問題が発生します。
解決方法
核心は交差する車線境界線の変更傾向(変道趨勢)を特定することにあります。このような分割はRpをまたぐ可能性があるため、フィルタリングはRp単位で行うべきではありません。
- まず、車線境界線をエッジリフティング(edge lifting)を用いてパス(将来のグラフ再構築を考慮)にまとめます: Seq[LaneCenter]
- 修正が必要な車線中心(LaneCenter)と、修正が必要な車線境界線(lane border)を特定します(ここでは、このような車線中心は必ず車線変更によって生じたものと仮定します)。
- LaneCenterのパスに基づいて、そのLaneCenterの変更傾向を計算します。
- フィルタリングを実行します。
子良に任せました。
面接で1人不合格となりました。