ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
![]() | 1 | initial version |
Please update the question by posting a sample message from each sensor input.
So, I have two problems: 1ST: When I do rostopic hz with the 2 topics above, it shows a rate of approximately 1Hz. That is very slow, isn't it?
For a GPS, that makes sense. For an IMU, that doesn't seem right.
2ND: When I use the launch file above, it starts by showing:
If you are getting transform warnings, it means that the transforms coming out of the EKF are older than the timestamps on the input messages going into navsat_transform_node
. This is because the EKF only predicts up to the point of its most recent input message. Since the IMU and GPS data probably (?) have the same time stamps, navsat_transform_node
receives a GPS message at the same time that the EKF receives its latest IMU data. That means the EKF will have to compute and publish the transform before navsat_transform_node
can use it, but navsat_transform_node
needs that transform at the time it receives the GPS message (which is at the time the EKF just receives the IMU message, so it won't be available).
You have three options:
transform_time_offset
EKF parameter to some small positive value. This will future-date its transform it's generating.predict_to_current_time
to true for the EKF. That will force the EKF to make a prediction to the current ROS time before publishing, rather than just publishing the state estimate at the time of the most recent measurement. ![]() | 2 | No.2 Revision |
Please update the question by posting a sample message from each sensor input.
So, I have two problems: 1ST: When I do rostopic hz with the 2 topics above, it shows a rate of approximately 1Hz. That is very slow, isn't it?
For a GPS, that makes sense. For an IMU, that doesn't seem right.
2ND: When I use the launch file above, it starts by showing:
If you are getting transform warnings, it means that the transforms coming out of the EKF are older than the timestamps on the input messages going into navsat_transform_node
. This is because the EKF only predicts up to the point of its most recent input message. Since the IMU and GPS data probably (?) have the same time stamps, navsat_transform_node
receives a GPS message at the same time that the EKF receives its latest IMU data. That means the EKF will have to compute and publish the transform before navsat_transform_node
can use it, but navsat_transform_node
needs that transform at the time it receives the GPS message (which is at the time the EKF just receives the IMU message, so it won't be available).
You have three two options:
transform_time_offset
EKF parameter to some small positive value. This will future-date its transform it's generating.predict_to_current_time
to true for the EKF. That will force the EKF to make a prediction to the current ROS time before publishing, rather than just publishing the state estimate at the time of the most recent measurement.