v1.3.0
Summary
This release introduces a fully redesigned wavemap Rviz plugin, which is easier to use and much faster.
New features
- Communication
- Incremental transmission of the map (avoids exceeding ROS message size limits for very large maps)
- Rewritten map<->ROS msg conversions, matching the new map<->byte stream implementation
- Rviz plugin UI
- Support different render modes (slice; grid) in a single WavemapDisplay instance
- Each render mode can be configured through its own foldout menu
- The map is only stored once per plugin instance and shared among the render mode handlers
- Grid render mode
- Expose grid color options in the UI
- Add option to set maximum grid drawing resolution
- E.g. to improve frame rate when displaying large maps on computers with no GPU
- Improve default settings s.t. it can be used with minimal tuning in most scenarios
- Support different render modes (slice; grid) in a single WavemapDisplay instance
- Rviz plugin performance improvements
- Only redraw map blocks that changed
- Render grid blocks with Level of Detail based on their distance to the camera
- Use a work queue and limit the update time per frame, to avoid stalling Rviz when large map changes occur
- Interface directly with Ogre, instead of using rviz::Pointcloud as an intermediary for rendering
Removed features:
- Remove the option to render map meshes
- This render mode does not yet produce good iso-surfaces and is currently very slow. It will be reintroduced once its more mature.
Detailed package changelogs
- Libraries
- ROS
- Tooling
Upgrade notes
Upgrading should only be a matter of rebuilding. If you're using
- Catkin:
cd ~/catkin_ws/ && catkin build wavemap_all
- Docker:
docker build --tag=wavemap --build-arg="VERSION=v1.3.0" - <<< $(curl -s https://raw.githubusercontent.com/ethz-asl/wavemap/main/tooling/docker/incremental.Dockerfile)
For more info, see the installation page in the docs.