雷达+ IMU标定 运行LIO-SAM ---(2)

系统环境:Ubuntu 20.04

激光雷达:velodyne 16线

IMU :WHEELTEC N100

 一、使用 lidar_align 雷达和IMU联合标定

GitHub - wwtx/lidar_align_wwtx

1. 安装依赖

sudo apt-get install libnlopt-dev

2. 下载源码编译

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

再次编译 即可完成!!!!

3. 改写IMU接口

打开 src 文件夹下面的 loader.cpp 文件, 找到里程计部分注释掉,然后用下面的替换。。提供的代码中已经改写了,可能旧的版本里面没有改写,如果没有改写,按照参考博客连接里面的代码改写。。

修改完成之后再次 编译即可!

4. 录制数据

联合标定需要录制bag 数据包,里面包括 激光数据 和 IMU 数据,需要先将激光雷达和 imu 固定好位置,然后再进行录制。。

验证imu 和 雷达安装的方向是否符合要求,(一般IMU坐标系和雷达坐标系方向一致就问题不大),参考视频:https://www.youtube.com/watch?v=BOUK8LYQhHs

 (1) lidar 和 IMU 安装

 (2) 分别启动雷达和IMU

启动雷达参考: 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  是否安装好

(3) 录制数据包 

之后打开终端 录制数据

rosbag record -o lidar_imu.bag out /velodyne_points /imu

(4) 修改 launch 文件

录制完成之后 修改 launch 文件的 bag  包路径。

 5. 进行标定

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博客

<think>嗯,用户想在ROS中回放GPS和IMU的数据包。首先,我需要回忆一下ROS里处理数据包的基本方法。记得rosbag是用来录制和回放数据包的工具,可能在ROS2里是ros2 bag。不过用户提供的引用里有提到rosbag2,所以应该是指ROS2的环境。 首先,用户需要安装相关的包,比如ros2bag和存储插件。引用[1]里提到安装命令是sudo apt install ros-<ros2-distro>-ros2bag和ros-<ros2-distro>-rosbag2-storage-default-plugins。用户需要根据他们的ROS2发行版替换<ros2-distro>,比如foxy或humble。 然后,回放数据包的命令应该是ros2 bag play <bag_folder>,但需要确认数据包是否已经录制好了。用户可能已经用ros2 bag record录好了GPS和IMU的话题。如果不知道话题名称,可以用ros2 topic list查看,或者用引用[2]中的rosbag info命令来查看数据包的信息,不过ROS2可能用的是ros2 bag info。 接下来,可能需要确保GPS和IMU的数据类型正确。比如,GPS可能使用sensor_msgs/NavSatFix,而IMU可能是sensor_msgs/Imu。如果回放时没有显示数据,可能是RViz的配置问题,需要添加对应的显示插件,比如引用[4]提到的imu-tools,可能需要安装相应的包。 另外,用户提到在录制数据包时使用了激光雷达的数据,但现在是GPS和IMU,可能需要检查话题名称是否正确,或者在回放时指定特定的话题。如果数据包中有多个话题,但只需要回放部分,可以使用--topics参数来筛选。 还有时间同步的问题,如果GPS和IMU需要同步处理,可能需要用到ros2的message_filters或者使用时间同步节点。不过基本回放可能不需要,除非应用有特殊需求。 最后,用户可能需要可视化数据,比如在RViz中添加GPS的显示或者IMU的方向指示,这需要正确配置RViz的插件和设置。如果有问题,可能需要检查是否安装了必要的工具,比如引用[4]中的imu-tools。 总结步骤应该是:安装必要的包,查看数据包信息,回放数据包,并在RViz中确认数据是否正确显示。过程中可能需要处理话题名称不一致、数据类型不匹配或者插件未安装的问题。</think>在ROS中回放GPS和IMU数据包需要以下步骤: ### 一、准备工作 1. **安装依赖包** 确保已安装`ros2bag`和存储插件(替换`<ros2-distro>`为实际版本如`humble`): ```bash sudo apt install ros-<ros2-distro>-ros2bag ros-<ros2-distro>-rosbag2-storage-default-plugins ``` 引用自ROS2数据包管理文档[^1] 2. **验证数据包内容** 使用命令查看数据包的话题名称和消息类型: ```bash ros2 bag info <bag_folder> ``` 需要确认包含`/gps`和`/imu`等话题,消息类型应为`sensor_msgs/NavSatFix`和`sensor_msgs/Imu`[^2] ### 二、数据回放 ```bash ros2 bag play <bag_folder> --loop ``` - 添加`--topics /gps /imu`可限定只回放特定话题 - 使用`--rate 1.0`控制回放速度(1.0为实时) ### 三、数据可视化 1. **IMU可视化** 在RViz中添加: - `Imu`显示插件(需安装`ros-<ros2-distro>-imu-tools`[^4]) - 设置话题为`/imu/data` 2. **GPS可视化** 使用`navsat_transform_node`将GPS坐标转换为局部坐标系,或通过`robot_localization`包进行数据融合 ### 四、注意事项 1. 若时间戳不连续,需检查录制时是否启用`--use-sim-time` 2. 数据同步问题可通过`message_filters`模块实现时间同步策略 3. 激光雷达与GPS/IMU联合标定时,建议参考速腾聚创雷达的同步方案[^3]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值