Skip to content

v2.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Aug 12:40
· 147 commits to main since this release
ace3985

Summary

This release significantly enhances wavemap's generality and functionality. The core library is now a standalone CMake C++ package, enabling its use on non-ROS platforms and paving the way for future integrations, such as a Python API. Other major updates include generic spatial data structures, new path-planning utilities, a plugin system for map operations, and extensions to the documentation.

Detailed description

In terms of functionality, wavemap's spatial data structures can now be used to store arbitrary data types. A wide range of new utilities has been added, with a special focus on path-planning applications. In terms of code, wavemap can now be used as a pure CMake C++ library. In addition to making the framework usable without ROS, this change lays the groundwork for Python bindings and simplifies the development of future interfaces (e.g., ROS2, Zenoh). Other major improvements include a modular system for adding and configuring map operations, similar to plugins. We already include new operations to publish the map in alternative formats (e.g. obstacle pointcloud) and perform local mapping, and expect to add many more in the future.

Please see #66 for a full description of all the changes.

This PR addresses GH issues #25 and #59.

Breaking changes

This release changes the high-level structure of wavemap's configuration files to accommodate new functionalities and improve user-friendliness. Users who created custom configs for a previous wavemap version will have to update these manually. However, no functionalities have been removed.

Package changelogs

Libraries

Interfaces

Examples

Upgrade notes

Upgrade instructions for

  • C++ Library
    • For instructions on setting up wavemap as a standalone CMake project, see our new docs
  • ROS1
    • Catkin
      • Go to your catkin workspace src directory: cd ~/catkin_ws/src
      • Pull the newest wavemap code:cd wavemap && git checkout main && git pull
      • Remove the old built packages with catkin clean wavemap_all, or if that doesn't run catkin clean -bdi
      • Build the new packages: catkin build wavemap_all
    • Docker
      • docker build --tag=wavemap_ros1 --build-arg="VERSION=v2.0.0" -<<< $(curl -s https://raw.githubusercontent.com/ethz-asl/wavemap/main/tooling/docker/ros1/incremental.Dockerfile)
    • For more info, see the ROS1 installation page