Lidar doesn't work when RNGFND_ORIENT set to Up (24)

Hi guys.

I’ve got Leddarone working perfect when using the sensor looking down. The problem comes when you want to avoid the ceiling indoors and set the sensor upwards with RNGFND_ORIENT set to 24. Then the sensor just frozen up and says BAD LIDAR HEALTH. Any help please?

As far as I know the code does not support that yet.
I have a PR that has some small initial work on that, but it is "work-in-progress"


If you can help with that, it would be great.

Thanks for the answer!
Yes it is possible as you can see here.

http://ardupilot.org/copter/docs/common-rangefinder-objectavoidance.html#common-rangefinder-objectavoidance

But it doesn’t work and I don’t understand it. As you can see it is supposed to be very easy. There is something missing there, because I’ve done exactly as there. Any clue?

Just yesterday I run into the same problem:

The parameters I set:
RNGFND_ADDR: 49
RNGFND_TYPE: 14 (TrOneI2C)
RNGFND_MAX: 6000
RNGND_MIN: 50
PRX_TYPE: RangeFinder (4)
AVOID_ENABLE: StopAtFence, UseProximitySensor (Qgc says the flag for those is 3 instead of 7)

I was seeing exactly the same behaviour as @Javier_Beringola however when I test today it seems to be different. Now when I change orientation the distance message seems to oscillate between maximum value and the reading (only for orientations different than down):

In the above screen the flat line are the readings with orientation set to down, the first spike to RNGFND_MAX_CM occurs when I switch the orientation to anything else. Also the oscillations are always between the reading and RNGFND_MAX_CM:


(here I changed RNGFND_MAX_CM from 900 to 6000)

Another notes:

  • When I switch from any orientation back to down the oscillations are still there. Only after reboot they disappear.
  • After rebooting in any other orientation (e.g. Forward) the oscillations are still there