自动驾驶代客泊车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

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

springboot整合gateway的详细过程

《springboot整合gateway的详细过程》本文介绍了如何配置和使用SpringCloudGateway构建一个API网关,通过实例代码介绍了springboot整合gateway的过程,需要... 目录1. 添加依赖2. 配置网关路由3. 启用Eureka客户端(可选)4. 创建主应用类5. 自定

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —