introlab / rtabmap_ros

RTAB-Map's ROS package.
http://wiki.ros.org/rtabmap_ros
BSD 3-Clause "New" or "Revised" License
1.01k stars 558 forks source link

3D Obstacle Height #1029

Open furkancetiny opened 1 year ago

furkancetiny commented 1 year ago

Hello,

I'm trying to make a 3D map of the environment using the d435i realsense_camera and rplidar I have. And I can extract the map just fine. I am trying to navigate on this map. A question that comes to my mind is what should I do against high obstacles such as a table? My robot can only see the feet of the table, causing it to crash into the table.

The relevant code in the .launch file is as follows:

matlabbe commented 1 year ago

Can the camera sees the top of the table? You may try creating the occupancy grid from the camera: Grid/Sensor=1

sun-rabbit commented 1 year ago

你好,

我正在尝试使用我拥有的 d435i realsense_camera 和 rplidar 制作环境的 3D 地图。我可以很好地提取地图。我正在尝试在这张地图上导航。我想到的一个问题是,面对桌子等高障碍物,我该怎么办?我的机器人只能看到桌子的脚,导致它撞到桌子上。

.launch文件中相关代码如下:

<node name="rtabmap" pkg="rtabmap_slam" type="rtabmap" output="screen" args="$(arg rtabmap_args)">
  <param name="database_path"       type="string" value="$(arg database_path)"/>
  <param name="frame_id"            type="string" value="base_footprint"/>
  <param name="subscribe_rgb"   type="bool" value="false"/>
  <param name="subscribe_depth" type="bool" value="false"/>
  <param name="subscribe_rgbd" type="bool" value="true"/>
  <param name="subscribe_scan"      type="bool"   value="true"/>
  <param name="approx_sync"         type="bool"   value="true"/>

  <!-- use actionlib to send goals to move_base -->
  <param name="use_action_for_goal" type="bool" value="true"/>
  <remap from="move_base"            to="/move_base"/>

  <!-- inputs -->
  <remap from="scan"            to="/scan"/>
  <remap from="odom"            to="/base_controller/odom"/>
  <remap from="rgbd_image"       to="rgbd_image"/>

  <!-- output -->
  <remap from="grid_map" to="/map"/>

  <!-- RTAB-Map's parameters -->
  <param name="Reg/Strategy"                 type="string" value="1"/>
  <param name="Reg/Force3DoF"                type="string" value="true"/>
  <param name="GridGlobal/MinSize"           type="string" value="20"/>
  <param name="RGBD/NeighborLinkRefining"    type="string" value="true"/>

  <!-- localization mode -->
  <param     if="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="false"/>
  <param unless="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="true"/>
</node>

<!-- visualization with rtabmap_viz -->
<node if="$(arg rtabmap_viz)" pkg="rtabmap_viz" type="rtabmap_viz" name="rtabmap_viz" args="-d $(find rtabmap_demos)/launch/config/rgbd_gui.ini" output="screen">
  <param name="subscribe_scan"   type="bool"   value="true"/>
  <param name="subscribe_odom"   type="bool"   value="true"/>
  <param name="frame_id"         type="string" value="base_footprint"/>
  <param name="approx_sync"      type="bool"   value="true"/>

  <remap from="odom"            to="/base_controller/odom"/>
  <remap from="scan"            to="/scan"/>
</node>

hello,May I ask what model of your robot is? I also want to perform 3D graphics on Xuri Pi, but I do not have relevant information. Have you written a tutorial for this experiment

smile6023326 commented 7 months ago

Hello, I have used this program recently, but cannot connect to my d435i to make the robot move. Can you share the complete code? Thanks my results: 螢幕擷取畫面 2024-04-01 204720

I execute roslaunch realsense2_camera rs_rgbd.launch and roslaunch my_package rtabmap_nav.launch

rtabmap_nav.launch: rtabmap_lidar.txt