解读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] : 从感知模块
精彩文章
发表评论