Navigation2
前言温故而知新可以为师矣。最近又在搞一些导航相关是真车实战啦然后看到之前好像都是一些代码部分本章重点梳理一些理论知识点。Navigation2是ROS2 官方的移动机器人自主导航框架专门给轮式机器人做自主行走导航。实现给一个目标点机器人自己规划路线、避障、走到目的地。Nav2架构框图上层下发导航目标点 → BT 行为树总调度 → 全局规划出路线 → 局部控制器跟踪路线输出速度指令 → 底盘执行运动。1. Waypoint Follower上层接口在 RViz2 或者代码调用它下发动作NavigateToPose导航到目标点/NavigateThroughPoses航点序列给BT Navigator Server。2. BT Navigator Server行为树导航服务器加载 XML 格式Behavior Tree行为树指挥后面三个 Server 干活发生异常也由行为树决定该做什么恢复动作。CP ComputePathToPose请求 PlannerServer 计算全局路径FP FollowPath请求 ControllerServer 跟踪这条路径3. Planner Server 全局规划服务器输入地图map、激光雷达传感器数据生成Global Costmap全局代价地图功能A* / Smac 等算法规划从起点到终点一条完整全局路径。4. Controller Server 局部控制器服务器维护Local Costmap局部代价地图只看机器人周围一小片区域实时融合激光雷达新障碍物接收全局路径使用 DWB/TEB 控制器输出/cmd_velTwist 消息线速度 角速度发给底盘5. Recovery Server 故障恢复服务器机器人卡住、被障碍物堵住时执行脱困动作原地旋转、后退、清除代价地图等恢复行为。6. Robot Base Controller机器人底盘控制器接收cmd_vel控制真实硬件电机 / 舵机运动。建图SLAM全称Simultaneous Localization And Mapping同步定位与建图机器人一边搞清楚自己现在在哪定位一边同时把周围环境地图建出来。定位AMCL全称Adaptive Monte Carlo Localization自适应蒙特卡洛定位是ROS2 Nav2 标配的 2D 粒子滤波定位节点。原理是撒一大把粒子每一个粒子代表机器人的一个猜测位置。一开始不知道机器人在哪粒子随机铺满整张地图。读取里程计 IMU所有粒子跟着小车运动一起移动。拿当前激光雷达数据和地图做比对如果某个粒子假设的位置上激光扫描和地图墙壁很匹配 →这个粒子权重变高保留不匹配的粒子权重变低被淘汰删掉根据高权重粒子重新采样生成一批新粒子。反复迭代粒子慢慢收敛聚集到机器人真实位置。粒子簇中心就是机器人估计位姿。完整工作流程Cartographer/SLAM‑Toolbox 建图产出 pgm 地图文件Nav2 加载地图 AMCL 定位获取机器人当前位姿RViz2 / 代码下发导航目标点BT 行为树调度 Planner 生成全局路径Controller 持续跟踪路径、避障输出cmd_vel发给底盘遇到障碍卡死触发 Recovery 恢复行为到达目标结束任务

相关新闻

React受控组件深度解析:掌握表单数据流与应用场景

React受控组件深度解析:掌握表单数据流与应用场景

一、受控组件核心概念:理解数据驱动视图的基石 1.1 什么是受控组件的定义与原理 在React中,表单元素(如input、textarea、select)通常自己维护状态。然而,React提倡将状态交由组件的state统一管理。受控组件就是指那些输入值由React状态控制的…

2026/8/7 7:14:11 阅读更多 →
SAP-MM采购定价条件配置实战:从核心原理到复杂场景应用

SAP-MM采购定价条件配置实战:从核心原理到复杂场景应用

1. 项目概述:为什么采购定价配置是SAP-MM的“心脏”?干了十多年SAP-MM,我越来越觉得,整个物料管理模块里,最考验顾问功力的,不是库存盘点,也不是发票校验,恰恰是采购定价条件配置。这…

2026/8/7 7:14:11 阅读更多 →
3.1算数运算符

3.1算数运算符

作用&#xff1a;用于处理四则运算 &#xff01;&#xff01;&#xff01;在除法的运算法则中&#xff0c;除数不能为0 示例&#xff1a; #include<iostream> using namespace std;int main() {//加减乘除int a1 10;int b1 3;cout << a1 b1 << endl;cout …

2026/8/7 7:14:11 阅读更多 →

最新新闻

Unity HDRP动态模糊实战优化:从运动向量原理到性能调优

Unity HDRP动态模糊实战优化:从运动向量原理到性能调优

1. 项目概述&#xff1a;为什么HDRP的动态模糊值得深究 最近在几个高规格的Unity HDRP项目中&#xff0c;动态模糊&#xff08;Motion Blur&#xff09;的效果实现与性能优化&#xff0c;成了我们渲染团队反复打磨的焦点。尤其是在处理高速运动的载具、快速切换的镜头或者大规模…

2026/8/7 7:53:32 阅读更多 →
Redis入门保姆级笔记

Redis入门保姆级笔记

文章目录前言一、先搞懂&#xff1a;好好的MySQL不用&#xff0c;为啥要学NoSQL&#xff1f;1.1 技术栈的三层境界1.2 Web发展逼出来的两座大山Web1.0时代&#xff1a;单机就能打Web2.0时代&#xff1a;性能瓶颈直接炸了1.3 CPU压力解法&#xff1a;Nginx负载均衡&#xff0c;但…

2026/8/7 7:52:32 阅读更多 →
虚幻引擎5.2蓝图实现:角色游泳、潜水与浮力控制系统开发指南

虚幻引擎5.2蓝图实现:角色游泳、潜水与浮力控制系统开发指南

1. 项目概述&#xff1a;从“会动”到“会游”的角色进化 在虚幻引擎5.2里做一个能跑能跳的角色&#xff0c;对很多开发者来说已经是家常便饭。但当你需要把角色丢进一个广阔的水世界&#xff0c;让他不仅能浮在水面扑腾&#xff0c;还能一个猛子扎下去探索深海&#xff0c;事情…

2026/8/7 7:52:32 阅读更多 →
KeymouseGo:5分钟上手!免费鼠标键盘录制工具彻底解放你的双手

KeymouseGo:5分钟上手!免费鼠标键盘录制工具彻底解放你的双手

KeymouseGo&#xff1a;5分钟上手&#xff01;免费鼠标键盘录制工具彻底解放你的双手 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/Keymou…

2026/8/7 7:52:32 阅读更多 →
Chrome自动播放策略解析:从本地文件到生产环境的实战解决方案

Chrome自动播放策略解析:从本地文件到生产环境的实战解决方案

1. 问题根源&#xff1a;为什么Chrome不让我的网页自动播放了&#xff1f; 如果你最近在用Chrome浏览器打开本地HTML文件&#xff0c;或者部署一个简单的网页demo时&#xff0c;发现背景音乐不响了&#xff0c;开场视频卡住了&#xff0c;第一反应可能是&#xff1a;“我的代码…

2026/8/7 7:52:32 阅读更多 →
如何一键重置JetBrains IDE试用期:3步简单操作指南

如何一键重置JetBrains IDE试用期:3步简单操作指南

如何一键重置JetBrains IDE试用期&#xff1a;3步简单操作指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter JetBrains IDE试用期重置工具是一款专为开发者设计的免费开源插件&#xff0c;能够智能清理IDE评估信…

2026/8/7 7:52:31 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案&#xff1a;完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上&#xff0c;享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select&#xff1a;打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手&#xff1a;NSZ压缩工具终极指南&#xff0c;轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →