Just to exercise some nitpicking as a graduated cartographer:
While mapping is as ambiguous as it gets,
Cartographer seems to be quite the misnomer, since cartography is not about data collection, it's about representation (-graph-) of the data.
Geodesist would be a more analogously fitting, yet arguably ponderous term in my opinion.
To follow up, of course Surveyor would be the proper name of the profession. Geodesy is the related/underlying science in respect to positioning on the earth.
LSD-SLAM and Cartographer both support ROS so perhaps integrating the two would be fairly straightforward (using LSD-SLAM's monocular features with Cartographer for SLAM).
PL-SVO is also a very new and interesting approach to watch out for. They open sourced the stereo slam version and claim the monocular one is on the way.
Cool! As I suspected, it's based on the Ceres nonlinear optimization library that they released a few years ago, originally built for Street View: http://ceres-solver.org
Ive not yet had a chance to run this. Does this include Semi-dense mapping, or is it hobbled with sparse only?
ORB-SLAM was claimed to have included in their github repo the semi-dense, and then faked everyone out with "too bad, not in there". In other words, worthless.
Does anyone know what is the cheapest, fairly reliable Lidar that could work with this library? I'm not looking for amazing accuracy, but for something to start a hobby project with.
The sensor is good, but their (ios) software does not live up to their promises. If you use it from linux it is depth only (no rgb) which is less than ideal.
Well you can use it on Android as well, but it is a bit tricky to do on non rooted devices. I did a proof of concept a while ago ( http://www.ferienvillaflorida.de/labs//3d/android/stereovisi... ) but never found the time/motivation to develop it further.
But I guess most people who think about using it for a small robot will probably connect it to a Raspberry Pi anyway
The Revo LDS and similar LIDARs are relatively cheap. The cartographer_turtlebot repo also has a configuration for mapping in 2D and 3D with depth cameras (e.g. Kinect).
In the second video, why does the map go blank (other than the path traveled) at about 0:43, and then it seems to start from scratch again?
I'm also not familiar with the "cloudiness" of poorly mapped areas.
I'm familiar with what the ROS Navigation stack/rviz looks like when it does mapping, though as a user rather than an implementer. Maybe I'll find the cycles to actually play with implementing this library someday soon.
Out of curiosity, does anyone know of some good mailing lists for this (SLAM/similar)? I don't always have time to scan HN for new releases, but I'd still like to stay on top of things.
very very cool. My thoughts, after briefly browsing the paper and code:
- The killer feature is to avoid a particle filter to improve performance on larger maps. May not have much improvement over gmapping if you're not bounded by CPU/map size
- the launch file only uses lidar and raw imu data, but not wheel odometry. Makes sense for a backpack I guess, I wonder if it would be trivial to make it take a odom sensor msg.
- the paper mentions the neato lidar, and they're using it at 15m range (?). Must be very tolerant of sensor noise.
I am unfamiliar with this type of technology. After r3ading a few of the comments, would it be accurate to say that the mapping drones from Prometheus utilize a variation of this software?
Yes, Prometheus drones use a visible laser (albeit too slow to rotate to give coherent data) like a LIDAR, this is one of the possible sensor for SLAM.
What's the quickest way to do something useful with this library? The docs are minimal, I have no idea how to start, hos to get to something similar to this video?
Is it me, or is this technology really scary? I mean it is cool and everything, but what good can come out of it? On the other hand, bad scenarios easily come to mind, like: "Lets drone him, he can't hide because we have it all mapped, inside out". Am I paranoid?
Yes, you're paranoid. A drone doesn't need to map out a museum before lobbing a missile at it. An autonomous vacuum cleaner, on the other hand, would probably love to know for sure that it has covered the entire surface.
Personally, I'm imagining a little ball that I rent from the hardware store that rolls around my house for an hour and spits out the blueprints of my house so that I can feed it into a VR program for choosing furniture.
That's what our company does already...kind of. Except we do it with an iPhone only and don't give you a scan yet - though we have proven we can build scans from videos. I won't spam the comment but we exist.
Full disclosure: former iRobot engineer speaking -
Coincidentally, for the latest Roomba (the 980), we did have a camera on the robot which did visual SLAM for precisely that purpose...the idea being it would map your house while it went, and if it needed to stop for a recharge, it can go back to its dock for a recharge, and then resume cleaning right where it left off.
We also worked on a remote presence (teleconferencing) robot, which used SLAM to map the building it was in, so that a user could just click on a location on a map or schedule the robot to be in a conference room for a certain time, and the robot could autonomously drive there without someone remotely controlling it. It's a very cool technology that has a lot of really useful, non-scary, applications!
I mean I agree with you, but that's not to say there aren't military/defense applications. I know of a project that is using downward looking LIDAR imaging and SLAM to map out buildings and then combined with gamma radiation imaging to localize radiation sources within the scene. One of the intended uses is counter-terrorism.
Well, SLAM is a fundamental building block for all kinds of autonomous robotics applications, with self-driving cars being one of the most obvious ones.
I'm having a really hard time understanding exactly what you find concerning about this. If you're relying on the assumption that it's inconvenient for somebody with physical access to a building to draw up an accurate floor plan... well, sorry, but that just sounds like a bad assumption to me.
What is troubling for me is the scale of this. If you could use your phone to map your private house with this library, that is very neat and nice on some level. But I guess in the future everyone will have in their phone app for this (enabled by some additional sensor or via image analysis), and some 3rd party (say some future search behemoth) will collect all this data. That is kinda troubling for me. When you think benevolently, this is very cool. You could have targeted ads for furniture that fit your rooms, and mix and match well etc, but there probably has to be a negative side to this. Just paranoidly thinking out loud :) no need to downvote ...
This is what is so distressing to me as a founder. The fact that our company is actively doing exactly what you describe but despite our best efforts and press and everything even tech people who reside on the same tiny internet island as me have no clue we exist.
*I appreciate the downvotes! God forbid someone be honest with their feelings. This isn't an indictment of the previous poster but rather an expression of the grinding head fuck that is building a company - which I would expect others to appreciate.
Kinda paranoid... But if we really want to blow your mind.
They also know your exact location, mapped with Google maps, understand your connections, recognize how you write via your email and docs. Sure they don't know the inside of the building you are in or even inside you (although they will soon I'm sure).
Now for the most horrifying... They have access to every Android phone, and they can listen to every single one if they wanted to. If you use Google voice, they can even "learn" your voice. Eventually, they can probably pick you out among the millions or billions of voices.
Combine that with your Google searches, a convolutional neural net over all your selfies... Now sprinkle in some Android wear data and they literally have all of you.
While mapping is as ambiguous as it gets, Cartographer seems to be quite the misnomer, since cartography is not about data collection, it's about representation (-graph-) of the data.
Geodesist would be a more analogously fitting, yet arguably ponderous term in my opinion.
https://en.wikipedia.org/wiki/Geodesy