Open fakeeyes opened 4 years ago
The sensors fusion is performed by the SensorFusionEkf class. You can find details about its implementation here.
Hi, I have some problems with the sensor fusion function; How is this formula derived? Can you provide some references? Thank you very much.
void SensorFusionEkf::ComputeMeasurementJacobian() { for (int dof = 0; dof < 3; dof++) { Vector3 delta = Vector3::Zero(); delta[dof] = kFiniteDifferencingEpsilon;
const Rotation epsilon_rotation = RotationFromVector(delta);
const Vector3 delta_rotation = ComputeInnovation(
epsilon_rotation * current_state_.sensor_from_start_rotation);
const Vector3 col =
(innovation_ - delta_rotation) / kFiniteDifferencingEpsilon;
accelerometer_measurement_jacobian_(0, dof) = col[0];
accelerometer_measurement_jacobian_(1, dof) = col[1];
accelerometer_measurement_jacobian_(2, dof) = col[2];
} } @jballoffet
I think Cardboard VR has much motion sickness problem because of Kalman filter. So I want disable it and applying new way. Anybody has answer for that?