Pointcloud map generation using Realsense D435i

classic Classic list List threaded Threaded
4 messages Options
nk
Reply | Threaded
Open this post in threaded view
|

Pointcloud map generation using Realsense D435i

nk
I am trying SLAM with Realsense D435i according to the link below. https://github.com/IntelRealSense/realsense-ros/wiki/SLAM-with-D435i When generating a pointcloud map, I see that it is not very dense. How would I go about changing this? The part in the launch file that uses rtabmap is below.
    <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
        <arg name="args" value="--delete_db_on_start"/>
        <arg name="rgb_topic" value="/camera/color/image_raw"/>
        <arg name="depth_topic" value="/camera/aligned_depth_to_color/image_raw"/>
        <arg name="camera_info_topic" value="/camera/color/camera_info"/>
        <arg name="depth_camera_info_topic" value="/camera/depth/camera_info"/>
        <arg name="rtabmapviz" value="false"/>
        <arg name="rviz" value="true"/>
    </include>
My second question is a little more general. For my purpose, I am trying to scan a wall with objects on it. The camera will be at angle between looking up and facing the wall, and will move upwards. What would be the best way to obtain a 2D map of this wall, as seen from the front? Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Pointcloud map generation using Realsense D435i

matlabbe
Administrator
Which topic are you looking at? cloud_map? mapData?

Do you want an occupancy grid map matching the wall instad of the ground? With some TF rotation, you could add a 90 deg pitch so that the robot thinks that the wall is the ground, then rtabmap could provide the 2d map of the wall.
nk
Reply | Threaded
Open this post in threaded view
|

Re: Pointcloud map generation using Realsense D435i

nk
Which topic are you looking at? cloud_map? mapData?
-> cloud_map

Do you want an occupancy grid map matching the wall instad of the ground? With some TF rotation, you could add a 90 deg pitch so that the robot thinks that the wall is the ground, then rtabmap could provide the 2d map of the wall.
->Which part of the code would I change to do this? Sorry, I am new to robotics.
Reply | Threaded
Open this post in threaded view
|

Re: Pointcloud map generation using Realsense D435i

matlabbe
Administrator
Hi,

For cloud_map, we can decrease the cell size with Grid/CellSize parameter (default is 0.05 m). At the same time, the occupancy grid cell size will also change to value set (I would not do under 1 cm).

There is no code modification needed to change a referential, add a static transform like this:
<node pkg="tf" type="static_transform_publisher" name="hack_looking_down"
        args="0 0 0 0 1.57079632679 0 base_link_down base_link 100" /> 

then use frame_id:=base_link_down for rtabmap. However, it may screw up all related TF dependent nodes. Other option is to subscribe to cloud_obstacles and cloud_ground, and generate yourself a 2D grid map from the 3D point clouds.