Commit Graph

911 Commits (1b88fb8e90ee4cea0d4c1adf3af0fc98abbdcdbf)

Author SHA1 Message Date
Moritz Münst 4c3059e088 Improve code comments. (#243) 2017-06-26 14:32:44 +02:00
Wolfgang Hess 2df8bcde61 Remove unused 'imu_gravity_variance' option. (#363) 2017-06-26 13:23:58 +02:00
Holger Rapp 9464b38320 Consistency fix: trajectory_index -> trajectory_id. (#360) 2017-06-26 10:02:51 +02:00
Holger Rapp 7f4f78e451 Fix README formatting. (#359) 2017-06-23 15:48:44 +02:00
Holger Rapp ff37b0bb7d Remove output_debug_images. (#358)
This is now better done by RViz. This also gets rid of the dependency on webp.
2017-06-23 14:53:04 +02:00
Holger Rapp 10318d920e Add slides from yesterday and next date. (#357)
Closes #356.
2017-06-23 13:58:43 +02:00
Wolfgang Hess 9fbb65084b Exclude trimmed submaps from the pose graph serialization. (#354)
Related to #283.
2017-06-21 17:57:08 +02:00
Wolfgang Hess 432cd5dcd3 Delete data of trimmed submaps. (#353)
This is related to #283.

PAIR=SirVer
2017-06-21 16:36:54 +02:00
Juraj Oršulić 0c7b3ee596 Mitigate googlecartographer/cartographer_ros#385 (#351)
Move set_and_check before finding Ceres, because on Ubuntu Zesty,
during finding Ceres, PACKAGE_PREFIX_DIR is overwritten by Eigen.
2017-06-21 15:06:51 +02:00
Holger Rapp 9646b31145 Move GetSubmapData from GlobalTrajectoryBuilder into SparsePoseGraph. (#352)
- Adds a function to query all SubmapData from the SparsePoseGraph.
- Changes MapBuilder::SubmapToProto to take a SubmapId.
- Remove num_submaps().
2017-06-21 14:21:23 +02:00
Holger Rapp 16636cd4e1 Remove friends declaration in Submap. (#350) 2017-06-21 12:49:44 +02:00
Wolfgang Hess 0fbdf6d0ec Add ground truth proto support for trajectory evaluation. (#349)
This adds support of GroundTruth protos in addition to
text files.

Fixes the ground truth generation code to skip outliers.

Improves the ground truth generation to use expected
relative poses instead of the solution.

Writes constraints including the roll and pitch from the
node for 2D SLAM, so that constraints correctly capture
the expected transform between the 3D poses of scan and
submap in 2D SLAM.

Related to #239.
Related to #310.
2017-06-21 11:33:30 +02:00
Holger Rapp 58bb70f53a Change Submaps to only track the two active Submaps. (#348) 2017-06-20 18:21:42 +02:00
Holger Rapp f242b5242a Use shared_ptr<> for Submap objects. (#347)
Also remove `finished_submap` and `matching_submaps`. These are now
implicit.

Related to #283.

PAIR=wohe
2017-06-19 17:23:48 +02:00
Holger Rapp c8f02264a4 Removes GetSubmapId from SparsePoseGraph. (#346)
PAIR=wohe
2017-06-19 15:46:47 +02:00
Holger Rapp 5c389cdf4a Remove mapping::Submaps. (#345)
PAIR=wohe
2017-06-19 15:24:06 +02:00
Holger Rapp b944b19159 Make use of Submap in 2D similar to 3D. (#343)
Use mapping_2d::Submap instead of mapping::Submap in 2D.
Use `finished()` instead of `finished_probability_grid()` in 2D.

PAIR=wohe
2017-06-19 14:43:10 +02:00
Damon Kohler 8d94fe85e9 Prepare 0.2.0 release (#344) 2017-06-19 13:22:57 +02:00
Damon Kohler 1c1776a967 Add instructions for releasing. (#342) 2017-06-19 12:00:12 +02:00
Wolfgang Hess 5fa6abe84b Adds a tool to generate ground truth data. (#340)
Fixes #310. Not yet tested.
2017-06-16 17:38:13 +02:00
Wolfgang Hess 12c3795134 Remove direct access to Submaps from the outside. (#339)
PAIR=SirVer
2017-06-16 10:47:11 +02:00
Wolfgang Hess c1e1d03636 Support extrapolating a single submap transform. (#338) 2017-06-14 15:10:36 +02:00
Wolfgang Hess 79eeb7d77a Improve code structure for extrapolation of poses. (#337)
This is in preparation of extrapolating single submap poses
as needed.
2017-06-14 12:49:17 +02:00
Holger Rapp 30de09bee8 Adds Cartographer logos. (#336) 2017-06-14 12:14:08 +02:00
jordansmithgoogle 7ce73858ef Adds a HybridGridPoints processor (#323) 2017-06-14 11:34:59 +02:00
Holger Rapp cff0c73857 Converted Submap from struct to class. (#333) 2017-06-12 17:28:38 +02:00
Holger Rapp 2d75f4ef56 Move SubmapToProto from Submaps -> Submap. (#332)
PAIR=wohe
2017-06-12 16:27:51 +02:00
Holger Rapp 521666ce55 Trim node data. (#331)
Also, remove trimmed nodes from proto serialization.

PAIR=wohe
2017-06-12 15:20:49 +02:00
Holger Rapp f68da37c6e Drop trajectory_id from TrajectoryNode. (#330)
PAIR=wohe
2017-06-12 14:28:16 +02:00
Wolfgang Hess 1a376c07b2 Change submap state handling in 3D. (#327)
This follows the new code in 2D. Also adds a check that
new constraints are only attempted for finished submaps.
2017-06-09 17:40:22 +02:00
Wolfgang Hess f07f888dab Remove the deque for constant node data. (#326)
This is needed in preparation of deleting nodes.
Related to #283.
2017-06-09 16:53:49 +02:00
Holger Rapp 0c3aa32ad2 Adds slides and announce next open house. (#321) 2017-06-09 15:10:20 +02:00
Holger Rapp b427259214 Mark trimmed Submaps and remove from scan matching. (#319)
Related to #283.

PAIR=wohe
2017-06-07 15:52:24 +02:00
Holger Rapp c1d4d08a1d Move AddProbabilityGridToResponse to the Submap object. (#318)
Working towards a thread-safe Submap object. Related to #283.

PAIR=wohe
2017-06-07 15:13:56 +02:00
Wolfgang Hess b3b9735a4b Remove trimmed constraints. (#317)
Still missing marking submaps and nodes as trimmed.

PAIR=SirVer
2017-06-07 14:23:58 +02:00
Wolfgang Hess a66147f131 Adds a PureLocalizationTrimmer. (#316)
Related to #315.
2017-06-07 12:39:04 +02:00
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