parameters.md

July 27, 2025 · View on GitHub

Parameter Guide

Here we introduce the main parameters of EPBA, which are specified (and briefly explained) in launch files; see an example launch file.

Topics

  • events_topic: The topic name for the event data. Note that the message type should be dvs_msgs/EventArray.
  • camera_info_topic: The topic name for the camera calibration. If it is not included in your rosbag, you can create a yaml file with the calibration information and copy it to /home/username/.ros/camera_info. If you do so, you also need to replace the parameter name camera_info_topic with camera_name and pass its value in the launch file (like playroom.launch).

EPBA Parameters

General settings

  • filename_raw_traj: Raw trajectory (and the corresponding map) to refine.
  • init_map_available: Whether the initial gradient map is available. If not, the gradient map would be initialized with random noise (i.e., recovering the map from scratch).
  • start_time and stop_time: Time interval of BA.
  • C_th: Contrast threshold of the event camera.
  • event_sampling_rate: Rate of systematic event sampling. We do not recommended to sample events, which would affect the map quality, unless your memory runs out.
  • dt_knots: Time interval between the consecutive knots/control poses of the linear spline trajectory.

Sliding-window settings

EPBA is optimization-based, and for the sake of versatility we provide a sliding-window implementation. In the experiments, we set the size of the time window size to the entire bundle adjustment (BA) observation window to refine the whole trajectory and map.

  • time_window_size: Size of the sliding time window [s].
  • sliding_window_stride: Stride of the sliding time window [s].

Levenberg-Marquardt solver settings

  • max_num_iter: Maximal iteration times.
  • tol_fun: Function tolerance for detecting convergence.
  • num_times_tol_fun_sat = 2: If the function tolerance is achieved for consecutive two times, the solver convergences.
  • use_CG: Whether to use the conjugate gradient (CG) solver? Otherwise, the Schur complement is used to solve the normal equation.
  • use_IRLS: Whether to use robust cost function (IRLS).
  • cost_type: If use_IRLS = True, pick a cost type between huber and cauchy. Otherwise, the original quadratic cost is used.
  • a: Coefficient η\eta for the huber and cauchy loss functions. See our paper for the full formula.