cartographer-project/cartographer

Serialized SparsePoseGraphs can easily be too big for default proto deserialization

Open

#433 ouverte le 27 juil. 2017

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)C++ (2 188 forks)batch import
enhancementhelp wanted

Métriques du dépôt

Stars
 (6 665 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

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

Guide contributeur