ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Does the covariance is related to the velocity and acceleration?

asked 2020-08-23 22:14:44 -0600

improve100 gravatar image

updated 2020-09-04 04:20:24 -0600

Tom Moore gravatar image

As I accelerate, I find that the covariance is related to my acceleration and my velocity. I check the code found this:

double dFx_dP = (xCoeff * xVel + yCoeff * yVel + zCoeff * zVel) * delta +
(xCoeff * xAcc + yCoeff * yAcc + zCoeff * zAcc) * oneHalfATSquared;

double dFR_dP = (cpi * cpi * sr * pitchVel + cpi * cpi * cr * yawVel) * delta;

transferFunctionJacobian_(StateMemberX, StateMemberPitch) = dFx_dP;

dynamic_process_noise_covariance: false

It's say that the Jacobian matrix is related to the velocity and acceleration. When the velocity increases, the covariance of the entire EKF will increase, not only related to the time? If I set a threshold of covariance, when I go too fast, I'm going to report an error very quickly.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-09-04 04:32:45 -0600

Tom Moore gravatar image

Can you maybe clarify what your issue is? I'm not sure I understand, apologies. What do you expect from the filter's behaviour that you're not seeing? The Jacobian matrix is a matrix of partial derivatives from the transfer function. In this case, the equation for the X dimension in the transfer function includes the pitch dimension, so that partial derivative needs to be computed. That partial derivative include the time delta directly (delta) as well as the oneHalfATSquared term, which is computed as 0.5 * delta * delta.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2020-08-23 22:14:44 -0600

Seen: 396 times

Last updated: Sep 04 '20