Since my first query post I've done quite a lot of trials with LidarLite v3, with Rover 3.1.1 and with Rover 3.2.0-dev. Results:
- Both I2C and PWM interfaces (with RNGFND_SCALING = 0.9) yield valid range readings with 3.1.0.
- PWM interface yields valid range readings with 3.2.0-dev, but I2C interface does not work with 3.2.0-dev.
- Both interfaces result in severe interference with autopilot motor control, so that the question of implementing collision avoidance becomes moot.
The test track, comprising 4 waypoints in a partial "W" pattern, with RNGFND_TYPE = 0 can be seen here. The test track with RNGFND_TYPE = 5 (PWM) can be seen here. The erratic track with RNGFND_TYPE = 4 (I2C) is similar to that for PWM.
Examination of graphs for RCout, Ch1 (port, on my skid-steer ArduBoat) and Ch2 (stbd), for the cases of RNGFND_TYPE=0 and RNGFND_TYPE=5, reveal the surging that I witnessed. Again, the data for I2C interface is similar to that for PWM interface.
In the unlikely event that anyone cares to analyze the log files, I've posted those for three runs with firmware v. 3.1.1, for RNGFND_TYPE=0, for RNGFND_TYPE=4, and for RNGFND_TYPE=5.
There is no apparent interference with motor control in MANUAL mode, only in AUTO; leading one to believe that the problem is not one of electrical/magnetic interference, but perhaps one of processing.
No improvement in performance was obtained by masking the send and receive lenses of the LidarLite.