
Cartographer – A real-time simultaneous localization and mapping library - syrianspock
https://opensource.googleblog.com/2016/10/introducing-cartographer.html
======
mxfh
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](https://en.wikipedia.org/wiki/Geodesy)

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

~~~
bhaak
This is an annoying habit of my fellow programmers.

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

------
runesoerensen
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](http://vision.in.tum.de/research/vslam/dso)

* LSD-SLAM: [https://github.com/tum-vision/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).

~~~
Stanleyc23
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...](http://mapir.isa.uma.es/mapirwebsite/index.php/people/164-ruben-
gomez)

------
teraflop
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](http://ceres-solver.org)

------
kefka
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.

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

------
polskibus
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.

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

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

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

~~~
polskibus
Looks nice. I wish it supported more than iPad.

~~~
blensor
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...](http://www.ferienvillaflorida.de/labs//3d/android/stereovision/2015/01/30/announcing-
structdroid.html) ) 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

------
gertlex
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.

~~~
RobotCaleb
Floor changes, I believe.

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

------
ahollenbach
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.

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

------
Jack000
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.

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

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

------
FullMtlAlcoholc
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?

~~~
hokkos
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.

------
polskibus
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?

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

------
MichailP
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?

~~~
CobrastanJorji
> 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.

~~~
AndrewKemendo
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.

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

~~~
AndrewKemendo
www.pair3d.com

