TEB轨迹规划算法教程-代价地图转换插件实现追踪和动态避障
TEB轨迹规划算法教程-代价地图转换插件实现追踪和动态避障
说明:
- 介绍如何利用代价地图转换插件根据代价地图的更新来跟踪动态障碍
costmap_converter
- 在继续之前,请确保您熟悉costmap_converter软件包以及如何在teb_local_planner中使用它
- 请参阅教程Costmap Conversion
- costmap_converter包提供了一个名为costmap_converter::CostmapToDynamicObstacles的插件
- 它试图根据本地costmap的时间演变来检测动态障碍。
- 该插件还具有基础参数static_converter_plugin,其可以被设置为常规(静态障碍)costmap_converter插件之一
- 例如,costmap_converter::CostmapToPolygonsDBSMCCH。
- 您还需要确保在teb_local_planner中启用动态障碍物规划,如此处所述。
测试障碍物跟踪器
- 安装teb_local_planner_tutorials包或将存储库从github存储库克隆到catkin工作区。
- 现在打开一个终端并调用:
roslaunch teb_local_planner_tutorials dyn_obst_costmap_conversion.launch
- 您现在应该看到跟踪示例和结果类似于:
- 您可以在源代码存储库中检查相应的启动和配置文件以获取更多详细信息。
- 注意,参数可能不完美(也适用于底层卡尔曼滤波器)。
- 我们没有花太多时间在costmap_converter包中调整参数。
走廊的例子
- 以下示例演示了机器人如何通过移动障碍物在走廊中导航。
- 关闭上一个程序并运行以下命令:
roslaunch teb_local_planner_tutorials dyn_obst_corridor_scenario.launch
- 已加载差异驱动器的完整导航设置。
- 通过在走廊的另一端提供2D导航目标,在rviz中指定导航目标。
- 你应该看到类似:
- 同样,您可以在源代码存储库中调查相应的启动和配置文件以获取更多详细信息。
备注
- 规划器目前假设障碍物主要以恒定速度移动。
- 这种假设在许多应用中都很有意义。
- 但是,在真正的随机游走场景中,与将这些障碍视为静态障碍的计划配置相比,计划程序性能可能更差(teb_local_planner参数include_dynamic_obstacles = false)。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号