18 #include <Eigen/Dense>
30 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
58 int Initialize(
const Eigen::Vector3d& p_wi_init,
const Eigen::Quaterniond& q_wi_init);
77 bool* added_interm_state);
The BufferDataType binds the core and sensor state in form of a shared void pointer.
Definition: buffer_data_type.h:36
Definition: buffer_entry_type.h:41
BufferClass that holds mars::BufferEntryType elements and provides access methods.
Definition: buffer.h:35
The CoreLogic class represents the high-level logic for the operation of the filter.
Definition: core_logic.h:28
bool verbose_
Definition: core_logic.h:39
bool PerformSensorUpdate(std::shared_ptr< SensorAbsClass > sensor, const Time ×tamp, BufferEntryType *sensor_data)
PerformSensorUpdate Returns new state with corrected state and updated covariance.
SensorManager sensor_manager_
Buffer that holds measurements prior initialization.
Definition: core_logic.h:35
bool core_init_warn_once_
Definition: core_logic.h:38
void PerformCoreStatePropagation(std::shared_ptr< SensorAbsClass > sensor, const Time ×tamp, const BufferEntryType &prior_state_entry, BufferEntryType *sensor_entry)
PerformCoreStatePropagation Propagates the core state and returns the new state entry.
int Initialize(const Eigen::Vector3d &p_wi_init, const Eigen::Quaterniond &q_wi_init)
Initialize the filter with information available in the prior init buffer.
void ReworkBufferStartingAtIndex(const int &index)
ReworkBufferStartingAtIndex Reprocesses the buffer after an out of order update, starting at given 'i...
CoreLogic(std::shared_ptr< CoreState > core_states)
CoreLogic.
CoreStateMatrix GenerateStateTransitionBlock(const int &first_transition_idx, const int &last_transition_idx)
GenerateStateTransitionBlock Returns the state transition block between 'first_transition_idx' and 'l...
Buffer buffer_
Holds a pointer to the core_states.
Definition: core_logic.h:33
bool ProcessMeasurement(std::shared_ptr< SensorAbsClass > sensor, const Time ×tamp, const BufferDataType &data)
ProcessMeasurement Processes the sensor input.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW std::shared_ptr< CoreState > core_states_
Definition: core_logic.h:32
Buffer buffer_prior_core_init_
Main buffer of the filter.
Definition: core_logic.h:34
bool PerformSensorUpdate(std::shared_ptr< SensorAbsClass > sensor, const Time ×tamp, BufferEntryType *sensor_data, bool *added_interm_state)
bool core_is_initialized_
Definition: core_logic.h:36
bool discard_ooo_prop_meas_
Increased output of information for delayed measurements.
Definition: core_logic.h:41
Eigen::MatrixXd PropagateSensorCrossCov(const Eigen::MatrixXd &sensor_cov, const CoreStateMatrix &core_cov, const CoreStateMatrix &state_transition)
PropagateSensorCrossCov.
bool add_interm_buffer_entries_
Discard out of order propagation sensor measurements.
Definition: core_logic.h:42
bool verbose_out_of_order_
Increased output of information.
Definition: core_logic.h:40
Definition: sensor_manager.h:22
Eigen::Matrix< double, CoreStateType::size_error_, CoreStateType::size_error_ > CoreStateMatrix
Definition: core_state_type.h:134