This package's CMakeLists.txt doesn't reference catkin at all, and can
be regarded as a "pure CMake" package. In fact, the package.xml already
states that this package is built using cmake directly, but still
depends on catkin.
This change makes the package buildable without catkin, as would be
desired when building with colcon in ROS 2.
This moves the Cartographer Open House slides to the bottom of
the README as an archive, and clarifies that regular meetings
are currently no longer happening.
`absl::StrCat/StrAppend` convert numeric values to strings with inconsistent
decimal precision, which can lead to ugly formatting of the histogram.
This can be fixed by using `StrAppendFormat` with `%f`, which uses 6
decimals (printf default and as it was when we had `std::to_string`).
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
An empty basename would mean a directory path is returned by
GetFullPathOrDie(), which then leads to a cryptic exception when trying
to read from it using the istreambuf_iterator:
"basic_filebuf::underflow error reading the file: iostream error"
This removes the hardcoded value of `collate_by_trajectory` in the cloud
map builder server and permits to configure `collate_by_trajectory`
option with lua.
This commit add support of specifying the option to collate data by
trajectory introduced in #828 in the lua configuration files.
The value is set to false as when a boolean option is not specified it
is initialized to false.
On Ubuntu 16.04, we have to install Protobuf 3. Unfortunately, `find_package()`ing Protobuf using native installed CMake `CONFIG` is problematic in case if there is a system Protobuf 2 installed, while the bundled CMake module works correctly and manages to avoid interference with system-installed Protobuf 2.
* Add cartographer_configuration_dumper executable.
While Lua inheritance can be great, this small tool solves the
pain of asking yourself "But what actually is my final config?".
Usage: `cartographer_dump_configuration <directory/-ies> <basename>`
Also includes the option to print only a subdictionary with e.g.:
`--subdictionary_id trajectory_builder.trajectory_builder_3d`
Adds a metric family that monitors:
- the number of submaps in frozen trajectories
- the number of submaps in active trajectories
- the number of deleted/trimmed submaps
In the current implementation, as soon as one trajectory is frozen it is not possible to use new landmarks anymore.
In this PR a suggest a change, that allows introducing new landmarks also in the presence of a frozen trajectory. This is done with the following steps:
- Store set of frozen landmarks
- Landmarks that are loaded from a pbstream, with the flag ` load_frozen_state=true` are inserted into the set of frozen landmarks via `setLandmarkPose` function
- frozen landmarks are set constant in the optimization problem
- new landmarks can be introduced and will be optimized in the optimization problem
Motivated by and closes#1470
- use `pose_queue_duration_` instead of hardcoded "0.001"
(cartographer_ros sets this to 0.001, probably that's why this
wasn't noticed)
- queue_delta is in seconds, log message said milliseconds
The introduced changes are not compatible with CMake < 3.6 if the
FindProtobuf.cmake bundled with CMake is used.
Since our minimum required version is 3.2, I consider this to be a bug.
- camel-case variables names weren't used before 3.6
(upper-case is lowered in CMake > 3.6 for backwards compatibility)
- the `CONFIG` search for the Windows build logs a warning even if the
`REQUIRED` search succeeds, should be quiet
Protobuf 3.5 would require a Bazel flag
bazel build --incompatible_package_name_is_a_function=false
for Bazel 0.21 because its bazel syntax is old.
Rather than building with this flag, let's just update
the protobuf version.
Also, fix lint.
Previously, two config values were spelled "bandwith".
The assumption is that these values are not used in other
repositories so the rename is harmless.
This PR makes libcartographer build on Windows (including tests). Abseil was bumped to avoid a MSVC compiler bug.
I have observed two tests failing:
`MapBuilderTestByGridType/MapBuilderTestByGridType.GlobalSlam2D/1` and `MapBuilderTestByGridType/MapBuilderTestByGridType.LocalizationOnFrozenTrajectory2D/1`.
Since the constraint builder metrics are ever-increasing, it makes sense
to add gauges that monitor the current counts of constraints in the pose
graph. The main advantages are that they also take trimming into account
and distinguish constraints within or across trajectories.
Got linker error for Abseil in the build env due to imprecise library order.
Worked fine on the dev machine though.
Maybe helps someone.
https://pastebin.com/raw/AEKPBt1n