Hacker News new | past | comments | ask | show | jobs | submit login
Cartographer – A real-time simultaneous localization and mapping library (googleblog.com)
191 points by syrianspock on Oct 5, 2016 | hide | past | favorite | 45 comments



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.

https://en.wikipedia.org/wiki/Geodesy


It takes the sensor data as an input and outputs a representation. It "makes a map", so the name is a decent pun.


This is an annoying habit of my fellow programmers.

Thinking that a decent or not-so-decent pun would make a good project name.


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.

https://twitter.com/kennethfield/status/784163099615989760


Very cool -- would've loved to also see monocular SLAM support, but sounds like that may be coming later.

For people interested, there are a couple of very interesting projects and studies on how to do just that:

* Direct Sparse Odometry: http://vision.in.tum.de/research/vslam/dso

* LSD-SLAM: https://github.com/tum-vision/lsd_slam

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.

http://mapir.isa.uma.es/mapirwebsite/index.php/people/164-ru...


ORB-SLAM is another good open source project

https://github.com/raulmur/ORB_SLAM2

Waiting for a cheap hackable, linux based wheeled robot with cameras for SLAM - the $250 Xiaomi Mi hoover looks alright, anyone bought one?


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.


The map is fully dense. No feature extraction is done on the LIDAR data.


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.


I use an Intel RealSense R200 Camera.

https://software.intel.com/en-us/realsense/r200camera

It's not as smooth a MS Kinect but the form factor is considerably smaller.


What about Lidar lite? https://www.sparkfun.com/products/14032 it uses LED instead of Laser so it's much cheaper. RIG for turning: https://hackaday.io/project/4087-360-degree-lidar-lite-scann...


I think the Microsoft Kinect is still the most accessible and cheap option for experimentation.


I am looking for something smaller than kinect, that's easier to mount on a moving platform and requires less power.


I've got the Structure sensor http://structure.io/ . They have an OpenNI2 library so you can use it on a Linux based system


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.


Looks nice. I wish it supported more than iPad.


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.


Floor changes, I believe.


That's correct. The operator carried the backup up/down a stairwell.


Excited to try it out and see how it goes.

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.


You could try following the ROS News blog. Lots of new research comes with a ROS implementation.


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.

will have to try it on my robot when I get home.


There is support for odometry. Take a look at the TurtleBot examples.


ah, it's in the dynamically loaded config file. That should be perfect then.


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?


I suggest installing ROS. Once you have it installed, you can follow the documentation in the cartographer_ros repo to get some demos running.


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?


> what good can come out of it?

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.


Can you link to your company's website? This sounds interesting.


www.pair3d.com


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.

https://www.technologyreview.com/s/541326/the-roomba-now-see...

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.


There's an app for that: http://locometric.com/

I've tested it briefly, and it seems fairly accurate as long as you follow the instructions.


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.

All of you.


Now if they can just copy my a and reproduce it so I can then have sex with myself. That would be THE product.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: