PengYu-Team / DCL-SLAM

A ROS package of DCL-SLAM: Distributed Collaborative LiDAR SLAM Framework for a Robotic Swarm.
Apache License 2.0
195 stars 20 forks source link

为什么协同建图的效果很差 #15

Open if-jie opened 1 year ago

if-jie commented 1 year ago

my runlaunch `

<arg name="set_respawn_value" default="false"/>  <!-- boolean: true, false -->

<!--- rviz -->
<node pkg="rviz" type="rviz" name="dcl_rviz" args="-d $(find dcl_slam)/config/dcl_rviz.rviz" />
<node pkg="dcl_slam" type="dcl_slam_loopVisualizationNode" name="dcl_slam_loopVisualizationNode" output="screen" />
<!-- Robot list -->
<include file="$(find dcl_slam)/launch/single_ugv.launch">
    <arg name="robotPrefix" value="a"/>
    <arg name="respawnValue" value="$(arg set_respawn_value)"/>
    <arg name="lioType" value="$(arg set_lio_type)"/>
</include>

<include file="$(find dcl_slam)/launch/single_ugv.launch">
    <arg name="robotPrefix" value="b"/>
    <arg name="respawnValue" value="$(arg set_respawn_value)"/>
    <arg name="lioType" value="$(arg set_lio_type)"/>
</include>

<include file="$(find dcl_slam)/launch/single_ugv.launch">
    <arg name="robotPrefix" value="c"/>
    <arg name="respawnValue" value="$(arg set_respawn_value)"/>
    <arg name="lioType" value="$(arg set_lio_type)"/>
</include>

<!-- rosbag player node ->> you need to change bag file here!!! -->
<!-- SYSU S3E bag file path -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/SYSU_STATUE.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/SYSU_FOOTBALL_FIELD_1.bag"/>  -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_FOOTBALL_FIELD_2.bag"/>  -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_LIVING_QUARTERS.bag"/> -->
<arg name="SYSU_bag" value="$(env HOME)/dataset/S3E_Laboratory_1.bag"/>
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_LABORATORY_BUILDING.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_TEACHING_BUILDING.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_ARCHWAY_2.bag"/> -->

<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_GEZHIYUAN_1.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_GEZHIYUAN_2.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_GEZHIYUAN_3.bag"/> -->
<!-- <arg name="SYSU_bag" value="$(env HOME)/rosbag-data/S3E/SYSU_GEZHIYUAN_4.bag"/> -->

<remap from="/Alpha/velodyne_points" to="/a/velodyne_points"/>
<remap from="/Bob/velodyne_points" to="/b/velodyne_points"/>
<remap from="/Carol/velodyne_points" to="/c/velodyne_points"/>
<remap from="/Alpha/imu/data" to="/a/imu/data"/>
<remap from="/Bob/imu/data" to="/b/imu/data"/>
<remap from="/Carol/imu/data" to="/c/imu/data"/>

<node name="player2" pkg="rosbag" type="play" output="screen" args="-r 1 -q -d 8 $(arg SYSU_bag)"/> 

<!--<arg name="bag_file3" value="$(env HOME)/2022_07_22_19_48_01_rect.bag"/>
<arg name="bag_file4" value="$(env HOME)/2022_07_22_19_54_37_rect.bag"/>
<arg name="bag_file5" value="$(env HOME)/2022_07_22_20_01_00_rect.bag"/>
<node name="player3" pkg="rosbag" type="play" output="screen" args="-r 1 -p a -q -d 2 $(arg bag_file3)"/>
<node name="player4" pkg="rosbag" type="play" output="screen" args="-r 1 -p b -q -d 2 $(arg bag_file4)"/>
<node name="player5" pkg="rosbag" type="play" output="screen" args="-r 1 -p c -q -d 2 $(arg bag_file5)"/>-->

` rviz 图 image

if-jie commented 1 year ago

image

zhongshp commented 10 months ago

目前版本的DCL-SLAM在S3E室内场景中并没有进行充分的测试。但是你可以从以下几点去尝试一下调优: 1.尝试单机情况下,使得目前的前端或者新的前端能够稳定运行 2.可以尝试调整PCM的阈值,因为室内场景存在更多的感知混淆