Skip to content
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

RJD-1334/fix_longitudinal_distance #41

Open
wants to merge 150 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
ede1a55
Add precompile headers configuration
shouth Aug 20, 2024
ed93131
Merge remote-tracking branch 'origin/master' into feature/faster-comp…
shouth Aug 20, 2024
7b91980
Merge remote-tracking branch 'origin/master' into feature/faster-comp…
shouth Aug 27, 2024
40e017b
fix(cpp_mock_scenario): fix ego issue - spawn,move,despawn
dmoszynski Sep 2, 2024
c344c40
fix(ego_entity_simulation): fix getCurrentPose, add const initial_rot…
dmoszynski Sep 2, 2024
63c75fe
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 4, 2024
f4f65a5
Update CMakeLists.txt to make compilation faster
shouth Sep 10, 2024
a9b8579
Update CMakeLists.txt to make compilation faster
shouth Sep 10, 2024
67094ec
Remove some headers from precompilation in order to avoid name confli…
shouth Sep 10, 2024
870fea4
Merge remote-tracking branch 'origin/master' into feature/faster-comp…
shouth Sep 10, 2024
7bbab1c
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 12, 2024
bcc3353
feat: use /autoware/state in concealer
HansRobo Sep 13, 2024
e0ad0c2
Merge branch 'master' into feature/use-autoware-state
HansRobo Sep 13, 2024
dd31892
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 16, 2024
9cbc5a9
Merge branch 'master' into feature/faster-compilation
shouth Sep 17, 2024
6984e34
Merge remote-tracking branch 'origin/master' into feature/faster-comp…
shouth Sep 24, 2024
7e7f041
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 24, 2024
6017248
Use fmt library in Double stringify
f0reachARR Sep 26, 2024
1fe0249
Use Boost JSON
f0reachARR Sep 26, 2024
a39319a
Use move semantics for some cases
f0reachARR Sep 26, 2024
da9bb28
Revert "Use move semantics for some cases"
f0reachARR Sep 26, 2024
931f03f
Revert "Revert "Use move semantics for some cases""
f0reachARR Sep 26, 2024
a75ed0b
Revert "Use fmt library in Double stringify"
f0reachARR Sep 26, 2024
05a0f6c
Use allocator from parent
f0reachARR Sep 26, 2024
4c76955
Fix requestSpeedChange sets target_speed only when it's reached
gmajrobotec Sep 26, 2024
43a295b
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 27, 2024
75ecc96
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Sep 30, 2024
37f3aed
Merge branch 'master' into feature/use-autoware-state
HansRobo Oct 1, 2024
67e36f0
fix: fix build errors in debug mode in RelativeClearanceCondition
HansRobo Oct 1, 2024
bbc98c2
lanelet extension approach
robomic Sep 30, 2024
e89f9c4
additional lane change check, logic simplification
robomic Sep 30, 2024
9a15055
simplify lambda
robomic Oct 1, 2024
65f5a10
Fix getQuadraticAccelerationDuration returning negative duration
gmajrobotec Sep 26, 2024
b1cc6da
add negated tests
robomic Oct 1, 2024
c1e3cc8
name values explicitly
robomic Oct 1, 2024
0953700
Fix review comments
gmajrobotec Oct 2, 2024
3c82da8
Register StandStillDuration to job list
TakanoTaiga Oct 2, 2024
53be9c2
Revert assert error
f0reachARR Oct 3, 2024
3b8a41b
Merge remote-tracking branch 'origin/master' into feature/json/boost-…
f0reachARR Oct 3, 2024
04a10d6
Move BoostJSON source into individual file
f0reachARR Oct 3, 2024
8c62c00
Merge remote-tracking branch 'origin/master' into feature/json/boost-…
f0reachARR Oct 3, 2024
b37034f
Add serialization time measurement
f0reachARR Oct 3, 2024
aecf7c8
Fix build error due to include directory
f0reachARR Oct 3, 2024
92068f3
fix format
TakanoTaiga Oct 3, 2024
40f14d3
Merge branch 'master' into fix/RJD-1296-fix-random001-ego-issue
dmoszynski Oct 3, 2024
af093fc
Revised the method for obtaining time.
TakanoTaiga Oct 3, 2024
7f7d3c6
Merge branch 'master' into feature/joblist-update-stand-still-duration
hakuturu583 Oct 4, 2024
90c30fa
Merge branch 'master' into feature/use-autoware-state
HansRobo Oct 4, 2024
70be3ca
refactor: use char const * instead of std::string
HansRobo Oct 4, 2024
08896f8
refactor: use std::string in FieldOperatorApplicationFor<AutowareUniv…
HansRobo Oct 6, 2024
454d5b0
feat: throw an exception when giving "EMERGENCY" to currentState in U…
HansRobo Oct 6, 2024
a987b1f
Merge branch 'master' of https://github.com/tier4/scenario_simulator_…
hakuturu583 Oct 7, 2024
aaf91ae
Merge branch 'master' into feature/use-autoware-state
HansRobo Oct 7, 2024
2ff6a6a
getLongitudinalDistance refactor
robomic Oct 7, 2024
fc89d78
remove usage of 20 digit precision in the failing scenario
robomic Oct 8, 2024
ba89f40
Merge branch 'master' into fix/longitudinal_distance
robomic Oct 8, 2024
fe5ca62
update documentation
robomic Oct 8, 2024
c02e335
Merge branch 'fix/longitudinal_distance' of github.com:tier4/scenario…
robomic Oct 8, 2024
db392e7
itemize in documentation
robomic Oct 8, 2024
e194929
spell check
robomic Oct 8, 2024
3691b9b
Merge branch 'master' into RJD-1335/requestSpeedChange
gmajrobotec Oct 8, 2024
15e036e
newline
robomic Oct 8, 2024
faba5b1
remove no longer used pngs
robomic Oct 8, 2024
1eb3fd6
explain matching in the doc
robomic Oct 8, 2024
8ee6ec5
replace image
robomic Oct 8, 2024
d2d1006
spell check
robomic Oct 8, 2024
9e7d1bc
add Run SonarCloud scan step
hakuturu583 Sep 27, 2024
d8742d7
fix: change sources dir
chris-tier4 Oct 1, 2024
7850606
test: add inclusions and fix ci
chris-tier4 Oct 1, 2024
e06b1d5
fix: rebase errors
chris-tier4 Oct 8, 2024
438acab
test: add deleted changed back
chris-tier4 Oct 8, 2024
3835ad9
update spellcheck dictionay
hakuturu583 Oct 9, 2024
af3c2b5
Merge pull request #1412 from tier4/feature/chris_test_sonar_cloud
hakuturu583 Oct 9, 2024
b47beff
Bump version of scenario_simulator_v2 from version 4.3.11 to version …
actions-user Oct 9, 2024
268c88b
doc: add some comment in `/autoware/state` callbacks
HansRobo Oct 9, 2024
d0127e8
Merge branch 'master' into RJD-1337/getQuadraticAccelerationDuration
gmajrobotec Oct 9, 2024
457def3
Merge pull request #1378 from tier4/feature/use-autoware-state
HansRobo Oct 9, 2024
a7f9e4c
Bump version of scenario_simulator_v2 from version 4.3.12 to version …
actions-user Oct 9, 2024
9e6272b
Merge remote-tracking branch 'origin/master' into feature/faster-comp…
shouth Oct 10, 2024
4588750
Sort precompiled header list in lexicographic order
shouth Oct 10, 2024
7d2b703
Merge pull request #1409 from tier4/feature/joblist-update-stand-stil…
hakuturu583 Oct 10, 2024
f47b9c9
Bump version of scenario_simulator_v2 from version 4.3.13 to version …
actions-user Oct 10, 2024
c1d9dae
remove unused operator and typedef
hakuturu583 Oct 10, 2024
2074647
remove typedef and remove variable which is used just once.
hakuturu583 Oct 10, 2024
6c6a77b
Merge branch 'master' into feature/faster-compilation
shouth Oct 10, 2024
aa6643c
Add some comments for CMakeLists
f0reachARR Oct 10, 2024
af7ec65
add const to the curve parameters and use const reference in constructor
hakuturu583 Oct 10, 2024
3e100be
remove const
hakuturu583 Oct 10, 2024
32b80c4
Merge branch 'master' of https://github.com/tier4/scenario_simulator_…
hakuturu583 Oct 10, 2024
8ea2ee4
Fix stringify
f0reachARR Oct 10, 2024
3ed6a4f
Remove library source
f0reachARR Oct 10, 2024
81eb037
Remove debug output
f0reachARR Oct 10, 2024
84ef2d2
Remove nlohmann-json-dev
f0reachARR Oct 10, 2024
e2f804e
Fix linelint error
f0reachARR Oct 10, 2024
5253ef9
Merge branch 'master' into feature/json/boost-json
f0reachARR Oct 10, 2024
45da608
Merge pull request #1370 from tier4/feature/faster-compilation
yamacir-kit Oct 10, 2024
2587f5c
Merge branch 'master' into feature/json/boost-json
f0reachARR Oct 10, 2024
95e9540
Replace pre-compiled headers
f0reachARR Oct 10, 2024
8571b75
Added checks for negative discriminants before sqrt to prevent invali…
TakanoTaiga Oct 10, 2024
9e056fc
Merge pull request #1361 from tier4/fix/RJD-1296-fix-random001-ego-issue
hakuturu583 Oct 10, 2024
950da41
Bump version of scenario_simulator_v2 from version 4.3.14 to version …
actions-user Oct 10, 2024
302e9a3
fix some warnings
hakuturu583 Oct 11, 2024
ba3ebd7
Merge branch 'master' into RJD-1337/getQuadraticAccelerationDuration
hakuturu583 Oct 11, 2024
972d7f2
fix warning "There is a intentionality issues on this line, the code …
hakuturu583 Oct 11, 2024
65f4c20
Merge pull request #1420 from tier4/fix/negative-sqrt-in-planConstrai…
hakuturu583 Oct 15, 2024
b5e3847
Bump version of scenario_simulator_v2 from version 4.3.15 to version …
actions-user Oct 15, 2024
4652858
Merge branch 'master' into fix/remove_warnings_from_sonarcloud
hakuturu583 Oct 16, 2024
ef046b8
Merge branch 'master' into fix/longitudinal_distance
robomic Oct 16, 2024
3635b22
consider negative longitudinal distance
robomic Oct 16, 2024
12ffc25
Merge branch 'fix/longitudinal_distance' of github.com:tier4/scenario…
robomic Oct 16, 2024
1111f40
Merge pull request #1417 from tier4/fix/remove_warnings_from_sonarcloud
yamacir-kit Oct 17, 2024
075339b
Bump version of scenario_simulator_v2 from version 4.3.16 to version …
actions-user Oct 17, 2024
ccfebb3
Merge branch 'master' into feature/json/boost-json
HansRobo Oct 17, 2024
08f4409
early return, update tests
robomic Oct 17, 2024
271ab14
Merge branch 'master' into fix/longitudinal_distance
robomic Oct 17, 2024
67bc904
remove negative distance, unify logic
robomic Oct 17, 2024
8213298
remove underflow
robomic Oct 17, 2024
d037249
typo
robomic Oct 17, 2024
86a81fd
Merge pull request #1418 from tier4/feature/json/boost-json
HansRobo Oct 18, 2024
da9664c
Bump version of scenario_simulator_v2 from version 4.3.17 to version …
actions-user Oct 18, 2024
9fee20c
Fix Arm Docker Build Support
TakanoTaiga Oct 21, 2024
efa87d8
fix typo
TakanoTaiga Oct 21, 2024
36f9700
Fixed logic to remove duplicate topics.
TakanoTaiga Oct 22, 2024
726a492
Improved readability.​
TakanoTaiga Oct 22, 2024
986b4c3
Changed to use std::set instead of std::unique.
TakanoTaiga Oct 24, 2024
b14c3e1
Add missinginclude
TakanoTaiga Oct 24, 2024
79004f9
Merge branch 'master' into fix/longitudinal_distance
robomic Oct 24, 2024
fadaa57
fix format
TakanoTaiga Oct 24, 2024
39c8ba8
Merge pull request #1425 from tier4/fix/ci-arm-docker-2
hakuturu583 Oct 30, 2024
43575d9
Bump version of scenario_simulator_v2 from version 4.3.18 to version …
actions-user Oct 30, 2024
2806adf
Merge branch 'master' into fix/remove-topic-logic
hakuturu583 Oct 30, 2024
8a0d5a4
Explicitly virtualized
TakanoTaiga Oct 30, 2024
be0894b
Merge branch 'master' into fix/improved-readability
hakuturu583 Oct 31, 2024
00767cb
Merge pull request #1410 from tier4/RJD-1335/requestSpeedChange
hakuturu583 Oct 31, 2024
90a27bd
Merge branch 'master' into RJD-1337/getQuadraticAccelerationDuration
hakuturu583 Oct 31, 2024
842235e
Bump version of scenario_simulator_v2 from version 4.3.19 to version …
actions-user Oct 31, 2024
7ed87b4
Merge branch 'master' into RJD-1337/getQuadraticAccelerationDuration
hakuturu583 Oct 31, 2024
1cbbbc5
Merge pull request #1411 from tier4/RJD-1337/getQuadraticAcceleration…
hakuturu583 Oct 31, 2024
8c04e99
Bump version of scenario_simulator_v2 from version 4.3.20 to version …
actions-user Oct 31, 2024
89f8752
Merge branch 'master' into fix/remove-topic-logic
hakuturu583 Oct 31, 2024
3bfc084
Merge pull request #1427 from tier4/fix/improved-readability
hakuturu583 Oct 31, 2024
13a55b3
Bump version of scenario_simulator_v2 from version 4.3.21 to version …
actions-user Oct 31, 2024
bcdc63b
Merge pull request #1429 from tier4/add-missing-include-2
hakuturu583 Nov 1, 2024
daa56f9
Bump version of scenario_simulator_v2 from version 4.3.22 to version …
actions-user Nov 1, 2024
742a499
Merge pull request #1426 from tier4/fix/remove-topic-logic
hakuturu583 Nov 1, 2024
102b9b9
Bump version of scenario_simulator_v2 from version 4.3.23 to version …
actions-user Nov 1, 2024
3f37fd1
Merge branch 'master' into fix/longitudinal_distance
hakuturu583 Nov 5, 2024
d2a5cf3
Merge pull request #1433 from tier4/fix/sonor-cloud-issue-3
hakuturu583 Nov 5, 2024
2ec8909
Bump version of scenario_simulator_v2 from version 4.3.24 to version …
actions-user Nov 5, 2024
9b2c29e
Merge branch 'master' into fix/longitudinal_distance
hakuturu583 Nov 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 38 additions & 56 deletions simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1547,70 +1547,52 @@ auto HdMapUtils::getLongitudinalDistance(
if (route.empty()) {
return std::nullopt;
}
double distance = 0;

auto with_lane_change = [this](
const bool allow_lane_change, const lanelet::Id current_lanelet,
const lanelet::Id next_lanelet) -> bool {
if (allow_lane_change) {
auto next_lanelet_ids = getNextLaneletIds(current_lanelet);
auto next_lanelet_itr = std::find_if(
next_lanelet_ids.begin(), next_lanelet_ids.end(),
[next_lanelet](const lanelet::Id & id) { return id == next_lanelet; });
return next_lanelet_itr == next_lanelet_ids.end();
} else {
return false;
}

const auto with_lane_change =
robomic marked this conversation as resolved.
Show resolved Hide resolved
[this](const lanelet::Id current_lanelet, const lanelet::Id next_lanelet) -> bool {
const auto next_lanelet_ids = getNextLaneletIds(current_lanelet);
return std::none_of(
next_lanelet_ids.begin(), next_lanelet_ids.end(),
[next_lanelet](const lanelet::Id id) { return id == next_lanelet; });
};

/// @note in this for loop, some cases are marked by @note command. each case is explained in the document.
/// @sa https://tier4.github.io/scenario_simulator_v2-docs/developer_guide/DistanceCalculation/
for (unsigned int i = 0; i < route.size(); i++) {
if (i < route.size() - 1 && with_lane_change(allow_lane_change, route[i], route[i + 1])) {
/// @note "the lanelet before the lane change" case
traffic_simulator_msgs::msg::LaneletPose next_lanelet_pose;
next_lanelet_pose.lanelet_id = route[i + 1];
next_lanelet_pose.s = 0.0;
next_lanelet_pose.offset = 0.0;

if (
auto next_lanelet_origin_from_current_lanelet =
toLaneletPose(toMapPose(next_lanelet_pose).pose, route[i], 10.0)) {
distance += next_lanelet_origin_from_current_lanelet->s;
double accumulated_distance = 0.0;
for (std::size_t i = 0UL; i < route.size() - 1UL; ++i) {
if (with_lane_change(route[i], route[i + 1UL])) {
const auto curr_lanelet_spline = getCenterPointsSpline(route[i]);
const auto next_lanelet_spline = getCenterPointsSpline(route[i + 1UL]);

constexpr double lanelet_starting_s = 0.0;
const double lanelet_half_min_s =
robomic marked this conversation as resolved.
Show resolved Hide resolved
std::min(curr_lanelet_spline->getLength(), next_lanelet_spline->getLength()) * 0.5;

constexpr double matching_distance = 10.0;
const auto curr_start_matching_s = curr_lanelet_spline->getSValue(
next_lanelet_spline->getPose(lanelet_starting_s), matching_distance);
const auto next_start_matching_s = next_lanelet_spline->getSValue(
curr_lanelet_spline->getPose(lanelet_starting_s), matching_distance);
const auto curr_middle_matching_s = curr_lanelet_spline->getSValue(
next_lanelet_spline->getPose(lanelet_half_min_s), matching_distance);
const auto next_middle_matching_s = next_lanelet_spline->getSValue(
curr_lanelet_spline->getPose(lanelet_half_min_s), matching_distance);

if (curr_start_matching_s.has_value()) {
accumulated_distance += curr_start_matching_s.value();
} else if (next_start_matching_s.has_value()) {
accumulated_distance -= next_start_matching_s.value();
} else if (curr_middle_matching_s.has_value()) {
accumulated_distance += curr_middle_matching_s.value() - lanelet_half_min_s;
} else if (next_middle_matching_s.has_value()) {
accumulated_distance -= next_middle_matching_s.value() - lanelet_half_min_s;
robomic marked this conversation as resolved.
Show resolved Hide resolved
} else {
traffic_simulator_msgs::msg::LaneletPose current_lanelet_pose = next_lanelet_pose;
current_lanelet_pose.lanelet_id = route[i];
if (
auto current_lanelet_origin_from_next_lanelet =
toLaneletPose(toMapPose(current_lanelet_pose).pose, route[i + 1], 10.0)) {
distance -= current_lanelet_origin_from_next_lanelet->s;
} else {
return std::nullopt;
}
}

/// @note "first lanelet before the lane change" case
if (route[i] == from.lanelet_id) {
distance -= from.s;
if (route[i + 1] == to.lanelet_id) {
distance += to.s;
return distance;
}
return std::nullopt;
}
} else {
if (route[i] == from.lanelet_id) {
/// @note "first lanelet" case
distance = getLaneletLength(from.lanelet_id) - from.s;
} else if (route[i] == to.lanelet_id) {
/// @note "last lanelet" case
distance += to.s;
} else {
///@note "normal intermediate lanelet" case
distance += getLaneletLength(route[i]);
}
accumulated_distance += getLaneletLength(route[i]);
}
}
return distance;
return accumulated_distance - from.s + to.s;
}

auto HdMapUtils::toMapBin() const -> autoware_auto_mapping_msgs::msg::HADMapBin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,22 @@ class HdMapUtilsTest_KashiwanohaMap : public testing::Test

hdmap_utils::HdMapUtils hdmap_utils;
};
class HdMapUtilsTest_IntersectionMap : public testing::Test
{
protected:
HdMapUtilsTest_IntersectionMap()
: hdmap_utils(
ament_index_cpp::get_package_share_directory("traffic_simulator") +
"/map/intersection/lanelet2_map.osm",
geographic_msgs::build<geographic_msgs::msg::GeoPoint>()
.latitude(35.64200728302)
.longitude(139.74821144562)
.altitude(0.0))
{
}

hdmap_utils::HdMapUtils hdmap_utils;
};

/**
* @note Test basic functionality.
Expand Down Expand Up @@ -2055,6 +2071,68 @@ TEST_F(HdMapUtilsTest_KashiwanohaMap, getLongitudinalDistance_PullRequest1348)
54.18867466433655977198213804513216018676757812500000));
}

/**
* @note Test for the corner case described in https://github.com/tier4/scenario_simulator_v2/issues/1364
*/
TEST_F(HdMapUtilsTest_IntersectionMap, getLongitudinalDistance_laneChange)
{
{
const auto pose_from = traffic_simulator::helper::constructLaneletPose(563UL, 5.0);
const auto pose_to = traffic_simulator::helper::constructLaneletPose(659UL, 5.0);

const auto without_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, false);
EXPECT_FALSE(without_lane_change.has_value());

const auto with_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, true);
ASSERT_TRUE(with_lane_change.has_value());
EXPECT_NEAR(with_lane_change.value(), 157.0, 1.0);
}
{
const auto pose_from = traffic_simulator::helper::constructLaneletPose(563UL, 5.0);
const auto pose_to = traffic_simulator::helper::constructLaneletPose(658UL, 5.0);

const auto without_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, false);
EXPECT_FALSE(without_lane_change.has_value());

const auto with_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, true);
ASSERT_TRUE(with_lane_change.has_value());
EXPECT_NEAR(with_lane_change.value(), 161.0, 1.0);
}
{
const auto pose_from = traffic_simulator::helper::constructLaneletPose(563UL, 5.0);
const auto pose_to = traffic_simulator::helper::constructLaneletPose(657UL, 5.0);

const auto without_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, false);
EXPECT_FALSE(without_lane_change.has_value());

const auto with_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, true);
ASSERT_TRUE(with_lane_change.has_value());
EXPECT_NEAR(with_lane_change.value(), 161.0, 1.0);
}
{
const auto pose_from = traffic_simulator::helper::constructLaneletPose(643UL, 5.0);
const auto pose_to = traffic_simulator::helper::constructLaneletPose(666UL, 5.0);

const auto without_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, false);
EXPECT_FALSE(without_lane_change.has_value());

const auto with_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, true);
ASSERT_TRUE(with_lane_change.has_value());
EXPECT_NEAR(with_lane_change.value(), 250.0, 1.0);
}
{
const auto pose_from = traffic_simulator::helper::constructLaneletPose(643UL, 5.0);
const auto pose_to = traffic_simulator::helper::constructLaneletPose(665UL, 5.0);

const auto without_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, false);
EXPECT_FALSE(without_lane_change.has_value());

const auto with_lane_change = hdmap_utils.getLongitudinalDistance(pose_from, pose_to, true);
ASSERT_TRUE(with_lane_change.has_value());
EXPECT_NEAR(with_lane_change.value(), 253.0, 1.0);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe some explanation what is the difference between individual cases with_lane_change and individual cases without_lane_change? since there are several of a particular type?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the purpose of the test itself is explained. I will not explain each of them, as it would likely require an image

}

/**
* @note Test basic functionality.
* Test obtaining stop line ids correctness with a route that has no stop lines.
Expand Down
Loading