系统环境:Ubuntu 20.04
激光雷达:velodyne 16线
IMU :WHEELTEC N100
GitHub - wwtx/lidar_align_wwtx
sudo apt-get install libnlopt-dev
cd ~/lidar_align_ws/src
git clone https://github.com/wwtx/lidar_align_wwtx.git
cd ..
catkin_make
报错:
解决:
将 lidar_align 文件夹下的 NLOPTConfig.cmake 复制到 ROS工作空间lidar_align_ws/src路径下面,再次编译
报错:
解决:
CMakeLists.txt 文件夹里面的 " c++11 " 改为 " c++14 "
再次编译
报错:
解决: https://github.com/stevengj/nlopt
git clone https://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install
再次编译 即可完成!!!!
打开 src 文件夹下面的 loader.cpp 文件, 找到里程计部分注释掉,然后用下面的替换。。提供的代码中已经改写了,可能旧的版本里面没有改写,如果没有改写,按照参考博客连接里面的代码改写。。
修改完成之后再次 编译即可!
联合标定需要录制bag 数据包,里面包括 激光数据 和 IMU 数据,需要先将激光雷达和 imu 固定好位置,然后再进行录制。。
验证imu 和 雷达安装的方向是否符合要求,(一般IMU坐标系和雷达坐标系方向一致就问题不大),参考视频:https://www.youtube.com/watch?v=BOUK8LYQhHs
启动雷达参考: lidar 启动
启动IMU参考: IMU 启动
// 在进行下面的操作前 设备连接好
// 激光雷达
// 打开一个终端
cd ~/catkin_velodyne
catkin_make
source devel/setup.bash
roslaunch velodyne_pointcloud VLP16_points.launch
// 再打开一个终端,查看雷达的话题
rostopic list
// IMU
// 再打开一个终端
cd ~/imu_calib_ws
catkin_make
source devel/setup.bash
roslaunch fdilink_ahrs ahrs_data.launch
// 再打开一个终端, 查看 imu 话题 和 imu 数据
rostopic list
rostopic echo /imu
启动之后 看一下数据雷达和 imu 是否安装好
之后打开终端 录制数据
rosbag record -o lidar_imu.bag out /velodyne_points /imu
录制完成之后 修改 launch 文件的 bag 包路径。
cd ~/lidar_align_ws
catkin_make
source devel/setup.bash
roslaunch lidar_align lidar_align.launch
执行完上面的过程,出现下面的开始标定的界面。
标定完之后:
结果会保存到lidar_align/result (result 是我自己改的文件名字) 文件下:
至此,联合标定就结束了!!!!
参考:
ubuntu16.04 lidar_align实现三维激光雷达和Imu联合标定_berry丶的博客-CSDN博客
【3D激光SLAM(四)】Velodyne激光SLAM学习之激光雷达+IMU外参标定-lidar_align联合标定激光雷达和IMU外参_Canminem的博客-CSDN博客
激光雷达和IMU联合标定并运行LIOSAM_浪客_剑心的博客-CSDN博客_liosam
SLAM硬件搭建(激光雷达+IMU+相机+移动底盘)_Cloudy_to_sunny的博客-CSDN博客_slam 硬件
lidar_align联合标定激光雷达和IMU外参_小霍金的博客-CSDN博客