Wolfgang Hess
e479382ecc
Change GetAllSubmapData() to MapById. ( #597 )
2017-10-17 16:03:16 +02:00
Christoph Schütte
3d4650d675
Remove trimmed() from TrajectoryNode ( #596 )
2017-10-17 15:36:07 +02:00
Wolfgang Hess
e5f9815f67
Change submap_data_ in pose graph to MapById. ( #593 )
...
* Change submap_data_ in pose graph to MapById.
2017-10-17 13:13:37 +02:00
Christoph Schütte
fdda1dd091
Switch trajectory_nodes in SPG2D to MapById. ( #592 )
2017-10-17 11:48:23 +02:00
Wolfgang Hess
bcd1be92b1
Adds a bit of terminology documentation. ( #591 )
...
Changes code to match the new documentation.
2017-10-17 10:07:54 +02:00
Wolfgang Hess
76ed37768f
Validate odometry and fixed frame poses. ( #588 )
2017-10-16 15:59:56 +02:00
Christoph Schütte
6b447c4577
Add FindChecked to MapById. ( #586 )
...
* Add FindChecked to MapById.
2017-10-16 14:15:53 +02:00
Christoph Schütte
5ed19c15ab
Introduce proxy object for iteration over trajectory ids. ( #585 )
...
* Introduce proxy object for iteration over trajecotry ids.
2017-10-16 12:52:53 +02:00
Christoph Schütte
006db45910
Introduce proxy object for range based loops over nodes of trajectory. ( #583 )
2017-10-13 16:44:31 +02:00
Wolfgang Hess
4ab4817104
Add MapById<>::ConstIterator::operator->(). ( #580 )
2017-10-12 16:15:12 +02:00
Wolfgang Hess
cb41777b9e
Introduces mapping::MapById in the 2D pose graph for submaps. ( #578 )
...
PAIR=cschuet
2017-10-12 11:58:59 +02:00
Wolfgang Hess
ea55e837d2
Introduces mapping::MapById in the 2D optimization problem. ( #577 )
...
PAIR=cschuet
2017-10-09 17:33:12 +02:00
Wolfgang Hess
2434e7e40e
Fix crashing bug in localization. ( #575 )
...
Now that we deserialize trajectory nodes, we need to make sure
that the global matcher sampler is added for the map trajectory.
2017-10-06 17:01:04 +02:00
Juraj Oršulić
2f332eca28
Deserialize trajectory nodes. ( #569 )
2017-10-06 16:16:25 +02:00
Juraj Oršulić
bd8a2e6a92
Store node initial pose in constant data. ( #568 )
2017-10-05 16:10:12 +02:00
Wolfgang Hess
51f5a18462
Fix formatting. ( #561 )
2017-10-04 15:58:48 +02:00
Juraj Oršulić
aaaf5ac546
Rename serialization NodeData proto for consistency. ( #540 )
...
node_data should be a member of a node, not the other way around.
2017-10-04 14:13:18 +02:00
Wolfgang Hess
7d0e72dac2
Fix some nits. ( #536 )
...
Most importantly makes mapping_2d::SparsePoseGraph::GetLatestScanTime()
private.
2017-09-28 09:21:07 +02:00
Jihoon Lee
259e22a5fc
Use oldest and newest instead of last two odometry data. ( #530 )
2017-09-14 16:10:03 +02: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
gaschler
31b5a6f1a9
Allow multiple SubmapTextures. ( #519 )
...
This changes submap_visualization.proto that multiple textures can be provided.
As of now, the first texture is generated from the high resolution
grid, which is the same as before.
The second texture is generated from the low resolution grid.
2017-09-13 15:47:02 +02:00
Wolfgang Hess
57d53b6d53
Remove unused code. ( #522 )
...
Removes FindConnectedComponent() from a proto message.
2017-09-12 18:07:18 +02:00
Christoph Schütte
24c2b499dd
Introduce TrajectoryConnectivityState. ( #513 )
...
* Introduce TrajectoryConnectivityState.
This class will be used to track the connectivity state (including the
last connection time) between pairs of trajectories.
2017-09-11 14:43:55 +02:00
Christoph Schütte
1a367f0549
Rename TrajectoryConnectivity ConnectedComponents. ( #510 )
...
* Rename TrajectoryConnectivity ConnectedComponents.
2017-09-07 17:11:06 +02:00
Christoph Schütte
fa306d03ec
Remove reverse_connected_components. ( #507 )
...
Remove reverse_connected_components from SparsePoseGraphs and update
TrajectoryConnectivity to return "connected" for the reflexive case even
if trajectories are unknown.
2017-09-07 15:58:30 +02:00
Wolfgang Hess
476d156f66
Serialize trajectory node data. ( #504 )
...
Related to #253 .
2017-09-07 15:29:12 +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
c8de50bd2b
Add 'gravity_alignment' rotation to each node. ( #500 )
...
In 2D this replaces the 'tracking_to_tracking_2d' transform.
Also changes the 2D SparsePoseGraph to get the full 3D pose.
2017-09-04 16:24:26 +02:00
Wolfgang Hess
e3b6f0afc5
Expose complete poses in 2D SLAM. ( #498 )
...
This changes the trajectory nodes to contain the complete 'pose'
including 'tracking_to_tracking_2d' applied already. Similar for
the 'zbar_ij' as it is returned by 'constraints()'. This allows
2D and 3D to be handled in the same way.
2017-09-01 15:40:21 +02:00
Wolfgang Hess
5673334f0e
Tiny improvement of the gravity estimation. ( #494 )
2017-09-01 10:22:13 +02:00
jie
e2c67a7bde
Fix Lint and ClangTidy warnings. ( #485 )
2017-08-31 13:39:47 +02:00
Christoph Schütte
06e9112bc8
Unify GlobalTrajectoryBuilder across 2D and 3D ( #489 )
...
This PR unifies GlobalTrajectoryBuilder across 2D and 3D by templating
it with the LocalTrajectoryBuilder and the SparsePoseGraph. It thus
includes small changes to interfaces in LocalTrajectoryBuilder and
SparsePoseGraph.
2017-08-30 16:34:26 +02:00
Wolfgang Hess
094b5a4d93
Template dispatching of sensor data. ( #484 )
...
This reduces the amount of code that needs to be written when a
new type of sensor data is introduced by a tiny bit.
Rangefinder data is not yet following this pattern.
2017-08-28 15:43:26 +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
a239b71a6e
Dynamic dispatch of sensor::Data. ( #475 )
...
This ensures at compile time that all types of data are handled,
and only keeps the data needed for each individual type.
2017-08-24 14:17:51 +02:00
jie
0671e8835e
Add interface to process fixed frame pose, e.g. GPS. ( #471 )
2017-08-24 12:49:03 +02:00
Wolfgang Hess
e78e2cb5ad
Extract PoseEstimate into its own file. ( #474 )
...
This is to remove the dependency of GlobalTrajectoryBuilderInterface
on the TrajectoryBuilder.
2017-08-24 12:04:39 +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
Jihoon Lee
2dd2d6f448
Use vector<map<>> instead of vector<deque> for submap_data. ( #422 )
2017-08-23 12:16:42 +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
zjwoody
ac693f3e04
Use separate voxel filter options for 3D loop closure. ( #465 )
2017-08-21 18:01:23 +02:00
Wolfgang Hess
9498cc90ca
Estimate angular velocities from odometry. ( #458 )
...
If no IMU is available we will now use odometry to estimate
angular velocities if available instead of the last poses.
Fixes #453 .
2017-08-16 16:55:39 +02:00
Wolfgang Hess
11dbdf91b9
Remove unused code and option for odometry states. ( #451 )
2017-08-11 17:38:48 +02:00
Wolfgang Hess
e79a918989
Use PoseExtrapolator in the 3D trajectory builder. ( #450 )
...
This replaces the Predict() logic in the 3D trajectory builder.
2017-08-11 17:13:28 +02:00
Wolfgang Hess
6ebfa50291
Use odometry to extrapolate linear motion. ( #443 )
2017-08-08 16:30:53 +02:00
Wolfgang Hess
f60b2cbb16
Pass IMU data as sensor::ImuData. ( #441 )
2017-08-08 14:27:08 +02:00
Wolfgang Hess
eb53b70fec
Towards localization in 3D. ( #438 )
...
Adds loading maps to 3D, deserializes submaps and supports trajectories
without any node. Still no trimming support.
2017-08-02 14:17:50 +02:00
Wolfgang Hess
5369c3ced1
Use the ImuTracker in the PoseExtrapolator. ( #436 )
2017-08-01 10:44:32 +02:00
Wolfgang Hess
b28bc3bc9e
Extract velocity estimation from poses into a function. ( #435 )
2017-07-31 12:31:28 +02:00
Wolfgang Hess
a6d94c07cf
Use IMU data when extrapolating poses if available. ( #434 )
2017-07-28 17:12:12 +02:00
Wolfgang Hess
6035f63860
Add a extrapolator for poses. ( #430 )
...
This will be used in Cartographer ROS to extrapolate poses for tf.
PAIR=damonkohler
2017-07-26 15:21:05 +02:00
Jihoon Lee
30f7de1a32
fix num submaps in trimmer_test ( #424 )
2017-07-26 11:14:22 +02:00
Wolfgang Hess
167047173c
Tiny improvement of HybridGrid::ToProto(). ( #401 )
...
Makes it a member function and adds a check for left over
update markers.
2017-07-11 09:26:07 +02:00
Wolfgang Hess
78bd37ec26
Unify 2D/3D range data in trajectory nodes. ( #396 )
...
Since we only convert compressed range data to protos, we remove the
unused code to serialize (non-compressed) range data which should also
not be used in the future.
2017-07-07 17:07:04 +02:00
Wolfgang Hess
5378ee2adc
Serialize range data. ( #395 )
...
We compress 2D range data before serialization to reduce
output size.
Related to #253 .
2017-07-07 15:39:55 +02:00
Wolfgang Hess
94a848cd46
Rename ScanId to NodeId in the serialization. ( #394 )
...
This is consistent with the naming in the C++ structs.
2017-07-07 13:58:23 +02:00
Moritz Münst
3f4d795c3e
Add pure localization parameter to trajectory builder options. ( #389 )
2017-07-05 16:55:06 +02:00
Wolfgang Hess
9042450aaf
Fix initial pose of loaded submaps. ( #391 )
...
PAIR=SirVer
2017-07-05 16:24:02 +02:00
Wolfgang Hess
7434e96369
First rough implementation of loading a map. ( #382 )
...
This implements loading of serialized maps in 2D:
We insert all submaps at the serialized optimized pose into
the pose graph and remove their poses from the optimization.
Related to #197 and #315 .
2017-07-04 17:20:13 +02:00
Wolfgang Hess
31f77a01d2
Serialize submaps. ( #380 )
2017-07-04 12:11:54 +02:00
Brandon D. Northcutt
5396156968
Submap serialization support. ( #376 )
2017-07-03 17:59:55 +02:00
Wolfgang Hess
03b9285034
Add support for serializing to a proto stream. ( #379 )
...
Also changes the ground truth tools to read from such a file.
This resolves #335 . Related to #253 .
2017-07-03 15:23:15 +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
Holger Rapp
9464b38320
Consistency fix: trajectory_index -> trajectory_id. ( #360 )
2017-06-26 10:02:51 +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
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
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
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
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
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
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
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
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
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
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
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
Jihoon Lee
f26e4366c9
Make SparsePoseGraph::constraints() public. ( #284 )
2017-05-15 16:06:20 +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
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
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
20e9cde53d
Fix race condition in extrapolation of submap poses. ( #268 )
...
PAIR=wohe
2017-05-09 15:21:30 +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
Wolfgang Hess
6d2feaa8c7
Build and run all tests found by the glob. ( #258 )
2017-05-03 16:55:13 +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
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
Mac Mason
30b9fcce34
Claim an old TODO. ( #209 )
2017-03-01 10:26:48 +01:00
Wolfgang Hess
b4a1021538
Formatting changes. ( #199 )
2017-02-08 14:30:38 +01:00
Wolfgang Hess
1c433e6f3a
Refactor the documentation update script. ( #179 )
2017-01-10 10:43:16 +01:00
Damon Kohler
4e9c3d69b5
Build all our source files into a single library. ( #164 )
2016-12-20 11:24:08 +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
db45c4ef78
Determine the trajectory that is blocking progress. ( #154 )
...
When processing offline data determining which trajectory needs more
data before processing can continue is surprisingly tricky. We thus
expose this information at the map builder to avoid duplicating this
logic.
2016-12-06 17:04:45 +01:00
Wolfgang Hess
f3526bd252
Move the OrderedMultiQueue implementation out of the header. ( #152 )
2016-12-06 14:09:44 +01:00
Wolfgang Hess
4c9c77034b
Remove UKF-related debug output. ( #142 )
2016-11-23 14:27:36 +01:00
Damon Kohler
a39bbff70c
Removes odometer covariance from public API. ( #137 )
2016-11-21 12:34:52 +01:00
Damon Kohler
5136a3a81e
Removes LaserFan from public API. ( #136 )
2016-11-21 10:30:57 +01:00
Damon Kohler
c386bf050d
Renames Odometry to Odometer. ( #135 )
2016-11-21 08:27:19 +01:00
Holger Rapp
6777654202
Adds a heuristic to detect floors in a trajectory. ( #125 )
2016-11-16 05:16:40 -08:00
Wolfgang Hess
c80c2eaa40
Unify 2D/3D constraints. ( #119 )
...
This removes Constraint2D and instead embeds 2D constraints in a
Constraint3D which is renamed to Constraint.
2016-11-08 14:47:03 +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
Wolfgang Hess
404bbfcc2b
Add SubmapToProto to the map builder. ( #110 )
2016-10-27 16:20:58 +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
651a7a23e7
Rename trajectory and submap visualization protos. ( #101 )
2016-10-26 08:45:52 +02:00
Wolfgang Hess
4917dd65ce
Add serialization of the sparse pose graph. ( #97 )
2016-10-25 16:56:26 +02:00
Wolfgang Hess
4d81b58a39
Remove unused code. ( #89 )
2016-10-20 13:54:12 +02:00
Wolfgang Hess
5b16f4bcb6
Simplify 3D visualization code. ( #88 )
...
Removes the non-const Submaps accessor.
Adds -Werror=missing-braces.
2016-10-20 11:29:12 +02:00
Holger Rapp
4b7e2efbd9
Add code to serialize a trajectory to proto. ( #87 )
2016-10-20 10:53:43 +02:00
Wolfgang Hess
3cf59a0266
Collate sensor data in the MapBuilder. ( #85 )
2016-10-19 17:25:44 +02:00
Wolfgang Hess
e566bb73f5
Adds CollatedTrajectoryBuilder. ( #82 )
2016-10-19 16:29:26 +02:00
Wolfgang Hess
d4e04a3cda
Unify to AddLaserFan for both 2D and 3D. ( #81 )
2016-10-19 15:02:31 +02:00
Damon Kohler
2eca021003
Moves SensorCollator into sensor package. ( #58 )
2016-10-17 10:18:17 +02:00
Wolfgang Hess
098349f67e
Rename LaserFan3D to LaserFan. ( #64 )
2016-10-14 12:06:54 +02:00
Wolfgang Hess
9020f71605
Remove LaserFan in favor of LaserFan3D. ( #62 )
...
LaserFan3D will be renamed in the next PR.
2016-10-14 11:26:53 +02:00
Wolfgang Hess
cc7cc6f72b
Move the ImuTracker and OdometryStateTracker to mapping. ( #50 )
...
Both are useful without a UKF.
2016-10-13 10:51:12 +02:00
Holger Rapp
eeb17bf055
Adds google_binary to create installable binaries. ( #43 )
...
- Do not link in Ceres if gflags or glog is used, but still rely on ceres
to find those libraries for us.
- Update CMakeLists with new settings.
2016-10-11 15:18:59 +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
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
fc166fdefa
Adds MapBuilder and cleans up some configurations. ( #23 )
2016-09-08 16:21:25 +02:00