Commit Graph

53 Commits (3f0bb0eec5ba8a8c7c55d258483f015c044e7afa)

Author SHA1 Message Date
Kevin Daun 41f17e57cd Introduce Grid and RangeDataInserter (#1108)
- Introduce `RangeDataInserterInterface` as common interface for all range data inserters
- Introduce a minimal `GridInterface` as a base for a common interface for 2D and 3D grids 
- Rename `RangeDataInserter2D` to `ProbabilityGridRangeDataInserter2D`
- Move grid generation logic from `Submap2D` to `ActiveSubmaps2D`
- Update proto and configuration structure to mirror the code structure - backwards compatibility is maintained 
 - Step towards [RFC 0019](https://github.com/googlecartographer/rfcs/blob/master/text/0019-probability-grid-and-submap2d-restructuring.md)
2018-04-25 16:51:30 +02:00
Christoph Schütte 337e594662 Introduce option to enable SSL encryption for LocalTrajectoryUploader (#1084) 2018-04-18 16:47:03 +02:00
Christoph Schütte 214606457c Switch to batch uploading for cloud based mapping and add retries (#1070) 2018-04-18 14:02:43 +02:00
Michael Grupp 4351bdb3c8 Separate global optimization constraints for local SLAM and odometry (#1029)
Implements [RFC-0018](https://github.com/googlecartographer/rfcs/blob/master/text/0018-odometry-use-in-optimization-problem.md)
2018-04-10 14:44:43 +02:00
Alexander Belyaev def4048e95
Make the cloud_uplink address empty by default. (#974) 2018-03-09 16:57:58 +01:00
Christoph Schütte f49e798ef9 Start DataUploader implementation, implement Add/FinishTrajectory (#811)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-01-12 23:16:29 +01:00
gaschler 6125766c81 Define default num_event_threads config. (#785)
(This was not covered by tests because they manually set it to 1.)
2018-01-04 13:51:30 +01:00
Christoph Schütte e596b75113 Add binary for cartographer_grpc_server. (#747)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-11 19:09:52 +01:00
Wolfgang Hess 055728af93 Rename options for consistency. (#686)
"scan" is better named "node" if it refers to a node in global SLAM.

"penalty factor" is renamed "weight" for consistency with other similar options.

"scans_per_accumulation" is renamed "num_accumulated_range_data" to match the code and since the accumulated data is not called "scan".
2017-11-17 10:52:22 +01:00
Wolfgang Hess 16d62f45f0 Rename sparse_pose_graph options. (#682)
The default pose graph configuration is now included as "pose_graph.lua"
and available as POSE_GRAPH.

[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)
2017-11-16 11:48:25 +01:00
Christoph Schütte 5896ead32e Introduce timeout for global constraints. (#517)
This PR introduces a new option that specifies the number of seconds
after which global matcher searches are performed if no recent global
constraints have been found between the submap's and the node's
trajectory.
2017-09-14 12:11:54 +02:00
Wolfgang Hess 22f41d8e37 Store rotational histogram as part of the node data. (#503)
The compressed point cloud is no longer stored as part of the
node data to reduce memory consumption.
2017-09-07 11:01:03 +02:00
Wolfgang Hess a7fe8bd2ab Add filtered point cloud to TrajectoryNode::Data for 2D. (#483) 2017-08-28 11:17:53 +02:00
jie 42d8a8f005 Add filtered point clouds to TrajectoryNode::Data for 3D. (#482) 2017-08-25 16:56:50 +02:00
Christoph Schütte 96b71e227f Add histograms for pose residuals (#478)
* WIP Add histograms for pose residuals

* Address reviewers comments

* Address more comments.
2017-08-25 11:39:56 +02:00
jie 2fd2e86351 Add fixed frame pose weight into optimization problem options. (#477) 2017-08-24 15:40:48 +02:00
Wolfgang Hess 4d11a226ff Expose low resolution matching scores. (#470)
This is needed in preparation of adding a low resolution score histogram.
2017-08-23 17:48:49 +02:00
zjwoody 2e53586818 Also check low resolution match for 3D loop closure. (#468)
Related to #369.
2017-08-22 17:29:20 +02:00
Wolfgang Hess 11dbdf91b9 Remove unused code and option for odometry states. (#451) 2017-08-11 17:38:48 +02:00
Holger Rapp 3859da7ea4 Better tuning for 2D. (#428) 2017-07-26 10:50:01 +02:00
Wolfgang Hess 1bce14b7b5 Adds accumulation of range data to 2D. (#408)
This mostly follows the implementation as done for 3D.

Towards googlecartographer/cartographer_ros#212.
2017-07-18 12:10:40 +02:00
Moritz Münst 3f4d795c3e Add pure localization parameter to trajectory builder options. (#389) 2017-07-05 16:55:06 +02:00
Holger Rapp 3346474963 Grow the ProbabilityGrid as needed instead of preconfiguring its size. (#387)
This removes the 'half_length' option.

PAIR=wohe
2017-07-05 14:17:04 +02:00
Wolfgang Hess 54bd81a78b Remove UKF related code and configuration. (#378) 2017-06-30 13:19:13 +02:00
Wolfgang Hess 17a22edebc Change local 3D SLAM to not use a UKF. (#375)
This follows the 2D local SLAM in implementing a simple
constant velocity model and allows integrating odometry and
rotation information from an IMU.
2017-06-30 11:49:22 +02:00
Damon Kohler f765e55ea9 Use multi-res scan matching for loop closures too. (#374)
Improves loop closure scan matcher refinement.
2017-06-30 09:30:09 +02:00
Wolfgang Hess 19da0ab7c8 Gravity align in local 3D SLAM. (#373) 2017-06-28 16:17:18 +02:00
Wolfgang Hess f88fcec851 Remove the unused OptimizingLocalTrajectoryBuilder. (#368)
It has not been used for a long time and has to be replaced by
a better implementation.
2017-06-27 15:44:46 +02:00
Wolfgang Hess 2df8bcde61 Remove unused 'imu_gravity_variance' option. (#363) 2017-06-26 13:23:58 +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
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
Yutaka Takaoka 522b37979a Enable multiple configuration for multi-trajectory (#248) 2017-05-08 11:58:53 +02:00
Wolfgang Hess 79dc1f848f Remove 'laser' references from parameter names. (#259)
Related to #250.
2017-05-04 15:38:41 +02: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 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 71c951b370 Remove the 'log_residual_histograms' option. (#166)
This option only existed in 2D. Also other refactoring to make the 2D
sparse pose graph optimization more similar to 3D.
2016-12-19 17:57:12 +01:00
Wolfgang Hess 5af133c0dd Improve the sparse pose graph optimization. (#165)
Removes the loss function for intra-submap constraints in 3D SLAM,
as it is already done in 2D. Also removes a duplicate call to the
solver in 2D, and code cleanup.
2016-12-19 17:02:05 +01:00
Wolfgang Hess 574a56bbbc Remove the UKF from local 2D SLAM. (#140)
Changes default configuration to log loop closure matches.
2016-11-23 12:37:55 +01:00
Damon Kohler a39bbff70c Removes odometer covariance from public API. (#137) 2016-11-21 12:34:52 +01:00
Damon Kohler 8cd3178c69 Moves 2D laser options into 2D trajectory builder. (#114) 2016-11-15 13:24:58 +01:00
Wolfgang Hess 3e64a803a4 Consistently name weight parameter. (#116)
All parameters scaling optimization residuals to determine relative
importance are now consistently named.
2016-10-28 16:39:45 +02:00
Damon Kohler b94880c56e Improves parameter names. (#111) 2016-10-28 13:26:13 +02:00
Wolfgang Hess a5b81ff159 Allow continuing after running a "final" optimization. (#109)
And a tiny cleanup of the submap visualization query.
2016-10-27 15:25:57 +02:00
Wolfgang Hess 8238ad8bc3 Do not accumulate scans by default for 3D SLAM. (#30) 2016-10-04 14:59:09 +02:00
Wolfgang Hess d2962c004f Remove the 'also_match_to_new_submaps' option. (#29)
Instead, using a different constraint_builder.sampling_ratio is preferred.
2016-09-30 16:00:10 +02:00
Wolfgang Hess e526a7022f Remove covariance computation from branch-and-bound. (#27)
These covariances were only used in 2D and are only an estimate.
Following 3D, we change 2D to use the (local) covariance computed
using Ceres.
2016-09-23 14:27:19 +02:00
Wolfgang Hess 14355a91a1 Remove dead code. (#26) 2016-09-22 17:53:32 +02:00
Wolfgang Hess 0796d50b00 Removes max_covariance_trace option. (#25)
This option is no longer really useful to predict outliers.
It is removed and other parameters scaled to minimize the change
in behavior. And related cleanup.
2016-09-22 11:35:47 +02:00
Damon Kohler 83a29df102 Renames expect_imu to use_imu. (#24) 2016-09-08 16:36:05 +02:00