ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
First, I would advise that you review the tf
library. The node is telling you that there is no transform defined from your robot's base_footprint
frame to its gps
frame. In other words, in order for navsat_transform_node
to know how to integrate your GPS data, it needs to know where on your robot the GPS itself is mounted. Imagine a robot with a GPS that is mounted on a long arm that sticks out in front of the robot. Since we want to know the pose of the robot's center (in this case, the base_footprint frame), we need to know what that offset (transform) is.
In this case, you need to use either (a) the robot_state_publisher
or (b) a static_transform_publisher
to define and broadcast a transform from your base_footprint frame to your gps frame.
2 | No.2 Revision |
First, I would advise that you review the tf
library. The node is telling you that there is no transform defined from your robot's base_footprint
frame to its gps
frame. In other words, in order for navsat_transform_node
to know how to integrate your GPS data, it needs to know where on your robot the GPS itself is mounted. Imagine a robot with a GPS that is mounted on a long arm that sticks out in front of the robot. Since we want to know the pose of the robot's center (in this case, the base_footprint frame), we need to know what that offset (transform) is.
In this case, you need to use either (a) the robot_state_publisher
or (b) a static_transform_publisher
to define and broadcast a transform from your base_footprint frame to your gps frame.
RESPONSE TO EDIT 2:
Just looking at the launch file, I can see a couple issues:
base_link_frame
frame_id. For your ekf_odom
instance, you have it set to base_footprint, and for the ekf_map
instance, you have it set to base_link.base_to_realsense
static transform uses the same child frame_id that you use for the base_link_frame
in the EKF instances.