Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some question about configurations #37

Open
TK72 opened this issue Sep 14, 2024 · 0 comments
Open

Some question about configurations #37

TK72 opened this issue Sep 14, 2024 · 0 comments

Comments

@TK72
Copy link

TK72 commented Sep 14, 2024

I run the VOXELMAP program with kitti No.0, No.6, No.7 dataset. But I didn't get the same ATE results in the paper. I'm wondering if my configuration file is not correct.

My velodyne.yaml is written as follows:
common:
lid_topic: "/kitti/velo/pointcloud"
imu_topic: "/no_imu"

preprocess:
lidar_type: 2 #1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for L515 LiDAR
scan_line: 64
blind: 1
point_filter_num: 1
calib_laser: true # true for KITTI Odometry dataset

mapping:
down_sample_size: 0.5
max_iteration: 3
voxel_size: 3.0
max_layer: 4 # 4 layer, 0, 1, 2, 3
layer_point_size: [5, 5, 5, 5, 5]
plannar_threshold: 0.01
max_points_size: 1000
max_cov_points_size: 1000

noise_model:
ranging_cov: 0.04
angle_cov: 0.1
acc_cov_scale: 1.0
gyr_cov_scale: 0.5

imu:
imu_en: false
extrinsic_T: [ 0, 0, 0]
extrinsic_R: [ 1, 0, 0,
0, 1, 0,
0, 0, 1]

visualization:
pub_voxel_map: false
publish_max_voxel_layer: 1 # only publish 0,1,2 layer's plane
pub_point_cloud: false
dense_map_enable: false
pub_point_cloud_skip: 5 # publish one points per five points

Result:
write_kitti_log: true
result_path: "/home/trajectory.txt"

//////////////////////////////////////////////////////////
I extract the lidar pose with
inline void kitti_log(FILE *fp) {
Eigen::Matrix4d T_lidar_to_cam;
T_lidar_to_cam << 0.00042768, -0.999967, -0.0080845, -0.01198, -0.00721062,
0.0080811998, -0.99994131, -0.0540398, 0.999973864, 0.00048594,
-0.0072069, -0.292196, 0, 0, 0, 1.0;
V3D rot_ang(Log(state.rot_end));
MD(4, 4) T;
T.block<3, 3>(0, 0) = state.rot_end;
T.block<3, 1>(0, 3) = state.pos_end;
T(3, 0) = 0;
T(3, 1) = 0;
T(3, 2) = 0;
T(3, 3) = 1;

//output camera pose not lidar pose
T = T_lidar_to_cam * T * T_lidar_to_cam.inverse();
//output TUM format result
Eigen::Quaterniond q(state.rot_end);
fprintf(fp, "%lf %lf %lf %lf %lf %lf %lf %lf\r\n", Measures.lidar_beg_time - first_lidar_time,
state.pos_end[0], state.pos_end[1], state.pos_end[2], q.x(), q.y(), q.z(), q.w());
/* fprintf(fp, "%lf %lf %lf %lf %lf %lf %lf %lf \r\n", Measures.lidar_beg_time - first_lidar_time,
state.pos_end[0], state.pos_end[1], state.pos_end[2], q.w(), q.x(), q.y(), q.z());*/
fflush(fp);
}

//////////////////////////////////////////
kitti_00_change.txt
///////////////

And I compared it with the real data kitti_00_change.txt using evo_ape function.
I got about 6 meters ATE in average.

I'm wondering if I have made some mistakes in the comparing steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant