lio-sam安装,跑自己的数据集
笔者在学习LIO_SAM时踩了不少坑,文中参考了很多大佬的文章,我只是个搬运工。 有疑问可以随时联系我,欢迎交流。
硬件介绍
velodyne 16线 雷达
wheeletc N100 9轴imu
Ubuntu18.04,使用ros melodic
建立自己的工作空间
mkdir catkin_ws
cd catkin_ws
mkdir src
catkin_make
安装lio-sam的依赖项
sudo apt-get install -y ros-melodic-navigation
sudo apt-get install -y ros-melodic-robot-localization
sudo apt-get install -y ros-melodic-robot-state-publisher
安装gtsam4.0.2
git clone https://ghproxy.com/https://github.com/borglab/gtsam/archive/4.0.2.zip
mkdir build
cd build
cmake ..
sudo make
make install
此处可能会报错
g++: internal compiler error: Killed (program cc1plus)
解决办法:参考这个博客内容
编译lio-sam
//将文件克隆到工作空间下的src文件夹中
git clone https://ghproxy.com/https://github.com/TixiaoShan/LIO-SAM.git
cd ..
catkin_make
imu雷达位置(非常重要)
标定产生的误差会对结果造成很大的影响,(我在这里踩坑不少)所以我这里把雷达和imu的位置放在一起
这样就不需要在参数文件里修改。注意雷达的坐标系和imu的坐标系一致。
修改配置文件
由于之前安装的各功能包时都在工作空间下进行的,故工作空间下src文件夹中应该会有激光雷达、IMU和LIO_SAM三个功能包。我们打开LIO_SAM文件夹中的/config/下的params.yaml文件,修改参数,原文件建议备份一份。
我将pointcloudTopic :改为velodyne_points
imutopic : imu
这里需要根据你的雷达和imu的参数来修改
在这里需要注意,前期在我们的实验平台还没搭建完成时,雷达固定架还没有装好,在等待的这段时间我没有进行标定就进行了程序的运行,遇到了地图漂移和旋转等问题,没有进行进一步测试,原因可能是因为没标定也可恶能是因为在实验室狭窄环境和复杂电磁环境的多种因素。所以在此现将准备工作做好在进行下面的工作。
标定参数
由于雷达和imu的位置放的很近,我没有标定外参,内参使用的是参考