Commit Graph

225 Commits (c90b887bfbb62aba873e60bddb2ccbcac6c826c3)

Author SHA1 Message Date
Wolfgang Hess c90b887bfb Adds API to add trimmers. (#314)
This is related to #283. First to be implemented for
pure localization and 2D SLAM.

PAIR=SirVer
2017-06-06 17:07:30 +02:00
Wolfgang Hess 56529e5968 Tiny cleanup of the MapBuilder. (#313)
GetTrajectoryConnectivity() was a convenience function.
Instead, sparse_pose_graph() should be used to get access to
GetConnectedTrajectories().
2017-06-06 15:20:10 +02:00
Wolfgang Hess ba4f8ca9ee Tiny cleanup. (#312) 2017-06-02 16:44:27 +02:00
Holger Rapp 0aa9730518 Announce Open House Hangout. (#311) 2017-06-02 14:00:25 +02:00
Wolfgang Hess 565e9c3eff Simplify the handling of weights in the optimization problem. (#309)
This replaces the 3x3 (2D) or 6x6 (3D) matrix by the weights
for the translational and rotational component. The matrices
only contain these values now anyway, so this simplifies
the code and increases performance.

Also removes 2D from the UKF implementation which has not been
used for quite some time now.
2017-06-01 17:03:49 +02:00
Wolfgang Hess 92f154f561 Also use fixed covariances in 3D SLAM. (#308)
This follows #307.
2017-06-01 15:04:07 +02:00
Wolfgang Hess a2e52f81cf Remove 2D scan matcher covariances. (#307)
This replaces the scaled covariances derived from the Ceres
scan matcher by directly configurable weights. Using covariances
did not provide the expected benefit, and replacing the scaling
matrix by two values will allow a faster evaluation of the cost
function in the future.
2017-05-31 11:56:32 +02:00
Wolfgang Hess 4bb02c7240 Add XRayPointsProcessor::bounding_box(). (#306)
Changes XRayPointsProcessor to use one bounding box for all floors.
Makes the bounding box accessible via a public member function.
2017-05-24 14:46:17 +02:00
Wolfgang Hess 3d0d1e46b5 Remove unused code. (#304) 2017-05-23 14:17:20 +02:00
Wolfgang Hess 515db3b4a9 Minor fixes. (#303)
Extract mapping_2d::CreateLocalTrajectoryBuilderOptions() into its own file.
Loop initialization fix in the trajectory_connectivity_test.
Thread safety fixes in sparse_pose_graph.
2017-05-22 14:55:05 +02:00
Wolfgang Hess 2d416589a7 Adds a NestedVectorsById<> class template. (#300) 2017-05-19 16:58:21 +02:00
Wolfgang Hess 0bba56428f Remove flat indices. (#299)
This cleans up scan_index_to_node_id_, num_nodes_in_trajectory_,
scan_index. Related to #256.
2017-05-19 14:01:59 +02:00
Damon Kohler 34b750977b Do not ignore docker history command errors. (#298) 2017-05-19 08:29:09 +02:00
Wolfgang Hess 56fc2a9a92 Fix 3D SLAM loop closure issues. (#296)
3D submaps are now oriented approximately gravity aligned.
This is so that accumulating error in the local SLAM frame is
no longer a problem for finding loop closures. It also ensures
that the z search window size is approximately in the gravity
direction.

We now also pass an estimate of gravity orientation when doing
multi-trajectory matches. Otherwise trajectories starting with
different orientation relative to gravity could not be connected.

The gravity alignment is currently derived from the ImuTracker.
It might be possible to further improve on this by using the
latest gravity direction from the optimized poses.
2017-05-18 16:55:11 +02:00
Damon Kohler 22f673655f First unstable development release (#295) 2017-05-18 13:32:08 +02:00
Wolfgang Hess 9033fad1ab Always use the origin as the origin for grids. (#294)
Also removes convenience functions from mapping_3d::Submap.

PAIR=SirVer
2017-05-18 12:00:45 +02:00
Wolfgang Hess 33ce5dee37 Improve debug output and tiny bug fix. (#293)
The full submap search window in 3D SLAM was
not calculated correctly.
2017-05-17 15:21:39 +02:00
Wolfgang Hess 6c9e24d7c5 Keep 'trajectory_nodes_' per trajectory. (#291)
Fixes #256.

PAIR=SirVer
2017-05-17 11:15:34 +02:00
Holger Rapp 5aa968748e Sparse pose graph no longer uses Submaps* for trajectory identification. (#290)
Related to #256.

PAIR=wohe
2017-05-16 14:24:49 +02:00
Holger Rapp 8612f5e6e5 ConstantData now has a trajectory_id. (#289)
Related to #256.

PAIR=wohe
2017-05-16 11:42:18 +02:00
Wolfgang Hess 5effc4dac7 Remove flat indices from SparsePoseGraph::GetTrajectoryNodes(). (#288)
Related to #256.

Also removes ComputeMapLimits with is moved to Cartographer ROS.

PAIR=SirVer
2017-05-16 10:51:08 +02:00
Wolfgang Hess 690d1893a7 Remove unused code. (#287) 2017-05-15 16:57:02 +02:00
Holger Rapp 8392a7e62c Change SubmapState.scan_indices -> node_ids (#286)
Related to #256.

PAIR=wohe
2017-05-15 16:31:59 +02:00
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