New issues with lidar / LPE

I have been using the LPE branch of 1.6.3 for over a month indoors with no issues doing position hold and offboard control using ROS. I had to disassemble / reassemble the system to move it for a demo, and when I got home and reassembled it, the I was no longer getting LPE to initialize.

What happens now, is lidar is initialized with mean 80cm (approximately how high off the ground I have it set for takeoff, with a gap for the lidar to beam down), and then it immediately faults and holds the fault. If I move the system to the ground, I get alternating messages between Lidar OK and lidar Fault. If I move it back to being held above the ground, it faults and holds the fault, even though I can see the lidar data being reported back in QGC.

Has anyone dealt with this and maybe recognize something simple I am doing wrong? Here are my relevant system specs / parameters:

System Specs:
PixHawk v2: LPE branch uploaded
Lidar Lite v3: PWM
PX4Flow: 270 degree rotation in parameters
Fusion Mask: 242
LPE_BAR_Z = 10m
LPE_LDR_Z = default
LPE_SNR_Z = 1m

(Raised the SNR and BARO values so that only lidar would be relied on for LPE estimation)

Things I have checked:

  • Scoped the signal line (PWM), can verify the PWM signal is present and changes width according to changes in distance.

  • Verified that the value being displayed in distance_sensor.current_distance in QGC’s Analyze window accurately reflect changes in lidar readings (also, covering the sensor while holding it above ground caused the value to drop to 0, verifying that distance_sensor.current_distance is actually representing the lidar data).

Any suggestions are welcome.

@mohrad can you please upgrade to latest upstream master and check again?