SLAM not projecting points properly

I am running the SLAM (offline) algorithm on a lidar dataset collected from an airborne drone. The points are not projected on the correct XY plane, and the output points do not have the correct coordinates (for my UTM zone). Instead, my points are being projected on the XZ plane. I am using the external sensors data and calibration file (defined here).
Upon further investigation, it seems like there is no difference in the SLAM output when using my custom calibration_external_sensor.mat file or an identity affine matrix (i.e. no translation/rotation).
The only location I can see a difference in SLAM output is when I change the Initial Pose RPY parameters (see screen shot below). I followed this tutorial and tried using the same rotation parameter on the Y axis, but that gave incorrect results again (41:30 at SLAM Tutorial).

Expected point cloud SLAM results (notice it is flat on the XY plane):

Results with or without calibration matrix:

Results with Initial Pose RPY Y rotation -90 degrees (with or without calibration matrix):

Inital pose RPY parameters for -90 degree pitch:

My lidar sensor (Velodyne):

Also, GPS axes align with the aircraft, and my velodyne sensor is pitched down towards the ground (-90 degrees vertical to scan the ground, just like in the tutorial link shared above).

I am iteratively trying to test different rotations for an output to no avail. Could anyone offer some suggestions? I am getting confused with what the correct Inital pose RPY parameters and calibration_external_sensor.mat file should be.

Hi @uasdev ,

The calibration mat file refers to the calibration between the LiDAR and the external sensor, but the reference is still the LiDAR coordinate system. Therefore with your mounting ( Z axis being horizontal), the ground plane is expected to be along Z and a combination of X and Y (the normal to the plane being the axis in your lidar coordinate system that points to the ground).
Not seeing a modification when changing the mat file may indicate that the data is not used correctly ( error reading the file, non synchronized timestamps, wrong slam setting… )

The initial pose modifies the coordinate system in which the data is represented and therefore moves the map when you modify it. (You could also apply a transform filter on the point cloud to align it with the XY plane)

Ah got it, thanks! That makes total sense with the orientation of the lidar sensor. I am still unsure as to why my point cloud points are completely outside of my UTM zone, which is the x and y coordinates of my external sensors data file.