LightWare develops a range of light-weight, general purpose, laser altimeters ("Lidar") suitable for mounting on UAVs. These are useful for applications including terrain following, precision hovering (e.g. for photography), warning of regulatory height limits, anti-collision sensing etc.
PX4 supports the following LightWare Lidar rangefinders:
- SF02 (50 m)
- SF10/A (25 m)
- SF10/B (50 m)
- SF10/C (100m) (Discontinued)
- SF11/C (120 m)
- LW20 (100 m) - Waterproofed (IP67) with servo for sense-and-avoid applications
The lidars can be connected to I2C or serial ports, depending on their type (see below)
- Serial: SF02, SF10/a, SF10/b, SF10/c, SF11/c
- I2C: SF10/a, SF10/b, SF10/c, SF11/c, SF/LW20
The following models can be connected to the I2C port: SF10/a, SF10/b, SF10/c, SF11/c, SF/LW20
Connect the Lidar the autopilot I2C port as shown below (in this case, for the Pixhawk 1).
Some older revisions cannot be used with PX4. Specifically they may be miss-configured to have an I2C address equal to
0x55, which conflicts with
rgbledmodule. On Linux systems you may be able to determine the address using i2cdetect. If the I2C address is equal to
0x66the sensor can be used with PX4.
Set the SENS_EN_SF1XX parameter to match the rangefinder model and then reboot:
The lidar can be connected to any unused serial port (UART), e.g.: TELEM2, TELEM3, GPS2 etc.
If the configuration parameter is not available in QGroundControl then you may need to add the driver to the firmware.
Then set the SENS_EN_SF0X parameter to match the rangefinder model and reboot:
- Modules Reference: Distance Sensor (Driver) : sf1xx (PX4 Dev Guide)