cartographer-project/cartographer

Serialized SparsePoseGraphs can easily be too big for default proto deserialization

Open

#433 创建于 2017年7月27日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)C++ (2,188 fork)batch import
enhancementhelp wanted

仓库指标

Star
 (6,665 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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

贡献者指南