|
VOXL OpenVINS Server 1.0
Visual Inertial Odometry Server for VOXL Platform
|
Global variable declarations and constants for VOXL OpenVINS server. More...
#include <memory>#include <atomic>#include <string>#include <vector>#include <mutex>#include <cstdint>#include <condition_variable>#include <core/VioManager.h>#include <core/VioManagerOptions.h>#include <modal_pipe.h>#include <modal_json.h>#include <voxl_common_config.h>#include "VoxlCommon.h"

Go to the source code of this file.
Classes | |
| struct | voxl::img_ringbuf_packet |
| Structure to hold image data packet for the ring buffer. More... | |
| struct | voxl::FrameTransform |
| Structure for handling IMU frame transformations. More... | |
Namespaces | |
| namespace | voxl |
| Main namespace for VOXL OpenVINS server components. | |
Macros | |
| #define | GYRO_VAR_THRESHOLD 0.09f |
| Gyro variance threshold for motion detection. | |
| #define | ACC_VAR_THRESHOLD 0.09f |
| Accelerometer variance threshold for motion detection. | |
| #define | VEL_MAG_JERK_THRESHOLD 0.02f |
| Velocity magnitude threshold for jerk detection. | |
| #define | EXTENDED_CH 0 |
| MPA server channel for extended VIO data output. | |
| #define | SIMPLE_CH 1 |
| MPA server channel for simple VIO data output. | |
| #define | OVERLAY_CH 2 |
| MPA server channel for overlay data output. | |
| #define | OVSTATUS_CH 3 |
| MPA server channel for status information. | |
| #define | IMU_CH 0 |
| MPA client channel for IMU data input. | |
| #define | FEAT_OVERLAY_CH 9 |
| MPA client channel for feature overlay data. | |
| #define | BARO_CH 10 |
| MPA client channel for barometer data input. | |
| #define | CPU_CH 11 |
| MPA client channel for CPU monitoring data. | |
| #define | OV_VIO_CONTROL_COMMANDS (RESET_VIO_SOFT "," RESET_VIO_HARD) |
| Control commands available for VIO system. | |
| #define | OV_VIO_EXTENDED_NAME "ov_extended" |
| Name for extended VIO data pipe. | |
| #define | OV_VIO_EXTENDED_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_EXTENDED_NAME "/" |
| Location for extended VIO data pipe. | |
| #define | OV_VIO_SIMPLE_NAME "ov" |
| Name for simple VIO data pipe. | |
| #define | OV_VIO_SIMPLE_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_SIMPLE_NAME "/" |
| Location for simple VIO data pipe. | |
| #define | OV_VIO_OVERLAY_NAME "ov_overlay" |
| Name for overlay data pipe. | |
| #define | OV_VIO_OVERLAY_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_OVERLAY_NAME "/" |
| Location for overlay data pipe. | |
| #define | OV_STATUS_NAME "ov_status" |
| Name for status information pipe. | |
| #define | OV_STATUS_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_STATUS_NAME "/" |
| Location for status information pipe. | |
| #define | PROCESS_NAME "voxl-open-vins-server" |
| Process name for the VOXL OpenVINS server. | |
| #define | MAX_CAM_CNT 6 |
| Maximum number of cameras supported by VOXL2. | |
| #define | CHAR_BUF_SIZE 128 |
| Standard character buffer size. | |
Typedefs | |
| typedef struct voxl::img_ringbuf_packet | voxl::img_ringbuf_packet |
Enumerations | |
| enum class | ImageType { CV_MAT , CL_MEM } |
| enum | imu_model_t { IMU_MODEL_UNKNOWN = 0 , IMU_MODEL_ICM42688 , IMU_MODEL_BMI270 } |
| Enumeration of supported IMU models. More... | |
Variables | |
| ov_msckf::VioManagerOptions | vio_manager_options |
| VIO manager options. | |
| std::unique_ptr< ov_msckf::VioManager > | vio_manager |
| Global VIO manager instance. | |
| volatile int | main_running |
| Main server running state. | |
| std::atomic< uint8_t > | vio_state |
| Current VIO system state. | |
| std::atomic< uint32_t > | vio_error_codes |
| VIO error codes. | |
| std::atomic< bool > | reset_requested |
| Should reset floag. | |
| std::atomic< bool > | is_resetting |
| VIO reset state flag. | |
| std::atomic< uint32_t > | reset_num_counter |
| Counter which increments on resets. | |
| std::atomic< uint32_t > | active_callbacks |
| Number of callbacks inside the system. | |
| std::mutex | reset_mtx |
| Mutex for reset. | |
| std::condition_variable | reset_cv |
| Reset conditional variable. | |
| std::atomic< bool > | is_armed |
| System armed state. | |
| std::atomic< bool > | is_cam_connected |
| Camera connection state. | |
| std::atomic< bool > | is_imu_connected |
| IMU connection state. | |
| int | en_auto_reset |
| Enable automatic VIO reset. | |
| float | auto_reset_max_velocity |
| Maximum velocity threshold for auto-reset. | |
| float | auto_reset_max_v_cov_instant |
| Maximum instantaneous velocity covariance for auto-reset. | |
| float | auto_reset_max_v_cov |
| Maximum velocity covariance for auto-reset. | |
| float | auto_reset_max_v_cov_timeout_s |
| Timeout for velocity covariance auto-reset. | |
| int | auto_reset_min_features |
| Minimum number of features for auto-reset. | |
| float | auto_reset_min_feature_timeout_s |
| Timeout for minimum features auto-reset. | |
| float | ok_state_grace_timeout_s |
| Grace period timeout after entering OK state. | |
| float | auto_fallback_timeout_s |
| Timeout for auto-fallback mode. | |
| float | auto_fallback_min_v |
| Minimum velocity for auto-fallback. | |
| bool | en_cont_yaw_checks |
| Enable continuous yaw checks. | |
| float | fast_yaw_thresh |
| Fast yaw threshold. | |
| float | fast_yaw_timeout_s |
| Fast yaw timeout. | |
| int | quality_low_thresh_initial |
| Quality low threshold for INITIAL state. | |
| int | quality_low_thresh_good |
| Quality low threshold for GOOD state. | |
| int | quality_high_thresh |
| Quality high threshold for recovery. | |
| int | quality_initial_to_bad_count |
| Consecutive samples for INITIAL→BAD transition. | |
| int | quality_initial_to_good_count |
| Consecutive samples for INITIAL→GOOD transition. | |
| int | quality_bad_to_good_count |
| Consecutive samples for BAD→GOOD transition. | |
| int | quality_good_to_bad_count |
| Consecutive samples for GOOD→BAD transition. | |
| int | using_stereo |
| Using stereo camera configuration. | |
| char | folder_base [CHAR_BUF_SIZE] |
| Base folder for yaml configuration files. | |
| int | en_debug |
| Enable debug output. | |
| int | en_verbose |
| Enable verbose output. | |
| int | config_only |
| Configuration only mode. | |
| bool | en_imu_body |
| Enable IMU body measurements. | |
| float | fusion_rate_dt_ms |
| Fusion rate in milliseconds. | |
| char | imu_name [64] |
| IMU service name. | |
| imu_model_t | imu_model |
| Active IMU model detected from pipe info JSON. | |
| std::vector< cam_info > | cam_info_vec |
| Camera information vector. | |
| volatile int64_t | last_imu_timestamp_ns |
| Last IMU timestamp in nanoseconds. | |
| std::atomic< double > | imu_rate_hz |
| Estimated IMU sampling rate in Hz. | |
| std::mutex | imu_lock_mutex |
| Mutex for IMU data access synchronization. | |
| voxl::FrameTransform | frame_transform |
| Global frame transform instance. | |
| std::atomic< bool > | has_acc_jerk |
| Flag indicating if accelerometer jerk is detected. | |
| std::atomic< bool > | has_gyro_jerk |
| Flag indicating if gyroscope jerk is detected. | |
| std::atomic< bool > | non_static |
| Non-static flag for jerk detection. | |
| double | window_size_s |
| Window size in seconds for jerk detection. | |
| int | takeoff_cam |
| Takeoff camera identifier. | |
| int | en_takeoff_cam |
| Enable takeoff camera functionality. | |
| std::vector< int > | takeoff_cams |
| Vector of takeoff camera identifiers. | |
| volatile int64_t | last_cam_time |
| Last camera timestamp. | |
| int | cameras_used |
| Number of cameras currently in use. | |
| std::atomic< float > | alt_z |
| Altitude z. | |
| std::atomic< float > | vel_mag |
| Velocity Magnitude. | |
| float | takeoff_alt_threshold |
| Takeoff altitude threshold. | |
| bool | occlude_stereo_left |
| Occlude stereo left. | |
| bool | occlude_stereo_right |
| Occlude stereo right. | |
| int | camera_pipe_channels [MAX_CAM_CNT] |
| Camera pipe channel array. | |
| voxl::img_ringbuf_packet * | img_ringbuf |
| Image ring buffer pointer. | |
| bool | sync_config |
| Flag to indicate if configuration synchronization is enabled. | |
Global variable declarations and constants for VOXL OpenVINS server.
This header file declares all global variables, constants, and configuration parameters used throughout the VOXL OpenVINS server. It provides centralized management of system state, configuration, and operational parameters.
The file contains:
Definition in file VoxlVars.h.
| #define ACC_VAR_THRESHOLD 0.09f |
Accelerometer variance threshold for motion detection.
Definition at line 45 of file VoxlVars.h.
| #define BARO_CH 10 |
MPA client channel for barometer data input.
Channel used for receiving barometric pressure data for altitude estimation.
Definition at line 198 of file VoxlVars.h.
| #define CHAR_BUF_SIZE 128 |
Standard character buffer size.
Default buffer size for string operations and name storage.
Definition at line 303 of file VoxlVars.h.
| #define CPU_CH 11 |
MPA client channel for CPU monitoring data.
Channel used for receiving CPU usage and performance monitoring data.
Definition at line 206 of file VoxlVars.h.
| #define EXTENDED_CH 0 |
MPA server channel for extended VIO data output.
Channel used for publishing comprehensive VIO data including full state information, covariance matrices, and detailed tracking data.
Definition at line 146 of file VoxlVars.h.
| #define FEAT_OVERLAY_CH 9 |
MPA client channel for feature overlay data.
Channel used for receiving feature tracking overlay data for visualization and debugging.
Definition at line 190 of file VoxlVars.h.
| #define GYRO_VAR_THRESHOLD 0.09f |
Gyro variance threshold for motion detection.
Definition at line 44 of file VoxlVars.h.
| #define IMU_CH 0 |
MPA client channel for IMU data input.
Channel used for receiving inertial measurement unit data from the IMU service.
Definition at line 182 of file VoxlVars.h.
| #define MAX_CAM_CNT 6 |
Maximum number of cameras supported by VOXL2.
Hardware limitation for the number of cameras that can be simultaneously processed by the VOXL2 platform.
Definition at line 296 of file VoxlVars.h.
| #define OV_STATUS_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_STATUS_NAME "/" |
Location for status information pipe.
Full path location for the status information pipe.
Definition at line 277 of file VoxlVars.h.
| #define OV_STATUS_NAME "ov_status" |
Name for status information pipe.
Pipe name for publishing system status and health information.
Definition at line 270 of file VoxlVars.h.
| #define OV_VIO_CONTROL_COMMANDS (RESET_VIO_SOFT "," RESET_VIO_HARD) |
Control commands available for VIO system.
Comma-separated list of control commands that can be sent to the VIO system for operational control.
Definition at line 218 of file VoxlVars.h.
| #define OV_VIO_EXTENDED_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_EXTENDED_NAME "/" |
Location for extended VIO data pipe.
Full path location for the extended VIO data pipe.
Definition at line 233 of file VoxlVars.h.
| #define OV_VIO_EXTENDED_NAME "ov_extended" |
Name for extended VIO data pipe.
Pipe name for publishing comprehensive VIO data including full state information and covariance matrices.
Definition at line 226 of file VoxlVars.h.
| #define OV_VIO_OVERLAY_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_OVERLAY_NAME "/" |
Location for overlay data pipe.
Full path location for the overlay data pipe.
Definition at line 263 of file VoxlVars.h.
| #define OV_VIO_OVERLAY_NAME "ov_overlay" |
Name for overlay data pipe.
Pipe name for publishing visual overlay data for debugging and visualization.
Definition at line 256 of file VoxlVars.h.
| #define OV_VIO_SIMPLE_LOCATION MODAL_PIPE_DEFAULT_BASE_DIR OV_VIO_SIMPLE_NAME "/" |
Location for simple VIO data pipe.
Full path location for the simple VIO data pipe.
Definition at line 248 of file VoxlVars.h.
| #define OV_VIO_SIMPLE_NAME "ov" |
Name for simple VIO data pipe.
Pipe name for publishing simplified VIO data with essential pose and velocity information.
Definition at line 241 of file VoxlVars.h.
| #define OVERLAY_CH 2 |
MPA server channel for overlay data output.
Channel used for publishing visual overlay data for debugging and visualization purposes.
Definition at line 162 of file VoxlVars.h.
| #define OVSTATUS_CH 3 |
MPA server channel for status information.
Channel used for publishing system status, health information, and operational state data.
Definition at line 170 of file VoxlVars.h.
| #define PROCESS_NAME "voxl-open-vins-server" |
Process name for the VOXL OpenVINS server.
Used for process identification, logging, and system integration.
Definition at line 288 of file VoxlVars.h.
| #define SIMPLE_CH 1 |
MPA server channel for simple VIO data output.
Channel used for publishing simplified VIO data with essential pose and velocity information for basic applications.
Definition at line 154 of file VoxlVars.h.
| #define VEL_MAG_JERK_THRESHOLD 0.02f |
Velocity magnitude threshold for jerk detection.
Definition at line 46 of file VoxlVars.h.
| enum imu_model_t |
Enumeration of supported IMU models.
Definition at line 666 of file VoxlVars.h.
|
extern |
Number of callbacks inside the system.
Atomic counter for tracking the number of in-flight callbacks or operations currently being processed that need to be accounted for during reset.
Definition at line 56 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), voxl::MonoCamera::process_image(), and voxl::StereoCamera::process_image().
|
extern |
|
extern |
Minimum velocity for auto-fallback.
Minimum velocity threshold required to trigger auto-fallback mode.
Minimum velocity for auto-fallback.
Definition at line 105 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Timeout for auto-fallback mode.
Duration in seconds before the system falls back to a simpler tracking mode.
Timeout for auto-fallback mode.
Definition at line 102 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Maximum velocity covariance for auto-reset.
Threshold for the average velocity covariance that triggers an automatic reset.
Maximum velocity covariance for auto-reset.
Definition at line 87 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Maximum instantaneous velocity covariance for auto-reset.
Threshold for the instantaneous velocity covariance that triggers an automatic reset.
Maximum instantaneous velocity covariance for auto-reset.
Definition at line 84 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Timeout for velocity covariance auto-reset.
Duration in seconds that the velocity covariance must exceed the threshold before triggering an auto-reset.
Timeout for velocity covariance auto-reset.
Definition at line 90 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Maximum velocity threshold for auto-reset.
Velocity threshold above which the system will trigger an automatic reset if other conditions are met.
Maximum velocity threshold for auto-reset.
Definition at line 81 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Timeout for minimum features auto-reset.
Duration in seconds that the feature count must be below the minimum before triggering an auto-reset.
Timeout for minimum features auto-reset.
Definition at line 96 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Minimum number of features for auto-reset.
Minimum number of tracked features required to avoid triggering an automatic reset.
Minimum number of features for auto-reset.
Definition at line 93 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Camera information vector.
Vector containing configuration and calibration information for all cameras in the system.
Camera information vector.
Definition at line 170 of file VoxlVars.cpp.
Referenced by voxl::sync_cam_config().
|
extern |
Camera pipe channel array.
Array containing the pipe channel numbers for each camera. Used for managing camera data connections.
Camera pipe channel array.
Definition at line 224 of file VoxlVars.cpp.
|
extern |
Number of cameras currently in use.
Count of cameras that are currently active and providing data to the VIO system.
Definition at line 202 of file VoxlVars.cpp.
|
extern |
Configuration only mode.
Flag to enable configuration-only mode where the server only loads and validates configuration without starting the main processing loop.
Definition at line 154 of file VoxlVars.cpp.
Referenced by main().
|
extern |
Enable automatic VIO reset.
Flag to enable automatic reset of the VIO system when certain error conditions are detected.
Enable automatic VIO reset.
Definition at line 78 of file VoxlVars.cpp.
Referenced by voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Enable continuous yaw checks.
Flag to enable continuous monitoring of yaw angle for stability and accuracy validation.
Definition at line 108 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Enable debug output.
Flag to enable detailed debug output and logging for development and troubleshooting.
Definition at line 148 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), voxl::HealthCheck::clearErrorCodes(), voxl::CameraBase::connect(), voxl::CameraBase::disconnect(), main(), voxl::MonoCamera::process_image(), voxl::Publisher::publish(), and voxl::Publisher::should_auto_reset().
|
extern |
Enable IMU body measurements.
Flag to enable the use of IMU body measurements in the VIO system for enhanced state estimation.
Definition at line 157 of file VoxlVars.cpp.
Referenced by main(), voxl::read_server_config(), and voxl::sync_cam_config().
|
extern |
Enable takeoff camera functionality.
Flag to enable special handling for the takeoff camera, including different processing parameters.
Definition at line 193 of file VoxlVars.cpp.
|
extern |
Enable verbose output.
Flag to enable verbose logging and detailed status information for monitoring and debugging purposes.
Definition at line 151 of file VoxlVars.cpp.
Referenced by main(), and voxl::sync_cam_config().
|
extern |
Fast yaw threshold.
Threshold for detecting rapid yaw changes that may indicate tracking issues.
Definition at line 111 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Fast yaw timeout.
Duration in seconds for fast yaw change detection before triggering corrective actions.
Fast yaw timeout.
Definition at line 114 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), voxl::read_server_config(), and voxl::Publisher::should_auto_reset().
|
extern |
Base folder for yaml configuration files.
Base folder for storing YAML configuration files for the VINS.
Definition at line 145 of file VoxlVars.cpp.
Referenced by main(), voxl::read_server_config(), and voxl::sync_cam_config().
|
extern |
Global frame transform instance.
Global instance of the frame transform structure used for handling IMU frame transformations across the system.
Definition at line 183 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), and voxl::Publisher::publish().
|
extern |
Fusion rate in milliseconds.
Time interval in milliseconds for the main fusion loop that processes and integrates sensor data.
Definition at line 217 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Flag indicating if accelerometer jerk is detected.
Referenced by voxl::MonoCamera::process_image(), and voxl::Publisher::publish().
|
extern |
Flag indicating if gyroscope jerk is detected.
|
extern |
Image ring buffer pointer.
Pointer to the image ring buffer used for efficient image data management and processing.
Image ring buffer pointer.
Definition at line 231 of file VoxlVars.cpp.
|
extern |
Mutex for IMU data access synchronization.
Mutex used to synchronize access to IMU data between multiple threads.
Definition at line 80 of file ImuMinimal.cpp.
|
extern |
Active IMU model detected from pipe info JSON.
Active IMU model detected from pipe info JSON.
Definition at line 167 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), and voxl::sync_cam_config().
|
extern |
IMU service name.
Name of the IMU service to connect to for inertial measurement data.
IMU service name.
Definition at line 164 of file VoxlVars.cpp.
Referenced by connect_imu_service(), and voxl::sync_cam_config().
|
extern |
Estimated IMU sampling rate in Hz.
Exponentially-smoothed estimate of the IMU sampling frequency used to compute the expected number of samples in the jerk detection window.
|
extern |
System armed state.
Atomic flag indicating whether the system is armed and ready for operation (typically used in drone applications).
Referenced by voxl::Publisher::publish(), and voxl::Publisher::should_auto_reset().
|
extern |
Camera connection state.
Atomic flag indicating whether camera services are connected and providing data.
Referenced by voxl::MonoCamera::process_image(), and voxl::StereoCamera::process_image().
|
extern |
IMU connection state.
Atomic flag indicating whether the IMU service is connected and providing data.
Referenced by _imu_data_handler_cb(), _imu_disconnect_cb(), and connect_imu_service().
|
extern |
VIO reset state flag.
Atomic flag indicating whether the VIO system is currently undergoing a reset operation.
Referenced by _imu_data_handler_cb(), voxl::Publisher::ov_vio_control_pipe_cb(), voxl::MonoCamera::process_image(), voxl::StereoCamera::process_image(), and voxl::Publisher::publish().
|
extern |
Last camera timestamp.
Timestamp of the most recent camera measurement. Used for synchronization and timing validation.
Last camera timestamp.
Definition at line 199 of file VoxlVars.cpp.
Referenced by voxl::MonoCamera::process_image(), and voxl::StereoCamera::process_image().
|
extern |
Last IMU timestamp in nanoseconds.
Timestamp of the most recent IMU measurement. Used for synchronization and timing validation.
Last IMU timestamp in nanoseconds.
Definition at line 177 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb().
|
extern |
Main server running state.
Volatile flag indicating whether the main server loop is running. Used for graceful shutdown and state management.
Main server running state.
Definition at line 38 of file VoxlVars.cpp.
Referenced by voxl::CameraBase::camera_callback(), and main().
|
extern |
Non-static flag for jerk detection.
Referenced by voxl::MonoCamera::process_image(), and voxl::Publisher::publish().
|
extern |
Occlude stereo left.
Definition at line 211 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Occlude stereo right.
Definition at line 214 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Grace period timeout after entering OK state.
Duration in seconds after entering the OK state during which quality is held low to avoid bad initialization.
Grace period timeout after entering OK state.
Definition at line 99 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Consecutive samples for BAD→GOOD transition.
Number of consecutive samples with quality above high threshold required to transition from BAD to GOOD state.
Definition at line 136 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Consecutive samples for GOOD→BAD transition.
Number of consecutive samples with quality below low threshold required to transition from GOOD to BAD state.
Definition at line 139 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Quality high threshold for recovery.
Quality threshold above which recovery is detected. Used for transitions from INITIAL→GOOD and BAD→GOOD states.
Definition at line 127 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Consecutive samples for INITIAL→BAD transition.
Number of consecutive samples with quality below low threshold required to transition from INITIAL to BAD state.
Definition at line 130 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Consecutive samples for INITIAL→GOOD transition.
Number of consecutive samples with quality above high threshold required to transition from INITIAL to GOOD state.
Definition at line 133 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Quality low threshold for GOOD state.
Quality threshold below which degradation is detected in GOOD state. When quality drops to or below this value, consecutive sample counter increments.
Definition at line 124 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Quality low threshold for INITIAL state.
Quality threshold below which degradation is detected in INITIAL state. When quality drops to or below this value, consecutive sample counter increments.
Definition at line 121 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::read_server_config().
|
extern |
Reset conditional variable.
Condition variable used to synchronize reset operations, the reset thread will wait on active_callbacks to reach zero before proceeding.
Definition at line 62 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), voxl::MonoCamera::process_image(), and voxl::StereoCamera::process_image().
|
extern |
Mutex for reset.
Synchronisation mutex used only for the reset hand-off
Mutex for reset.
Definition at line 59 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), voxl::MonoCamera::process_image(), and voxl::StereoCamera::process_image().
|
extern |
Counter which increments on resets.
The counter is used to track the number of resets that have occurred. This can be useful for debugging, logging, and ensuring that reset operations are being performed as expected.
Definition at line 53 of file VoxlVars.cpp.
Referenced by voxl::Publisher::publish(), and voxl::Publisher::should_auto_reset().
|
extern |
Should reset floag.
Flag indicating that system should reset
Referenced by voxl::Publisher::ov_vio_control_pipe_cb(), and voxl::Publisher::publish().
|
extern |
Flag to indicate if configuration synchronization is enabled.
Definition at line 233 of file VoxlVars.cpp.
Referenced by voxl::read_server_config(), and voxl::sync_cam_config().
|
extern |
Takeoff altitude threshold.
Definition at line 208 of file VoxlVars.cpp.
Referenced by voxl::read_server_config().
|
extern |
Takeoff camera identifier.
Identifier for the camera used during takeoff and initial flight phases.
Definition at line 190 of file VoxlVars.cpp.
Referenced by voxl::sync_cam_config().
|
extern |
Vector of takeoff camera identifiers.
Vector containing identifiers for all cameras that should be used during takeoff.
Definition at line 196 of file VoxlVars.cpp.
Referenced by voxl::sync_cam_config().
|
extern |
Using stereo camera configuration.
Flag to indicate whether the system is configured to use stereo cameras for depth estimation.
Using stereo camera configuration.
Definition at line 142 of file VoxlVars.cpp.
Referenced by voxl::read_server_config(), and voxl::sync_cam_config().
|
extern |
Velocity Magnitude.
|
extern |
VIO error codes.
Atomic variable containing error codes and flags for various VIO system errors and warnings. Uses uint32_t to accommodate all error codes (up to bit 21).
Referenced by _imu_data_handler_cb(), voxl::CameraBase::camera_callback(), voxl::HealthCheck::clearErrorCodes(), voxl::CameraBase::connect(), connect_imu_service(), voxl::CameraManager::initialize(), main(), voxl::MonoCamera::process_image(), voxl::StereoCamera::process_image(), and voxl::Publisher::publish().
|
extern |
Global VIO manager instance.
Main VIO manager that handles the complete visual-inertial odometry pipeline. This is the central component that processes camera and IMU data to estimate pose and velocity.
Global VIO manager instance.
Definition at line 31 of file VoxlVars.cpp.
Referenced by _imu_data_handler_cb(), main(), voxl::MonoCamera::process_image(), and voxl::Publisher::publish().
|
extern |
VIO manager options.
Options for configuring the VIO manager instance. This includes settings for state initialization, estimator options, and other operational parameters.
Definition at line 28 of file VoxlVars.cpp.
Referenced by main().
|
extern |
Current VIO system state.
Atomic variable representing the current operational state of the VIO system (initializing, running, error, etc.).
Referenced by main(), voxl::MonoCamera::process_image(), voxl::Publisher::publish(), and voxl::Publisher::start().
|
extern |
Window size in seconds for jerk detection.
Time window in seconds used for detecting jerks in accelerometer and gyroscope data.
Definition at line 437 of file VoxlVars.cpp.