diff --git a/sensing/radar_static_pointcloud_filter/src/radar_static_pointcloud_filter_node/radar_static_pointcloud_filter_node.cpp b/sensing/radar_static_pointcloud_filter/src/radar_static_pointcloud_filter_node/radar_static_pointcloud_filter_node.cpp index 15b4175731bf9..8f3841fed1b50 100644 --- a/sensing/radar_static_pointcloud_filter/src/radar_static_pointcloud_filter_node/radar_static_pointcloud_filter_node.cpp +++ b/sensing/radar_static_pointcloud_filter/src/radar_static_pointcloud_filter_node/radar_static_pointcloud_filter_node.cpp @@ -128,10 +128,13 @@ rcl_interfaces::msg::SetParametersResult RadarStaticPointcloudFilterNode::onSetP void RadarStaticPointcloudFilterNode::onData( const RadarScan::ConstSharedPtr radar_msg, const Odometry::ConstSharedPtr odom_msg) { - geometry_msgs::msg::TransformStamped::ConstSharedPtr transform_ = + geometry_msgs::msg::TransformStamped::ConstSharedPtr transform = transform_listener_->getTransform( odom_msg->header.frame_id, radar_msg->header.frame_id, odom_msg->header.stamp, rclcpp::Duration::from_seconds(0.01)); + if (!transform) { + return; + } RadarScan static_radar_{}; RadarScan dynamic_radar_{}; @@ -139,7 +142,7 @@ void RadarStaticPointcloudFilterNode::onData( dynamic_radar_.header = radar_msg->header; for (const auto & radar_return : radar_msg->returns) { - if (isStaticPointcloud(radar_return, odom_msg, transform_)) { + if (isStaticPointcloud(radar_return, odom_msg, transform)) { static_radar_.returns.emplace_back(radar_return); } else { dynamic_radar_.returns.emplace_back(radar_return);