Skip to content

Commit 94ee1da

Browse files
committed
fix(planning_data_analyzer): preserve valid message stamps for gt_trajectory evaluation
1 parent ca09bb1 commit 94ee1da

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

planning/autoware_planning_data_analyzer/src/bag_handler.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ typename std::enable_if<has_header_stamp<MessageType>::value, void>::type
287287
set_header_timestamp_if_needed(
288288
MessageType & msg, bool use_bag_timestamp, const rclcpp::Time & bag_time)
289289
{
290-
if (use_bag_timestamp && msg.header.stamp != rclcpp::Time(0)) {
290+
if (use_bag_timestamp && msg.header.stamp == rclcpp::Time(0)) {
291291
msg.header.stamp = bag_time;
292292
}
293293
}

planning/autoware_planning_data_analyzer/test/test_bag_handler.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,25 @@ TEST_F(BagHandlerTest, GetLatestBeforeOrEqual)
8282
EXPECT_EQ(
8383
buffer.get_latest_before_or_equal(rclcpp::Time(10, 0).nanoseconds())->header.stamp.sec, 3);
8484
}
85+
86+
TEST_F(BagHandlerTest, SetHeaderTimestampIfNeededPreservesValidStamp)
87+
{
88+
nav_msgs::msg::Odometry msg;
89+
msg.header.stamp = rclcpp::Time(100, 0);
90+
91+
autoware::planning_data_analyzer::set_header_timestamp_if_needed(
92+
msg, true, rclcpp::Time(200, 0));
93+
94+
EXPECT_EQ(rclcpp::Time(msg.header.stamp).nanoseconds(), rclcpp::Time(100, 0).nanoseconds());
95+
}
96+
97+
TEST_F(BagHandlerTest, SetHeaderTimestampIfNeededFillsZeroStampFromBagTime)
98+
{
99+
nav_msgs::msg::Odometry msg;
100+
msg.header.stamp = rclcpp::Time(0, 0);
101+
102+
autoware::planning_data_analyzer::set_header_timestamp_if_needed(
103+
msg, true, rclcpp::Time(200, 0));
104+
105+
EXPECT_EQ(rclcpp::Time(msg.header.stamp).nanoseconds(), rclcpp::Time(200, 0).nanoseconds());
106+
}

0 commit comments

Comments
 (0)