Navigation 2 Logo
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
  • »
  • 导航插件

导航插件

有许多插件接口供用户创建自己的定制应用程序或算法使用。包括 costmap 层、规划器、控制器、行为树和行为插件。下面列出了 ROS 2 Navigation 中已知的所有插件。如果你知道某个插件,或者你创建了一个新的插件,请考虑提交一个包含该信息的拉取请求。

此文件可在 sphinx_docs/plugins/index.rst 下找到并编辑。有关创建自己插件的教程,请参阅:编写新的Costmap2D插件、编写新的行为树插件、编写新的控制器插件、编写一个新的规划器插件、编写新的行为插件 或 编写新的导航器插件。

行为树导航器

插件名称

创建者

描述

NavigateToPoseNavigator

Steve Macenski

通过行为树动作服务器实现点对点导航

NavigateThroughPosesNavigator

Steve Macenski

通过行为树动作服务器实现途经多个点的导航

Costmap Layers

插件名称

创建者

描述

体素图层

Eitan Marder-Eppstein

使用深度和激光传感器读数以及射线投射来维护持久的3D体素图层,以清理空闲空间

Range Layer

David Lu

使用概率模型将发布范围消息的传感器数据放置在代价地图上

静态图层

Eitan Marder-Eppstein

获取静态``map``并将占用信息加载到代价地图中

膨胀图层

Eitan Marder-Eppstein

使用指数衰减方式在costmap中膨胀致命障碍物

障碍物图层

Eitan Marder-Eppstein

通过射线投射将2D激光扫描转化为持久的2D代价地图,用于清除自由空间

时空体素图层

Steve Macenski

通过传感器模型对时间上稀疏的3D体素网格进行衰减维护

非持久性体素图层

Steve Macenski

维护只包含最多测量集的3D占据网格

去噪图层

Andrey Ryzhikov

过滤由噪声引起的孤立障碍物或小障碍物群组

代价地图过滤器

插件名称

创建者

描述

保护过滤器

Alexey Merzlyakov

维护禁止区域/安全区域和移动的首选车道

速度过滤器

Alexey Merzlyakov

限制机器人在速度限制区域内的最大速度

二值过滤器

Alexey Merzlyakov

启用二进制(布尔)掩码行为以触发动作。

控制器

插件名称

创建者

描述

驱动系统支持

DWB控制器

David Lu!!

一个高度可配置的DWA实现,具有插件接口

差分,全向,腿式

TEB控制器

Christoph Rösmann

一种适用于Ackermann、差分和全向机器人的类MPC控制器。

阿克曼,腿式,全向,差分

调节纯追踪

Steve Macenski

一种具有自适应功能的纯追踪算法的服务/工业机器人变体。

Ackermann,腿式,差动

MPPI 控制器

Steve Macenski Aleksei Budyakov

一种具有模块化和自定义成本函数的预测 MPC 控制器,可完成许多任务。

差动,全向,Ackermann

Rotation Shim 控制器

Steve Macenski

一个用于在传递给主控制器进行跟踪之前将其旋转到路径航向的“垫片”控制器。

差动、全向、模型原地旋转

规划器

插件名称

创建者

描述

驱动系统支持

NavFn 规划器

Eitan Marder-Eppstein和Kurt Konolige

一种使用 A* 或 Dijkstra 扩展的导航函数,假设为二维全向性粒子。

差分,全向,腿式

SmacPlannerHybrid

(以前称为 SmacPlanner)

Steve Macenski

一种使用Dubin或Reeds-shepp运动模型的SE2混合A*算法实现,具有更平滑和多分辨率查询。适用于汽车、类似汽车和Ackermann车辆。运动学可行。

Ackermann、差分、全向、腿式

SmacPlanner2D

Steve Macenski

一个使用4个或8个相邻区域连接的2D A*实现,具有更平滑和多分辨率查询

差分,全向,腿式

SmacPlannerLattice

Steve Macenski

一个使用预生成的最小控制集实现的状态栅格规划器,可用于对任何类型的车辆进行动力学可行规划。包括用于 Ackermann、差分、全向和腿式机器人的生成器脚本。

差动、全向、Ackermann、腿式、任意/自定义

ThetaStarPlanner

Anshumaan Singh

一个使用4个或8个相邻区域连接的Theta*实现,将机器人假设为2D全向粒子

差动、全向

平滑器

插件名称

创建者

描述

简单平滑器

Steve Macenski

适用于无法实现(例如2D)规划器的简单路径平滑器

约束平滑器

Matej Vargovcik和Steve Macenski

使用约束问题求解器优化各种准则(如平滑性或与障碍物的距离),以实现路径平滑化,保持最小转弯半径

Savitzky-Golay平滑器

Steve Macenski

使用Savitzky-Golay滤波器通过数字信号处理对路径进行平滑,以去除路径中的噪声。

行为

插件名称

创建者

描述

清除代价地图

Eitan Marder-Eppstein

在感知错误或机器人卡住的情况下清除给定代价地图的服务

旋转

Steve Macenski

将机器人旋转到可配置角度以清除空闲空间,并推动机器人摆脱潜在的局部故障

倒退

Brian Wilcox

可配置距离的备份行为,以解决机器人卡住的情况

等待

Steve Macenski

可配置等待时间的等待行为,用于处理基于时间的障碍,如人流或获取更多传感器数据

按航向前进

Joshua Wallace

带有可配置驱动距离的按航向前进行为

协助遥操作

Joshua Wallace

辅助遥控行为,通过缩放遥控命令以防止碰撞。

路径点任务执行器

插件名称

创建者

描述

在路标处等待

Fetullah Atas

在路标到达时执行等待行为的插件。

在路径点拍照

Fetullah Atas

在路标到达时拍摄并保存照片到指定目录的插件。

InputAtWaypoint

Steve Macenski

在继续下一个路径点之前等待用户输入的插件。

目标检查器

插件名称

创建者

描述

SimpleGoalChecker

David Lu!!

该插件用于检查机器人是否在目标的平移距离和旋转距离范围内。

StoppedGoalChecker

David Lu!!

该插件用于检查机器人是否在目标的平移距离、旋转距离和速度阈值范围内。

进度检查器

插件名称

创建者

描述

SimpleProgressChecker

David Lu!!

一个插件,用于检查机器人是否能够在给定时间内移动最小距离,以实现朝目标前进的进度

PoseProgressChecker

Guillaume Doisy

该插件用于检查机器人是否能够在给定的时间内以最小的距离或角度移动,以实现向目标前进的进展。

行为树节点

动作插件名称

创建者

描述

备份动作

Michael Jeronimo

调用备份行为动作

Drive On Heading Action

Joshua Wallace

调用沿着指定方向行驶的行为动作

辅助遥控动作

Joshua Wallace

调用辅助遥控行为动作

清除整个代价地图服务

卡尔·德尔西

调用清除整个代价地图服务

清除代价地图除指定区域之外的服务

Guillaume Doisy

调用清除代价地图除区域服务

清除机器人周围代价地图的服务

Guillaume Doisy

调用机器人周围清除代价地图的服务

“计算路径到位姿行为”_

Michael Jeronimo

调用Nav2规划器服务器

“平滑路径行为”_

Matej Vargovcik

调用Nav2平滑器服务器

跟随路径操作

Michael Jeronimo

调用Nav2控制器服务器

导航至姿态操作

Michael Jeronimo

BT节点,供其他BehaviorTree.CPP BT以子树动作的形式调用Navigation2

重新初始化全局定位服务

卡尔·德尔西

将AMCL重新初始化为新的姿态

旋转操作

卡尔·德尔西

调用旋转行为动作

等待动作

Steve Macenski

等待行为调用

截断路径

Francisco Martín

修改路径使其更短

截断本地路径

Matej Vargovcik

提取围绕机器人的路径部分

规划器选择器

Pablo Iñigo Blasco

基于主题输入选择全局规划器,否则使用默认规划器 ID

控制器选择器

Pablo Iñigo Blasco

基于主题输入选择控制器,否则使用默认控制器 ID

目标检查器选择器

Pablo Iñigo Blasco

基于主题输入选择目标检查器,否则使用默认目标检查器 ID

Smoother Selector

Owen Hooper

根据主题输入选择平滑器,否则使用默认的平滑器ID

[导航通过姿势](Navigate Through Poses)_

Steve Macenski

供其他BehaviorTree.CPP行为树调用Nav2的NavThroughPoses动作的BT节点

[移除已完成目标](Remove Passed Goals)_

Steve Macenski

从路径重新规划中剔除传递的目标姿势或在容差范围内剔除旧的途经点

[计算通过姿势的路径](Compute Path Through Poses)_

Steve Macenski

使用指定的规划器插件计算通过一组姿势而不是单个目标姿势的路径

[取消控制动作](Cancel Control Action)_

Pradheep Padmanabhan

取消Nav2控制器服务器

取消备份动作

Pradheep Padmanabhan

取消备份行为动作

取消旋转操作

Pradheep Padmanabhan

取消旋转行为动作

取消等待操作

Pradheep Padmanabhan

取消等待行为动作

取消按照指定方向行驶操作

Joshua Wallace

取消朝特定方向驱动行为动作

取消辅助远程操作操作

Joshua Wallace

取消辅助远程操控行为动作

条件插件名称

创建者

描述

目标达成条件

卡尔·德尔西

检查目标是否在容差范围内达到。

目标更新条件

Aitor Miguel Blanco

检查目标是否被中断。

全局更新目标条件

Joshua Wallace

检查全局行为树上的目标是否被抢占

接收初始姿态条件

卡尔·德尔西

检查初始姿态是否已设置

被卡住条件

Michael Jeronimo

检查机器人是否在前进或卡住

可用变换条件

Steve Macenski

检查是否有 TF 变换可用。成功时返回后续调用的成功。

已行进距离条件

Sarthak Mittal

检查机器人是否已行进给定距离。

时间到期条件

Sarthak Mittal

检查是否已经过去了给定的时间段。

电池低电量条件

Sarthak Mittal

检查电池百分比是否低于指定值。

路径是否有效条件

Joshua Wallace

通过确保路径上没有致命障碍物来检查路径是否有效。

路径到期计时器

Joshua Wallace

检查计时器是否已经过期。如果路径更新,则计时器将被重置。

是否存在错误代码

Joshua Wallace

检查指定的错误代码是否存在。

控制器恢复是否有帮助

Joshua Wallace

检查控制器恢复是否有助于清除控制器服务器错误代码。

规划器恢复是否有帮助

Joshua Wallace

检查规划器恢复是否有助于清除规划器服务器错误代码。

平滑器恢复是否有帮助

Joshua Wallace

检查平滑器恢复是否有助于清除平滑器服务器错误代码。

电池充电状态

Alberto Tudela

检查电池是否正在充电。

装饰器插件名称

创建者

描述

速率控制器

Michael Jeronimo

将子节点限制在给定速率下

距离控制器

Sarthak Mittal

根据机器人行进距离触发子节点

速度控制器

Sarthak Mittal

将子节点限制在基于当前机器人速度的速率下

目标更新器

Francisco Martín

通过主题订阅更新接收到的目标

单触发器

Steve Macenski

每个BT运行仅触发一次下面的节点/子树

路径在接近时更长

Pradheep Padmanabhan

如果新的全局路径在接近目标时明显比旧的全局路径更长,则触发子节点

控制插件名称

创建者

描述

Pipeline Sequence

卡尔·德尔西

序列节点的一种变体,即使有其他子节点正在运行,也会重新触发先前的子节点

Recovery

卡尔·德尔西

节点必须包含2个子节点,并在第一个子节点成功时返回成功。如果第一个子节点失败,则会触发第二个子节点。如果成功,将重试第一个子节点,然后返回其值

Round Robin

Mohammad Haghighipanah

将逐个处理第 i 个子节点,直到获得结果并转到 i+1


© 版权所有 2020.