Commit Graph

1040 Commits (d0348634b2bc467da6919adbacc4211c810b8cd3)

Author SHA1 Message Date
Damon Kohler 4e9c3d69b5 Build all our source files into a single library. (#164) 2016-12-20 11:24:08 +01:00
Wolfgang Hess 71c951b370 Remove the 'log_residual_histograms' option. (#166)
This option only existed in 2D. Also other refactoring to make the 2D
sparse pose graph optimization more similar to 3D.
2016-12-19 17:57:12 +01:00
Wolfgang Hess 5af133c0dd Improve the sparse pose graph optimization. (#165)
Removes the loss function for intra-submap constraints in 3D SLAM,
as it is already done in 2D. Also removes a duplicate call to the
solver in 2D, and code cleanup.
2016-12-19 17:02:05 +01:00
Holger Rapp d4687db730 Add License badge. (#163) 2016-12-19 09:19:15 +01:00
Wolfgang Hess 3caf5a4b52 Fix the target_include_directories. (#162)
The Boost include directory was not correctly added, and the
headers of the project where always looked up at the source or
build directory, not where they are installed.
2016-12-14 17:54:53 +01:00
Wolfgang Hess 0937f4f515 Support fixing z during 3D sparse pose adjustment. (#161)
This is in preparation of using the 3D sparse pose graph
optimization for 2D SLAM.
2016-12-14 15:32:23 +01:00
Wolfgang Hess ae490c540d Revert to workaround #158. (#160)
Currently, on xenial/kinetic the transitive dependencies on
libcartographer and its dependencies are not duplicated after
each library that depends on it in the linker command.
2016-12-13 13:57:05 +01:00
Wolfgang Hess efe700a9f3 Fix link dependencies. (#159)
Add dependencies via target_link_libraries as PUBLIC.
It seems the new behavior which defaults to PRIVATE was
used implicitly causing transitive dependencies to be
omitted.
2016-12-12 14:56:54 +01:00
Damon Kohler 78f5e2f088 Reorder dependency linking to fix Kintetic. (#158) 2016-12-09 14:45:52 +01:00
Damon Kohler 78747eda62 Fix documentation and Docker cache. (#157) 2016-12-09 13:08:43 +01:00
Damon Kohler 0ac570b69f Add Xenial to build matrix. (#156) 2016-12-09 10:57:41 +01:00
Wolfgang Hess 5bbb124b0b Tiny namespace comment fix. (#155) 2016-12-06 17:53:06 +01:00
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