# Tracker (choose one from the following two cases)
# Case1: Monocular input with IMU data
ros2 launch univloc_tracker euroc_mono.launch.py camera_setup:=Monocular_Inertial publish_tf:=false clean_keyframe:=true
# Case2: Stereo input with IMU data
ros2 launch univloc_tracker euroc_stereo.launch.py camera_setup:=Stereo_Inertial publish_tf:=false clean_keyframe:=true
# Server
ros2 launch univloc_server server.launch.py fix_scale:=true correct_loop:=false
# Play rosbag
ros2 bag play xxxclean_keyframe: whether to clean redundant keyframes in the map database. The performance may vary between sequences in EuRoC dataset when setting clean_keyframe as true or false.fix_scale: whether to fix scale during server optimization. If imu data is used, thenfix_scaleis always true since absolute scale can be obtained either by imu (Monocular_Inertial), or by depth or stereo camera (RGBD_Inertial, Stereo_Inertial).correct_loop: whether to enable loop correction in server. The performance may vary between sequences in EuRoC dataset when setting correct_loop as true or false.
# Tracker
# Please change the value of camera_fps that represents the real FPS of input camera images, the default value is 30.0 if you don't specify it
ros2 launch univloc_tracker tracker.launch.py camera:=d400 publish_tf:=false queue_size:=0 camera_setup:=RGBD_Inertial get_camera_extrin_from_tf:=false accel_topic:=/d400/accel/sample gyro_topic:=/d400/gyro/sample camera_fps:=30.0
# Server
ros2 launch univloc_server server.launch.py fix_scale:=true correct_loop:=false
# Play rosbag
ros2 bag play xxxget_camera_extrin_from_tf: whether to get camera extrinsic matrix from tf. Since OpenLORIS dataset cannot obtain extrinsic matrix, set to false to avoid unnecessary waiting.
You need to provide the following imu-related parameters to the system:
-
Transform between camera and imu:
get_imu_extrin_from_tfis used to control whether to obtain from tf or enter the values directly in tracker.yaml. When set to true, you must provide the correctimu_frameandimage_framefrom tf tree; When set to false, put the values intotf_camera_imu. -
Feeding imu data (two ways are supported): 1) Providing the topic of
imu_topicif accel and gyro data are already combined into one single topic; 2) Providing both the topics ofaccel_topicandgyro_topicif accel and gyro data are separated topics. -
Parameters of IMU sensor: the below three params should be obtained from the manufacturer of sensor. Note that tracker.yaml provides default values for RealSense D435i camera. If you are not able to obtain these values, you can use the default ones.
imu_frequencyimu_noiseimu_bias_walker
- RGBD_Inertial mode is not extensively tested yet, only verified on OpenLORIS market dataset.