Robot_localization - Could not transform measurement into base_link
Hello!!!
I'm using robot_localization for 3D positioning and I'm giving it a try with one source. In this case, it is providing a TwistWithCovarianceStamped in odom frame and I'm trying to use the EKF just to see how it works, but it return a straight line. In the debug file it says
Could not transform measurement into erlecopter/imu_link. Ignoring...
I renamed base_link as erlecopter/imu_link
Does anyone have any idea regarding how to solve this problem? The TwistWithCovarianceStamped message is properly sent.
I'll add the params file:
frequency: 5
sensor_timeout: 2
two_d_mode: false
transform_time_offset: 0.0
transform_timeout: 0.0
print_diagnostics: false
debug: true
debug_out_file: /home/javier/pruebas/MasPruebas/Data/file.txt
publish_tf: true
publish_acceleration: false
map_frame: map # Defaults to "map" if unspecified
odom_frame: odom # Defaults to "odom" if unspecified
base_link_frame: erlecopter/imu_link # Defaults to "base_link" if unspecified
world_frame: odom # Defaults to the value of odom_frame if unspecified
twist0: /Camera_estimation
twist0_config: [false, false, false,
false, false, false,
true, true, true,
true, true, true,
false, false, false]
twist0_queue_size: 3
process_noise_covariance: ...
initial_estimate_covariance: ...
This seems to indicate a broken tf tree what does
rosrun tf view_frames
frames.pdf look like?It just says no tf data received. Shouldn't robot_localization provide this odom to base_link transform from the given data?
The frame_id in the header of the /Camera_estimation topic is erlecopter/imu_link?
No, I used odom because the information given was in odom frame of reference.
Try to change it, and see what happens.
The error shows there is likely no imu_link so what does view_frames show, how do you make imu_link available, urdf? Show the urdf. Whats the frame_id in the imu messege? This should be a simple fix. Either imu_link is not created or the frame_id of the messege names an unknown id. Yes robot_localization proveds a transform but it only creates odom, not base_link frame, base_link usually comes from the urdf.
Try to change it, and see what happens. -> It returns a completely wrong output. I have not touched the urdf file nor do I know what it is. When I use IMU and twist I get a bad result and if I try only twist (no EKF) it returns a good result so I wanted to try the twist with EKF to see if the strange behaviour reason happens there, but then I got this problem
So with base_link ekf works but you dont like its output? Then its obviously a configuration issue. I also dont understand how you get/want a imu message and a twist message, usually twist is used for accelerometers, but an IMU is higher leverl usually already incorporating accelerometer data. What means "good result" and what means "completely wrong output" you have to get much more detailed and post all the data of your system that you can, view_frames is the first, urdf, the next, infos about the nodes publishing the messages the messages themselfs (specially header frame_id).