Bug Fixes
- HDMAPMDK-1215 Done
- HDMAPMDK-1218 Done
Browse the 2020 work log day by day.
61 则 第 5 / 7 页
HDMAPMDK-1132 Id tracing for pole sign lane line endpoints
The tracing problem faced by pole sign lane line endpoints is much simpler compared to that of linear objects. There is only Id mapping, without offset and length mapping.
However, there are still several issues to consider:
Essentially, the root of this problem is that we used Long ID for all Id definitions, while the MDM definition uses Int, which could easily cause overflow issues.
Bugfix: HDMAPMDK-1211 found a solution
It can be seen that segmentation occurred before the lane change was complete (the lane center line was crossing the lane line), and such segmentation may cross Rp.
Since the lane border observation information attached to the lane center shape points faithfully records the lane lines on both sides based on geometry using the scan line method without semantic filtering, the lane center line that intersects with the lane line will record that lane line simultaneously in both left and right lane border refs at the location where the lane line crosses the lane.
In the current code logic, when filtering the border refs of intersecting lane lines based on semantics, the border refs to be deleted are inferred according to the lane change type.
However, the current logic fails when encountering such segmentation, leading to this issue.
The core point is to find the lane change trend of the intersecting lane lines. Considering that such segmentation may cross the Rp, filtering should not be performed on a per-Rp basis.
Assigned to Ziliang
Interviewed one person, didn’t pass.
The main issue with PolyLine is that it may contain duplicate points during construction, leading to a series of segment-related geometric calculation problems:
NaN issues.Therefore, when constructing a PolyLine, we check the points and throw an exception if any duplicate points are found.
The following issues were identified:
getEnd in JTS has problems.
LinearLocation in JTS may have normalization issues.
val loc1 = new LinearLocation(0, 1, 1.0)
val loc2 = new LinearLocation(0, 2, 0.0)
loc1 compareTo loc2
// the output is -1
During interpolation, two points that are too close to each other may be selected.
new’d but never delete’d.prepareGuidanceData to find the guidance data closest to the current position.prepareGuidanceData invoked NavInfoProviderImpl::getTrafficLights and NavInfoProviderImpl::getCarParks.NavInfoProviderImpl::getTrafficLights as an example, it news a data pointer in NaviEventOnPath at call time.delete.DestEvent has the same issue.Solution: The core principle is to disallow wild pointers, so a refactoring of NaviEventProvider was decided upon.
traffic_light_events and car_park_events in NaviInfoProvider.NaviInfoGenerator, update these two fields after the route is updated.get call, filter based on the current vehicle position.PathReader::getAttributes needs to be refactored, because the previous implementation only considered the offset relative to the current vehicle, but now an offset interface relative to the Path is required.Took the Subject 1 exam and it took half a day.
HDMAPMDK-1130 width issue, three problems:
HDMAPMDK-1121 re-fixed.
Very poor state.