自动驾驶代客泊车AVP决策规划详细设计

  1. 背景

随着产品的不断迭代,外部停车场的铺开,PAVP车辆需要应对的场景将越来越复杂,因此整体算法泛化能力的提升显得尤为关键。为了打磨巡航规划的能力,算法架构应当设计的更为灵活,可以针对使用场景迁入更为先进有效的算法,同时也可以更好的结合现有成熟的仿真平台进行算法的离线调优;此外考虑到产品的设计需求以及硬件算力的限制,算法性能的优化也是十分重要的课题。

  1. 算法架构图
    1. 总体算法架构图

|---------------------------------------------------------------------------------------------------|
| |
| 图1 总体架构图 |

为了增强算法的可扩展性,提高开发效率,pnc算法模块总体架构包含算法和基础两大组件,基础组件主要包含配置管理、坐标系管理、底盘信息处理、状态机、通用库、工具和仿真支持模块,这些基础组件将复用信息进行了抽离整合,同时提供了接入辅助平台的接口。

    1. 预处理模块架构图

|---------------------------------------------------------------------------------------------------|
| |
| 图2 预处理模块架构图 |

预处理模块的主要功能是将上游信息根据下游的使用情况进行整理,主要包括道路认知模块和障碍物筛选模块。

道路认知模块会将场端信息、定位信息、云端任务以及高精地图的信息进行整理,输出道路限速(speed_limit),停止点信息(control_point),道闸状态(barrier_status),道路信息(road_info)以及车位信息(park_info)。

障碍物筛选模块则会基于系统状态机,障碍物信息以及定位/地图消息,通过在限定ROI范围内计算安全场来筛选过滤出需要下游处理的障碍物,之后通过投影至Frenet坐标系上,由近及远进行障碍物的排序。

    1. 决策模块架构图

|---------------------------------------------------------------------------------------------------|
| |
| 图3 决策模块架构图 |

决策模块主要功能是结合障碍物、环境、状态机和定位信息,给出相应的决策状态(DEC_mode)、决策目标(DEC_target)决策边界(DEC_boundary)。

决策状态机主要通过系统状态(master_state)道路信息(road_info)和车位信息(park_info)进行主车状态的决策,通过不同的决策状态,可以指向不同场景对应的规划器,从而选择合适的规划器来应对当前的场景。

决策目标主要是根据道路信息和道路限速(speed_limit)给出规划需要的参考线线和限速信息,规划模块可以根据参考线进行路径规划,参照限速信息进行速度规划。

决策边界模块参考障碍物信息(obstacle_info),道路信息和停止点信息(control_point)进行边界定义。根据边界信息可以将通行区域进行分解,给出可行解空间,规划模块根据给定的解空间进行规划。

    1. 规划模块架构图
      1. 巡航规划架构图

|---------------------------------------------------------------------------------------------------|
| |
| 图4 巡航规划模块架构图 |

巡航规划模块的主要功能是结合决策信息、车身数据以及imu数据在给定场景状态和解空间范围内,进行巡航轨迹的的规划。由于产品场景相对复杂,这里采用并行架构,可能根据场景的不同,优选适用的规划器进行轨迹输出(上图主要展示了当前算法中利用的geometry planner,之后可以扩展丰富更多的planner)。

      1. 泊车规划模块架构图

|---------------------------------------------------------------------------------------------------|
| |
| 图5 泊车规划模块架构图 |

泊车规划模块的主要功能是结合决策信息、车身数据以及imu数据在给定场景状态和解空间范围内,进行泊车轨迹的的规划(上图主要展示了当前算法中利用的一种泊车轨迹规划方法)。

相关推荐
leoZ2318 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
To_OC8 小时前
我把《天龙八部》塞进向量数据库后,终于搞懂了 RAG 到底是个啥
人工智能·llm·agent
蜡台8 小时前
AI Agent(智能体)入门基础教程
人工智能
Akir.weiwen9 小时前
Token 层差异:从颜色值到语义状态的三层跃迁
人工智能·设计规范
迷迭香yy9 小时前
集合竞价数据挖掘实战:用Python构建开盘信号识别系统
人工智能·python·数据挖掘
大模型momo10 小时前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
小程故事多_8010 小时前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法
冬奇Lab10 小时前
开源项目第176期:Better Harness — 不审查 diff,审查工作流本身,给 AI 编程 Agent 的五维评估框架
人工智能·开源·agent
冬奇Lab10 小时前
代码库知识库系列(07):混合检索 BM25 + 向量——Q8 还是失败,而且总分退步了
人工智能
ajassi200010 小时前
AI语音智能体开发日记(十一)为智能设备“声”临其境——详解音频资源自动化生成流程
人工智能·ai·ai编程