Replies: 7 comments 29 replies
-
Hi @Divelix, I'm glad to hear you like the project! A ROS2 interface would be useful to a lot of people, and we would be keen to add it. Our lab is still almost exclusively on ROS1, so I'm not very familiar with ROS2's new mechanisms and wouldn't get to test the new interface on real robots myself. Would you be able to do this testing, to ensure the ROS2 interface is reliable and has good performance? In terms of implementation, I think it should be possible to maintain a single branch that is compatible with both ROS versions. All of wavemap's core functionality is already packaged in ROS agnostic libraries (in the A colleague of ours created a ROS2 fork of wavemap about half a year ago during a hackathon and got it to build. Wavemap has changed quite a lot since then, but it's probably still a good starting point :) |
Beta Was this translation helpful? Give feedback.
-
I managed to build wavemap library in CMake (without Tracy for now):
sudo apt install \
libgoogle-glog-dev \
libboost-all-dev \
libeigen3-dev
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
find_package(glog 0.4.0 REQUIRED) Also cmake complained on |
Beta Was this translation helpful? Give feedback.
-
I managed to add include(FetchContent)
FetchContent_Declare(
tracy
GIT_REPOSITORY https://github.com/wolfpld/tracy.git
GIT_TAG v0.10
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(tracy)
# After add_library()
target_link_libraries(${PROJECT_NAME} PUBLIC TracyClient) It builds really fast, so I assume it pulls only Tracy's thin client, which is cool. |
Beta Was this translation helpful? Give feedback.
-
Hi @victorreijgwart and @Divelix, Btw, thanks for the open-sourcing wavemap! |
Beta Was this translation helpful? Give feedback.
-
I don't rush with commits, because it seems to me that such change can't be done incrementally. From my perspective there should be one monster commit with project refactoring, then we add ros2 dummy colcon package which we will fill with features incrementally (catching up with current features in ros1 wrapper). |
Beta Was this translation helpful? Give feedback.
-
I managed to assemble #pragma GCC diagnostic ignored "-Wfloat-conversion"
#pragma GCC diagnostic ignored "-Wconversion"
#pragma GCC diagnostic ignored "-Wsign-compare" @victorreijgwart I had to assemble wavemap from scratch, so I'm not sure if I should create monster commit in |
Beta Was this translation helpful? Give feedback.
-
Hi @victorreijgwart, I have pushed in the branch some commits to build the following packages from wavemap in ROS2:
I am testing it locally on my PC (ROS2 Humble); probably a good idea is to use a docker container for replicability if anyone else wants to collaborate. Also, related to the config_conversions_methods, I am currently using the mentioned xmlrpcpp repo to make it build. Maybe later, it can be replaced with what ROS2 uses. This week is going to be a little tricky for me to work on this because I will be attending the ICAR conference, so I wanted to update the current position of the branch. |
Beta Was this translation helpful? Give feedback.
-
First of all, thank you for open sourcing wavemap! I just launched it inside container on newer college and panoptic mapping datasets and it seems to me like a neat tool for real-time local mapping tool for navigation and manipulation tasks, but our tech stack is fully based on ROS2 and I would like to avoid using ros1_bridge in such data intensive task so ROS2 wrapper is highly appreciated.
I thought it could be implemented as separate branch like rtabmap does it or to separate both ROS1 and ROS2 wrappers from core wavemap repo into their own repos.
What do you think about ros2 integration in general? I'm currently exploring wavemap's codebase and probably would make fork for experiments with ros2.
Beta Was this translation helpful? Give feedback.
All reactions