ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Have you opened this up as an issue on the github page for this package? What I am about to explain is more properly placed there.
The issue is on lines 110-120 of navsat_transform.cpp
broadcast_cartesian_transform_ =
this->declare_parameter("broadcast_utm_transform", broadcast_cartesian_transform_);
if (broadcast_cartesian_transform_) {
RCLCPP_WARN(
this->get_logger(), "Parameter 'broadcast_utm_transform' has been deprecated. "
"Please use 'broadcast_cartesian_transform' instead.");
} else {
broadcast_cartesian_transform_ =
this->declare_parameter("broadcast_utm_transform", broadcast_cartesian_transform_);
}
We can see that if the broadcast_utm_transform
parameter is false, it will be declared on both the first statement and in the else branch.
If I had to guess on the intent of the code, the else branch should look more like this:
} else {
broadcast_cartesian_transform_ =
this->declare_parameter("broadcast_cartesian_transform", broadcast_cartesian_transform_);
}
(the name of the parameter should be different)
To jump passed this without modifying code, pass it true for broadcast_utm_transform
parameter with:
ros2 run robot_localization navsat_transform_node --ros-args -p broadcast_utm_transform:=true
Please either open an issue on the github page, or let me know if you are not going to so I can.
Hope this helps!