Covariance regression values
							parent
							
								
									0ced228413
								
							
						
					
					
						commit
						11d0ad0d78
					
				| 
						 | 
					@ -755,15 +755,27 @@ TEST(ImuFactor, ErrorWithBiasesAndSensorBodyDisplacement) {
 | 
				
			||||||
  const Pose3 body_P_sensor(Rot3::Expmap(Vector3(0, 0.10, 0.10)),
 | 
					  const Pose3 body_P_sensor(Rot3::Expmap(Vector3(0, 0.10, 0.10)),
 | 
				
			||||||
      Point3(1, 0, 0));
 | 
					      Point3(1, 0, 0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ImuFactor::PreintegratedMeasurements pre_int_data(
 | 
					  ImuFactor::PreintegratedMeasurements pim(
 | 
				
			||||||
      imuBias::ConstantBias(Vector3(0.2, 0.0, 0.0), Vector3(0.0, 0.0, 0.0)),
 | 
					      imuBias::ConstantBias(Vector3(0.2, 0.0, 0.0), Vector3(0.0, 0.0, 0.0)),
 | 
				
			||||||
      kMeasuredAccCovariance, kMeasuredOmegaCovariance,
 | 
					      kMeasuredAccCovariance, kMeasuredOmegaCovariance,
 | 
				
			||||||
      kIntegrationErrorCovariance);
 | 
					      kIntegrationErrorCovariance);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pre_int_data.integrateMeasurement(measuredAcc, measuredOmega, deltaT);
 | 
					  pim.integrateMeasurement(measuredAcc, measuredOmega, deltaT);
 | 
				
			||||||
 | 
					  Matrix expected(9,9);
 | 
				
			||||||
 | 
					  expected <<
 | 
				
			||||||
 | 
					      0.0001, 0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0, 0.0001,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0, 0.0001,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,   0.01,    0.0,    0.0,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,    0.0,   0.01,    0.0,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,    0.0,    0.0,   0.01,    0.0,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,    0.0,    0.0,    0.0,   0.0290687976,    0.0,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,   0.0290687976,    0.0,//
 | 
				
			||||||
 | 
					      0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,   0.03;
 | 
				
			||||||
 | 
					  EXPECT(assert_equal(expected, pim.preintMeasCov(), 1e-7));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Create factor
 | 
					  // Create factor
 | 
				
			||||||
  ImuFactor factor(X(1), V(1), X(2), V(2), B(1), pre_int_data, kGravity,
 | 
					  ImuFactor factor(X(1), V(1), X(2), V(2), B(1), pim, kGravity,
 | 
				
			||||||
      kNonZeroOmegaCoriolis);
 | 
					      kNonZeroOmegaCoriolis);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Values values;
 | 
					  Values values;
 | 
				
			||||||
| 
						 | 
					@ -864,16 +876,29 @@ TEST(ImuFactor, PredictArbitrary) {
 | 
				
			||||||
  Vector3 measuredAcc(0.1, 0.2, -9.81);
 | 
					  Vector3 measuredAcc(0.1, 0.2, -9.81);
 | 
				
			||||||
  double deltaT = 0.001;
 | 
					  double deltaT = 0.001;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ImuFactor::PreintegratedMeasurements pre_int_data(
 | 
					  ImuFactor::PreintegratedMeasurements pim(
 | 
				
			||||||
      imuBias::ConstantBias(Vector3(0.2, 0.0, 0.0), Vector3(0.0, 0.0, 0.0)),
 | 
					      imuBias::ConstantBias(Vector3(0.2, 0.0, 0.0), Vector3(0.0, 0.0, 0.0)),
 | 
				
			||||||
      kMeasuredAccCovariance, kMeasuredOmegaCovariance,
 | 
					      kMeasuredAccCovariance, kMeasuredOmegaCovariance,
 | 
				
			||||||
      kIntegrationErrorCovariance, true);
 | 
					      kIntegrationErrorCovariance, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int i = 0; i < 1000; ++i)
 | 
					  for (int i = 0; i < 1000; ++i)
 | 
				
			||||||
    pre_int_data.integrateMeasurement(measuredAcc, measuredOmega, deltaT);
 | 
					    pim.integrateMeasurement(measuredAcc, measuredOmega, deltaT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Matrix expected(9,9);
 | 
				
			||||||
 | 
					  expected << //
 | 
				
			||||||
 | 
					      0.142448905,    0.00345595825, -0.0225794125,    0.34774305,     0.0119449979,  -0.075667905,   -0.0144839494,  -0.0454268484,   0.00489577218,//
 | 
				
			||||||
 | 
					      0.00345595825,  0.143318431,    0.0200549262,    0.0112877167,   0.351503176,    0.0629164907,   0.044978128,   -0.0149428917,   0.00839301168,  //
 | 
				
			||||||
 | 
					     -0.0225794125,   0.0200549262,   0.0104041905,   -0.0580647212,   0.051116506,    0.0285371399,   0.0100471195,   0.00609093775,  0.000448720395, //
 | 
				
			||||||
 | 
					      0.34774305,     0.0112877167,  -0.0580647212,    0.911721561,    0.0412249672,  -0.205920425,   -0.0409843415,  -0.13554868,     0.00879031682,  //
 | 
				
			||||||
 | 
					      0.0119449979,   0.351503176,    0.051116506,     0.0412249672,   0.928013807,    0.169935105,    0.134423822,   -0.0471183681,   0.0162199769,   //
 | 
				
			||||||
 | 
					     -0.075667905,    0.0629164907,   0.0285371399,   -0.205920425,    0.169935105,    0.09407764,     0.0383280513,   0.0247643646,   0.00112485862,//
 | 
				
			||||||
 | 
					     -0.0144839494,   0.044978128,    0.0100471195,   -0.0409843415,   0.134423822,    0.0383280513,   0.0299999995,   0.0,            0.0, //
 | 
				
			||||||
 | 
					     -0.0454268484,  -0.0149428917,   0.00609093775,  -0.13554868,    -0.0471183681,   0.0247643646,   0.0,            0.0299999995,   0.0, //
 | 
				
			||||||
 | 
					      0.00489577218,  0.00839301168,  0.000448720395,  0.00879031682,  0.0162199769,   0.00112485862,  0.0,            0.0,            0.0299999995;
 | 
				
			||||||
 | 
					  EXPECT(assert_equal(expected, pim.preintMeasCov(), 1e-7));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Create factor
 | 
					  // Create factor
 | 
				
			||||||
  ImuFactor factor(X(1), V(1), X(2), V(2), B(1), pre_int_data, kGravity,
 | 
					  ImuFactor factor(X(1), V(1), X(2), V(2), B(1), pim, kGravity,
 | 
				
			||||||
      kZeroOmegaCoriolis);
 | 
					      kZeroOmegaCoriolis);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Predict
 | 
					  // Predict
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue