-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to detect intensity of a measurement from lidar lite #14
Comments
Have not tried it, but have a look at the contents of the SIGNAL_STRENGTH register 0x0E, this should give you the return intensity (which of course depends on reflectivity, distance, angle, etc.). You might try to use corner cubes for this application like surveyors do. |
I had a look at the contents of the register 0x0E. I used the short range high speed example the lidar lite library includes and modified it to receive the intensity instead of the distance. I could not really analyze and understand the values i was getting. My code so far: I modified one of the example codes /*------------------------------------------------------------------------------ LIDARLite Arduino Library This example shows a method for running the LIDAR-Lite at high speeds for Connections: (Capacitor recommended to mitigate inrush current when device is enabled) See the Operation Manual for wiring diagrams and more information: ------------------------------------------------------------------------------*/ #include <Wire.h> LIDARLite myLidarLite; void setup() /*
*/ /*
*/ void loop() // Take 99 measurements without receiver bias correction and print to serial terminal // Read distance. The approach is to poll the status register until the device goes // Poll busy bit in status register until device is idle
} // Send measurement command //Begin reading the signal strength value // Read the value // Immediately read previous distance measurement data. This is valid until the next measurement finishes. // Perform the read and repack the 2 bytes into 16-bit word // Return the measured distance |
Hi, I also got the same issue, I use LiDAR Lite V3 and I2C connection to read signal strength from register 0x0e, however, the value can not be analysed. From V2 doc, it mentions that the signal strength should be 10 - 128, which is a 7 level digital signal, however, the values I can get are 98, 112, 126, 140, etc, which are all 14 apart and all are multiple of 7. My code is attached below, is there anything I did wrong? |
Hello, thanks for your question. I couldnt get a good look at your code as the signal strength function was missing, but i have included my intensity function and am pretty sure it is working. My numbers were not in multiples of 7. I hope this helps int intensity() // Poll busy bit in status register until device is idle
} // Send measurement command // Return the measured intensity return intensity; |
Hi, Thank you for your reply. I put your intensity function into my code, however, it still shows me the signal strength are multiple of 7. (like 112, 126). If possible, could you send me ur file? Thank you |
Hi, here is my ino file with your intensity function, and I also print my original signal strength function(in cpp file) as well. Is that the computer problem which cause me get multiple of 7? Cuz I am using macbook. And BTW, could you tell me what is the signal strength value? like what unit? what range? I could not analyse it. Thank you #include <LIDARLite.h> LIDARLite myLidarLite; void setup() int intensity() // Return the measured intensity return intensity; } void loop() |
I have a project using the lidar lite as a scanner and i want to be able to detect a reflective target i set up. I was wondering if there were any commands or functions i could use to determine the intensity of a measurement.
The end goal is to be able to perform a scan with 3 stationary reflective targets, setup at a different position, scan again near those targets, and be able to stitch these scans together with a 3D transformation using a survey technique called a resection
any help would be greatly appreciated
The text was updated successfully, but these errors were encountered: