1.首先默认你看过我前一篇文章直接使用RS-helios获取点云数据
https://blog.csdn.net/weixin_43990795/article/details/121515916
这是为了熟悉RS雷达的一些设置。
2.下载lego-loam源码
https://github.com/RobustFieldAutonomyLab/LeGO-LOAM
按照如下配置依赖,编译一下。
Dependency
ROS (tested with indigo, kinetic, and melodic)ROS的安装
gtsam (Georgia Tech Smoothing and Mapping library, 4.0.0-alpha2)
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install
下载文件后编译
cd ~/catkin_ws/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1
3.配置两个雷达数据转换的开源代码
https://github.com/HViktorTsoi/rs_to_velodyne
下载后整个文件结构如下图布局,把雷达的sdk和rs_to_velodyne都放在src文件下,这样在catkin_make时会直接编译指向链接。
4.修改文件参数
- 修改雷达驱动中CMakeLists.txt和package.xml:看过第一步的链接的话只要实现第二步即可。
(1) 将文件顶部的set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)
(2) 将set(POINT_TYPE XYZI) 改为set(POINT_TYPE XYZIRT) ——转化成velodyne数据格式。
(3) 将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。
- 修改lego-loam的run.launch文件第五行,位置如下图。
<param name="/use_sim_time" value="false"/>
2.修改unity.h文件参数
5运行
在工作空间下运行下列命令形式如下图。
roslaunch rslidar_sdk start.launch
rosrun rs_to_velodyne rs_to_velodyne XYZIRT XYZIR
roslaunch lego_loam run.launch
6.完结
可以实现实时建图,但可能还要修改,后续还会有其他SLAM算法的实现。