十六.激光和惯导LIO-SLAM框架学习之配置自用传感器实时室外跑LIO-SAM框架
专栏系列文章如下:
一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN博客
二.激光SLAM框架学习之A-LOAM框架---介绍及其演示_goldqiu的博客-CSDN博客
三.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---1.项目文件介绍(除主要源码部分)_goldqiu的博客-CSDN博客
四.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---2.scanRegistration.cpp--前端雷达处理和特征提取_goldqiu的博客-CSDN博客
五.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---3.laserOdometry.cpp--前端雷达里程计和位姿粗估计_goldqiu的博客-CSDN博客
六.激光SLAM框架学习之A-LOAM框架---项目工程代码介绍---4.laserMapping.cpp--后端建图和帧位姿精估计(优化)_goldqiu的博客-CSDN博客
七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图_goldqiu的博客-CSDN博客
八.激光SLAM框架学习之LeGO-LOAM框架---框架介绍和运行演示_goldqiu的博客-CSDN博客
九.激光SLAM框架学习之LeGO-LOAM框架---速腾Robosense-16线雷达室外建图和其他框架对比、录包和保存数据_goldqiu的博客-CSDN博客
十.激光SLAM框架学习之LeGO-LOAM框架---算法原理和改进、项目工程代码_goldqiu的博客-CSDN博客
十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运行演示
十二.激光SLAM框架学习之livox-loam框架安装和跑数据集_goldqiu的博客-CSDN博客_livox 数据集
十三.激光SLAM框架学习之livox-Mid-70雷达使用和实时室外跑框架_goldqiu的博客-CSDN博客
十四.激光和惯导LIO-SLAM框架学习之惯导内参标定_goldqiu的博客-CSDN博客
十五.激光和惯导LIO-SLAM框架学习之惯导与雷达外参标定(1)_goldqiu的博客-CSDN博客
雷达测试:
首先安装好雷达在平台上,供电准备好,雷达网口接终端,雷达本机ip是192.168.1.200,终端ip要配置成192.168.1.102,子网掩码255.255.255.0即可。
终端ping 192.168.1.200可以ping通则说明雷达通讯没问题。
雷达驱动下载:
GitHub下载最新源码
https://github.com/RoboSense-LiDAR/rslidar_sdk.git
雷达驱动环境安装:
安装pcap:sudo apt-get install -y libpcap-dev
安装Yaml:sudo apt-get install -y libyaml-cpp-dev (若已安装ROS desktop-full, 可跳过)
修改CMakeLists.txt
(1)将文件顶部的set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)
(2) 将set(POINT_TYPE XYZI) 改为set(POINT_TYPE XYZIRT)
将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。
建立ros工作空间,在工作空间编译。
GitHub下载rs雷达话题转velodyne雷达话题
https://github.com/HViktorTsoi/rs_to_velodyne.git
并编译,可放在同个工作空间编译。
编译LIO-SAM,前面有讲,可放在同个工作空间编译。
SBG AHRS传感器驱动安装:
SBG传感器具体如何通过上位机或者yaml文件更改配置,这个部分之前有讲过。
这里主要就是SBG的ROS驱动如何安装,IMU话题如何给到LIO-SAM中。
下载并编译最新的源码:
cd catkin_ws/src
git clone https://github.com/SBG-Systems/sbg_ros_driver.git
cd ../
catkin_make
惯导ROS驱动包yaml文件可以修改传感器参数,但是不建议。建议的做法是在上位机进行修改,修改后yaml文件也同步进行修改。比如:
1) 需要找到传感器的串口号,然后更改portName: "/dev/ttyUSB0"
2) 更改波特率: baudRate: 921600
3) 更改运动模型: motionProfile: 2 (注:车载模型)
4) 更改输出:改成ros时间:time_reference: "ros"
5) 更改输出:改成ROS的IMU消息格式 : ros_standard: true
6) 更改输出:更改为ENU坐标系, use_enu: true
7) 更改输出:更改frame_id : frame_id: "imu_link"
8) 更改输出:更改系统状态刷新频率:log_status: 200
9) 更改输出:更改IMU数据刷新频率: log_imu_data: 1
10) 更改输出:更改UTC时间刷新频率: log_utc_time: 200
11) 更改输出:更改磁力计数据刷新频率: log_mag: 4
修改话题名称:
sbg_ellipseN.launch文件中增加: <remap from="/imu/data" to="imu_raw" />
把IMU话题改成LIO-SAM需要的话题
在LIO-SAM中config文件夹中的配置yaml文件中修改雷达话题名称
pointCloudTopic: "points_raw" (改成雷达的话题velodyne _points)
标定内参:
前面已经讲解如何标定IMU内参,这里不做讲解,就是替换前面四个参数。第五个参数需要连续采样Z轴重力加速度做均值。
标定外参:
即确认惯导与雷达的旋转变换矩阵
查看LIO-SAM中config文件夹中的配置yaml文件:
其中extrinsicRot表示imu->lidar的坐标变换, 用于旋转imu坐标系下的加速度和角速度到lidar坐标系下, extrinsicRPY则用于旋转imu坐标系下的欧拉角到lidar坐标下, 由于lio-sam作者使用的imu的欧拉角旋转方向与lidar坐标系不一致(即是按照什么旋转顺序旋转), 因此使用了两个旋转不同, 但是大部分的设备两个旋转应该是设置为相同的,我们这里也是设置为相同即可。
前面标定有做讲解,这里就不说如何标定了,标定好了替换这两个矩阵。
平移向量影响不是很大,直接从结构图纸中得到即可,即是惯导原点到雷达原点的向量。
运行
在运行之前要给惯导串口给权限:sudo chmod 777 dev/ttyUSB0
永久权限:后面再加
然后运行:
source devel/setup.bash
roslaunch sbg_driver sbg_ellipseN.launch
source devel/setup.bash
roslaunch rslidar_sdk start.launch
source devel/setup.bash
rosrun rs_to_velodyne rs_to_velodyne XYZIRT XYZIRT
source devel/setup.bash
roslaunch lio_sam run.launch
测试效果:
数据保存:
录制地图包:
rosbag record -o mybag.bag out /laser_cloud_surround
查看:rosrun pcl_ros bag_to_pcd mybag.bag /laser_cloud_surround mypcd
pcl_viewer xxx.pcd (这里是查看一帧的数据)
录制点云包:
rosbag record -o mybag.bag out /velodyne_points /imu_raw
如果想要保存地图,需要对config/params.yaml文件进行如下修改
# 保存地图设置为true
savePCD: true
# 设置地图保存路径
savePCDDirectory: "自己设置的路径"
注意:这里的路径是home folder, starts and ends with "/",即在home folder下建立一个文件夹即可。
更改了配置文件后,还需更改一下_TIMEOUT_SIGINT参数,否则可能造成地图保存失败(这是由于ros会在_TIMEOUT_SIGINT秒后关闭ros节点,但是地图过大时,保存地图会花费一些时间,如果_TIMEOUT_SIGINT太小,很可能造成地图还未保存,节点就已经关闭了,所以需要适当调高_TIMEOUT_SIGINT值),具体方法如下:
sudo gedit /opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py
找到_TIMEOUT_SIGINT并调整数值(默认15s,参考值60s)
还有一个方法是直接终端敲:
rosservice call /lio_sam/save_map 0.2 "/data/"
保存下来的pcd文件:
CC打开:
总结:
IMU内参和IMU与雷达外参在低速运行的情况下建图效果差距不大,也就是我们可以不用标定,直接用理论值就行。只要保证IMU使用正常即可,即是保证IMU运动方向与车前进方向相同,不然点云会错乱。后面再对比几个基于雷达的SLAM框架数据。
十六.激光和惯导LIO-SLAM框架学习之配置自用传感器实时室外跑LIO-SAM框架相关推荐
- 十九.激光和惯导LIO-SLAM框架学习之项目工程代码介绍---代码框架和一些文件解释
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 十五.激光和惯导LIO-SLAM框架学习之惯导与雷达外参标定(1)
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 十四.激光和惯导LIO-SLAM框架学习之惯导内参标定
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- 十七.激光和惯导LIO-SLAM框架学习之IMU和IMU预积分
专栏系列文章如下: 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN ...
- LVI-SAM:紧耦合的激光视觉惯导SLAM系统(Tixiao Shan新作,已开源)
论文地址:在公众号「3D视觉工坊」,后台回复「LVI-SAM」,即可直接下载. 我相信很多人对激光视觉惯导融合的系统都是这样设计的,但是最难的是把自己的想法保质保量的实现出来.我们做不到但是大佬可以! ...
- 3D惯导Lidar SLAM
3D惯导Lidar SLAM LIPS: LiDAR-Inertial 3D Plane SLAM 摘要 本文提出了最近点平面表示的形式化方法,并分析了其在三维室内同步定位与映射中的应用.提出了一个利 ...
- LVI-SAM:使用SAM的激光-视觉-惯导紧耦合里程计
转载自:https://mp.weixin.qq.com/s/MlN-0BD9rAdJwsVco7TRlg LVI-SAM:使用SAM的激光-视觉-惯导紧耦合里程计 原创 泡泡机器人 泡泡机器人SLA ...
- LIO-SAM: 紧耦合的激光与惯导里程计方案
点云PCL免费知识星球,点云论文速读. 标题:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 作者 ...
- 立体视觉+惯导+激光雷达SLAM系统
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:Stereo Visual Inertial LiDAR Simultaneous Locali ...
最新文章
- BorderDet(论文解读)
- python连接ssh执行模块_python ssh之paramiko模块使用
- 浅谈SQL Server内部运行机制
- 微信小程序tabBar不显示的问题描述解决
- java-自定义数据排序
- 使用SecureCRT录制自动脚本
- vue 路由知识点梳理及应用场景整理
- mysql 5.6.36安装图解_2017年12月聚合文章--实战-Mysql5.6.36脚本编译安装及初始化 | 码友网...
- 自动放大_放大招!滴滴自动驾驶汽车通过图灵测试,quot;车技quot;不输老司机...
- android 画笔
- 一级调研员比三级调研员退休金高多少?
- python web编程 创建一个web服务器
- wi ndows防火墙,网吧的防火墙怎么关?四种方法关闭WINDOWS防火墙
- php求闰年的公式,php判断闰年(闰年计算方法)
- 我和宁夏日报 【白述礼】
- IM 即时通讯系统【源码好优多】
- 华勤技术股份有限公司
- 主进程、子进程和守护进程
- sohc和vtec的关系
- 如何区别画面分割器、视频矩阵和延长器
热门文章
- P2P之UDP穿透NAT的原理与实现(附源代码)(转)
- AV Linux MX-21 来了,多媒体创作者梦想成真
- 在大连做安天技术论坛 GuessMe1
- 无意中又喜获一本好书——《操作系统真相还原》——郑钢 著
- Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds with Real-Time
- vue3使用的移动端UI框架,vue3.0 ui组件库
- 【世界读书日】2023年通信好书推荐
- 计算机等级节日综合症,警惕孩子节日综合症
- STM32F103点亮LED灯
- GIAC 技术大会 Redis 演讲文字稿