leggedrobotics / open3d_slam

Pointcloud-based graph SLAM written in C++ using open3D library.
BSD 3-Clause "New" or "Revised" License
512 stars 51 forks source link

Rosp/map init data processor #32

Closed Lukaszpi closed 2 years ago

Lukaszpi commented 2 years ago

It's just a draft PR that proposes a separate Initialization class that can be used in parallel with other DataProcessors to start a map. It still requires a cleanup but if there are suggestions for a different conceptual design I don't want to spend too much time on this. One comment, I think it would be a clearer composition if we used slamPtr as an initialization value to DataProcessor instead of initializing it in the initialize() method. WDYT? Then the method getSlamPtr() would not be necessary but I don't have that much strong feelings about it.

jelavice commented 2 years ago

It's just a draft PR that proposes a separate Initialization class that can be used in parallel with other DataProcessors to start a map. It still requires a cleanup but if there are suggestions for a different conceptual design I don't want to spend too much time on this. One comment, I think it would be a clearer composition if we used slamPtr as an initialization value to DataProcessor instead of initializing it in the initialize() method. WDYT? Then the method getSlamPtr() would not be necessary but I don't have that much strong feelings about it.

I agree. We could move the std::shared_ptr<SlamWrapper> slam_; to the base class DataProcessorRos.hpp and make it protected.