Program Listing for File map-update.h¶
↰ Return to documentation for file (common/vio-common/include/vio-common/map-update.h
)
#ifndef VIO_COMMON_MAP_UPDATE_H_
#define VIO_COMMON_MAP_UPDATE_H_
#include <memory>
#include <vio-common/vio-types.h>
namespace vio {
struct MapUpdate {
MAPLAB_POINTER_TYPEDEFS(MapUpdate);
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
// Map update states.
int64_t timestamp_ns;
EstimatorState vio_state;
UpdateType map_update_type;
std::shared_ptr<const SynchronizedNFrame> keyframe;
// TODO(nico): find a nice way of making this one const as well (ctor maybe)
Eigen::Matrix<int64_t, 1, Eigen::Dynamic> imu_timestamps;
Eigen::Matrix<double, 6, Eigen::Dynamic> imu_measurements;
ViNodeState vinode;
ViNodeCovariance vinode_covariance;
// Localization update states.
common::LocalizationState localization_state;
aslam::Transformation T_G_M;
// TODO(nico): find a way of checking imu validity as well
// NOTE(mfehr): we need to make this check independent of whether there is a
// visual keyframe or not if we want to support mapping without vision.
inline bool check() const {
return static_cast<bool>(keyframe);
}
};
} // namespace vio
#endif // VIO_COMMON_MAP_UPDATE_H_