[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:
Within this directory, you should find the executable file lpslam-gui.exe
.
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:
→ Only ERROR log messages will show.
→ ERROR + INFORMATION log messages will show.
→ ERROR + INFORMATION + DEBUG messages will show.
2) Loading a configuration
In the configuration section, load the LPSLAM configuration file. Simply click the LOAD 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 the tracking process.
→ 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.