当前位置: 首页 > article >正文

ROS2 Humble + rtabmap + D435i深度相机实现视觉惯性建图(二)—— 地图保存和查看

前文ROS2 Humble rtabmap D435i深度相机实现视觉惯性建图一——环境配置一、RTABMAP建图1. 建图深度相机连接上电脑后打开终端输入ros2 launch rtabmap_examples realsense_d435i_stereo.launch.py移动深度相机位置完成建图后点击Save保存地图并在终端CtrlC结束建图。[rtabmap-3] rtabmap: Saving database/long-term memory... (located at /home/robot/.ros/rtabmap.db) [rtabmap-3] rtabmap: Saving database/long-term memory...done! (located at /home/robot/.ros/rtabmap.db, 17 MB) [INFO] [rtabmap-3]: process has finished cleanly [pid 30928]可以看到保存在home/robot/.ros/rtabmap.db这里要看自己的。2. 地图保存打开终端输入rtabmap-databaseViewer ~/.ros/rtabmap.db点击上方工具栏中 View - 3D View, 然后拖动下方的两个进度栏可以查看建图过程点击上方工具栏中 File - Export 3D Map, 可以保存地图为.ply或者 .pcd格式对话框关键选项解释:区域选项含义Dense Point CloudFrom RGB-D images从 RGB‑D 图像生成稠密点云而非激光扫描点云。推荐勾选因为你保存的是双目/深度地图。Reconstruction flavorBinary file输出的 PLY/PCD 文件使用二进制格式体积小、读取快。Assemble clouds/meshes将多个关键帧的点云/网格合并成一个文件。Normal estimationK nearest neighbors/search radius用于点云法线估计后续网格生成用。设为 0 则禁用。若不需网格可保持 0。Flip ground normals0.9 等将接近 -Z 轴的法线翻转向 Z用于地面点。Voxel size体素滤波尺寸米。设为 0 禁用设 0 可降采样点云。Number of samples随机采样保留的点数仅当合并点云时有效。0 禁用。Nodes filtering按区域/索引筛选要导出的关键帧。Regenerate clouds重要重新生成点云可提高密度因为在线可视化时为了性能会降采样。Cloud filtering如统计离群值移除、半径滤波等。Cloud smoothing (MLS)移动最小二乘平滑。Gain compensation校正多张图像的亮度差异。Camera projection将相机模型用于点云着色也可导出每个点的相机 ID。Meshing生成三角网格而非点云。需要勾选并设置相关参数如泊松重建。Regenerate Clouds 子区域-Decimation降采样因子1,2,4…负数表示使用 RGB 分辨率。-Max/Min depth深度裁剪范围米。-ROI ratios仅提取图像中指定区域的点。-Fill depth hole填充深度图中的空洞。地图导出步骤1勾选Dense Point Cloud确保From RGB-D images被选中。2如果点云太密导致文件过大设置Voxel size 0.01或 0.02 米。3勾选Assemble clouds/meshes to a single output这样所有关键帧的点云会合并成一个文件方便后续使用。4勾选Regenerate clouds可以获得比在线地图更密的点云并调整下方的降采样参数如Decimation 1使用原始深度分辨率。5在对话框底部选择输出文件类型.ply或.pcd点击Save按钮。RTAB-Map 会遍历所有关键帧生成并合并点云耗时取决于数据库大小可以看到保存至位置及名称。常见问题及解决方法问题解决方法导出后点云很稀疏取消Voxel size设为 0并勾选Regenerate clouds设置Decimation 1。导出过程卡死或内存不足设置Voxel size 0.02降采样或先筛选一部分节点Nodes filtering。网格出现大量孔洞增加法线估计的 KNN 值或调整泊松重建的深度参数。左右亮度不一致导致颜色条纹勾选Gain compensation。二、查看地图三维点云文件1. 前提条件安装MeshLab、pcl_tools:sudo apt install meshlabsudo apt install pcl-tools2. 使用MeshLab查看 .ply 地图在终端中输入meshlab cloud.ply可以加载.ply 地图安装鼠标左键可以变化视角滑动滚轮可以进行缩放按住并拖动鼠标中键滚轮可以移动视角位置。右边栏中的Shading和Color可以调整阴影亮度和点云颜色3. 将 .ply 文件转换为 .pcd 文件在文件保存目录下打开终端输入pcl_ply2pcd cloud.ply cloud.pcdrobotll-Lenovo:~/Desktop$ pcl_ply2pcd cloud.ply cloud.pcd Convert a PLY file to PCD format. For more information, use: pcl_ply2pcd -h PCD output format: binary [pcl::PLYReader] cloud.ply:29: property float32 focal of element camera is not handled [pcl::PLYReader] cloud.ply:30: property float32 scalex of element camera is not handled [pcl::PLYReader] cloud.ply:31: property float32 scaley of element camera is not handled [pcl::PLYReader] cloud.ply:32: property float32 centerx of element camera is not handled [pcl::PLYReader] cloud.ply:33: property float32 centery of element camera is not handled [pcl::PLYReader] cloud.ply:36: property float32 k1 of element camera is not handled [pcl::PLYReader] cloud.ply:37: property float32 k2 of element camera is not handled Loading cloud.ply [done, 1393.21 ms : 5352642 points] Available dimensions: x y z rgb normal_x normal_y normal_z curvature Saving cloud.pcd [done, 87.8349 ms : 5352642 points]可以得到 .pcd 点云文件输入pcl_viewer cloud.pcd查看点云地图同样可以使用鼠标进行查看。

相关文章:

ROS2 Humble + rtabmap + D435i深度相机实现视觉惯性建图(二)—— 地图保存和查看

前文: ROS2 Humble rtabmap D435i深度相机实现视觉惯性建图(一)——环境配置 一、RTABMAP建图 1. 建图 深度相机连接上电脑后,打开终端,输入: ros2 launch rtabmap_examples realsense_d435i_stereo.la…...

曲线工具,备用版

import pymel.core as pm import maya.OpenMaya as om import maya.mel as mel# 工具函数 def createGrp(grpName, parentGrpNone):if pm.objExists(grpName):om.MGlobal.displayWarning(f"{grpName} 已存在,跳过创建")return pm.PyNode(grpName)else:g…...

【大模型应用】AI服务上架合规性-微信小程序使用硅基流动服务

一、目的 目前开发的微信小程序,使用了AI问答功能。在上架后收到了微信的违规处罚警告。在网上搜索了一圈发现目前还没有类似的文章总结过该问题,这里详细记录一下博主对该问题的解决过程。 处罚警告: 违规的小程序内容: 二、解决…...

不只是降噪:聊聊声加ENC算法在TWS耳机通话中的AEC与ANC联动

不只是降噪:声加ENC算法在TWS耳机中的系统级协同设计 当你在嘈杂的地铁里用TWS耳机通话时,是否想过这背后隐藏着一场精密的算法交响乐?ANC(主动降噪)、AEC(回声消除)和ENC(环境噪声消…...

告别显示器!用笔记本和一根网线玩转树莓派4B:SSH+VNC远程桌面完整配置流程

树莓派4B无头模式终极指南:SSHVNC远程桌面全流程实战 第一次拿到树莓派4B时,大多数人会下意识地寻找显示器、键盘和鼠标——就像对待一台普通电脑那样。但真正的高手都知道,这块信用卡大小的开发板最迷人的用法恰恰是"无头模式"(H…...

避开ESP32看门狗的坑:从Ticker定时器触发重启,到理解IDLE任务与CPU核心分配

ESP32看门狗深度解析:从Ticker陷阱到双核任务调度优化 当你在ESP32项目中使用Ticker库实现毫秒级定时器时,是否遇到过即使主循环执行得飞快,系统依然莫名其妙触发看门狗重启的情况?这种看似违反直觉的现象背后,隐藏着F…...

告别数据线!用ESP32蓝牙串口和手机App轻松互传数据(保姆级教程)

ESP32蓝牙串口通信实战:手机与开发板无线交互全指南 蓝牙技术早已不是新鲜事物,但直到ESP32这类高性价比芯片的出现,才真正让无线通信变得触手可及。想象一下:当你调试温湿度传感器时,不再需要拖着数据线在实验室来回奔…...

强承诺比弱承诺便宜——《窗口期:中国广播产业的十年抉择》系列第五篇(收官)

前四篇做完了诊断。这一篇只剩一件事:那份正在编制的国标,应该写成什么样?到这一篇,核心的道理其实已经讲完了——百亿门票、协调失灵、焦点强度、沉默基础设施。剩下的问题只有一个:方案长什么样?很多人看…...

从Ring Buffer到Indirect Buffer:手把手拆解AMD GPU驱动命令提交的完整流程

从Ring Buffer到Indirect Buffer:AMD GPU驱动命令提交全链路深度解析 当你在Linux系统上运行一款基于Vulkan的3A游戏时,显卡驱动如何将绘制指令转化为GPU可执行的机器码?本文将深入AMD GPU驱动的命令提交机制,揭示从用户态到硬件执…...

【龙虾大战】OpenClaw + QClaw + WorkBuddy

龙虾大战🦞【开源虾】OpenClaw🦞【本地虾】QClaw:腾讯电脑管家📋 产品信息✨ 核心功能⚠️ 当前不足🦞【办公虾】WorkBuddy:腾讯云📋 产品信息✨ 核心功能OpenClaw、QClaw 和 WorkBuddy 的核心区…...

AI结对编程实战手册(2024年头部科技公司内部培训材料首次公开)

第一章:智能代码生成在敏捷开发中的应用 2026奇点智能技术大会(https://ml-summit.org) 智能代码生成正深度融入敏捷开发的迭代闭环,成为提升交付速度与代码一致性的关键杠杆。它不再仅作为辅助补全工具,而是嵌入用户故事拆解、测试驱动开发…...

从玩具小车到3D打印机:用51单片机和A4988模块玩转步进电机的5个创意项目

从玩具小车到3D打印机:用51单片机和A4988模块玩转步进电机的5个创意项目 当51单片机遇上A4988驱动模块,这个看似简单的组合却能爆发出惊人的创造力。不同于传统的驱动教程,我们将带你跨越基础,直接进入实战领域——从会动的玩具小…...

Audio Pixel Studio开源镜像实操手册:MIT协议下免配置快速启动

Audio Pixel Studio开源镜像实操手册:MIT协议下免配置快速启动 1. 项目简介 Audio Pixel Studio是一款基于Streamlit开发的轻量级音频处理Web应用,采用MIT开源协议,为用户提供免配置的快速启动体验。这款工具集成了两大核心功能&#xff1a…...

7-Zip开源压缩工具终极指南:解决你文件管理的五大痛点

7-Zip开源压缩工具终极指南:解决你文件管理的五大痛点 【免费下载链接】7z 7-Zip Official Chinese Simplified Repository (Homepage and 7z Extra package) 项目地址: https://gitcode.com/gh_mirrors/7z1/7z 还在为电脑硬盘空间不足而烦恼?需要…...

5个关键步骤彻底掌控Windows Defender:defender-control开源工具深度解析

5个关键步骤彻底掌控Windows Defender:defender-control开源工具深度解析 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defen…...

高通 QCS6490 边缘AI实战:YOLO全系模型部署与调优指南

1. 高通QCS6490与边缘AI的黄金组合 第一次拿到搭载高通QCS6490的开发板时,我正为一个智能货架项目发愁。客户要求能在2秒内完成30件商品的识别,还要控制功耗不超过5W。当时试了几款主流边缘计算芯片,要么帧率上不去,要么功耗直接爆…...

BepInEx完全指南:3步让任何Unity游戏变身插件平台

BepInEx完全指南:3步让任何Unity游戏变身插件平台 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一个强大的游戏插件框架,专门为Unity Mono、IL2…...

Unity 2D导航终极实战:如何用NavMeshPlus解决复杂寻路难题

Unity 2D导航终极实战:如何用NavMeshPlus解决复杂寻路难题 【免费下载链接】NavMeshPlus Unity NavMesh 2D Pathfinding 项目地址: https://gitcode.com/gh_mirrors/na/NavMeshPlus 在2D游戏开发中,你是否经常遇到角色导航不智能、路径计算复杂、…...

AIoT驱动下的智慧医疗革命:构建下一代物联医院的全景式解决方案(PPT)

引言:医疗行业的数字化转型浪潮 在当今这个技术飞速迭代的时代,医疗健康领域正经历一场由AIoT(人工智能物联网)技术引领的深刻变革。这场变革不仅仅是简单的技术叠加,而是一场从底层架构到上层应用、从业务流程到服务模…...

跨越无声鸿沟:用深度学习构建实时手语翻译助手

跨越无声鸿沟:用深度学习构建实时手语翻译助手 【免费下载链接】Sign-Language-Interpreter-using-Deep-Learning A sign language interpreter using live video feed from the camera. 项目地址: https://gitcode.com/gh_mirrors/si/Sign-Language-Interpreter…...

手把手教你用VMware搭建神魔大陆单机版v0.51.0(附完整补丁安装指南)

从零构建神魔大陆单机版:VMware虚拟化环境全流程实战指南 在数字娱乐方式多元化的今天,经典网游单机化已成为许多怀旧玩家和技术爱好者的新选择。本文将带领您完成《神魔大陆》v0.51.0"冰火荣耀"版本的单机化部署全过程,从虚拟机基…...

一万套Solidworks非标自动化设备的精细三维图纸与专业通用模型:UG机械设计必备资源

一万套Solidworks非标自动化设备三维图纸 3D通用模型 机械设计UG咱们今天聊聊非标自动化设备设计里的三维图纸管理那点事儿。手里攥着上万套SolidWorks图纸的老司机都知道,最刺激的不是画图,是改图改到怀疑人生的时候发现模型树里藏着几个没约束的幽灵零…...

告别Windows?在Deepin/UOS上搭建专业GIS工作流(QGIS 3.18 + 国产OS)

国产操作系统上的GIS革命:QGIS全栈工作流深度实践 当越来越多的企业和机构开始关注技术自主可控,国产操作系统的成熟度正在经历一场静悄悄的革命。作为地理信息领域的从业者,我花了三个月时间将日常工作环境完全迁移到Deepin系统,…...

Keil下载程序老报Flash Timeout?除了芯片解锁,你可能忽略了这几页Flash的单独写保护

Keil下载程序老报Flash Timeout?除了芯片解锁,你可能忽略了这几页Flash的单独写保护 调试STM32时遇到Keil报"Flash Timeout"错误,很多开发者第一反应就是芯片被锁了。确实,用ST-Link Utility解除读写保护是标准操作流程…...

12、Verilog 时序检查

关键词: setup hold recovery removal width period 指定路径延迟,目的是让仿真的时序更加接近实际数字电路的时序。利用时序约束对数字设计进行时序仿真,检查设计是否存在违反(violation)时序约束的地方,…...

eBay API调用避坑大全:从Postman调试到生产环境部署的5个关键点

eBay API调用避坑大全:从Postman调试到生产环境部署的5个关键点 第一次调用eBay API时,我花了整整三天时间才让第一个请求成功返回数据。这不是因为文档不够详细,而是那些隐藏在角落里的"魔鬼细节"——比如一个空格、一个编码错误、…...

书匠策AI:解锁毕业论文写作新姿势,让学术探索变得轻松又有趣!

在学术的广阔天地里,毕业论文如同一座巍峨的山峰,让无数即将毕业的学生既心生敬畏又满怀期待。面对这座山峰,有人踌躇满志,也有人望而却步。但别担心,今天我要给大家介绍一位学术界的“超级英雄”——书匠策AI&#xf…...

安卓工控嵌入式主板接线与设置全攻略:17 年工控人亲测避坑指南

大家好,我是广东一家工控厂商的阿强,从事工业计算机主板研发生产已经 17 个年头了。随着工业物联网和智能制造的快速发展,安卓工控嵌入式主板已经成为自助终端、商业显示、智能安防、医疗设备等领域的首选核心部件。相比 X86 架构的工业主板&…...

深入ZStack OSAL:手把手解析任务调度与事件处理机制(以ZStack 2.5.1a为例)

深入ZStack OSAL:手把手解析任务调度与事件处理机制(以ZStack 2.5.1a为例) 在ZigBee协议栈开发中,操作系统抽象层(OSAL)扮演着核心角色,它通过模拟多任务环境,让开发者能够在资源受限的嵌入式系统中实现复杂…...

NR/5G - 从波束赋形到系统消息:SSB/SIB1/SI/Paging调度全链路解析

1. 5G波束赋形:让信号学会"精准导航" 想象一下演唱会现场,歌手如果对着全场观众均匀喊话,后排听众可能听不清内容。但如果歌手能转向不同区域逐一演唱,每个方向的听众都能获得最佳听觉体验——这就是波束赋形&#xff0…...