logfile文件

commit 6c070acff52022a419f5f7fda0a1adf58e75cec3
Author: Kevin Daun [email protected]
Date: Tue Jul 31 15:13:37 2018 +0200

Introduce GridType for Grid2D (#1355)

commit c1fbb6bb07e25f0a205371ac5feaa395a8a20a43
Author: gaschler [email protected]
Date: Tue Jul 31 11:48:04 2018 +0200

Fill submaps slices (#1353)

This implements a frequently used function (two times in cartographer_ros).
Also, it corrects a wrong repeated proto field access,
so we can fix cartographer_ros/issues/944.

commit c041635fb5d0c93c59689118ba27222485eec70d
Author: Julius Kammerl [email protected]
Date: Tue Jul 31 10:06:54 2018 +0200

Add sensor counter metrics to TrajectoryCollator class (#1342)

Adds metrics to monitor the incoming sensor messages processed by the TrajectoryCollator class.

commit 537b2d67623444354bcd3e269969ac03de515701
Author: Julius Kammerl [email protected]
Date: Mon Jul 30 19:42:08 2018 +0200

Add metric counters to track sensor data in the AddSensorDataBatchHandler class (#1338)

Adds additional metrics to track incoming sensor and local slam result data in Prometheus.

commit a3c9e9f1ca0f4bdee8d50809f2fd34d981bb2cf9
Author: Christoph Schütte [email protected]
Date: Mon Jul 30 17:27:54 2018 +0200

Add argument to SerializeState for excluding unfinished submaps (#1352)

Adds a boolean argument to MapBuilderInterface::SerializeState() to indicate whether the caller wants to include unfinished submaps in the serialized state.

For cartographer_grpc this argument will be set to false since unfinished submaps do not have a Grid which would lead to a crash in the Submap::ToProto() function.

commit 5c61148f26a3e625384137aa3c98e4620e5c39f1
Author: Alexander Belyaev [email protected]
Date: Mon Jul 30 13:44:55 2018 +0200

[ABSL] Remove common/optional.h. (#1349)

commit 0a10bc3a15eb9620a76d094690ba754c18926cbb
Author: Juraj Oršulić [email protected]
Date: Mon Jul 30 13:06:15 2018 +0200

Make standalone_absl imported target global. (#1351)

commit b1855d0d06aeb7f583fab0c439e6173592621921
Author: Juraj Oršulić [email protected]
Date: Sat Jul 28 17:42:09 2018 +0200

Fix Abseil build command (#1350)

@pifon2a I've noticed the `BUILD_COMMAND` is broken. You're setting `ABSL_BUILD_COMMAND`, but using `ABSEIL_BUILD_COMMAND` (effectively empty). Somehow this doesn't confuse newer CMakes, but the one you install on Trusty gets confused and interprets this as a no-op build step. This causes the indigo pipeline in cartographer_ros to fail.

Use the cross-platform build command instead:
https://cmake.org/cmake/help/latest/module/ExternalProject.html#obtaining-project-properties (just above the linked paragraph)

commit 27a7a3dbdf72a75aac4f295a9da80e5e340c6254
Author: Juraj Oršulić [email protected]
Date: Fri Jul 27 23:41:25 2018 +0200

FindAbseil.cmake: cross-platform library names (#1348)

Fixes #1347

commit 3c5f2cd15451ed3e6a6cde733bfac4343360ca5c
Author: Alexander Belyaev [email protected]
Date: Fri Jul 27 20:35:27 2018 +0200

[GenericPoseGraph] Add PoseGraphController. (#1335)

commit 5b44305ea30e6af0d1b1edb50e758881f3330c07
Author: Alexander Belyaev [email protected]
Date: Fri Jul 27 19:43:35 2018 +0200

[ABSL] Purge common::make_unique. (#1340)

commit 4990d4d5e9237edf85916f5c4f5848f6f680b549
Author: Alexander Belyaev [email protected]
Date: Fri Jul 27 19:05:45 2018 +0200

[ABSL] Purge common::optional. (#1339)

commit dafb4149ed197d231cabd89cdf023e56ad207b70
Author: Christoph Schütte [email protected]
Date: Fri Jul 27 17:20:42 2018 +0200

Revert: Fix writing state of trajectories with unfinished submaps. #1286 (#1346)

Reason: Break rviz visualization for submaps loaded from pbstreams.

commit 3af5086dc729af581c3998eae47886d5c5b9ea4a
Author: Martin Schwörer [email protected]
Date: Fri Jul 27 13:45:59 2018 +0200

removed redundant condition (#1344)

Removes an additional condition that is not required.

commit 8b329efc8e997fca5d6ec5050f86b7bc65255227
Author: Wolfgang Hess [email protected]
Date: Thu Jul 26 17:05:23 2018 +0200

Don't process PoseGraph2D work items in foreground. (#1341)

This is #1285 for 2D.
Fixes #1250.

commit c2c341397f9a69195e1fc3aabac240845737b1c6
Author: Alexander Belyaev [email protected]
Date: Thu Jul 26 15:00:13 2018 +0200

[GenericPoseGraph] Add InterpolatedRelativePose2D constraint. (#1337)

commit e87100a3ad82805be24ba8e1ee7a2c5aa7213c59
Author: Wolfgang Hess [email protected]
Date: Thu Jul 26 11:15:57 2018 +0200

Introduce separate mutex for PoseGraph2D work queue access. (#1333)

This is #1284 for 2D.

commit 9a2df068ed2a4c5af36443f4704583bdf261d163
Author: Arno Fleck [email protected]
Date: Thu Jul 26 10:36:17 2018 +0200

Check for collated_fixed_frame_ for AddSensorData(FixedFramePoseData). (#1331)

PR #1224 introduced checks for `collate_landmarks` and `collate_fixed_frame` in the `CollatedTrajectoryBuilder`. However, it falsely checks for `collate_landmarks` in the `AddSensorData(FixedFramePoseData)` function. This PR fixes that.

commit e3a7f39889538ee83b33d70dc3167e8788ab3e9f
Author: Alexander Belyaev [email protected]
Date: Thu Jul 26 06:49:37 2018 +0200

Add absl to CMake and Bazel builds. (#1301)

commit 926b8540f696c73c33e9bee69d22ee835a478b2f
Author: Alexander Belyaev [email protected]
Date: Wed Jul 25 21:40:06 2018 +0200

Use CMake 3.2. (#1332)

commit f61a944938ca55a010128f09c24e7e9d6123b25b
Author: Wolfgang Hess [email protected]
Date: Wed Jul 25 15:26:29 2018 +0200

Fine-grained locking for PoseGraph2D constraints. (#1327)

This is #1279 for 2D.

commit 4ba9d9168b2c23b947afbd169964725896752ec5
Author: Michael Grupp [email protected]
Date: Wed Jul 25 13:06:58 2018 +0200

Migrate pbstream files with old probability grid format. (#1314)

commit 52804df98818ab7cced8ec4cc753c9923611a33c
Author: Arno Fleck [email protected]
Date: Wed Jul 25 11:02:52 2018 +0200

Remove warning at the beginning of localization. (#1329)

* Remove warning.

* Remove warning from 2D as well.

commit 2b042311d8091d4b2d05c5748928619558a1e648
Author: Sebastian Klose [email protected]
Date: Tue Jul 24 15:48:34 2018 +0200

Unified pbstream tool (#1326)

Consolidating pbstream tools into a single tool

* adds two subcommands for now (info and migrate)
* removes commandline flags for filenames in favor of commandline args
* updates documentation for migration tool

commit 8219117a17c175a405d4ba08950f60e087482dc0
Author: Martin Bokeloh [email protected]
Date: Tue Jul 24 14:32:38 2018 +0200

[GenericPoseGraph] Add serialization tests for constraints. (#1318)

* [GenericPoseGraph] Add rotation 3d constraint.

* [GenericPoseGraph] Add serialization tests for constraints.

* Remove files from other branch

* Updated include paths.

commit f7b3d34ae5a7acb5a2b8e1b702db388b3c180f03
Author: Martin Bokeloh [email protected]
Date: Tue Jul 24 13:24:11 2018 +0200

 [GenericPoseGraph] Add interpolated constraint/cost 3d. (#1325)

* [GenericPoseGraph] Add interpolated rotation constraint/cost 3d.

* Rename tests

* Update include paths.

commit d4193d4a2ae1ba41dc82c349ea2b27144b5763e7
Author: Alexander Belyaev [email protected]
Date: Tue Jul 24 06:36:24 2018 +0200

[GenericPoseGraph] Add acceleration constraint. (#1319)

commit 825026444110d42b393563014462f62a6973e25f
Author: Alexander Belyaev [email protected]
Date: Mon Jul 23 21:18:32 2018 +0200

Move test_helpers to testing/. (#1321)

commit a42fd47146c667266d9b1cfa2afe5cefd5634c16
Author: Martin Schwörer [email protected]
Date: Mon Jul 23 19:02:17 2018 +0200

Preparation for #1277: refactor rotation scan matcher (#1316)

Added new constructor for `RotationalScanMatcher` and exposed `RotateHistogram`.

This PR prepares for PR #1277 where the constructor
`RotationalScanMatcher(const std::vector>& histograms_at_angles)`
will be removed and only the new constructor
`RotationalScanMatcher(const Eigen::VectorXf& histogram)`
will remain. The unit tests will be updated to use the new constructor in #1277.

commit 25f79cb6eb04ce682c8dccf24740dd14b4eb74cf
Author: Susanne Pielawa [email protected]
Date: Mon Jul 23 18:23:41 2018 +0200

Added metrics RealTimeRatio and CpuRealTimeRatio to 2d.  (#1324)

Added the metrics RealTimeRatio and CpuRealTimeRatio also to local_trajectory_builder_2d.

This is similar to[ PR 1275](https://github.com/googlecartographer/cartographer/pull/1275) and resolves a TODO.

commit fc78288ef86563f5abe0efd3cba70f85ad23adfe
Author: Martin Schwörer [email protected]
Date: Mon Jul 23 17:38:48 2018 +0200

remove duplicate code for deserialization of Submap3D from proto (#1322)

This PR removes the duplicate code for deserialization/updating Submap3Ds from a proto.

commit 33fcc1a3de069df3ba395b0890ae8c51f85529bc
Author: gaschler [email protected]
Date: Mon Jul 23 16:42:44 2018 +0200

Set client_id in LoadState(FromFile) (#1320)

commit 5b35641881c8c10e268eedaaac256118e12f0244
Author: Juraj Oršulić [email protected]
Date: Mon Jul 23 16:21:45 2018 +0200

Small readability improvement (#1304)

commit 29420b1912e39f8e4955a5dc1bd76e2a008b4a6a
Author: Martin Bokeloh [email protected]
Date: Mon Jul 23 15:10:16 2018 +0200

[GenericPoseGraph] Remove unused declarations. (#1323)

commit bc8a7d7c00e439d59ea0bfda3ebf20db1fe85afe
Author: Martin Bokeloh [email protected]
Date: Mon Jul 23 13:43:26 2018 +0200

[GenericPoseGraph] Add rotation 3d constraint. (#1317)

commit d306eaddda31f86eb4fcc5bfa505cfe5450f49a8
Author: gaschler [email protected]
Date: Mon Jul 23 11:34:37 2018 +0200

Add pbstream_info executable (#1311)

This is useful to debug and inspect serialized files.

commit 681cff0435e8a6d6aba64fef952731e006716aae
Author: Alexander Belyaev [email protected]
Date: Sun Jul 22 13:36:25 2018 +0200

[GenericPoseGraph] Add proto defs for landmark cost functions. (#1312)

commit 3a9d1bc465c6bb6fc92db730b62d1d121f082d9f
Author: Martin Bokeloh [email protected]
Date: Fri Jul 20 17:45:41 2018 +0200

[GenericPoseGraph] Added rotation cost 3d. (#1313)

commit bb80d78293407176cb0294c807ac4c93269039ab
Author: Martin Bokeloh [email protected]
Date: Fri Jul 20 16:34:27 2018 +0200

[GenericPoseGraph] Add relative pose constraint 3d. (#1309)

commit f1ac8967297965b8eb6f2f4b08a538e052b5a75b
Author: Martin Schwörer [email protected]
Date: Fri Jul 20 15:16:44 2018 +0200

Return the proto from Submap::ToProto instead of passing pointer. (#1294)

Submap::ToProto now returns the proto.

This PR makes the interfaces for serialization more consistent: In `mapping_state_serialization.cc` all `ToProto` methods return the proto except Submap::ToProto.

commit 2de0e5f04b843af9eaf29d1c1eeffb6edb10e6f6
Author: danielsievers [email protected]
Date: Fri Jul 20 14:41:57 2018 +0200

Don't process PoseGraph3D work items in foreground (#1285)

This helps the foreground thread in keeping up real time.
Also see issue #1250.

commit 5077224f8ef059b01f397f788bb53545fb357a1c
Author: Wolfgang Hess [email protected]
Date: Fri Jul 20 13:31:18 2018 +0200

Take PoseGraph2D mutex inside instead of outside work item. (#1310)

This is #1264 for 2D.

commit 665b95d5c6af61e65edbb3fb5657d65a2012c3bd
Author: Alexander Belyaev [email protected]
Date: Fri Jul 20 12:50:29 2018 +0200

[GenericPoseGraph] Add a loss function. (#1308)

commit 1b455e57e57c90e3903ddddd37a52d007aac6307
Author: Alexander Belyaev [email protected]
Date: Fri Jul 20 10:55:05 2018 +0200

[GenericPoseGraph] Use GradientChecker to check gradients (Ba-Dum-Tss). (#1306)

Ba-Dum-Tss!

commit c473a65a5ea4ae2dbc69ecf88e8b4bd4c46c2f80
Author: Alexander Belyaev [email protected]
Date: Fri Jul 20 10:07:45 2018 +0200

Move FindOrNull to common/utils.h. (#1305)

commit 42d7133a2b0f845d9e78366fc9760919ba292d8f
Author: Alexander Belyaev [email protected]
Date: Fri Jul 20 09:30:03 2018 +0200

[GenericPoseGraph] Move ParseProto and Near to test_helpers.h (#1307)

commit 7fa11dcde6975625e837242226ced0f427406b13
Author: Christoph Schütte [email protected]
Date: Fri Jul 20 00:09:44 2018 +0200

Implement recovery behavior for LocalTrajectoryUploader (#1287)

commit 5911181849ced95d74d31f8ecef08e2e4634f80d
Author: Michael Grupp [email protected]
Date: Thu Jul 19 22:46:44 2018 +0200

Fix usage message of map_builder_server_main.cc (#1302)

commit 5fdb705ea5cd1391c1225d3e40fe2feb0d8c577e
Author: Martin Bokeloh [email protected]
Date: Thu Jul 19 16:35:27 2018 +0200

[GenericPoseGraph] Added relative pose cost 3d. (#1303)

* [GenericPoseGraph] Added relative pose cost 3d.

* Added another case to the test.

* Removed ceres function from cost function.

* Ran clang-format.

* Minor renaming.

commit a60b3e2d2de10dcbfc8565599465a0d9ab4c28ee
Author: Alexander Belyaev [email protected]
Date: Thu Jul 19 12:41:14 2018 +0200

[GenericPoseGraph] Add CeresOptimizer. (#1300)

commit df337194e21f98f8c7b0b88dab33f878066d4b56
Author: Alexander Belyaev [email protected]
Date: Thu Jul 19 09:17:22 2018 +0200

[GenericPoseGraph] Add RelativePoseConstraint2D. (#1297)

commit ce7f33f97a66fe7db39b769acdc8d1c03b7e3f85
Author: gaschler [email protected]
Date: Wed Jul 18 17:08:00 2018 +0200

Fix LoadState trajectory options access (#1298)

FIXES=#1296

commit 0ab591aa013edffb9b25ac4a7127c67e3d129621
Author: Alexander Belyaev [email protected]
Date: Wed Jul 18 15:58:33 2018 +0200

[GenericPoseGraph] Add RelativePoseCost2D. (#1295)

This is the implementation of the ceres::CostFunction that uses the new proto definition. It is tested using the Autodiff version.

commit ce9c567e3cb7d7fce4e3f04c4703cd9bb4d039cf
Author: Martin Schwörer [email protected]
Date: Wed Jul 18 12:22:00 2018 +0200

No re-use of trajectory node proto in SerializeTrajectoryNodes (#1293)

When serializing `TrajectoryNode`, the declared proto is currently re-used. This can lead to unexpected behavior, in particular when the serialization of the proto is performed in an external function.

This PR also relates PR #1277 where exactly that problem occurred in the SerializeSubmaps.

commit 0668411d6fe3099ac663f700cbda407be0aae313
Author: Christoph Schütte [email protected]
Date: Wed Jul 18 10:18:08 2018 +0200

Deflake destruction and test grpc SerializeState (#1291)

This PR also removes various checks in ThreadPool which ensures that the ThreadPool task queue runs to completion before the destructor returns.

commit 05a8314a23dcf4ddaead7d4af5f458c8a82eb871
Author: Alexander Belyaev [email protected]
Date: Wed Jul 18 09:17:39 2018 +0200

Fix Clang warnings. (#1292)

commit 89f0c45de8a0a64e9d01c770213bdf802ce07b43
Author: Alexander Belyaev [email protected]
Date: Tue Jul 17 17:40:49 2018 +0200

[GenericPoseGraph] Add a NodeId struct. (#1290)

commit 6c31420b974a3ead500052cdb0a1b96b7a5dd29c
Author: Steve Wolter [email protected]
Date: Tue Jul 17 13:38:37 2018 +0200

Log status of failed RPCs in PoseGraphStub. (#1288)

Log status of failed RPCs in PoseGraphStub.

This improves the usefulness of error messages in the log.

commit 0ee06ba5611c736e36c1416928aafaf1df88d25c
Author: Christoph Schütte [email protected]
Date: Tue Jul 17 08:39:50 2018 +0200

Fix writing state of trajectories with unfinished submaps. (#1286)

commit 482f912d95692b02207d3c3579cd43a85631c0a9
Author: danielsievers [email protected]
Date: Mon Jul 16 17:15:28 2018 +0200

Introduce separate mutex for PoseGraph3D work queue access (#1284)

Introduce separate mutex for PoseGraph3D work queue access.

This reduces lock contention, see issue #1250.
In particular higher frequency call to AddWorkItem
don't need to take the main mutex from the froground
thread anymore.

commit 31d0a6acc744e06d2b82797ea27d81f72d01df66
Author: Alexander Belyaev [email protected]
Date: Mon Jul 16 11:07:37 2018 +0200

[GenericPoseGraph] Add IMU Calibration and Pose3D node types. (#1278)

commit ad572336d4e50c21d2d5edd5f7f527ba697ccf64
Author: Juraj Oršulić [email protected]
Date: Mon Jul 16 10:03:54 2018 +0200

Include  in pose_graph/node.h and pose_2d.h (#1280)

commit 07a9efee6b1133ffadb6a6afd270acb11490e6de
Author: Susanne Pielawa [email protected]
Date: Sat Jul 14 12:07:14 2018 +0200

Add metrics: real time ratio and cpu time ratio. (#1275)

This PR introduces two metrics to measure performance of local slam: real time ratio, and cpu real time ratio. The latter is introduced to measure the headroom.

Real time ratio tells us how fast local slam processes the incoming sensor data. When SLAM is falling behind, this is below 100%. In the steady state it is 100% (The real time ratio is above 100% only when slam is 'catching up'.). So this does not tell us how much faster than real time slam processes the data. For this purpose the cpu real time ratio is introduced. It measures how much cpu time slam used, compared to the real time passed to collect the sensor data. Thus it can be more than 100% if slam is faster than real time. For example, a cpu real time ratio of 200% means that slam could process the data twice as fast as it comes in.

Three durations are measured:
- sensor_duration: the physical time it took to collect the sensor data.
- wall_time_duration: the time it took to process that data
- thread_cpu_duration: CPU time it took to process that data.

And the metrics then are:
real time ratio = sensor_duration / wall_time_duration
cpu real time ratio = sensor_duration / thread_cpu_duration

commit df12154542456adaedfeae6c17f966bae8d14f49
Author: Kevin Daun [email protected]
Date: Sat Jul 14 10:34:46 2018 +0200

Fix EqualCellProperties matcher. (#1276)

commit 7b48b66a65292fbafdfa1792c12727af046e73c9
Author: danielsievers [email protected]
Date: Sat Jul 14 09:27:07 2018 +0200

Fined-grained locking for PoseGraph3D constraints (#1279)

When preparing constraints make holding of the PoseGraph3D
mutex fine-grained to address lock contention from issue #1250.
That includes not holding the mutex when acquring the constraint
builder mutex.

commit d4376e765be54f2a920013dda731ec0c74811acc
Author: Alexander Belyaev [email protected]
Date: Fri Jul 13 15:05:22 2018 +0200

[GenericPoseGraph] Move 'EqualsProto' matcher to test_helpers. (#1271)

commit a08037dc47d544d697261940727b934fefd8dfb9
Author: Kevin Daun [email protected]
Date: Fri Jul 13 13:47:09 2018 +0200

Add TSDF interpolator. (#1274)

Based on [interpolated_grid.h](https://github.com/googlecartographer/cartographer/blob/master/cartographer/mapping/internal/3d/scan_matching/interpolated_grid.h).

commit 8c9104568a37ddabe357c53bcab6a785d2a1d21f
Author: danielsievers [email protected]
Date: Fri Jul 13 11:53:25 2018 +0200

Take PoseGraph3D mutex inside instead of outside work item (#1264)

Take PoseGraph3D mutex inside instead of outside work item

This refactors the code but does not alter behavior except
that the shared mutex is separately taken for work_queue_ access,
released, and then re-acquired inside each work item.

As a consequence AddWorkItem() also needs to EXCLUDE() the lock and
acquire it internally, because for the case where we run the task
in the foreground we cannot hold the lock and recursively acquire it again
inside the task being run.

This prepares for making locking more fine-grained, see issue #1250.

commit 61a89d8ab89b7d8b2e542955b5dd07329ec8795c
Author: Christoph Schütte [email protected]
Date: Fri Jul 13 09:57:35 2018 +0200

Check client_id in sensor data handlers (#1266)

commit 2b80767b579157a85ecd38454a991325698501c8
Author: Christoph Schütte [email protected]
Date: Fri Jul 13 08:48:48 2018 +0200

Upgrade async_grpc (#1272)

commit dce713b442bdf540e742a332ff9c1edd10b0b8fb
Author: Susanne Pielawa [email protected]
Date: Fri Jul 13 00:11:31 2018 +0200

Added function GetThreadCpuTimeSeconds in common/time.h (#1267)

This will be needed for measuring SLAM performance.

commit 5abd41331075ce2083dd0022519c6b05194732e9
Author: Kevin Daun [email protected]
Date: Thu Jul 12 22:11:55 2018 +0200

Add value conversion tables (#1255)

Adds value conversion tables to perform lazy computations of lookup tables for mapping from a uint16 value to a float in [`lower_bound`, `upper_bound`].
Owners of the value conversion tables are `SubmapController`, `PoseGraph2D`, `ActiveSubmaps` and `ProbabilityGridPointsProcessor`. For concurrency reasons, having only a single owner is not possible.
Follow up PR in `cartographer_ros`  is prepared.

commit 8602bf94304097d34cf24ec366185808ec5cb056
Author: Michael Grupp [email protected]
Date: Thu Jul 12 20:43:36 2018 +0200

Nit: no hardcoded version and current year in Sphinx docs. (#1268)

`Cartographer 1.0.0 documentation` -> `Cartographer documentation`
`Copyright 2016 The Cartographer Authors` -> `Copyright  The Cartographer Authors`

commit c4c5fab5b2dfd6f5a6efa15940fc440267284c13
Author: Alexander Belyaev [email protected]
Date: Thu Jul 12 15:21:59 2018 +0200

[GenericPoseGraph] Add a base class for all nodes and Pose2D node. (#1265)

commit 151a78d7be699e704b9eab0ea8c00208c7d8dda0
Author: Susanne Pielawa [email protected]
Date: Thu Jul 12 14:25:00 2018 +0200

Added TODO for multi-trajectory case. (#1269)

commit 30bc6bd97aea9947a655ccd427fd68257ddd5f7e
Author: Michael Grupp [email protected]
Date: Thu Jul 12 13:25:57 2018 +0200

Add equations for landmark cost function. (#1254)

commit 1b88fb8e90ee4cea0d4c1adf3af0fc98abbdcdbf
Author: Christoph Schütte [email protected]
Date: Thu Jul 12 00:21:31 2018 +0200

Introduce client_id in SensorMetadata (#1257)

commit 5ad20885610954f303e0cde55b736d8848302188
Author: Wolfgang Hess [email protected]
Date: Wed Jul 11 20:18:09 2018 +0200

Get rid of std::bind. (#1261)

`std::bind` is bug prone and should be avoided.
Lambdas are a more general and safer replacement.

commit a905036a007a822d884c73e3775e72ae6e701cd6
Author: Martin Schwörer [email protected]
Date: Wed Jul 11 19:44:37 2018 +0200

Create first submap with first scan (#1253)

The first submap is now created with first call to `ActiveSubmaps:InsertRangeData`.

Originally the first submap was created at the origin. Creating the first submap with the first range data insertion allows to align the first submap with the gravity estimate of the first scan. This change makes the interface of ActiveSubmaps most consistent, as `ActiveSubmaps::submaps()` will return the correct active submaps after insertion.

The change affects the result of cartographer. The results were verified and provide the same quality as current master.

commit 288328ef14431eb84ea7fb0e33dbaa52d2e55675
Author: Alexander Belyaev [email protected]
Date: Wed Jul 11 18:06:28 2018 +0200

[GenericPoseGraph] Add protos for nodes/constraints. (#1258)

Does not cover all constraints yet.

commit 9f1039221cdc6fa42afc9a23b2d8bc2b08b8ce04
Author: danielsievers [email protected]
Date: Wed Jul 11 17:33:41 2018 +0200

Refactor PoseGraph work queue optimization dispatching (#1252)

Unwrap the logic to dispatch optimization and the deferred
logic to create the work queue (when kicked off in foreground)
to happen in AddWorkItem() and HandleWorkQueue().
The work items will instead return whether they need optimization
to be dispatched or not.

commit bb380ae9477ad1b43730d67f7f5a37b23aa82bd2
Author: Kevin Daun [email protected]
Date: Wed Jul 11 13:02:11 2018 +0200

Make kSqrtTwoPi const. (#1259)

commit 88850ec2d775cb27d1026b4f4142f99be86f14f2
Author: Wolfgang Hess [email protected]
Date: Wed Jul 11 12:28:53 2018 +0200

Add .clang-format file. (#1249)

This adds a .clang-format file, so that git clang-format uses
Google style without the need to remember the commandline flag.

Moreover, this ensures correct formatting if the Cartographer
code is in a subtree of a repo.

commit 35abfccc6b6d38cca3e55e6e34d825316ebfb473
Author: Christoph Schütte [email protected]
Date: Tue Jul 10 20:41:00 2018 +0200

Introduce client_id in cartographer grpc (#1241)

commit 120c216c4797947fcb70aaa3cf2b1a9fb67a2dab
Author: Susanne Pielawa [email protected]
Date: Tue Jul 10 16:24:57 2018 +0200

Measure accumulation_duration from last accumulation stop (#1251)

[PR 946](https://github.com/googlecartographer/cartographer/pull/946) introduced metrics in local trajectory builder. The accumulation duration was measured from accumulation_start to accumulation_stop.

This PR changes this to measure the entire time elapsed between two accumulations (i.e. from accumulation_stop to the next accumulation_stop).

Mostly the two measurements result in roughly the same, with the new way measuring slightly larger durations, as expected. But occasionally the measurements differ significantly. This is probably due to a lock contention somewhere outside of what was measured previously. Since we are interested in real time metrics, we need to track the entire time passed.

commit a04b6cbc48c6fed8461ee54eeb9b1bbfea2b74c6
Author: Susanne Pielawa [email protected]
Date: Tue Jul 10 13:14:54 2018 +0200

use common::ToSeconds in local_trajectory_builder and rate_timer.h (#1248)

use the new overload of ToSeconds (introduced in
[PR1244](https://github.com/googlecartographer/cartographer/pull/1244/files)) in local_trajectory_builder.

commit afa3ba5336361b611703ed0bd73ecce724dbd0af
Author: Wolfgang Hess [email protected]
Date: Tue Jul 10 10:53:23 2018 +0200

Fix the name of real_time_correlative metric in 2D. (#1247)

This was called fast_correlative before, but the metric was about
the score of the real-time correlative scan matcher in local SLAM.

commit 1fed98727d73fcff5a77e237f7044c1438721cc2
Author: Martin Schwörer [email protected]
Date: Tue Jul 10 10:19:25 2018 +0200

extracted ScanMatch method in LocalTrajectoryBuilder3D (#1245)

Extracted the ScanMatch method in the LocalTrajectoryBuilder3D.

This is a short refactoring. With that change, the code of LocalTrajectoryBuilder3D resembles LocalTrajectoryBuilder2D more. (see LocalTrajectoryBuilder2D::ScanMatch)

commit 3ee7c6710ff7b98f0aaeea5092fb65b476cc39ce
Author: Susanne Pielawa [email protected]
Date: Mon Jul 9 21:20:58 2018 +0200

Adding metrics  (#1240)

to measure fraction of sensor time that is taken up by voxel filter, scan matcher, and inserting into submap.

commit aa3ac7e837cbe0938e4cf0a524c577a42f8ad7bf
Author: Martin Schwörer [email protected]
Date: Mon Jul 9 20:45:55 2018 +0200

Removed redundant 2d voxel filtering (#1243)

Removed redundant adaptive voxel fitering in trajectory builder 2d.

Adaptive voxel filtering of the lidar point cloud was performed in InsertIntoSubmap and ScanMatch. Both methods are called from AddAccumulatedRangeData. Now, adaptive voxel filtering is done only once in AddAccumulatedRangeData and the filtered point cloud is then forwarded to InsertIntoSubmap and ScanMatch.

commit 9e54a981c6bf2e836a093647b2050ad19dc0c57d
Author: Arno Fleck [email protected]
Date: Mon Jul 9 20:13:17 2018 +0200

Introduce common::ToSeconds for std::chrono::steady_clock::duration. (#1244)

Introduce a new overload of ToSeconds for std::chrono::steady_clock and use it for the work queue delay metric.

commit eff103f66354109f80b6935745ab41fa47a1aa95
Author: Michael Grupp [email protected]
Date: Mon Jul 9 15:03:40 2018 +0200

Ignore initial poses on gRPC server side. (#1234)

Fixes a crash if a client initializes with an initial pose inside a frozen map
that isn't known to the server.

commit 7dfe4042782bb088ac525d18a4991e15292a2b92
Author: Kevin Daun [email protected]
Date: Mon Jul 9 13:46:46 2018 +0200

Add TSDF RangeDataInserter (#1236)

Adds TSDF RangeDataInserter, tests and integrates the configuration files.

commit 3bf9ba0a69708f748f395a323ee788077197fec1
Author: Juraj Oršulić [email protected]
Date: Mon Jul 9 13:11:51 2018 +0200

 Ensure async_grpc is find_packaged() for Cartographer users (#1105)

commit 8b2c755a1337bfc2ecfb3aa8c3a784cf5c0824e4
Author: Arno Fleck [email protected]
Date: Sat Jul 7 00:20:20 2018 +0200

Remove "_internal" from the metric family names. (#1237)

As discussed and requested in #1218, this PR removes the substring "_internal" from all the metric family names.

commit 044f53735cbdd46015302d98cb9e76f6609dc431
Author: Martin Schwörer [email protected]
Date: Fri Jul 6 11:48:25 2018 +0200

removed unused member matching_submap_index (ActiveSubmaps3D,ActiveSubmaps2D) (#1238)

Removed the unused member matching_submap_index of ActiveSubmaps3D and ActiveSubmaps2D.
Adjusted the test accordingly.

commit 902459e95cc979a19595f4fa31d536d40e8816bf
Author: Martin Schwörer [email protected]
Date: Fri Jul 6 11:02:38 2018 +0200

fixed casting of high_resolution_max_range (SubmapsOptions3D) (#1239)

Fixed unintentional casting of high_resolution_max_range from double to int, to float

In SubmapsOptions3D the parameter "high_resolution_max_range" is defined as double. In the code it gets casted to int when calling Submap3D::InsertRangeData and to float when calling FilterRangeDataByMaxRange.

commit 627ebb39b9d58390118b2f9507695fb6bac4103f
Author: Arno Fleck [email protected]
Date: Fri Jul 6 09:40:44 2018 +0200

Add function to get the work queue delay from PoseGraph. (#1218)

commit bad8c96bc6329c2d231b5cb90137efd448742e3a
Author: Christoph Schütte [email protected]
Date: Thu Jul 5 13:14:11 2018 +0200

Add token_file_path parameter and enable auth (#1235)

commit cc9fc757570de22b6860d7320c810a7874373e70
Author: Kevin Daun [email protected]
Date: Tue Jul 3 19:51:39 2018 +0200

Separate raycast and grid update (#1216)

Separate raycast and grid update logic.
Rename raycast to ray_to_pixel_mask.

commit d2f3c1ea31755bbdc6dde775888dba7e3c97739d
Author: Wolfgang Hess [email protected]
Date: Tue Jul 3 16:35:58 2018 +0200

Fix the local SLAM latency metric. (#1231)

Before, the metric was in integer seconds and since measurements
are usually quite small, it was mostly outputting 0.

commit ddce76d9fbdf8fb07355b462567355a9e90f9242
Author: Alexander Belyaev [email protected]
Date: Tue Jul 3 14:27:38 2018 +0200

Make old pbstreams compatible with the new pure_localization_trimmer options. (#1230)

commit ffb50343909ec9dea294e7a7449d0c62d9fa9d2f
Author: Alexander Belyaev [email protected]
Date: Tue Jul 3 12:46:30 2018 +0200

Mark TSDF::ToProto with override. (#1227)

commit 0a253d24f6f3ee82aac9c98d5de9b600d0e96c2c
Author: Alexander Belyaev [email protected]
Date: Tue Jul 3 10:56:33 2018 +0200

Remove unnecessary std::move. (#1228)

commit 3540996e91586e3ae1dd6024c35eeffb4884443e
Author: Alexander Belyaev [email protected]
Date: Mon Jul 2 21:49:00 2018 +0200

Add options to (not)collate fixed-frame/landmarks data. (#1224)

commit 0981620d8fd4d3489ff1b503183b128909f1c86d
Author: Alexander Reimann [email protected]
Date: Mon Jul 2 20:32:23 2018 +0200

Add max_submaps_with_pure_localization parameter (#1141)

Adds a parameter for the currently hard coded `kSubmapsToKeep` in `pure_localization` mode.

The new parameter `max_submaps_with_pure_localization` allows to specify the history size of submaps in `pure_localization` mode.

Closes #1116

commit d5ed8a9ded61b2637b8444453285fb961a2767ca
Author: gaschler [email protected]
Date: Mon Jul 2 19:37:44 2018 +0200

Add further tests for MapById (#1226)

Adds tests for MapById for the cases: empty MapById, invalid trajectory_id, deleting all entries for a trajectory.

commit 7839f3f21608909ae1415df5770af15fae2f7961
Author: gaschler [email protected]
Date: Mon Jul 2 14:51:48 2018 +0200

Avoid uninitialized NodeId, SubmapId (#1223)

Previously, NodeId and SubmapId could be (partially) uninitialized,
for instance like this:

```
NodeId node_id;
SubmapId submap{0}; // uninitialized submap_index
```

This introduces constructors to prevent this.

commit 7fcc4576a81100c67c1bb49700daf0754240a64e
Author: Arno Fleck [email protected]
Date: Mon Jul 2 13:40:21 2018 +0200

Add use_online_imu_extrinsics_in_3d parameter and set it to true by default. (#1217)

Add the parameter `OptimizationProblemOptions.use_online_imu_extrinsincs_in_3d`. Set it to true by default to not change existing behavior.

Using online IMU extrinsics is not always desirable, and particularly during localization, we have determined that it is preferable to turn this feature off.

commit 22ea782fad57caed372fd80bc56b4d658bf85977
Author: gaschler [email protected]
Date: Mon Jul 2 13:05:28 2018 +0200

Handle invalid requests. (#1222)

FIXES=#1221

commit eed07d2f80743679e9d37f21d5051a6fbd9881ad
Author: Arno Fleck [email protected]
Date: Fri Jun 29 12:48:29 2018 +0200

Extract ground truth generation into a library. (#1215)

Extract ground truth generation from `autogenerate_ground_truth_main.cc` into a library function in `ground_truth.h/cc`, so it can be reused outside that binary.

Tested with Cartographer ROS.
`cartographer_autogenerate_ground_truth -pose_graph_filename=/home/afleck/Downloads/b3-2016-04-05-15-51-36.bag.pbstream -output_filename=/home/afleck/Downloads/ground_truth.pb`
still runs as before.

commit b4594bcdbdfd84e3c20072b55a41b8d8fac3a030
Author: Kevin Daun [email protected]
Date: Tue Jun 26 14:22:16 2018 +0200

Add Normal Estimation (#1213)

Adds Normal Estimation needed for TSDF RangeDataInserter.

commit 2bd987ffb40e2d6667682c5c96432173f371094f
Author: Sebastian Klose [email protected]
Date: Tue Jun 26 13:36:42 2018 +0200

Fix serialization for deleted trajectories. (#1214)

* update TrajectoryState of trajectories that got 'trimmed' away to be
 deleted in the PureLocalizationTrimmer
 * update serialization to only serialize 'undeleted' trajectories and
 corresponding options.

#1111

commit 15ecb88a92cca38b5303d8c6a94beb1fcb8fb838
Author: Kevin Daun [email protected]
Date: Mon Jun 25 11:40:12 2018 +0200

Add TSDF2D Grid (#1209)

- Adds TSDF2D Grid
- Adds tests for TSDF2D Grid
- Introduces Grid2D::GrowLimits(...) for multiple grids to reduce code duplication between TSDF2D and Grid2D

commit b5279532ce9e2a511f688fdf3bf06c4331a027e7
Author: Alexander Belyaev [email protected]
Date: Thu Jun 21 16:39:51 2018 +0200

Add a link to the new open house slides. (#1210)

commit 41b642d92b3678962f293a6cb6d1638f59005629
Author: gaschler [email protected]
Date: Wed Jun 20 13:55:09 2018 +0200

check trajectory remapping in test (#1208)

commit 5e96bfaeea509f458b1bbc12a0ad7ff0928b3ee9
Author: gaschler [email protected]
Date: Wed Jun 20 12:30:56 2018 +0200

Endpoints for GetTrajectoryStates (#1206)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit 984553ee15d4d99f9ac25c8615d285dfbfd51a63
Author: gaschler [email protected]
Date: Tue Jun 19 18:01:39 2018 +0200

LoadState(FromFile) endpoints (#1203)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit c249a9901d0e339393ce9964b15365f0d32071d9
Author: gaschler [email protected]
Date: Tue Jun 19 16:59:17 2018 +0200

Endpoints for DeleteTrajectory (#1207)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit d36cbc39b8da608bf8bcf9e65164acd5c046f85b
Author: Kevin Daun [email protected]
Date: Tue Jun 19 16:19:46 2018 +0200

Truncated Signed Distance Value Converter (#1204)

Introduces conversions between float and uint16 representations for truncated signed distance values and weights.

commit 4c5e6dc0fb96cac74df883451a6db09c3cada10e
Author: gaschler [email protected]
Date: Tue Jun 19 14:16:30 2018 +0200

Remove ChannelArguments (#1198)

This was introduced by #1179 but seems unused.

commit 54041d76eb388ef65e86070f63f438211e678ea2
Author: gaschler [email protected]
Date: Tue Jun 19 13:41:55 2018 +0200

DeleteTrajectory (#1205)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit ecaa95f3b0916dd2945b9ff1e2b4d3ae86504df1
Author: Kevin Daun [email protected]
Date: Tue Jun 19 12:31:11 2018 +0200

Move occupied space cost function to .cc (#1200)

commit a9045fa3755844db139c05d3b5797e5a28e10c7f
Author: gaschler [email protected]
Date: Tue Jun 19 11:48:09 2018 +0200

Introduce TrajectoryState (#1201)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit 5d26742bfad70f10a404a00ba0aa6790794b43a4
Author: gaschler [email protected]
Date: Tue Jun 19 11:00:41 2018 +0200

LoadStateFromFile (#1202)

[RFC=0023](https://github.com/googlecartographer/rfcs/blob/master/text/0023-delete-load.md)

commit 42c1288e66016c978d3e42a37adda25cc7258542
Author: Christoph Schütte [email protected]
Date: Fri Jun 15 14:31:18 2018 +0200

Add LoadState() test case to ClientServerTest. (#1189)

commit 849f2a66ac3c0502cb18e550f56b62efb044bc93
Author: gaschler [email protected]
Date: Fri Jun 15 13:06:02 2018 +0200

clarify comment (#1196)

commit 0e25fafc470086988ff8b1cd89906438388e3c09
Author: Wolfgang Hess [email protected]
Date: Tue Jun 12 17:10:19 2018 +0200

Fixes display of IMU correction angle. (#1193)

When the 'imu_calibration' quaternion has a negative real part,
correction angles above 180 degrees were displayed. This fixes
the issue.

commit de22b9c311c21c4290b9372bc9af3e2fbb6a1685
Author: gaschler [email protected]
Date: Tue Jun 12 16:01:14 2018 +0200

Rename to TrimSubmap (#1192)

Trimmable::MarkSubmapAsTrimmed was incorrectly named and commented.
It really trims the submap.

commit f79c6afee7b3c11b2d22d0a981fe05d8e73ce020
Author: gaschler [email protected]
Date: Tue Jun 12 15:18:20 2018 +0200

Rename namespace to testing (#1191)

We commonly use the namespace testing for test helpers,
so rename similar namespaces to "testing" for consistency.

commit 29f6ea9ea31c649d313d7ba21c0f514ccf8a7db7
Author: gaschler [email protected]
Date: Tue Jun 12 12:49:07 2018 +0200

Test LoadState and pure localization (#1190)

commit 505570349026d0ece5b90f65be46f44f59380fc5
Author: Alexander Belyaev [email protected]
Date: Fri Jun 8 14:40:24 2018 +0200

Use PoseGraphData in PoseGraph3d. (#1188)

[RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0022-pose-graph-data.md)

commit 3437b931dd319abd97cb566e4be4ea9e5a1ffa6d
Author: Alexander Belyaev [email protected]
Date: Fri Jun 8 11:52:08 2018 +0200

Introduce PoseGraphModel and use it in 2D. (#1185)

[RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0022-pose-graph-data.md)

commit 47a25e9e6f79e5d69ef3e7d58000aa09d3acf10a
Author: Alexander Belyaev [email protected]
Date: Thu Jun 7 20:36:18 2018 +0200

Add links to the Open House slides. (#1187)

commit e8b211f67434be81eb42e0535a852ae4bf68a890
Author: Martin Schwörer [email protected]
Date: Wed Jun 6 16:11:37 2018 +0200

Writing probability grid as proto with probability grid points processor (#1069)

The probability grid points processor can now be configured to write the probability grid as pbstream. Before it was only possible to write the probability grid as png.

commit 3f0bb0eec5ba8a8c7c55d258483f015c044e7afa
Author: sotnik-github [email protected]
Date: Wed Jun 6 15:38:10 2018 +0200

Fixing 846 without tests. (#1183)

Fixing "Optimizing: -nan%... #846" https://github.com/googlecartographer/cartographer/issues/846.
The issue was triggered in a multithreaded execution, when all nodes were processed, but the working queue was still non empty (having other kind of jobs).
Unfortunately I failed to reproduce the bug in tests, so no new tests were added.

commit 4ef38497a9789a81c75b1380fb81a51b0301941e
Author: Alexander Belyaev [email protected]
Date: Wed Jun 6 14:14:01 2018 +0200

Skip the Collator for the landmark data. (#1184)

commit 5bda2a567cdc7db9ebc0e1524b50a88661838ac1
Author: Alexander Belyaev [email protected]
Date: Tue Jun 5 12:54:07 2018 +0200

Release 1.0 (#1177)

commit f83ba3db2f336c147500e6874cebaaf6252e8711
Author: Christoph Schütte [email protected]
Date: Mon Jun 4 11:11:28 2018 +0200

Fix LoadState gRPC (#1179)

commit 5b0fe666eeecd0d89e5fc2f4f9dbb41146d251b8
Author: Sebastian Klose [email protected]
Date: Mon Jun 4 10:39:27 2018 +0200

Adding short description of pbstream migration tool (#1181)

Adding a section to the docs, describing the existence and usage of the serialization migration tool.

commit 000b967c79b3e6c207f03488747c199a26951c6e
Author: Sebastian Klose [email protected]
Date: Mon Jun 4 09:35:37 2018 +0200

adding LOG output to migration tool (#1180)

Adding some log-feedback to the serialization migration tool.

commit 73d18e5fc54bfa4e4e61fd7feb615b46834aa584
Author: Sebastian Klose [email protected]
Date: Wed May 30 13:31:33 2018 +0200

Using new serialization format. (#1174)

Updates everyone to use the new serialization format.

A corresponding PR will be made in cartographer_ros for the various tools.

commit 87370371ecf83866c75cb881a44db5342ad81b48
Author: Alexander Belyaev [email protected]
Date: Wed May 30 12:56:59 2018 +0200

Making a test nicer: procrastination and nits. (#1175)

commit 876a41f06f13b6298e6e48a330fde3b37c4ce512
Author: Christoph Schütte [email protected]
Date: Wed May 30 07:34:49 2018 +0200

Provide local poses via GetTrajectoryNodePoses() (#1172)

commit a35092c20f519f8bc7244fd560ce684a117af33e
Author: Sebastian Klose [email protected]
Date: Tue May 29 22:10:11 2018 +0200

Mapping state deserializer (#1171)

class for de-serializing mapping state stored in the new serialization format [RFC 0021](https://github.com/sebastianklose/rfcs/blob/serialization_format/text/0021-serialization-format.md).

Not used yet. Will be hooked up in a separate PR that switches all logic to the new serialization format at once.

commit fbb283552536791289aae9ca9b1bdb0f7c391a4e
Author: Christoph Schütte [email protected]
Date: Tue May 29 19:26:33 2018 +0200

Implement receive_global_slam_optimizations_handler (#1169)

commit a9c90da1a86f0192df6e4e787d83368bb9ddbe5d
Author: Sebastian Klose [email protected]
Date: Tue May 29 16:56:18 2018 +0200

Migration tool for serialization format (#1167)

* New serialization protos

 * Moved old definition to legacy_serialized_data.proto
 * defining new serialization format as oneof.

* Changing to legacy datatype

* adding serialization migration

* moving to io

* adding serialization migration

* moving to io

* adding file for test

* adding test

* test for order or migrated serialized data

* test for order or migrated serialized data

* renaming tool

* addressing comments

* addressing more comments

* minor polishing

commit cd7df83e1c761cc6bbe45927341790b49f04db37
Author: Christoph Schütte [email protected]
Date: Tue May 29 14:25:58 2018 +0200

Add maintainers and authors to package.xml (#1170)

commit 1d050ede3fb49f039d993a9c80e7eb0fc62f0884
Author: Sebastian Klose [email protected]
Date: Mon May 28 23:49:21 2018 +0200

Mapping state serialization (#1166)

[Serialization RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0021-serialization-format.md)

commit 405c0e17e819880d6eb7b794cdf4cbf7bc122e5a
Author: Sebastian Klose [email protected]
Date: Mon May 28 15:11:29 2018 +0200

Defining new serialization proto (#1165)

[Serialization RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0021-serialization-format.md)

commit ce18ec72950974cf9ed7e818ee0693ed4ed05308
Author: Christoph Schütte [email protected]
Date: Fri May 25 12:29:52 2018 +0200

Add SetGlobalSlamOptimizationCallback() (#1164)

to allow setting the GlobalSlamOptimizationCallback after MapBuilder and PoseGraph
creation. Also removes the GlobalSlamOptimizationCallback from the Constructor
since it is not used.

Prerequisite for implementing ReceiveGlobalSlamOptimizations() in gRPC MapBuilderInterface.

commit 207979f209cd3cce9f48ff3372396a4be88bfd2d
Author: Alexander Belyaev [email protected]
Date: Wed May 23 13:22:26 2018 +0200

Add relative transform error 2d documentation. (#1163)

commit 2f9ee597d06523cc4a851ef100b3b655feff8491
Author: Alexander Belyaev [email protected]
Date: Wed May 23 12:07:27 2018 +0200

Add analytical 2d cost function for pose graph (not used yet). (#1161)

commit f4c4d2ad40fdb918a5e2ace32e3cf46c672c78d5
Author: Kevin Daun [email protected]
Date: Thu May 17 12:14:03 2018 +0200

Add CSV export to the evaluation tool (#1159)

- adds `covered_distance` to the ground truth relations
- the flags `write_relation_metrics` and `relation_metrics_filename` control whether and where to write the relations metrics as comma-separated values

commit d419fe8fd7653e74436e4a0cf27890186db47d83
Author: Sebastian Klose [email protected]
Date: Thu May 17 09:30:40 2018 +0200

More const PoseGraph interface (#1156)

Making getters and non-modifying methods  in PoseGraph* const.

Before most getters where marked non-const because of the need to acquire the mutex for thread safety. This forces all code using the PoseGraph to pass it around as a non-const object even if the consumer is not altering the object.
By making the mutexes mutable we can make getters and methods that do not change the PoseGraph const and thus enable consumer APIs to express how they are going to use the PoseGraph as well.

fixes #1021

commit a0ec8046bddcf2f56080e6157d10337e5a152a45
Author: Robert Milijaš [email protected]
Date: Tue May 15 22:32:03 2018 +0200

Allow easier access to CeresPose's data_ (#1149)

Introduce a FromPose function which transforms a Ridig3d pose into the
CeresPose's Data format.

commit d2453bce50345389350735fe466e0ea8cc5762e9
Author: Christoph Schütte [email protected]
Date: Tue May 15 09:38:44 2018 +0200

Update README.rst (#1144)

commit ee8e2fa4d6d2527ceded26a871f64b0707cafeb8
Author: Christoph Schütte [email protected]
Date: Fri May 11 21:14:18 2018 +0200

Introduces a lockless queue for multiple producers and a single consumer (#1152)

commit ce67d684babc75f7dc0f43ecb0fccd8dcbf15f18
Author: Christoph Schütte [email protected]
Date: Thu May 10 11:25:00 2018 +0200

Introduce a GlobalSlamResultCallback (#1143)

commit c2f54b8df20ecb0fae0e3ad722b1ae3ac28e0d5a
Author: Sebastian Klose [email protected]
Date: Wed May 9 11:22:07 2018 +0200

Organize all protos in mapping in a single folder. (#1147)

commit 697d6091cd88c4fe869553abcbce147f21be74d4
Author: gaschler [email protected]
Date: Thu May 3 21:50:50 2018 +0200

Test ThreadPool more (#1136)

These tests previously helped to reproduce Mutex issue #1124.

commit 3ca6506bc7fc52822b458b6aad77b4bfd907ce29
Author: gaschler [email protected]
Date: Thu May 3 20:58:51 2018 +0200

Remove old ThreadPool::Schedule (#1139)

commit 21c428b1bf1a7bf26943e0243da8eb720052b9a8
Author: Martin Schwörer [email protected]
Date: Wed May 2 16:39:55 2018 +0200

installing test library headers, so they are available for cartographer_ros (#1140)

Installing the header files of test_helpers, fake- and mock-classes.

This will fix the build failure of cartographer_ros.

commit e080df5ea36c3737b84635bed45b58051dd83efc
Author: Christoph Schütte [email protected]
Date: Tue May 1 17:18:34 2018 +0200

Register MapBuilderServer metrics (#1133)

I am not adding these registration calls to `cartographer/metrics/register.cc` because they are specific to cloud based mapping.

commit 913b1b5856e2a38c0e707125020e9451d91a4746
Author: Martin Schwörer [email protected]
Date: Mon Apr 30 18:02:54 2018 +0200

Added cartographer test library to CMake project (#1129)

Fake, mock and test helpers are now compiled into a test library.

This should resolve #1128. The bazel build file was updated in #1101.

commit 13d9754155f8da0b0d670c8f45d5d5f704c8e373
Author: Martin Schwörer [email protected]
Date: Mon Apr 30 16:57:08 2018 +0200

fixed that tests not getting linked against prometheus-cc (#1131)

Fixed typo in the CMakeLists file: tests were not linked against prometheus-cc

commit ff18bae528846e6f4cfe81a711ea9e196878f356
Author: Alexander Belyaev [email protected]
Date: Mon Apr 30 12:12:48 2018 +0200

Transform submap cells to global frame correctly. (#1130)

commit a3b746ff67011869aaaa1767ee15b468d5db9950
Author: gaschler [email protected]
Date: Fri Apr 27 22:14:19 2018 +0200

Use Task in ConstraintBuilder3D (#1119)

commit a32cfd247b7cf192374b11ae6a14bb0ef543988f
Author: gaschler [email protected]
Date: Fri Apr 27 20:41:13 2018 +0200

Pessimist ~Locker (#1125)

FIXES=#1124

commit fe7aaf4d9410ddfaaca51fb845ef7ff2cf6c15a2
Author: Martin Schwörer [email protected]
Date: Fri Apr 27 13:45:54 2018 +0200

Added a fake file writer (writes to string instead of file) (#1101)

Added fake filer writer which writes the output to a string instead of a file.

This will help writing tests for classes that use the file writer interface to write data.

commit c46fe073b48dd1e33d38c285163fbda8fca4fefa
Author: gaschler [email protected]
Date: Thu Apr 26 12:33:36 2018 +0200

Use Task in ConstraintBuilder2D (#1118)

commit 666095cb41562ba779523f20815418f071d69003
Author: Christoph Schütte [email protected]
Date: Wed Apr 25 22:09:56 2018 +0200

Introduce metric to measure the length of the SLAM queue (#1117)

commit 5356bdf9a83bbb1255f0f56bc476a61619fb8e8b
Author: Christoph Schütte [email protected]
Date: Wed Apr 25 17:34:30 2018 +0200

Rename  metrics since slashes are not allowed in Prometheus (#1115)

commit 41f17e57cd6c3af382399db15507f70c5f7865fc
Author: Kevin Daun [email protected]
Date: Wed Apr 25 16:51:30 2018 +0200

Introduce Grid and RangeDataInserter (#1108)

- Introduce `RangeDataInserterInterface` as common interface for all range data inserters
- Introduce a minimal `GridInterface` as a base for a common interface for 2D and 3D grids
- Rename `RangeDataInserter2D` to `ProbabilityGridRangeDataInserter2D`
- Move grid generation logic from `Submap2D` to `ActiveSubmaps2D`
- Update proto and configuration structure to mirror the code structure - backwards compatibility is maintained
 - Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)

commit 91fda937572721cafe4db803b834e4db851a4f07
Author: gaschler [email protected]
Date: Wed Apr 25 16:12:30 2018 +0200

Schedule Task in ThreadPool (#1113)

This introduces scheduling of tasks with dependencies to ThreadPool.
Contrary to work items, tasks are only queued for execution after all
their dependencies have completed.

commit 89ac5cbabfbf2164a8e131cabc362caeaebc60c4
Author: gaschler [email protected]
Date: Wed Apr 25 15:00:13 2018 +0200

Test GlobalSlam3D (#1114)

commit 01185316595e1b7b17eefc81a27a8d83380b5f8d
Author: gaschler [email protected]
Date: Wed Apr 25 13:56:34 2018 +0200

correct bazel define (#1112)

This is required by map_builder_server_main.cc

commit 3d2ca564b6d8da348556d1012a39fa8422b235e5
Author: Michael Grupp [email protected]
Date: Wed Apr 25 12:22:11 2018 +0200

Fix some Clang warnings. (#1109)

task.cc: -Wparentheses
task_test.cc: -Winconsistent-missing-override

commit d9ada58710d6b077e18240e03baaaa3e87c01447
Author: Martin Schwörer [email protected]
Date: Tue Apr 24 16:32:31 2018 +0200

Removed check for existence of first submap of first trajectory in pose graph optimization (#1099)

Removed check for existence of first submap of first trajectory.

This check is equivalent to the original implementation which got changed in [#584](https://github.com/googlecartographer/cartographer/pull/584/files)

commit f51e4f4f05e84d7cfebbc07e072fdd3c72753d7b
Author: Christoph Schütte [email protected]
Date: Tue Apr 24 15:57:44 2018 +0200

Introduce Task (#1066)

This introduces the new class common::Task. A Task can have dependencies to other tasks, notify ThreadPoolInterface when all its dependencies are fulfilled, and can be executed in the background.

commit 3dd37da51bd5540de56ad32ed8d40372d2fea023
Author: Alexander Belyaev [email protected]
Date: Mon Apr 23 13:49:25 2018 +0200

Move constraint_builders together. (#1103)

commit 3b5830745e430deadcb129a97fbd22934fc5881e
Author: gaschler [email protected]
Date: Mon Apr 23 12:52:20 2018 +0200

Test ConstraintBuilder2D/3D (#1100)

commit d29153a7443132c514dd84f447bbb572851fd174
Author: Kevin Daun [email protected]
Date: Fri Apr 20 22:58:46 2018 +0200

Replace ProbabilityGrid in Submap2D by Grid2D (#1097)

commit e2623991dacd90dc3bfaad111675be8fac6bcf20
Author: Alexander Belyaev [email protected]
Date: Fri Apr 20 22:19:16 2018 +0200

Return only optimized & finished submaps for trimmer. (#1104)

commit 4aa2af23dedb824e0e2f9d4db7dba2f238d98e44
Author: Alexander Belyaev [email protected]
Date: Fri Apr 20 20:52:17 2018 +0200

Move files related to optimization to optimization/. (#1102)

commit eebced5e167510f50f3534e3e8bd7ca0b117cdf4
Author: Alexander Belyaev [email protected]
Date: Fri Apr 20 18:15:37 2018 +0200

Clean-up colliding 'SubmapData' names. (#1096)

commit 643bc825e9a1ddd8e83a90330d5ca9b69bcf39a5
Author: gaschler [email protected]
Date: Fri Apr 20 13:12:52 2018 +0200

ThreadPoolForTesting (#1098)

Necessary to test ConstraintBuilder.

commit 8816d5710c8529d6e0463b72ff36e194a9227918
Author: Alexander Belyaev [email protected]
Date: Fri Apr 20 09:05:05 2018 +0200

Invoke trimmer only when there are enough added submaps. (#1095)

commit 29c3e056ed9674019103df72f0d472977818d6c9
Author: Holger Rapp [email protected]
Date: Fri Apr 20 00:30:12 2018 +0200

Next Open house and switch CET to CEST. (#1092)

commit 7f67f074a1b6a4cc7645958061d979e4d57953c9
Author: Rodrigo Queiro [email protected]
Date: Thu Apr 19 18:51:20 2018 +0200

Limit `bazel test` parallelism more precisely (#1094)

Since it is only the tests in cartographer/cloud that cannot run
concurrently with each other, use `tags = ["exclusive"]` to say that
they should not be run at the same time as other tests.

This works locally, not just in CI, and should speed up the CI job by
2-3 minutes.

commit ab7402ffbbd2b3b19c4042a67028ad07fa7f198f
Author: Alexander Belyaev [email protected]
Date: Thu Apr 19 17:09:16 2018 +0200

Use references for constraints & nodes in TrimmingHandle. (#1091)

commit 20c80068b24663ac367310bfc5ccc6bce57e25b6
Author: Kevin Daun [email protected]
Date: Thu Apr 19 11:59:28 2018 +0200

Base ConstraintBuilder2D on correspondence cost function (#1088)

- Base `ConstraintBuilder2D` and `FastCorrelativeScanMatcher2D` on correspondence cost function instead of probabilities
- No changes in the options of `ConstraintBuilder2D` and `FastCorrelativeScanMatcher2D`
- Add properties `min/max_correspondence_cost` to `Grid2D` and `proto::Grid2D`
- Provide backwards compatibility for `proto::Grid2D`
 - Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)

commit f4937b5cc60761425e561ef21cba71d75b2665a6
Author: Kevin Daun [email protected]
Date: Thu Apr 19 10:24:16 2018 +0200

Base ceres scan matcher on correspondence cost function (#1085)

- Base ceres scan matcher on correspondence cost function instead of probabilities
 - Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)

commit 9b3606b7c0684dbb736f67ab26b32dc5b556648b
Author: Rodrigo Queiro [email protected]
Date: Wed Apr 18 21:04:11 2018 +0200

Fix glog warning (#1082)

by updating to a version that properly enables __attribute__. This is
the last warning in the Bazel build.

commit 337e594662b2799ba769b283d61308c846a7f92e
Author: Christoph Schütte [email protected]
Date: Wed Apr 18 16:47:03 2018 +0200

Introduce option to enable SSL encryption for LocalTrajectoryUploader (#1084)

commit 3383643627dd22fee7be164acad52119e5c4e46d
Author: Rodrigo Queiro [email protected]
Date: Wed Apr 18 15:43:39 2018 +0200

Add configuration for Bazel CI (#1083)

This builds and tests on Ubuntu 16.

commit 03d56871c1f3a6441f6404c99176206daf83f674
Author: Kevin Daun [email protected]
Date: Wed Apr 18 14:46:38 2018 +0200

Correspondence cost based probability grid (#1081)

- Store probabilities as correspondence costs
- Add conversion functions for correspondence cost values
- Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)

commit 214606457c5131d18fe9fda10193976e9cf9d3d9
Author: Christoph Schütte [email protected]
Date: Wed Apr 18 14:02:43 2018 +0200

Switch to batch uploading for cloud based mapping and add retries (#1070)

commit 23f6de46b0804d3f4d0828a4853cfd0a5338d9d6
Author: Alexander Belyaev [email protected]
Date: Tue Apr 17 18:22:38 2018 +0200

Use area instead of cells count for overlapping trimmer options. (#1080)

commit 26e8ce63ba4f56c91f208cd177bf9082fd027b58
Author: Julius Kammerl [email protected]
Date: Tue Apr 17 17:25:18 2018 +0200

Add async_grpc dependency to cartographer_grpc (#1079)

The map_builder_server target requires async_grpc.

commit 4278dbb7ead664d6091fe4e2f94853ee0b6055a0
Author: gaschler [email protected]
Date: Tue Apr 17 15:41:09 2018 +0200

Speed up slow tests (#1077)

Same checks, half the time.

commit ed0a8846f1832987aa5e543c494a9a666ccc4a1d
Author: Kevin Daun [email protected]
Date: Tue Apr 17 14:27:09 2018 +0200

Allow execution of Submap2D::ToResponseProto without a grid (#1078)

- related to https://github.com/googlecartographer/cartographer_ros/issues/819

commit 74970be757b8080ca5fe2e9e0af088e0c01c80ea
Author: Alexander Belyaev [email protected]
Date: Tue Apr 17 13:00:04 2018 +0200

Add overlapping trimmer params to TrajectoryBuilderOptions. (#1076)

commit e215c170e786034db228f2e9bc7f353039cccf4b
Author: Alexander Belyaev [email protected]
Date: Tue Apr 17 10:22:00 2018 +0200

Remove redundant function declaration. (#1075)

Makes clang happy again.

commit 2be3c1f6365c89cbe707bd89279f757129153c7c
Author: Christoph Schütte [email protected]
Date: Tue Apr 17 09:46:51 2018 +0200

Add sparse Eigen support to Bazel build. (#1074)

commit a82a62f8a0ae74be9cc109f79395b827edecb1d4
Author: Kevin Daun [email protected]
Date: Mon Apr 16 18:19:59 2018 +0200

Replace Submap2D grid member by unique_ptr (#1073)

- replace the `ProbabilityGrid` member of `Submap2D` by  `unique_ptr`
- allow `Submap2D` to handle `proto::Submap2D` without a defined grid field
- resolve https://github.com/googlecartographer/cartographer/issues/1071

commit c20f22e9862208e90b1fe724e772d84721376d3b
Author: Rodrigo Queiro [email protected]
Date: Mon Apr 16 17:48:18 2018 +0200

Suppress warnings for Bazel third_party deps (#1054)

These warnings occur when building with gcc 7.3.0.

commit 911c9ab920be96e4b1accf0a9dc40435ad948454
Author: Rodrigo Queiro [email protected]
Date: Mon Apr 16 17:15:10 2018 +0200

Update Prometheus to avoid warning (#1058)

This pulls in https://github.com/jupp0r/prometheus-cpp/pull/103 (fix
warning) and https://github.com/jupp0r/prometheus-cpp/pull/98 (add
missing header).

commit ce71273737bed18b1fb0f8966bab7b3f04ac4e78
Author: Christoph Schütte [email protected]
Date: Mon Apr 16 16:40:03 2018 +0200

Add error messages for gRPC connection failures (#1072)

Fixes https://github.com/googlecartographer/cartographer_ros/issues/825.

commit 7b688449370bd114f4e6534ea00bd26437aae046
Author: Alexander Belyaev [email protected]
Date: Mon Apr 16 15:49:08 2018 +0200

Add a gRPC version of SetLandmarkPose(). (#1068)

commit 75f899117a47b8d510d7e42ad444b3847771e251
Author: Alexander Belyaev [email protected]
Date: Mon Apr 16 12:47:11 2018 +0200

Move  to testing/. (#1067)

commit 663e13542643ca0031315b774450432bfd03bd49
Author: gaschler [email protected]
Date: Mon Apr 16 12:01:09 2018 +0200

add check (#1063)

commit 74f74c4b6191b06d9ea65bff1a7661b8acd68bff
Author: Alexander Belyaev [email protected]
Date: Fri Apr 13 16:38:45 2018 +0200

Deserialize landmark poses. (#1064)

commit 46d3a9443a47020ad408a2d3b0a61259ae67ffb4
Author: Kevin Daun [email protected]
Date: Fri Apr 13 13:43:09 2018 +0200

 Introduce Grid2D as base class for 2D grids (#1046)

This is a first step towards generalizing submaps (see [ongoing RFC discussion](https://github.com/googlecartographer/rfcs/pull/30)).
Although this PR already introduces a correspondence cost grid, the grid is still used as probability grid.

commit b4c4ae6ea9cc789cf89fe70fddce5e4b21b7675e
Author: Christoph Schütte [email protected]
Date: Fri Apr 13 12:15:26 2018 +0200

Update unfinished submap list on SLAM thread (#1061)

Fixes #1052

commit b5e5477f7516f821083559635d75257bbd1975f5
Author: Michael Grupp [email protected]
Date: Thu Apr 12 16:33:38 2018 +0200

Fix Sphinx build warning. (#1055)

Removes 'WARNING: html_static_path entry [...] does not exist'.

commit d2f29d04b953e026e84eeb70db69f7437650920b
Author: Michael Grupp [email protected]
Date: Thu Apr 12 16:00:56 2018 +0200

Improve pose terminology of 2D optimization problem. (#1053)

Removes the confusing term `initial_pose` from global 2D optimization.
It makes sense in other areas like scan matching, but has a completely
different meaning there. Also matches the 3D equivalents better.

- `local_pose_2d` replaces `initial_pose` as the name for the
   non-gravity-aligned, local 2D pose in the submap
- `global_pose_2d` replaces `pose` as the name for the
   non-gravity-aligned, global 2D pose that is optimized

See the comment in the PR for how this improves readability.

commit 14465aa23ed20e631b94b853635015d42dfd8c33
Author: Christoph Schütte [email protected]
Date: Thu Apr 12 15:27:24 2018 +0200

Refactor MapBuilderContext to reduce code duplication. (#1059)

commit a4346337bc55ea28ea755827b29eeb354834a20f
Author: Alexander Belyaev [email protected]
Date: Thu Apr 12 14:28:33 2018 +0200

Address the comments for the overlapping submaps trimmer. (#1060)

commit f83d0a6ed635484ffad6afaefcfe295493b5319e
Author: Christoph Schütte [email protected]
Date: Thu Apr 12 12:37:04 2018 +0200

Implement IsTrajectory{Finished,Frozen} in cloud mapping (#1057)

commit 771336b3c9372ccf1fb539323f54910acfd15f4f
Author: Alexander Belyaev [email protected]
Date: Thu Apr 12 11:53:56 2018 +0200

Add overlapping submaps trimmer. (#1027)

Trims submaps that have less than 'min_covered_cells_count' cells not overlapped by at least 'fresh_submaps_count` submaps.

commit e2966ca1564017ff586522c1ea3b390ee501e633
Author: gaschler [email protected]
Date: Wed Apr 11 13:48:03 2018 +0200

Do not install gmock (#1047)

Fixes the issue described in https://github.com/googlecartographer/cartographer/pull/1041.

The docker file is not to be merged, it is only here to help reproducing the issue and fix.

commit 7286415e27be0b7d7c867c0bcce4084ac2e42083
Author: Alexander Belyaev [email protected]
Date: Wed Apr 11 13:15:09 2018 +0200

Remove unused variable. (#1049)

commit d1161b5f8ea120326fb38c3c316fac63393a152f
Author: jie [email protected]
Date: Wed Apr 11 00:56:22 2018 -0700

Internal cleanup (#1051)

Fix lint errors.

commit 7b0963216fb91056ba1b1db0e93ed3c49df8cd00
Author: Alexander Belyaev [email protected]
Date: Tue Apr 10 18:05:03 2018 +0200

Move FakeTrimmable implementation to internal/testing. (#1050)

* Move FakeTrimmable implementation to internal/testing.

* Address the comments.

commit 895f1d61b485c52bc41a5fb62fac541e8e2aaf7c
Author: gaschler [email protected]
Date: Tue Apr 10 15:14:59 2018 +0200

Glob only files in cartographer/ (#1048)

FIXES=#1044

commit 4351bdb3c8e93a340f619b805e2c6b1c6f94c832
Author: Michael Grupp [email protected]
Date: Tue Apr 10 14:44:43 2018 +0200

Separate global optimization constraints for local SLAM and odometry (#1029)

Implements [RFC-0018](https://github.com/googlecartographer/rfcs/blob/master/text/0018-odometry-use-in-optimization-problem.md)

commit cf358e764008afa68d0cf63a70c220396f91fb62
Author: jie [email protected]
Date: Tue Apr 10 00:43:36 2018 -0700

Internal cleanup (#1045)

Clean up the lint errors.

commit 74b35caf6ef0a61d8a11342bcd4a53239eac933f
Author: jie [email protected]
Date: Mon Apr 9 10:18:58 2018 -0700

Internal clean up. (#1042)

Add necessary headers to convenient the import to google.
Require holding mutex for some function that access the variables that guard by mutex.

commit e89625d36aebaf427d9d633c117d7a5d20e2ef14
Author: gaschler [email protected]
Date: Mon Apr 9 14:29:45 2018 +0200

Correctly use PrecomputationGridStack for 2D and 3D (#1040)

FIXES=#1038

commit b1dcb0cc5edcab0743c8c4f850412fa055c9c598
Author: Alexander Belyaev [email protected]
Date: Thu Apr 5 18:40:49 2018 +0200

Remove unused 'freeze_landmarks_' field. (#1039)

commit e26e9f172b6e358bc27c02a34ef3a6c8dfe1f46d
Author: gaschler [email protected]
Date: Wed Apr 4 15:20:10 2018 +0200

RangeDataCollator handles empty range data. (#1036)

FIXES=#1019

commit abb2661b7634082156f82724d7f83535d7835b16
Author: Alexander Belyaev [email protected]
Date: Wed Apr 4 12:50:12 2018 +0200

Allow trimmer to get nodes/constraints. (#1034)

* Allow trimmer to get nodes/constraints.

* Mark the methods const.

commit 41fc7e38cccfc184604fa245cdc3890bdd384574
Author: Alexander Belyaev [email protected]
Date: Tue Apr 3 18:56:44 2018 +0200

Rename the setters according to style-guide. (#1032)

just a nit

commit e8b0bfb2852e18acc6d73373c99a705d781d7776
Author: Christoph Schütte [email protected]
Date: Tue Apr 3 09:24:18 2018 +0200

Add last open house slides. (#1028)

commit 8c6c5845247c56c242521eeed114f46a0a9180c2
Author: Alexander Belyaev [email protected]
Date: Wed Mar 28 12:07:28 2018 +0200

Allow trimmers fetch submap data. (#1024)

commit 962393074a4418963696c9aea771db35a6a991a5
Author: Alexander Belyaev [email protected]
Date: Tue Mar 27 14:26:21 2018 +0200

New fixes for Jets. (#1023)

Issue #1015

commit 94f564d8718ee6811aae023a60dbd2f5423a48de
Author: gaschler [email protected]
Date: Tue Mar 27 12:50:35 2018 +0200

Test trimming within trajectory (#1020)

commit e0e1c081e7902e971008a0c8ddca45f2290f03b8
Author: Alexander Belyaev [email protected]
Date: Mon Mar 26 15:55:50 2018 +0200

Do not use operator*= with Jets. (#1018)

commit ae05658ff78c75e1be12c20408b1c996bb175695
Author: Juraj Oršulić [email protected]
Date: Mon Mar 26 12:23:32 2018 +0000

Work around FindGMock/Catkin target name clash (#1011)

Handle case with multiple invocations (avoid pasting ${CMAKE_THREAD_LIBS_INIT} multiple times).
Also check if target 'gmock' already exists before building GMock to avoid failures if GMock was already
find_packaged() from another subproject.

FIXES=https://github.com/googlecartographer/cartographer_ros/issues/776

commit 915ebb19a68bfb1b1ff4e8fe8e972db9e5e32000
Author: Christoph Schütte [email protected]
Date: Fri Mar 23 10:52:48 2018 +0100

Use async_grpc (#1013)

Use async_grpc

commit ab1c99ab343fc696bd8a26f073932b37c6861c26
Author: Christoph Schütte [email protected]
Date: Tue Mar 20 14:34:15 2018 +0100

Update next Cartographer Open House date. (#1008)

commit e48e21849a643d50ec5125a5f8cdb3e09b0aeb66
Author: Alexander Belyaev [email protected]
Date: Mon Mar 19 16:16:46 2018 +0100

Acquire mutex before copying landmark poses. (#1007)

commit 4cc758e83060f84a6e24bbfcf0644bf85cd9f2ad
Author: Alexander Belyaev [email protected]
Date: Mon Mar 19 15:12:47 2018 +0100

Serialize landmark observations. (#1006)

commit 7a7908ebb9c2c06cfae40c79e7f1cb91c02ff0b8
Author: gaschler [email protected]
Date: Mon Mar 19 11:43:19 2018 +0100

Test PureLocalizationTrimmer with actual pose graph (#1004)

commit b23ec8ce4ea72ff1353add2e67f2cf96c51e6c61
Author: gaschler [email protected]
Date: Mon Mar 19 10:35:35 2018 +0100

Fix PureLocalizationTrimmer (#1002)

Remove the wrong assumption that submap index is sequential from 0.

commit ee530d2423936f9de94e2b892002fb3e781508a6
Author: Juraj Oršulić [email protected]
Date: Fri Mar 16 19:12:57 2018 +0100

Purge some additional jets (#1000)

commit 1f9c78a82bc2c732dd3e371895b4c5e8f208ec6a
Author: Alexander Belyaev [email protected]
Date: Fri Mar 16 14:53:10 2018 +0100

Remove float-to-jet casts where possible. (#998)

commit 6102f374b1211a395b29b245a86cd69c8d57592b
Author: Alexander Belyaev [email protected]
Date: Fri Mar 16 13:03:57 2018 +0100

Build Ceres with C++11. (#999)

commit 06a9d3544d7a8628ddd00b0c36a4bf07d8c92529
Author: Alexander Belyaev [email protected]
Date: Fri Mar 16 12:01:55 2018 +0100

Interpolate trajectory node to compute starting point for landmarks. (#997)

[Landmarks RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit 37a68cd7f491b878f9f544e5d5f483fc5eea6c4c
Author: gaschler [email protected]
Date: Thu Mar 15 16:34:51 2018 +0100

LocalTrajectoryBuilder uses RangeDataCollator (#996)

Local SLAM accepts and unwarps time-overlapping range data from multiple sensors.

[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)
FIXES=#910

commit 55065a2108c882934963cf71cefe119c0628e0e8
Author: gaschler [email protected]
Date: Thu Mar 15 14:13:59 2018 +0100

Mockable optimization (#994)

commit bd7d7202bfdf4e889a602b2cc16af9e63583ac78
Author: gaschler [email protected]
Date: Thu Mar 15 12:31:08 2018 +0100

Filter RangeMeasurement (#995)

[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)

commit 067d01a364b065897ea7f865c8bf18e01dfe53a3
Author: gaschler [email protected]
Date: Thu Mar 15 11:44:47 2018 +0100

Test PoseGraph3D (#990)

commit ed47f9d8f8a4336e8c70708a544d51a33252280b
Author: gaschler [email protected]
Date: Thu Mar 15 11:12:26 2018 +0100

OptimizationProblemInterface (#991)

Derive optimization problems from a new OptimizationProblemInterface.
Move fix_z into OptimizationProblemOptions.
Move trivial getters to header files.
This will allow mocking the optimization problems.

commit e6c4ee4b8b6a405c9959da00dc35c198afe13207
Author: Alexander Belyaev [email protected]
Date: Thu Mar 15 10:33:02 2018 +0100

Move interpolation of poses to 'cost_helpers'. (#992)

commit 1e4d558ac4b43ce3da3865958e70fa34d8ebf45c
Author: Alexander Belyaev [email protected]
Date: Wed Mar 14 21:36:15 2018 +0100

Add landmarks to the state and deserialize them. (#988)

commit 36df3eec19ee500b80cc4c448a74f0e3ce567fd1
Author: gaschler [email protected]
Date: Wed Mar 14 14:51:40 2018 +0100

Instrument metrics in GlobalTrajectoryBuilder. (#945)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 0190e7cd99b40df7ee10cddce95950f60c7ae974
Author: Alexander Belyaev [email protected]
Date: Wed Mar 14 13:33:44 2018 +0100

Clean-up dependencies of map_builder and put getters to the header. (#989)

commit c060a15670cae13085f300d6d887e066f3e5263d
Author: Alexander Belyaev [email protected]
Date: Tue Mar 13 16:23:27 2018 +0100

Remove dead code: fast_global_localizer. (#987)

commit 4d52c466291e8798ef735867f7bf1e8c463c1e23
Author: Alexander Belyaev [email protected]
Date: Tue Mar 13 15:18:05 2018 +0100

Clean-up dependencies and move real_time_correlative_scan_matcher. (#986)

[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit c09b643d8d5f7eeaecbdfbe3152f8e337d3e2f0b
Author: Wolfgang Hess [email protected]
Date: Tue Mar 13 14:10:51 2018 +0100

Synchronize correctly in FinishTrajectory(). (#980)

PoseGraph{2D,3D}::FinishTrajectory() calls AddWorkItem() which
requires the mutex to be held. This adds code to do this.

commit 525f7afe7e2d01136080ede0bae3a8bf61d3f857
Author: Alexander Belyaev [email protected]
Date: Tue Mar 13 13:36:45 2018 +0100

Move sensor-related stuff to internal/. (#985)

[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 1187480fe6b484fedfae88de22a3cfb61760fd55
Author: gaschler [email protected]
Date: Tue Mar 13 11:08:01 2018 +0100

Introduce RangeDataCollator (#975)

Synchronizes and merge-sorts TimedPointCloudData by per-point timestamps from
multiple sensors.

[RFC=0017](https://github.com/googlecartographer/rfcs/blob/master/text/0017-synchronize-points.md)

commit 976736051c020819586537b1130a90cdfe7b38e7
Author: Alexander Belyaev [email protected]
Date: Tue Mar 13 10:21:27 2018 +0100

Move scan matchers to internal/. (#983)

commit 70c76603481512d7e948a2143dafb2d202fb5c0b
Author: Alexander Belyaev [email protected]
Date: Mon Mar 12 17:46:31 2018 +0100

Move even more stuff to internal/. (#982)

[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit bfbf29dcd67721d1b76265f37e313f88b22da2c8
Author: Alexander Belyaev [email protected]
Date: Mon Mar 12 14:00:18 2018 +0100

Move mapping/pose_graph/ to internal/. (#979)

[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 418e0964bf9492a30a9ea70f90e1d1816b13e335
Author: Alexander Belyaev [email protected]
Date: Mon Mar 12 12:42:52 2018 +0100

Move pose_graph_*d related files to internal/. (#976)

[Internal headers RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 091a4f852d5deb1261b1c4a4bc3a13a49e8efaad
Author: Juraj Oršulić [email protected]
Date: Sat Mar 10 23:50:31 2018 +0100

Update descriptions in pose_graph.h (#977)

Remove "frozen", since deserialized trajectories can be unfrozen since #891.

commit def4048e95b07edc8e30009a0bf245a43baa0798
Author: Alexander Belyaev [email protected]
Date: Fri Mar 9 16:57:58 2018 +0100

Make the cloud_uplink address empty by default. (#974)

commit 2fe1867221dbd65930617279521968b60cc8745c
Author: Alexander Belyaev [email protected]
Date: Fri Mar 9 16:26:03 2018 +0100

Fix writing the pbstream via gRPC. (#973)

commit daa35d3bc87aedcc300c22cffd6b7c3202cbebb0
Author: Alexander Belyaev [email protected]
Date: Fri Mar 9 15:24:07 2018 +0100

Move in_memory_proto_stream.* to internal. (#969)

Internal Headers RFC

commit e1109356cfef0b99ac7f4313e278ab8ca77043f6
Author: Juraj Oršulić [email protected]
Date: Fri Mar 9 10:24:19 2018 +0100

Require Ceres built against SuiteSparse (#972)

Fixes #971.

commit bb4ba8b319e0ade0a4c1a1f87b87fb95b80d241c
Author: Alexander Belyaev [email protected]
Date: Thu Mar 8 15:17:31 2018 +0100

Split local_slam_result_data.h into base and 2d/3d parts. (#967)

commit b29986f29785a1fa224df9c877338dd300a393cf
Author: Alexander Belyaev [email protected]
Date: Thu Mar 8 14:49:41 2018 +0100

Remove the pointers to the derived PoseGraph*D classes from map_builder. (#966)

commit 20a980aade4d4e0c4d60d6f0e2b593b1db4d645d
Author: Alexander Belyaev [email protected]
Date: Thu Mar 8 13:09:43 2018 +0100

Remove 'pose_graph_*d.h' from local_slam_result_data.h. (#965)

commit 256b5a6ff00313fd29b0e31f4508961e412ef111
Author: Alexander Belyaev [email protected]
Date: Thu Mar 8 11:56:42 2018 +0100

Remove '2d/probability_grid.h' include from 'submaps.h'. (#964)

commit 82a491181df91a96c04424f144716fbb1392f0d8
Author: Kevin Daun [email protected]
Date: Thu Mar 8 11:18:08 2018 +0100

Add IsTrajectoryFrozen to PoseGraph (#962)

Adds IsTrajectoryFrozen to the PoseGraph interface

commit ec078c7e1c55526ca90878d51f0b34bfb719b2c8
Author: gaschler [email protected]
Date: Thu Mar 8 10:18:28 2018 +0100

Pin gRPC version (#963)

Fixes build failure on trusty

commit 7e05daa8ca2bb4e51b3eaf449f4b6901a97a97f6
Author: Michael Grupp [email protected]
Date: Tue Mar 6 18:39:46 2018 +0100

Remove dotfiles from build files in CMakeLists.txt (#897)

Avoids including unwanted files that could appear in a developer
workspace (e.g. auto-generated files in "dot" folders).

commit f34df22a24d80f4ab8f1211d01ea7d97410d6058
Author: Alexander Belyaev [email protected]
Date: Mon Mar 5 14:55:51 2018 +0100

Update header guards. (#959)

commit cf180a0b195237b20adf3f477569cd178e2bb85f
Author: Alexander Belyaev [email protected]
Date: Mon Mar 5 14:09:04 2018 +0100

Move mapping:: related mocks to cartographer/internal/testing. (#960)

commit f76d8a8a0dd59ed7cff7a781e5d4b5b21d5c655b
Author: Alexander Belyaev [email protected]
Date: Mon Mar 5 12:41:38 2018 +0100

Move cartographer_grpc/ to cartographer/cloud. (#958)

[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)

commit 93c450bf6c8d12c5a7ca3e714b2921efc4420402
Author: Alexander Belyaev [email protected]
Date: Mon Mar 5 11:47:00 2018 +0100

Change R"PROTO raw strings to just R". (#957)

That is actually why Wally was pushing these changes to everyone: clang-format is ignoring these raw strings and does some weird formatting.

commit 61552314a0b5390faff9b1187343c6c6a544336d
Author: Alexander Belyaev [email protected]
Date: Fri Mar 2 23:21:28 2018 +0100

Rename cartographer_grpc:: namespace as cartographer::cloud::. (#955)

[Code structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

also
`cartographer_grpc::mapping::` ->  `cartographer::cloud::`.
`cartographer_grpc::sensor::` ->  `cartographer::cloud::`.

commit b79e5b8e29e20c66a5bf1fa69c4788e21796c790
Author: Alexander Belyaev [email protected]
Date: Fri Mar 2 14:16:49 2018 +0100

Move framework/, sensor/, testing/ to internal/. (#954)

[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

Added `map_builder_server_interface.h/cc` to hide `framework/*.h`.

commit b51bf3dd6d4cd90901af90b1e2b635766f913227
Author: Rodrigo Queiro [email protected]
Date: Fri Mar 2 13:32:58 2018 +0100

Fix warning about incorrect workspace name (#951)

The workspace name for prometheus-cpp has been updated to the correct
canonical name.

commit d05e5d99f41eef8daf7360411165517662cd0558
Author: Alexander Belyaev [email protected]
Date: Fri Mar 2 11:38:35 2018 +0100

Hide 'handlers' to internal/. (#952)

[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

`LocalTrajectoryUploader` implementation was hidden in the anonymous namespace in `local_trajectory_uploader.cc` to remove dependency from handlers/ in the header. The follow-up PR will include splitting the files into `local_trajectory_uploader_interface.h` & `internal/local_trajectory_uploader.*`

commit a2219cb2fc1d858be2e5f1e2f000e283b648ad7c
Author: gaschler [email protected]
Date: Fri Mar 2 10:25:23 2018 +0100

Correct comment (#948)

commit 97c039bab227db41e44af89bf6257e650c14837d
Author: Alexander Belyaev [email protected]
Date: Thu Mar 1 18:30:30 2018 +0100

Move pose_graph_stub/trajectory_builder_stub to internal. (#950)

[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

Also moved /mapping to /client. Namespace changes will follow.

commit 0156e6b8ce3132786fb49c5a19cf0a9b95455842
Author: gaschler [email protected]
Date: Wed Feb 28 16:32:40 2018 +0100

Instrument metrics in local trajectory builders. (#946)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit df1ee4bb29a0ad692d3c8b3c53b82c2a50ad959a
Author: gaschler [email protected]
Date: Wed Feb 28 14:46:26 2018 +0100

Fix metric label. (#944)

This makes metrics_test in debug mode happy.

commit c8c81dff350396fcf0c0996a389e0fc95a65858f
Author: Christoph Schütte [email protected]
Date: Wed Feb 28 12:47:19 2018 +0100

Ignore pure_localization option on server (#933)

Fixes #914

commit 363a337e67776d9762f29d762326bd2c53fb41fb
Author: gaschler [email protected]
Date: Wed Feb 28 11:12:18 2018 +0100

Re-implement VoxelFilter with unordered_set (#938)

Use hashing to filter voxels.
Handles arbitrary grid coordinates up to sizeof(int).

FIXES=#937

commit 32b8bd3581caa9c3c06de675596cfc0ae12af03b
Author: Juraj Oršulić [email protected]
Date: Tue Feb 27 20:38:57 2018 +0100

Enable loading unfrozen state (#891)

Enable loading unfrozen state

commit 29875117b373a9cced05618b2d970ad32957ab60
Author: Alexander Belyaev [email protected]
Date: Tue Feb 27 16:25:53 2018 +0100

Move internal/mapping to mapping/internal. (#941)

commit 63fd497e0f61d0523380045c7b62d90ff3401d6d
Author: gaschler [email protected]
Date: Tue Feb 27 15:28:35 2018 +0100

Document HybridGrid limits. (#939)

Adds documentation to avoid issue #937.

commit f606d4b91c605b7b239655de703c36d76b2ca83a
Author: gaschler [email protected]
Date: Mon Feb 26 18:38:00 2018 +0100

Gracefully handle time-overlapping point clouds. (#936)

Per-point relative times are usually computed by multiplying
a per-point time increment by the number of points.
So it is not uncommon for consecutive point clouds of a single
sensor to overlap in time.
When this happens, we act as if no backward jump in time happened
and warn once per input point cloud.

FIXES=#912

commit 3ebfa757efd2a23d50fb6c7e6890753a3e73d44c
Author: Alexander Belyaev [email protected]
Date: Mon Feb 26 17:40:29 2018 +0100

Move mapping_*d to mapping/*d. (#935)

[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)

commit e75e023ce25368c50efc8e4bfd99c9c7168ae044
Author: Alexander Belyaev [email protected]
Date: Mon Feb 26 14:26:41 2018 +0100

Purge 'mapping_3d::'. (#927) (#928)

[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)

commit 258aa715ba2ec0d1692998d18aea14490ab2fc0a
Author: danielsievers [email protected]
Date: Mon Feb 26 12:45:53 2018 +0100

Move GetTrajectoryData() down to PoseGraphInterface (#932)

commit ed3502909cc8999e90d77bc4db047a84400ad7e4
Author: Christoph Schütte [email protected]
Date: Mon Feb 26 10:34:56 2018 +0100

Add yesterday's slides. (#931)

commit 90994464a59dbd3bc8313ac99201fcd872937522
Author: Michael Grupp [email protected]
Date: Thu Feb 22 16:21:15 2018 +0100

Check ifstream::good() in proto_stream.cc (#929)

Check for basic stream errors before doing more involved read actions.
The log message in this case is also more descriptive than
`Check failed: reader->ReadProto(&pose_graph)`.

commit 94fce13f62424dea13a16e723fa61ffb16d5ec31
Author: Alexander Belyaev [email protected]
Date: Wed Feb 21 19:44:53 2018 +0100

Purge 'mapping_2d::'. (#927)

[Code structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

commit eabcab26ed8acdb70148f06ea940d63fdada4128
Author: gaschler [email protected]
Date: Wed Feb 21 18:52:57 2018 +0100

Expose metrics as http page. (#920)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 30114e364ab9a6c7a7f627d14d963f8c01dc11d2
Author: gaschler [email protected]
Date: Wed Feb 21 17:31:11 2018 +0100

Instrument metrics in constraint builders. (#921)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 2711f4492fb8b314e194e8d845f17c7fba4f6b23
Author: gaschler [email protected]
Date: Wed Feb 21 16:43:58 2018 +0100

Test PoseExtrapolator (#926)

commit 7d13383dec3828940c1bdcc7d8b3c901c853311a
Author: Alexander Belyaev [email protected]
Date: Wed Feb 21 14:24:12 2018 +0100

Remove 'mapping_3d' namespace. (#922) (#925)

Remove 'mapping_3d' namespace. (#922)

It is removed from everywhere but 'scan_matching', 'pose_graph'
subfolders of 'mapping_3d'.

[Code structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

commit f8dc89d8ffa158e20cfdc9a3fc89ef0bb261d4ba
Author: Alexander Belyaev [email protected]
Date: Wed Feb 21 12:41:14 2018 +0100

Remove 'mapping_2d' namespace. (#922)

It is removed from everywhere but 'scan_matching', 'pose_graph'
subfolders of 'mapping_2d'.

[Code structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

commit 96d5e2819c78e093243077f77c78b3cdc7d5b1fb
Author: Alexander Belyaev [email protected]
Date: Wed Feb 21 09:55:40 2018 +0100

Move implementation of ProbabilityGrid to .cc file. (#924)

commit ab05459f1c7fd326ee18a39e54506a0bc52bc134
Author: gaschler [email protected]
Date: Wed Feb 21 08:53:09 2018 +0100

Move GlobalTrajectoryBuilder to cc file (#923)

* Move GlobalTrajectoryBuilder to cc file.

This allows to instrument file-level static metrics.
Also, it is a cleaner interface.

* two create functions

* drop superfluous typename

commit c32cb49b0174b6af7c482e1f8f1b128ac659241d
Author: Alexander Belyaev [email protected]
Date: Tue Feb 20 16:00:01 2018 +0100

Fix gRPC loading of pbstreams. (#919)

commit a58866cb389d5ba0cb5d97473088cce736d87bbb
Author: Alexander Belyaev [email protected]
Date: Tue Feb 20 15:28:21 2018 +0100

Rename mapping_3d::PoseGraph to mapping::PoseGraph3D. (#918)

[Code structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

commit 43544f0fbc542f776cf5f7adf3df2e298bf4003e
Author: Alexander Belyaev [email protected]
Date: Mon Feb 19 20:01:29 2018 +0100

Rename mapping_2d::PoseGraph to mapping::PoseGraph2D. (#917)

[rCode structure RFC](https://github.com/pifon2a/rfcs/blob/e11bca586f8cc733063ea9c94bdade71086ed9ea/text/0000-code-structure.md)

commit a338b2e3391989ba0677ed116746af3fe8c056e6
Author: gaschler [email protected]
Date: Mon Feb 19 18:11:59 2018 +0100

Collect metrics with Prometheus C++ Client (#916)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit c38bb60407209f46c2f5d5cb599728c2c2cee93b
Author: danielsievers [email protected]
Date: Mon Feb 19 16:30:32 2018 +0100

(De)serialize trajectory data from the optimization problem (#915)

* Write/Read the trajectory data (gravity, imu calibration, and fixed frame origin) into the serialized state proto

commit 3211e759570666c34d2a149fc93bb51659dbb49a
Author: gaschler [email protected]
Date: Mon Feb 19 15:54:10 2018 +0100

Link prometheus client for grpc builds (#906)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 64bc194609b348caf73feaaeeef5188ab042d886
Author: gaschler [email protected]
Date: Mon Feb 19 14:02:54 2018 +0100

Introduce interfaces for metrics (#907)

Adds interfaces for metrics and metrics families.
Adds creation of null (noop) metrics.
Declares global register function.

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 8e27db0f0e40ae63dc2b10df965c46677e7debb3
Author: gaschler [email protected]
Date: Mon Feb 19 11:44:23 2018 +0100

Link prometheus client for bazel grpc build (#908)

RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)

commit 880b5c973b221b84874d922a8d17e6848f4973a8
Author: gaschler [email protected]
Date: Mon Feb 19 11:08:00 2018 +0100

Update README.rst (#909)

commit fb631ac9e6ead346c56ce961b804809baa258aee
Author: Juraj Oršulić [email protected]
Date: Wed Feb 14 15:39:43 2018 +0100

Landmark improvements (#901)

commit cf01184114db9f9589adbfa88e74feba748a9613
Author: gaschler [email protected]
Date: Wed Feb 14 12:38:01 2018 +0100

Fix leak in LandmarkCostFunctionTest. (#902)

commit 979354295776587d235b7fe6718026c0be3e1ea1
Author: gaschler [email protected]
Date: Wed Feb 14 12:04:52 2018 +0100

Add 3D global SLAM grpc test. (#904)

commit 244cf615f5d4a2c3be3d59d8c108d045d6d829da
Author: gaschler [email protected]
Date: Wed Feb 14 11:06:46 2018 +0100

Make clang compile without warnings. (#903)

Rule out accidental usage of integer-only ::abs.
Correct static, override and protected annotations.

commit b2581b0d5843441256d5364b98ac96cdf5c8d67f
Author: gaschler [email protected]
Date: Tue Feb 13 13:03:26 2018 +0100

Make comparison operator const. (#898)

commit 7448f93b50813440ee81536ba2b04a7e60be5113
Author: gaschler [email protected]
Date: Tue Feb 13 12:34:43 2018 +0100

Avoid auto for Eigen expressions. (#899)

While harmless in most cases, auto can delay evaluation
of expressions in unexpected ways.
So it is better to avoid auto for Eigen expressions.
https://eigen.tuxfamily.org/dox/TopicPitfalls.html

commit 2a74484be1ffdf6eab1f9f3f0defcc242a6e5a9f
Author: Christoph Schütte [email protected]
Date: Tue Feb 13 10:17:45 2018 +0100

Add slides from yesterday (#894)

commit ac79f0c034c05f4773846e78898e0e254755d245
Author: Alexander Belyaev [email protected]
Date: Mon Feb 12 13:15:16 2018 +0100

Save landmark poses after optimization run. (#896)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit b72bbb20c3fd45f972889ef2ad7dd49734027b7f
Author: Alexander Belyaev [email protected]
Date: Fri Feb 9 13:13:17 2018 +0100

Fix the size of residuals, add test for jacobians. (#895)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit ba113e4e0591d465bdbf4547441f7b826ec2f598
Author: Christoph Schütte [email protected]
Date: Thu Feb 8 10:06:27 2018 +0100

Add slides from 180125. (#893)

commit 39f140da66adf879f4121360327dedc6fdb8b83e
Author: Christoph Schütte [email protected]
Date: Wed Feb 7 16:35:44 2018 +0100

Follow googlecartographer/cartographer#859 (#892)

commit 95dbcfdf9e1b8817500e1276d3067999732e8e0f
Author: Alexander Belyaev [email protected]
Date: Wed Feb 7 10:47:39 2018 +0100

Serialize landmarks. (#889)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit 7762087edf7428870fd2716e3e7f7337a9e6fae6
Author: Alexander Belyaev [email protected]
Date: Wed Feb 7 10:14:59 2018 +0100

Fix some styling issues. (#890)

commit 58bc1ced68769db630545efb95a7721803a6b4ae
Author: Alexander Belyaev [email protected]
Date: Tue Feb 6 18:13:31 2018 +0100

Implement GetLandmarkPoses method. (#888)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit 9e977daf1d73791ebb95beb22e3a1ca515116583
Author: Christoph Schütte [email protected]
Date: Mon Feb 5 16:28:36 2018 +0100

Remove gRPC compiler invocation from Bazel build (#887)

commit b0945e4a4d658750c10e78d46849b0757edbb693
Author: Christoph Schütte [email protected]
Date: Mon Feb 5 14:50:43 2018 +0100

Implement AddTrajectoryHandlerTest. (#886)

commit 28993a8963266f1908f8f1ccc4f755afe11a71a9
Author: Alexander Belyaev [email protected]
Date: Mon Feb 5 13:23:00 2018 +0100

Use landmarks in optimization (both 2D & 3D). (#884)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit 9bebeea742696c9e9d2059fdd34bc89231f2ec2a
Author: Juraj Oršulić [email protected]
Date: Mon Feb 5 09:45:43 2018 +0100

Serialize and deserialize trajectory builder options (#859)

commit df518b80c8c2cf8cb2e1ccd25b6309373e901044
Author: Christoph Schütte [email protected]
Date: Fri Feb 2 21:04:34 2018 +0100

Remove gRPC proto compiler invocation from CMakeLists.txt (#878)

commit c212bbb698beb8ad1736f189555a6485ef996080
Author: Holger Rapp [email protected]
Date: Fri Feb 2 18:29:18 2018 +0100

Hand through intensities into the generated PLY - if they exist. (#885)

commit 655bd65abcb5a44b9a2a2b6a84b620bbc3ad6824
Author: Michael Grupp [email protected]
Date: Fri Feb 2 15:13:23 2018 +0100

Fix sphinx-build errors in evaluation.rst (#883)

Adds language arguments that are required for code blocks in newer Sphinx versions.

Resolves the missing code blocks in the HTML output.

commit 86a8944589183e492f7c002fd2c00e21e793d0d4
Author: Christoph Schütte [email protected]
Date: Fri Feb 2 01:16:14 2018 +0100

Implement tests for various data adding handlers (#881)

commit 92fa1782f383da45ddcd87aa68a1047ee4c76259
Author: Christoph Schütte [email protected]
Date: Thu Feb 1 22:31:33 2018 +0100

Implement RetryStrategies and use for AddTrajectory (#880)

commit 9eaf960936a03dd2e6035a3f11d654014bee8786
Author: gaschler [email protected]
Date: Thu Feb 1 21:58:59 2018 +0100

Configure remaining tests in bazel (#879)

commit eed51b8bb6d8618c7b66fb6bff3ad97c57c973c8
Author: Alexander Belyaev [email protected]
Date: Thu Feb 1 20:59:22 2018 +0100

Cleaning up dependencies for constraint builder & optimization problem. (#877)

commit 9ca06bd06bad8e84e0d5a49f660dcfd876a79643
Author: Michael Grupp [email protected]
Date: Thu Feb 1 18:53:43 2018 +0100

Add ground truth documentation. (#853)

See [RFC 10](https://github.com/googlecartographer/rfcs/blob/master/text/0010-document-groundtruth-features.md)

[Rendered version](https://github.com/magazino/cartographer/blob/doc-groundtruth/docs/source/evaluation.rst)

commit 302320b1a98a43afab42205fefa370f9e3d02d91
Author: Christoph Schütte [email protected]
Date: Thu Feb 1 17:19:15 2018 +0100

Use framework::Client everywhere. (#875)

This switches all gRPC method invocation to using framework::Client. After this change we can remove the gRPC proto compiler from the build files.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 8ea46857ac69ff8d0dff5c90ad3da8df4e6d1621
Author: Alexander Belyaev [email protected]
Date: Thu Feb 1 15:16:50 2018 +0100

Move cerec_pose.* to mapping/pose_graph. (#874)

commit 731bc89f229c2ddc96b6b4fa01ec67a35c2935d5
Author: gaschler [email protected]
Date: Thu Feb 1 14:34:41 2018 +0100

Move handlers to cc, use MapBuilderContextInterface (#873)

This is to avoid a circular dependency with LocalTrajectoryUploader and to clean up.

commit d195c77ebc0d1c88ffe4d9b817c83713e6b6a8e5
Author: Alexander Belyaev [email protected]
Date: Thu Feb 1 13:39:24 2018 +0100

Add a 2D landmark cost function. (#868)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit 60e9fa59fe34f582d3b94a56b979d3f282245555
Author: Christoph Schütte [email protected]
Date: Thu Feb 1 13:05:08 2018 +0100

Implement AddImuDataHandlerTest (#872)

This PR introduces first gRPC handler test that takes advantage of new RpcHandlerTestServer.

commit e735203a05ba9794345bb9875bcd63d898e15174
Author: Alexander Belyaev [email protected]
Date: Thu Feb 1 11:58:13 2018 +0100

Extend MapById::lower_bound() to support structs with 'time' field. (#871)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit eb3e63bad636ccdad325f58b9223dbf8cee9386d
Author: Christoph Schütte [email protected]
Date: Thu Feb 1 11:21:50 2018 +0100

Implement WriteMapHandler. (#851)

commit 27e8c84f2e1a7ca091a627c732bb9aa44b931531
Author: Christoph Schütte [email protected]
Date: Wed Jan 31 19:22:08 2018 +0100

Introduce MapBuilderContextInterface (#869)

commit ab890a8e159743b6f4b719a4cdd0f65ba5bb4534
Author: Alexander Belyaev [email protected]
Date: Wed Jan 31 18:40:10 2018 +0100

Move 3D landmark cost function to mapping_3d/. (#870)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit a749d28a67043aab410a9fcf1bf56777f12fdeec
Author: Christoph Schütte [email protected]
Date: Wed Jan 31 17:45:57 2018 +0100

Introduce framework::Client (#867)

Introduces a framework::Client class that makes it more convenient to call gRPC methods.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 0440761474a6deea2ae4e908b340fc0878e7a915
Author: Alexander Belyaev [email protected]
Date: Wed Jan 31 17:06:49 2018 +0100

Move slerp and scaling of error to 'cost_helpers'. (#864)

[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)

commit ad4dc3c4d328fef63678c3f4299ed87cc53d1b7b
Author: Rodrigo Queiro [email protected]
Date: Wed Jan 31 15:19:36 2018 +0100

Bazel: build with -Wno-sign-compare (#863)

This avoids warnings for code like:

```
  CHECK_EQ(local_to_cloud_trajectory_id_map_.count(local_trajectory_id), 0);
```

commit 855743cac45bfcd21f7873dba100008001c5bfa5
Author: Christoph Schütte [email protected]
Date: Wed Jan 31 14:46:59 2018 +0100

Check handler signature (#866)

commit 9aecf23a376f0eecac499989ae4cbbc41ccc7bd6
Author: Christoph Schütte [email protected]
Date: Wed Jan 31 12:26:56 2018 +0100

Simplify Handler registration. (#865)

commit 708e7fc57d6e90edb4e00115c073748fd6368ca3
Author: Alexander Belyaev [email protected]
Date: Tue Jan 30 22:12:25 2018 +0100

Add a 'cost_helpers' library. (#862)

* Add a 'cost_helpers' library.

* Change naming and add comments.

commit 93568641f9c572455a1ed42d0d12876d59beeee2
Author: Alexander Belyaev [email protected]
Date: Tue Jan 30 15:18:13 2018 +0100

Implement LandmarkCostFunction 3D. (#860)

commit a7ed7e224f98b396762c865b81b62dc3abea2e81
Author: gaschler [email protected]
Date: Mon Jan 29 14:02:33 2018 +0100

Upload LocalSlamResultData (#858)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet

commit 7d2e39af4b2645fd9e6aa28f2b87c91c372bb7f0
Author: Christoph Schütte [email protected]
Date: Mon Jan 29 12:01:17 2018 +0100

gRPC handler testing (#857)

commit 831644431911967eef3dfd5919238d5bef9d8c02
Author: Alexander Belyaev [email protected]
Date: Mon Jan 29 10:17:05 2018 +0100

Store landmark observations as LandmarkNodes in PoseGraph. (#850)

commit 49d89d07594428d377f9630f2990e99d0f24627a
Author: Christoph Schütte [email protected]
Date: Fri Jan 26 17:56:36 2018 +0100

Move mocks out of client_test.cc into testing/ folder. (#854)

commit dab69e0ca034df59773004649354150568e57e2d
Author: gaschler [email protected]
Date: Fri Jan 26 15:07:49 2018 +0100

Struct SensorId (#839)

* WIP, started unordered_set

* struct SensorId. Works for cartographer without grpc.

* correct test

* SensorId in cartographer_grpc/

* clean up

* try to fix for trusty

* SensorId::operator==

* Ran clang-format.

commit 1d2613c8e26383256657c007d8a6fdc66de7a77c
Author: Alexander Belyaev [email protected]
Date: Thu Jan 25 17:31:03 2018 +0100

Add gRPC version of RunFinalOptimization(). (#852)

commit edb18231b66b98bc6697f16056a5e4d33ea56b0c
Author: Christoph Schütte [email protected]
Date: Thu Jan 25 15:27:50 2018 +0100

 Add ProtoStreamWriterInterface and implement forwarding writer. (#849)

commit 65889f14a02b77ddb244d410bbddcc626a592492
Author: Rodrigo Queiro [email protected]
Date: Thu Jan 25 13:28:31 2018 +0100

Bazel: use cartographer_grpc_server as in CMakeLists.txt (#848)

commit 894bad397ddf723a57682ab36ebc451ced8dfb2e
Author: Alexander Belyaev [email protected]
Date: Thu Jan 25 12:10:30 2018 +0100

Rename Landmark->LandmarkObservation. (#847)

commit 37ddf9e55063fcb29a1a069a11615b32468641a1
Author: Alexander Belyaev [email protected]
Date: Thu Jan 25 09:27:42 2018 +0100

 Add gRPC version of LoadMap(). (#842)

Later they will be used in map_builder_stub and load_map_handler.

commit a103e8f93a13557ce7ab7991d0f20b76a86123a6
Author: Alexander Belyaev [email protected]
Date: Thu Jan 25 08:59:52 2018 +0100

Implement 'num_trajectory_builders' in map_builder_stub. (#845)

A huuuuuge PR.

commit aee1bc46dc26b91b8dfb5a446622fddfcc4f07ec
Author: Alexander Belyaev [email protected]
Date: Wed Jan 24 13:58:15 2018 +0100

Introduce InMemoryProtoStreamReader. (#844)

* Introduce InMemoryProtoStreamReader.

* Move inmemory*.* to in_memory*.*.

commit 52527ec6d4dab41ee96c151dd0bb9419fac18ee8
Author: Rodrigo Queiro [email protected]
Date: Wed Jan 24 13:16:25 2018 +0100

Add licenses() declarations to BUILD files (#843)

These were in some, but not all, of the existing BUILD files. They make
it easier to vendor cartographer, as Bazel complains if a BUILD file in
//third_party is missing a licenses() declaration.

commit 1ff4c00d70faea6fc0fd86dc150c792acff9721d
Author: Rodrigo Queiro [email protected]
Date: Tue Jan 23 22:00:12 2018 +0100

Fix the Bazel build when used as an external repo (#840)

Specifically, the cartographer_repositories() macro must refer to the
BUILD files contained in the cartographer workspace.

commit 8e2a01761246db4d2e91c33922ceb885994bc291
Author: Rodrigo Queiro [email protected]
Date: Tue Jan 23 21:29:41 2018 +0100

Build cartographer_grpc with Bazel (#841)

This doesn't work when cartographer is an external workspace, due to a
limitation in cc_grpc_library. However, the //cartographer target will
still work it is external, and cartographer_grpc users can vendor the
repository.

commit f1616e16ec3b779b516dc1953dabce94144d582e
Author: Christoph Schütte [email protected]
Date: Tue Jan 23 10:50:51 2018 +0100

Introduce bazel docker file (#838)

commit 43008d391d30f07c8111467098a5e6e9e9c62035
Author: Alexander Belyaev [email protected]
Date: Tue Jan 23 09:09:37 2018 +0100

Introduce a ProtoStreamReaderInterface. (#837)

* Introduce a ProtoStreamReaderInterface.

* Remove the comments from interface def.

commit 986ac28ff830d4666bce2c3096a6e143cd52e833
Author: Alexander Belyaev [email protected]
Date: Mon Jan 22 18:30:14 2018 +0100

Rename 'tranform' to 'landmark_to_tracking_transform'. (#836)

commit 6d4649857abcc9d5d26b8c050b29fd492fe3c36a
Author: Alexander Belyaev [email protected]
Date: Mon Jan 22 17:53:31 2018 +0100

Move implementation of ReadProto/WriteProto to .cc (#835)

commit 0c227097e70b8ec9aab58d4ed875d21767773605
Author: Rodrigo Queiro [email protected]
Date: Mon Jan 22 16:47:07 2018 +0100

Add a Bazel build for cartographer (#834)

This does not include cartographer_grpc, nor any of the binaries
(*_main.cc). It has been tested with Bazel 0.9.0 on Ubuntu 14.04 with
the latest (at time of writing) dazel/dazel container, by running:

```
bazel build //...
bazel test //...
```

While this is a large CL, the files under third_party are not new - they have been through internal review, and this is their open-source release. The other files come to 212 lines of code.

commit 67850d25a0fb3a958f6bd67047de35e8d8252c5e
Author: Alexander Belyaev [email protected]
Date: Mon Jan 22 14:12:14 2018 +0100

Replace templates in io/proto_stream.h with upcasting. (#833)

commit 9e30c1e0cd35bdf4783be3675063eb8d440c9add
Author: Alexander Belyaev [email protected]
Date: Fri Jan 19 17:24:30 2018 +0100

Send LandmarkData via gRPC. (#831)

* Send LandmarkData via gRPC.

[RFC PR](https://github.com/googlecartographer/rfcs/pull/18)

* Fix the nits.

commit 746c9c83c8091d75c2fd5c10c0b27a0fe904eef3
Author: Alexander Belyaev [email protected]
Date: Fri Jan 19 09:41:24 2018 +0100

Propagate LandmarksData to the PoseGraph. (#830)

Propagate LandmarkData to the PoseGraph.

commit de5937856d7e01ec100940043ffb3f01f893f503
Author: gaschler [email protected]
Date: Wed Jan 17 21:15:15 2018 +0100

Collate_by_trajectory option (#828)

Adds an option to create a MapBuilder using TrajectoryCollator
(instead of Collator).

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)

commit d92040d0e6e7e7a8fbcd46096a7fb308e134f0c9
Author: gaschler [email protected]
Date: Wed Jan 17 20:43:20 2018 +0100

Test Collator for multiple trajectories (#829)

commit 70e378b7c5d68bd87d96ab0afbc0749b2594f9f1
Author: gaschler [email protected]
Date: Wed Jan 17 17:48:20 2018 +0100

TrajectoryCollator (#827)

Introduces TrajectorCollator, which collates sensor data ignoring
other trajectories.
Tests the same.

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)

commit ffdbf1c161484cdd7fb163ff0dfacf2a2a733882
Author: Wolfgang Hess [email protected]
Date: Wed Jan 17 13:09:48 2018 +0100

Fix debug output for 3D loop closure error. (#826)

PAIR=spielawa

commit 35a9c3d63bdfa87cab6df283793e3de891ab73e9
Author: Christoph Schütte [email protected]
Date: Wed Jan 17 12:01:29 2018 +0100

Implement sensor data uploading in LocalTrajectoryUploader. (#822)

commit f64eef876ab1591ee057aaab138fd99b3c24b044
Author: gaschler [email protected]
Date: Tue Jan 16 16:21:22 2018 +0100

Optional GetBlockingTrajectoryId (#820)

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)

commit 53c2a6b58f805c5589561120d52e3cb11f0ddf5d
Author: Alexander Belyaev [email protected]
Date: Tue Jan 16 14:20:33 2018 +0100

Move 'finished' getter to the base class. (#803)

* Move 'finished' getter to the base class.

* Ran clang-format.

* Ran clang-format.

commit 712c7e3e39a20bb44d532e29973b93be6e2c8a83
Author: Christoph Schütte [email protected]
Date: Tue Jan 16 12:20:15 2018 +0100

Fix namespace of serialization functions. (#825)

commit 31ec89614c3f48a110f95067c2d262dac6372796
Author: Christoph Schütte [email protected]
Date: Tue Jan 16 11:23:29 2018 +0100

Add parameter to Submap::ToProto() to determine whether to include loop (#821)

commit 3660408ae615226fc85888e28fa0a236e72ab5fc
Author: Christoph Schütte [email protected]
Date: Tue Jan 16 10:20:51 2018 +0100

Forward declare unique_ptr (#824)

commit c053fc7a2fda0ef83f6bbbcf31980b3563afc60d
Author: Christoph Schütte [email protected]
Date: Mon Jan 15 15:31:33 2018 +0100

Implement sensor data forwarding. (#818)

commit 903e6432b9648f7dce103077e5f25788fb490247
Author: Christoph Schütte [email protected]
Date: Mon Jan 15 12:11:58 2018 +0100

Add slides from Cartographer Open House. (#819)

commit f49e798ef9583712dea79f9e7d3cf8d394082de1
Author: Christoph Schütte [email protected]
Date: Fri Jan 12 23:16:29 2018 +0100

Start DataUploader implementation, implement Add/FinishTrajectory (#811)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 057bd8ce6a5746a449df66ccf66fad0d3a559153
Author: gaschler [email protected]
Date: Fri Jan 12 21:46:47 2018 +0100

Public SpaCostFunction::Compute* (#814)

commit 19ff047a791d1abe27b044c716cd34b77ed17ab7
Author: Wolfgang Hess [email protected]
Date: Fri Jan 12 18:54:41 2018 +0100

Allow FixedRatioSampler to drop all data. (#817)

This is useful to disable loop closure by setting
constraint_builder.sampling_ratio = 0.

commit 1de696d45f0ab2c364f832b59c136aeabefc67bf
Author: Christoph Schütte [email protected]
Date: Fri Jan 12 13:55:14 2018 +0100

Introduce PoseGraphInterface::ToProto() (#813)

commit fee77c8a99e9b66c39c9196f876d8175e54661b2
Author: Christoph Schütte [email protected]
Date: Fri Jan 12 13:00:25 2018 +0100

Add LocalSlamResultData retrieval and submap management (#810)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 51ccee3e749d03e7320dd463527ea62feeb1e3fe
Author: gaschler [email protected]
Date: Thu Jan 11 16:02:03 2018 +0100

CollatorInterface (#808)

[RFC=0008](https://github.com/googlecartographer/rfcs/blob/master/text/0008-collator-interface.md)

commit 8fc64fdbb5204f375fdb3c44de9d07e42bf64b12
Author: Christoph Schütte [email protected]
Date: Thu Jan 11 14:34:56 2018 +0100

Wrap HybridGrid in unique_ptr to make Submap updatable (#809)

commit e1a182d1fa7786ebb19239fe41102eda602c6b2a
Author: Christoph Schütte [email protected]
Date: Thu Jan 11 10:19:37 2018 +0100

Implement LocalSlamResult data adding to PoseGraph. (#804)

commit d313af867406a0888879b1eaea3198e3a98ee64c
Author: Christoph Schütte [email protected]
Date: Wed Jan 10 17:26:04 2018 +0100

Add InsertionResult to LocalSlamResult. (#801)

commit c7a8c5fda90ec9fe66c2329e5324acb2a42af079
Author: Susanne Pielawa [email protected]
Date: Wed Jan 10 16:01:27 2018 +0100

Keep fixed frame across optimizations. (#807)

PAIR=wohe

commit 286d16238eabb47861ebdc305adcdfb83c76e1ab
Author: Susanne Pielawa [email protected]
Date: Wed Jan 10 14:30:51 2018 +0100

In optimization_problem, use a map instead of vector for trajectory data. (#805)

PAIR=wohe

commit 67d26747cca6f8c563899857f820063221b77972
Author: Susanne Pielawa [email protected]
Date: Tue Jan 9 17:54:53 2018 +0100

Implement assignment operator for common::optional. (#800)

Implement assignment operator for common::optional.

commit 8c7c4e3d2ad74c892cc77a3b54757bab411b90cb
Author: Christoph Schütte [email protected]
Date: Tue Jan 9 16:54:30 2018 +0100

Make LocalTrajectoryBuilder optional. (#799)

This is to prepare for the cloud-based mapping case where the robot is running cartographer in pure-localization mode and the cloud instance only solves the global problem. In that case a `LocalTrajectoryBuilder` need to be instantiated in for the cloud instance.

commit 8165da873f2b9ace0978e1431b1722deb22ada87
Author: Christoph Schütte [email protected]
Date: Tue Jan 9 14:25:28 2018 +0100

Add GetConstraints() to gRPC service. (#798)

commit bd2fbbf1a13bec5d8a7cf6e93a272fd78128c77e
Author: Christoph Schütte [email protected]
Date: Mon Jan 8 16:28:41 2018 +0100

Implement GetLocalToGlobalTransform() in gRPC service (#797)

commit d240261701a670fa9d8565cdd437803f39cf9e5e
Author: Christoph Schütte [email protected]
Date: Mon Jan 8 15:34:00 2018 +0100

 Add GetAllSubmapPoses to gRPC interface. (#791)

commit 78d05bf7452f5fd6e94b1d97619713b451b12739
Author: Christoph Schütte [email protected]
Date: Mon Jan 8 14:19:39 2018 +0100

Add GetTrajectoryNodePoses() to gRPC service (#796)

commit d57c2441b8e913ae308ff882cc386664df63bb36
Author: Christoph Schütte [email protected]
Date: Mon Jan 8 13:52:14 2018 +0100

Implement gRPC submap query. (#794)

commit 920a34a9384c651248653be750f9c9e04f5860b9
Author: gaschler [email protected]
Date: Mon Jan 8 12:42:19 2018 +0100

Fix RpcEvent lifetime (#793)

Fixes #788.

Uses two different types of events whether the event goes through the CompletionQueue or not.
CompletionQueueRpcEvent is again a member of Rpc.

commit 91034eaf58e0151e6ddb01475e2e4c413dee342b
Author: Susanne Pielawa [email protected]
Date: Mon Jan 8 11:37:07 2018 +0100

Making pose in FixedFramePoseData optional. (#792)

This is for the case that the GPS signal is not available.

commit 196b4b891cec5331a56393996505db9a7b714745
Author: Christoph Schütte [email protected]
Date: Mon Jan 8 09:13:51 2018 +0100

Add PoseGraphInterface::GetTrajectoryNodePoses() (#795)

commit 1a837ef3ab5b36963d75a267bec76c1d06332bde
Author: Christoph Schütte [email protected]
Date: Fri Jan 5 14:19:08 2018 +0100

Introduce PoseGraphInterface::GetAllSubmapPoses() (#790)

commit 63a80c9340782e8b35260b682c227320cc955885
Author: Susanne Pielawa [email protected]
Date: Fri Jan 5 11:27:21 2018 +0100

Adding a minimal implementation of std::optional. (#783)

We're using C++11, which doesn't have std::optional. We need a few
features of std::optional for improved GPS support. These are
implemented here.

commit 58d94aaa6823f8183fb444d7f430786a9d3107e2
Author: Juraj Oršulić [email protected]
Date: Fri Jan 5 10:43:56 2018 +0100

Refactor calling optimization into DispatchOptimization. (#729)

I noticed that @jihoonl opened the PR #726 which performs a similar thing. As discussed in googlecartographer/cartographer_ros#613 (@cschuet  has already taken a look), I pulled this out of #481 (a really old PR whose merging has been postponed), which is an example where re-running optimization is triggered from elsewhere as well (besides from `ComputeConstraintsForNode`). This refactoring makes libcartographer friendlier for use cases such as that one.

An important detail is that I have changed the condition in `WaitForAllComputations` to also check if the work queue is empty. If there are other things on the worker queue besides `ComputeConstraintsForNode`, currently we will wrongfully conclude that all computations are done. (This detail was merged in #754, so it's no longer in the diff of this PR).

Also missing is the same thing for 3D. I can add that when we settle on this.

Also, I suggest that `run_loop_closure` gets renamed to `run_optimization`.

commit 923d643b86daff46a609653d89849913fc1c0287
Author: gaschler [email protected]
Date: Fri Jan 5 10:18:08 2018 +0100

Fix obvious asan warnings. (#787)

Adds a few missing overrides and removes a std::move that
prevented copy elision.

commit 6125766c8164474c4edf45645e00132d2a0bcc76
Author: gaschler [email protected]
Date: Thu Jan 4 13:51:30 2018 +0100

Define default num_event_threads config. (#785)

(This was not covered by tests because they manually set it to 1.)

commit 2ad83662f22ccd8f3a664cdf72bc0c2da5c9c874
Author: Jihoon Lee [email protected]
Date: Thu Jan 4 18:52:05 2018 +0900

Migrate SubmapTexture and SubmapSlice logics from cartographer_ros (#782)

Towards [RFC06](https://github.com/googlecartographer/rfcs/blob/master/text/0006-serve-ros-map-from-pbstream.md).

Migrates
* `FillSubmapSlice` from `pbstream_to_rosmap_main.cc`
* `SubmapTexture` logics from cartographer_ros

commit 9ee65293d20a55ff1a3387cbf71364e887e541f5
Author: Juraj Oršulić [email protected]
Date: Thu Jan 4 10:11:28 2018 +0100

Pose graph: do not mark all submaps finished when finalizing a trajectory. (#784)

I think this was a mistake in #563 (@jihoonl). Not all submaps should be marked as finished, only those pertaining to the trajectory being finalized.

commit dbb3f7cde4b4a419deefc147cd20c87d6cecd2e5
Author: gaschler [email protected]
Date: Wed Jan 3 14:56:56 2018 +0100

Test TrajectoryBuilderStub (#780)

commit 269bf5b05a401602547acdb338f9ac7c79d74c2d
Author: gaschler [email protected]
Date: Wed Dec 20 16:08:27 2017 +0100

Log output for failed tests (#781)

commit 18cb9c324f072b38b3819ab18798d06d96dda797
Author: Christoph Schütte [email protected]
Date: Wed Dec 20 14:40:33 2017 +0100

Make CMakeLists.txt install gRPC service headers. (#779)

commit c881fe90cf82dc530ced1772c32e6e92b2520c4c
Author: gaschler [email protected]
Date: Wed Dec 20 12:42:27 2017 +0100

Stub receives LocalSlamResults. (#778)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet

commit f5e99089a94210e6cf7b2ad632b848bb344663db
Author: gaschler [email protected]
Date: Wed Dec 20 11:42:01 2017 +0100

Notify LocalSlamResults subscription ends. (#777)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet

commit 5b5b290e9f64ba4c41f360348248cc7d93aaec26
Author: Christoph Schütte [email protected]
Date: Wed Dec 20 10:22:53 2017 +0100

Implement BlockingQueue::WaitUntilEmpty(). (#775)

PAIR=gaschler

commit e0faf7094eb937bf236637104db62f97fb3f2217
Author: Christoph Schütte [email protected]
Date: Wed Dec 20 09:46:54 2017 +0100

Change MapBuilderServer::LocalSlamSubscriptionCallback (#776)

PAIR=gaschler

commit 383b988548cf87aa1774f73eb32f57ac54aab3e9
Author: gaschler [email protected]
Date: Tue Dec 19 15:49:56 2017 +0100

TrajectoryBuilderStub sends WritesDone (#774)

This is required to close the connection, otherwise the server
cannot shutdown.

commit 02734c296d59e2320cf82aaa549eb928fcf58592
Author: Christoph Schütte [email protected]
Date: Tue Dec 19 15:11:29 2017 +0100

Implement ReceiveLocalSlamResultsHandler. (#772)

commit 5fbc4ca568a181a22db9701632b001879ac86125
Author: gaschler [email protected]
Date: Tue Dec 19 14:36:25 2017 +0100

Test gRPC client/server (#773)

Adds an integration test and a test with a mock MapBuilderInterface to cover client/server communication.

commit dea6c3d7ce464fd0b3405611b32e929e3fc5d386
Author: Christoph Schütte [email protected]
Date: Tue Dec 19 10:27:30 2017 +0100

Implement server-streaming RPCs and add unittest (#768)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit c79425cbb0a2c2b78da06c050294efc912312aa7
Author: Christoph Schütte [email protected]
Date: Mon Dec 18 21:27:03 2017 +0100

Implement RpcHandler::GetWriter and add unittest (#767)

commit def442b9dbb66153055fcd87e4326c40de09ae44
Author: gaschler [email protected]
Date: Mon Dec 18 20:47:00 2017 +0100

Make MapBuilderServer testable (#771)

Pass MapBuilder to the constructor so the MapBuilder can be mocked.

commit 5bb81a9b4ad8bca009b4b86b24fa08de311e63fa
Author: gaschler [email protected]
Date: Mon Dec 18 17:12:29 2017 +0100

correct MapBuilderStub (#770)

Context: The `::grpc::ClientContext` represents a single RPC on the client side. Therefore it is illegal to share the same context between two different RPC invocations.

commit 03751b3c9f2b24848141b6316fb09da42a008d60
Author: Christoph Schütte [email protected]
Date: Mon Dec 18 16:32:34 2017 +0100

Implement local SLAM subscriptions in MapBuilderServer (#766)

commit db0d5bc746b15695937598b07c7dff6cac4130bf
Author: gaschler [email protected]
Date: Mon Dec 18 15:57:49 2017 +0100

correct PoseGraphStub (#769)

commit ba7d375a25cf825edbd100436acf6bd7d24c575f
Author: Christoph Schütte [email protected]
Date: Mon Dec 18 13:36:44 2017 +0100

Refactor Write()/Finish() and make thread-safe. (#760)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit c6decd5b7b26288792ea90d8e0e741b7f942ffc6
Author: gaschler [email protected]
Date: Mon Dec 18 11:52:17 2017 +0100

Test MapBuilderServer (#762)

Test to start and stop the MapBuilderServer.
Moves test helper functions in common with MapBuilderTest
to internal/mapping.

commit 89b49dfefb8611c655065345d318b05fa7b967f5
Author: gaschler [email protected]
Date: Mon Dec 18 11:24:16 2017 +0100

TrajectoryBuilderStub implementation (#764)

commit 3fbc642a897f78e6b16a36bdbf74246dea305101
Author: gaschler [email protected]
Date: Mon Dec 18 10:02:57 2017 +0100

PopWithTimeout for sensor data queue (#763)

PopWithTimeout is necessary to ensure the SLAM thread
in the MapBuilderServer finishes when the server is
shut down.

commit d49706944ffcfa2e7d91137475465f067006a4e4
Author: gaschler [email protected]
Date: Fri Dec 15 15:26:58 2017 +0100

FixedFramePoseData in gRPC server (#761)

Defines the FixedFramePoseData RPC and implements
the handler for the gRPC server.

commit 6817d2278840d27c4279c2e88ce43a60d042b54b
Author: gaschler [email protected]
Date: Fri Dec 15 14:45:56 2017 +0100

Test global 2D SLAM. (#751)

commit 69f74a11ba7bd791c239d1c205af654926f95f08
Author: Christoph Schütte [email protected]
Date: Fri Dec 15 12:21:44 2017 +0100

Implement EventQueues. (#759)

commit e023ec5eccfe4935a54661403a9f2d585bd9d4da
Author: Christoph Schütte [email protected]
Date: Thu Dec 14 16:30:01 2017 +0100

In RpcEvent use std::weak_ptr rather than Rpc* (#757)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 29e4395a5aa415e81a77807cdcac8b8da4be2a0e
Author: Juraj Oršulić [email protected]
Date: Thu Dec 14 10:02:54 2017 +0100

Make WaitForAllComputation wait for work queue in 3D as well (#758)

Repeat the change in #754 by @gaschler for 3D as well.

commit f8452821d7480bf636efa3a56225a9d8f0dcbe84
Author: gaschler [email protected]
Date: Wed Dec 13 18:49:22 2017 +0100

WaitForAllComputation waits for work queue (#754)

commit 59d1b968bc8650a28fe78ce5f17497733a57d68e
Author: gaschler [email protected]
Date: Wed Dec 13 18:29:42 2017 +0100

Unwarp by point in LocalTrajectoryBuilder. (#636)

commit e16d1b12076922f65b0ff589f0377a841175caa3
Author: Christoph Schütte [email protected]
Date: Wed Dec 13 18:01:01 2017 +0100

Heap-allocate RpcEvents. (#756)

Replace Rpc's RpcEvent members with heap-allocated RpcEvents.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 69787f288f93a9205dc33ee6834d5b5dbbbe8923
Author: Christoph Schütte [email protected]
Date: Wed Dec 13 15:53:47 2017 +0100

Introduce skeletons for various stubs. (#752)

Adds skeletons for

* MapBuilderStub
* PoseGraphStub
* TrajectoryBuilderStub

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 636f3bbc2fd48ee400acdfb7cb2dbf791bee0a3f
Author: Christoph Schütte [email protected]
Date: Wed Dec 13 14:51:50 2017 +0100

Add slides from 171207. (#753)

commit bf77b11645b9d98094da133e9d9ca729ea35da5c
Author: Christoph Schütte [email protected]
Date: Tue Dec 12 22:36:44 2017 +0100

Implement gRPC data handlers and SLAM thread. (#749)

commit e596b75113600f700f055d0a11b7b4157dd7cca0
Author: Christoph Schütte [email protected]
Date: Mon Dec 11 19:09:52 2017 +0100

Add binary for cartographer_grpc_server. (#747)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit c5ec086968f9e157fb11d618d6af119507b02a14
Author: Christoph Schütte [email protected]
Date: Fri Dec 8 19:28:47 2017 +0100

Introduce TimedPointCloudData. (#748)

This data structure is needed to forward RangeFinderData over gRPC.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 3ae78563c600827700254ff994b9f574f8c28384
Author: Christoph Schütte [email protected]
Date: Fri Dec 8 11:52:29 2017 +0100

Introduce TrajectoryBuilderInterface. (#736)

[RFC=0004](https://github.com/googlecartographer/rfcs/blob/master/text/0004-trajectory-builder-interface.md)

commit 96cdbde5bf8f27f26e399d8d70200b77190eca90
Author: Christoph Schütte [email protected]
Date: Fri Dec 8 11:13:48 2017 +0100

Introduce PoseGraphInterface. (#744)

[RFC=0005](https://github.com/googlecartographer/rfcs/blob/master/text/0005-pose-graph-interface.md)

commit 549eef0000d149f59889f7e9349400f6e12969b9
Author: gaschler [email protected]
Date: Thu Dec 7 21:17:30 2017 +0100

Correct namespace (#742)

commit 3b5a72eebce0c83e057c84984e0f05ea8e490173
Author: gaschler [email protected]
Date: Thu Dec 7 15:26:10 2017 +0100

Script for address sanitizer tests (#745)

commit 176fc42c3febb941c4253d830e413845c9ad03be
Author: Michael Grupp [email protected]
Date: Thu Dec 7 08:53:04 2017 +0100

 Remove empty leftover of pose_estimate.h (#740)

Follow-up of #670.

commit 5c694adf933fc5482b68947ecf6d0cca829eed08
Author: gaschler [email protected]
Date: Wed Dec 6 20:34:07 2017 +0100

Correct cmake install (#739)

Simplify how file lists are collected depending on options.
Omits gRPC headers if they were not built.

commit 2a7a6ef93489ebf9a803203ffb36591d4f93a863
Author: Christoph Schütte [email protected]
Date: Wed Dec 6 16:36:36 2017 +0100

Make sensor::Data dispatchable to TrajectoryBuilder. (#738)

This change allows to dispatch sensor::Data to implementations of mapping::TrajectoryBuilder, i.e. CollatedTrajectoryBuilder. We need this for cartographer_grpc as the incoming sensor data is inserted into a queue by the gRPC threads and dequeued by a SLAM threads that inserts them into a CollatedTrajectoryBuilder.

commit 4c999037b4f9ed66ed1241ab21dccba969e6e73f
Author: gaschler [email protected]
Date: Wed Dec 6 15:58:16 2017 +0100

Integration tests for local slam. (#734)

commit ded778cd34d1c52de9102e9aac9bbfe469c9f2ed
Author: Christoph Schütte [email protected]
Date: Tue Dec 5 16:36:54 2017 +0100

Implementation of Add/FinishTrajectoryHandler. (#732)

commit 697be9a77bc3bee7e94bab7e2d75651fdb197185
Author: Christoph Schütte [email protected]
Date: Tue Dec 5 14:46:25 2017 +0100

Add MappingServer skeleton. (#730)

commit 49d55d97c13f47cab231457c480f8c14bbaf33d3
Author: gaschler [email protected]
Date: Tue Dec 5 14:04:10 2017 +0100

Test MapBuilder (#731)

commit b77a1f217818db036c5dd4acdc346da2e3a632b5
Author: gaschler [email protected]
Date: Tue Dec 5 11:05:05 2017 +0100

Remove implementation from TrajectoryBuilder. (#728)

To simplify the implementation of a gRPC-based trajectory builder,
this moves the existing implementation to CollatedTrajectoryBuilder
and organizes the interface by sensor type.

commit ee9c61a7369e3a4f24bbbb72745e37c690f28587
Author: gaschler [email protected]
Date: Mon Dec 4 22:41:38 2017 +0100

Move LocalSlamResultCallback to AddTrajectory (#724)

commit 0315acf050f2542fe15c6967681721b5d90e9df3
Author: Christoph Schütte [email protected]
Date: Mon Dec 4 20:08:31 2017 +0100

Add Slides for Cartographer open house X (#725)

commit e9500623673756b35ca63642e3465b1d0ff140a0
Author: Christoph Schütte [email protected]
Date: Mon Dec 4 17:30:42 2017 +0100

Add Cartographer service proto. (#723)

commit 32a8364b9855501312a821dbf98431ff3c9e2d31
Author: Christoph Schütte [email protected]
Date: Mon Dec 4 15:28:19 2017 +0100

Implement bi-directional streaming RPCs. (#720)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 1ff8243802ec72e1e63818b70daca5332cc8dab5
Author: gaschler [email protected]
Date: Fri Dec 1 09:25:15 2017 +0100

Test RotationDeltaCostFunctor (#721)

commit 63e901d2767c1c1815065790895b2cfcb962b764
Author: gaschler [email protected]
Date: Thu Nov 30 15:41:57 2017 +0100

 Create AutoDiffCostFunction in cost functions. (#718)

Creating a ceres::AutoDiffCostFunction requires specifying numbers
of residuals and variables, so it is safer to implement this within
the cost functions, which know best.

commit 85bfb888ebdcdb7837934c5bece31c8c8f7f1b5b
Author: gaschler [email protected]
Date: Thu Nov 30 14:41:48 2017 +0100

 Interface for MapBuilder (#715)

Defines an interface for MapBuilder that can be used to implement a gRPC stub.
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 5147af97631bfdc9282ff4fbcca02dd2bc1eb9dd
Author: Christoph Schütte [email protected]
Date: Thu Nov 30 13:18:16 2017 +0100

Implement unary gRPC calls. (#719)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 24f253a2aa792d1d6cc12eb2cf2c2407403dba41
Author: gaschler [email protected]
Date: Thu Nov 30 12:04:14 2017 +0100

Remove GetBlockingTrajectoryId (#714)

commit 999820d845ddb198042faf96d409e440b3a7052e
Author: Christoph Schütte [email protected]
Date: Wed Nov 29 14:05:31 2017 +0100

Implement shared ExecutionContext for handlers. (#716)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 3a46804393a2372cc54074adadf550a74ab71e77
Author: Christoph Schütte [email protected]
Date: Wed Nov 29 10:40:26 2017 +0100

Implement end-to-end client streaming RPC. (#713)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 02359a98ae2f9d36d2e50731a3a8b090d15d5397
Author: Christoph Schütte [email protected]
Date: Tue Nov 28 10:50:30 2017 +0100

Implement connection establishment and server startup and shutdown. (#712)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 88805a301d11e6e711bfcaa8817182a1b708f136
Author: Jihoon Lee [email protected]
Date: Tue Nov 28 10:21:55 2017 +0100

Trim all submaps when pure localization trajectory is finished. (#563)

Fixes #560
based on #562

commit bebe021b048549314970ef4692effd97ebf43751
Author: Juraj Oršulić [email protected]
Date: Tue Nov 28 09:44:35 2017 +0100

Serialize fixed frame pose data. (#689)

Similar to #666 and #548.

commit 1c7183d5c4e6ef553d55d6bc7cf4c66a8108b56c
Author: gaschler [email protected]
Date: Mon Nov 27 15:12:07 2017 +0100

VoxelFilter for TimedPointCloud, Filter method. (#710)

This makes the VoxelFilter ready for TimedPointCloud and
per-point unwarping.

commit c292d76f861f405f7cd53d6f4444cf648e481d73
Author: gaschler [email protected]
Date: Mon Nov 27 14:46:32 2017 +0100

Test ImuTracker  (#711)

Adds unit tests for ImuTracker to cover filtering of the gravity
vector and tracking angular velocity.

commit cd289bbcee86d8b4a2373de4f8c258a9c9a0ab5a
Author: Christoph Schütte [email protected]
Date: Fri Nov 24 23:41:58 2017 +0100

Introduce RPC class and start wiring up in Service (#701)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit f6a7dfd07bed45d0b57665bd2064d30a00353bcc
Author: Christoph Schütte [email protected]
Date: Fri Nov 24 22:08:51 2017 +0100

Update Travis Docker file for Trusty to build gRPC code (#709)

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)

commit 7e82ac3bbf37b6cd7dd13b1266e111701c4c00e9
Author: Wolfgang Hess [email protected]
Date: Fri Nov 24 15:29:48 2017 +0100

Make IMU cost functions internal. (#708)

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 79b83b92b2d2a66b8311534f05cd8dfdf7a9d19e
Author: Wolfgang Hess [email protected]
Date: Fri Nov 24 14:01:07 2017 +0100

Make the MotionFilter internal. (#707)

Also moves it from mapping_3d to mapping since it is used
in both 2D and 3D SLAM.

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 0084f14c1ce34c45274f154c9c24e73a1dff1ff5
Author: gaschler [email protected]
Date: Fri Nov 24 12:26:14 2017 +0100

CeresScanMatcher target_translation (#702)

For its translation cost function, CeresScanMatcher now takes
a target translation as an argument instead of a pose, which
was confusing.

commit 0819e52a9c96889de0ebad343143cc3344381ace
Author: Wolfgang Hess [email protected]
Date: Fri Nov 24 10:39:12 2017 +0100

Make the LocalTrajectoryBuilders internal. (#704)

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 8e6101de5c8f86e8e8ac3ac8e12ac4f938fbe50f
Author: Wolfgang Hess [email protected]
Date: Thu Nov 23 18:04:36 2017 +0100

Make the OccupiedSpaceCostFunction internal. (#703)

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 70a0f4136417396732cff319684cda210b02b39e
Author: Wolfgang Hess [email protected]
Date: Thu Nov 23 16:39:55 2017 +0100

Remove unused code. (#699)

commit 9bfc52d878f29e060dcf63eaf5a6a142a82303b5
Author: gaschler [email protected]
Date: Thu Nov 23 16:04:49 2017 +0100

Rename arguments of CostFunctors to target_ (#700)

Rename constant targets of cost functors to target_*.
Pass only translation to Translation cost functors.

commit 38eeb17164b86eda2ab060cfb08840f148924587
Author: Christoph Schütte [email protected]
Date: Thu Nov 23 15:37:30 2017 +0100

Introduce gRPC server, service and rpc handlers (#692)

commit ec034b13bc1ec1189781ae459efa8f2f9677fb3d
Author: Wolfgang Hess [email protected]
Date: Thu Nov 23 14:47:29 2017 +0100

Do not install global_trajectory_builder.h. (#698)

This moves the global_trajectory_builder.h header under
cartographer/internal and changes the CMakeLists.txt to
not install internal headers.

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)

commit 8f9f1cf44eaeb860f845c8df80c2044e4ede9a79
Author: Juraj Oršulić [email protected]
Date: Thu Nov 23 14:20:01 2017 +0100

Fix debug build (#697)

Similar to #418.

commit 147c8166b68e5debd399fa0d69f04286f77bc2be
Author: gaschler [email protected]
Date: Thu Nov 23 13:50:44 2017 +0100

ImuTracker uses conjugate. (#693)

Normalized quaternions can be inverted with conjugate, which is faster.
The motivation for optimizing ImuTracker::Advance is that
per-point unwarping will call this for every point.

commit a8bd98680eefb493d7450fdae238a76dfe10b330
Author: gaschler [email protected]
Date: Thu Nov 23 12:27:26 2017 +0100

ExtrapolatePose uses fewer transforms. (#694)

ExtrapolatePose avoids conversion to Rigid3d and computes translation
and rotation directly, which is faster.
Per-point unwarping will call this function for every point, so we
optimize it.

commit 41bb8be0fb889925865badc2835a3041621add98
Author: Christoph Schütte [email protected]
Date: Thu Nov 23 10:27:08 2017 +0100

Prepare 0.3.0 release (#696)

commit c233aaaac8617b9be563c3f43a3ef1c6bfe4f1a1
Author: Christoph Schütte [email protected]
Date: Wed Nov 22 16:29:01 2017 +0100

Update CMakeLists.txt to preprare for gRPC deps. (#691)

commit 31f28b509746a1ea9dec417187acc26e7ca5f5ff
Author: Juraj Oršulić [email protected]
Date: Fri Nov 17 16:47:06 2017 +0100

Remove PoseEstimate. (#670)

Replaces #620.

Depends on switching `cartographer_ros` to use the new callback API for handling the last scan and pose estimate (googlecartographer/cartographer_ros#594).

commit aba4575d937df4c9697f61529200c084f2562584
Author: Wolfgang Hess [email protected]
Date: Fri Nov 17 13:13:45 2017 +0100

Rename 'submap_transforms' to follow terminology. (#688)

https://google-cartographer.readthedocs.io/en/latest/terminology.html

Related to #602.

commit b91ff8fe44daceb64e8b0bc6a702e79b6efdde4a
Author: Christoph Schütte [email protected]
Date: Fri Nov 17 12:27:31 2017 +0100

Extrapolate poses for ground truth relations. (#687)

commit 055728af934fdcf1e4b209aac77621a815d937cb
Author: Wolfgang Hess [email protected]
Date: Fri Nov 17 10:52:22 2017 +0100

Rename options for consistency. (#686)

"scan" is better named "node" if it refers to a node in global SLAM.

"penalty factor" is renamed "weight" for consistency with other similar options.

"scans_per_accumulation" is renamed "num_accumulated_range_data" to match the code and since the accumulated data is not called "scan".

commit 5ee830e8cc98f93010bee01cda64e53225663aa2
Author: Holger Rapp [email protected]
Date: Thu Nov 16 17:05:18 2017 +0100

Cleanup and new features in Image code. (#685)

- Removes stride_, since we know for a fact that it is always width * 4.
- Adds a constructor from a cairo surface.
- Adds a function that rotates the image by 90 degrees.

This is in preparation of adding a tool that can generate an image from a .pbstream.

commit 0b4e7a9443f136e5de5ca588cbd1d25d34c7f9b8
Author: Holger Rapp [email protected]
Date: Thu Nov 16 15:07:05 2017 +0100

Refactor image related code. (#684)

- Take immutable parameter as const ref instead of pointer.
- make kCairoFormat a global constant, since it is defined in many places in cartographer and cartographer_ros, but we rely on it actually always being the same value.

commit b9015f33a775bfbe61c695737a3eb73dd9723b32
Author: gaschler [email protected]
Date: Thu Nov 16 13:35:44 2017 +0100

Filter early in AddRangeData. (#681)

Filter earlier in 3D.
Combine two transforms to one in 2D.

commit 16d62f45f0e77db7c3b49276808725f3a06bcbf4
Author: Wolfgang Hess [email protected]
Date: Thu Nov 16 11:48:25 2017 +0100

Rename sparse_pose_graph options. (#682)

The default pose graph configuration is now included as "pose_graph.lua"
and available as POSE_GRAPH.

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit a08a370ef32d3999d0066f4177aee39499d6aa3f
Author: jie [email protected]
Date: Thu Nov 16 00:56:01 2017 -0800

Check if filtered point clouds are empty. (#664)

The point cloud will be filtered by MaxRangeFilter before doing scan matching. For some special cases, the filtered point cloud maybe empty, it will cause crash:
real_time_correlative_scan_matcher.cc:159 Check failed: candidate.score > 0.f (nan vs. 0)
This PR fixed this bug, check the point cloud size before scan matching, return false for empty point cloud.

commit b2e948d8a23da0cd9cb93c785865fac001253bec
Author: Tobias Ulvgård [email protected]
Date: Thu Nov 16 09:16:34 2017 +0100

Fix typo in CMake install script (#683)

Fixes a typo in CMake scripts when installing generated header files.

commit bdca2095c010c32777c734f4aad79084e9985f43
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 14:58:49 2017 +0100

Rename proto::SparsePoseGraph. (#680)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit c866707013eae921836bbb33da56662be36bbd75
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 14:17:33 2017 +0100

Fix the configuration documentation script. (#679)

Fixes #652.
Now also includes documentation for one option that was "repeated"
and not "optional".

commit c25379cd200ef0c77f758c6f242ba9c3dde3dda1
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 13:50:18 2017 +0100

Rename mapping_{2,3}d::SparsePoseGraph. (#678)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit 8c114d6eaf4044bee836c7052471037f3d2a2cea
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 12:06:19 2017 +0100

Rename mapping::SparsePoseGraph. (#677)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit 36b9cf7f9a4609bb743d16329932d53dd31078a0
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 11:30:35 2017 +0100

Move the mapping_3d/sparse_pose_graph directory. (#676)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit 26db9d62105f0273a97992eeabeabb03de570dc7
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 10:52:06 2017 +0100

Move the mapping_2d/sparse_pose_graph directory. (#675)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit f6192e4735969ad2e6fa0fc2964f924da47b066d
Author: catskul [email protected]
Date: Wed Nov 15 04:17:59 2017 -0500

replace implicit use of cartographer::string with explicit use of std::string (#673)

Fixes #622.

commit 291c0f581b51a3cf2dff8467d0dbebff0ed7b696
Author: Wolfgang Hess [email protected]
Date: Wed Nov 15 09:39:45 2017 +0100

Move the mapping/sparse_pose_graph directory. (#669)

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)

commit 7904808d40b7b3238f067005d0e842ce5b00ddf7
Author: gaschler [email protected]
Date: Wed Nov 15 09:15:02 2017 +0100

Reduce transforms in LocalTrajectoryBuilder. (#668)

This speeds up AddRangeData because we avoid one copy and loop over all points.

commit 8c9fac4c694149001ab36c54f3c07e9fd7eeb528
Author: catskul [email protected]
Date: Wed Nov 15 02:49:33 2017 -0500

#671 switch ordering of args in find_package for Protobuf (#672)

per #671

commit 818e5e1a4400c3b5131cccbcbc03f926fb5cc6b7
Author: Juraj Oršulić [email protected]
Date: Tue Nov 14 17:19:14 2017 +0100

Add local SLAM result callback. (#574)

Depends on ~~#619~~ (merged) and ~~#617~~ (merged).
Related to #508.

Also, if cartographer_ros is going to use this, and we wish to serialize the saved range data, that will have to be handled in cartographer_ros, right?

commit a4c0e4754e99e461e2497b05f234839b181fc3cc
Author: Wolfgang Hess [email protected]
Date: Tue Nov 14 16:53:31 2017 +0100

Rename scan to node. (#667)

Changes the naming from "scan" to "node" in the pose graph.
AddNode() adds a new node to the graph which might contain
data from multiple range sensors and not necessarily one scan.

Configuration and documentation changes might follow in a
separate PR.

Related to #280.

commit 4b342eddd02559f4b0499938c6fe5cc244514fd8
Author: Juraj Oršulić [email protected]
Date: Tue Nov 14 16:18:07 2017 +0100

Miscellaneous: rename odometer->odometry (#665)

Since we're adding `sensor::OdometryData`, I think that the function should be called `AddOdometryData`.

commit 5496cbdc0c70b09818e9ac3c047b69a23272649d
Author: Juraj Oršulić [email protected]
Date: Tue Nov 14 15:18:39 2017 +0100

Serialize odometry data (#666)

Replaces #550.

commit a7680f60d47725f59b210a34b67b36b683a652ff
Author: Holger Rapp [email protected]
Date: Tue Nov 14 14:41:48 2017 +0100

Updated PR template taking wally into account. (#663)

commit 60c72cb445f91f3a9300c4f12533cd3ec081242f
Author: Juraj Oršulić [email protected]
Date: Tue Nov 14 13:26:53 2017 +0100

Deserialize trajectory connectivity (#552)

commit 3ec583a3278613a19b36af0eacd5f00614ec84fd
Author: Wolfgang Hess [email protected]
Date: Mon Nov 13 17:41:04 2017 +0100

Change fixed_frame_pose_data_ to MapByTime. (#662)

commit fd5003b69b14f89b7d9a3865597aaf1c79dfab2b
Author: gaschler [email protected]
Date: Mon Nov 13 14:19:15 2017 +0100

Omit odometry penalty within frozen trajectory. (#661)

In the case of pure localization, this reduces the size of the optimization problem by a large factor.

commit 4a8607810e4dc524af6844951194af3fe2b1f793
Author: Wolfgang Hess [email protected]
Date: Mon Nov 13 13:21:53 2017 +0100

Change odometry_data_ to MapByTime. (#655)

commit d183ab737a20db7571e39acfcddbe748429b14f1
Author: damienrg [email protected]
Date: Mon Nov 13 10:18:58 2017 +0100

Fix mismatched tag warning for MapByIndex (#658)

- [ X] Keep your PR rebased to master.
- [ X] Keep your PR under 200 lines of code and address a single concern.
- [ X] Add unit test(s) and documentation (these do not count toward your 200 lines).
- [ X] Adhere to the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html).
- [ X] Run `clang-format -style=Google` on your code (this alone is not enough to ensure you've followed the style guide).
- [ X] Run `ninja test` or `catkin_make_isolated --install --use-ninja --pkg cartographer --make-args test` as appropriate.

commit a9da74496a1b7a3e56f92fb87f9db47daf2838b3
Author: damienrg [email protected]
Date: Mon Nov 13 09:44:12 2017 +0100

Fix unused lambda capture warning (#659)

- [ X] Keep your PR rebased to master.
- [ X] Keep your PR under 200 lines of code and address a single concern.
- [ X] Add unit test(s) and documentation (these do not count toward your 200 lines).
- [ X] Adhere to the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html).
- [ X] Run `clang-format -style=Google` on your code (this alone is not enough to ensure you've followed the style guide).
- [ X] Run `ninja test` or `catkin_make_isolated --install --use-ninja --pkg cartographer --make-args test` as appropriate.

commit 6e274766f2acdb6df13871ebd1c37254e27adc57
Author: Christoph Schütte [email protected]
Date: Mon Nov 13 09:18:53 2017 +0100

Remove unnecessary [packed=true] annotation (#660)

[RFC=0000](https://github.com/googlecartographer/rfcs/blob/master/text/0000-proto3-transition.md)

commit 53471359f8ddaf2501ec900d241454baaa5788cb
Author: Christoph Schütte [email protected]
Date: Mon Nov 13 08:26:35 2017 +0100

Convert all .proto files to proto3 syntax. (#653)

[RFC=0000](https://github.com/googlecartographer/rfcs/blob/master/text/0000-proto3-transition.md)

commit ed71914805b8a51f4b7b01abb40656a5f41a4f44
Author: jie [email protected]
Date: Fri Nov 10 08:21:20 2017 -0800

Add MutexLocker to ConnectedComponents::GetComponent and SparsePoseGr… (#565)

…aph::TrimmingHandle::MarkSubmapAsTrimmed

To make them compile successfully in google.

commit 752a2790354add5747c816185fa2ca7aa8199121
Author: Christoph Schütte [email protected]
Date: Fri Nov 10 16:56:35 2017 +0100

Adds slides from Cartographer Open House IX (#654)

commit 0de177d207420bb2be113eeadd5d1d0aa7526465
Author: Damon Kohler [email protected]
Date: Fri Nov 10 16:29:38 2017 +0100

Adds PR template text. (#609)

commit eb4415d17d9d6395b8586bf85d7f4683928c5840
Author: Juraj Oršulić [email protected]
Date: Fri Nov 10 14:49:41 2017 +0100

Introduce MatchingResult for LocalTrajectoryBuilder::AddRangeData. (#619)

In preparation for #574. Depends on ~~#618~~ (merged) and ~~#617~~ (merged).

commit 5363285b8f3938dabfb2d0d911aef1ad7c6c5fc3
Author: Holger Rapp [email protected]
Date: Fri Nov 10 12:55:43 2017 +0100

CMake bug fixes and performance improvements. (#648)

- Pin versions of Ceres and protobuf (Fixes #341).
- Require Lua >= 5.2 (Fixes #629).
- No longer run ceres tests in CI. We implicitly test Ceres through Cartographer's tests and this saves ~4 minutes on CI.

commit e29fc9787ac033b099acfadd75293b6acd587f32
Author: Holger Rapp [email protected]
Date: Fri Nov 10 11:16:44 2017 +0100

New proto compiler (#644)

Also change Dockerfiles to build proto3 from HEAD.

PAIR=@cschuet

commit 028391357d4d5fc680bd2eeadf6ff9723973ff57
Author: Jihoon Lee [email protected]
Date: Thu Nov 9 17:19:29 2017 +0100

Add OccupancyGridState and SubmapState in cartographer/io (#638)

replaces #599
related to googlecartographer/cartographer_ros#510

commit 418819a9efae629fa2abac67d735eebdea2b7b88
Author: Wolfgang Hess [email protected]
Date: Thu Nov 9 16:40:21 2017 +0100

Use 'global_pose' terminology for submaps. (#645)

Use 'global_pose' terminology for submaps.

This follows #624.

commit 6eaf0f344dd0d36a94a678eddb73d39557487b53
Author: gaschler [email protected]
Date: Thu Nov 9 16:08:16 2017 +0100

FastCorrelativeScanMatcher outputs unique_ptr. (#643)

commit e21fc9f25353601c0b317611913c2046d3d6a9c8
Author: Juraj Oršulić [email protected]
Date: Thu Nov 9 15:32:54 2017 +0100

Serialize IMU data. (#548)

commit 3bdee588bd62d28298c44d4e259c03799f2bd4b7
Author: Jihoon Lee [email protected]
Date: Thu Nov 9 14:29:26 2017 +0100

Add FinishTrajectory() in SparsePosegraph. (#562)

commit 92f81aec8a2c5c26f54fbf1b295663003b8d0080
Author: Wolfgang Hess [email protected]
Date: Thu Nov 9 11:47:33 2017 +0100

Make proto::ProbabilityGrid proto3 compatible. (#641)

Moves the optional 'known_cells_box' into a message field.
This way its existence can still be checked in proto3.

commit 386ee328d870237cfce40c7cd35e31dcd82febc9
Author: gaschler [email protected]
Date: Wed Nov 8 17:37:36 2017 +0100

Fix 3D yaw rotation in GenerateDiscreteScans. (#640)

Correctly generates discrete scans rotating around yaw in the gravity-aligned global map frame.
Fixes #639.
PAIR=wohe

commit eb96c91473764e41d86832741b46a76406822bc2
Author: Christoph Schütte [email protected]
Date: Wed Nov 8 14:01:38 2017 +0100

Initial pose implementation. (#606)

commit 55e4338468e6b1858e788453d9338fd3f3b9d241
Author: catskul [email protected]
Date: Wed Nov 8 03:07:46 2017 -0500

Start cleaning up Google specific types by making them cartographer private.

move string and size specific int/uint types into cartographer namespace as minimal change necessary to keep global namespace clean (#637)

commit 088681f9eccfb31bd3728295697710104bac9ffb
Author: Wolfgang Hess [email protected]
Date: Tue Nov 7 11:26:41 2017 +0100

Add 3D localization support. (#632)

This adds information about which nodes are contained in which
deserialized submaps. This is necessary for the rotational scan
matcher.

Also skips frozen trajectories when tying together nodes of a
trajectory with IMU data which is unavailable in this case.

commit 8186316d777de5c2f779c1556c74ad3e9433967b
Author: Juraj Oršulić [email protected]
Date: Mon Nov 6 17:14:01 2017 +0100

Range loop over trajectories for MapByTime (#633)

commit 0d2bc8b938222384d1b4fb63c6cef1b15aaed270
Author: Alexander Belyaev [email protected]
Date: Mon Nov 6 15:35:21 2017 +0100

Adds a 'LandmarkData' struct and proto. (#628)

commit 77fb50fd765e3145b6544bcf01d2693e34ba5bc9
Author: Wolfgang Hess [email protected]
Date: Mon Nov 6 13:36:59 2017 +0100

Introduce sensor::MapByTime<>. (#631)

This data structure is used for keeping IMU data. This
allows trimming IMU data in the middle which is needed for
life-long mapping.

commit 049f30d824c8e4a4c3dd1b10f633814b33d0e349
Author: Wolfgang Hess [email protected]
Date: Mon Nov 6 11:00:33 2017 +0100

Generalize IntegrateImu(). (#627)

This is in preparation of changing the data structure
for IMU data away from a deque. Needed for localization
and life-long mapping.

commit 7c31291b2b43f53d802a8755bf347a7a34fe74ad
Author: Holger Rapp [email protected]
Date: Mon Nov 6 10:36:38 2017 +0100

Add assets used for the Cartographer shirt. (#630)

commit 8854aaae9e34c495e32b323bacacbf1d795156a2
Author: gaschler [email protected]
Date: Fri Nov 3 16:19:55 2017 +0100

Extrapolator reuses result using additional IMU trackers. (#623)

This makes the extrapolator stricter that time arguments
must be monotonously increasing when calling the Extrapolate
methods.

commit 978544eca4d819b3970c796cca119a69ab7b51b9
Author: Wolfgang Hess [email protected]
Date: Fri Nov 3 13:44:23 2017 +0100

Add submap and gravity-aligned frame terminology. (#624)

commit 5a3bb14083e255af7b3917bf6d453c7de9361087
Author: gaschler [email protected]
Date: Fri Nov 3 11:56:31 2017 +0100

PoseExtrapolator::GetLastExtrapolatedTime (#626)

This prepares the API for #623 and #616.

commit 9be15466d3526feb9795fdcf0bb4773ba467febf
Author: Christoph Schütte [email protected]
Date: Fri Nov 3 11:26:55 2017 +0100

Add slides and update next Open House date. (#625)

commit 7964211fef53b13831a09baaa022fdce80f6c19e
Author: Juraj Oršulić [email protected]
Date: Thu Nov 2 22:01:01 2017 +0100

Deserialize SPG constraints (#544)

commit 3c5a7aa2d864e2fc9b6cd9ff889ce7c583df1aac
Author: Juraj Oršulić [email protected]
Date: Thu Nov 2 16:01:23 2017 +0100

Refactoring of LocalTrajectoryBuilder::AddAccumulatedRangeData (#618)

- introduce InsertIntoSubmap for 2D
- clarify some variable names in 3D
- move rotational_scan_matcher_histogram calculation
  to InsertIntoSubmap for 3D
- refactor last version of range data before insertion into
  range_data_in_local (filtered_range_data_in_local for 3D)

commit c57641f917d71204f8ed941bb4ed4dc7e6227c75
Author: Juraj Oršulić [email protected]
Date: Thu Nov 2 10:28:13 2017 +0100

Make SPG::AddScan return the inserted node id. (#617)

commit e10650910e157bd68c55f4d1bc6603f25f89d293
Author: Christoph Schütte [email protected]
Date: Mon Oct 30 15:41:02 2017 +0100

Pull out time-based transformation interpolation. (#615)

commit c011177bfda1909de87972a21eeb707a9ca303af
Author: Wolfgang Hess [email protected]
Date: Mon Oct 30 11:32:06 2017 +0100

Fix the origin of accumulated range data. (#613)

This changes the origin of accumulated range data from the
zero vector (which could be far off) to the origin of the
first range data in the accumulation.

commit 82a4b2f171630dc3d5140442ea5734a378e34d0a
Author: Wolfgang Hess [email protected]
Date: Fri Oct 27 15:48:51 2017 +0200

Follow #591 terminology in 3D optimization. (#612)

commit dacc962399f80b541063608870d0b86677f9c6a4
Author: Christoph Schütte [email protected]
Date: Fri Oct 27 14:50:14 2017 +0200

Adds lower_bound() to MapById. (#610)

commit d4db1e79a630a3a27fcd9a270062ff6ded550fcd
Author: gaschler [email protected]
Date: Tue Oct 24 11:47:35 2017 +0200

Add TimedPointCloud and TimedRangeData. (#601)

Adds a type TimedPointCloud that holds 4-dimensional vectors where measurement time of individual points are stored in the fourth entry.
Uses TimedRangeData to pass TimedPointCloud of incoming measurements to LocalTrajectoryBuilder.

Fixes #573.

commit 638aee7c2a6c7a70d2a7da39f4551b6cc6d8b318
Author: Holger Rapp [email protected]
Date: Mon Oct 23 10:56:55 2017 +0200

Fix slow point deletion in RemovePoints. (#608)

This speeds up the asset writer significantly:

For the 3D sample bag:

~~~
/usr/bin/time roslaunch cartographer_ros assets_writer_backpack_3d.launch \
   bag_filenames:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag \
   pose_graph_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag.pbstream

master:
2100.96user 26.79system 35:43.60elapsed 99%CPU (0avgtext+0avgdata 3657028maxresident)k
17682632inputs+32080outputs (0major+20021051minor)pagefaults 0swaps

this CL:
1937.46user 11.77system 32:22.49elapsed 100%CPU (0avgtext+0avgdata 3659412maxresident)k
1352inputs+32088outputs (0major+7042032minor)pagefaults 0swaps
~~~

So ~10%. For pipelines that do less this can be even 30% or more.

commit f179bd942cf523be90332b28136a7111bd729b76
Author: Juraj Oršulić [email protected]
Date: Fri Oct 20 16:13:18 2017 +0200

Support multiple trajectories in LoadMap. (#567)

commit 0cd014857715b6c39980289ed2bdbff96f147967
Author: Damon Kohler [email protected]
Date: Fri Oct 20 14:56:29 2017 +0200

Update the high level overview and provide a link to a copyable Google Sketch. (#607)

commit a96511464eacc177df1a0aac598f705297c74172
Author: Wolfgang Hess [email protected]
Date: Thu Oct 19 16:59:04 2017 +0200

Add map trajectory without a trajectory builder. (#605)

commit 7c03467a78f578d9a5d276cb9cd8a512778b896f
Author: Christoph Schütte [email protected]
Date: Thu Oct 19 14:50:58 2017 +0200

Change GetTrajectoryNodes() to MapById. (#603)

commit 49ead6055c496f2b1eb67aaeea6ca3506f677e6b
Author: Holger Rapp [email protected]
Date: Thu Oct 19 12:30:19 2017 +0200

Towards a ROS map writing PointsProcessor. (#598)

- Refactor ProbabilityGridPointsProcessor for code reuse.
- Adds Image::width and height.
- Adds GetFilename for FileWriter.

Related to googlecartographer/cartographer_ros#475.

commit 0c9f2c4f65e74978b6db9e28b11d9ea9ea51647e
Author: Holger Rapp [email protected]
Date: Thu Oct 19 11:19:56 2017 +0200

Remove unused concept of CompressedRangeData. (#604)

commit e479382ecce87ce4b2dcb6f4429e2f24ed23116f
Author: Wolfgang Hess [email protected]
Date: Tue Oct 17 16:03:16 2017 +0200

Change GetAllSubmapData() to MapById. (#597)

commit 3d4650d6750814361a8f0502fe21d53efb9c63cb
Author: Christoph Schütte [email protected]
Date: Tue Oct 17 15:36:07 2017 +0200

Remove trimmed() from TrajectoryNode (#596)

commit e5f9815f67c5626c1d5cdca195feede6bd970aff
Author: Wolfgang Hess [email protected]
Date: Tue Oct 17 13:13:37 2017 +0200

Change submap_data_ in pose graph to MapById. (#593)

* Change submap_data_ in pose graph to MapById.

commit fdda1dd0911e0e0ea183f87d4bbdd2d3b7db7f7d
Author: Christoph Schütte [email protected]
Date: Tue Oct 17 11:48:23 2017 +0200

Switch trajectory_nodes in SPG2D to MapById. (#592)

commit bcd1be92b1871fcc170bd81895bfb7a18f6d01c9
Author: Wolfgang Hess [email protected]
Date: Tue Oct 17 10:07:54 2017 +0200

Adds a bit of terminology documentation. (#591)

Changes code to match the new documentation.

commit 76ed37768f2bd6af0a88572370351f5bcafd3cfd
Author: Wolfgang Hess [email protected]
Date: Mon Oct 16 15:59:56 2017 +0200

Validate odometry and fixed frame poses. (#588)

commit 6b447c45779cdf59b5c49e7975ebc892332306c0
Author: Christoph Schütte [email protected]
Date: Mon Oct 16 14:15:53 2017 +0200

Add FindChecked to MapById. (#586)

* Add FindChecked to MapById.

commit d91afa44967f53c57908d1b5e2c29b20709d6e4c
Author: Wolfgang Hess [email protected]
Date: Mon Oct 16 13:37:28 2017 +0200

Introduces mapping::MapById for nodes in 3D. (#587)

commit 5ed19c15ab227b05925b50f0925bb9725112d275
Author: Christoph Schütte [email protected]
Date: Mon Oct 16 12:52:53 2017 +0200

Introduce proxy object for iteration over trajectory ids. (#585)

* Introduce proxy object for iteration over trajecotry ids.

commit 7e0cfc3f22e303ac5cd6743c45ee1309494903cd
Author: Wolfgang Hess [email protected]
Date: Mon Oct 16 10:48:43 2017 +0200

Introduces mapping::MapById for submaps in 3D. (#584)

commit 006db4591079ed878cdbbbd75eae22669aceacbd
Author: Christoph Schütte [email protected]
Date: Fri Oct 13 16:44:31 2017 +0200

Introduce proxy object for range based loops over nodes of trajectory. (#583)

commit 464d770d48fd6af681b2ddc245866d96fcdafadb
Author: Wolfgang Hess [email protected]
Date: Fri Oct 13 14:41:54 2017 +0200

Introduces mapping::MapById for nodes in 2D. (#581)

PAIR=cschuet

commit 2cca91d783bdc263776e7c3e313cb67d0a4de082
Author: Christoph Schütte [email protected]
Date: Fri Oct 13 13:55:04 2017 +0200

Add slides from yesterday and next date. (#572)

commit 4ab48171041482d255aef29dcda226894238a0b6
Author: Wolfgang Hess [email protected]
Date: Thu Oct 12 16:15:12 2017 +0200

Add MapById<>::ConstIterator::operator->(). (#580)

commit cb41777b9ead9006705ffe917a2e63ece20f0c9d
Author: Wolfgang Hess [email protected]
Date: Thu Oct 12 11:58:59 2017 +0200

Introduces mapping::MapById in the 2D pose graph for submaps. (#578)

PAIR=cschuet

commit ea55e837d2829ef20a02138b8e5b6e81efc97960
Author: Wolfgang Hess [email protected]
Date: Mon Oct 9 17:33:12 2017 +0200

Introduces mapping::MapById in the 2D optimization problem. (#577)

PAIR=cschuet

commit 2434e7e40e1678bb14fe54d0f18bfa9ac27d2aa8
Author: Wolfgang Hess [email protected]
Date: Fri Oct 6 17:01:04 2017 +0200

Fix crashing bug in localization. (#575)

Now that we deserialize trajectory nodes, we need to make sure
that the global matcher sampler is added for the map trajectory.

commit 2f332eca28325f2690c516389ef17c59243ad9f3
Author: Juraj Oršulić [email protected]
Date: Fri Oct 6 16:16:25 2017 +0200

Deserialize trajectory nodes. (#569)

commit 6708930bbfcbadb4f1048c44372d3bdfbe55b063
Author: Holger Rapp [email protected]
Date: Fri Oct 6 13:21:02 2017 +0200

Adds 'offset_seconds' to PointCloudWithIntensities. (#571)

This is preparing using per-point-unwarping in the `assets_writer` in `cartographer_ros`.

Related to googlecartographer/cartographer_ros#521.

PAIR=@wohe

commit 2862e125062634dc258f1e855014368756495bf9
Author: Christoph Schütte [email protected]
Date: Thu Oct 5 17:33:51 2017 +0200

Add FrameIdFilteringPointsProcessor (#566)

* Add FrameIdFilteringPointsProcessor

Implements a PointProcessor that filters PointBatches (either by
whitelisting or blacklisting) the frame_id.

commit 0053b30cc8a422bd66a50402b3a2561bcf0c6a10
Author: Wolfgang Hess [email protected]
Date: Thu Oct 5 16:56:31 2017 +0200

Add support for odometry to the 3D pose graph optimization. (#570)

Not used yet. Intended to experiment with the 3D pose graph optimization
in 2D SLAM.

commit bd8a2e6a922c3c84d2f884737ac24093bee2f9da
Author: Juraj Oršulić [email protected]
Date: Thu Oct 5 16:10:12 2017 +0200

Store node initial pose in constant data. (#568)

commit cae9c02e0589fb3d7ae16372c9803a0f47b3829f
Author: Wolfgang Hess [email protected]
Date: Wed Oct 4 16:47:26 2017 +0200

Follow #547 for 3D. (#564)

And changes to 3D following 2D regarding trimmed data.

commit 51f5a184629786f95e91b300dc2b15889e098432
Author: Wolfgang Hess [email protected]
Date: Wed Oct 4 15:58:48 2017 +0200

Fix formatting. (#561)

commit aaaf5ac546fa6c6bd70e1329956db318231d6e35
Author: Juraj Oršulić [email protected]
Date: Wed Oct 4 14:13:18 2017 +0200

Rename serialization NodeData proto for consistency. (#540)

node_data should be a member of a node, not the other way around.

commit b1b0750e5b587f85e3197985c3a206cc8ded1053
Author: Juraj Oršulić [email protected]
Date: Wed Oct 4 13:15:35 2017 +0200

Check ratios in fixed rate sampler. (#502)

commit 9c81a01608303dba40903d3f33d7e2d7c6cbfdef
Author: Christoph Schütte [email protected]
Date: Mon Oct 2 17:01:14 2017 +0200

Add trajectory trimming support to 3d (#559)

* Adds DeleteScanMatcher() to 3D constraint builder
* Add possibility to remove submaps and scans from the 3D optimization
  problem.
* Implements TrimmingHandle in SPA.

commit 3c521eb573292d0ec6e5cb7525daf21335f0b2f3
Author: Jihoon Lee [email protected]
Date: Fri Sep 29 10:04:28 2017 +0200

Remove hooray. And prints remaining work items in queue (#547)

commit 3744988fd2f18cf03f10b828e4be70b0ac01a9f5
Author: jie [email protected]
Date: Thu Sep 28 01:43:47 2017 -0700

Fix trajectory count check bug for asset writer floor separation. (#542)

commit 7d0e72dac2de51dbad322c8fa83f29bd79b012ca
Author: Wolfgang Hess [email protected]
Date: Thu Sep 28 09:21:07 2017 +0200

Fix some nits. (#536)

Most importantly makes mapping_2d::SparsePoseGraph::GetLatestScanTime()
private.

commit 4fca78368d66465dd52c70698b273c707ef7d229
Author: jie [email protected]
Date: Wed Sep 27 23:27:27 2017 -0700

Add Cartographer high level structure diagram to documentation (#486)

commit 0cbc420b0267aaf4841c77c127165d32e37789f0
Author: Wolfgang Hess [email protected]
Date: Fri Sep 15 14:11:37 2017 +0200

Fix odometry in the 2D pose graph optimization. (#533)

Before, the relative change in pose due to odometry in the
2D pose graph optimization problem was incorrectly done in
the tracking frame. Instead, the gravity aligned frame in
which the 2D poses are stored must be used.

Fixes #515.

PAIR=cschuet

commit 6b544628b607ebd901724a737bbac061389ec929
Author: Wolfgang Hess [email protected]
Date: Fri Sep 15 11:53:57 2017 +0200

Add slides from yesterday and next date. (#531)

commit 259e22a5fcec9fee0f3c28fe09c76763ffa3e0c3
Author: Jihoon Lee [email protected]
Date: Thu Sep 14 16:10:03 2017 +0200

Use oldest and newest instead of last two odometry data. (#530)

commit 5896ead32ec22bf76144d839c4452396f28b7333
Author: Christoph Schütte [email protected]
Date: Thu Sep 14 12:11:54 2017 +0200

Introduce timeout for global constraints. (#517)

This PR introduces a new option that specifies the number of seconds
after which global matcher searches are performed if no recent global
constraints have been found between the submap's and the node's
trajectory.

commit 31b5a6f1a996044c3fb9ed23be68b4d6a06f9ba7
Author: gaschler [email protected]
Date: Wed Sep 13 15:47:02 2017 +0200

Allow multiple SubmapTextures. (#519)

This changes submap_visualization.proto that multiple textures can be provided.
As of now, the first texture is generated from the high resolution
grid, which is the same as before.
The second texture is generated from the low resolution grid.

commit 5ade042520ccbb75fd847094dffc28d660f67f80
Author: Wolfgang Hess [email protected]
Date: Wed Sep 13 14:08:32 2017 +0200

Fix crash in localization. (#526)

Updating the connectivity needs the data of nodes for which
constraints were added, so we postpone trimming to after the
connectivity update.

Also makes sure the mutex is held as necessary.

commit 57d53b6d539d7dfbad54beb4c09f2b2e92eae831
Author: Wolfgang Hess [email protected]
Date: Tue Sep 12 18:07:18 2017 +0200

Remove unused code. (#522)

Removes FindConnectedComponent() from a proto message.

commit b383f183653ec80328ef7d46e86456010e416682
Author: Christoph Schütte [email protected]
Date: Tue Sep 12 17:04:13 2017 +0200

Fix crash in localization. (#523)

This PR fixes a crash when cartographer is run in localization mode due
to the map trajectory not having been properly added to the
ConnectedComponents.

commit 4437d89dd59264159d8417612bf1164f479ee604
Author: Wolfgang Hess [email protected]
Date: Tue Sep 12 15:36:22 2017 +0200

Fix crashing bug during pure localization. (#521)

When loading a serialized state, no nodes are added for each
submap. This leads to crashes when loop closures are found.

commit 23bf0fc0d46870350e47445fe11f3721ba69b7a2
Author: Juraj Oršulić [email protected]
Date: Tue Sep 12 11:25:51 2017 +0200

Fix unsigned comparison warning in 2D SPG test. (#518)

commit 24c2b499dd3200c2d73daa35afb96b6a5f0a878f
Author: Christoph Schütte [email protected]
Date: Mon Sep 11 14:43:55 2017 +0200

Introduce TrajectoryConnectivityState. (#513)

* Introduce TrajectoryConnectivityState.

This class will be used to track the connectivity state (including the
last connection time) between pairs of trajectories.

commit 84da6d75bc871fa9818de3df013ab90afa2ca497
Author: Wolfgang Hess [email protected]
Date: Mon Sep 11 13:46:49 2017 +0200

Also use vector> for node data in 3D. (#516)

This reduces the difference between 2D and 3D and moves
3D towards localization and trimming.

commit 35aa38f73fd07cebee34b6913cc206d30df5d023
Author: Wolfgang Hess [email protected]
Date: Fri Sep 8 15:54:28 2017 +0200

Also use vector> submaps in 3D. (#512)

This reduces the difference between 2D and 3D and moves
3D towards localization and trimming.

commit 1a367f0549d1adcee6c4c1a38e20d92f0dd188a2
Author: Christoph Schütte [email protected]
Date: Thu Sep 7 17:11:06 2017 +0200

Rename TrajectoryConnectivity ConnectedComponents. (#510)

* Rename TrajectoryConnectivity ConnectedComponents.

commit c65f7a97b639369d0a2e430ae867a76206c06137
Author: Christoph Schütte [email protected]
Date: Thu Sep 7 16:35:49 2017 +0200

Remove connected_components_ from SPG. (#509)

* Remove connected_components_ from SPG.

This PR removes connected_components_ from the SparsePoseGraph. Since
the connectivity structure is no longer updated by the
ConstraintBuilders it is no longer necessary for SPG to keep a copy of
the connected components for data consistency.

commit fa306d03ece7840968b5b340410a2016564c39d2
Author: Christoph Schütte [email protected]
Date: Thu Sep 7 15:58:30 2017 +0200

Remove reverse_connected_components. (#507)

Remove reverse_connected_components from SparsePoseGraphs and update
TrajectoryConnectivity to return "connected" for the reflexive case even
if trajectories are unknown.

commit 476d156f6613047dbf6962eb9af51942827cdb1b
Author: Wolfgang Hess [email protected]
Date: Thu Sep 7 15:29:12 2017 +0200

Serialize trajectory node data. (#504)

Related to #253.

commit a5dafcfde36f48f43891e91de96c13f62c3de684
Author: Christoph Schütte [email protected]
Date: Thu Sep 7 14:51:19 2017 +0200

Update trajectory connection in WhenDone callback. (#506)

This modifies the ConstraintBuilder interface so that Maybe*Constraint
is not responsible anymore for updating the TrajectoryConnectivity
member of SparsePoseGraph and moves this responsibility into the
WhenDone callback.

commit 333516d95564d05200d359d0c3d0a3904dc15e1d
Author: Wolfgang Hess [email protected]
Date: Thu Sep 7 14:04:00 2017 +0200

Rename the scan queue. (#505)

This queue does not only contain scans, but also other sensor data,
e.g. from an IMU.

commit 22f41d8e372bd937a9c75a0b30ddfba43dfe2cb1
Author: Wolfgang Hess [email protected]
Date: Thu Sep 7 11:01:03 2017 +0200

Store rotational histogram as part of the node data. (#503)

The compressed point cloud is no longer stored as part of the
node data to reduce memory consumption.

commit c2d94243428a9e482abcd8b46135e6d7a146a246
Author: Christoph Schütte [email protected]
Date: Wed Sep 6 12:06:33 2017 +0200

Add Unittest for transform::RigidX. (#497)

commit 4829ffee46c45b9e6970e040160d088a6cb57e6e
Author: Wolfgang Hess [email protected]
Date: Wed Sep 6 10:59:16 2017 +0200

Allow rotating histograms in the rotational scan matcher. (#501)

This allows reusing histograms to match for different yaws.
Adds a unit test to test that rotated histograms match as expected.

commit 18d8ea75fa98e50aaa0d969acac7fc3bcc415b1e
Author: Jihoon Lee [email protected]
Date: Mon Sep 4 18:01:44 2017 +0200

Use vector> for node_data. (#472)

commit c8de50bd2b5aecddf72825a1ee36305640da2d7d
Author: Wolfgang Hess [email protected]
Date: Mon Sep 4 16:24:26 2017 +0200

Add 'gravity_alignment' rotation to each node. (#500)

In 2D this replaces the 'tracking_to_tracking_2d' transform.
Also changes the 2D SparsePoseGraph to get the full 3D pose.

commit 3948943b6491ad07dd4c6ba8e71cb4d03b27a5bf
Author: Wolfgang Hess [email protected]
Date: Mon Sep 4 11:14:51 2017 +0200

Use EstimateGravityOrientation() in 2D SLAM. (#499)

commit e3b6f0afc5a78b461da2557fd19753ace271281c
Author: Wolfgang Hess [email protected]
Date: Fri Sep 1 15:40:21 2017 +0200

Expose complete poses in 2D SLAM. (#498)

This changes the trajectory nodes to contain the complete 'pose'
including 'tracking_to_tracking_2d' applied already. Similar for
the 'zbar_ij' as it is returned by 'constraints()'. This allows
2D and 3D to be handled in the same way.

commit 5673334f0e9e9c5a9d306eb6e7fc1112e1de6283
Author: Wolfgang Hess [email protected]
Date: Fri Sep 1 10:22:13 2017 +0200

Tiny improvement of the gravity estimation. (#494)

commit d3c49c8585a1e7fa8d87d93e22306c603a7a5fe5
Author: Wolfgang Hess [email protected]
Date: Fri Sep 1 09:58:24 2017 +0200

Pass odometry data to the 3D optimization problem. (#495)

Not yet used.

commit 72bb24e3628d2d62c1c6ae8a6f9270b40ddeb6fa
Author: Wolfgang Hess [email protected]
Date: Fri Sep 1 09:34:48 2017 +0200

Pass initial pose of nodes to the 3D optimization problem. (#496)

Also drops 'point_cloud' from the name since the pose is also
relevant to other sensor data.

commit 982f2bd2e0066241d32f23857880865424cefa0c
Author: Christoph Schütte [email protected]
Date: Thu Aug 31 15:10:48 2017 +0200

Use TrajectoryNode::Data in FastCorrelativeMatcher. (#493)

* Use TrajectoryNode::Data in FastCorrelativeMatcher.

commit e2c67a7bdef63441ee8b437b18677ee5310c8d8a
Author: jie [email protected]
Date: Thu Aug 31 04:39:47 2017 -0700

Fix Lint and ClangTidy warnings. (#485)

commit 3215035c1cdf881e3b105872a9e1ad053981a890
Author: Wolfgang Hess [email protected]
Date: Thu Aug 31 12:26:31 2017 +0200

Add thread annotation to LogResidualHistograms(). (#492)

commit b54ca0cca6bf43f39573c1e67ca65b1a85c7c129
Author: Mac Mason [email protected]
Date: Thu Aug 31 02:32:04 2017 -0700

Fix Rigid2 and Rigid3 to default to an identity transform. (#491)

commit 06e9112bc8cef216358967cf7b14201ece8db5ec
Author: Christoph Schütte [email protected]
Date: Wed Aug 30 16:34:26 2017 +0200

Unify GlobalTrajectoryBuilder across 2D and 3D (#489)

This PR unifies GlobalTrajectoryBuilder across 2D and 3D by templating
it with the LocalTrajectoryBuilder and the SparsePoseGraph. It thus
includes small changes to interfaces in LocalTrajectoryBuilder and
SparsePoseGraph.

commit 3c22c8253a49961404c21063ce6b269c8fa3179d
Author: Wolfgang Hess [email protected]
Date: Wed Aug 30 14:22:12 2017 +0200

Refactoring: Do not pass 'constant_data' in pieces. (#488)

Also removes the no longer used range data from trajectory nodes
in 2D.

commit 094b5a4d93dc5808ed34188caded3ee6b5461a89
Author: Wolfgang Hess [email protected]
Date: Mon Aug 28 15:43:26 2017 +0200

Template dispatching of sensor data. (#484)

This reduces the amount of code that needs to be written when a
new type of sensor data is introduced by a tiny bit.

Rangefinder data is not yet following this pattern.

commit a7fe8bd2aba78760d06a385b7d43b96ce0aeb482
Author: Wolfgang Hess [email protected]
Date: Mon Aug 28 11:17:53 2017 +0200

Add filtered point cloud to TrajectoryNode::Data for 2D. (#483)

commit 42d8a8f00530a9ca2a794ac9ae0c239b61b9644a
Author: jie [email protected]
Date: Fri Aug 25 16:56:50 2017 +0200

Add filtered point clouds to TrajectoryNode::Data for 3D. (#482)

commit 0837d4b22848120c9220028c7b64d340599424b5
Author: jie [email protected]
Date: Fri Aug 25 15:26:19 2017 +0200

Add fixed frame pose constraints to 3D problem. (#480)

commit 449799719f091dfe644897f6a409ba21bf641909
Author: jie [email protected]
Date: Fri Aug 25 12:06:22 2017 +0200

Extract rotation parameterization to a separate file. (#479)

commit 96b71e227f53f3fdd796d6e5796ffd94eb741e2f
Author: Christoph Schütte [email protected]
Date: Fri Aug 25 11:39:56 2017 +0200

Add histograms for pose residuals (#478)

* WIP Add histograms for pose residuals

* Address reviewers comments

* Address more comments.

commit 2fd2e8635126dab092315192f426246cab423cfc
Author: jie [email protected]
Date: Thu Aug 24 15:40:48 2017 +0200

Add fixed frame pose weight into optimization problem options. (#477)

commit 14977f73f1145c6bfe168903cd18d63177f557a4
Author: jie [email protected]
Date: Thu Aug 24 15:02:23 2017 +0200

Add fixed frame pose data to the 3D optimization problem. (#476)

commit a239b71a6e6d2a41e4028494a361a41b434d3197
Author: Wolfgang Hess [email protected]
Date: Thu Aug 24 14:17:51 2017 +0200

Dynamic dispatch of sensor::Data. (#475)

This ensures at compile time that all types of data are handled,
and only keeps the data needed for each individual type.

commit 0671e8835e0acbc6b919866ae3e6b0c401342020
Author: jie [email protected]
Date: Thu Aug 24 12:49:03 2017 +0200

Add interface to process fixed frame pose, e.g. GPS. (#471)

commit e78e2cb5ade11efbe6eb3443c013e882e2c1d890
Author: Wolfgang Hess [email protected]
Date: Thu Aug 24 12:04:39 2017 +0200

Extract PoseEstimate into its own file. (#474)

This is to remove the dependency of GlobalTrajectoryBuilderInterface
on the TrajectoryBuilder.

commit f0e1dab0316168d20eaccb70b564b05324ab4256
Author: Wolfgang Hess [email protected]
Date: Thu Aug 24 09:28:12 2017 +0200

Add a histogram of low resolution scores for 3D. (#473)

commit 4d11a226ffe9c85b65d0638b4a4d40e4995a356b
Author: Wolfgang Hess [email protected]
Date: Wed Aug 23 17:48:49 2017 +0200

Expose low resolution matching scores. (#470)

This is needed in preparation of adding a low resolution score histogram.

commit 2dd2d6f448f1f9858b6876222ff38563b15675ec
Author: Jihoon Lee [email protected]
Date: Wed Aug 23 12:16:42 2017 +0200

Use vector> instead of vector for submap_data. (#422)

commit 2e535868182ec5378e6990b6eb3ebb1009e3b67b
Author: zjwoody [email protected]
Date: Tue Aug 22 17:29:20 2017 +0200

Also check low resolution match for 3D loop closure. (#468)

Related to #369.

commit 297e9cc02de91d8265b0cd0f45446a9542f0339e
Author: Wolfgang Hess [email protected]
Date: Tue Aug 22 12:22:41 2017 +0200

Remove unused argument. (#466)

commit ac693f3e0425d0e019a084a8e801d2082b4270d7
Author: zjwoody [email protected]
Date: Mon Aug 21 18:01:23 2017 +0200

Use separate voxel filter options for 3D loop closure. (#465)

commit edfd6ac8d7dcfe7a1cd2993ba4360ce6ca8a3e24
Author: Damon Kohler [email protected]
Date: Mon Aug 21 17:26:48 2017 +0200

Also log the IMU correction as a quaternion. (#463)

commit 0ef372d5846d1fc830c80faa40f8006c006505e7
Author: Moritz Münst [email protected]
Date: Mon Aug 21 15:12:00 2017 +0200

Use odometry in 2D pose graph optimization. (#456)

commit bcde3b45b06a56784e0a21a7c111108371295b34
Author: Wolfgang Hess [email protected]
Date: Fri Aug 18 16:19:50 2017 +0200

Tiny cleanup of TransformInterpolationBuffer. (#462)

commit 14d868869f191bb2b8c431a474e995ddf792f769
Author: Wolfgang Hess [email protected]
Date: Fri Aug 18 12:06:53 2017 +0200

Add slides from yesterday and next date. (#461)

commit c29fec3dd046fbc29afca61a674d93ac74c5713b
Author: Wolfgang Hess [email protected]
Date: Thu Aug 17 18:07:33 2017 +0200

Fix colors in the X-ray points processor. (#460)

mean_..._in_column was broken in #423.

commit 9498cc90cabcb9aef7cf829a7fe21c85c605bc69
Author: Wolfgang Hess [email protected]
Date: Wed Aug 16 16:55:39 2017 +0200

Estimate angular velocities from odometry. (#458)

If no IMU is available we will now use odometry to estimate
angular velocities if available instead of the last poses.

Fixes #453.

commit 0c6d6979c471f935020c40446273054b37793db9
Author: Wolfgang Hess [email protected]
Date: Wed Aug 16 16:22:42 2017 +0200

Fix header. (#457)

RegisterBuiltInPointsProcessors() declaration was broken in #455.

commit ba6f782949eb7cdb96e43c178c7b6ef83bd57215
Author: zjwoody [email protected]
Date: Wed Aug 16 06:21:04 2017 -0700

Fix ClangTidy warnings. (#455)

commit 11dbdf91b9faf47ecd3a80001bcd80af3bec2591
Author: Wolfgang Hess [email protected]
Date: Fri Aug 11 17:38:48 2017 +0200

Remove unused code and option for odometry states. (#451)

commit e79a918989de8167f41f68a13463c89345af4f89
Author: Wolfgang Hess [email protected]
Date: Fri Aug 11 17:13:28 2017 +0200

Use PoseExtrapolator in the 3D trajectory builder. (#450)

This replaces the Predict() logic in the 3D trajectory builder.

commit 73b0e5e20af4db951198b739a5abce80e538059a
Author: Wolfgang Hess [email protected]
Date: Fri Aug 11 12:38:34 2017 +0200

Use PoseExtrapolator in the 2D trajectory builder. (#448)

This replaces the Predict() logic in the 2D trajectory builder.

commit 6ebfa50291a53485e432902c11a23f22d0b87e84
Author: Wolfgang Hess [email protected]
Date: Tue Aug 8 16:30:53 2017 +0200

Use odometry to extrapolate linear motion. (#443)

commit 8732e43f167861ea6455730e958464c7f491f7e8
Author: Wolfgang Hess [email protected]
Date: Tue Aug 8 14:52:47 2017 +0200

Add sensor::OdometryData. (#442)

commit f60b2cbb164023ec491aeb4116583f771694438d
Author: Wolfgang Hess [email protected]
Date: Tue Aug 8 14:27:08 2017 +0200

Pass IMU data as sensor::ImuData. (#441)

commit eb53b70fec26cd891c326b83626984333f34ea7c
Author: Wolfgang Hess [email protected]
Date: Wed Aug 2 14:17:50 2017 +0200

Towards localization in 3D. (#438)

Adds loading maps to 3D, deserializes submaps and supports trajectories
without any node. Still no trimming support.

commit 5369c3ced14938a7fe8bccf27c6a87879d31cc0a
Author: Wolfgang Hess [email protected]
Date: Tue Aug 1 10:44:32 2017 +0200

Use the ImuTracker in the PoseExtrapolator. (#436)

commit b28bc3bc9e600e0d3b7155759a3ea633197c7aa6
Author: Wolfgang Hess [email protected]
Date: Mon Jul 31 12:31:28 2017 +0200

Extract velocity estimation from poses into a function. (#435)

commit a6d94c07cfbfb7e57b7bdd43fb36f25f45b01072
Author: Wolfgang Hess [email protected]
Date: Fri Jul 28 17:12:12 2017 +0200

Use IMU data when extrapolating poses if available. (#434)

commit d22402bdfa591b9628d920f3e69663b69a98a800
Author: Andrew Hundt [email protected]
Date: Fri Jul 28 03:11:57 2017 -0700

color.cc constexpr std::sqrt is not ISO C++ (#432)

commit 46c7ce886defcf1c3a82519e27d833cd750ad2d9
Author: damienrg [email protected]
Date: Thu Jul 27 11:03:55 2017 +0200

Change Color to Uint8Color and FloatColor (#423)

As almost all computations for color are done in float, use FloatColor
format by default and convert to Uint8Color only when needed.

commit 6035f6386064b30b513040458a48c8be5dc7581f
Author: Wolfgang Hess [email protected]
Date: Wed Jul 26 15:21:05 2017 +0200

Add a extrapolator for poses. (#430)

This will be used in Cartographer ROS to extrapolate poses for tf.

PAIR=damonkohler

commit 30f7de1a325d6604c780f2f74d9a345ec369d12d
Author: Jihoon Lee [email protected]
Date: Wed Jul 26 11:14:22 2017 +0200

fix num submaps in trimmer_test (#424)

commit 3859da7ea447ffb4d63335e0cd62e657f5e7e1ac
Author: Holger Rapp [email protected]
Date: Wed Jul 26 10:50:01 2017 +0200

Better tuning for 2D. (#428)

commit 347dc8cec579715d67c6c35b504c1652687fbdee
Author: Juraj Oršulić [email protected]
Date: Tue Jul 25 17:39:49 2017 +0200

Fix debug build (#418)

Add a fake return value after LOG(FATAL) in
HybridGridPointsProcessor::Flush(). This keeps gcc versions lower
than 7 happy when building without optimisation (i.e. debug build).
Fixes #412.

commit 56dbad15e3dde6c3c11afecaddd48a1650f818fe
Author: lanyaye [email protected]
Date: Tue Jul 25 21:59:57 2017 +0800

Fix proto_stream to support 32-bit platforms. (#427)

In proto_stream.cc, size_t is only correct on 64-bit platforms. Changing it to uint64 adds support for 32-bit platforms. This fixes #426.

commit ea7c39b6f078c693b92fed06d86ca501021147d9
Author: Holger Rapp [email protected]
Date: Tue Jul 25 13:36:50 2017 +0200

Draw Trajectories onto X-Rays and ProbabilityGrids. (#421)

This behavior can be turned off with the 'draw_trajectories' setting in Lua.

Fixes #174.

commit 8dfd6500680614abf7f0ddb4e5fb3ac21635c0e3
Author: Holger Rapp [email protected]
Date: Mon Jul 24 13:22:06 2017 +0200

Pull some functionality from cartographer_ros into cartographer. (#420)

- Moved color.h.
- Moved Cairo types.
- Simplifications in XRayPointsProcessor.

commit 4d087cd159232af8b929f7b218e17c61499026ad
Author: Wolfgang Hess [email protected]
Date: Mon Jul 24 11:42:23 2017 +0200

Towards localization in 3D. (#417)

Adds trimmer handling (but no trimming yet) and frozen trajectories
to 3D. Also freezes nodes, not just submaps.

commit 21cc2706459ccefa3457b2a4c68adeba436fdd3a
Author: damienrg [email protected]
Date: Mon Jul 24 10:41:45 2017 +0200

Fix ProbabilityPointsProcessor mirroring output (#419)

Fixes #414.

commit 6303a96bc8f60f71ee2d440b52e99ba30856d801
Author: Holger Rapp [email protected]
Date: Fri Jul 21 12:25:51 2017 +0200

Add slides from yesterday and next date. (#416)

commit 481211073f0d7cc86648a52e4d7c615572c76ae6
Author: Holger Rapp [email protected]
Date: Thu Jul 20 14:31:50 2017 +0200

Build relocatable code. (#413)

This is required to reuse code from cartographer_ros in cartographer_rviz. Otherwise linking fails with errors like these:

~~~
/usr/bin/ld: libcartographer_ros.a(msg_conversion.cc.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be use
d when making a shared object; recompile with -fPIC
~~~

While this could be fixed locally in cartographer_ros, it is a reasonable default to compile with `-fPIC` always.

commit 1bce14b7b57b14259fee65a9f32ce9bab3758b4c
Author: Wolfgang Hess [email protected]
Date: Tue Jul 18 12:10:40 2017 +0200

Adds accumulation of range data to 2D. (#408)

This mostly follows the implementation as done for 3D.

Towards googlecartographer/cartographer_ros#212.

commit 3ef680e7914733a1fd15bff784f2217424cc75b5
Author: Mac Mason [email protected]
Date: Tue Jul 18 00:01:12 2017 -0700

Remove extraneous include (#407)

commit e345ae8280e9f595ba21432288a33d323e2e9fcd
Author: Jochen Sprickerhof [email protected]
Date: Mon Jul 17 10:34:14 2017 +0200

Support compiling with CMAKE_BUILD_TYPE set to None (#405)

Debian defaults to setting CMAKE_BUILD_TYPE to None and setting CFLAGS
and alike to Debian standards.

commit 10a19d0a3ff7de86395e5b4b347d85e9b3f66f5c
Author: Wolfgang Hess [email protected]
Date: Tue Jul 11 11:59:42 2017 +0200

Add rotational score histograms in 3D. (#403)

commit 167047173c5941bd8b6d805ea1ec42c94f5b6cae
Author: Wolfgang Hess [email protected]
Date: Tue Jul 11 09:26:07 2017 +0200

Tiny improvement of HybridGrid::ToProto(). (#401)

Makes it a member function and adds a check for left over
update markers.

commit 0da3fad9b0ee1411c322a127eed1f6a643e65b2a
Author: Wolfgang Hess [email protected]
Date: Mon Jul 10 16:14:50 2017 +0200

Improve handling of grid updates. (#400)

Changes the grids to only contain update markers during updates.
Serialized grids will never contain them.

commit b0b4f30007e8472d0b4942e18bf5400e99e166dc
Author: Wolfgang Hess [email protected]
Date: Mon Jul 10 15:01:13 2017 +0200

Cleanup of cell index conversion in 2D. (#399)

This makes 2D more similar to 3D. GetProbability() only takes
cell indices which are computed using GetCellIndex().

commit 39cb8401a537f93131eb0520a234517a9ad6e8c2
Author: damienrg [email protected]
Date: Mon Jul 10 11:02:14 2017 +0200

Implements a ProbabilityGridPointsProcessor (#383)

commit 78bd37ec26805bb86dadf72d04a3feb1ed135688
Author: Wolfgang Hess [email protected]
Date: Fri Jul 7 17:07:04 2017 +0200

Unify 2D/3D range data in trajectory nodes. (#396)

Since we only convert compressed range data to protos, we remove the
unused code to serialize (non-compressed) range data which should also
not be used in the future.

commit 5378ee2adc7596a8b05957c11a3d3e73133d75d6
Author: Wolfgang Hess [email protected]
Date: Fri Jul 7 15:39:55 2017 +0200

Serialize range data. (#395)

We compress 2D range data before serialization to reduce
output size.

Related to #253.

commit 94a848cd464587eb2aabdcc2eb53073b99ea0d24
Author: Wolfgang Hess [email protected]
Date: Fri Jul 7 13:58:23 2017 +0200

Rename ScanId to NodeId in the serialization. (#394)

This is consistent with the naming in the C++ structs.

commit 00e3d33e43c19fa0cd5a3461845ae96a9dc1955d
Author: Holger Rapp [email protected]
Date: Fri Jul 7 13:28:22 2017 +0200

Add slides from yesterday and next date. (#393)

commit f7af7ae238295cfd92c194973c09b1a95830c574
Author: Brandon D. Northcutt [email protected]
Date: Fri Jul 7 03:26:36 2017 -0700

Add serialization of compressed range data. (#334)

commit 75d5b7a45371df191debc8140ff5d250062a4a0a
Author: Jihoon Lee [email protected]
Date: Thu Jul 6 14:32:45 2017 +0200

Check imu_data array size before access (#392)

commit 3f4d795c3eb6b250d455b95ad89c5217c0e4bf46
Author: Moritz Münst [email protected]
Date: Wed Jul 5 16:55:07 2017 +0200

Add pure localization parameter to trajectory builder options. (#389)

commit 9042450aaf52a24c1c7559f0946b57a34605c815
Author: Wolfgang Hess [email protected]
Date: Wed Jul 5 16:24:02 2017 +0200

Fix initial pose of loaded submaps. (#391)

PAIR=SirVer

commit 3819dd3806e3f1ffa466f71396a68a9ffc9aa1de
Author: Wolfgang Hess [email protected]
Date: Wed Jul 5 15:05:46 2017 +0200

Use an Eigen::AlignedBox to track known cells. (#388)

PAIR=SirVer

commit 3346474963add2eef20d951444c324d1e76a51ec
Author: Holger Rapp [email protected]
Date: Wed Jul 5 14:17:04 2017 +0200

Grow the ProbabilityGrid as needed instead of preconfiguring its size. (#387)

This removes the 'half_length' option.

PAIR=wohe

commit a313448bf01cc10f015ad872098d58b5b9e5162c
Author: Holger Rapp [email protected]
Date: Wed Jul 5 13:39:44 2017 +0200

Change CastRays to directly take the ProbabilityGrid. (#386)

PAIR=wohe

commit 611f244d7ac269ff4a39811b7baa8f7b3bea2a29
Author: Holger Rapp [email protected]
Date: Wed Jul 5 13:17:20 2017 +0200

Remove HybridGrid slicing into a ProbabilityGrid. (#385)

This code is currently unused. The feature of slicing a HybridGrid into a Probability grid could be useful to for example collect a map in 3D, then slice the 3D data to create a 2D map. There are simpler ways to implement this, especially in the context of the assets_writer_main.

PAIR=wohe

commit 1e6723e214886d88b1380434a7901c95e10c05f7
Author: Jihoon Lee [email protected]
Date: Wed Jul 5 12:28:40 2017 +0200

Move ImuData to sensor, add ImuData proto. (#381)

commit 9b48ba5ff48d76ea281e0d2e4773735ac273fa95
Author: Holger Rapp [email protected]
Date: Wed Jul 5 12:16:29 2017 +0200

Remove unused code. (#384)

commit 7434e963697c2876add9658e1ff1af6399589215
Author: Wolfgang Hess [email protected]
Date: Tue Jul 4 17:20:13 2017 +0200

First rough implementation of loading a map. (#382)

This implements loading of serialized maps in 2D:
We insert all submaps at the serialized optimized pose into
the pose graph and remove their poses from the optimization.

Related to #197 and #315.

commit 31f77a01d2b70cb8385be352034dc7172fd7c19d
Author: Wolfgang Hess [email protected]
Date: Tue Jul 4 12:11:54 2017 +0200

Serialize submaps. (#380)

commit 5396156968acb8a25f5c0a0a18c7020cd87fbb96
Author: Brandon D. Northcutt [email protected]
Date: Mon Jul 3 08:59:55 2017 -0700

Submap serialization support. (#376)

commit 03b9285034373528a497f09c6330e7b947a78898
Author: Wolfgang Hess [email protected]
Date: Mon Jul 3 15:23:15 2017 +0200

Add support for serializing to a proto stream. (#379)

Also changes the ground truth tools to read from such a file.

This resolves #335. Related to #253.

你可能感兴趣的:(logfile文件)