Class BasaltVIO
Defined in File BasaltVIO.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public dai::NodeCRTP< ThreadedHostNode, BasaltVIO >(Template Class NodeCRTP)
Class Documentation
-
class BasaltVIO : public dai::NodeCRTP<ThreadedHostNode, BasaltVIO>
Basalt Visual Inertial Odometry node. Performs VIO on stereo images and IMU data.
Public Types
Public Functions
-
BasaltVIO()
-
~BasaltVIO()
-
void buildInternal() override
-
inline void setImuUpdateRate(int rate)
-
inline void setConfigPath(const std::string &path)
-
inline void setUseSpecTranslation(bool use)
-
void setAccelBias(const std::vector<double> &accelBias)
-
void setAccelNoiseStd(const std::vector<double> &accelNoiseStd)
-
void setGyroBias(const std::vector<double> &gyroBias)
-
void setGyroNoiseStd(const std::vector<double> &gyroNoiseStd)
-
void setDefaultVIOConfig()
-
void runSyncOnHost(bool runOnHost)
Public Members
-
std::string leftInputName = "left"
-
std::string rightInputName = "right"
-
Input &left = inputs[leftInputName]
Input left image on which VIO is performed.
-
Input &right = inputs[rightInputName]
Input right image on which VIO is performed.
-
Input imu = {*this, {"inIMU", DEFAULT_GROUP, false, 0, {{DatatypeEnum::IMUData, true}}}}
Input IMU data.
-
Output transform = {*this, {"transform", DEFAULT_GROUP, {{DatatypeEnum::TransformData, true}}}}
Output transform data.
-
Output passthrough = {*this, {"imgPassthrough", DEFAULT_GROUP, {{DatatypeEnum::ImgFrame, true}}}}
Output passthrough of left image.
Public Static Attributes
-
static constexpr const char *NAME = "BasaltVIO"
-
struct VioConfig
Public Members
-
std::string optical_flow_type
-
int optical_flow_detection_grid_size
-
int optical_flow_detection_num_points_cell
-
int optical_flow_detection_min_threshold
-
int optical_flow_detection_max_threshold
-
bool optical_flow_detection_nonoverlap
-
float optical_flow_max_recovered_dist2
-
int optical_flow_pattern
-
int optical_flow_max_iterations
-
int optical_flow_levels
-
float optical_flow_epipolar_error
-
int optical_flow_skip_frames
-
MatchingGuessType optical_flow_matching_guess_type
-
float optical_flow_matching_default_depth
-
float optical_flow_image_safe_radius
-
bool optical_flow_recall_enable
-
bool optical_flow_recall_all_cams
-
bool optical_flow_recall_num_points_cell
-
bool optical_flow_recall_over_tracking
-
bool optical_flow_recall_update_patch_viewpoint
-
float optical_flow_recall_max_patch_dist
-
std::vector<float> optical_flow_recall_max_patch_norms
-
LinearizationType vio_linearization_type
-
bool vio_sqrt_marg
-
int vio_max_states
-
int vio_max_kfs
-
int vio_min_frames_after_kf
-
float vio_new_kf_keypoints_thresh
-
bool vio_debug
-
bool vio_extended_logging
-
int vio_max_iterations
-
double vio_obs_std_dev
-
double vio_obs_huber_thresh
-
double vio_min_triangulation_dist
-
bool vio_enforce_realtime
-
bool vio_use_lm
-
double vio_lm_lambda_initial
-
double vio_lm_lambda_min
-
double vio_lm_lambda_max
-
bool vio_scale_jacobian
-
double vio_init_pose_weight
-
double vio_init_ba_weight
-
double vio_init_bg_weight
-
bool vio_marg_lost_landmarks
-
bool vio_fix_long_term_keyframes
-
double vio_kf_marg_feature_ratio
-
KeyframeMargCriteria vio_kf_marg_criteria
-
double mapper_obs_std_dev
-
double mapper_obs_huber_thresh
-
int mapper_detection_num_points
-
double mapper_num_frames_to_match
-
double mapper_frames_to_match_threshold
-
double mapper_min_matches
-
double mapper_ransac_threshold
-
double mapper_min_track_length
-
double mapper_max_hamming_distance
-
double mapper_second_best_test_ratio
-
int mapper_bow_num_bits
-
double mapper_min_triangulation_dist
-
bool mapper_no_factor_weights
-
bool mapper_use_factors
-
bool mapper_use_lm
-
double mapper_lm_lambda_min
-
double mapper_lm_lambda_max
-
std::string optical_flow_type
-
BasaltVIO()