I'm working on a project that required modifying a solid-state lidar (TF-Luna) for mapping purposes. The problem I'm trying to solve is how to calculate the minimum and maximum speed of the motor so that the lidar works like a rotating lidar.
What considerations might go into that calculation?
Most people would measure those speeds. The minimum speed is obviously zero RPM, unless you mean some thing else.
That will depend on the maximum distance you want to map as well as well as the device field of view and desired spatial resolution.
Hi @jim-p , and @lightnight365 ,
I found the following data for the TF Luna:
- Frame rate 1 Hz Up to 250 Hz
- Field of View 2°
Source: https://www.waveshare.com/wiki/TF-Luna_LiDAR_Range_Sensor
So (not considering oversampling, e.g. to handle edges) the maximum measurement speed would be 4 ms to cover 2°.
360° without overlap would require
360°/2° x 4 ms = 720 ms
for a complete rotation.
Everything quicker must necessarily leave gaps and might influence the accuracy depending on the environment.
Would you agree?
ec2021
What is the plan for wiring a rotating sensor?
That's what the TO posted:
mapping purposes
It either requires
- a slip ring or (better)
- a fixed measurement unit and a rotating mirror
The mirror should have a reflective surface (e.g. metal), standard glass mirrors usually lead to double reflection at the glass surface and the background. That may reduce accuracy and distance.
Yes I'm using a slip ring.
Looking around the internet told me that 300rpm to 600rpm is the average speed of a roomba lidar motor.
I however can not find a way to calculate the rpm of the motor based on the frame rate of the lidar
The radius of the rotation is 70mm
From reply #5, 1 rotation per 0.72 seconds = 83 rotations per 60 seconds (RPM).
Such a high speed is not required for mapping.
I've seen others here on the forum using servos for azimuth and elevation to do 2D mapping
Accuracy and spatial resolution highly depend on the rpm you choose. If you input these formulas in a spreadsheet you should be able to calculate some of the interesting data:
Here the explanations:

Assuming this is your Lidar setup, you have a beam centre (black line) and the left and right edge of your FoV of 2°
If the beam (centre) moves e.g. 7.2° the total beam covers half the FoV to the left and half of it to the right. Hence the total covered angle equals 7.2 plus FoV = 9.2° in this case.
That's taken care of in the "Angle Covered per Measurement".
If you scan an edge during a measurement you may get unreliable values or if the object is not placed perpendicular to the beam you might get an averaged value.
It would be very helpful if you could explain a little bit more about the purpose of your mapping ...
Hope this is of assistance ..
ec2021
Thanks for all your guys' help.
The project is to design a Roomba using Lidar for mapping purposes for a 5x7m room
Spinning a T-Luna at 600RPM doesn't seem like a practical way of making a rotating LIDAR.
I think that the mechanical set-up would be somewhat complicated.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.


