2D mapping with D435i, T265 and lidar

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

2D mapping with D435i, T265 and lidar

AndreaEirale
This post was updated on .
Hi everyone!
I'm trying to obtain a 2D occupancy grid map using a turtlebot and realsense D435i and T265 cameras. With rtabmap the resulting 2D map was a bit dirty, so I decided to add the lidar and use it for the creation of the map. My problem is that, as visible from the image, while the ground map is correct, the algorithm does not mark the walls, and generates a cloud of black pixels along a direction. If I turn the robot, this cloud is generated at 360 degree around the ground map.

 

This is very strange, I have already played with parameters but I can't find a solution, I hope some of you can help me!
This is my launch file right now:

<launch>
    <!-- This file is only used for testing -->

    <arg name="offline"          default="false"/>
    <include unless="$(arg offline)" 
        file="$(find realsense2_camera)/launch/rs_d400_and_t265.launch">
    </include>

    <include unless="$(arg offline)"
	file="$(find hls_lfcd_lds_driver)/launch/hlds_laser.launch">
    </include>

    <node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args ="0 0 0 0 0 0 1 t265_link laser 100" />

    <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
	<arg name="args"			value="-d --Mem/UseOdomGravity true --Optimizer/GravitySigma 0.3"/>
        <arg name="odom_topic" 			value="/t265/odom/sample"/>
        <arg name="frame_id" 			value="t265_link"/>
	<arg name="rgbd_sync" 			value="true"/>
        <arg name="depth_topic" 		value="/d400/aligned_depth_to_color/image_raw"/>
	<arg name="rgb_topic" 			value="/d400/color/image_raw"/>
        <arg name="camera_info_topic" 		value="/d400/color/camera_info"/>
        <arg name="subscribe_scan" 		value="true"/>
        <arg name="scan_topic"        		value="/scan"/>
        <arg name="approx_rgbd_sync" 		value="false"/>
	<arg name="visual_odometry" 		value="false"/>
        <arg name="rtabmapviz" 			value="false"/>
        <arg name="rviz" 			value="true"/>
        <arg name="rviz_cfg" 			value="$(find prediction)/launch/config/RoomRec.rviz" />
        <param name="Grid/FromDepth"		type="string" value="false"/>
        <param name="Grid/3D"			type="string" value="false"/>
        <param name="Grid/NoiseFilteringMinNeighbors"	type="string" value="3.0"/>
        <param name="Grid/NoiseFilteringRadius"	type="string" value="3.0"/>
        <param name="Grid/RangeMax"		type="string" value="2.0"/>
    </include>
</launch>

hlds_laser.launch is simply a launch file for the activation of the lidar, while the static transform is used to set the lidar integral with the robot.

As a side note, this can't be an hardware problem, since using gmapping or hector with the lidar alone, all works as expected (but I lose all the advantages in using rtabmap).
Reply | Threaded
Open this post in threaded view
|

Re: 2D mapping with D435i, T265 and lidar

matlabbe
Administrator
Hi, can you record and share a rosbag with the lidar data ?