RTABMap could remove dynamic objects when loop closure is detected. But it can,t remove whole dynamic objects. I have achieve a model for removing dynamic objects. I want to add it to RTABMap projects to test performance of removing dynamic objects when map is built. I want to know that how to add keyframe in the processing of building map. which piece code should I look up? Thank you!
On which step are you filtering the dynamic objects? If you are detecting dynamic obstacles using the depth images of the kinect, you could put your node to filter the depth image input of rtabmap by setting depth pixels of the dynamic object to 0. In that way, when new node are added to the map, the dynamic depth pixels won't be shown. Example:
My question is: where in the code can I modify the input of CoreWrapper::process()?
Or, to put the question in a different way: where in the current code is the input for CoreWrapper::process() generated?
Thank you for the reply. But where in the source code is the decision made, which image of the incoming image topic stream is considered. If I got it right, in CodeWrapper::defaultCallback() the method only starts to do something if
ros::Time::now() - time_ == ros::Duration(1.0f/rate_). Where can I find a similar condition in the case that an RGBD-Camera is connected?