Commit Graph

561 Commits (f30d1f7e1e763394eb6a724e5d5830f08e9e0a79)

Author SHA1 Message Date
Michael Grupp f30d1f7e1e
Changes for ROS Noetic support (#1494)
Signed-off-by: Michael Grupp <grupp@magazino.eu>
2020-07-28 14:39:55 +02:00
Wolfgang Hess 0228078e1f
Prepare GMock support for Noetic. (#1499)
This follows Cartographer installing libgmock-dev.

Signed-off-by: Wolfgang Hess <whess@lyft.com>
2020-07-27 19:45:40 +02:00
Wolfgang Hess ec29019962
Remove support for Debian Jessie. (#1496)
It has reached end-of-life with the
end of LTS on June 30, 2020.

Signed-off-by: Wolfgang Hess <whess@lyft.com>
2020-07-23 10:57:35 +02:00
Wolfgang Hess be4332b338
Build Abseil dependency in CI. (#1485)
cartographer-project/cartographer#1711 removed
building Abseil from the Cartographer library.
We follow here the same approach as in
cartographer CI.

An alternative approach which is now possible is
adding an Abseil package for catkin and depending
on that.

Signed-off-by: Wolfgang Hess <whess@lyft.com>
2020-06-25 13:04:21 +02:00
Wolfgang Hess bdf8f5921e
Fix build status on front page. (#1483)
* Fix build status on front page.

Changes "googlecartographer" to "cartographer-project"
for references to CI and GitHub.

Following cartographer-project/cartographer#1693.

Signed-off-by: Wolfgang Hess <whess@lyft.com>

* Remove Indigo and Lunar Dockerfiles.
2020-06-24 10:55:03 +02:00
Bo Chen 2ceb9f96a3
Change Google CLA to DCO in CONTRIBUTING.md (#1482) 2020-06-17 16:16:26 +02:00
Bo Chen 1fe0e2b593
Fix broken build for melodic. Use official ros docker image. (#1484)
Essentially revert #1021 as image seems to be fixed

Signed-off-by: Bo Chen <bo@enway.ai>
2020-06-17 13:47:28 +02:00
Michael Grupp 1de03b3d32 Remove unnecessary eigen_conversions dependency. (#1278)
Seems to have been used in the past, but isn't needed anymore.
2019-08-27 14:03:27 +02:00
Tully Foote e74b48a2aa Remove EOL Distros from CI matrix (#1379)
Indigo and Lunar are both EOL
2019-08-27 09:44:15 +02:00
mgladkova 20c2c8f0f7 Update ROS API documentation with description of changed/new services (#1282) 2019-07-09 14:10:58 +02:00
mgladkova 92a8b81a84 Simplify start_trajectory service (RFC-28) (#1245)
* Simplify start_trajectory.

* Ran clang-format.

* Make corrections based on the review

* Make corrections based on review #2, remove obsolete functions

* Remove unnecessary local variables
2019-05-07 16:53:06 +02:00
Michael Grupp 63dce89f6e Service to query trajectory segments from the pose graph. (#1222)
This `/trajectory_query` service allows to look up trajectory segments
from the pose graph.

This can be useful if one wants to get optimized trajectory data from
the current SLAM run and listening to live TF data would be too noisy.
For example, to stitch buffered point cloud data from a depth sensor
based on a recent localization trajectory segment of a robot.

Before, the pose graph trajectory nodes were not available except for
the trajectory marker topic (only positions, no orientation; inefficient)
or after serialization (which is not practical in live operation).
2019-04-23 12:11:22 +02:00
Michael Grupp 9f8bf5b245 Add explicit --save_state_filename to offline node options. (#1204)
This allows to serialize the state also when no bagfile is given, e.g.
when the offline node is used to run an optimization and/or trimming
configuration on a pbstream. Or simply when one wants to use a custom
name directly. This doesn't break compatibility with the previous CLI.
2019-04-17 14:46:58 +02:00
Ashwath Narayan Murali 2d9b751d51 Updated doc to remove abseil-cpp from ROS (#1211)
I have added a few lines to the doc to alert users to remove ros abseil-cpp and also to change the rosinstall file if they wish to checkout a different version of cartographer. As discussed in #1208
2019-04-17 14:23:38 +02:00
Michael Grupp 5fb4314c8b Unify trajectory state checks for service handlers. (#1262)
Some service handlers need to check if a trajectory is in a valid
state for the requested operation. If it's not, they return an error
response.

`Node::CheckTrajectoryState` allows to avoid code duplication in such
situations.
2019-04-15 09:53:55 +02:00
Michael Grupp b28ffea97f Update clang-format to new Google style. (#1260)
Apparently the format bot uses a bleeding edge clang-format that uses
the new Google style and reformats a bunch of files in every PR. This is
an empty commit to trigger this in a separate commit.

See 62e3198c4f
2019-04-10 15:30:54 +02:00
fprott 7e4af360e8 Expanded Landmarks documentation (#1241)
Expanded landmarks to included more information and make it more clear and first-time user friendly. Used knowledge from the issues, especially issue https://github.com/googlecartographer/cartographer_ros/issues/909 and https://github.com/googlecartographer/cartographer_ros/issues/1067
2019-04-03 19:34:51 +02:00
fprott 522fb13104 Landmarks note (#1242)
Added a note to point out that even if all the SLAM options are set for a 2D SLAM the landmarks will remain 3D objects.
2019-04-03 18:10:11 +02:00
Michael Grupp 1ae12096b5 Extend trajectory export tool to write TransformStamped topics. (#1169)
See discussion in #1166.
2019-04-02 14:21:15 +02:00
Michael Grupp da4b3e7639 Replace a few string operator+ by absl::StrCat(). (#1244)
...in some places that can be called frequently.
2019-04-02 12:03:43 +02:00
Michael Grupp eb86ba6e7c Fix segfault by changing the destruction order. (#1235)
The metrics registry is used as a raw pointer reference in map builder
and must outlive it.

Since C++ destroys in reverse declaration order, we have to put the
registry declaration before the map builder bridge.

Fixes #1234.
2019-03-26 12:06:14 +01:00
fprott 5f1ff900b4 Fixed wrong Topic name for Landmarks (#1171)
The expected topic name for the cartographer seems to be landmark not landmarks even tough a list of landmarks is expected.
2019-01-30 13:46:41 +01:00
Sebastian Klose 6ee68c22f9 Tool for extracting pbstream trajectories into bag with tf. (#1166)
For every trajectory, writes tf
        FLAGS_parent_frame --> trajectory_`trajectory_id`
2019-01-20 17:12:41 +01:00
Michael Grupp 63eaf6d257 Publish one last progress message when PlayableBag is finished. (#1160)
Without this, it might look like the processing hangs.
2019-01-18 13:10:40 +01:00
Esteve Fernandez 68f60ff763 Fix typo (#1130) 2019-01-16 14:10:54 +01:00
Michael Grupp 0d65d13cd8 Don't run final optimization in visualize_pbstream.launch (#1157)
* Don't run final optimization in visualize_pbstream.launch

Replaces the offline node with the normal node.

The problem is that the offline node immediately runs a final
optimization with `visualize_pbstream.lua`, which is most likely not the
configuration that was used to generate the pbstream. This can lead to
effects like distortions in the map e.g. due to different weights, even
though the actual saved state is fine.

* Drop all /echoes or /imu messages.

* Use -start_trajectory_with_default_topics=false
2019-01-16 12:46:10 +01:00
Juraj Oršulić 35ad459bd9 Windows build & Azure CI (#1103) 2018-12-17 20:47:57 +01:00
Sebastian Klose 91fd8feb62 fixing compilation under OSX (#1126)
Surprising that this has not lead to any issues yet. 
This just works by chance on other systems if QT has been find_packaged before.
2018-12-12 09:27:30 +01:00
Michael Grupp 72949a7153 Configurable frame IDs in trajectory_comparison_main.cc (#1120)
Fixes also the other flag descriptions.
2018-12-06 12:48:28 +01:00
Michael Grupp 94cc7f7ab2 Add git dependency to package.xml (for Abseil build). (#1098) 2018-11-14 13:28:12 -08:00
Michael Grupp dc2476ef2b Consider waiting trajectories with a sensor bridge as active. (#1089)
* Consider waiting trajectories with a sensor bridge as active.

Fixes a corner case where trajectories that didn't start SLAMing yet
couldn't be finished, e.g. due to waiting for sensor data. They don't
appear in the trajectory states list of the pose graph yet but already
have a trajectory builder.

https://github.com/googlecartographer/cartographer/issues/1367
2018-11-06 08:43:27 -08:00
Matthias Loebach c493369594 Only include correct source files in cmake (#1085)
This fixes #1050. Tested standalone compilation and with the debian fakeroot tool. I had to build with a custom Protobuf3 instance though, so another build-check on a regular setup would be appreciated.

Before this change all *.cc files would be included. If subprojects
were run individually with the Debian package generator. This resulted in an
inclusion of temporarily checked out *.cc from the abseil include. This
change fixes the import behaviour and enables the creation of a valid
package.
2018-11-06 07:06:28 +01:00
Michael Grupp d0871210e7 Update /write_state call in assets writer docs. (#1087)
* Update /write_state call in assets writer docs.

Follow-up to #966
Closes #1086

* typo

* bump googlebot
2018-11-05 21:26:05 -08:00
Florent Revest ba33291392 Rework the documentation as a step-by-step guide (#952)
This restructures the doc as a tutorial leading newcomers to becoming experimented users.

It adds pages on:
 - how to get started with Cartographer on a new .bag
 - how Cartographer works and can be tuned step-by-step
 - how to use "extra" features of Cartographer
 - how to contribute to Cartographer

It also provides some cosmethic changes with: new titles, non-indented code blocks, various illustrations, reworked paragraphs for clarity...
2018-11-05 12:22:55 +01:00
Michael Grupp b0420bf430 Add a script for testing with fake landmarks to scripts/dev (#1071)
See `./publish_fake_random_landmarks.py --help` for documentation.
2018-10-30 13:54:22 +01:00
Alexander Belyaev ef0e971b50
Add landmarks demo to the docs. (#1077) 2018-10-25 17:25:29 +02:00
Alexander Belyaev a4f3850912
Transform landmark poses to the tracking frame. (#1076)
* Transform landmark poses to the tracking frame.

* Address the comment.
2018-10-25 14:43:43 +02:00
Michael Grupp 54f0cfeee4 Remove orphaned function in occupancy_grid_node_main.cc (#1034)
Follow-up to #715, spotted by @CccYunxiao, see #1031.
2018-10-19 11:40:18 +02:00
Alireza 39e7faad18 docs: Add documentation related to `bagfile_progress` publisher (#1039)
Add documentations related to the feature introduced in #940.
2018-10-19 11:10:32 +02:00
Juraj Oršulić 530acb5984 Decrease asset writer progress log period (#1044)
With two 20 Hz lidars and a 200 Hz IMU, the progress reports were outputted every 500 seconds, which is really too sparse to be useful. Decrease this by a factor of 10.
2018-10-19 10:44:42 +02:00
Michael Grupp 1e5b180e93 Remove deleted trajectories from submaps display. (#1065)
Fixes strange behavior with empty leftover entries in the trajectory list of the RViz plugin.

By using an `std::map` instead of an `std::vector` for the trajectories  we can
easily erase trajectories which do not appear in the submap list anymore.
2018-10-19 09:30:42 +02:00
Michael Grupp 725815177a Fix Clang thread-safety warning. (#1068)
reading variable 'submap_slices_' requires holding mutex 'mutex_' [-Wthread-safety-analysis]
2018-10-19 08:27:58 +02:00
Mikael Arguedas ed418405b5 move metrics messages at root of msg folder (#1020) 2018-10-17 14:41:08 +02:00
Sebastian Klose 6b9d8ff2d5
Adding launch file arg for launch-prefix to offline nodes (#1066)
Useful for debugging with gdb or profiling, e.g. with perf.
2018-10-17 13:03:35 +02:00
Michael Grupp e2f72ff514 Only use ROS log sink in pbstream_map_publisher_main.cc (#1040)
Fixes double logging to stderr and rosout and makes it consistent with other
cartographer_ros nodes.
2018-10-15 11:20:39 +02:00
Alireza 5f2dff9df0 fix: Use an explicit message_counter instead of using `std::distance` (#1045)
As @ojura reported and explained in #940, there is a critical issue with the new changes introduced in the mentioned PR, which significantly slows down the offline node. 
- The reason of this problem was that In order to count the number of processed messages the `std::distance` function was used which is computationally expensive(O(n)).
- Instead, the former `log_counter_` and now `message_counter_` class variable which was used to print a message every X seconds is also employed to count the number of the processed (and also skipped) messages.
2018-10-09 15:26:48 +02:00
Michael Grupp 588c392b50 Use absl::SkipEmpty() predicate. (#1042)
Fixes empty splits for default "" arguments. Follow up to #1026, thx to @ojura.
2018-10-04 15:18:21 +02:00
Michael Grupp 8fab3fe4c4 Work around wstool bug in build with Docker base image. (#1041)
We have already a cloned source space in the base image, which can be
buggy according to: https://github.com/vcstools/wstool/issues/77

This should unblock Travis and fix local builds.
2018-10-04 11:15:21 +02:00
Michael Grupp 829e2dc43f Replace custom SplitString() by absl::StrSplit() (#1026)
code simplification
2018-09-27 14:12:58 +02:00
Alireza dd4d2af58b feat: Publish progress of processing the bagfile (#940) 2018-09-27 12:44:29 +02:00