XV11 Neato Lidar with ROS Gmapping Problems

463 views
Skip to first unread message

Chris L8

unread,
Sep 10, 2015, 5:36:26 PM9/10/15
to HomeBrew Robotics Club


I purchased an XV11 Neato "Lidar" from "GetSurreal", this one specifically: http://www.getsurreal.com/product/xv-lidar-all-in-one-package a few months ago.

However I was unable to create a usable map using ROS Gmapping. I can navigate an existing map made with the ASUS Xtion, but trying to use the XV11 Lidar to create a map in ROS was impossible.

Reading through the posts it sounds like some people here are using the XV11 Lidar with ROS Gmapping.

Rather than try to explain the issue, I will include a picture
Can anyone point me to what I might be doing wrong that is causing this?


I know one other person who has the same issue.

As you can see it creates a large number of points outside of the walls of the room, which confuses the mapping process.

michael gregg

unread,
Sep 11, 2015, 7:07:30 PM9/11/15
to hbrob...@googlegroups.com
I do not have access to a neato directly. I could probably borrow a rplidar laser. Those are the same, aren't they?

It's a bit of a shot in the dark, but have you tried using carto for mapping?

If you do not know how to use carto, i could probably whip up some short instructions next week.

Michael-

--
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 http://groups.google.com/group/hbrobotics.
For more options, visit https://groups.google.com/d/optout.

Camp Peavy

unread,
Sep 12, 2015, 4:36:44 PM9/12/15
to hbrob...@googlegroups.com
Hello Chris,
Are you using a Neato base? XV or Botvac? Are you able to navigate within the map? You say it "confuses" the robot... like it tries to go through the wall?
 
That looks like just the gmapping map... have you added the local and global costmaps?

I can create a map with gmap and navigate but the map seems to degrade with use and eventually I have to start over... and I'm just starting to play around with dropping the robot into a pre-made map and having him find his way around... problems localizing... what else is new.

- Camp


From: Chris L8 <ekpyrot...@gmail.com>
To: HomeBrew Robotics Club <hbrob...@googlegroups.com>
Sent: Thursday, September 10, 2015 1:44 PM
Subject: [HBRobotics] XV11 Neato Lidar with ROS Gmapping Problems

Girts L

unread,
Sep 14, 2015, 9:50:31 PM9/14/15
to HomeBrew Robotics Club
The odometry might be off. What robot base are you using to drive around?

G

Chris L8

unread,
Oct 11, 2015, 2:22:05 AM10/11/15
to HomeBrew Robotics Club, cpe...@yahoo.com
You said it "degrades with use." Once you have created the map, you should be saving it (rosrun map_server map_saver -f ~/rosmaps/my_map1) and then loading AMCL to navigate with the map.
At that point the map itself will be 100% static and it won't change. Only the global and local costmaps will "change", and even then the global costmap will be pegged to the map. The local costmap will deal with what it "sees" and anything "new" will be considered a "transient" obstacle, or worst case AMCL will get confused about where it is if you bring in too much new furniture. :)

Or am I misunderstanding you?

Chris L8

unread,
Oct 11, 2015, 2:22:19 AM10/11/15
to HomeBrew Robotics Club
I'm using a Parallax Arlo platform that I rigged up myself to work with ROS. My odometry tests out pretty well and I have no trouble making excellent maps with the Asus Xtion sensor, so I don't think it is the odometry, unless the XV11 neato is just far more picky.

Someone sent me some links with some other ideas that I hope to try out soon. I'll report back here if they fix the issue.

Camp Peavy

unread,
Oct 12, 2015, 2:15:04 PM10/12/15
to Chris L8, HomeBrew Robotics Club
After saving the map, killing gmapping and loading 2dnav a (what I call) 2dnav-style map comes up with what I presume to be inflated obstacles... as I navigate within this space the dark-and-fuzzy inflated obstacles increase to the point where I can no longer navigate and the robot gives up.
 
I've sense moved on to a later build (Thanks, Ralph!) and am moving backwards (i.e. not moving) but the mapping is MUCH better!

Thanks,
- Camp


From: Chris L8 <ekpyrot...@gmail.com>
To: HomeBrew Robotics Club <hbrob...@googlegroups.com>
Cc: cpe...@yahoo.com
Sent: Saturday, October 10, 2015 9:12 PM
Subject: Re: [HBRobotics] XV11 Neato Lidar with ROS Gmapping Problems

You said it "degrades with use." Once you have created the map, you should be saving it (rosrun map_server map_saver -f ~/rosmaps/my_map1) and then loading AMCL to navigate with the map.
At that point the map itself will be 100% static and it won't change. Only the global and local costmaps will "change", and even then the global costmap will be pegged to the map. The local costmap will deal with what it "sees" and anything "new" will be considered a "transient" obstacle, or worst case AMCL will get confused about where it is if you bring in too much new furniture. :)
Or am I misunderstanding you?

On Saturday, September 12, 2015 at 3:36:44 PM UTC-5, Camp Peavy wrote:
Hello Chris,
Are you using a Neato base? XV or Botvac? Are you able to navigate within the map? You say it "confuses" the robot... like it tries to go through the wall?
 
That looks like just the gmapping map... have you added the local and global costmaps?

I can create a map with gmap and navigate but the map seems to degrade with use and eventually I have to start over... and I'm just starting to play around with dropping the robot into a pre-made map and having him find his way around... problems localizing... what else is new.

- Camp


From: Chris L8 <ekpyrot...@gmail.com>
To: HomeBrew Robotics Club <hbrob...@googlegroups.com>
Sent: Thursday, September 10, 2015 1:44 PM
Subject: [HBRobotics] XV11 Neato Lidar with ROS Gmapping Problems


I purchased an XV11 Neato "Lidar" from "GetSurreal", this one specifically: http://www.getsurreal.com/ product/xv-lidar-all-in-one- package a few months ago.

However I was unable to create a usable map using ROS Gmapping. I can navigate an existing map made with the ASUS Xtion, but trying to use the XV11 Lidar to create a map in ROS was impossible.

Reading through the posts it sounds like some people here are using the XV11 Lidar with ROS Gmapping.

Rather than try to explain the issue, I will include a picture
Can anyone point me to what I might be doing wrong that is causing this?

I know one other person who has the same issue.

As you can see it creates a large number of points outside of the walls of the room, which confuses the mapping process.

Ralph Gnauck

unread,
Oct 12, 2015, 2:42:02 PM10/12/15
to hbrob...@googlegroups.com, Chris L8
Camp,

When you begin in navigation mode make sure the robot is localized before you give it a goal with rviz.

This means use the  '2D Pose Estimate' button to roughly tell rviz where the robot is and which way it is facing.

Then use teleop to move the robot around a bit until the localization locks in (the laser scans should line up with the map pretty close).

Then make sure you are not parked where  rviz thinks the robot is inside one of the fuzzy areas on the cost map - ie not to close to a wall or object.

Once you are set up then try to give it a goal.

Ralph


From: 'Camp Peavy' via HomeBrew Robotics Club <hbrob...@googlegroups.com>
To: Chris L8 <ekpyrot...@gmail.com>; HomeBrew Robotics Club <hbrob...@googlegroups.com>
Sent: Monday, October 12, 2015 11:15 AM

Chris L8

unread,
Nov 7, 2015, 8:18:18 PM11/7/15
to HomeBrew Robotics Club
I have tried all of the suggested ideas, but the maps generated with gmapping using the XV11 still look like this:


Maps with the ASUS Xtion have beautiful straight walls, so I do not think it is my odometry or anything else specific to the robot.

Nathan Monson

unread,
Nov 7, 2015, 8:35:38 PM11/7/15
to hbrob...@googlegroups.com
On Sat, Nov 7, 2015 at 1:40 PM, Chris L8 <ekpyrot...@gmail.com> wrote:
I have tried all of the suggested ideas, but the maps generated with gmapping using the XV11 still look like this:

It would be interesting if you can capture a scan with a random dot in it.  Maybe surrounding the robot with close-by furniture on all sides and slowly driving it around.  If the dots appear semi-stable at certain positions/angles, no wonder they're being mapped!

It could be something in the driver misinterpreting the data coming from the lidar.  The lidar is subject to "line noise" on the serial line, but the driver should respect the checksum and throw out bad packets - if it didn't, you might get speckles.  Also, the lidar has various flags and errors it sets on a reading - if the flags aren't masked out and errors ignored, they could be misinterpreted as distant dots.

Nathan

Chris L8

unread,
Nov 8, 2015, 9:43:24 PM11/8/15
to HomeBrew Robotics Club
I will make that my next project, to create a test in a 100% enclosed area that is small enough to stay inside of the sensor's range at all times.

When I watch the map generate it, instead of a "line" where a wall is the XV11 produces a series of dots. Gmapping then makes a dotted line. Then as the robot rotates, the line of the wall isn't 100% stable, so gmapping often adds a second set of dots, at a different distance, but offset.

With the 3D sensor a wall always appears as a line. As the robot rotates, even if the line doesn't match up perfectly sometimes (wheels seem to slip most in a pure rotation) gmapping can match up the lines and keep the wall stable.

In short, it seems to be a matter of resolution. Why does the XV11 give me a spaced out series of dots, that gmapping assumes it can "see through" while the 3D sensor gives me a solid line?


On Thursday, September 10, 2015 at 4:36:26 PM UTC-5, Chris L8 wrote:

jsam...@pobox.com

unread,
Nov 11, 2015, 11:27:31 AM11/11/15
to hbrob...@googlegroups.com
You might try changing maxUrange in the gmapping parameters. People have spec's the XV-11 as 20 foot range. But I don't know if it actually clips at that distance. Try setting it shorter, maybe 3 meters and see if that gives a more solid scan line.

> ~maxUrange (float, default: 80.0)
>          The maximum usable range of the laser. A beam is cropped to this value.

- Jeff Sampson


From: Chris L8

Nathan Monson

unread,
Nov 11, 2015, 7:09:41 PM11/11/15
to hbrob...@googlegroups.com
On Wed, Nov 11, 2015 at 2:56 AM, <jsam...@pobox.com> wrote:
You might try changing maxUrange in the gmapping parameters. People have spec's the XV-11 as 20 foot range. But I don't know if it actually clips at that distance. Try setting it shorter, maybe 3 meters and see if that gives a more solid scan line.

The laser scanner clips all readings at 6 meters.  The Neato Robotics Programmer's Manual calls this error code "LS_LDS_TooFar".  In favorable conditions (white walls), it can see much further, but the distance accuracy falls off too quickly to be useful.

Nathan

jsam...@pobox.com

unread,
Dec 24, 2015, 3:11:08 AM12/24/15
to hbrob...@googlegroups.com
I got my XV11 to work:

That is actually two laps around the room which filled in more of the blank space. I think my odometry is off quite a bit because I see my grid is way off. But I used approximate values for everything when setting up odometry and I haven't calibrated it. But it shows that gmapping works with crappy odometry info. :-)

Here is an old picture of the robot:

I have:

Random XV11 LIDAR from eBay
The driver board from Getsurreal
Raspberry Pi 2 with Ubuntu 14.04
ROS Indigo
The Indigo XV11 driver node

I'm running XV11 driver, a comm/motor driver, laser static transform broadcaster on the robot (RPi2). And I have roscore, joystick stuff, rviz and gmapping running on a laptop.

I reduced  the range of the laser by changing the max_range value in the XV11 driver node from 5.0 to 3.0 meters. Reducing the range creates a more solid line than dots (like ChrisL8 was pointing out). But I had to change the maxUrange and maxRange values in gmapping parameters to match. I used maxUrange=2.8 and maxRange=2.9. If I had left the laser driver set to 5.0 meters then I would set maxUrange=4.8 and maxRange=4.9.

The screen shot shows a map at 25mm resolution and a minimumscore=10. I tried a couple of different values for minimumscore (0,10,50) and I'm not sure if one value is better than the others. I didn't experiment that far.

It does look like it would be handy to make the max_range in the XV11 driver settable with a parameter. That way you could use a short value for creating maps and longer range for running navigation. I'll see if I can figure out how to do that.
You could also reduce the range of the laser by inserting a laser range filter node in between the laser and gmapping.

I'll have to do more some experiments now that I have it working.

- Jeff Sampson



From: Nathan Monson <nmo...@gmail.com>
To: hbrob...@googlegroups.com
Sent: Wednesday, November 11, 2015 6:09 PM
Subject: Re: [HBRobotics] Re: XV11 Neato Lidar with ROS Gmapping Problems

Patrick Goebel

unread,
Dec 24, 2015, 9:41:03 AM12/24/15
to hbrob...@googlegroups.com
Hi Jason,

Looks great!  Have you tried navigation yet with amcl and move_base?

--patrick

http://www.pirobot.org/wordpress

Author of ROS By Example

Patrick Goebel

unread,
Dec 24, 2015, 9:41:53 AM12/24/15
to hbrob...@googlegroups.com
Ooops--I mean Jeff--sorry about that! :-)
--
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.

jsam...@pobox.com

unread,
Dec 24, 2015, 11:18:13 AM12/24/15
to hbrob...@googlegroups.com
I haven't tried the move_base on the small robot yet. I did run it on my big robot that has a Sick LMS200. It runs, but the robot wanders back and forth when it should be going in a straight line. I am blaming the acc_lim_x and acc_lim_th parameters in local planner.

I just figured out a couple of days ago what they are for . So I have to get back to that...

- Jeff Sampson



From: Patrick Goebel <pat...@pirobot.org>
To: hbrob...@googlegroups.com
Sent: Thursday, December 24, 2015 8:41 AM

Subject: Re: [HBRobotics] Re: XV11 Neato Lidar with ROS Gmapping Problems

Camp Peavy

unread,
Dec 24, 2015, 12:30:43 PM12/24/15
to hbrob...@googlegroups.com
Great Job! Is this "Jeff Sampson" with the Twin Cities Robotics Group?
 
- Camp


From: Patrick Goebel <pat...@pirobot.org>
To: hbrob...@googlegroups.com
Sent: Thursday, December 24, 2015 6:41 AM

jsam...@pobox.com

unread,
Dec 24, 2015, 1:28:15 PM12/24/15
to hbrob...@googlegroups.com
Yes, this is Jeff Sampson with Twin Cities Robotics Group:




From: 'Camp Peavy' via HomeBrew Robotics Club <hbrob...@googlegroups.com>
To: "hbrob...@googlegroups.com" <hbrob...@googlegroups.com>
Sent: Thursday, December 24, 2015 11:30 AM

Camp Peavy

unread,
Dec 24, 2015, 6:44:32 PM12/24/15
to hbrob...@googlegroups.com
Yes, this is Jeff Sampson with Twin Cities Robotics Group: http://www.tcrobots.org/members/jsamp.htm
 
You should come to an HBRC club meeting if you find yourself in the SF Bay area some last Wednesday of the month! Happy Holidays and looking forward to a wonder-filled new year!
 
Thanks,
Camp



From: "jsam...@pobox.com" <jsam...@pobox.com>
To: "hbrob...@googlegroups.com" <hbrob...@googlegroups.com>
Sent: Thursday, December 24, 2015 9:39 AM
Reply all
Reply to author
Forward
0 new messages