Wolfgang Hess
db45c4ef78
Determine the trajectory that is blocking progress. ( #154 )
...
When processing offline data determining which trajectory needs more
data before processing can continue is surprisingly tricky. We thus
expose this information at the map builder to avoid duplicating this
logic.
2016-12-06 17:04:45 +01:00
Wolfgang Hess
ead4d03b16
Compute the common start time per trajectory. ( #153 )
...
In the multi-trajectory case, other trajectories should not influence which
data gets dropped. This is especially the case if all trajectories are
added before any of their data. In this case, data before the start of the
last trajectory was dropped.
2016-12-06 15:22:16 +01:00
Wolfgang Hess
f3526bd252
Move the OrderedMultiQueue implementation out of the header. ( #152 )
2016-12-06 14:09:44 +01:00
Wolfgang Hess
0e826377c4
Add tool to compare to ground truth. ( #148 )
...
This computes metrics based on a SLAM result and a relations
file containing ground truth data.
2016-11-30 15:18:26 +01:00
Wolfgang Hess
51a0ec06a1
Add support for multi-trajectory to 3D SLAM. ( #146 )
2016-11-28 12:52:45 +01:00
Wolfgang Hess
318607ccd1
Add full submap scan matching in 3D. ( #145 )
2016-11-28 11:09:53 +01:00
Wolfgang Hess
88e4ea2866
Prepare 3D precomputation grid for full submap matches. ( #144 )
...
Removes an optimization to improve the bounds computed
via the precomputation grid in 3D that takes the limited
search window into account.
This is to allow reusing the same precomputation grids
for full submap matches.
2016-11-25 15:45:26 +01:00
scturtle
17a3393694
Fix `to_remove`. ( #143 )
2016-11-24 15:16:35 +01:00
Wolfgang Hess
4c9c77034b
Remove UKF-related debug output. ( #142 )
2016-11-23 14:27:36 +01:00
Wolfgang Hess
574a56bbbc
Remove the UKF from local 2D SLAM. ( #140 )
...
Changes default configuration to log loop closure matches.
2016-11-23 12:37:55 +01:00
Damon Kohler
a15ada59f4
Switch to new ceres-solver package. ( #139 )
2016-11-22 16:33:14 +01:00
Damon Kohler
015519cf23
Adds support for inverted LaserScan messages. ( #138 )
2016-11-21 17:28:50 +01:00
Damon Kohler
a39bbff70c
Removes odometer covariance from public API. ( #137 )
2016-11-21 12:34:52 +01:00
Damon Kohler
5136a3a81e
Removes LaserFan from public API. ( #136 )
2016-11-21 10:30:57 +01:00
Damon Kohler
c386bf050d
Renames Odometry to Odometer. ( #135 )
2016-11-21 08:27:19 +01:00
Wolfgang Hess
7dc3ab1e9e
Change dropping data before start to be idempotent. ( #133 )
...
We drop as much data from each queue as possible without changing the
start time that would be determined if we only saw the dispatched
data, i.e. we retain one piece of data not beyond the common start time.
This makes the process idempotent.
2016-11-18 12:49:33 +01:00
Wolfgang Hess
e703b1cea3
Fix multi-trajectory loop closure attempts. ( #131 )
...
Before, old scans with new submaps were always matched as if they
belong to connected trajectories.
2016-11-18 10:36:30 +01:00
Damon Kohler
3f0eeec429
Adds configuration files test. ( #129 )
2016-11-18 09:48:54 +01:00
Holger Rapp
4522fc49ad
Simplify LuaParameterDictionary. ( #132 )
2016-11-17 17:58:51 +01:00
Wolfgang Hess
8f58efe79b
Formatting fixes. ( #130 )
2016-11-17 15:46:29 +01:00
Damon Kohler
03c8e8d195
Replace USES_ROS through Catkin auto-detection. ( #128 )
2016-11-17 11:01:46 +01:00
Holger Rapp
ac92dd8cbf
Support by-floor XRay generation. ( #126 )
2016-11-17 01:49:17 -08:00
Damon Kohler
c8f33ee853
Drop sensor data until progress can be made. ( #124 )
...
The sensor collator now finds a common starting time for all sensor
data. For example, this prevents us from processing arbitrarily many IMU
packets before our first scan match and makes it possible to auto pause
and resume a trajectory in the event of sensor data interruption.
2016-11-17 09:11:00 +01:00
Holger Rapp
6777654202
Adds a heuristic to detect floors in a trajectory. ( #125 )
2016-11-16 05:16:40 -08:00
Damon Kohler
a74319cf1a
Pulls out collator.cc. ( #123 )
2016-11-15 14:17:23 +01:00
Damon Kohler
8cd3178c69
Moves 2D laser options into 2D trajectory builder. ( #114 )
2016-11-15 13:24:58 +01:00
Wolfgang Hess
1de387cba9
Improvement of 2D/3D consistency and cleanup. ( #122 )
2016-11-11 14:33:06 +01:00
Wolfgang Hess
97d5cb2a8b
Remove unused Imu proto message. ( #121 )
2016-11-11 12:22:41 +01:00
Wolfgang Hess
a6aacd0647
Fix and add CHECKs when writing X-ray output. ( #120 )
...
Before the allocation was too large which resulted in excessive memory
consumption. Also adds CHECKs for the stride size and the success of the Cairo
writer function.
2016-11-08 16:14:35 +01:00
Wolfgang Hess
c80c2eaa40
Unify 2D/3D constraints. ( #119 )
...
This removes Constraint2D and instead embeds 2D constraints in a
Constraint3D which is renamed to Constraint.
2016-11-08 14:47:03 +01:00
Wolfgang Hess
3e64a803a4
Consistently name weight parameter. ( #116 )
...
All parameters scaling optimization residuals to determine relative
importance are now consistently named.
2016-10-28 16:39:45 +02:00
Damon Kohler
32b5beb225
Move single caller function to call site. ( #113 )
2016-10-28 16:27:06 +02:00
Wolfgang Hess
1081473be9
Fix FindGMock.cmake and the CMake modules installation. ( #112 )
2016-10-28 15:43:13 +02:00
Damon Kohler
b94880c56e
Improves parameter names. ( #111 )
2016-10-28 13:26:13 +02:00
Atsushi Watanabe
f45eaa9c67
Supports system-wide installed GMock ( #105 )
...
This commit fixes #73 .
Tested using docker ubuntu:trusty and native Fedora 24 with gmock 1.8.
2016-10-28 12:23:21 +02:00
Wolfgang Hess
404bbfcc2b
Add SubmapToProto to the map builder. ( #110 )
2016-10-27 16:20:58 +02:00
Wolfgang Hess
a5b81ff159
Allow continuing after running a "final" optimization. ( #109 )
...
And a tiny cleanup of the submap visualization query.
2016-10-27 15:25:57 +02:00
Damon Kohler
a33bddd4cd
Removes unneccessary num_available_packets() API. ( #108 )
2016-10-27 13:06:49 +02:00
Damon Kohler
224b068fe9
CHECKs that all queues are finished on destruction. ( #106 )
2016-10-27 11:45:27 +02:00
Damon Kohler
15f9244577
Removes sensor packet period histogram. ( #104 )
2016-10-26 15:23:37 +02:00
Holger Rapp
6e6d2decaa
Fixes for Xenial. ( #103 )
...
- Remove use of get_property(LOCATION in cmake where this is easy. This
reduces build warnings sufficiently to not drown out other important
information.
- Mark cairo a dependency in package.xml so rosdep pulls it in.
Tested using docker -t ros:kinetic, which is based on Xenial.
2016-10-26 14:23:00 +02:00
Wolfgang Hess
651a7a23e7
Rename trajectory and submap visualization protos. ( #101 )
2016-10-26 08:45:52 +02:00
Wolfgang Hess
4917dd65ce
Add serialization of the sparse pose graph. ( #97 )
2016-10-25 16:56:26 +02:00
Holger Rapp
a3157239b7
Adds a voxel filtering and moving objects removing points processor. ( #99 )
2016-10-25 16:36:56 +02:00
Holger Rapp
915dbd1894
Adds a CountingPointsProcessor. ( #98 )
...
It outputs the number of points processed at its stage in the pipeline
and is useful for understanding how many points a filter removed.
2016-10-25 16:09:47 +02:00
Holger Rapp
2f42c990f6
Adds a fixed sampling points processor. ( #96 )
2016-10-25 15:37:47 +02:00
Holger Rapp
46f8883d6a
Make all 'PointProcessor's registerable with the PipelineBuilder. ( #95 )
...
Also the default instance has now knowledge of all of Cartographer's
'PointsProcessor's by default.
2016-10-25 15:18:32 +02:00
Holger Rapp
188dcb57e5
Adds a class that can build a points processing pipeline out of a Lua configuration. ( #94 )
2016-10-25 12:27:58 +02:00
Atsushi Watanabe
90e2f02e9d
Add a PCD writing points processor. ( #92 )
2016-10-25 12:11:44 +02:00
Damon Kohler
05adba7c51
Improves sensor data queue logging. ( #93 )
2016-10-25 11:09:08 +02:00