Commit Graph

1152 Commits (4d90a298772d1028fe9f08b429448197da0f2466)

Author SHA1 Message Date
Jihoon Lee f26e4366c9 Make SparsePoseGraph::constraints() public. (#284) 2017-05-15 16:06:20 +02:00
Wolfgang Hess 7d43eaa08c Keep node data per trajectory in the optimization problem. (#282)
Related to #256.

PAIR=SirVer
2017-05-15 14:09:45 +02:00
Holger Rapp c084624958 Turn submap state into a per trajectory list. (#281)
Related to #256.
2017-05-15 12:12:30 +02:00
Wolfgang Hess fde9272533 Adds mapping:NodeId for Constraint. (#279)
Also extracted mapping::SubmapId into an id.h file.

Related to #256.

PAIR=SirVer
2017-05-11 17:17:12 +02:00
Wolfgang Hess 32583e0c5d Use trajectory IDs for global samplers. (#278)
Related to #256.

PAIR=SirVer
2017-05-11 15:08:27 +02:00
Holger Rapp 1a9b18db69 Change num_submaps_in_trajectory to using trajectory IDs. (#277)
Related to #256.
2017-05-11 14:32:55 +02:00
Holger Rapp 7b1915b906 Fix bug in ToProto introduced in #275. 2017-05-11 14:02:04 +02:00
Holger Rapp e6a6bab351 Make TrajectoryConnectivity use trajectory IDs. (#275)
Related to #256.
2017-05-11 13:36:12 +02:00
Holger Rapp 95f0d013c6 Rename Constraint::i -> submap_id. (#274)
Related to #256.
2017-05-11 11:43:47 +02:00
Holger Rapp 660eb341ff Optimization problem only deals with trajectory IDs now. (#273)
Related to #256.

PAIR=wohe
2017-05-10 17:12:38 +02:00
Wolfgang Hess 926b0320cb Use per-trajectory SubmapData in OptimizationProblem. (#272) 2017-05-10 16:28:58 +02:00
Holger Rapp 94e8eec41d Use (trajectory_id, submap_index) as submap IDs in places. (#271)
Replace flat submap index through (trajectory_id, submap_index) in Constraints.
Related to #256.

PAIR=wohe
2017-05-10 12:26:58 +02:00
Holger Rapp 45de59b116 Move trajectory id mapping into the SparsePoseGraph. (#270) 2017-05-10 08:23:57 +02:00
Holger Rapp 524b613f2c `submap_pose`s are now owned by the OptimizationProblem. (#269) 2017-05-09 17:24:48 +02:00
Holger Rapp 20e9cde53d Fix race condition in extrapolation of submap poses. (#268)
PAIR=wohe
2017-05-09 15:21:30 +02:00
Wolfgang Hess c664d7b966 Comply to CMake's CMP0037. (#267)
Test target names are generated from the directory and
source filename. Now "/"s are replaced by "."s which are
allowed by CMP0037.
2017-05-08 18:09:39 +02:00
Holger Rapp 772d02c00e Move ConstantData into the SPG (#263) 2017-05-08 17:10:07 +02:00
Wolfgang Hess 9194c8679b Clean up. (#266)
Move trajectory builder options.
Remove the barely used Interval template.
Inline the remaining CMakeLists.txt subdirectories.
2017-05-08 15:29:13 +02:00
Yutaka Takaoka 522b37979a Enable multiple configuration for multi-trajectory (#248) 2017-05-08 11:58:53 +02:00
Holger Rapp e2de27cded Remove dead code. (#262) 2017-05-08 11:06:33 +02:00
Wolfgang Hess 79dc1f848f Remove 'laser' references from parameter names. (#259)
Related to #250.
2017-05-04 15:38:41 +02:00
Jochen Sprickerhof 12b3cc0d7b Support new Debian version of gmock and add testing for debian systems (#236) 2017-05-04 12:47:12 +02:00
Wolfgang Hess 6d2feaa8c7 Build and run all tests found by the glob. (#258) 2017-05-03 16:55:13 +02:00
Wolfgang Hess ff06e37579 Remove the LaserScan proto. (#257) 2017-05-03 16:20:04 +02:00
Holger Rapp cdd366bab4 Remove intensities - they are unused in SLAM. (#247) 2017-05-03 13:44:15 +02:00
Holger Rapp 1cdcd12a8b Make missing case statements an error. (#245) 2017-05-02 16:56:10 +02:00
Wolfgang Hess 2f3a9f4dcc Add support for files containing multiple protos. (#241)
This adds code for reading and writing files that contain
sequences of compressed protocol buffer messages.
2017-04-28 15:05:42 +02:00
Holger Rapp b4b83405ce Fix divison by zero. (#240)
If mapping_2d::LocalTrajectoryBuilder::AddHorizontalRangeData is called
twice in a row with the same `time`, the `velocity_estimate_` becomes
`inf` which led to `inf`s in the optimization problem, which led to
failures inside Ceres.

Fixes #233.
2017-04-26 14:14:24 +02:00
catskul 245e356449 Const-ify ProbabilityGrid::ToProto (#238) 2017-04-25 09:34:17 +02:00
Wolfgang Hess af22dc6fe1 Simplify submap versions. (#235)
We now only keep track of the number of inserted range data.
2017-04-21 14:12:08 +02:00
Mac Mason 92d360a8f2 Multi-trajectory SparsePoseGraph::ToProto. (#227)
Multi-trajectory SparsePoseGraph::ToProto.
Remove obsolete TrajectoryNode::ToProto.
Add GetSubmapStates.
2017-04-19 17:01:03 +02:00
Mac Mason 4f1914b2b4 Remove extraneous Eigen/Geometry include (#232) 2017-03-31 08:46:48 +02:00
Juraj Oršulić 2854c485ef Enable building in Debug mode if the user really wants this (#230)
Also inform the user about slow performance if they do this.
2017-03-30 17:00:50 +02:00
Juraj Oršulić cb0d1a6d5a Remove inclination warning (#231)
Resolves #194.
2017-03-30 16:39:53 +02:00
Juraj Oršulić 28da207c4d Sphinx build fix (#229)
This was missed in #203, where uses of absolute CMAKE_BINARY_DIR were
changed to PROJECT_BINARY_DIR.
2017-03-30 16:23:19 +02:00
William Woodall bda68c33d9 Fix warning about struct being redefined as class (#228) 2017-03-28 08:57:13 +02:00
Mac Mason 1e5b49ce62 Minor sparse_pose_graph.proto improvement (#226) 2017-03-24 09:03:36 +01:00
Wolfgang Hess 4fa190d316 Rename LaserFan to RangeData. (#224)
LaserFan is misleading since range data can come from
various sensor types.
2017-03-23 14:56:18 +01:00
Wolfgang Hess a2abe45542 Rename CompressedLaserFan to CompressedRangeData. (#223)
CompressedLaserFan is misleading since data can come from a
different type of sensor, e.g. a depth camera.
2017-03-22 13:06:41 +01:00
William Woodall c78f29fdac Adds #include <array> in files that use std::array (#222) 2017-03-20 08:37:47 +01:00
Mac Mason 76868b7edb Adds HybridGrid proto serialization (#220) 2017-03-14 11:44:19 +01:00
Mac Mason 8bf6f101c5 Adds probability grid serialization to proto (#208) 2017-03-09 09:01:10 +01:00
Mac Mason 30b9fcce34 Claim an old TODO. (#209) 2017-03-01 10:26:48 +01:00
Juraj Oršulić 370e1e52df Enable adding as a CMake subproject (#203)
This is done by replacing CMAKE_*_DIR variables with PROJECT_*_ variables so
that CMake uses correct paths when libcartographer is a subproject

Move AllFiles.cmake into the project binary dir instead of the root CMake binary dir,
use a project-dependent detect_changes target name

This makes overriding it from an upper level CMakeLists.txt possible, which is required
when doing a super-build which doesn't require installing libcartographer.
2017-02-09 15:57:54 +01:00
Wolfgang Hess b2175f0d93 Remove covariance from the 3D Ceres scan matcher. (#200)
Instead of passing around fake covariances generated by the scan matcher,
we introduce appropriate values where they are needed.
2017-02-08 15:22:28 +01:00
Wolfgang Hess b4a1021538 Formatting changes. (#199) 2017-02-08 14:30:38 +01:00
Holger Rapp ddb3c890a6 Actually check that all points are colored or none. (#192) 2017-01-26 16:49:25 +01:00
Wolfgang Hess 97bb74157f Remove redundant "virtual". (#191) 2017-01-26 13:37:02 +01:00
Holger Rapp 2dd912f5e7 Always take std::function<> by value. (#188)
Taking it by reference increases the chance of dangling references
without a significant performance gain.
2017-01-26 11:35:09 +01:00
Juraj Oršulić f047ad35c1 Add Ceres sparse linear algebra library dependency (#189)
Ceres can be built without linking against a sparse linear algebra library
such as SuiteSparse or Eigen-sparse. This can happen if the user does not
have all the dependencies, which normally get installed when following
the Cartographer installation guide. In this case, Cartographer will
work, but without loop closures, because Ceres is not working fast enough
(the loop closure optimization without a sparse linear algebra library
is a few orders of magnitude slower). Another bad side effect of this is
that Cartographer will hang when finalizing the trajectory or on exit,
because all loop closing optimizations will be waiting in a queue which
can take hours to process.

When Ceres is regularly built against a sparse linear algebra library, as it
is supposed to be, it declares a component named SparseLinearAlgebraLibrary.
Because normal functioning of Cartographer seemingly depends on this being
present, it is introduced here in Cartographer as a required Ceres component
dependency.
2017-01-26 11:14:58 +01:00