自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 fast_gicp 解析:它到底快在哪里?

fast_gicp的价值,不是让 GICP 变成魔法。它做的是更实际的事:把一个精度不错但偏慢的点云配准算法,优化成更适合实时 SLAM 的工程实现。FastGICP:传统 GICP 的多线程高性能版本FastVGICP:用体素分布减少最近邻搜索成本在合适平台上进一步利用 GPU 并行能力NDTCuda:CUDA 加速的 D2D NDT 实现局部地图匹配关键帧间相对位姿估计建图前端配准可靠初值正确时间同步准确外参点云去畸变合理下采样稳定局部地图真实 benchmark。

2026-07-02 22:04:35 242

原创 激光雷达重定位神器!small_gicp 从入门到真香

/ GICP 因子 + OMP 并行归约// 最大匹配距离的平方GICPFactor可以替换为ICPFactor等,也可以换成,高度解耦。特性small_gicppcl::GICPfast_gicp单线程速度5/53/54/5多线程扩展性5/51/53/5依赖复杂度5/52/53/5Python 支持支持不支持不支持可定制性5/52/53/5PCL 兼容接口支持支持。

2026-06-27 08:02:28 275

原创 fast_gicp 已经够快了,为什么还要 small_gicp

fast_gicp→small_gicp这条演进路线,跟 FAST-LIO → Point-LIO 的逻辑其实很像:不是因为旧的不够好,而是作者在做的过程中积累了更深的理解,把架构从底层重新捋了一遍,顺手解决了一堆之前遗留的设计债务。对用户来说,这是好事。换库的成本不大,得到的是更快、更干净、更好维护的工具。更何况,这次连许可证都从 Apache 2.0 换成了更宽松的 MIT——作者诚意满满,直接用就完了。

2026-06-23 12:09:14 196

原创 搞清楚这五个东西,你的机器人定位选型就不会再踩坑了

搭 SLAM 系统底层配准模块需要开箱即用的 LiDAR 里程计→ KISS-ICP做回环检测 / 地图拼接(无初值)已有地图、纯定位、新手友好→ AMCL完整建图 + 动态环境 + ROS2这五个工具不是竞争关系,而是不同层次的搭档。真实的机器人系统里,你可能同时在用其中的好几个。

2026-06-22 12:20:21 348

原创 重定位:机器人“迷路“时如何找到自己

我在哪?(位置)我朝向哪里?(姿态)这两件事合在一起,叫做机器人的位姿(Pose)。正常情况下,机器人依靠里程计(Odometry,比如轮子转了多少圈)和传感器(激光雷达、相机等)持续更新自己的位姿,这个过程叫做定位但如果定位失败了——比如机器人被抬起来搬走了,轮子空转,传感器数据中断——它就不知道自己在哪了。重定位就是在这种情况下,让机器人重新在已有地图中找到自己的过程。

2026-06-21 12:54:50 368

原创 Nav2跑不起来?别急着改参数,先把TF树查明白

] TF 树是否完整连通(用验证)[ ]这条链是否存在[ ]/scan的frame_id是否和 TF 树里的雷达坐标系名字一致[ ]/odom的frame_id和是否正确[ ] TF 是否在持续更新(用验证)[ ] Nav2 的 lifecycle 节点是否已经 active[ ] 使用仿真时,是否启用了如果上面全部 ✅,那才轮到你打开,开始调控制器参数。Nav2 不走,首先查 TF,不是控制器参数。这句话能帮你省至少半天时间。TF 树是 Nav2 的眼睛,断了就啥都看不见。

2026-06-20 12:35:21 214 2

原创 3D 雷达导航跑起来了,但机器人为什么老是绕路、贴墙、停住?Nav2 costmap 实机调参思路

3D 雷达接 Nav2 后,机器人能跑起来只是第一步。真正难的是让它在实机环境里稳定、自然、安全地跑。1. 机器人绕路、贴墙、停住,不一定是 controller 的问题;2. Nav2 的导航效果高度依赖 costmap 质量;3. 3D 雷达数据进入 costmap 前必须做好高度过滤和车体点云裁剪;4. footprint / robot_radius 决定机器人对自身尺寸的理解;5. inflation_layer 决定机器人离障碍物多远;

2026-06-19 14:15:00 475

原创 ROS2 3D LiDAR 导航实战:如何根据需求选择 FAST-LIO、LIO-SAM、Point-LIO、KISS-ICP

Nav2 不会因为你用了 FAST-LIO 就自动感动。TF 能不能查?costmap 有没有数据?odom 是否连续?cmd_vel 是否能发到底盘?frame_id 是否一致?时间戳是否合理?我用了一个很厉害的 LIO我能稳定输出 Nav2 需要的数据链路3D 激光里程计选型不是看哪个算法名气最大,而是看你的机器人需求。有 IMU、要实时导航,FAST-LIO / FAST-LIO2 通常是务实选择。要大场景建图和回环,可以考虑 LIO-SAM 或 FAST-LIO 加全局模块。

2026-06-18 14:06:36 388

原创 FAST-LIO 很准,为什么不能直接让 Nav2 用?从 LIO 到底盘 odom 的桥接思路

最后总结一下。FAST-LIO 很准,但不能简单粗暴地直接丢给 Nav2 用。原因不是 FAST-LIO 不行,而是 Nav2 对系统链路有明确要求:Nav2 需要标准 TF 树,不是只要一个位姿话题;FAST-LIO 输出的可能是雷达/IMU位姿,不一定是底盘位姿;应该保持局部连续;应该由全局定位、SLAM 或重定位系统维护;一条 TF 只能有一个发布者,不能多个节点抢同一条变换;3D LiDAR 用于 LIO 很合适,但 Nav2 costmap 通常还需要/scan;

2026-06-17 17:06:24 225

原创 Nav2 跑不起来?别急着改参数,先把 map→odom→base_footprint 这条 TF 链查明白

Nav2 不是只要有/scan和/map就能跑,它依赖完整 TF 链。是 ROS2 地面机器人导航的核心链路。map负责全局定位,odom负责局部连续运动,负责机器人本体平面坐标。同一段 TF 不要让多个节点重复发布,尤其是和。LIO 可以作为 Nav2 的 odom 来源,但需要桥接成 Nav2 需要的 frame。遇到 Nav2 跑不起来,不要第一时间调 controller 参数,先查 TF、frame_id、时间戳和 lifecycle。

2026-06-16 12:23:24 526

原创 Kalman 家族全解析:KF、EKF、ESKF、UKF、IEKF 到底有什么区别?

很多人一开始会听到一堆名词:KFEKFESKFUKFIEKFInvariant EKFMSCKFInformation FilterParticle Filter它们看起来都像“滤波器”,但本质解决的问题并不完全相同。一句话总结:Kalman Filter 的核心目标是:比如一个小车在运动,我们想估计它的位置和速度:但是实际情况是:轮速计有误差;IMU 有噪声;相机有抖动;雷达点云匹配有漂移;GPS 不连续;传感器时间戳也可能不准。所以 Kalman Filter 做的事情就是:它不是简单平均,

2026-06-15 13:25:11 413

原创 Kalman 滤波原理解析

预测:根据模型估计当前状态更新:根据传感器修正当前状态权重:由不确定性自动决定一维 Kalman 滤波可以帮助我们理解基本概念。二维[x, v]模型可以进一步说明:即使传感器只测位置,也可以通过状态相关性间接估计速度。目标跟踪传感器融合机器人定位IMU 融合视觉/雷达里程计深度数据平滑我在估计什么状态?我的运动模型是什么?我的传感器观测了什么?把这三个问题想清楚,Kalman 滤波就不再是玄学公式,而是一个非常实用的工程工具。

2026-06-14 11:06:14 230

原创 FAST-LIO 原理解析:为什么机器人闭着眼也能知道自己在哪?

FAST-LIO 是一种典型的激光雷达与 IMU 紧耦合里程计算法,广泛应用于机器人定位、三维建图、无人机和移动平台导航等场景。它的核心思想是利用 IMU 进行高频运动预测,解决点云运动畸变问题;再通过 LiDAR 点云与局部地图之间的几何残差,对位姿、速度、IMU 零偏等状态进行修正。本文将从 IMU 预测、点云去畸变、点到面残差、ESKF 误差状态更新和局部地图维护等角度,通俗解析 FAST-LIO 的整体工作流程,并结合工程实践说明外参、时间同步、IMU 参数和 TF 树对系统稳定性的影响。

2026-06-13 12:19:25 350

原创 FAST-LIO 和 Point-LIO 到底有什么区别

FAST-LIO 和 Point-LIO 都是 LiDAR-IMU 紧耦合里程计算法,核心思想是用 IMU 进行高频预测,再用 LiDAR 点云残差修正位姿漂移。FAST-LIO/FAST-LIO2 更强调工程稳定性和实时建图能力,适合常规移动机器人、导航和建图任务;Point-LIO 则将状态更新推进到点级别,具备更高频率和更强高动态适应能力,适合高速运动、强振动等场景。

2026-06-11 22:32:11 353

原创 FAST-LIO 已经够快了,为什么还要 Point-LIO?

FAST-LIO 和 Point-LIO 不是简单的新旧关系,而是处理粒度不同。如何高效、鲁棒地把 IMU 和 LiDAR 点云紧耦合起来。在剧烈运动下,如何避免整帧点云带来的帧内畸变和低带宽问题。需求推荐普通小车建图导航FAST-LIO2ROS2 + Nav2 工程部署FAST-LIO2Livox MID-360 常规建图FAST-LIO2高速无人机Point-LIO剧烈振动平台Point-LIO高频控制反馈Point-LIO研究高动态 LIOPoint-LIO。

2026-06-11 11:41:51 426

原创 FAST-LIO2:激光雷达 SLAM 里的“闪电侠”,到底快在哪?

FAST-LIO2 是一种高效的 LiDAR-IMU 紧耦合里程计系统,能够利用 IMU 高频预测位姿,并通过原始点云与局部地图进行 scan-to-map 配准,实现实时定位与建图。相比传统 LOAM 系方法,FAST-LIO2 不依赖特征提取,而是直接构造点到平面的残差,并结合迭代误差状态卡尔曼滤波完成状态更新。同时,它使用 ikd-Tree 增量维护地图,提高了最近邻搜索和地图更新效率。

2026-06-10 12:31:34 349

原创 WWDC26 技术解读:Apple Intelligence、Siri AI 与苹果生态的下一步

WWDC26 的核心不是“苹果又做了一个 AI 聊天机器人”,而是苹果正在把 AI 从一个独立 App,重新塞回操作系统、系统应用、开发框架和设备生态里。

2026-06-09 16:11:25 455

原创 做过 ROS2、SLAM、Nav2、YOLO,到底能投哪些机器人岗位?

类似 ROS2、SLAM、Nav2、LiDAR、YOLO、深度相机、点云重定位这个方向,本质上不是一个单一岗位,而是机器人行业里非常典型的“系统型技术栈”。所以,如果你做过 ROS2、Nav2、LiDAR、TF、Gazebo、实机部署,那么“机器人软件工程师”是非常值得优先投递的方向。如果你会 Gazebo、RViz、URDF、TF、Nav2、传感器驱动、底盘接口,那么就可以围绕“仿真到实机闭环”来包装自己。欧洲岗位通常更看重英文简历、项目表达、实习身份、长期可用性,以及能不能用英文讲清楚自己做过什么。

2026-06-08 10:06:43 409

原创 机器人导航为什么要同时保存 2D 地图和 3D 点云地图?因为一个管走路,一个管找自己

本文围绕机器人导航中“为什么要同时保存 2D 地图和 3D 点云地图”展开,讲解二者在 ROS 2 + Nav2 + 3D LiDAR 系统中的不同作用:2D 栅格地图主要服务于 Nav2 路径规划与代价地图构建,3D 点云地图则用于点云配准和全局重定位。文章通过工程化视角说明,导航不是只需要一张地图,而是需要定位、规划、感知协同工作。

2026-06-07 13:03:09 388

原创 Nav2 跑不起来?先查 TF 树

本文围绕 ROS 2 3D LiDAR 导航中的 TF 树设计,讲解如何把 LIO 里程计、3D 重定位与 Nav2 接通。通过 `map→odom→base_footprint` 的关系,分析断树、重复发布、frame 混乱等常见坑,帮助初学者快速定位 Nav2 跑不起来的根因。

2026-06-06 10:33:48 344

原创 从 LIO 到 Nav2:我把 FAST-LIO 改造成了机器人能用的底盘里程计

本文围绕 Lidar_nav2_ws 中的 LIO 里程计桥接设计,讲解如何将 FAST-LIO / Point-LIO 输出的 camera_init->body 位姿,转换为 Nav2 可用的 odom->base_footprint,让算法里程计真正服务机器人底盘导航。

2026-06-05 12:26:02 495 2

原创 没雷达也能调 Nav2?我开源了一套仿真到实机复用的3D LiDAR 导航工作空间

没有雷达、没有机器人,就不能学 Nav2 和 3D LiDAR 导航了吗?本文介绍我开源的 ROS 2 3D LiDAR 导航工作空间 `Lidar_nav2_ws`,它支持 Gazebo 仿真和真实机器人部署,核心思路是先在仿真中跑通 LiDAR、LIO、点云处理、重定位和 Nav2 导航流程,再尽量复用同一套系统切换到实机。项目适合想学习 Livox MID-360、ROS 2 Nav2、3D LiDAR 导航和机器人系统集成的开发者参考,也希望能帮大家少踩一些从零搭建导航工程的坑。

2026-06-04 10:40:15 754

原创 机器人开机不知道自己在哪?我给它准备了 3 套 3D 重定位方案

3D LiDAR 重定位,本质上是在解决机器人导航里的一个核心问题:机器人开机以后,如何知道自己在地图中的位置?不同算法有不同性格。ICP:老实、直接,但依赖初值small_gicp:更稳、更适合持续跟踪,但也需要大概初值KISS-Matcher + small_gicp:适合无初值全局重定位,但对点云重叠和环境结构有要求所以最合理的做法不是押宝某一个算法。而是把它们都接进系统里。固定起点,用简单方案。大概初值,用持续配准。任意位置开机,用全局初始化。这才是一个真实机器人系统该有的样子。

2026-06-03 12:30:30 265

原创 3D LiDAR 接入 2D Nav2:明明长了三维的眼睛,最后却要假装自己是二维激光雷达

3D LiDAR 接入 2D Nav2,看起来像是“把三维降成二维”,但本质上是一个非常实用的工程方案。用 3D LiDAR 和 LIO 提升定位与感知质量用点云切片生成 2D LaserScan用成熟的 Nav2 完成路径规划和局部避障用 3D 点云重定位维护 map → odom最终形成从感知、定位、建图到导航的完整闭环所以,3D LiDAR 并没有被浪费。它只是没有直接冲到 Nav2 面前大喊“我有三维”。而是先在后端默默完成 LIO、点云处理和重定位,然后把 Nav2 最能理解的。

2026-06-02 23:58:38 239

原创 我把 Gazebo 和实机打通了:一套 ROS 2 系统,仿真跑完直接上车

本文介绍一个基于 ROS 2 的 3D LiDAR 自主导航开源项目 Lidar_nav2_ws。项目重点不是单纯跑通 Nav2,而是将 Gazebo 仿真与真实机器人实机部署统一到同一套系统中。通过统一 TF 树、标准话题接口、LIO 里程计、点云重定位和 Nav2 导航链路,系统可以在仿真建图、仿真导航、实机建图和实机导航之间自由切换,避免“仿真一套、实机一套”的工程割裂问题。

2026-06-02 11:33:20 674

原创 NVIDIA 发布 Vera CPU:AI Agent 时代,CPU 终于不再只是 GPU 的“后勤部长”

如果只看名字,很多人第一反应可能是:“啊?NVIDIA 不是卖 GPU 的吗?怎么也开始认真做 CPU 了?这句话放在十年前没什么问题,但放到现在 AI 时代,就有点不够用了。因为现在的大模型系统,已经不是单纯“GPU 跑矩阵乘法”这么简单了。真正复杂的地方,正在从单次推理,变成一整套。比如一个 AI Agent 要完成一个任务,它可能需要:理解用户需求;调用工具;执行 Python 代码;查询数据库;访问文件系统;调度多个模型;管理上下文;做结果验证;再决定下一步动作。

2026-06-01 20:39:13 204

原创 华为“韬定律”爆火:真是芯片新定律,还是一次工程路线重命名?

所以问题来了:韬定律到底算不算发明?我的判断是:它不是一个单一发明,而是一套工程规律和技术路线的命名。它不像“发明晶体管”那样,是某个明确的新器件;也不像“发明某个算法”那样,有一个非常清晰的输入输出形式。它更像是华为对未来芯片演进路线的总结:器件层面,降低电阻和寄生电容;电路层面,用逻辑折叠缩短关键路径;芯片层面,通过软硬芯协同提升执行效率;系统层面,通过新型互联降低通信时延;最终目标是降低端到端计算时间。所以它不是“从天上掉下来一个新定律”。

2026-06-01 11:54:05 340

原创 不想把机器人系统写死:我做了一个可切换 LIO 与重定位算法的 ROS 2 3D LiDAR 导航系统

这个项目的核心不是“我用了某一个算法”。它更想表达的是一种机器人系统设计思路:LIO、重定位、点云处理、Nav2 不要互相写死。算法可以替换,接口尽量稳定。前端可以换,后端尽量不动。仿真和实机可以不同入口,但主导航链路尽量复用。目前项目支持 FAST-LIO2 和 Point-LIO 两套里程计后端,也支持 small_gicp、KISS-Matcher + small_gicp、ICP 等不同重定位配准方案。

2026-05-31 19:51:51 300

原创 ICP、NDT、GICP:点云配准三兄弟,一个比一个像玄学

本文围绕点云配准中常见的 ICP、NDT、GICP 三种方法展开介绍,重点对比它们的核心思想、适用场景和工程使用差异。ICP 通过最近邻点对进行迭代优化,简单直观但依赖初值;NDT 将点云地图转化为 voxel 概率分布,更适合 LiDAR 地图定位;GICP 在 ICP 基础上引入局部几何结构约束,精度更高但计算量也更大。

2026-05-30 20:03:40 385

原创 从“开机全靠猜”到任意位置重定位:我做了一个 ROS 2 3D LiDAR 导航系统

本文介绍了一个基于ROS2 Humble的3D LiDAR自主导航系统(Lidar_nav2_ws),重点解决了全局重定位问题。系统通过模块化设计将激光里程计、点云重定位、Nav2导航和机器人本体系统解耦,使各模块可独立替换。核心创新在于采用KISS-Matcher+small_gicp的两阶段重定位方案:KISS-Matcher实现无初值全局粗配准,small_gicp进行局部精配准,使机器人在任意位置开机都能完成重定位。系统支持建图模式(生成2D栅格地图和3D点云地图)和重定位导航模式,通过标准化接口设

2026-05-29 18:25:10 702 1

原创 Ubuntu 22.04 + ROS2 经验总结

ros2 run ORB_SLAM3 Mono /home/robot/桌面/ORB/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/robot/桌面/ORB/ORB_SLAM3/Examples_old/ROS/ORB_SLAM3/Asus.yaml。source /home/robot/桌面/rknn/yolo/rknn-toolkit2/rknn-toolkit2/packages/rknn_pip/bin/activate。#激活conda虚拟环境base。

2025-07-08 23:09:14 595

原创 计算苹果3维坐标的启动步骤

在点云坐标系下IMU芯片的位置为(x=11.0mm,y=23.29 mm, z=-44.12 mm)#启动mid360 带rviz2的launch。#北理莫斯科point_lio。#yolov5_ros2启动。#fast-livo2启动。#intel D456启动。#启动Livox上位机。#mid360驱动配置。

2025-07-08 23:07:53 304

原创 关于2d SLAM Google cartographer 建图

n10修改完配置文件,只用编译lslidar_driver即可。#cartographer 建图启动。#镭神N10雷达启动。

2025-07-08 23:05:55 183

原创 Ubuntu 误修改 /usr 权限后的修复记录

该命令错误地将 /usr 目录的权限修改为 rw-rw-rw-,导致包括 sudo 在内的许多系统命令无法执行,因为缺失了目录的执行权限。- 对系统目录(如 /usr, /bin, /lib 等)禁止使用 chmod, chown, rm -rf 等破坏性命令。- /usr/bin, /usr/lib, /usr/sbin 等目录内程序不能执行。- 系统大部分命令无法使用(如 apt, python3, bash, ls 等)由于 sudo 无法使用,直接使用 root 用户登录系统。

2025-07-08 23:03:32 637

原创 在Ubuntu 22.04修改USB设备串口名称

注意:其中的ATTRS{idVendor}和ATTRS{idProduct}根据lsusb中的来修改,SYMLINK+内是要改的名字!#第五步,重新加载 udev 规则并触发设备。#最后,将串口拔出,等5秒,再次插入。#第二步,向文件中粘贴下方文本。#第一步,创建udev文件。#第四步,赋予文件权限。

2025-07-08 23:01:27 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除