使用Mid360进行FAST_LIO建图,并使用Octomap在线转栅格地图

news2024/11/13 10:34:39

在之前的教程中,我们已经成功的安装了激光雷达驱动,成功复现了FAST_LIO,并使用OCtomap将点云地图转为栅格地图。

但是之前我们是建图生成了.PCD文件后,读取pcd文件进行离线octomap转栅格地图,这样在实际的场景中并不完全适用,所以现在我需要改成在线的方式,也就是:一边进行同步定位与建图,一边将其转为栅格地图。

一、确保激光雷达能够使用

传送门:Mid-360 快速配置指南 | JiaFan's Blog

二、确保建图能够使用

传送门:https://github.com/66Lau/NEXTE_Sentry_Nav/tree/main?tab=readme-ov-file

 三、确保安装octomap源码

注意,是源码!好多教程都是不能修改源码的

传送门:octomap(3):搭建一个完整的octomap建图工作空间-CSDN博客

以上如果有问题可以去看我前面的教程!

 四、修改octpomap源码,使其可以在线建栅格图

这个修改十分的简单,因为我们只需要对齐输入和坐标系。

先理清一下思路:我想使用建图后配准的点云输入octomap,转为栅格地图。

那么只需要找到建图后配准的点云在哪个话题发布?使用的坐标系是什么?找清楚这两个就可以了。

直接用rqt_graph查看建图的话题,发现是/cloud_registered输出了配准后的点云,那就让octomap订阅这个点云话题。

先来看看源码中的launch文件octomap_mapping.launch

<!-- 
  Example launch file for octomap_server mapping: 
  Listens to incoming PointCloud2 data and incrementally builds an octomap. 
  The data is sent out in different representations. 

  Copy this file into your workspace and adjust as needed, see
  www.ros.org/wiki/octomap_server for details  
-->
<launch>
<!-- 启动octomap_server节点 -->
	<node pkg="octomap_server" type="octomap_server_node" name="octomap_server">
		<!-- 设置分辨率参数,表示八叉树中每个体素的大小 -->
		<param name="resolution" value="0.05" />
		
		<!-- fixed map frame (set to 'map' if SLAM or localization running!) -->
			<!-- 固定的地图坐标系 -->
#此处我已经对坐标系做了修改,将原来的"odom_combined"修改为"camera_init",和建图一个坐标系
		<param name="frame_id" type="string" value="camera_init" />
		<!--param name="frame_id" type="string" value="odom_combined" />-->
		<!--param name="frame_id" type="string" value="livox_frame" />-->

		<!-- maximum range to integrate (speedup!) -->
		<!-- 最大传感器整合范围,超过此范围的数据将被忽略,以提高处理速度 -->
		<param name="sensor_model/max_range" value="5.0" />
		
		
		<!-- data source to integrate (PointCloud2) -->
		<!-- 数据源重映射,将输入数据源从cloud_in重映射到/narrow_stereo/points_filtered2 -->
#此处我已经对输入话题进行了修改,将原来的"/narrow_stereo/points_filtered2" 修改为“/cloud_registered”
		<!--remap from="cloud_in" to="/livox/lidar" />-->
	     <!--remap from="cloud_in" to="/narrow_stereo/points_filtered2" />-->
		 <remap from="cloud_in" to="/cloud_registered" />
	</node>
</launch>

修改后先运行雷达,再运行建图,最后运行这个launch文件就可以得到结果啦!

五、话题

最后让我们直观的看看整个过程的话题是怎么走的,这样对我们理解代码也有很大帮助

1.雷达点云


2.FAST_LIO建图

可以看到,雷达发布了两个话题信息/livox/imu和/livox/lidar,这两个话题被/laserMapping节点订阅,然后被发布到三个话题,其中/cloud_registered是配准后的点云。

3.octoma转点云地图为栅格地图

这是整个完整流程的graph,octomap_sercer订阅了配准后的点云用于转栅格地图,然后把它发布到/octmap_full这个话题,所以我们在rviz里选择这个话题就能看到建成的栅格图

好啦,到此结束,有些细节有问题的话可以在评论里讨论。!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实现贝叶斯优化器(Bayes_opt)优化卷积神经网络-双向长短时记忆循环神经网络分类模型(CNN-BiLSTM分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 随着深度学习技术的发展&#xff0c;卷积神经网络&#xff08;Convolutional Neural Networks, CNNs&a…

Linux驱动基础 | sys文件系统

前言思考sys文件系统简介 sys文件系统是什么sys文件系统功能描述sysfs与objectsysfs接口使用 sysfs读写操作例子sysfs常用的接口sysfs常用的结构体代码实验总结 前言 上篇介绍了Linux驱动中procfs接口的创建&#xff0c;今天介绍sysfs接口的创建&#xff0c;本篇内核采用5.10版…

分支电路导体的尺寸确定和保护

本文旨在确定为分支电路负载供电的导体的尺寸和保护。 支路额定电流 NEC 第 210 条规定了分支电路导体尺寸和过流保护的一般要求。 允许额定电流或过流保护装置的设置确定了分支电路额定值 (210.18)。电路的安培额定值取决于保护导体的断路器或保险丝的额定值&#xff0c;而…

传统CV算法——图像基本操作与形态学操作

环境配置地址 图像显示 import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB imgcv2.imread(cat.jpg) img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) img_gray.shape cv2.imshow("img_gray", img_gray) cv2…

SprinBoot+Vue实验室考勤管理微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

d3dx9_43.dll文件缺失的具体处理方法,科学分析5种d3dx9_43.dll修复方法

在使用电脑的过程中&#xff0c;尤其是启动某些游戏或程序时&#xff0c;可能会弹出一条错误信息&#xff1a;“无法找到 d3dx9_43.dll”或者“d3dx9_43.dll文件缺失”。这通常表明你的系统中缺少重要的 DirectX 动态链接库(DLL)文件&#xff0c;阻碍了程序的正常运行。本文将提…

GEE数据集:欧美1950-2022年扩展春季指数(SI-x)

目录 高分辨率扩展春季指数数据库 简介 数据集说明 空间信息 代码 代码链接 APP链接 结果 引用 许可 网址推荐 0代码在线构建地图应用 机器学习 高分辨率扩展春季指数数据库 简介 扩展春季指数&#xff08;SI-x&#xff09;为研究春季开始的时间及其与气候变化的…

【加密社】如何根据.bat文件恢复密钥

加密社 看了这篇指南&#xff0c;你将了解助记词和密钥地址&#xff08;qianbao&#xff09;背后的基本原理。 以及&#xff0c;如何找回你的大饼密钥。 Not your key, not your coin 如果你不掌握自己加密货币钱包的私钥&#xff0c;那么你实际上并不能完全控制你的资产 在当今…

科研|基于SprinBoot+vue的科研管理系统(源码+数据库+文档)

科研管理系统 基于SprinBootvue的科研管理系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 后台模块实现 管理员功能实现 科研队伍功能实现 用户功能实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#x…

CTF Show逆向4reserve wp--mingyue

(本题难度较大&#xff0c;分析起来比较复杂&#xff0c;针对该题本文对其中比较重要的部分做了较详细的概述&#xff0c;有问题的地方&#xff0c;请指正) 第一步 查壳。本题为64位 第二步 各部分函数分析 &#xff08;一&#xff09; 分析main函数。 函数签名 int __…

达梦数据库事务管理

目录 一、事务简介 二、事务特性 1.原子性 2.一致性 3.隔离性 4.持久性 三、事务提交 1.自动提交模式 2.手动提交模式 3.隐式提交 四、事务回滚 1.自动回滚 2.手动回滚 3.回滚到保存点 4.语句级回滚 五、事务锁定 1.锁模式 &#xff08;1&#xff09;共享锁 …

WebGIS与WebGL是什么,两者之间的关系?

WebGL和 WebGlS 都是 web 技术领域的重要内容&#xff0c;特别是这几年webgis开发领域&#xff0c;和webgl打交道是必然的&#xff0c;常见的WebGL开发的基础上&#xff0c;比如二维的Leaflet、三维的Cesium也都是热门。 WebGL是一种基于 HTML5 Canvas 元素的 JavaScriptAPI&a…

sqli-labs靶场通关攻略(61-65)

Less-61 步骤一&#xff1a;查看数据库 ?id1)) and updatexml(1,concat(1,(select database())),1)-- 步骤二&#xff1a;查看表名 ?id1)) and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)),1)--…

【专题】2024年中国游戏出海洞察报告合集PDF分享(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p37570 2023 年全球游戏市场规模高达 6205.2 亿美元&#xff0c;且预计未来持续增长&#xff0c;这清晰地展示了该市场的巨大潜力和良好前景。 中国游戏在全球移动游戏市场的份额于 2023 年已达 37%&#xff0c;产业贡献超 30% 的市场…

手动添加jar包到本地仓库

依赖包不存在于任何的maven仓库中&#xff0c;所以要手工添加进本地仓库&#xff0c;过程如下&#xff1a; 将EasyModbusJava.jar包复制到maven目录的 bin目录下&#xff1b;执行cmd到该bin目录路径下执行以下指令 mvn install:install-file -DfileEasyModbusJava.jar -Dgroup…

C++笔记15•数据结构:二叉树之二叉搜索树•

二叉搜索树 1.二叉搜索树 概念&#xff1a; 二叉搜索树又称二叉排序树也叫二叉查找树&#xff0c;它可以是一棵空树。 二叉树具有以下性质: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都…

STM32CubeMX CAN收发数据

目录 一、CAN总线 1. 差分信号 2. CAN收发器 3. CAN帧结构 4. CAN波特率设置 5. 标识符筛选 二、CubeMX配置 三、Keil代码 一、CAN总线 CAN&#xff08;Controller Area Network&#xff0c;控制器局域网络&#xff09;是一种用于车辆、工业自动化等领域的通信协议&…

数分基础(05)中心极限定理、假设检验与AB测试简介

文章目录 1. 中心极限定理1.1 概念1.2 直观理解1.3 重要性 2. 示例2.1 数据集2.2 验证思路&#xff08;1&#xff09;获取一个样本均值&#xff08;2&#xff09;假设抽取1000次&#xff08;3&#xff09;增大样本容量 2.3 实现2.4 结果 2. 假设检验2.1 总体思路2.2 比较两种运…

环信高质量全球网络——70%丢包环境,消息100%送达,抗弱网能力大幅提升!

在当今数字化时代&#xff0c;稳定而高效的即时通讯已成为企业和个人不可或缺的工具。环信即时通讯&#xff08;IM&#xff09;云服务一直致力于为用户提供优质的通信体验。如今&#xff0c;环信IM通过自研传输协议&#xff0c;实现了在弱网环境下的卓越表现&#xff0c;确保消…