General

The settings in the config’s general section control wavemap’s general behavior. In the following sections, we cover what options are available depending on which wavemap interface is used.

C++ Library

The behavior of wavemap’s C++ library is fully controlled by configuring its individual components, such as the map and measurement_integrators. Therefore, it does not have a general config.

The only exception is that the library relies on glog for logging, whose verbosity is set globally. We provide a LoggingLevel helper struct to simplify setting glog’s verbosity, which can be used in C++ as follows:

LoggingLevel{LoggingLevel::kWarning}.applyToGlog();

ROS1 Interface

When using wavemap’s ROS1 server, the following general settings are available:

struct RosServerConfig : public ConfigBase<RosServerConfig, 4, RosLoggingLevel>

Config struct for wavemap’s ROS server.

Public Members

std::string world_frame = "odom"

Name of the coordinate frame in which to store the map.

Will be used as the frame_id for ROS TF lookups.

RosLoggingLevel logging_level = RosLoggingLevel::kInfo

Minimum severity level for messages to be logged.

int num_threads = std::max(1, static_cast<int>(std::thread::hardware_concurrency()))

Maximum number of threads to use.

Defaults to the number of threads supported by the CPU.

bool allow_reset_map_service = false

Whether or not to allow resetting the map through the reset_map service.