Commit Graph

714 Commits (bb4ba8b319e0ade0a4c1a1f87b87fb95b80d241c)

Author SHA1 Message Date
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
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