How to Fuse VL53L1X Rangefinder for Height-Above-Ground (HAGL) Estimation with PX4 on VOXL2
-
Hi ModalAI Team,
I am working with a VOXL2 Mini test fixture (TF-M0104) and trying to integrate a VL53L1X ToF rangefinder with PX4 for altitude hold / height-above-ground estimation.
My goal is for PX4 EKF2 to fuse the rangefinder data so that the drone can use the sensor for altitude estimation (dist_bottom / HAGL).
Sensor configuration:
/etc/modalai/voxl-rangefinder-server.conf
{
"i2c_bus": 0,
"vl53l1x_timing_budget_ms": 50,
"id_for_mavlink": 0,
"sensors": [{
"enabled": true,
"sensor_id": 0,
"type": "TOF_VL53L1X",
"fov_deg": 15,
"range_max_m": 3,
"location_wrt_body": [0,0,0],
"direction_wrt_body": [0,0,1],
"is_on_mux": false
}]
}
PX4 parameters
EKF2_HGT_REF = 2
EKF2_RNG_CTRL = 1
EKF2_RNG_A_HMAX = 11.5 ft
SENS_EN_VL53L1X : 1
Sensor data received in PX4
px4-listener distance_sensorcurrent_distance: 0.62
signal_quality: 100
orientation: 25So PX4 is receiving the rangefinder data correctly.
However, when I check:
voxl2-mini-test-fixture (TF-M0104):/etc/modalai$ px4-listener vehicle_local_position
TOPIC: vehicle_local_position
vehicle_local_position
timestamp: 1258315007 (0.002534 seconds ago)
timestamp_sample: 1258313140 (1867 us before timestamp)
ref_timestamp: 0
ref_lat: nan
ref_lon: nan
x: -58.15529
y: -29.38294
z: -43.47373
delta_xy: [-8.27161, 3.48610]
delta_z: 0.00000
vx: -5.77044
vy: -8.23159
vz: 0.09748
z_deriv: 0.09754
delta_vxy: [-0.89175, 1.40937]
delta_vz: 0.65828
ax: 1.33592
ay: -1.74908
az: 0.01860
heading: 2.12604
delta_heading: 1.62808
ref_alt: nan
dist_bottom: 0.10000
eph: 0.61074
epv: 0.20321
evh: 0.41361
evv: 0.11114
vxy_max: inf
vz_max: inf
hagl_min: inf
hagl_max: inf
xy_valid: True
z_valid: True
v_xy_valid: True
v_z_valid: True
xy_reset_counter: 32
z_reset_counter: 6
vxy_reset_counter: 37
vz_reset_counter: 26
heading_reset_counter: 17
heading_good_for_control: False
xy_global: False
z_global: False
dist_bottom_valid: False
dist_bottom_sensor_bitfield: 0
dead_reckoning: Truewhich means EKF2 is not fusing the rangefinder measurement.
Am I missing any configuration steps to enable rangefinder fusion for altitude hold on VOXL2?
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login