Juraj Oršulić
eb4415d17d
Introduce MatchingResult for LocalTrajectoryBuilder::AddRangeData. ( #619 )
...
In preparation for #574 . Depends on ~~#618~~ (merged) and ~~#617~~ (merged).
2017-11-10 14:49:41 +01:00
Holger Rapp
5363285b8f
CMake bug fixes and performance improvements. ( #648 )
...
- Pin versions of Ceres and protobuf (Fixes #341 ).
- Require Lua >= 5.2 (Fixes #629 ).
- No longer run ceres tests in CI. We implicitly test Ceres through Cartographer's tests and this saves ~4 minutes on CI.
2017-11-10 12:55:43 +01:00
Holger Rapp
e29fc9787a
New proto compiler ( #644 )
...
Also change Dockerfiles to build proto3 from HEAD.
PAIR=@cschuet
2017-11-10 11:16:44 +01:00
Jihoon Lee
028391357d
Add OccupancyGridState and SubmapState in cartographer/io ( #638 )
...
replaces #599
related to googlecartographer/cartographer_ros#510
2017-11-09 17:19:29 +01:00
Wolfgang Hess
418819a9ef
Use 'global_pose' terminology for submaps. ( #645 )
...
Use 'global_pose' terminology for submaps.
This follows #624 .
2017-11-09 16:40:21 +01:00
gaschler
6eaf0f344d
FastCorrelativeScanMatcher outputs unique_ptr. ( #643 )
2017-11-09 16:08:16 +01:00
Juraj Oršulić
e21fc9f253
Serialize IMU data. ( #548 )
2017-11-09 15:32:54 +01:00
Jihoon Lee
3bdee588bd
Add FinishTrajectory() in SparsePosegraph. ( #562 )
2017-11-09 14:29:26 +01:00
Wolfgang Hess
92f81aec8a
Make proto::ProbabilityGrid proto3 compatible. ( #641 )
...
Moves the optional 'known_cells_box' into a message field.
This way its existence can still be checked in proto3.
2017-11-09 11:47:33 +01:00
gaschler
386ee328d8
Fix 3D yaw rotation in GenerateDiscreteScans. ( #640 )
...
Correctly generates discrete scans rotating around yaw in the gravity-aligned global map frame.
Fixes #639 .
PAIR=wohe
2017-11-08 17:37:36 +01:00
Christoph Schütte
eb96c91473
Initial pose implementation. ( #606 )
2017-11-08 14:01:38 +01:00
catskul
55e4338468
Start cleaning up Google specific types by making them cartographer private.
...
move string and size specific int/uint types into cartographer namespace as minimal change necessary to keep global namespace clean (#637 )
2017-11-08 09:07:46 +01:00
Wolfgang Hess
088681f9ec
Add 3D localization support. ( #632 )
...
This adds information about which nodes are contained in which
deserialized submaps. This is necessary for the rotational scan
matcher.
Also skips frozen trajectories when tying together nodes of a
trajectory with IMU data which is unavailable in this case.
2017-11-07 11:26:41 +01:00
Juraj Oršulić
8186316d77
Range loop over trajectories for MapByTime ( #633 )
2017-11-06 17:14:01 +01:00
Alexander Belyaev
0d2bc8b938
Adds a 'LandmarkData' struct and proto. ( #628 )
2017-11-06 15:35:21 +01:00
Wolfgang Hess
77fb50fd76
Introduce sensor::MapByTime<>. ( #631 )
...
This data structure is used for keeping IMU data. This
allows trimming IMU data in the middle which is needed for
life-long mapping.
2017-11-06 13:36:59 +01:00
Wolfgang Hess
049f30d824
Generalize IntegrateImu(). ( #627 )
...
This is in preparation of changing the data structure
for IMU data away from a deque. Needed for localization
and life-long mapping.
2017-11-06 11:00:33 +01:00
Holger Rapp
7c31291b2b
Add assets used for the Cartographer shirt. ( #630 )
2017-11-06 10:36:38 +01:00
gaschler
8854aaae9e
Extrapolator reuses result using additional IMU trackers. ( #623 )
...
This makes the extrapolator stricter that time arguments
must be monotonously increasing when calling the Extrapolate
methods.
2017-11-03 16:19:55 +01:00
Wolfgang Hess
978544eca4
Add submap and gravity-aligned frame terminology. ( #624 )
2017-11-03 13:44:23 +01:00
gaschler
5a3bb14083
PoseExtrapolator::GetLastExtrapolatedTime ( #626 )
...
This prepares the API for #623 and #616 .
2017-11-03 11:56:31 +01:00
Christoph Schütte
9be15466d3
Add slides and update next Open House date. ( #625 )
2017-11-03 11:26:55 +01:00
Juraj Oršulić
7964211fef
Deserialize SPG constraints ( #544 )
2017-11-02 22:01:01 +01:00
Juraj Oršulić
3c5a7aa2d8
Refactoring of LocalTrajectoryBuilder::AddAccumulatedRangeData ( #618 )
...
- introduce InsertIntoSubmap for 2D
- clarify some variable names in 3D
- move rotational_scan_matcher_histogram calculation
to InsertIntoSubmap for 3D
- refactor last version of range data before insertion into
range_data_in_local (filtered_range_data_in_local for 3D)
2017-11-02 16:01:23 +01:00
Juraj Oršulić
c57641f917
Make SPG::AddScan return the inserted node id. ( #617 )
2017-11-02 10:28:13 +01:00
Christoph Schütte
e10650910e
Pull out time-based transformation interpolation. ( #615 )
2017-10-30 15:41:02 +01:00
Wolfgang Hess
c011177bfd
Fix the origin of accumulated range data. ( #613 )
...
This changes the origin of accumulated range data from the
zero vector (which could be far off) to the origin of the
first range data in the accumulation.
2017-10-30 11:32:06 +01:00
Wolfgang Hess
82a4b2f171
Follow #591 terminology in 3D optimization. ( #612 )
2017-10-27 15:48:51 +02:00
Christoph Schütte
dacc962399
Adds lower_bound() to MapById. ( #610 )
2017-10-27 14:50:14 +02:00
gaschler
d4db1e79a6
Add TimedPointCloud and TimedRangeData. ( #601 )
...
Adds a type TimedPointCloud that holds 4-dimensional vectors where measurement time of individual points are stored in the fourth entry.
Uses TimedRangeData to pass TimedPointCloud of incoming measurements to LocalTrajectoryBuilder.
Fixes #573 .
2017-10-24 11:47:35 +02:00
Holger Rapp
638aee7c2a
Fix slow point deletion in RemovePoints. ( #608 )
...
This speeds up the asset writer significantly:
For the 3D sample bag:
~~~
/usr/bin/time roslaunch cartographer_ros assets_writer_backpack_3d.launch \
bag_filenames:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag \
pose_graph_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag.pbstream
master:
2100.96user 26.79system 35:43.60elapsed 99%CPU (0avgtext+0avgdata 3657028maxresident)k
17682632inputs+32080outputs (0major+20021051minor)pagefaults 0swaps
this CL:
1937.46user 11.77system 32:22.49elapsed 100%CPU (0avgtext+0avgdata 3659412maxresident)k
1352inputs+32088outputs (0major+7042032minor)pagefaults 0swaps
~~~
So ~10%. For pipelines that do less this can be even 30% or more.
2017-10-23 10:56:55 +02:00
Juraj Oršulić
f179bd942c
Support multiple trajectories in LoadMap. ( #567 )
2017-10-20 16:13:18 +02:00
Damon Kohler
0cd0148577
Update the high level overview and provide a link to a copyable Google Sketch. ( #607 )
2017-10-20 14:56:29 +02:00
Wolfgang Hess
a96511464e
Add map trajectory without a trajectory builder. ( #605 )
2017-10-19 16:59:04 +02:00
Christoph Schütte
7c03467a78
Change GetTrajectoryNodes() to MapById. ( #603 )
2017-10-19 14:50:58 +02:00
Holger Rapp
49ead6055c
Towards a ROS map writing PointsProcessor. ( #598 )
...
- Refactor ProbabilityGridPointsProcessor for code reuse.
- Adds Image::width and height.
- Adds GetFilename for FileWriter.
Related to googlecartographer/cartographer_ros#475 .
2017-10-19 12:30:19 +02:00
Holger Rapp
0c9f2c4f65
Remove unused concept of CompressedRangeData. ( #604 )
2017-10-19 11:19:56 +02:00
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
Wolfgang Hess
d91afa4496
Introduces mapping::MapById for nodes in 3D. ( #587 )
2017-10-16 13:37:28 +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
Wolfgang Hess
7e0cfc3f22
Introduces mapping::MapById for submaps in 3D. ( #584 )
2017-10-16 10:48:43 +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
464d770d48
Introduces mapping::MapById for nodes in 2D. ( #581 )
...
PAIR=cschuet
2017-10-13 14:41:54 +02:00
Christoph Schütte
2cca91d783
Add slides from yesterday and next date. ( #572 )
2017-10-13 13:55:04 +02:00