[KnowledgeBase] Running LPSLAM

Prerequisites

  • Camera Calibration: Ensure you have proper camera calibration data. Information on camera calibration can be found here.

  • Configuration File: A JSON file containing camera calibration parameters and other Visual-SLAM settings. Refer to this page for a complete list of available parameters.

LPSLAM Controller app

Locating and running the app

Navigate to the lpslam_binaries folder:

image-20241203-020121.png

Within this directory, you should find the executable file lpslam-gui.exe.

image-20241203-020226.png

You can run the controller app by executing lpslam-gui.exe from your Command Line Interface or simply double-clicking on it. The following GUI will be displayed:

Usage

The controller app is a streamlined version intended to simply control the execution of LPSLAM in real-time.

1) Setting the verbosity

Using the verbosity buttons, you can set the desired verbosity level for the log messages LPSLAM will show in the terminal during its execution. The levels are:

  • error.png → Only ERROR log messages will show.

  • info.png → ERROR + INFORMATION log messages will show.

  • debug.png → ERROR + INFORMATION + DEBUG messages will show.

2) Loading a configuration

In the configuration section, load the LPSLAM configuration file. Simply click the LOAD load.png button, and a file explorer window will pop up for you to select your file. The configs folder has the pre-defined configuration lpslam_Varjo_XR3.json for Varjo XR-3 HMD.

3) Start or Stop tracking

Starting and stopping the tracking process in this app is straightforward; simply click the corresponding button:

  • start.png → START the tracking process.

  • stop.png → STOP the tracking process.

 

Using a Varjo XR-3 HMD

To run LPSLAM with a Varjo XR-3 HMD, modify the configuration file (adjusting cameras and datasources) as shown in the example below.

The correct path to the file orb_vocab.dbow2 must be provided. This file contains a database used to assign identifiers to image features and is referenced by the vocab_file parameter in the VSLAM tracker configuration. The file is in the vocabulary folder, and can be referenced in the configuration file with the path "../vocabulary/orb_vocab.dbow2":

When using a Varjo XR-3 HMD, the camera calibration process can be skipped by using a configuration file without the cameras field. LPSLAM will automatically retrieve the camera parameters at startup.

{ "_comment" : "Configuration for Varjo XR-3", "manager": { "drop_frames": true, "thread_num": 4, "show_live": false }, "cameras": [ { "number": 0, "model": "varjo", "fx": 1.18706476688385, "fy": 1.18706476688385, "cx": 0.532978355884552, "cy": 0.5058077573776245, "f_correction": 1.7, "c_correction": 2.0, "resolution_x": 1152, "resolution_y": 1152, "distortion": [ 0.6412177681922913, -0.8660373687744141, 0.47459715604782104, -0.002288734307512641, -0.0012009869096800685 ], "focal_x_baseline": 43.20569431080538, "rotation": [ 0.9999300244141561, 0.009785937266698777, 0.006646932159989518, -0.009785385681041777, 0.9999521152969042, -0.0001155009611359007, -0.006647744158775169, 5.045008421054563e-05, 0.9999779022320736 ] }, { "number": 1, "model": "varjo", "fx": 1.2481434345245361, "fy": 1.2481434345245361, "cx": 0.4319934844970703, "cy": 0.4994443356990814, "resolution_x": 1152, "resolution_y": 1152, "distortion": [ 0.7144321799278259, -0.9300915002822876, 0.5433128476142883, 0.0014141352148726583, -0.0017072069458663464 ], "rotation": [ 0.9999397368314507, -1.0797726242757499e-14, 0.010978283367585984, -5.53855340397135e-07, 0.9999999987273943, 5.044704683978703e-05, -0.010978283353614959, -5.045008712176573e-05, 0.9999397355589217 ] } ], "datasources": [ { "type": "Varjo", "configuration": { "prescale": 3 } } ], "processors": [ { "type": "Undistort", "configuration": {} } ], "trackers": [ { "type": "VSLAMStereo", "configuration": { "camera_setup": "stereo", "use_CUDA": false, "use_OpenCL": false, "live_view": true, "viewer_FPS": 22, "vocab_file": "../vocabulary/orb_vocab.dbow2", "emit_map": true, "enable_mapping": true, "loop_closure": true, "map_file_name": "../map.db", "use_map_database": false, "undistort_image": false, "min_triangulated_pts": 30, "depth_threshold": 20.0, "max_keypoints": 1200, "scale_factor": 1.2, "num_levels": 8, "ini_keypoints_threshold": 20, "min_keypoints_threshold": 7, "forward_high_res_nav": false, "forward_IMU": false, "forward_nav_state": false, "reloc_with_navigation": false, "wait_for_navigation": false } } ] }

 

With Varjo Base running in the background, launch GUI controller with your configuration file to start LPSLAM.

 

Â