-
Notifications
You must be signed in to change notification settings - Fork 59
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
Failure of route length calculation #1364
Comments
Explaination scenario_simulator_v2/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp Lines 1506 to 1525 in a3e59a7
In summary, when on a given route a lane change occurs, a horizontal bar (perpendicular to the lanelet's centerline) at the starting position is created. Then, if a collision with the neighboring lanelet's centerline is found, the distance is calculated. Otherwise, the bug occurs and std::nullopt is returned (this is done for both lanelets participating in the lane change). Because starting poses have been chosen for this process, an uncovered edge case can occur, where centerlines are skewed in such a way, that no collision exists. Full bug trace
scenario_simulator_v2/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp Lines 1506 to 1525 in a3e59a7
This is the origin of the bug; HdMapUtils::toLaneletPose fails twice and a std::nullopt is returned.
scenario_simulator_v2/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp Lines 593 to 602 in a3e59a7
scenario_simulator_v2/common/math/geometry/src/spline/catmull_rom_spline.cpp Lines 429 to 439 in a3e59a7
Here is the last step, scenario_simulator_v2/common/math/geometry/src/spline/hermite_curve.cpp Lines 204 to 219 in a3e59a7
|
@hakuturu583 Please let me know if this issue needs to be solved in any particular way.
|
I understood...
|
Description
Consider white crosses as starting points and red crosses and finish points.
Please note that provided examples necessitate a lane change.
In the examples provided, functions:
traffic_simulator::distance::longitudinalDistance
HdMapUtils::getLongitudinalDistance
fail to calculate the distance from start to finish but the route is correctly designated.
The fact that the route does exist crosses out many issues with the map.
Expected behavior
If the route is calculated, there should not be a problem with its length calculation.
To Reproduce
Remark
I believe the problem arises exclusively while the distance of lane-switching is being calculated.
scenario_simulator_v2/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp
Lines 1511 to 1525 in a3e59a7
Here, both
toLaneletPose
calls fail to find a candidate, and astd::nullopt
is returned.I suspect this might be caused by a bug in geometry package, namely Hermite curve or Catmull-Rom spline implementation.
The text was updated successfully, but these errors were encountered: