Fixed compilation errors
							parent
							
								
									7407b605b9
								
							
						
					
					
						commit
						0310eb4e7b
					
				|  | @ -126,9 +126,10 @@ void PreintegrationBase::updatePreintegratedJacobians(const Vector3& correctedAc | ||||||
|   update_delRdelBiasOmega(D_Rincr_integratedOmega, incrR, deltaT); |   update_delRdelBiasOmega(D_Rincr_integratedOmega, incrR, deltaT); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void PreintegrationBase::correctMeasurementsByBiasAndSensorPose( | std::pair<Vector3, Vector3> PreintegrationBase::correctMeasurementsByBiasAndSensorPose( | ||||||
|     const Vector3& measuredAcc, const Vector3& measuredOmega, Vector3& correctedAcc, |     const Vector3& measuredAcc, const Vector3& measuredOmega, | ||||||
|     Vector3& correctedOmega, boost::optional<const Pose3&> body_P_sensor) { |     boost::optional<const Pose3&> body_P_sensor) const { | ||||||
|  |   Vector3 correctedAcc, correctedOmega; | ||||||
|   correctedAcc = biasHat_.correctAccelerometer(measuredAcc); |   correctedAcc = biasHat_.correctAccelerometer(measuredAcc); | ||||||
|   correctedOmega = biasHat_.correctGyroscope(measuredOmega); |   correctedOmega = biasHat_.correctGyroscope(measuredOmega); | ||||||
| 
 | 
 | ||||||
|  | @ -139,9 +140,11 @@ void PreintegrationBase::correctMeasurementsByBiasAndSensorPose( | ||||||
|     correctedOmega = body_R_sensor * correctedOmega; // rotation rate vector in the body frame
 |     correctedOmega = body_R_sensor * correctedOmega; // rotation rate vector in the body frame
 | ||||||
|     Matrix3 body_omega_body__cross = skewSymmetric(correctedOmega); |     Matrix3 body_omega_body__cross = skewSymmetric(correctedOmega); | ||||||
|     correctedAcc = body_R_sensor * correctedAcc |     correctedAcc = body_R_sensor * correctedAcc | ||||||
|         - body_omega_body__cross * body_omega_body__cross * body_P_sensor->translation().vector(); |         - body_omega_body__cross * body_omega_body__cross | ||||||
|  |             * body_P_sensor->translation().vector(); | ||||||
|     // linear acceleration vector in the body frame
 |     // linear acceleration vector in the body frame
 | ||||||
|   } |   } | ||||||
|  |   return std::make_pair(correctedAcc, correctedOmega); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /// Predict state at time j
 | /// Predict state at time j
 | ||||||
|  |  | ||||||
|  | @ -133,24 +133,10 @@ class PreintegrationBase : public PreintegratedRotation { | ||||||
|                                     const Matrix3& D_Rincr_integratedOmega, const Rot3& incrR, |                                     const Matrix3& D_Rincr_integratedOmega, const Rot3& incrR, | ||||||
|                                     double deltaT); |                                     double deltaT); | ||||||
| 
 | 
 | ||||||
|   boost::tuple<Vector3, Vector3> |   std::pair<Vector3, Vector3> | ||||||
|   correctMeasurementsByBiasAndSensorPose(const Vector3& measuredAcc, |   correctMeasurementsByBiasAndSensorPose(const Vector3& measuredAcc, | ||||||
|       const Vector3& measuredOmega, boost::optional<const Pose3&> body_P_sensor) { |       const Vector3& measuredOmega, | ||||||
|     Vector3 correctedAcc, correctedOmega; |       boost::optional<const Pose3&> body_P_sensor) const; | ||||||
|     correctedAcc = biasHat_.correctAccelerometer(measuredAcc); |  | ||||||
|     correctedOmega = biasHat_.correctGyroscope(measuredOmega); |  | ||||||
| 
 |  | ||||||
|     // Then compensate for sensor-body displacement: we express the quantities
 |  | ||||||
|     // (originally in the IMU frame) into the body frame
 |  | ||||||
|     if(body_P_sensor){ |  | ||||||
|       Matrix3 body_R_sensor = body_P_sensor->rotation().matrix(); |  | ||||||
|       correctedOmega = body_R_sensor * correctedOmega; // rotation rate vector in the body frame
 |  | ||||||
|       Matrix3 body_omega_body__cross = skewSymmetric(correctedOmega); |  | ||||||
|       correctedAcc = body_R_sensor * correctedAcc - body_omega_body__cross * body_omega_body__cross * body_P_sensor->translation().vector(); |  | ||||||
|       // linear acceleration vector in the body frame
 |  | ||||||
|     } |  | ||||||
|     return boost::make_tuple(correctedAcc, correctedOmega); |  | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|   /// Predict state at time j
 |   /// Predict state at time j
 | ||||||
|   PoseVelocityBias predict( |   PoseVelocityBias predict( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue