6.如何利用LIO-SAM生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例

这篇具有很好参考价值的文章主要介绍了6.如何利用LIO-SAM生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1 octomap的安装

2 二维导航节点的建立及栅格地图的构建

3 三维栅格地图的建立


1 octomap的安装

        这里采用命令安装:

sudo apt install ros-melodic-octomap-msgs ros-melodic-octomap-ros ros-melodic-octomap-rviz-plugins ros-melodic-octomap-server

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        这样子就是安装好了。

2 二维导航节点的建立及栅格地图的构建

        我们进入liosam的工作空间下的launch文件夹:

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        新建一个launch文件,就叫octomap2D.launchoctomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        将下面的内容粘贴其中:

<launch>
  <node pkg="octomap_server" type="octomap_server_node" name="octomap_server"> 
 
     <!--resolution in meters per pixel-->
    <param name="resulution" value="0.6" />
    
     <!--name of the fixed frame,needs to be "/map" for SLAM-->
    <param name="frame_id" type="string" value="/map" />
 
     <!--max range/depth resolution of the kinect meters-->
    <param name="sensor_model/max_range" value="5.0" />
    <param name="latch" value="true" />
 
     <!--max/min height for occupancy map, should be in meters-->
    <param name="pointcloud_max_z" value="5" />
    <param name="pointcloud_min_z" value="0" />
 
    <param name="graound_filter_angle" value="3.14" />
 
     <!--topic from where pointcloud2 messages are subscribed-->
    <remap from="/cloud_in" to="/lio_sam/mapping/cloud_registered" />
 
  </node>
 
</launch>

        我来解释下各个参数的含义:

        resolution:分辨率或精度,越小精度越高计算需要资源越庞大

        frame_id:世界坐标系的话题,即圆点坐标系

        sensor_model/max_range:扫描的最大距离

        cloud_in:点云话题

        pointcloud_max_z:最大的Z扫描值

        pointcloud_min_z:最小的Z扫描值(激光雷达和垂直平面有一定距离)

        当然,还有其他可选参数:

        1.剔除地面点的

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        加上的话类似这样:

<launch>
  <node pkg="octomap_server" type="octomap_server_node" name="octomap_server"> 
 
     <!--resolution in meters per pixel-->
    <param name="resulution" value="0.6" />
    
     <!--name of the fixed frame,needs to be "/map" for SLAM-->
    <param name="frame_id" type="string" value="/map" />
 
     <!--max range/depth resolution of the kinect meters-->
    <param name="sensor_model/max_range" value="1000.0" />
    <param name="latch" value="true" />
 
     <!--max/min height for occupancy map, should be in meters-->
    <param name="pointcloud_max_z" value="5" />
    <param name="pointcloud_min_z" value="-1.5" />
 
    <param name="filter_ground" value="true" />
    <param name="ground_filter/distance" value="0.05" />
    <param name="ground_filter/angle" value="0.2" />

 
     <!--topic from where pointcloud2 messages are subscribed-->
    <remap from="/cloud_in" to="/lio_sam/mapping/cloud_registered" />
 
  </node>
 
</launch>

        我们启动liosam主节点和本节点。

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        播放bag包:

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        发现地面有很多噪点。调参...

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        好点了,继续调参。。

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        不停的调参后.....

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        勉强可以用。。。因为我们手持的原因...

        保存栅格地图:

 rosrun map_server map_saver map:=/projected_map -f sbmap

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        

3 三维栅格地图的建立

        下载octomap_tutor并编译:

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        安装依赖:

sudo apt-get install liboctomap-dev octomap

        生成可执行文件pcd2octomap,记得一定要设置可执行,可以打开这个文件的属性看一看。octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        执行:

pcd2octomap carto_demo.pcd carto.bt

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        执行成功,发现八叉树文件:

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        查看地图:

octovis carto.bt

octomap转二维栅格地图,如何用ORBSLAM3进行稠密建图用于路径规划,机器人,无人机

        OK文章来源地址https://www.toymoban.com/news/detail-794219.html

到了这里,关于6.如何利用LIO-SAM生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3d激光SLAM:LIO-SAM框架---位姿融合输出

    LIO-SAM的全称是:Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 从全称上可以看出,该算法是一个紧耦合的雷达惯导里程计(Tightly-coupled Lidar Inertial Odometry),借助的手段就是利用GT-SAM库中的方法。 LIO-SAM 提出了一个利用GT-SAM的紧耦合激光雷达惯导里程计的框架。 实现了

    2023年04月20日
    浏览(38)
  • 《LIO-SAM阅读笔记》-为何要引入增量式里程计?

    前言: LIO-SAM在后端中同时维护着两个里程计,一个是增量式里程计,一个是优化后的里程计,其中优化后的里程计是经过imu、回环、gps因子图联合优化后的结果,是整个系统中最准确的位姿估计,那么为什么还需要维护增量式里程计呢? 以下是我的理解 ,不一定正确,如有

    2024年01月22日
    浏览(45)
  • Ubuntu20.04 ROS noetic中编译和运行LIO-SAM

    本文是对自己学习过程的一个记录和总结,如果内容有误,请大家指点,感谢。         本文是在已经安装好ROS环境中进行的,不需要提前安装其他库,只需按照步骤进行操作,便能完成LIO-SAM的编译和运行,并且每一步都有我执行时的截图进行参考。 1.【创建工作空间】

    2024年03月24日
    浏览(57)
  • Ubuntu20.04安装LeGO-LOAM和LIO-SAM

    Ubuntu20.04安装LIO-SAM真是挺折磨人的,填了一路的坑,在此记录分享一下,为大家安装编译算法提供一个全面的参考。 目录 1. GTSAM安装 1.1 GTSAM安装准备 1.1.1 目录/usr/local/lib下清理gatsam 1.1.2 目录/opt/ros/noetic/lib/下清理gtsam 1.2 GTSAM安装过程 2. LIO-SAM算法依赖项安装 3. LeGO-LOAM算法编

    2024年04月28日
    浏览(82)
  • 多传感器融合SLAM --- 10.LIO-SAM前端代码分析 imuPreintegration.cpp

    目录 0.流程图 1.main函数 2 IMU预积分类 2.1 代码详细注释 2.2 分块讲

    2024年02月07日
    浏览(41)
  • SLAM学习笔记(一)Lio-sam安装与运行 ubuntu18.04+ros melodic

    三维激光SLAM入门 Lio-sam安装与运行 ubuntu18.04+ros melodic 最近在学习激光SLAM,本文将介绍了ubuntu18.04+ros melodic下部署复现LIO-SAM的过程。2020年TIxiaoshan在IROS发表了Lio-sam算法,LiO-sam是Lego-Loam的拓展版本,添加了IMU预积分因子和GPS因子,Loam与Lego-Loam纯靠激光雷达点云信息SLAM,Lio-sa

    2023年04月09日
    浏览(136)
  • Ubuntu 20.04 与 ROS noetic安装 gtsam 编译 LIO-SAM 的适配版本

    本文简介在 Ubuntu 20.04 下以 ROS noetic 为基础安装 GTSAM 并成功编译 LIO-SAM 的适配版本。 安装前请检查cmake 和boost版本,Ubuntu 20.04.06自带cmake(= 3.0) 和libboost-all-dev(= 1.65)已满足要求。编译LIO-SAM适配版本的其它依赖包也已满足要求(主要是PCL, Eigen和OpenCV等, 详见其CMakeList)。 当前

    2024年02月13日
    浏览(55)
  • LOAM、Lego-liom、Lio-sam轨迹保存,与Kitti数据集真值进行评估

            首先需要保存轨迹,轨迹保存参考下面的代码,最好自己 添加一个节点 (如下图),用新节点来订阅和保存轨迹至txt文件,因为直接在算法的线程中加入此步骤我试了好像保存不了,好像是在不同线程间的参数传递格式的问题(也可能是我个人的问题)。     

    2023年04月08日
    浏览(66)
  • 在Ubuntu20.04系统上LIO-SAM跑KITTI数据集和自己数据集代码修改

    参考我的另一篇文章: Ubuntu20.04下的编译与运行LIO-SAM【问题解决】 因为liosam 要求输入的点云每个点都有ring 信息和相对时间time信息,目前的雷达驱动基本具备这些信息,但是早期的KITTI数据集不具备,所以代码要自己计算一下 ring和time。方法可以参考lego-loam中这部分内容,

    2024年02月01日
    浏览(45)
  • Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM

    在我第一篇博文Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+Gazebo仿真运行ORB-SLAM2+各种相关库的安装的基础环境下跑通LOAM系列 首先按照上一篇文章已经安装好了ROS noetic、Eigen3.4.0、OpenCV4.2.0和PCL1.10等三方库,它们的安装不再赘述,另外文章中 使用的数据 已经在

    2024年02月06日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包