3D Robotics

LIDAR-Lite 360-degree mirror scanner

From Trossen Robotics, news of a nice hack turning the one-dimensional LIDAR-Lite laser rangefinder into a proper 360-degree scanning LIDAR unit:

One of our favorite roboticists, r3n33, has been up to some magic with lite and mirrors. R3n33 has used a spinning mirror to get a 360 degree view with a LIDAR-lite sensor, without moving the sensor itself. The results speak for themselves, but here’s what r3n33 had to say about it:

This is my idea for using the LIDAR-lite sensor to produce readings in (as close to) a 360 degree view without spinning the sensor itself. I decided to start this project to give some life to my sensor which had never had a real purpose until now.

Thanks to my 3D printer I was able to quickly produce a “rig” to hold the sensor over a mirror. The mirror is attached to a 3D printed plate that is designed to hold the mirror at a 45 degree angle. This will allow me to bend the light 90 degrees from the sensor’s emitter. The mirror holder is attached to a stepper motor that will allow me to rotate the sensor’s light in a 360 degree view.

Before I go on I’ve presented a few issues.

Blocking the view. To hold the sensor over the mirror there will be an arm somewhere in the 360 degree view. I’ve already taken some action here and removed some of the arm material. In fact if I remove too much more the PLA plastic I’ve used won’t be rigid enough to hold the sensor still.

The mirror has to be quite large. This is something I discovered along the way. When it was just an idea in my head the mirror was really small but to ensure both the emitter and receiver are 100% in view I had to use the size you see.

Knowing the mirror position. Because I’m only using a stepper motor for this first design I get no positional feedback. I’ll have to assume the mirror position by starting the motor and firmware at a known point.

Reading accuracy. By bending the light alone there is going to be a small offset introduced. Then there is the ever changing distance of the mirror as it rotates. I chose to align the emitter of the sensor to the center of the mirror. This ensures the light will project in a parallel plane. When the light is received it might bounce off the high side of the mirror in one direction and the low side on the other. I may or may not concern myself with such slight offsets introduced in the readings.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hi Thorsten,

    I'm just getting started on it, this is the easy part - the hardware.

    When I actually get it producing some usable data I will put in a Blog about it.

    Rather than scanning to produce a 3D point cloud, it is my hope to develop real time directed, dynamic "looking" for determining obstacles, openings and paths using a variety of "scanning" techniques.

    One of the nice things about using a brushless gimbal is that in addition to commanded input offset, you can use the built in gyro on the IMU to give you the actual achieved directional offset relative to the front of the vehicle/scanner platform.

    You can also use the compass on your main controller to give you an absolute directional reference.

    I think the versatility of this approach could provide some very interesting data acquisition opportunities.

    And sorry for hijacking this, I think the Lidar Lite rotating mirror system presented shows a very viable low cost substitute for the really expensive Hokuyo and Sick style scanners.

    It certainly shows that a mirror can be used effectively with a laser rangefinder and that the secondary reflections do not represent a major problem.

    From the look of his system it isn't even clear that he used a first surface mirror.

    Best Regards,

    Gary

  • T3

    Gary,

    I am really looking forward to seeing you scanner in action!

    You should open a separate discussion about it.

    Best regards,

    Thorsten

  • Here is the X/Y laser scanner using a 3 axis brushless gimbal I am working on mounted on and old tube type quadcopter landing gear I had around for initial setup.

    3702046910?profile=original

    3702047008?profile=original

    3702047033?profile=original

    The machine screws and spacers on the back of the G10 mounting plate for the laser rangefinder are to provide the proper counter balance for the rangefinder which weighs considerably less but stick out forward more than the GoPro which the gimbal was designed for.

    Also, even though it is not immediately apparent, the Laser emitter is lined up with the roll axis of the gimbal.

    On this test stand the gimbal can provide 90 degree yaw to each side and down and about 70 degrees up clear view.

    It currently has an Alexmos 3 axis controller but I will be changing it for a Storm32 (which I have) because it provides more options for controlling the scanning as well as open firmware.

    Best Regards,

    Gary

  • Very cool, with the announcement of the Lidar Lite V2 operating at 500 hz it opens the possibilities up even further!

    full situational awareness UAV's at day or night?

  • Very nice scanner,

    I was concerned about secondary reflections from the mirrors surface with this kind of a setup, but it doesn't appear to be a problem here.

    I notice you are using an externally mounted motor and gear, it seems to me that a motor mounted inside the gear ring with an internal gear on the ring might be more compact.

    It seems you would only need to add a simple optical interrupter on the ring to get a solid starting position for each revolution.

    I am working on an X/Y laser scanner using a 3 axis brushless gimbal myself and a Lightware laser rangefinder.

    The display software that is being used is very interesting, is more information on it available?

    Best regards,

    Gary

  • does it use an encoder or step motor/open loop?

  • T3

    Nice!

    I assume, well hope, we will see more setups like this one in the near future and be able to use them on our UAVs!

This reply was deleted.