Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. General Questions
  3. How to Fuse VL53L1X Rangefinder for Height-Above-Ground (HAGL) Estimation with PX4 on VOXL2

How to Fuse VL53L1X Rangefinder for Height-Above-Ground (HAGL) Estimation with PX4 on VOXL2

Scheduled Pinned Locked Moved Unsolved General Questions
1 Posts 1 Posters 199 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sarika Sharma
    Contributor
    wrote on last edited by
    #1

    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_sensor

    current_distance: 0.62
    signal_quality: 100
    orientation: 25

    So 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: True

    which means EKF2 is not fusing the rangefinder measurement.

    Am I missing any configuration steps to enable rangefinder fusion for altitude hold on VOXL2?

    1 Reply Last reply
    1

    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
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    ModalAI
    Categories Recent Tags ModalAI.com Docs
    © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups