DBSCAN을 활용하여 Hector SLAM과정에서의 정확도 향상 연구
OS: Ubuntu 20.04(ROS1 Noetic)
HW: RPLiDAR A3
- Project folder
cd ~/catkin_ws
mkdir -p src
cd src
- RPLiDAR A3 SDK
git clone https://github.com/Slamtec/rplidar_ros.git
- Hector SLAM
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
modify /hector_mapping/launch/mapping_default.launch
line 5, 6 into:
<arg name="base_frame" default="base_link"/>
<arg name="odom_frame" default="base_link"/>
- This package
git clone https://github.com/Kimdoodle/lidar_slam.git
- build
cd ~/catkin_ws
catkin_make
Option 1. Run both lidar and slam
roslaunch lidar_slam hector_lidar.launch
Option 2. Run seperately
roslaunch rplidar_ros rplidar_a3.launch
roslaunch lidar_slam hector_only.launch
Change params in /launch/hectormapping.launch
<param name="eps_ratio" value="5"/>
<param name="minpts" value="15"/>
<param name="remains" value="0.5"/>
eps_ratio
(0~100) stands for the eps value in DBSCAN, calculated as n% of the Euclidean distance in each scan.minpts
stands for the minimum number of points required to form a cluster.remains
(0.0 ~ 1.0) stands for the remaining clusters, which sorts all clusters by the number of points and retains only n% of them. Other clusters' labels are turned into -1 (outliers).