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

2024-01-28 05:52

本文主要是介绍自动驾驶代客泊车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数据在给定场景状态和解空间范围内,进行泊车轨迹的的规划(上图主要展示了当前算法中利用的一种泊车轨迹规划方法)。

这篇关于自动驾驶代客泊车AVP决策规划详细设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652655

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重