cartographer-project/cartographer

Serialized SparsePoseGraphs can easily be too big for default proto deserialization

Open

#433 aberto em 27 de jul. de 2017

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (2.188 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (6.665 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

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

Guia do colaborador