Navigation 2
latest
开始使用
安装
运行示例
导航
开发指南
构建和安装
安装
构建
已发布的分发二进制文件
滚动式开发源代码
Docker 容器映像
生成 Doxygen
帮助
构建故障排除指南
开发容器
开发容器指南
创建开发容器
使用 Dev Containers
什么、为什么、如何?
什么是开发容器?
为什么要使用开发容器?
开发容器是如何工作的?
前提条件
入门
安全性
参与进来
参与进来
过程
许可证
开发者原产地认证(DCO)
导航概念
ROS 2
动作服务器
生命周期节点和 Bond
行为树
导航服务器
规划器、控制器、平滑器和恢复服务器
规划器
控制器
行为
平滑器
路径点跟随
状态估计
标准
全局定位:定位和SLAM
里程计
环境表示
代价地图和层
代价地图过滤器
其他形式
Nav2学术概述
首次机器人设置指南
设置变换
变换介绍
静态变换发布器演示
Navigation2中的变换
结论
设置URDF
URDF和机器人状态发布器
设置环境
编写URDF
构建和启动
使用RVIZ进行可视化
添加物理属性
结论
设置里程计
里程计简介
设置机器人的里程计
使用 Gazebo 模拟 Odometry 系统
设置和先决条件
向 URDF 添加 Gazebo 插件
启动和构建文件
构建、运行和验证
机器人定位演示
配置机器人定位
启动和构建文件
构建、运行和验证
结论
设置传感器
传感器介绍
常用传感器消息
使用Gazebo模拟传感器
向 URDF 添加 Gazebo 插件
启动和构建文件
构建、运行和验证
建图与定位
二维代价地图
配置 nav2_costmap_2d
构建、运行和验证
结论
设置机器人的轮廓
轮廓介绍
配置机器人的轮廓
构建、运行和验证
在RViz中可视化足迹
结论
设置导航插件
规划器和控制器服务器
选择算法插件
规划器服务器
控制器服务器
结论
常规教程
使用实体Turtlebot 3导航
概述
要求
教程步骤
0- 设置环境变量
1- 启动Turtlebot 3
2- 启动Nav2
3- 启动RVIZ
4- 初始化Turtlebot 3的位置
5- 发送目标姿态
(SLAM)在制图时导航
概述
要求
教程步骤
0- 启动机器人接口
1- 启动 Navigation2
2- 启动 SLAM
3- 使用 SLAM
4- 快速入门简化
(STVL) 使用外部代价图插件
概述
Costmap2D 和 STVL
教程步骤
0- 设置
1- 安装 STVL
1- 修改Navigation2参数
2- 启动Navigation2
3- RVIZ
Groot - 与行为树交互
概述
可视化行为树
编辑行为树
添加自定义节点
相机校准
概述
要求
教程步骤
在ROS 2 / Nav2中获取回溯
概述
准备工作
从一个节点开始
从启动文件
从大型项目
来自Nav2 Bringup
崩溃时自动获取回溯信息
在 ROS 2 / Nav2 中进行性能分析
概述
准备工作
来自节点的配置文件
从启动文件中进行分析
来自Nav2 Bringup
解释结果
动态对象跟随
概述
教程步骤
0- 创建行为树
1- 设置 Rviz 点击点
2- 在Nav2仿真中运行动态物体跟随
使用禁止区域进行导航
概述
要求
教程步骤
1. 准备过滤掩模
2. 配置成本地图过滤器信息发布服务器
3. 启用Keepout过滤器
4. 运行Nav2堆栈
带速度限制的导航
概述
要求
教程步骤
1. 准备过滤掩模
2. 配置成本地图过滤器信息发布服务器
3. 启用速度过滤器
4. 运行Nav2堆栈
使用旋转垫片控制器
概述
什么是旋转垫片控制器?
配置旋转垫片控制器
配置主控制器
演示执行
向BT添加平滑器
概述
要求
教程步骤
0- 熟悉平滑器BT节点
1- 指定平滑器插件
2- 修改您的BT XML
使用碰撞监视器
概述
要求
配置碰撞监视器
准备Nav2堆栈
演示执行
添加一个新的Nav2任务服务器
生命周期节点
组合
错误代码
结论
过滤噪声引起的障碍物
概述
要求
教程步骤
1. 启用去噪图层
2. 运行Nav2 stack
工作原理
插件教程
编写新的Costmap2D插件
概述
要求
教程步骤
1-编写一个新的Costmap2D插件
2- 导出并制作 GradientLayer 插件
3- 在Costmap2D中启用插件
4- 运行GradientLayer插件
编写一个新的规划器插件
概述
要求
教程步骤
1- 创建一个新的规划器插件
2- 导出规划器插件
3- 通过参数文件传递插件名称
4- 运行 StraightLine 插件
编写新的控制器插件
概述
要求
教程步骤
1- 创建一个新的控制器插件
2- 导出控制器插件
3- 通过参数文件传递插件名称
4- 运行 Pure Pursuit Controller 插件。
编写新的行为树插件
概述
要求
教程步骤
1- 创建一个新的BT插件
2- 导出规划器插件
3- 将插件库名称添加到配置中
4- 运行您的自定义插件
编写新的行为插件
概述
要求
教程步骤
1- 创建一个新的行为插件
2- 导出行为插件
3- 通过参数文件传递插件名称
4- 运行行为插件
编写新的导航器插件
概述
要求
教程步骤
1- 创建新的导航器插件
2- 导出导航器插件
3- 通过参数文件传递插件名称
4- 运行插件
配置指南
行为树导航器
参数
示例
行为树XML节点
动作插件
等待
Spin
备份
DriveOnHeading
辅助遥控
ComputePathToPose(计算路径到位姿)
FollowPath
NavigateToPose
清除整个成本地图
ClearCostmapExceptRegion
ClearCostmapAroundRobot
ReinitializeGlobalLocalization(重新初始化全局定位)
TruncatePath
TruncatePathLocal
PlannerSelector(规划器选择器)
ControllerSelector
SmootherSelector
GoalCheckerSelector
NavigateThroughPoses
计算路径通过姿势
RemovePassedGoals(移除已通过的目标)
CancelControl
CancelBackUp
CancelSpin
取消等待
CancelDriveOnHeading
CancelAssistedTeleop
平滑路径
条件插件
目标已达成
可转换
DistanceTraveled
GoalUpdated
GloballyUpdatedGoal
接收到初始姿势
是否卡住
时间已过期
电池是否低电量
路径是否有效
路径到期计时器
是否存在错误代码
是否需要控制器恢复帮助
是否需要规划器恢复帮助
WouldASmootherRecoveryHelp
电池是否正在充电
控制插件
管道序列
RoundRobin
恢复节点
装饰器插件
RateController
DistanceController
SpeedController 速度控制器
目标更新器
PathLongerOnApproach
SingleTrigger 单触发器
示例
二维代价地图
二维代价地图 ROS 参数
默认插件
插件参数
静态层参数
膨胀层参数
障碍物图层参数
体素层参数
范围传感器参数
降噪层参数
成本地图过滤器参数
保护区过滤器参数
速度过滤器参数
二值过滤器参数
示例
生命周期管理器
参数
示例
规划器服务器
参数
默认插件
示例
NavFn规划器
参数
示例
Smac规划器
Provided Plugins
Smac 2D Planner
Smac混合A*规划器
Smac状态格规划器
描述
Theta Star Planner
参数
示例
控制器服务器
参数
Provided Plugins
SimpleProgressChecker
PoseProgressChecker
SimpleGoalChecker"
StoppedGoalChecker
默认插件
示例
DWB控制器
控制器
DWB控制器
XYTheta 迭代器
运动学参数
发布者
插件
LimitedAccelGenerator
StandardTrajectoryGenerator(标准轨迹生成器)
轨迹评论家
BaseObstacleCritic
GoalAlignCritic
GoalDistCritic
ObstacleFootprintCritic
OscillationCritic
PathAlignCritic
PathDistCritic
PreferForwardCritic
RotateToGoalCritic
TwirlingCritic
示例
规定纯追踪
规定纯追踪参数
示例
模型预测路径积分控制器
MPPI 参数
轨迹可视化
路径处理器
阿克曼运动模型
约束评估器
目标角度评价器
目标评估器
障碍物评估器
路径对齐评论家
路径角度评论器
路径跟随评论家
优先正向评论家
旋转评论家
示例
用户注意事项
智慧的一般性言论
预测视野、成本地图尺寸和偏移量
障碍物、膨胀层和路径跟踪
旋转增益控制器
旋转适配器控制器参数
示例
地图服务器/保存器
地图保存器参数
地图服务器参数
Costmap过滤器信息服务器参数
示例
AMCL
参数
示例
行为服务器
Behavior Server参数
默认插件
旋转行为参数
后退行为参数
按目标导航行为参数
辅助遥操作行为参数
示例
平滑服务器
平滑器服务器参数
示例
简单平滑器
简单平滑器参数
示例
Savitzky-Golay平滑器
Savitzky-Golay平滑器参数
示例
约束平滑器
平滑器服务器参数
示例
速度平滑器
速度平滑器参数
示例
碰撞监控
特点
参数
多边形参数
观测源参数
示例
路径点跟随器
参数
Provided Plugins
WaitAtWaypoint
PhotoAtWaypoint
InputAtWaypoint
默认插件
示例
调优指南
膨胀潜力场
机器人足迹与半径
就地旋转行为
规划器插件选择
控制器插件选择
在 Smac 规划器中缓存障碍物启发式函数
Nav2 启动选项
其他我们愿意提供的页面
Nav2行为树
导航2特定节点介绍
动作节点
条件节点
装饰节点
Control: PipelineSequence
控制:恢复
控制:RoundRobin
详细的行为树遍历
概述
前提条件
使用重新规划和恢复导航到姿势
导航子树
恢复子树
导航到姿势
导航到姿态
导航到姿势并在目标障碍物附近暂停
使用一致重新规划和如果路径无效则导航到姿态
跟随动态点
里程计校准
导航插件
行为树导航器
Costmap Layers
代价地图过滤器
控制器
规划器
平滑器
行为
路径点任务执行器
目标检查器
进度检查器
行为树节点
迁移指南
从Dashing到Eloquent
新的包
新插件
Navigation2架构更改
从Eloquent升级到Foxy
常规
服务器更新
新插件
地图服务器重构
新的粒子滤波器消息
每个导航动作中的行为树选择
FollowPoint功能
新的Costmap图层
Foxy到Galactic
NavigateToPose动作反馈更新
NavigateToPose BT节点接口更改
新增了NavigateThroughPoses和ComputePathThroughPoses动作。
ComputePathToPose BT节点接口更改
ComputePathToPose Action接口变更
备份BT节点接口更改
备份恢复接口更改
Nav2控制器和目标检查器插件接口更改
FollowPath 的 goal_checker_id 属性
Groot 支持
新插件
代价地图过滤器
SmacPlanner
ThetaStarPlanner
RegulatedPurePursuitController
Costmap2D
current_
使用方法
参数中的标准时间单位
光线追踪参数
障碍物标记参数
恢复动作变更
默认行为树变更
NavFn规划器参数
新的 ClearCostmapExceptRegion 和 ClearCostmapAroundRobot BT 节点
新的行为树节点
sensor_msgs/PointCloud to sensor_msgs/PointCloud2 Change
ControllerServer 新参数 failure_tolerance
移除了BT XML启动配置
Nav2 RViz 面板的行动反馈信息
Galactic转换为Humble
对Smac规划器进行了重大改进
简单(Python)指令器
减少节点和执行器
nav2_core的API更改
扩展BtServiceNode以处理服务结果
包括新的旋转Shim控制器插件
在Gazebo中生成机器人
恢复行为超时
3个2D规划器的新参数``use_final_approach_orientation``
SmacPlanner2D和Theta*:修复目标方向被忽略的问题
SmacPlanner2D、NavFn和Theta*:修复小路径的边界情况
更改和修复动态参数更改检测的行为
动态参数
BT Action节点异常变更
BT Navigator Groot多导航器
在 RPP 中移除了运动限制
添加了更平滑的任务服务器
在 RPP 中移除了使用接近速度缩放参数
将 AMCL 运动模型重构为插件
停止支持 Nav2 的实时 Groot 监控
仅在路径无效时重新规划
修复 CostmapLayer 清除区域的反转参数逻辑
动态组合
BT取消节点
BT PathLongerOnApproach 节点
BT TruncatePathLocal 节点
约束平滑器
以恒定速率重新规划路径,如果路径无效则重新规划
二维欧几里得距离
恢复至行为
启动和生命周期管理中的重新生成支持
新增Nav2速度平滑器
目标检查器API已更改
新增辅助遥操作
从Humble升级到Iron
新增行为树导航插件
添加了碰撞监测器。
从 yaml 文件中移除了 use_sim_time。
Smac 规划器的运行时加速。
对 Smac 和 Simple 平滑器进行了递归细化。
简单指挥官 Python API
Smac 规划器路径包括起始姿态
可参数化的 RPP 碰撞检查
扩展规划器基准测试
Smac 规划器路径容差
costmap_2d_node 默认构造函数
导航失败的反馈
代价地图过滤器
Savitzky-Golay平滑器
更改启动文件中map_server节点的地图yaml文件路径。
SmootherSelector BT节点
发布Costmap图层
让行为服务器访问两个Costmap
新的模型预测路径积分控制器
行为树使用错误代码
从RViz的Nav2面板中加载、保存和循环使用路径点
DWB正向和反向修剪
在长远的前瞻距离下对曲线进行更稳定的调节
发布碰撞监视器状态
碰撞监视器中的ROS参数已重命名
碰撞监视器中新增了安全行为模型“limit”
当超时时,速度平滑器应用减速
PoseProgressChecker插件
允许多个目标检查器并更改参数progress_checker_plugin(s)的名称和类型
IsBatteryChargingCondition BT节点
行为服务器错误代码
新的去噪代价地图层插件
SmacPlannerHybrid viz_expansions 参数
简单指挥官API
概述
指挥官 API
Costmap API
足迹碰撞检查器 API
示例和演示
路线图
铁路路线图
谦虚的路线图
关于和联系
相关项目
ROS 到 ROS 2 导航
关于
联系方式
Robots Using
Navigation 2
Edit
»
配置指南
»
行为树XML节点
»
路径是否有效
路径是否有效
检查全局路径是否有效。如果路径上存在障碍物,则条件返回失败;否则返回成功。
示例
<IsPathValid
server_timeout=
"10"
path=
"{path}"
/>