voxl 2 external rangefinder compatibility
-
I am trying to find the best solution for minimizing altitude drift during low altitude outdoor VIO navigation. I have read this documentation about VL53L1X rangefinders, but I really would prefer not having to set this up as it would require modifying our drones to accommodate the tracking & hires cameras specific to the kits that come with the M0173 board.
Is it possible to connect a VL53L1X rangefinder to port J19 and interact with the sensor through the px4 firmware? Looking through the voxl branched 1.14 firmware there seems to be drivers for the VL53L1X sensor. I know it's not possible to use voxl-rangefinder-server through J19 as the page I linked says, but I see no reason I can't use the port through px4 itself.
Also, would the process (if possible) simply be:
- Connect the VL53L1X sensor
- Assuming the sensor connects properly, modify EKF2_HGT_REF to prioritize rangefinder
Or are there any intermediate steps? I am not really sure if these drivers run automatically or if you have to enable them via certain parameters. For example, SENS_EN_VL53L1X, which should enable the driver on boot, is not visible by default.
Thanks!
-
@jonathankampia Just to respond to my own post here in case anyone else has the same question: It does work! We hooked up a VL53L0X rangefinder to the QUP3 i2c ports in the J19 connector and were able to start the driver with no issues by adding the start command to the voxl-px4.conf file. Interestingly, you have to modify both the EKF2_HGT_REF parameter and a specific rangefinder priority parameter that controls whether rangefinder sensor fusion is enabled at all times or just conditionally. If it's just enabled conditionally, the rangefinder data does not fuse into the EKF2 local position estimator.
-
@jonathankampia Brilliant! thankyou for figuring this out.
-
@jonathankampia said in voxl 2 external rangefinder compatibility:
@jonathankampia Just to respond to my own post here in case anyone else has the same question: It does work! We hooked up a VL53L0X rangefinder to the QUP3 i2c ports in the J19 connector and were able to start the driver with no issues by adding the start command to the voxl-px4.conf file. Interestingly, you have to modify both the EKF2_HGT_REF parameter and a specific rangefinder priority parameter that controls whether rangefinder sensor fusion is enabled at all times or just conditionally. If it's just enabled conditionally, the rangefinder data does not fuse into the EKF2 local position estimator.
I have been playing aorund with this and connected the VL53L1X to the J19 i2c but no luck yet. I have modified the parameters for EKF2_HGT, and EKF2_RNG_CTL. I am curious how you added the start command to the voxl-px4.conf file. was it just
DISTANCE_SENSOR=VL53L1X
or something like
param set SENS_EN_VL53L1X 1
I was able to use QGC to to enable the SENS_EN_VL53L1X.
Not sure what else there could be but maybe I am missing a step. Also, I am using the Holybro VL53L1x found here
Any help would be appricated!
-
This post is deleted! -
-
@jonathankampia Was able to configure the correct startup script as described here. Thanks!
-
@Gary-Holmgren Haha your way is a little more robust than mine. I just manually added the qshell start command to the extra commands section of the voxl-px4.conf file.