Ubuntu 20.04 + Livox mid 70 运行Livox mapping

一. 环境配置

参考官方文档: https://github.com/Livox-SDK/livox_mapping

1. 安装 PCL 1.8.1 与VTK 7.1.1 版本(版本不对应可能报错),参考Linux 下 OpenCV-3.4.1+VTK7.1.1+PCL1.8.1编译安装教程(Ubuntu16.04,Ubuntu18.04系统,ARM/X86架构都适用)_编译 opencv vtk_xiaohai@Linux的博客-CSDN博客

 pcl编译报错解决参考: Ubuntu20.04安装PCL1.8.0编译错误(全网最全~)_小方只会百度的博客-CSDN博客

   

2.  20.04自带opencv4,没有额外安装opencv。

3.  编译livox_mapping,遇到找不到头文件等问题,跟Loam中的一样的方法解决。

LeGO-LOAM编译错误 #include<opencv/cv.h> 找不到_#include opencv/cv,h_勇敢凡凡的博客-CSDN博客

二. 设备连接

Livox_view , Livox_SDK , Livox_ros_driver 安装使用参考:

大疆Livox Mid-70雷达的使用_LacyExsale的博客-CSDN博客

三:结果显示

运行中Rivz不显示地图数据,参考ROS调试问题记录Fixed Frame [map] does not exist_libenfan的博客-CSDN博客

运行的结果:

mid70 点云还是比较稀疏,转弯快容易漂移

 

 

livox_mapping 是一种基于 Livox 雷达的激光 SLAM 实现,其中也包含了地面约束。地面约束的作用是约束机器人所在平面与地面平行,避免因为地形变化等原因导致的误差累积。 livox_mapping 中的地面约束可以分为两个部分: 1. 地面点云提取 livox_mapping 使用了基于局部窗口扫描的方法提取地面点云。具体来说,对于每一个激光点,livox_mapping 会选取其周围一定范围内的激光点进行统计,并计算这些激光点的平均高度。如果该点的高度与平均高度之差小于一定阈值,则认为该点属于地面点云。经过这样的处理后,livox_mapping 得到了一份地面点云数据。 2. 地面约束因子 livox_mapping 中对地面约束的建模采用了与前面介绍的因子图优化类似的方法。具体来说,livox_mapping 将机器人的位姿拆分成平移和旋转两个部分,然后对平移部分施加地面约束。地面约束的公式与前面介绍的相同,即: $$ p_{z,i} - \frac{a}{c}p_{x,i} - \frac{b}{c}p_{y,i} - \frac{d}{c} = 0 $$ 其中,$p_{x,i}$、$p_{y,i}$、$p_{z,i}$ 是机器人位姿下的激光点云坐标,$(a, b, c)$ 是地面的法向量,$d$ 是地面的截距。livox_mapping 中通过计算地面点云的平均法向量来得到地面的法向量和截距。然后,对于每一个机器人位姿,livox_mapping 都会将其对应的激光点云中的点与地面约束因子进行匹配,并将匹配得到的因子加入因子图中进行优化。 总的来说,livox_mapping 的地面约束主要包含了两个部分:地面点云提取和地面约束因子。通过这两个部分的处理,livox_mapping 可以在激光 SLAM 中有效地应对地形变化等因素带来的误差。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值