Neato LIDAR

460 views
Skip to first unread message

Dave Curtis

unread,
Jul 28, 2016, 2:05:16 PM7/28/16
to hbrob...@googlegroups.com
Last night there was some discussion about getting a raw feed from the Neato LIDAR. For those that are interested, there are some resources at:
https://xv11hacking.wikispaces.com/LIDAR+Sensor
which lays out the data format for the packet. It also has some example code that you can use as-is or use as a reference for ginning up your own.

As Camp points out, anything close to 3V on the motor will get it spinning and it will start spitting out data. If the speed isn’t pretty close to 300 RPM, the angle error will probably be enough to screw up maps. Each packet contains a speed measurement that is RPM*64, so a simple PID loop (or even just using the I term, with P & D zero) targeting the speed value == 19200 will get you within 1% of 300 RPM pretty quickly. A PWM output from an Arduino with a simple low-side driver transistor works great.

Some other misc notes:
The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
* XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
* The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
* The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
* If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.

-dave

James LeRoy

unread,
Jul 31, 2016, 12:14:53 PM7/31/16
to hbrob...@googlegroups.com
Here's some Arduino code for reading and controlling the XV Lidar.

https://github.com/getSurreal/XV_Lidar_Controller

Thanks for the information on the BotVac Lidar. I haven't been able to
find much on it. When you say tie off the RX, do you mean connect it to
GND?

-James

Dave Curtis

unread,
Jul 31, 2016, 1:28:47 PM7/31/16
to hbrob...@googlegroups.com

> On Jul 30, 2016, at 9:02 AM, James LeRoy <ja...@getsurreal.com> wrote:
>
> Here's some Arduino code for reading and controlling the XV Lidar.
>
> https://github.com/getSurreal/XV_Lidar_Controller
>
> Thanks for the information on the BotVac Lidar. I haven't been able to find much on it. When you say tie off the RX, do you mean connect it to GND?

No. TTL serial idles high. Tie it to 3v3.

>
> -James
>
> On 7/28/2016 1:05 PM, Dave Curtis wrote:
>> Last night there was some discussion about getting a raw feed from the Neato LIDAR. For those that are interested, there are some resources at:
>> https://xv11hacking.wikispaces.com/LIDAR+Sensor
>> which lays out the data format for the packet. It also has some example code that you can use as-is or use as a reference for ginning up your own.
>>
>> As Camp points out, anything close to 3V on the motor will get it spinning and it will start spitting out data. If the speed isn’t pretty close to 300 RPM, the angle error will probably be enough to screw up maps. Each packet contains a speed measurement that is RPM*64, so a simple PID loop (or even just using the I term, with P & D zero) targeting the speed value == 19200 will get you within 1% of 300 RPM pretty quickly. A PWM output from an Arduino with a simple low-side driver transistor works great.
>>
>> Some other misc notes:
>> The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
>> * XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
>> * The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
>> * The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
>> * If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.
>>
>> -dave
>>
>
> --
> You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
> To post to this group, send email to hbrob...@googlegroups.com.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.

°|° Walt Perko °|°

unread,
Aug 2, 2016, 12:13:40 AM8/2/16
to hbrob...@googlegroups.com
Hi,

What is 3v3?



==============================================================================================
C U L8r, °|° Walt Perko °|° "Kids ... teach them the good stuff, and they still learn the bad stuff on their own."

http://www.Brainless.org/

"The World Needs a New Economic Model"
==============================================================================================

Sent from the Cyber7

KM6VV

unread,
Aug 2, 2016, 1:10:14 AM8/2/16
to hbrob...@googlegroups.com
3.3v

Osman Eralp

unread,
Aug 2, 2016, 1:17:26 AM8/2/16
to HomeBrew Robotics Club, wpe...@brainless.org


On Monday, August 1, 2016 at 9:13:40 PM UTC-7, SolidWorksMagi wrote:
Hi,

What is 3v3?  

It means 3.3 V. In the electronics industry, it common to move what is traditionally a suffix into the digits of the value and remove the dot. For example, a 4.7 K resistor is often labeled 4K7.  It's a more succinct notation, though it can be a bit confusing at first.

alberts...@gmail.com

unread,
Aug 2, 2016, 2:35:11 AM8/2/16
to hbrob...@googlegroups.com
In old drawings the reproductions were not best quality. A dot would be hard to see and might not even print. So they need something bigger to use in place of the dot. It is so common I almost did not understand your question. I read it as 3.3V and wondered what was being a asked.

It is like writing exponentIl notation like 1.23E6 it is actually clearer

BTW these are only about $100 on eBay and Amazon. It should be obvious they work. 1E8 vacuum cleaners can't be wrong.

QUESTION: in practical terms what do you get in terms of indoor localization by buying a more expensive LIDAR scanner?

Austin Hendrix

unread,
Aug 2, 2016, 2:45:02 AM8/2/16
to hbrob...@googlegroups.com
Longer-range lidars work better in large spaces and long hallways. If your robot is in a big room and can't see any of the walls, it has to rely entirely on wheel encoders. (Not terribly accurate)

Similarly for a hallway, if the sensor cannot see the end of the hallway the robot must rely on wheel encoders to tell it how far down the hallway it has travelled.

For apartments and small houses where a robot is never more than 3 or 4 feet from a wall or a piece of furniture this isn't a problem, but it gets worse quickly in an office building or a warehouse.

-Austin

Griswald Brooks

unread,
Aug 2, 2016, 1:30:15 PM8/2/16
to hbrob...@googlegroups.com

I would say the most obvious advantage is with a better range and angular resolution the scan matcher or other algorithm for matching up the landmarks will have more data to work with and have an easier time.

David Hough

unread,
Aug 2, 2016, 1:30:30 PM8/2/16
to hbrob...@googlegroups.com
The 3.3V power rail.

Chris Albertson

unread,
Aug 2, 2016, 9:28:40 PM8/2/16
to hbrob...@googlegroups.com

How many points are needed and how many can be processed by a small ARM processor like on the Pi3?

The Neato does about 4 revolutions per second and 360 points per revolution.  Over 1,000 points per second to process.  At the far end of a room ( 30 feet distant) the one degree spacing works out to about 1/2 foot.   

I guess I should try a simulation.

 

Chris Albertson
Redondo Beach, California

Michael Wimble

unread,
Aug 2, 2016, 9:39:04 PM8/2/16
to hbrob...@googlegroups.com
Generating a point cloud (well, actually a scan topic message) from the laser data stream is cheap. It's hardly a load at all. 

Sent from my iPhone

Chris Albertson

unread,
Aug 3, 2016, 2:03:24 AM8/3/16
to hbrob...@googlegroups.com
Yes generating the message is cheap, but those massages must be read and processed

Ralph Gnauck

unread,
Aug 3, 2016, 2:30:02 AM8/3/16
to hbrob...@googlegroups.com
I have robots with both a lidar (neato botvac) and a home built base with a Kinect.

The Neato will consistently  create a good map and can navigate pretty well using it.

The robot with the kinect (and creating a fake laser scan from the 3d data) has problems creating the map - have not got to try its navigation yet as I have not got the good map from it.
BTW: The kinect bot has much more CPU power - A jetson, while the neato only has a Pi2 and the neato bot is still better at mapping.

So I would recommend that a lidar is much better for navigation.

The main reason is the limited field of view ~45Deg from the kinect.

The mapping and navigation have a lot of trouble with this small  amount of data - especial when the robot rotates - you have to turn very slowly or it  is easy to have no overlapping data from scan to scan so the SLAM will not be able to do any matching.

Ralph


From: Chris Albertson <alberts...@gmail.com>
To: hbrob...@googlegroups.com
Sent: Tuesday, August 2, 2016 11:03 PM

Chris Albertson

unread,
Aug 3, 2016, 5:07:07 AM8/3/16
to hbrob...@googlegroups.com
It looks like the Neato LIDAR will work and the data rate is reasonable.  They are available for about $100 which is not bad, I I get one.

But I was thinking about building one myself and had some ideas on how to greatly reduce the cost.  The key I think is NOT to use pulsed light but instead a continuous beam that is amplitude modulated by (say) a 10MHz local oscillator.   Then you compare the phase of the reflected light to the local oscillator and make a map of phase offset vs. degree of scan.   Distance is proportional to phase.  One must select a local oscillator frequency such that the wavelength is >2 times greater than the room size. (10MHz is 30 meters so a 180 degree phase shift means the round trip distance from laser to wall to receiver is 15M, so the max measurable distance somewhat under 15M.)  Phase can be measured using analog circuit so there is no computer needed inside this kind of LIDAR.


Austin Hendrix

unread,
Aug 3, 2016, 12:33:32 PM8/3/16
to hbrob...@googlegroups.com
Just buy the Neato unless you have a lot of spare time and money, and
want to build LIDARs instead of robots.

The biggest trick with time or phase based LIDAR is that you need to
measure the time of flight or the phase shift very accurately to get an
accurate distance measurement.


-Austin
> ------------------------------------------------------------------------
> *From:* Chris Albertson <alberts...@gmail.com
> <mailto:alberts...@gmail.com>>
> *To:* hbrob...@googlegroups.com
> <mailto:hbrob...@googlegroups.com>
> *Sent:* Tuesday, August 2, 2016 11:03 PM
> *Subject:* Re: [HBRobotics] Neato LIDAR
>
> Yes generating the message is cheap, but those massages must be
> read and processed
>
> On Tue, Aug 2, 2016 at 6:38 PM, Michael Wimble <mwi...@gmail.com
> <mailto:mwi...@gmail.com>> wrote:
>
> Generating a point cloud (well, actually a scan topic message)
> from the laser data stream is cheap. It's hardly a load at all.
>
> Sent from my iPhone
>
> On Aug 2, 2016, at 6:28 PM, Chris Albertson
> <alberts...@gmail.com <mailto:alberts...@gmail.com>>
> wrote:
>
>>
>> How many points are needed and how many can be processed by a
>> small ARM processor like on the Pi3?
>>
>> The Neato does about 4 revolutions per second and 360 points
>> per revolution. Over 1,000 points per second to process. At
>> the far end of a room ( 30 feet distant) the one degree
>> spacing works out to about 1/2 foot.
>>
>> I guess I should try a simulation.
>>
>>
>> On Mon, Aug 1, 2016 at 11:41 PM, Griswald Brooks
>> <griswal...@gmail.com
>> <mailto:griswal...@gmail.com>> wrote:
>>
>> I would say the most obvious advantage is with a better
>> range and angular resolution the scan matcher or other
>> algorithm for matching up the landmarks will have more
>> data to work with and have an easier time.
>>
>> On Aug 1, 2016 11:35 PM, <alberts...@gmail.com
>> <mailto:alberts...@gmail.com>> wrote:
>>
>> In old drawings the reproductions were not best
>> quality. A dot would be hard to see and might not
>> even print. So they need something bigger to use in
>> place of the dot. It is so common I almost did not
>> understand your question. I read it as 3.3V and
>> wondered what was being a asked.
>>
>> It is like writing exponentIl notation like 1.23E6
>> it is actually clearer
>>
>> BTW these are only about $100 on eBay and Amazon. It
>> should be obvious they work. 1E8 vacuum cleaners
>> can't be wrong.
>>
>> QUESTION: in practical terms what do you get in
>> terms of indoor localization by buying a more
>> expensive LIDAR scanner?
>>
>> > On Aug 1, 2016, at 7:05 AM, °|° Walt Perko °|°
>> <wpe...@Brainless.org <mailto:wpe...@brainless.org>>
>> wrote:
>> >
>> > Hi,
>> >
>> > What is 3v3?
>> >
>> >
>> >
>> >
>> ==============================================================================================
>> > C U L8r, °|° Walt Perko °|° "Kids ... teach
>> them the good stuff, and they still learn the bad
>> stuff on their own."
>> >
>> > http://www.Brainless.org/ <http://www.brainless.org/>
>> >
>> > "The World Needs a New Economic Model"
>> >
>> ==============================================================================================
>> >
>> > Sent from the Cyber7
>> >
>> >
>> > -----Original Message-----
>> > From: hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>
>> [mailto:hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>] On Behalf Of
>> Dave Curtis
>> > Sent: Sunday, July 31, 2016 10:29 AM
>> > To: hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>
>> > Subject: Re: [HBRobotics] Neato LIDAR
>> >
>> >
>> >> On Jul 30, 2016, at 9:02 AM, James LeRoy
>> <ja...@getsurreal.com <mailto:ja...@getsurreal.com>>
>> <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>> >> To post to this group, send email to
>> hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>.
>> >> Visit this group at
>> https://groups.google.com/group/hbrobotics.
>> >> For more options, visit
>> https://groups.google.com/d/optout.
>> >
>> > --
>> > You received this message because you are
>> subscribed to the Google Groups "HomeBrew Robotics
>> Club" group.
>> > To unsubscribe from this group and stop receiving
>> emails from it, send an email to
>> hbrobotics+...@googlegroups.com
>> <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>> > To post to this group, send email to
>> hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>.
>> > Visit this group at
>> https://groups.google.com/group/hbrobotics.
>> > For more options, visit
>> https://groups.google.com/d/optout.
>> >
>> > --
>> > You received this message because you are
>> subscribed to the Google Groups "HomeBrew Robotics
>> Club" group.
>> > To unsubscribe from this group and stop receiving
>> emails from it, send an email to
>> hbrobotics+...@googlegroups.com
>> <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>> > To post to this group, send email to
>> hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>.
>> > Visit this group at
>> https://groups.google.com/group/hbrobotics.
>> > For more options, visit
>> https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed
>> to the Google Groups "HomeBrew Robotics Club" group.
>> To unsubscribe from this group and stop receiving
>> emails from it, send an email to
>> hbrobotics+...@googlegroups.com
>> <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>> To post to this group, send email to
>> hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>.
>> Visit this group at
>> https://groups.google.com/group/hbrobotics.
>> For more options, visit
>> https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to
>> the Google Groups "HomeBrew Robotics Club" group.
>> To unsubscribe from this group and stop receiving emails
>> from it, send an email to
>> hbrobotics+...@googlegroups.com
>> <mailto:hbrobotics+...@googlegroups.com>.
>> To post to this group, send email to
>> hbrob...@googlegroups.com
>> <mailto:hbrob...@googlegroups.com>.
>> Visit this group at
>> https://groups.google.com/group/hbrobotics.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>>
>> --
>>
>> Chris Albertson
>> Redondo Beach, California
>> --
>> You received this message because you are subscribed to the
>> Google Groups "HomeBrew Robotics Club" group.
>> To unsubscribe from this group and stop receiving emails from
>> it, send an email to hbrobotics+...@googlegroups.com
>> <mailto:hbrobotics+...@googlegroups.com>.
>> To post to this group, send email to
>> hbrob...@googlegroups.com <mailto:hbrob...@googlegroups.com>.
>> Visit this group at https://groups.google.com/group/hbrobotics.
>> For more options, visit https://groups.google.com/d/optout.
> --
> You received this message because you are subscribed to the
> Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from
> it, send an email to hbrobotics+...@googlegroups.com
> <mailto:hbrobotics+...@googlegroups.com>.
> To post to this group, send email to
> hbrob...@googlegroups.com <mailto:hbrob...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
>
> Chris Albertson
> Redondo Beach, California
> --
> You received this message because you are subscribed to the Google
> Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to hbrobotics+...@googlegroups.com
> <mailto:hbrobotics+...@googlegroups.com>.
> To post to this group, send email to hbrob...@googlegroups.com
> <mailto:hbrob...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to hbrobotics+...@googlegroups.com
> <mailto:hbrobotics+...@googlegroups.com>.
> To post to this group, send email to hbrob...@googlegroups.com
> <mailto:hbrob...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
>
> Chris Albertson
> Redondo Beach, California
> --
> You received this message because you are subscribed to the Google
> Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to hbrobotics+...@googlegroups.com
> <mailto:hbrobotics+...@googlegroups.com>.
> To post to this group, send email to hbrob...@googlegroups.com
> <mailto:hbrob...@googlegroups.com>.

Camp Peavy

unread,
Aug 3, 2016, 12:49:10 PM8/3/16
to hbrob...@googlegroups.com
> Just buy the Neato unless you have a lot of spare time and money, and want to build LIDARs instead of robots.
 
Thanks, Austin,
It's more than just lidar... you need odometer too. The Botvac and XV platforms are great bases with which to learn ROS*... arguably a better value than the TurtleBot (will the TurtleBot vacuum your floor?). You can learn ROS mapping and navigation... I'm in the process of coming up to speed on rosserial... between "ROS" a "Pi" an "Arduino" and a Botvac base... this stuff is really getting good!
 
- Camp
 
* note: I work at neato.


From: 'Austin Hendrix' via HomeBrew Robotics Club <hbrob...@googlegroups.com>
To: hbrob...@googlegroups.com
Sent: Wednesday, August 3, 2016 9:33 AM
>>                hbrobotics+unsub...@googlegroups.com

>>                <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>>                >> To post to this group, send email to
>>                hbrob...@googlegroups.com
>>                <mailto:hbrob...@googlegroups.com>.
>>                >> Visit this group at
>>                https://groups.google.com/group/hbrobotics.
>>                >> For more options, visit
>>                https://groups.google.com/d/optout.
>>                >
>>                > --
>>                > You received this message because you are
>>                subscribed to the Google Groups "HomeBrew Robotics
>>                Club" group.
>>                > To unsubscribe from this group and stop receiving
>>                emails from it, send an email to
>>                hbrobotics+unsub...@googlegroups.com

>>                <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>>                > To post to this group, send email to
>>                hbrob...@googlegroups.com
>>                <mailto:hbrob...@googlegroups.com>.
>>                > Visit this group at
>>                https://groups.google.com/group/hbrobotics.
>>                > For more options, visit
>>                https://groups.google.com/d/optout.
>>                >
>>                > --
>>                > You received this message because you are
>>                subscribed to the Google Groups "HomeBrew Robotics
>>                Club" group.
>>                > To unsubscribe from this group and stop receiving
>>                emails from it, send an email to
>>                hbrobotics+unsub...@googlegroups.com

>>                <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>>                > To post to this group, send email to
>>                hbrob...@googlegroups.com
>>                <mailto:hbrob...@googlegroups.com>.
>>                > Visit this group at
>>                https://groups.google.com/group/hbrobotics.
>>                > For more options, visit
>>                https://groups.google.com/d/optout.
>>
>>                --
>>                You received this message because you are subscribed
>>                to the Google Groups "HomeBrew Robotics Club" group.
>>                To unsubscribe from this group and stop receiving
>>                emails from it, send an email to
>>                hbrobotics+unsub...@googlegroups.com

>>                <mailto:hbrobotics%2Bunsu...@googlegroups.com>.
>>                To post to this group, send email to
>>                hbrob...@googlegroups.com
>>                <mailto:hbrob...@googlegroups.com>.
>>                Visit this group at
>>                https://groups.google.com/group/hbrobotics.
>>                For more options, visit
>>                https://groups.google.com/d/optout.
>>
>>            --
>>            You received this message because you are subscribed to
>>            the Google Groups "HomeBrew Robotics Club" group.
>>            To unsubscribe from this group and stop receiving emails
>>            from it, send an email to
>>            hbrobotics+unsub...@googlegroups.com
>>            <mailto:hbrobotics+unsub...@googlegroups.com>.

>>            To post to this group, send email to
>>            hbrob...@googlegroups.com
>>            <mailto:hbrob...@googlegroups.com>.
>>            Visit this group at
>>            https://groups.google.com/group/hbrobotics.
>>            For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>>
>>        --
>>
>>        Chris Albertson
>>        Redondo Beach, California
>>        --
>>        You received this message because you are subscribed to the
>>        Google Groups "HomeBrew Robotics Club" group.
>>        To unsubscribe from this group and stop receiving emails from
>>        it, send an email to hbrobotics+unsub...@googlegroups.com
>>        <mailto:hbrobotics+unsub...@googlegroups.com>.

>>        To post to this group, send email to
>>        hbrob...@googlegroups.com <mailto:hbrob...@googlegroups.com>.
>>        Visit this group at https://groups.google.com/group/hbrobotics.
>>        For more options, visit https://groups.google.com/d/optout.
>        --
>        You received this message because you are subscribed to the
>        Google Groups "HomeBrew Robotics Club" group.
>        To unsubscribe from this group and stop receiving emails from
>        it, send an email to hbrobotics+unsub...@googlegroups.com
>        <mailto:hbrobotics+unsub...@googlegroups.com>.

>        To post to this group, send email to
>        hbrob...@googlegroups.com <mailto:hbrob...@googlegroups.com>.
>        Visit this group at https://groups.google.com/group/hbrobotics.
>        For more options, visit https://groups.google.com/d/optout.
>
>
>
>
>    --
>
>    Chris Albertson
>    Redondo Beach, California
>    --
>    You received this message because you are subscribed to the Google
>    Groups "HomeBrew Robotics Club" group.
>    To unsubscribe from this group and stop receiving emails from it,
>    send an email to hbrobotics+unsub...@googlegroups.com

>    To post to this group, send email to hbrob...@googlegroups.com
>    <mailto:hbrob...@googlegroups.com>.
>    Visit this group at https://groups.google.com/group/hbrobotics.
>    For more options, visit https://groups.google.com/d/optout.
>
>
>    --
>    You received this message because you are subscribed to the Google
>    Groups "HomeBrew Robotics Club" group.
>    To unsubscribe from this group and stop receiving emails from it,
>    send an email to hbrobotics+unsub...@googlegroups.com
>    <mailto:hbrobotics+unsub...@googlegroups.com>.

>    To post to this group, send email to hbrob...@googlegroups.com
>    <mailto:hbrob...@googlegroups.com>.
>    Visit this group at https://groups.google.com/group/hbrobotics.
>    For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
>
> Chris Albertson
> Redondo Beach, California
> --
> You received this message because you are subscribed to the Google
> Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send

> To post to this group, send email to hbrob...@googlegroups.com
> <mailto:hbrob...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsub...@googlegroups.com.
To post to this group, send email to hbrob...@googlegroups.com.

Griswald Brooks

unread,
Aug 3, 2016, 12:58:24 PM8/3/16
to hbrob...@googlegroups.com

Camp has run gmapping and amcl with ros on the Raspberry Pi 2. It's doable.

Camp Peavy

unread,
Aug 3, 2016, 1:03:14 PM8/3/16
to hbrob...@googlegroups.com
> Camp has run gmapping and amcl with ros on the Raspberry Pi 2. It's doable.
 
Yeah, if Camp can do it anyone can. ;-) 



From: Griswald Brooks <griswal...@gmail.com>
To: hbrob...@googlegroups.com
Sent: Tuesday, August 2, 2016 11:05 PM

Chris Albertson

unread,
Aug 3, 2016, 1:06:53 PM8/3/16
to hbrob...@googlegroups.com

I think I will buy the Neato.

But my goal is not to simply replicate yet another copy of the "standard" mobile robot.   I'd like to study cooperation between many mobile robots and to do this might need many mobile robots.  My other or parallel interest is doing high precision work with low cost flexible non-precision made mechanics.  

You are correct about the need to measure phase accurately.   Assuming a 30 meter wavelength and lets say we need position to within 10cm. (We can change these numbers.)    That is one part in 300 of the wavelength or about one degree of phase.   That is NOT really a precision phase measurement.   It is MUCH easier to measure relative phase then absolute time of flight.  Orders of magnitude easier. The AD8302 chip does pretty much what is needed. 

I think the reason phase turns out so much easier to measure is that we can check the phase 10 million times per second and average the results over time.  So if I let the chip see the signal for 0.1 millisecond it has seen thousands of zero crossing of the reflected signal.  But time of flight is a one time measurement.    Phase measurement is done with analog circuits and is a relative, not absolute value.    That said I don't know how good is the AD8302 but there is others like it.

The AD8302 will work up to the microwave band at 1GHz and much lower so the robot could change the modulation frequency and trade precision for maximum distance dynamically.   

But you are correct one either builds a robot or a LIDAR. 



To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
To post to this group, send email to hbrob...@googlegroups.com.

David Wyland

unread,
Aug 3, 2016, 2:35:46 PM8/3/16
to hbrob...@googlegroups.com
Great research project.
Some notes:
Time for distance is 6.7 ns round trip/meter => 67 picoseconds/cm. Very tight. Noise and drift can be in the ns region.
Range gets you, as the received light falls off at the square of the distance. You send out milliwatts and receive picowatts. 0.5 meters is kind of doable. 5 meters gets tough

Been there.

Dave Wyland

-----Original Message-----
From: Chris Albertson
Sent: Aug 3, 2016 2:06 AM
To: hbrob...@googlegroups.com
Subject: Re: [HBRobotics] Neato LIDAR

It looks like the Neato LIDAR will work and the data rate is reasonable.  They are available for about $100 which is not bad, I I get one.

But I was thinking about building one myself and had some ideas on how to greatly reduce the cost.  The key I think is NOT to use pulsed light but instead a continuous beam that is amplitude modulated by (say) a 10MHz local oscillator.   Then you compare the phase of the reflected light to the local oscillator and make a map of phase offset vs. degree of scan.   Distance is proportional to phase.  One must select a local oscillator frequency such that the wavelength is >2 times greater than the room size. (10MHz is 30 meters so a 180 degree phase shift means the round trip distance from laser to wall to receiver is 15M, so the max measurable distance somewhat under 15M.)  Phase can be measured using analog circuit so there is no computer needed inside this kind of LIDAR.


On Tue, Aug 2, 2016 at 11:29 PM, Ralph Gnauck <ralp...@pacbell.net> wrote:
I have robots with both a lidar (neato botvac) and a home built base with a Kinect.

The Neato will consistently  create a good map and can navigate pretty well using it.

The robot with the kinect (and creating a fake laser scan from the 3d data) has problems creating the map - have not got to try its navigation yet as I have not got the good map from it.
BTW: The kinect bot has much more CPU power - A jetson, while the neato only has a Pi2 and the neato bot is still better at mapping.

So I would recommend that a lidar is much better for navigation.

The main reason is the limited field of view ~45Deg from the kinect.

The mapping and navigation have a lot of trouble with this small  amount of data - especial when the robot rotates - you have to turn very slowly or it  is easy to have no overlapping data from scan to scan so the SLAM will not be able to do any matching.

Ralph


From: Chris Albertson <alberts...@gmail.com>
To: hbrob...@googlegroups.com
Sent: Tuesday, August 2, 2016 11:03 PM

Subject: Re: [HBRobotics] Neato LIDAR
Yes generating the message is cheap, but those massages must be read and processed
On Tue, Aug 2, 2016 at 6:38 PM, Michael Wimble <mwi...@gmail.com> wrote:
Generating a point cloud (well, actually a scan topic message) from the laser data stream is cheap. It's hardly a load at all. 

Sent from my iPhone

On Aug 2, 2016, at 6:28 PM, Chris Albertson <alberts...@gmail.com> wrote:


How many points are needed and how many can be processed by a small ARM processor like on the Pi3?

The Neato does about 4 revolutions per second and 360 points per revolution.  Over 1,000 points per second to process.  At the far end of a room ( 30 feet distant) the one degree spacing works out to about 1/2 foot.   

I guess I should try a simulation.

 
On Mon, Aug 1, 2016 at 11:41 PM, Griswald Brooks <griswal...@gmail.com> wrote:
I would say the most obvious advantage is with a better range and angular resolution the scan matcher or other algorithm for matching up the landmarks will have more data to work with and have an easier time.
On Aug 1, 2016 11:35 PM, <alberts...@gmail.com> wrote:
In old drawings the reproductions were not best quality. A dot would be hard to see and might not even print. So they need something bigger to use in place of the dot. It is so common I almost did not understand your question. I read it as 3.3V and wondered what was being a asked.

It is like writing exponentIl notation like 1.23E6  it is actually clearer

 BTW these are only about $100 on eBay and Amazon. It should be obvious they work. 1E8 vacuum cleaners can't be wrong.

QUESTION:  in practical terms what do you get in terms of indoor localization by buying a more expensive LIDAR scanner?

> On Aug 1, 2016, at 7:05 AM, °|° Walt Perko °|° <wpe...@Brainless.org> wrote:
>
> Hi,
>
> What is 3v3?
>
>
>
> ==============================================================================================
> C U L8r,  °|°  Walt Perko  °|°        "Kids ... teach them the good stuff, and they still learn the bad stuff on their own."
>
> http://www.Brainless.org/
>

Steve " 'dillo" Okay

unread,
Aug 10, 2016, 10:45:07 AM8/10/16
to HomeBrew Robotics Club


On Thursday, July 28, 2016 at 11:05:16 AM UTC-7, Dave Curtis wrote:
Last night there was some discussion about getting a raw feed from the Neato LIDAR.  For those that are interested, there are some resources at:
https://xv11hacking.wikispaces.com/LIDAR+Sensor
which lays out the data format for the packet.  It also has some example code that you can use as-is or use as a reference for ginning up your own.  

As Camp points out, anything close to 3V on the motor will get it spinning and it will start spitting out data.  If the speed isn’t pretty close to 300 RPM, the angle error will probably be enough to screw up maps.  Each packet contains a speed measurement that is RPM*64, so a simple PID loop (or even just using the I term, with P & D zero) targeting the speed value == 19200 will get you within 1% of 300 RPM pretty quickly.  A PWM output from an Arduino with a simple low-side driver transistor works great.

It's been a few years since I've hacked around on XV11 LIDARs, but I recall being able to get mine up to about 320 RPM and still getting reliable data out of it.
The ROS xv11_laser_driver code also decodes this speed data and publishes it on the /rpms topic.


Some other misc notes:
The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
* XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
* The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
* The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
* If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.

Interesting. I think all the Neato LIDARs I've got are from XV11s and not BotVacs. Are there identifying marks that would let you tell the two apart in random parts bin ?

'dillo


Dave Curtis

unread,
Aug 10, 2016, 11:01:51 AM8/10/16
to hbrob...@googlegroups.com

> Some other misc notes:
> The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
> * XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
> * The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
> * The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
> * If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.
>
> Interesting. I think all the Neato LIDARs I've got are from XV11s and not BotVacs. Are there identifying marks that would let you tell the two apart in random parts bin ?

Completely unmistakable. The base is a different shape and the mounting screw holes are moved. BotVac LiDAR is asymmetric. If you can tell butter from a dead crab you won’t have any problems.

-dave

>
> 'dillo

Chris Albertson

unread,
Aug 10, 2016, 12:35:49 PM8/10/16
to hbrob...@googlegroups.com
Yes that is the speed of light but you don't need to know that. Or at
least a LIDAR that uses continuous illumination rather then pulsed
light does not need to know that.

If the laser is modulated with some frequency that has a (say) 30
meter wavelength then all the LIDAR needs to know is the phase of the
reflected light vs. the transmitted. It does NOT need to measure
time of flight. Example: If the reflection is 120 degrees out of
phase relative to transmitted light then the wall is 10 meters away.
A simple and inexpensive analog circuit can measure phase to better
than 1%. I assume "better than 1% is good enough for indoor
navigation. I doubt I know my location to that level of accuracy.

Another advantage of modulated light is that it is very easy to filter
and remove the ambient light. and we can do this with VERY low power
reflected light. Think about radio. How many watts of power come in
the typical whip antenna that is on your car, but still a radio
recovers the signal. Phase is easy to measure, time of flight is
not so easy to measure.

On Wed, Aug 3, 2016 at 11:35 AM, David Wyland <dcwy...@ix.netcom.com> wrote:
> Great research project.
> Some notes:
> Time for distance is 6.7 ns round trip/meter => 67 picoseconds/cm. Very
> tight. Noise and drift can be in the ns region.
> Range gets you, as the received light falls off at the square of the
> distance. You send out milliwatts and receive picowatts. 0.5 meters is kind
> of doable. 5 meters gets tough
>
> Been there.

Camp Peavy

unread,
Aug 10, 2016, 12:41:05 PM8/10/16
to hbrob...@googlegroups.com
> Are there identifying marks that would let you tell the two apart in random parts bin ?
 
The big line of demarcation would be slip-ring vs. rotary transformer... XV vs. Botvac.
 
- Camp


From: "Steve " 'dillo" Okay" <espre...@gmail.com>
To: HomeBrew Robotics Club <hbrob...@googlegroups.com>
Sent: Wednesday, August 10, 2016 7:45 AM
Subject: [HBRobotics] Re: Neato LIDAR

Camp Peavy

unread,
Aug 10, 2016, 12:41:51 PM8/10/16
to hbrob...@googlegroups.com
> If you can tell butter from a dead crab you won’t have any problems.
 
Mmm... dead crab.

- Camp


From: Dave Curtis <da...@dave-curtis.com>
To: hbrob...@googlegroups.com
Sent: Wednesday, August 10, 2016 8:01 AM
Subject: Re: [HBRobotics] Re: Neato LIDAR


> Some other misc notes:
> The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
> * XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
> * The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
> * The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
> * If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.
>
> Interesting. I think all the Neato LIDARs I've got are from XV11s and not BotVacs. Are there identifying marks that would let you tell the two apart in random parts bin ?

Completely unmistakable.  The base is a different shape and the mounting screw holes are moved.  BotVac LiDAR is asymmetric.  If you can tell butter from a dead crab you won’t have any problems.

-dave

>
> 'dillo
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsub...@googlegroups.com.

> To post to this group, send email to hbrob...@googlegroups.com.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsub...@googlegroups.com.

David Wyland

unread,
Aug 10, 2016, 2:10:33 PM8/10/16
to hbrob...@googlegroups.com, David Wyland
"Isn't it true that LIDAR does not need to know that [the time of arrival]?"
No, but it is accurate.

LIDAR depends on the speed of light.
Distance is the speed of light divided by the round trip time from light pulse sent to pulse received.
But there are various ways of measuring it.

LIDAR uses pulses. Some use individual pulses. Most use a square wave pulse train. Some use sine wave pulse trains.
Measuring the phase shift of the received pulse train versus the transmitted pulse train is a good way of doing LIDAR.
It automatically subtracts out static background light.
But you are still dependent on the LIDAR equation: Distance = C/round trip time.
So you still have some problems.

1. Static background light can be cancelled out, but not AC. With CCFL and LED lights, you can have a lot of 120 Hz light noise.
You get into trade-offs between frame rate and conversion of light noise to depth noise.

2. You want to measure the (phase) delay between the transmitted light pulse and the received light pulse.
Accurately measuring the delay from electrical pulse to light out is not so hard: You have LOTS of light to drive the measurement => low delay.
Measuring the arrival time of the received pulse is tougher. You have very little light (pW vs mW sent), and it is variable

The light receiver has a typical propagation delay in the low nanosecond region.
And the delay changes with received light strength, time and temperature.
Remember that 6.7 ns => 1 meter. So a 0.67 ns delay change is a distance change of 100 mm.

Still, LIDAR is a pretty good way to go.

David Wyland



-----Original Message-----
>From: Chris Albertson
>Sent: Aug 10, 2016 9:35 AM
>To: hbrob...@googlegroups.com
>Subject: Re: [HBRobotics] Neato LIDAR
>
>Yes that is the speed of light but you don't need to know that. Or at
>least a LIDAR that uses continuous illumination rather then pulsed
>light does not need to know that.
>
>If the laser is modulated with some frequency that has a (say) 30
>meter wavelength then all the LIDAR needs to know is the phase of the
>reflected light vs. the transmitted. It does NOT need to measure
>time of flight. Example: If the reflection is 120 degrees out of
>phase relative to transmitted light then the wall is 10 meters away.
> A simple and inexpensive analog circuit can measure phase to better
>than 1%. I assume "better than 1% is good enough for indoor
>navigation. I doubt I know my location to that level of accuracy.
>
>Another advantage of modulated light is that it is very easy to filter
>and remove the ambient light. and we can do this with VERY low power
>reflected light. Think about radio. How many watts of power come in
>the typical whip antenna that is on your car, but still a radio
>recovers the signal. Phase is easy to measure, time of flight is
>not so easy to measure.
>
>On Wed, Aug 3, 2016 at 11:35 AM, David Wyland wrote:
>> Great research project.
>> Some notes:
>> Time for distance is 6.7 ns round trip/meter => 67 picoseconds/cm. Very
>> tight. Noise and drift can be in the ns region.
>> Range gets you, as the received light falls off at the square of the
>> distance. You send out milliwatts and receive picowatts. 0.5 meters is kind
>> of doable. 5 meters gets tough
>>
>> Been there.
>
>--
>
>Chris Albertson
>Redondo Beach, California
>
>--
>You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.

Mark Johnston

unread,
Aug 10, 2016, 2:26:07 PM8/10/16
to HomeBrew Robotics Club
Recognizing this is understood by all I am going to state the obvious with tiny change simply for clarity.  We all know this.
Lidar measures round trip distance only so of course     Round trip Distance  =  C/round trip time      (forgive me stating the obvious)


Griswald Brooks

unread,
Aug 10, 2016, 4:24:03 PM8/10/16
to hbrob...@googlegroups.com
Chris,

What are the disadvantages of the modulated light technique?

Griz

On 10 August 2016 at 09:41, 'Camp Peavy' via HomeBrew Robotics Club <hbrob...@googlegroups.com> wrote:
> If you can tell butter from a dead crab you won’t have any problems.
 
Mmm... dead crab.

- Camp


From: Dave Curtis <da...@dave-curtis.com>
To: hbrob...@googlegroups.com
Sent: Wednesday, August 10, 2016 8:01 AM
Subject: Re: [HBRobotics] Re: Neato LIDAR


> Some other misc notes:
> The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
> * XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
> * The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
> * The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
> * If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.
>
> Interesting. I think all the Neato LIDARs I've got are from XV11s and not BotVacs. Are there identifying marks that would let you tell the two apart in random parts bin ?

Completely unmistakable.  The base is a different shape and the mounting screw holes are moved.  BotVac LiDAR is asymmetric.  If you can tell butter from a dead crab you won’t have any problems.

-dave

>
> 'dillo
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsubscribe@googlegroups.com.

> To post to this group, send email to hbrob...@googlegroups.com.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsubscribe@googlegroups.com.

To post to this group, send email to hbrob...@googlegroups.com.
Visit this group at https://groups.google.com/group/hbrobotics.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+unsubscribe@googlegroups.com.

Dave Curtis

unread,
Aug 10, 2016, 4:48:04 PM8/10/16
to hbrob...@googlegroups.com

> On Aug 10, 2016, at 9:41 AM, 'Camp Peavy' via HomeBrew Robotics Club <hbrob...@googlegroups.com> wrote:
>
> > If you can tell butter from a dead crab you won’t have any problems.
>
> Mmm... dead crab.

It’s a Monty Python reference:

https://www.youtube.com/watch?v=xkicJX1EH98

>
> - Camp
>
> From: Dave Curtis <da...@dave-curtis.com>
> To: hbrob...@googlegroups.com
> Sent: Wednesday, August 10, 2016 8:01 AM
> Subject: Re: [HBRobotics] Re: Neato LIDAR
>
>
> > Some other misc notes:
> > The XV-11 LIDAR and the BotVac LIDAR have identical protocol, but electrical hookup is less forgiving on the BotVac LIDAR.
> > * XV-11 LIDAR will run happing on 3v3, BotVac LIDAR really must be powered by 5V.
> > * The TTL-UART signals are 3v3 in either case, so don’t use 5V TTL UART with either.
> > * The XV-11 LIDAR doesn’t care if you leave it’s RX data dangling, but the BotVac LIDAR will usually wedge or print garbage if you let that input float, so either tie it off or hook up the TX data from your USB converter to the LIDAR.
> > * If you don’t want to run the LIDAR data through an Arduino or such on the way to your main processor, it works perfectly well to simply use a y-cable type tap to sniff the TX data from the LIDAR to use for speed control.
> >
> > Interesting. I think all the Neato LIDARs I've got are from XV11s and not BotVacs. Are there identifying marks that would let you tell the two apart in random parts bin ?
>
> Completely unmistakable. The base is a different shape and the mounting screw holes are moved. BotVac LiDAR is asymmetric. If you can tell butter from a dead crab you won’t have any problems.
>
> -dave
>
> >
> > 'dillo
> >
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
> > To post to this group, send email to hbrob...@googlegroups.com.
> > Visit this group at https://groups.google.com/group/hbrobotics.
> > For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
> To post to this group, send email to hbrob...@googlegroups.com.
> Visit this group at https://groups.google.com/group/hbrobotics.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.

Chris Albertson

unread,
Aug 11, 2016, 12:00:12 AM8/11/16
to hbrob...@googlegroups.com
Of course all LIDAR depends on the speed of light and time of flight.
But there are different ways to measure this. If using phase
detection the "divide by the speed of light" calculation is of course
used but it is done just once on a desk calculator when designing the
system. The system in real time only has to measure fractions of a
cycle and then multiply the know wavelength on meters by that
fraction.

All Lidar must modulate the laser. The simplest modulation function
is the "box car". This is just like the early days of radio when
operators modulated a carrier by using a telegraph key. All you had
was on/off. These Lidars are easy to understand, you send a square
pulse and wait for the raising edge of the reflection.

But a persistent problem with both Lidar and Radar is signal to noise
ratio (SNR). The reflections are so small. A good way to make the
SNR better is to raise the power of the signal. One could buy a
bigger laser or use larger optics but a cheaper (and safer) way to to
run the laser CONTINUOUSLY and not pulse it. The continuos laser has
higher average power. This is good for our SNR.

But how does one measure time of flight if the beam is continuous?
This is why they pulse it, because the raising edge is easy to detect.
But why not modulate the beam with the TV signal from an old "I Love
Lucy" rerun? Or for that matter why not modulate the beam with
random data you simply make up on the spot. Then you recover the
data stream in the reflection and notice the delay. Box car
modulation is not the best because the duty cycle is so small and
therefore the average reflected energy is also small and the SNR is
not so good.

The trouble is using "I Love Lucy" modulation is that it takes a lot
of computing power to detect the reflected signal the measure the
delay. Military radar do this not with old TV shows but with
encrypted data

Another kind of modulation that is almost as good as "I Love Lucy" is
a sine wave. It has a much longer duration than a pulse and is very
easy to detect the reflection and measure the delay. When you do is
detect the zero crossing in the returned signal and look at how far
these are offset in time from the zero crossing of the transmitted
signal. This is a RELATIVE measurement. You measure the ratio of the
delay to the period of the signal. You can do this with just some
inductors, capacitors and op amps. You don't need a computer.

The big disadvantages of using a sine wave to modulate the signal are:
1) Range ambiguity. a signal that is 90 degrees out of phase looks
like on e that is 360+90 degrees out of phase or 720+90 degrees. So
you must pick a wavelength that is more than 2X the maximum room size.
2) the accuracy is inversely proportional to wave length. Because if
you can only measure phase to 1% then if using a 50 meter wave you
only get 0.5 meter accuracy. But if you use 5 meter waves to gain
0.05M accuracy you only have a very short range. You are forced to
trade range for accuracy.

A more complex sine wave modulated LIDAR would use a complex sum of
sines with periods that are mutually prime but now you are trading off
complexity and you may as well just use "I Love Lucy" as your
modulation signal.

The only real advantage of sine wave modulation is
(1) the laser is turned on a longer fraction of the time so in theory
you get a good SNR,
(2) It is very easy and cheap to measure phase, needing only analog circuit.
(3) You are allowed to ignore any reflected signal that is not exactly
in the narrow band. You can use radio receiver technology to select
the reflection signal from a "world of noise" these radio-like
techniques (like super heterodyne) work so well that they can select
microwatt level signals when mixed with direct sunlight
(4) you can run MANY sine wave modulated LIDAR in the same room as
long as everyone uses a different frequency just like radio.

David Wyland

unread,
Aug 11, 2016, 1:00:37 AM8/11/16
to hbrob...@googlegroups.com
Great text. Good points.

A small comment.

The problem with laser driven LIDAR is eye safety.
If you use a small diameter (<10 mm) laser beam, the total beam power must be less than 1 mW for a Class 1 eye safe rating.
The catch is that the *peak* power must be 1 mW or less, *independent* of the duty cycle of the beam.
Even if you run a 0.1% duty cycle beam, the peak power during the pulse is still 1 mW max.
Your average power will always be less than 1 mW. For example, 0.5 mW for a 50% duty cycle.
That makes it tiresome.

You can use incoherent LED beams. They are a little easier on safety rating.
The magic number is 4 Watts/steradian.
Sounds big, but this is for a ~60 degree cone.
You are at ~40 mW for a 6 degree cone, ~1 mW for a 1 degree cone, etc.
So it is still a little tiresome.

Austin Hendrix

unread,
Aug 11, 2016, 1:38:45 AM8/11/16
to hbrob...@googlegroups.com
The Neato uses a completely different technique: it emits a laser spot
at a slight angle and measures the position shift of the returned laser
spot on a CCD a few cm away. The inventors published a paper about the
technique: http://www.robotshop.com/media/files/PDF/revolds-whitepaper.pdf


-Austin

David Wyland

unread,
Aug 11, 2016, 2:10:16 AM8/11/16
to hbrob...@googlegroups.com
Thanks for the link.
This method is also called structured light.
The Sharp and Keyence range sensors use the same principle.

A nice way to think of it is to imagine looking down a railroad track.
The tracks merge to a point in the distance.

It is a funny thing: it does not measure distance, it measures inverse distance, or "nearness.".
It has high sensitivity for nearby objects and low resolution for far objects.

Chris Albertson

unread,
Aug 11, 2016, 12:09:28 PM8/11/16
to hbrob...@googlegroups.com
That is one of the reasons I've not experimented with LIDAR, I don't
know anything about laser safety and did not want to based it on
random posting I find on-line. Would you have so links to RELIABLE
beginner level safety info?

One of the reasons I liked continuous beams is it can get the average
power up without need to raise the peak power. But my background is
with radar, specifically the software on the back end of radars

Actually there is no need to even use a laser except that it is the
best way to make a narrow beam, the incoherent beam sounds interring.
Let's see what Google finds

The other idea I had was to use two camera stereo vision but to reduce
the processing cost project an infrared grid pattern over the field of
view, perhaps also using a laser.

BTW, found another use for a phase detection LIDAR, because the phase
method can have a much shorter minimum range then pulsed type you can
fit a small non-scening Lidar on a robot arm to measure short
distances. You modulate the beam at microwave frequencies
Reply all
Reply to author
Forward
0 new messages