Commit Graph

48 Commits (d0348634b2bc467da6919adbacc4211c810b8cd3)

Author SHA1 Message Date
Alexander Belyaev e3a7f39889
Add absl to CMake and Bazel builds. (#1301) 2018-07-26 06:49:37 +02:00
Alexander Belyaev 926b8540f6
Use CMake 3.2. (#1332) 2018-07-25 21:40:06 +02:00
Sebastian Klose 2b042311d8
Unified pbstream tool (#1326)
Consolidating pbstream tools into a single tool

* adds two subcommands for now (info and migrate)
* removes commandline flags for filenames in favor of commandline args
* updates documentation for migration tool
2018-07-24 15:48:34 +02:00
gaschler d306eaddda Add pbstream_info executable (#1311)
This is useful to debug and inspect serialized files.
2018-07-23 11:34:37 +02:00
Juraj Oršulić 3bf9ba0a69 Ensure async_grpc is find_packaged() for Cartographer users (#1105) 2018-07-09 13:11:51 +02:00
Sebastian Klose a9c90da1a8
Migration tool for serialization format (#1167)
* New serialization protos

 * Moved old definition to legacy_serialized_data.proto
 * defining new serialization format as oneof.

* Changing to legacy datatype

* adding serialization migration

* moving to io

* adding serialization migration

* moving to io

* adding file for test

* adding test

* test for order or migrated serialized data

* test for order or migrated serialized data

* renaming tool

* addressing comments

* addressing more comments

* minor polishing
2018-05-29 16:56:18 +02:00
Martin Schwörer 21c428b1bf installing test library headers, so they are available for cartographer_ros (#1140)
Installing the header files of test_helpers, fake- and mock-classes.

This will fix the build failure of cartographer_ros.
2018-05-02 16:39:55 +02:00
Martin Schwörer 913b1b5856 Added cartographer test library to CMake project (#1129)
Fake, mock and test helpers are now compiled into a test library.

This should resolve #1128. The bazel build file was updated in #1101.
2018-04-30 18:02:54 +02:00
Martin Schwörer 13d9754155 fixed that tests not getting linked against prometheus-cc (#1131)
Fixed typo in the CMakeLists file: tests were not linked against prometheus-cc
2018-04-30 16:57:08 +02:00
gaschler 895f1d61b4 Glob only files in cartographer/ (#1048)
FIXES=#1044
2018-04-10 15:14:59 +02:00
Christoph Schütte 915ebb19a6
Use async_grpc (#1013)
Use async_grpc
2018-03-23 10:52:48 +01:00
Juraj Oršulić e1109356cf Require Ceres built against SuiteSparse (#972)
Fixes #971.
2018-03-09 10:24:19 +01:00
Michael Grupp 7e05daa8ca Remove dotfiles from build files in CMakeLists.txt (#897)
Avoids including unwanted files that could appear in a developer
workspace (e.g. auto-generated files in "dot" folders).
2018-03-06 18:39:46 +01:00
Alexander Belyaev f76d8a8a0d
Move cartographer_grpc/ to cartographer/cloud. (#958)
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)
2018-03-05 12:41:38 +01:00
Alexander Belyaev 29875117b3
Move internal/mapping to mapping/internal. (#941) 2018-02-27 16:25:53 +01:00
gaschler eabcab26ed Expose metrics as http page. (#920)
RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)
2018-02-21 18:52:57 +01:00
gaschler a338b2e339 Collect metrics with Prometheus C++ Client (#916)
RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)
2018-02-19 18:11:59 +01:00
gaschler 3211e75957
Link prometheus client for grpc builds (#906)
RFC=[0014](https://github.com/googlecartographer/rfcs/blob/master/text/0014-monitoring.md)
2018-02-19 15:54:10 +01:00
Christoph Schütte df518b80c8 Remove gRPC proto compiler invocation from CMakeLists.txt (#878) 2018-02-02 21:04:34 +01:00
Christoph Schütte 18cb9c324f Make CMakeLists.txt install gRPC service headers. (#779) 2017-12-20 14:40:33 +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
gaschler 5c694adf93 Correct cmake install (#739)
Simplify how file lists are collected depending on options.
Omits gRPC headers if they were not built.
2017-12-06 20:34:07 +01:00
Christoph Schütte 02359a98ae Implement connection establishment and server startup and shutdown. (#712)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-28 10:50:30 +01:00
Wolfgang Hess ec034b13bc Do not install global_trajectory_builder.h. (#698)
This moves the global_trajectory_builder.h header under
cartographer/internal and changes the CMakeLists.txt to
not install internal headers.

[RFC=0003](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2017-11-23 14:47:29 +01:00
Christoph Schütte c233aaaac8 Update CMakeLists.txt to preprare for gRPC deps. (#691) 2017-11-22 16:29:01 +01:00
Tobias Ulvgård b2e948d8a2 Fix typo in CMake install script (#683)
Fixes a typo in CMake scripts when installing generated header files.
2017-11-16 09:16:34 +01:00
catskul 8c9fac4c69 #671 switch ordering of args in find_package for Protobuf (#672)
per #671
2017-11-15 08:49:33 +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
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 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 c664d7b966 Comply to CMake's CMP0037. (#267)
Test target names are generated from the directory and
source filename. Now "/"s are replaced by "."s which are
allowed by CMP0037.
2017-05-08 18:09:39 +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
Wolfgang Hess 6d2feaa8c7 Build and run all tests found by the glob. (#258) 2017-05-03 16:55:13 +02:00
Juraj Oršulić 370e1e52df Enable adding as a CMake subproject (#203)
This is done by replacing CMAKE_*_DIR variables with PROJECT_*_ variables so
that CMake uses correct paths when libcartographer is a subproject

Move AllFiles.cmake into the project binary dir instead of the root CMake binary dir,
use a project-dependent detect_changes target name

This makes overriding it from an upper level CMakeLists.txt possible, which is required
when doing a super-build which doesn't require installing libcartographer.
2017-02-09 15:57:54 +01:00
Juraj Oršulić f047ad35c1 Add Ceres sparse linear algebra library dependency (#189)
Ceres can be built without linking against a sparse linear algebra library
such as SuiteSparse or Eigen-sparse. This can happen if the user does not
have all the dependencies, which normally get installed when following
the Cartographer installation guide. In this case, Cartographer will
work, but without loop closures, because Ceres is not working fast enough
(the loop closure optimization without a sparse linear algebra library
is a few orders of magnitude slower). Another bad side effect of this is
that Cartographer will hang when finalizing the trajectory or on exit,
because all loop closing optimizations will be waiting in a queue which
can take hours to process.

When Ceres is regularly built against a sparse linear algebra library, as it
is supposed to be, it declares a component named SparseLinearAlgebraLibrary.
Because normal functioning of Cartographer seemingly depends on this being
present, it is introduced here in Cartographer as a required Ceres component
dependency.
2017-01-26 11:14:58 +01:00
Damon Kohler 99f449543f CMake fixes. (#178)
* Export/import targets.
* Stop linking GMock main into everything.
2017-01-09 13:49:21 +01:00
Holger Rapp 22a344b946 More linking dependencies fixing 2016-12-22 15:02:28 +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 3caf5a4b52 Fix the target_include_directories. (#162)
The Boost include directory was not correctly added, and the
headers of the project where always looked up at the source or
build directory, not where they are installed.
2016-12-14 17:54:53 +01:00
Wolfgang Hess 0937f4f515 Support fixing z during 3D sparse pose adjustment. (#161)
This is in preparation of using the 3D sparse pose graph
optimization for 2D SLAM.
2016-12-14 15:32:23 +01:00
Holger Rapp 6e6d2decaa Fixes for Xenial. (#103)
- Remove use of get_property(LOCATION in cmake where this is easy. This
  reduces build warnings sufficiently to not drown out other important
  information.
- Mark cairo a dependency in package.xml so rosdep pulls it in.

Tested using docker -t ros:kinetic, which is based on Xenial.
2016-10-26 14:23:00 +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 c2aed53ce8 Adds a points processing pipeline and a XRay creator. (#66)
- Adds cairo as required dependency.
- Adds an 'io' module.
2016-10-14 15:14:46 +02:00
Holger Rapp be813a06fe Prepare CMake files for testing support. (#47)
- Only build gmock if we really require testing.
- Adds a wrapper for generating catkin aware tests. This works around
  ros/catkin#830.
2016-10-12 15:38:12 +02:00
Holger Rapp 8e7996f015 Extend CMake functions for reuse in other Cartographer subprojects. (#45)
- Change CARTOGRAPHER_LIBRARIES to be absolute path to adhere to the
  CMake documentation.
2016-10-12 13:39:03 +02:00
Damon Kohler 6bb6236ebb Renames doc to docs. (#6)
This now matches the readthedocs.org getting started guide.
2016-08-23 17:22:04 +02:00
Wolfgang Hess aa7b060ac5 Remove unnecessary explicit dependency on glog. (#3)
It is not needed (anymore?) and leads to linking errors
(does not find libglog) when glog_catkin is used and
libgoogle-glog-dev is not installed.
2016-08-10 11:34:52 +02:00
Damon Kohler 269c28cb0c Moves the contents of the cartographer subdirectory up one level. 2016-08-03 12:48:29 +02:00