【Nav2中文网】十一、迁移指南 (三) Foxy转Galactic

Foxy转Galactic [待校准@783]

从ROS 2 Foxy到Galactic,增加了一些稳定性改进,我们在这里不会具体讨论。 [待校准@784]

导航Action反馈更新 [待校准@785]

导航操作反馈有两个改进: [待校准@786]

  • 这个distance_remaining now集成路径对报告准确剩余距离去。以前,此字段报告欧氏距离当前姿势目标构成。 [待校准@787]
  • 添加 estimated_time_remaining 领域。此字段报告估计剩余时间除以剩余距离当前速度。 [待校准@788]

NavigateToPose BT节点接口变化 [待校准@789]

NavigateToPose输入端口已更改为PoseStamped,而不是点和四元数。 [待校准@790]

有关更多信息,请参见 NavigateToPose [待校准@2300][待校准@791]

NavigateThroughPoses和ComputePathThroughPosesActions添加 [待校准@792]

这个 NavigateThroughPoses 作用已被添加到 NavigateToPose 类似物中。这个Action将允许用户在开始姿势和最终姿势之间指定一些硬的中间姿势约束来计划,而不是去一个单一的位置。新的 ComputePathThroughPoses 行动已加入 planner_server ,通过 N goal_poses 处理这些请求。 [待校准@793]

工具ComputePathThroughPoses 动作服务器将一套 N 目标,计划每个姿势并连接输出路径用于导航。控制器和导航仪一无所知语义的生成路径,机器人不会停止或慢速方法这些目标。它将继续通过每个姿势好像任何其他点路径不断。当搭配 SmacPlanner ,此功能可用于生成完全运动学可行轨迹通过构成约束。 [待校准@794]

如果你希望在每个目标姿势停止,考虑使用航点跟随者,这将停止并允许用户在每个姿势选择执行任务插件。 [待校准@795]

ComputePathToPose BT节点接口变化 [待校准@796]

添加了 start 输入端口,以可选地允许请求从 startgoal 的路径,而不是从机器人的当前位置到 goal 的路径。 [待校准@797]

有关更多信息,请参见 ComputePathToPose [待校准@2269][待校准@798]

ComputePathToPoseAction界面变化 [待校准@799]

use_start 为真时,添加这两个附加字段是为了可选地允许从 startgoal 的路径请求,而不是从机器人的当前位置到 goal 的路径。已经对规划器服务器进行了相应的更改。 [待校准@803]

备份BT节点接口变化 [待校准@804]

这个 backup_distbackup_speed 的输入端口都应该是正值,分别表示机器人向后行驶的距离。 [待校准@805]

备份恢复界面变化 [待校准@806]

这个speed in a backup recovery goal should be positive indicating the speed with which to drive backward. target.x in的备份恢复目标应该是正的,表示向后行驶的距离。在这两种情况下,负值都被无声地反转。 [待校准@807]

这个Nav2控制器和目标检查插件接口变化 [待校准@808]

这个PR <[https://github.com/ros-planning/navigation2/pull/2247](https://github.com/ros-planning/navigation2/pull/2247)>_ , controller 插件现在给出一个指针当前目标检查使用的导航任务 computeAndPublishVelocity() 。这是齿轮使控制器访问预测检查目标完成以及访问状态信息的目标检查插件。 [待校准@809]

这个 goal_checker 插件也有包括 getTolerances() 方法的变化。这种方法允许目标检查员持有者访问目标检查员的公差信息,以考虑目标。 posevelocity 的每个字段代表要考虑完成的目标的每个维度的最大允许误差。在平移公差的情况下 (结合X和Y分量),X和Y将分别填充公差值,因为它是维度中的最大公差 (假设另一个没有误差)。如果目标检验员没有包含任何关于尺寸的公差, numeric_limits<double> lowest() 的值将被用于其位置。 [待校准@810]

FollowPath goal_checker_id 属性 [待校准@811]

例如: 对于某些特定的导航运动,你可以使用比通常运动中使用的默认目标检查器更精确的目标检查器。 [待校准@812]

  • 以前使用 goal_checker_plugin 参数声明controller_server goal_checker的方法现在已过时并被删除。 [待校准@813]
  • controller_server参数现在支持声明映射到唯一标识符名称的目标检查器 goal_checker_plugins 的列表,例如分别用于控制器和planner插件的 FollowPathGridBased 的情况。 [待校准@814]
  • 当在controller_server参数配置中定义了多个检查器时,所选目标检查器的规格是强制性的。如果在controller_server中仅配置了一个goal_checker,则即使未指定goal_checker,也会默认选择它。 [待校准@815]

下面是显示为例goal_checker配置controller_server节点。 [待校准@816]

Groot支持 [待校准@817]

现场监测和编辑行为树格鲁特是现在可能。开关bt xml动态通过新目标请求也包括。这是所有没有打破任何api。默认启用。 [待校准@818]

New Plugins

这个nav2_waypoint_follower has an action server that takes in a list of waypoints to follow and follow them in order. In some cases we might want robot to perform some tasks/behaviours at arrivals of these waypoints. In order to perform such tasks, a generic plugin interface WaypointTaskExecutor has been added to nav2_core.用户可以从这个界面继承来实现他们自己的插件,根据他们的需要在航路点到达时执行更具体的任务。 [待校准@819]

这个 nav2_waypoint_follower 中包括几个示例实现。 WaitAtWaypointPhotoAtWaypoint 的加入作为运行时可加载插件包含在这个 nav2_waypoint_follower 中。 WaitAtWaypoint 简单地让机器人在航路点到达时暂停一段以毫秒为单位的特定时间。 [待校准@820]

PhotoAtWaypoint 在到达航路点时拍照并将拍摄的照片保存到指定目录时,也可以通过参数配置拍摄照片的格式。支持所有主要图像格式,如 pngjpegjpg 等,默认格式为 png[待校准@821]

加载插件的类型通过 nav2_bringup/params/nav2_param.yaml 指定插件的名称,类型及其使用参数。 [待校准@822]

waypoint_follower:
  ros__parameters:
    loop_rate: 20
    stop_on_failure: false
    waypoint_task_executor_plugin: "wait_at_waypoint"
      wait_at_waypoint:
        plugin: "nav2_waypoint_follower::WaitAtWaypoint"
        enabled: True
        waypoint_pause_duration: 0

原始GitHub门票: [待校准@754]

代价地图过滤器 [待校准@827]

新概念与空间依赖物体 “Costmap Filters” 出现Galactic (有关此概念的更多信息可以发现在 导航相关概念 页面)。代价地图滤波器作为costmap插件,应用于单独costmap以上普通插件。为了制作过滤后的成本图并改变机器人在注释区域的行为,过滤器插件读取来自过滤器蒙版的数据。然后数据线性转化特征地图过滤器空间。它可以通行的区域,最大速度限制m/s,机器人期望方向度或别的。转化特征映射跟着地图/costmap,传感器数据和当前机器人位置用于插件’s algorithms to make required updates in the resulting costmap and robot’s行为。 [待校准@828]

建筑,costmap过滤器由从 CostmapFilter 类基本类结合多普通的继承过滤器插件: [待校准@829]

每个costmap过滤器订阅过滤器信息主题 (由 Costmap Filter Info Publisher Server 发布),其中包含加载的costmap过滤器和过滤器掩码主题的所有必要信息。 SpeedFilter 另外发布了针对控制器的最大速度限制 messages ,以强制机器人不会超过给定的限制。 [待校准@833]

这个概念的高级设计可以在 here 找到。costmap过滤器的功能正在 the ticket #1263 and carried out by PR #1882 讨论中。以下教程: 导航禁止区 [校准@mzebra]导航速度限制 [待校准@1367] 将有助于轻松参与 KeepoutFilterSpeedFilter 的功能。 [待校准@834]

Smac规划器 [待校准@835]

新套餐, nav2_smac_planner 添加含4或8连接2DA*,杜宾和芦苇shepp模型混合A*平滑多分辨率查询等。 [待校准@836]

nav2_smac_planner 包包含优化模板A搜索算法用于创建多A基于planners的多类型机器人平台。我们支持差速全方位驱动机器人使用 SmacPlanner2D planner实现成本感知Aplanner。我们支持汽车,车,阿克曼车辆使用 SmacPlanner 插件实现混合Aplanner。这个插件也有用曲率约束规划,当规划机器人高速确保他们不翻转或防滑失控。 [待校准@837]

SmacPlanner 全实现混合A*planner提出 Practical Search Techniques in Path Planning for Autonomous Driving ,包括混合搜索,CG平滑,解析扩张hueristic功能。 [待校准@838]

ThetaStar规划器 [待校准@839]

添加了一个新的包, nav2_theta_star_planner ,包含4或8个用于2D地图的连接 θ * 实现。 [待校准@840]

此包实现了Theta * 路径规划器的优化版本 (特别是 Lazy Theta* P 变体),用于规划差动驱动和全向机器人的任意角度路径,同时也考虑了成本图成本。这个插件对于你可能想要以更高的速率规划一条路径,但不需要在拐角处非常平滑的路径的情况非常有用,例如,可由本地planner/控制器处理。 [待校准@841]

调节pureseek控制器 [待校准@842]

添加了一个新的包, nav2_regulated_pure_pursuit_controller ,包含了一种新的纯追踪算法的变体。它还包括使纯追求和适应性纯追求变化的配置。 [待校准@843]

这种变化专门针对服务/工业机器人的需求。它通过路径的曲率来调节线性速度,以帮助减少盲角周围高速的过冲,从而使操作更加安全。它也比任何其他目前可用的纯粹追求的变化更好地遵循路径。它还具有在靠近其他障碍物时减速的启发式方法,这样当附近潜在的碰撞时,你可以自动减速机器人。它还实现了通过速度来缩放的自适应超前点特征,以在更大的平移速度范围内实现更稳定的行为。 [待校准@844]

还有更多,这是一般信息。更多信息请参见包装的 README[待校准@845]

代价地图2D current_ 的使用 [待校准@846]

在costmap2D中,ROS1中使用了 current_ ,以表示costmap层是否仍处于启用状态并积极处理数据。只有在传感器的预期更新率没有达到的情况下,它才会变成 false ,因此它变得陈旧或没有消息。它充当导航传感器停止发布时的自动防故障装置。 [待校准@847]

在银河,这将继续,但它也将增加额外的能力。当成本图由于清理或其他导航恢复而重置时,它现在也被设置为 false 。这将阻止机器人创建计划或控制工作,直到成本图在重置后至少更新一次。这使我们能够确保我们永远不会使用完全空的costmap创建路径或控件,这可能会导致冲突,因为清除costmap并立即请求运行算法。 [待校准@848]

参数中的标准时间单位 [待校准@849]

为了遵循REP-103中概述的SI单位,对以下 “T” 节点进行了修改,以在每个参数中始终使用秒。在每个节点名称下,您可以看到哪些参数更改为秒,而不是使用毫秒。 [待校准@850]

光线跟踪参数 [待校准@857]

光线跟踪功能改性包括最小范围参数,雷跟踪开始清晰障碍避免错误清障太靠近机器人。这个问题提到 ROS Answers 。现有参数 raytrace_range 更名为 raytrace_max_range 反映功能影响。重命名参数和插件,他们属于如下。变化介绍 pull request[待校准@858]

  • 这个raytrace_min_range controls射线追踪从costmap清除障碍的最小范围 [待校准@860]
  • 这个raytrace_max_range controls射线追踪从costmap清除障碍的最大范围 [待校准@861]
  • 这个raytrace_min_range controls射线追踪从costmap清除障碍的最小范围 [待校准@860]
  • 这个raytrace_max_range controls射线追踪从costmap清除障碍的最大范围 [待校准@861]

障碍标记参数 [待校准@863]

对障碍物标记进行了修改,以包括在costmap上标记障碍物的最小范围参数,以防止由于噪声和不正确的测量而在costmap中添加障碍物。此修改与光线跟踪参数的更改有关。下面给出了重命名的参数、新添加的参数以及它们所属的插件。 [待校准@864]

  • 这个obstacle_min_range controls最小范围从阻碍标记对costmap [待校准@865]
  • 在成本图上标记障碍物的最大范围obstacle_max_range controls [待校准@866]
  • 这个obstacle_min_range controls最小范围从阻碍标记对costmap [待校准@865]
  • 在成本图上标记障碍物的最大范围obstacle_max_range controls [待校准@866]

恢复Action变化 [待校准@867]

如果恢复动作由于潜在的碰撞而中止,则对恢复动作, SpinBackUp 进行了修改,以正确地返回 FAILURE 。以前,这些错误的动作总是返回 SUCCESS 。对此所做的更改会导致下游操作客户端,例如默认行为树。本 pull request 介绍了这些变化。 [待校准@868]

默认行为树变化 [待校准@869]

默认行为树 (BT) navigate_w_replanning_and_recovery.xml 已更新,允许在恢复之间重新规划。这些变化被引入了这个 pull request 。此外,由于与更新的默认BT相似,另一种BT navigate_w_replanning_and_round_robin_recovery.xml 被删除。 [待校准@870]

NavFn规划器参数 [待校准@871]

的NavFn规划器现在3参数重构在运行时 ( toleranceuse_astarallow_unknown )。变化介绍 pull request[待校准@872]

新的清晰的代价地图异常和清晰的代价地图 [待校准@873]

的ClearEntire代价地图动作节点已经实现但透明代价地图ExceptRegion清晰代价地图AroundRobot BT节点调用妹妹服务 (local_or_global)_costmap/clear_except_(local_or_global)_costmapclear_around_(local_or_global)_costmap 的代价地图2D失踪,他们现在执行类似。他们都公开 reset_distance 输入端口。看到 ClearCostmapExceptRegion [待校准@2250]ClearCostmapAroundRobot [待校准@2243] for more. The changes were introduced in this ` 请求 [https://github.com/ros规划/navigation2/拉/2204](%5Bhttps://github.com%5D(https://github.com/)/ros%E8%A7%84%E5%88%92/navigation2/%E6%8B%89/2204) ”_。 [待校准@874]

新行为树节点 [待校准@875]

添加了一个新的行为树节点,并可在运行时使用行为树cpp v3动态加载。看到 nav2_behavior_tree 完整列表,或 导航插件 当前列表行为树插件及其说明。这些插件在 nav2_bt_navigator 中被设置为默认插件,但可能会被 bt_plugins 参数覆盖,以包括您的特定插件。 [待校准@876]

原始GitHub门票: [待校准@754]

此外,行为树节点被修改为包含它们自己的本地执行程序,以旋转操作、主题、服务等,以确保每个行为树节点彼此独立 (例如g.在一个BT节点中旋转不会在另一个BT节点中触发回调)。 [待校准@884]

传感器 _ 消息/点云到传感器 _ 消息/点云2变化 [待校准@885]

由于 sensor_msgs/PointCloud 的弃用,发布传感器 _ msgs/PointCloud的主题被转换为传感器 _ msgs/pointcloud2。下面列出了有关这些主题及其各自信息的详细信息。 [待校准@886]

  • clearing_endpoints topic in voxel_layer plugin of nav2_costmap_2d package [待校准@887]
  • voxel_marked_cloud and voxel_unknown_cloud topic in costmap_2d_cloud node of nav2_costmap_2d package [待校准@888]
  • cost_cloud topic of publisher.cpp of dwb_core package. [待校准@889]

这些变化在 pull request 中被引入。 [待校准@890]

控制器服务器新参数failure_tolerance [待校准@891]

新参数: 代码: failure_tolerance 添加控制器服务器容忍控制器插件例外没有失败立即。它类似于 controller_patience ROS(1) 导航。看到 控制器服务器 [待校准@2573] 描述。这种变化介绍 pull request[待校准@892]

已删除BT XML启动配置 [待校准@893]

已删除行为树XML文件的CLI启动python配置设置。相反,您应该使用yaml文件来设置此值。但是,如果您对yaml文件有一个在较大部署中不一致的 path ,您可以使用父启动文件中的 RewrittenYaml 工具,使用 get_shared_package_path() 目录查找器重新映射默认的XML路径 (或者像以前在python 3中一样)。 [待校准@894]

地图订阅QoS启动配置的使用也被删除,使用参数文件。这一变化被引入了 pull request[待校准@895]

这个Nav2RViz面板Action反馈信息 [待校准@896]

的Nav2RViz面板现在显示动作反馈发表 nav2_msgs/NavigateToPosenav2_msgs/NavigateThroughPoses 行动。用户可以找到信息估计到达时间,剩余距离目标,时间由于导航开始,数量回收率期间导航行动直接通过RViz面板。此功能介绍 pull request[待校准@897]

在这里插入图片描述

  • 本文遵循知识共享协议,禁止未授权商用转载
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值