"Method A" : With RGBD Camera(Intel RealSense )
"Method B" : With RGBD Camera + 2D Lider
I'm trying to do "Method B" in a simulation. But I have one problem, so let me ask. The first time I did it "Method A" , it detected an obstacle (a coke can) that was lower than the robot and avoided it. However, with this "method B", the robot does not avoid the obstacle although it detects it on RVIZ. (It collides with the can.) How can I make it recognize and avoid obstacles lower than the robot in this way?
I want to get both the advantage of the camera's ability to be lower than the robot and the advantage of Lider's ability to get a wider area, but I haven't been able to. This is no different than just a 2DLider. Can someone please tell me how to do this? Please help me. Thanks!
With B, rtabmap switches by default to lidar-only mapping Grid/FromDepth=false. You can explicitly set back Grid/FromDepth=true to come back to method A for the occupancy grid, while lidar can still be used for localization.
It is pretty new, so not heavily tested yet, but Grid/GromDepth has been migrated to Grid/Sensor parameter to add option to use both lidar and depth sensors for occupancy grid (when Grid/Sensor=2). You may give a try, otherwise with older rtabmap versions, I would stick to Grid/FromDepth=true if you really need to detect objects under lidar height OR (what I do in general) is to keep Grid/FromDepth=false with the lidar to get a nice global occupancy grid but in move_base's local costmap I include the camera point cloud so that the local planner can avoid small objects even if they are not in the global map (here is an example: using this and this for the local costmap config).
I have a question about how to write a launch file.
Is the pkg name nodelet instead of rtabmap_ros? Also, can I leave the args part as it is? Do I need to change it depending on my environment?If so, what should I put in the args section? Please tell me.
Some nodes of rtabmap can be used as nodelets or directly as node, it depends on how you feel to use one or the other. For simplicity, use directly the nodes. If you know how to use nodelets, you may prefer using nodelets for some efficiency improvements.