-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wavemap 2.0 #66
Wavemap 2.0 #66
Conversation
This more clearly expresses the concept and also directly implies that they're run sequentially - i.e. users can change the order of the operations by simply reordering them in the config's yaml array.
@LionelOtt, the new version of the documentation is ready for review. Thanks for the comments you've already made on the code! I'll start going through them tomorrow and also complete the full description for this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looked over it and the restructuring and novel features look good to me.
d7c61f5
to
cf332c7
Compare
Description
This PR introduces significant enhancements to the framework's generality and functionality. Wavemap's core library is now a standalone CMake C++ package, enabling its use on non-ROS platforms and paving the way for future integrations, including a Python API. Other major updates include generic spatial data structures, new path-planning utilities, and a plugin system for map operations.
Type of change
Users who created custom configs for a previous wavemap version will have to update these manually.
This PR changes the high-level structure of wavemap's configuration files, to accommodate new functionalities and improve user-friendliness. However, no functionality has been removed.
Detailed summary
This PR introduces major changes to wavemap's code base, focused on improving its generality, user-friendliness, and code quality. In terms of functionality, wavemap's spatial data structures can now be used to store arbitrary data types. We also added a wide range of new utilities, with a special focus on path-planning applications. In terms of code, wavemap can now be used as a pure CMake C++ library. This makes the framework usable without ROS and lays the groundwork for our upcoming Python API. Further improvements include a modular system to add and configure map operations, much like 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.
This PR addresses GH issues #25 and #59.
New features
Improvements
termination_height
Bug fixes
Package changelogs
Testing
Unit tests
All unit tests are passing. Note that the C++ library's tests can now be run using GoogleTest standard mechanisms. For compatibility, we also configured the ROS1
wavemap
interface package to run the library's tests when called withcatkin test wavemap
.End-to-end tests
We reran all the demos on an Intel desktop and AMD laptop. We did not notice issues or regressions.
Checklist: