cartographer-project/cartographer

Serialized SparsePoseGraphs can easily be too big for default proto deserialization

Open

#433 geöffnet am 27. Juli 2017

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (2.188 Forks)batch import
enhancementhelp wanted

Repository-Metriken

Stars
 (6.665 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

I'm working with some very large multi-trajectory SLAM problems (10s of kms, indoor), and the resulting serialized SparsePoseGraph objects are too big to deserialize, as they're much larger than the default 64MB limit. (Seriously: I'm up to about 1.3GB for the SPG alone.)

There are three solutions:

  1. Modify the serialization of SPG to use the pbstream, writing the pieces out one-by-one.
  2. Improve pbstream to use a google::protobuf::io::CodedInputStream directly, so we can call SetTotalBytesLimit with a bigger value.
  3. "Mac, you're out of your mind, make yourself a branch and leave the rest of us out of this."

(I've currently implemented 3, via 2, in macmason/cartographer and macmason/cartographer_ros, in branches both called mass_map.)

Thoughts?

FYI @brandon-northcutt

Contributor Guide