导航
导航
感知:
PCL
pcl(Point Cloud Library,点云库) 是一个 大型,跨平台,开源,免费的 C++库,专门用来处理2D/3D图像和点云数据
image.png
Bin
Bin是点云地面分割算法中的网络容器,负责存储极坐标网格内的所有点,并实时维护该区域内Z值(高度)最小的点,因为该点最可能是地面点
代价地图
全局代价地图:
基于静态地图,用于全局路径规划
局部代价地图
实时更新,用于感知动态障碍物
障碍物层
一个具体的感知插件,用于处理2D激光雷达或深度相机的数据,实时更新代价地图上的障碍物信息
状态估计与建图:
地图服务器(Map Server):
负责加载预先构建好的环境地图,为整个导航系统提供先验地图信息
定位模块:
自适应蒙特卡洛定位(Adaptive Monte Carlo Localization), 它利用激光雷达数据匹配地图服务器提供的先验地图,实时估算机器人的位姿
Fast-LIO / Point-LIO:
Fast-lio Point-lio
对极几何
对极约束: 描述同一空间点在两个不同视角的相机图像上投影点之间的空间几何关系
如果我们在第一幅图里找到一个特征点,在第二幅图里寻找它的匹配点时,不需要在整张图片里找,只需要沿着对应的极线找就可以了.这极大地缩小了搜索范围,提高了匹配效率,剔除了错误匹配
尺度等价性: 仅凭一张或几张二维照片,我们无法判断画面中物体的"真实大小"和"真实距离"
二级地图
粗地图:经过较大的体素滤波(如 0.4 米),点云稀疏,细节少。用于 快速粗配准,计算量小,可以快速筛选出较好的初始位姿。
精地图(refine_map_):经过较小的体素滤波(如 0.1 米),点云密集,细节丰富。用于 精细配准,获得高精度的位姿结果。
惯性导航和slam导航的区别
惯性导航是推算自己的位置,而SLAM是观察环境来确定自己的位置 惯性导航(INS):完全依赖自身运动,通过测量加速度和角速度,从已知起点开始积分运算,连续推算当前位置,优点是不依赖任何外部信号,在隧道水下GPS环境也能工作;缺点是误差会随时间无限积累,长时间使用后会变得不准
SLAM(同时定位与地图构建): 依赖外部环境.通过激光雷达,摄像头等传感器观测周围的特征点,在构建地图的同时,反推出自己在地图的位置.优点是能利用环境特征修正累计误差,实现较高精度的定位;缺点是在特征稀少或聚敛运动时容易失效
ICP(Iterative Closest Point,迭代最近点)
一种经典的点云配准算法,用于计算两个点云之间的刚体变换(旋转 + 平移), 使它们尽可能地重合 基本原理: 假设你已经有一个 目标点云(如预先建好的地图)和一个 源点云(如当前雷达扫描得到的点云),以及一个初始的变换估计。 对于源点云中的每个点,在目标点云中找最近点(形成对应点对)。 根据这些对应点对,计算出一个最优的刚体变换(最小化所有点对之间的欧氏距离平方和)。 将变换应用到源点云上,得到新的位置。 重复步骤 2~4,直到收敛(变换变化很小或达到最大迭代次数)。
slamtool_box
建图阶段: 可以启动slam_toolbox控制机器人探索环境,构建地图 导航阶段: Nav2的规划与控制节点会订阅slam_toolbox发布的地图和实时位置信息来完成导航任务
Gmappig: 轻量,适合小场景,但地图难以续建,动态环境下表现不佳 Cartographer: 谷歌出品,精度高,但配置复杂,编译耗时长
规划:
全局规划器(Global Planner):
负责宏观路径规划,它在全局代价地图上,规划一条从起点到终点的全局最优路径, 用于避开静态障碍物,常见的算法插件有A*、Dijkstra等
局部规划器 (Local Planner):
负责微观实时规划与避障,它沿着全局路径,高频地规划全局轨迹,以应对动态障碍物,塔吊输出是局部地速度指令
控制执行:
控制器服务器 (Controller Server):
接收来自局部规划器的轨迹,并将其转化为最终的控制指令 通过cmd_vel通过话题发布速度命令,驱动机器人底盘运动
行为树(Behavior Tree, BT):
Nav2的大脑,负责调度整个导航任务的执行逻辑 它通过XML文件配置,管理着从正常导航到豫章绕路. 卡住恢复等一系列高层面的行为决策 image.png

点赞数据加载中
文档修订记录 8 次修订
- 197fd12 修复大小标题显示失败的bug
- 9a00af8 Fix: apply heading heuristic to 44 existing posts (26+18) - TOC now shows real sections
- edc8d79 博客界面更换 一些笑哦bug维修
- bce812d 6_28飞书文档同步更新
- 8c0c2ac 飞书同步test
- 7d34298 Add manual and sortable library
- 9402175 Improve blog layout and pinned posts
- 98d0f15 Create Hugo blog