Monado OpenXR Runtime
Euroc driver

Provide euroc dataset playback features for SLAM evaluation. More...

Collaboration diagram for Euroc driver:

Files

file  euroc_device.c
 Fake device tracked with EuRoC datasets and SLAM.
 
file  euroc_driver.h
 Internal header for the euroc driver utilities.
 
file  euroc_interface.h
 Interface for Euroc driver.
 
file  euroc_player.cpp
 EuRoC playback functionality.
 
file  euroc_runner.c
 Play EuRoC datasets and track them with the SLAM tracker.
 

Data Structures

struct  euroc_player_playback_config
 Playback configuration for the euroc player. More...
 
struct  euroc_player_dataset_info
 Describes information about a particular EuRoC dataset residing in path. More...
 
struct  euroc_player_config
 Configuration for the euroc player. More...
 

Macros

#define EUROC_TRACE(e, ...)   U_LOG_IFL_T(e->log_level, __VA_ARGS__)
 
#define EUROC_DEBUG(e, ...)   U_LOG_IFL_D(e->log_level, __VA_ARGS__)
 
#define EUROC_INFO(e, ...)   U_LOG_IFL_I(e->log_level, __VA_ARGS__)
 
#define EUROC_WARN(e, ...)   U_LOG_IFL_W(e->log_level, __VA_ARGS__)
 
#define EUROC_ERROR(e, ...)   U_LOG_IFL_E(e->log_level, __VA_ARGS__)
 
#define EUROC_ASSERT(predicate, ...)
 
#define EUROC_ASSERT_(predicate)   EUROC_ASSERT(predicate, "Assertion failed " #predicate)
 

Functions

void euroc_player_fill_default_config_for (struct euroc_player_config *config, const char *path)
 Fills in an euroc_player_config with defaults based on the provided dataset path. More...
 
struct xrt_fseuroc_player_create (struct xrt_frame_context *xfctx, const char *path, struct euroc_player_config *config)
 Create an euroc player from a path to a dataset. More...
 
struct xrt_auto_probereuroc_create_auto_prober (void)
 Create a auto prober for the fake euroc device. More...
 
void euroc_run_dataset (const char *euroc_path, const char *slam_config, const char *output_path, const volatile bool *should_exit)
 Tracks an euroc dataset with the SLAM tracker. More...
 

Detailed Description

Provide euroc dataset playback features for SLAM evaluation.

This driver works with any dataset using the EuRoC format. Original EuRoC datasets and more information about them can be found in https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

Macro Definition Documentation

◆ EUROC_ASSERT

#define EUROC_ASSERT (   predicate,
  ... 
)

#include <drivers/euroc/euroc_driver.h>

Value:
do { \
bool p = predicate; \
if (!p) { \
U_LOG(U_LOGGING_ERROR, __VA_ARGS__); \
assert(false && "EUROC_ASSERT failed: " #predicate); \
exit(EXIT_FAILURE); \
} \
} while (false);
@ U_LOGGING_ERROR
Error messages: indicating a problem.
Definition: u_logging.h:45

Function Documentation

◆ euroc_create_auto_prober()

struct xrt_auto_prober* euroc_create_auto_prober ( void  )

#include <drivers/euroc/euroc_interface.h>

Create a auto prober for the fake euroc device.

References xrt_auto_prober::destroy, and U_TYPED_CALLOC.

◆ euroc_player_create()

struct xrt_fs* euroc_player_create ( struct xrt_frame_context xfctx,
const char *  path,
struct euroc_player_config config 
)

#include <drivers/euroc/euroc_interface.h>

Create an euroc player from a path to a dataset.

◆ euroc_player_fill_default_config_for()

void euroc_player_fill_default_config_for ( struct euroc_player_config config,
const char *  path 
)

◆ euroc_run_dataset()

void euroc_run_dataset ( const char *  euroc_path,
const char *  slam_config,
const char *  output_path,
const volatile bool *  should_exit 
)

#include <drivers/euroc/euroc_interface.h>

Tracks an euroc dataset with the SLAM tracker.

Parameters
should_exitExternal exit condition, the run will end if it becomes true
euroc_pathDataset path
slam_configPath to config file for the SLAM system
output_pathPath to write resulting tracking data to