ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Following on from the comments:
When it comes to taking in sensor data, the filter is primarily concerned with two coordinate frames: the value of the world_frame
parameter (typically odom or map) and the value of the base_link_frame
parameter (typically base_link or base_footprint).
When you provide a nav_msgs/Odometry
message as a sensor input, there are two coordinate frames represented in that. The frame_id
in the message refers to the pose data, and the child_frame_id
refers to the twist (velocity) data.
All velocity data will get transformed from the child_frame_id
of the odometry message to the base_link_frame
of your EKF, so you need to provide that transform, or make sure both frames are the same.
All pose data will get transformed from the frame_id
of the odomety message to the world_frame
of your EKF, so you need to provide that transform, or make sure both frames are the same.
The EKF itself will generate a transform from world_frame
->base_link_frame
.
In your case, I'd recommend fusing just velocity data from one source. Get it working the way you want, and then add a new source.