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
Holger Rapp
965caf7470
Make intensities a separate channel in PointsBatch. ( #187 )
...
And add a PointsProcessor that translates from intensities to RGB.
Fixes #171 .
2017-01-24 15:08:41 +01:00
Holger Rapp
0fe51185be
Color X-Rays using the color of points. ( #185 )
...
Colorless points are considered to be black. Creating assets with
intensities will give now brighter X-Rays. I plan to fix this by adding
intensities besides colors into PointBatch and having a PointsProcessor
that converts intensities into colors.
2017-01-23 14:18:08 +01:00