首页 > 其他分享 >详细解析记忆泊车的顶层技术原理

详细解析记忆泊车的顶层技术原理

时间:2024-03-27 18:13:12浏览次数:29  
标签:顶层 泊出 地图 建图 记忆 泊车 解析 车位

详细解析记忆泊车的顶层技术原理

image

附赠自动驾驶学习资料和量产经验:链接

相对于记忆行车而言,记忆泊车 MPA(Memory Parking Assist)可以看成是停车场区域内的一个自动驾驶功能,可帮助用户按记忆的路线自动巡航并泊入车位或自动从车位泊出并巡航至泊出点。如下图表示了记忆行车和记忆泊车在整个工作环境中的场景示意图。

image

通常情况下,考虑到记忆泊车实际是一种低速自动驾驶控制过程,因此需要在记忆泊车过程中设置一定的设计运行范围才能保证其记忆建图和行驶控制具备可行性。比如,从控制逻辑上讲在记忆泊车控制中如果遇到前方障碍物的情况,对于记忆行车而言,通常是采用刹车避障的方式进行障碍物躲避。而记忆泊车则是通过转向绕行的方式进行障碍物躲避,从这一点上讲也是记忆泊车相对于记忆行车来说十分不一样的地方。此外,从整个静态ODD上看,我们的记忆行车通常是不需要考虑太多的极端的要素的。只要不是传感器本身的限制和遮挡都可以确保记忆行车控制的可行性。哪怕是类似内部道路、施工路段这类场景也可以不必作为ODD范围外需要考虑的要素,因为系统会根据识别的结果进行适时更新,但匹配上记忆行车的行驶路径方案相对比较单一。

记忆泊车技术设计要素

自动记忆泊车是车辆自动驾驶技术的重要应用。相关技术中,为了实现自动记忆泊车,一般需要先生成泊车地图,泊车地图一般包括停车路线和停车位。根据生成的泊车地图,车辆可以自动按照停车路线行驶并停入对应的停车位,从而实现自动记忆泊车。

记忆泊车的六个主要子功能包含记忆建图、智能泊入、沿途车位识别、智能泊出、运行过程中故障处理、动静态障碍物处理、视频监控等。

其功能核心主要是在使用智能泊入及智能泊出前利用泊车(环视摄像头)或部分行车传感器(前视摄像头)进行记忆泊车的局部地图绘制,提前学习并建立智能泊入和智能泊出的路线地图。建图完成后,用户需要使用所建立的地图驱动整个智能泊入、低速巡航及智能泊出控制。且整个过程中,用户无需手动控制车辆,但不能离开座位,整个泊车过程需要用户监控系统的运行状态,必要时可对车辆实施制动或转向以接管车辆。如下图表示了整个记忆泊车所涵盖的功能范围示意图。

image

而对于记忆泊车功能而言,由于考虑到传感器识别能力、系统控制能力等因素,通常是需要制定比较严格的ODD适用范围,并且整个控制过程中,驾驶员对于整车控制是可以随时介入的。如下图列举了几个关键的ODD要素。

image

和记忆泊车系统类似,记忆行车实际上是一种针对宿主车辆中预先记录的轨迹进行智能辅助驾驶的控制过程。整个过程实际是包含低速巡航和辅助泊车的过程场景。智能泊车控制过程在最后一定的时间通常是允许用户下车,通过手机短程遥控车辆过自动泊入车位的,这一过程需要从遥控泊车模块调动相应的控制过程。

image

整个记忆泊车的软件架构数据流图表示如下:

image

以典型的泊车算法处理芯片为例,整个记忆泊车处理流程分为两条主线:环视摄像头输入的数据通过TDA4上的VPAC模块进行ISP处理后,可以分两步进行分流,其中一路是通过C66模块中的两个DSP核分别进行前处理和后处理,同时C7x/MMA上完成神经网络的实时处理。

泊车建图与重定位原理

数据采集阶段通过对整个停车场进行分层全方位数据采集,并将建图所需的前视视频、环视视频上传至数据管理中心,通过泊车质检标注系统进行预处理生成相应的时间戳信息、定位信息、传感器标定信息,并结合先前预置地图信息PreMap(该预置地图信息可以是由其他车型采集生成后由本车通过云端下载)生成两套不同的感知模型信息。随即生成的摄像头模型数据信息和超声波识别模型信息(分别为泊车轨迹信息和车位识别信息),随后进行数据后处理(对所有传感器进行时间同步、不同物体进行物体关联、泊车轨迹融合修正、车位识别修正等)。最后将生成的数据输入地图模型进行有效的数据训练。

image

其中,在泊车建图过程中通常需要云端通过预设的置信度算法对所建立的地图预设置信度,在泊车激活试用阶段,通过将符合预设置信度的泊车地图直接下发至车端,使车端可以直接根据泊车地图进行自动记忆泊车。这里需要说明的是,预设泊车地图置信度的算法实际是通过人工质检的方式进行筛选和设置(又称质检),对置信度的程度进行有效的编号。这类质检过程实际类似于BEV建图过程中的真值标注一样,如果待质检的泊车地图的数量较多,由人工对每一份泊车地图进行质检将产生大量的人力成本,同时影响质检效率。因此,考虑自动化的质检方式也显得比较重要。如上图所示表示了整个记忆泊车建图至图像质检的整个过程。

如下图表示的是一种典型的泊车建图与重定位的示意图。其中输入端包含4枚环视感知的摄像头,在建图阶段,考虑了多个环视摄像头之间可能产生深度点云可以对其进行距离估计,并将对应的建图和位置进行优化。其生成的轨迹进行存储,并把相应的接口暴露出来供其他模块调用。此外,该四个环视视频将作为整个建图的特征提取输入,通过云端接口下载已生成的地图数据,匹配到被训练过的建图轨迹,并进行有效的重定位、且查询到当前位置并调整整个车身姿态。最后,通过车辆轨迹规划和控制单元进行整车控制响应。

image

注意,对于这里所建立的地图并非高精地图,也非导航地图。当然泊车建图的距离相对于行车来说是小很多,因为这类路径需要包含的信息量还是比较大的,且不同车位、泊入泊出过程都需要同步建立不同的地图。地图信息需要重点包括如下一些信息:

①车道标志信息:车辆运行轨迹信息(如x、y、z坐标),车位信息(四个角点x,y,z坐标)这里的Z轴信息主要是指跨层之间的信息。此外还有一些停车场的路标信息:如路口、柱子、减速带、坡道;

②车辆定位特征信息:建图起始点和终点GPS信息;

③停车位确认和新增停车位的植入信息:即目标车位以及行驶到目标车位中间可能检测到的对应车位。

泊车地图存储和管理

与记忆行车存储方式类似,记忆泊车的存储单元也是位于智能驾驶域控制器中,可以在划定的EMMC中,且整个地图存储过程是在用户完成建图后自动触发存储。地图可以同步选择存储在云端,如果考虑车车互联,该地图也可以作为联网其他车辆的的泊车地图。当网络信号良好的情况下,且自车通过定位到自身处于对应的停车场时,便可以启动后台下载程序控制车辆优先从云端下载地图,生产和存储。

之前提到,地图建立过程中是需要对地图的张数限制最大值的。那么超过最大值的情况就需要向前进行地图覆盖。

建图过程不能均保证建图成功,当建图失败时,该地图路线将不能用于泊车控制,这是需要从后台启动日志记录功能,将建图失败的原因进行详细记录。同时,系统前台需要通过HMI提示用户建图失败。

记忆泊车工作流程原理

为实现智能泊入和智能泊出功能,用户需先在停车场内驾驶车辆进行智能泊入和智能泊出路线学习,智驾车后台系统存储对应记忆的地图路线。

整个建图过程中通常需要对泊入路线、泊出路线、最大允许的倒车距离提出相应的建图要求。比如泊入过程建图时,需要考虑整个停车场支持从不同的停车入口进入,且均可以建立不同泊车路线的地图。而泊出过程则需要支持统一停车场的不同车位建图。这个过程需要考虑统一停车场内对不同停车位作为起点均可建立一张泊车路线图。

image

整个泊车流程说明如下:

Step1:智驾车辆驶入停车场内,通过车机系统激活泊车类型(按键/语音)为泊入;

Step2:车机系统需要显示记忆泊车功能界面,用户需要根据提示手动驾驶车辆前往目标车位;

Step3:到达目标车位附近后,用户可以直接拨入车位,并挂入P档。也可以在车机系统上点击确认识别到车位;

Step4:控制车辆泊入后,系统通过后台自动验图并保存对应所建立的地图数据;

Step5:建图成功后,如果驾驶员继续选择泊车召唤建图,则进入Step7泊出建图流程。否则,此次建图结束;

Step6:接收到驾驶员输入的建图类型为泊出请求时,驾驶员可以手动驾驶汽车前往泊出点;此时系统确认完驾驶员此次泊出过程结束时,系统后台生产并检验此地图数据。

这里需要注意的是,智能泊入和泊出需要分开建立不同的两张图,泊入和泊出地图会由一个属性相互关联。建图过程需满足建图距离、车速、以及建图算法匹配的要求。通常单程(泊入或泊出)建图距离不超过一定值(比如2km),建图过程中车机系统可以实时的显示建图距离,并适时的提醒驾驶员。此外,如果考虑建图的有效性和性能,通常也对驾驶速度有一定要求(一般小于20kph),如果长期超速超过一定的时间阈值,则提示驾驶员超速退出。并且,根据不同的车位信息可以触发建立不同的地图,这样的地图数量实际上是有一定的要求的。比如最多可以存储10张地图用于标识10个车位信息。

标签:顶层,泊出,地图,建图,记忆,泊车,解析,车位
From: https://www.cnblogs.com/autodriver/p/18099938

相关文章

  • FAT32文件系统解析:
    首先,打开U盘,现在基本都是NTFS文件系统,重新在网上买了一个FAT32的U盘:用winhex打开其逻辑磁盘:然后根据分析分析:首先是DBR部分:FAT引导记录的前3个字节是跳转指令(JumpInstruction),用于跳转到引导代码的执行位置。这个指令告诉系统在引导记录中的哪个位置开始执行代码。它通......
  • 深入解析以太坊Dencun升级:提升网络性能与安全的关键举措
    近年来,以太坊网络一直在不断演进和发展,为了应对日益增长的用户需求和挑战,以太坊社区不断提出并实施各种升级和改进措施。其中,Dencun升级作为最新的一项重大改革,旨在提升以太坊网络的性能和安全性,为其未来发展奠定更坚实的基础。本文将深入解析Dencun升级的关键举措,以及这些举措......
  • 基于MPC的车辆自动泊车轨迹跟踪控制+代码
    基于MPC的车辆自动泊车轨迹跟踪控制+代码附赠自动驾驶学习资料和量产经验:链接一、MPC理论推导参考《无人驾驶模型预测控制》与《模型预测控制》首先是最优控制,之前总结LQR是一种无约束的线性二次最优控制问题,通过求解Ricatti方程得到最优控制率,而对于非线性系统,求取最优控制......
  • 【赛题解析】【网络建设与运维】第三阶段Linux Vsftpd部分答案解析
    培训、环境、资料、考证公众号:波比网络公众号2:波比网络工作室网络建设与运维群:685678820波比网络专注于技能提升,赋能ftp服务任务描述:请采用ftp服务器,实现文件安全传输。1.配置 linux1为ftp服务器,安装vsftpd,新建本地用户xiaoming,本地用户登陆ftp后的目录为/var/ft......
  • 36.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-数据解码器的实现
    免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!如果看不懂、不知道现在做的什么,那就跟着做完看效果内容参考于:易道云信息技术研究院VIP课上一个内容:35.登录成功数据包内容分析码云地址(master分支):https://gitee.com/dye_your_fingers/titan码云版本号:9474c7......
  • TorchV的RAG实践分享(三):解析llama_index的数据存储结构和召回策略过程
    1.前言LlamaIndex是一个基于LLM的数据处理框架,在RAG领域非常流行,简单的几行代码就能实现本地的文件的对话功能,对开发者提供了极致的封装,开箱即用。本文以官方提供的最简单的代理示例为例,分析LlamaIndex在数据解析、向量Embedding、数据存储及召回的整个源码过程。通过学习框架......
  • Cron 表达式解析
    Cron表达式解析Cron表达式是一种强大的工具,用于在特定时间自动执行计划任务。无论是在服务器维护、数据库备份,还是在发送定时邮件等场景,cron表达式都能提供精确的时间控制。Cron表达式的基本结构Cron表达式由6或7个由空格分隔的时间字段组成,每个字段代表了不同的时间单位:......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • 深入解析Spring Cloud:微服务架构的关键
    随着业务的发展和技术的演进,单体应用逐渐暴露出诸多问题,如难以维护、扩展性差等。为了解决这些问题,微服务架构应运而生。微服务架构将一个大型应用拆分成多个独立、可扩展、松耦合的服务,每个服务实现应用的一部分功能。SpringCloud作为一套微服务架构的解决方案,提供了众多开箱......
  • 深度解析:邻氯苯腈市场为何成为投资新宠?
    一、行业简述   邻氯苯腈,作为一种精细化工原料,具有独特的化学结构和稳定的性质,使得它在农药、染料、医药等多个领域都有广泛的应用。这种原料的特殊性在于其结构中的氯原子和腈基团,这些特性使得邻氯苯腈能够参与到许多复杂的化学反应中,从而合成出各种具有特定功能的产品......