simondlevy / BreezySLAM

Simple, efficient, open-source package for Simultaneous Localization and Mapping
GNU Lesser General Public License v3.0
759 stars 251 forks source link

number of samples with RP Lidar A2 #33

Open kenkyusha opened 5 years ago

kenkyusha commented 5 years ago

I have been experimenting with RP Lidar A2 and with the default settings of 200 and 250 samples (minimum samples for updating the map) I do not get any map built. If I lower the rate to 50 or 100 I get something really fussy and not really good. Is this problem with python interface or could it be hardware problem? Currently the Lidar is connected over USB port.

andrewda commented 5 years ago

Same here. The highest number of samples I can get reach before the map stops being built is 120, even on my Jetson TX1 which is surprising as I'd expect it to be able to handle stuff like this. What's more, the CPU never goes above ~50% while generating the map, so I'm not sure where the bottleneck could be. I can delve more into system information and setup when I get home in a few hours.

simondlevy commented 5 years ago

Yeah, I and others have had a some difficulty using these RP Lidar units with BreezySLAM, having to tune that min-samples parameter. I'm not sure whether the solution lies in re-writing the acquisition library or the core C in BreezySLAM. Given how fast BreezySLAM already runs on even inexpensive single-board computers like ODROID using other lidar units (like the Hokuyo URGs), my approach would be to try and speed up the RP Lidar acquisiton code.

andrewda commented 5 years ago

Alright, that makes sense. I'll look into making my own acquisition library in something faster than Python. Thanks!

titusece commented 5 years ago

Hello, Any further update on this issue ? I am unable to get map bytes for my RPILIDAR A1, it just returns 0x7F data. slam.getmap(mapbytes)

kenkyusha commented 5 years ago

Using the C++ is much better and you get much more points! Haven't tested the slam yet but I would guess it is good (looking at the offline data and map generation)