ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
It changes very slowly and it is obviously wrong. For example, velocity.linear.x is a positive number but position x is decreasing.
Two things:
base_link
frame, which is rigidly attached to the robot. Imagine a robot that is facing the origin, and driving towards it. In that case, linear velocity in X will be positive, but the X position, which is reported in a world frame like odom, will decrease.In any case, it seems that you were expecting the EKF to figure out your robot's heading based on differentiated position, and it won't do that. You should have at least a yaw velocity measurement for your setup.
2 | No.2 Revision |
It changes very slowly and it is obviously wrong. For example, velocity.linear.x is a positive number but position x is decreasing.
Two things:
base_link
frame, which is rigidly attached to the robot. Imagine a robot that is facing the odom frame origin, and driving towards it. In that case, linear velocity in X will be positive, but the X position, which is reported in a world frame like odom, will decrease.In any case, it seems that you were expecting the EKF to figure out your robot's heading based on differentiated position, and it won't do that. You should have at least a yaw velocity measurement for your setup.
3 | No.3 Revision |
It changes very slowly and it is obviously wrong. For example, velocity.linear.x is a positive number but position x is decreasing.
Two things:
In any case, it seems that you were expecting the EKF to figure out your robot's heading based on differentiated position, and it won't do that. You should have at least a yaw velocity measurement for your setup.
4 | No.4 Revision |
It changes very slowly and it is obviously wrong. For example, velocity.linear.x is a positive number but position x is decreasing.
Two things:
In any case, it seems that you were expecting the EKF to figure out your robot's heading based on differentiated position, and it won't do that. You should have at least a yaw velocity measurement for your setup.
5 | No.5 Revision |
It changes very slowly and it is obviously wrong. For example, velocity.linear.x is a positive number but position x is decreasing.
Two things:
In any case, it seems that you were expecting the EKF to figure out your robot's heading based on differentiated position, and it won't do that. You should have at least a yaw velocity measurement for your setup.
EDIT in response to comment
I'm not sure what resetting the filter buys you. I don't think it's going to solve your problem. One option would be to duplicate your odom0
configuration as odom1
, but turn on differential mode for odom1
. That will produce a velocity from the pose data, but you're effectively feeding the filter the same information twice.