@@ -290,6 +290,7 @@ DWBLocalPlanner::prepareGlobalPlan(
290
290
}
291
291
292
292
goal_pose.header .frame_id = global_plan_.header .frame_id ;
293
+ goal_pose.header .stamp = pose.header .stamp ;
293
294
goal_pose.pose = global_plan_.poses .back ().pose ;
294
295
nav2_util::transformPoseInTargetFrame (
295
296
goal_pose, goal_pose, *tf_,
@@ -535,10 +536,17 @@ DWBLocalPlanner::transformGlobalPlan(
535
536
// Helper function for the transform below. Converts a pose2D from global
536
537
// frame to local
537
538
auto transformGlobalPoseToLocal = [&](const auto & global_plan_pose) {
538
- geometry_msgs::msg::PoseStamped transformed_pose;
539
- nav2_util::transformPoseInTargetFrame (
540
- global_plan_pose, transformed_pose, *tf_,
541
- transformed_plan.header .frame_id , transform_tolerance_);
539
+ geometry_msgs::msg::PoseStamped stamped_pose, transformed_pose;
540
+ stamped_pose.header .frame_id = global_plan_.header .frame_id ;
541
+ stamped_pose.header .stamp = robot_pose.header .stamp ;
542
+ stamped_pose.pose = global_plan_pose.pose ;
543
+ if (!nav2_util::transformPoseInTargetFrame (
544
+ stamped_pose, transformed_pose, *tf_,
545
+ transformed_plan.header .frame_id , transform_tolerance_))
546
+ {
547
+ throw nav2_core::ControllerTFError (" Unable to transform plan pose into local frame" );
548
+ }
549
+ transformed_pose.pose .position .z = 0.0 ;
542
550
return transformed_pose;
543
551
};
544
552
0 commit comments