解读Autoware.Universe规划模块:Behavior Path Planner

前言

文章列表

行为路径规划器(Behavior Path Planner)

目的(Purpose)

场景(Use cases)

设计

输入 / 输出 / 接口

输入

输出

内部工作 / 算法

可行驶区域生成(Drivable Area Generation)

用于可行驶区域生成的参数

行为树(Behavior Tree)

车道跟随(Lane Following)

特殊情况

车道变换(Lane Change)

启动车道变化条件(需要满足以下所有条件)

结束车道变换条件(需要满足以下所有条件)

与障碍物的碰撞预测

路径生成(Path Generation)

避让(Avoidance)

目标物体

怎样生成避让路径

单个物体情况

多个物体情况

平滑路径生成(Smooth path generation)

避让未实现的部分 / 局限

靠边停车(Pull Over)

启动靠边停车条件(需要满足以下所有条件)

结束靠边停车条件(需要满足以下所有条件)

靠边停车的通用参数

碰撞检测

基于占据网格地图的碰撞检测

基于物体识别的碰撞检测

目标搜索

路径生成

平移泊车(Shift Parking)

几何侧方泊车(GEOMETRIC PARALLEL PARKING)

靠边停车未实现的部分 / 局限

路边起步(Pull Out)

启动路边起步条件(需要满足以下所有条件)

结束路边起步条件(需要满足以下所有条件)

路边起步的通用参数

路肩车道障碍物的安全检测(Safe check with obstacles in shoulder lane)

路径生成(Path Generation)

平移式路边起步(SHIFT PULL OUT)

几何式路边起步(GEOMETRIC PULL OUT)

后向路边起步起点搜索(backward pull out start point search)

路边起步未实现的部分 / 局限

侧向平移(Side Shift)

路径生成的参数

平滑连接目标(Smooth goal connection)

参考 / 外部链接

更新日期:2022年11月23日

前言

Autoware 是世界领先的自动驾驶开源软件架构1。Autoware 是基于 ROS 环境开发,大规模地促进了自动驾驶的商业部署。2022年,Autoware Foundation 官方发布了基于 ROS2 的更新版本,其中

Autoware.Auto 2 是继 Autoware.AI 之后到基于 ROS2 的升级版本。

Autoware.Universe 3 则是为研究者和开发者建立的一个更具有试验性和更前沿的 ROS packages的存储库(repository)。

Autoware.Core 是基于 Autoware.Auto 和 Autoware.Universe,是高质量和稳定的 ROS packages 的主要存储库(main repository)。(目前还是空的,会逐渐从 Autoware.Universe 导入代码。)

本系列文章以翻译 Autoware.Universe 的官方文档4为基础,首先力求传达准确,再行扩展。在专业术语的表达上,尽量尊重原文,往往以中文翻译(原英文表达)的形式,在找不到合理的翻译的情况,则直接使用原英文术语。

笔者从开发者的角度,不希望只是笼统地照搬原文档,会适当加入自己的理解和笔记。更重要的是,概念要和实践相结合。理论很美好,我感兴趣的是,实际应用的效果如何,所以可以预期在每个主题中都会有一些代码级的实践和记录。

文章列表

解读Autoware.Universe规划模块:Mission Planner

解读Autoware.Universe规划模块:Behavior Path Planner

行为路径规划器(Behavior Path Planner)

原始文档:Autoware.Universe官方文档:Behavior Path Planner 5

目的(Purpose)

behavior_path_planner 模块负责生成

基于交通状况的路径(path),

车辆可以移动的可行驶区域(drivable area)(在路径消息中定义),

将被发送到车辆接口的转向信号(turn signal) 命令。

场景(Use cases)

根据情况,系统会选择合适的场景模块,在行为树(behavior tree)系统上执行。

目前以下场景模块是被支持的:

车道跟随(Lane Following):从地图生成车道中心线。

车道变换(Lane Change):执行车道变换。该模块在必要时执行,并清除与其他车辆的碰撞检测。

避障(Obstacle Avoidance):执行避障。该模块用于避让停在车道边缘的车辆或超越(overtake)低速障碍物。

靠边停车(Pull Over):执行路边停车。当自车在道路车道上并且目标在路肩车道(shoulder lane)上时执行此模块。自车将停在目标位置。

路边起步(Pull Out):执行路边起步。当自车静止并且自车的车身包含在路肩车道(shoulder lane)中时执行此模块。当自车并入道路时,该模块结束。

侧向平移(Side Shift):(用于远程控制)根据外部指令将路径向左或向右移动。

对以下模块的支持目前还在开发中:

自由空间(Free Space): NA.

图片:当前支持的部分场景

设计

暂空。

输入 / 输出 / 接口

输入

/planning/mission_planning/route [autoware_auto_planning_msgs/HADMapRoute] : 当前从起始位置到目标位置的路线。

/map/vector_map [autoware_auto_mapping_msgs/HADMapBin] : 地图信息。

/perception/object_recognition/objects [autoware_auto_perception_msgs/PredictedObjects] : 从感知获取的动态物体。

/perception/occupancy_grid_map/map [nav_msgs/msg/OccupancyGrid] : 从感知模块

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: