-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
164 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
lio_sam: | ||
|
||
# Topics | ||
pointCloudTopic: "points_raw" # Point cloud data | ||
imuTopic: "/livox/imu" # IMU data | ||
odomTopic: "odometry/imu" # IMU pre-preintegration odometry, same frequency as IMU | ||
gpsTopic: "odometry/gpsz" # GPS odometry topic from navsat, see module_navsat.launch file | ||
|
||
# Frames | ||
lidarFrame: "base_link" | ||
baselinkFrame: "base_link" | ||
odometryFrame: "odom" | ||
mapFrame: "map" | ||
|
||
# GPS Settings | ||
useImuHeadingInitialization: true # if using GPS data, set to "true" | ||
useGpsElevation: false # if GPS elevation is bad, set to "false" | ||
gpsCovThreshold: 2.0 # m^2, threshold for using GPS data | ||
poseCovThreshold: 25.0 # m^2, threshold for using GPS data | ||
|
||
# Export settings | ||
savePCD: false # https://github.com/TixiaoShan/LIO-SAM/issues/3 | ||
savePCDDirectory: "/Downloads/LOAM/" # in your home folder, starts and ends with "/". Warning: the code deletes "LOAM" folder then recreates it. See "mapOptimization" for implementation | ||
|
||
# Sensor Settings | ||
sensor: livox # lidar sensor type, 'velodyne' or 'ouster' or 'livox' | ||
N_SCAN: 6 # number of lidar channel (i.e., Velodyne/Ouster: 16, 32, 64, 128, Livox Horizon: 6) | ||
Horizon_SCAN: 4000 # lidar horizontal resolution (Velodyne:1800, Ouster:512,1024,2048, Livox Horizon: 4000) | ||
downsampleRate: 1 # default: 1. Downsample your data if too many points. i.e., 16 = 64 / 4, 16 = 16 / 1 | ||
lidarMinRange: 1.0 # default: 1.0, minimum lidar range to be used | ||
lidarMaxRange: 300.0 # default: 1000.0, maximum lidar range to be used | ||
|
||
# IMU Settings | ||
imuType: 0 # 0:6axis 1:9axis | ||
imuAccNoise: 3.9939570888238808e-03 | ||
imuGyrNoise: 1.5636343949698187e-03 | ||
imuAccBiasN: 6.4356659353532566e-05 | ||
imuGyrBiasN: 3.5640318696367613e-05 | ||
imuGravity: 9.80511 | ||
imuRPYWeight: 0.01 | ||
|
||
# Extrinsics: T_lb (lidar -> imu, imu to lidar) | ||
extrinsicTrans: [-0.05512, -0.02226, 0.0297] | ||
# extrinsicRot: [-1, 0, 0, | ||
# 0, 1, 0, | ||
# 0, 0, -1] | ||
extrinsicRPY: [0, -1, 0, | ||
1, 0, 0, | ||
0, 0, 1] | ||
extrinsicRot: [1, 0, 0, | ||
0, 1, 0, | ||
0, 0, 1] | ||
# extrinsicRPY: [1, 0, 0, | ||
# 0, 1, 0, | ||
# 0, 0, 1] | ||
|
||
# LOAM feature threshold | ||
edgeThreshold: 1.0 | ||
surfThreshold: 0.1 | ||
edgeFeatureMinValidNum: 10 | ||
surfFeatureMinValidNum: 100 | ||
|
||
# voxel filter paprams | ||
odometrySurfLeafSize: 0.4 # default: 0.4 - outdoor, 0.2 - indoor | ||
mappingCornerLeafSize: 0.2 # default: 0.2 - outdoor, 0.1 - indoor | ||
mappingSurfLeafSize: 0.4 # default: 0.4 - outdoor, 0.2 - indoor | ||
|
||
# robot motion constraint (in case you are using a 2D robot) | ||
z_tollerance: 1000 # meters | ||
rotation_tollerance: 1000 # radians | ||
|
||
# CPU Params | ||
numberOfCores: 4 # number of cores for mapping optimization | ||
mappingProcessInterval: 0.15 # seconds, regulate mapping frequency | ||
|
||
# Surrounding map | ||
surroundingkeyframeAddingDistThreshold: 1.0 # meters, regulate keyframe adding threshold | ||
surroundingkeyframeAddingAngleThreshold: 0.2 # radians, regulate keyframe adding threshold | ||
surroundingKeyframeDensity: 2.0 # meters, downsample surrounding keyframe poses | ||
surroundingKeyframeSearchRadius: 50.0 # meters, within n meters scan-to-map optimization (when loop closure disabled) | ||
|
||
# Loop closure | ||
loopClosureEnableFlag: false # close loop | ||
loopClosureFrequency: 1.0 # Hz, regulate loop closure constraint add frequency | ||
surroundingKeyframeSize: 50 # submap size (when loop closure enabled) | ||
historyKeyframeSearchRadius: 15.0 # meters, key frame that is within n meters from current pose will be considerd for loop closure | ||
historyKeyframeSearchTimeDiff: 30.0 # seconds, key frame that is n seconds older will be considered for loop closure | ||
historyKeyframeSearchNum: 25 # number of hostory key frames will be fused into a submap for loop closure | ||
historyKeyframeFitnessScore: 0.3 # icp threshold, the smaller the better alignment | ||
|
||
# Visualization | ||
globalMapVisualizationSearchRadius: 1000.0 # meters, global map visualization radius | ||
globalMapVisualizationPoseDensity: 10.0 # meters, global map visualization keyframe density | ||
globalMapVisualizationLeafSize: 1.0 # meters, global map visualization cloud density | ||
|
||
|
||
|
||
|
||
# Navsat (convert GPS coordinates to Cartesian) | ||
navsat: | ||
frequency: 50 | ||
wait_for_datum: false | ||
delay: 0.0 | ||
magnetic_declination_radians: 0 | ||
yaw_offset: 0 | ||
zero_altitude: true | ||
broadcast_utm_transform: false | ||
broadcast_utm_transform_as_parent_frame: false | ||
publish_filtered_gps: false | ||
|
||
# EKF for Navsat | ||
ekf_gps: | ||
publish_tf: false | ||
map_frame: map | ||
odom_frame: odom | ||
base_link_frame: base_link | ||
world_frame: odom | ||
|
||
frequency: 50 | ||
two_d_mode: false | ||
sensor_timeout: 0.01 | ||
# ------------------------------------- | ||
# External IMU: | ||
# ------------------------------------- | ||
imu0: imu_correct | ||
# make sure the input is aligned with ROS REP105. "imu_correct" is manually transformed by myself. EKF can also transform the data using tf between your imu and base_link | ||
imu0_config: [false, false, false, | ||
true, true, true, | ||
false, false, false, | ||
false, false, true, | ||
true, true, true] | ||
imu0_differential: false | ||
imu0_queue_size: 50 | ||
imu0_remove_gravitational_acceleration: true | ||
# ------------------------------------- | ||
# Odometry (From Navsat): | ||
# ------------------------------------- | ||
odom0: odometry/gps | ||
odom0_config: [true, true, true, | ||
false, false, false, | ||
false, false, false, | ||
false, false, false, | ||
false, false, false] | ||
odom0_differential: false | ||
odom0_queue_size: 10 | ||
|
||
# x y z r p y x_dot y_dot z_dot r_dot p_dot y_dot x_ddot y_ddot z_ddot | ||
process_noise_covariance: [ 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 10.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0.03, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0.04, 0, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, | ||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.015] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters