Skip to content

wrong z coodinate calculation within LaneLocationProvider::GetProjectedPoseAtLane

Within function:

LaneLocationProvider::GetProjectedPoseAtLane

the calculation of z coodinate is not proper when road has an elevation.

root cause:

it gets z coordinate using:

const auto z_coordinate = project_lane_location.projected_centerline_point.z;

which is calculated by:

auto pos_and_idx = ProjectQueryPointOnPolyline(position, center_line);
        projected_centerline_point = std::get<0>(pos_and_idx);

within lane_location.cpp, where the input position do not has z information. With projection to centerline, it returns unexpected point when road has an elevation.

image.png

Edited by Ziqi Zhou