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

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

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个车位信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/497075.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue2 与 Vue3的面试题

1.Promise有几种状态 pending(进行中) fulfilled(已成功) rejected(已失败) data(){return{}},create(){const result this.ganaretor()result.next.value.then((res)>{console.log(res);}) // 解决一直.then()方法问题},methods:{* ganaretor(){yield axios.get(httpts)…

vulnhub靶场之driftingblues-3

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions. This works better with VirtualBox rather than VMware 2.靶场…

【前端面试3+1】01闭包、跨域、路由模式

一、对闭包的理解 定义: 闭包是指在一个函数内部定义的函数,并且该内部函数可以访问外部函数的变量。闭包使得函数内部的变量在函数执行完后仍然可以被访问和操作。 特点: 闭包可以访问外部函数的变量,即使外部函数已经执行完毕。…

天锐绿盾|公司如何防止员工拷贝电脑资料?

#天锐绿盾# 天锐绿盾是一款针对企业数据安全设计的终端安全管理软件,用来防止员工拷贝电脑资料的具体措施包括: www.drhchina.com PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 1. **文件透明加密…

10.对象的使用,遍历

什么是对象 其实就是map那种键值对的存储形式&#xff0c;别的语言也有&#xff0c;老规矩&#xff0c;和别的语言差不多的就在给pink老师打一波广告。 常见的对象操作&#xff0c;其实没啥直接上代码吧 <!DOCTYPE html> <html> <head><meta charset&…

网络套接字补充——UDP网络编程

五、UDP网络编程 ​ 1.对于服务器使用智能指针维护生命周期&#xff1b;2.创建UDP套接字&#xff1b;3.绑定端口号&#xff0c;包括设置服务器端口号和IP地址&#xff0c;端口号一般是2字节使用uint16_t&#xff0c;而IP地址用户习惯使用点分十进制格式所以传入的是string类型…

【常见面试题】JS 发布者、订阅者模式

面试中经常出现问到如何实现JS 发布者、订阅者模式。下面是ES5实现发布订阅模式。 1、直接上代码。 function EventEmitter() {this.events {}; }; // 订阅者 EventEmitter.prototype.on function(ename, callback) {if (!this.events[ename]) {// 初始化创建订阅&#xff…

C++ 控制语句(二)

一 break continue和goto语句 1 break语句 在switch语句中&#xff0c;分隔case子句&#xff0c;跳出switch语句。 在循环语句中可以立即终止循环语句的执行。 2 continue语句 功能:在一次循环过程中,跳过continue语句以下的语句,直 接进入下一次循环操作。 3 goto语句 …

软考98-上午题-【信息安全】-防火墙

一、考试概述 该内容与计算机网络关联。 分值&#xff1a;2分 二、防火墙 防火墙 (Firewall) 是建立在内外网络边界上的过滤封锁机制&#xff0c;它认为内部网络是安全和可信赖的&#xff0c;而外部网络是不安全和不可信赖的。 防火墙的作用是防止不希望的、未经授权地进出…

CCF-CSP认证考试 202303-5 施肥 35/60/75/100分题解

更多 CSP 认证考试题目题解可以前往&#xff1a;CSP-CCF 认证考试真题题解 原题链接&#xff1a; 202303-5 施肥 时间限制&#xff1a; 2.0s 内存限制&#xff1a; 1.0GB 问题描述 春天到了&#xff0c;西西艾弗岛上的 n n n 块田地需要施肥了。 n n n 块田地编号为 1 , 2…

Qt消息机制和事件

Qt消息机制和事件 Qt消息机制和事件--2 事件 事件&#xff08;event&#xff09;是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘&#xff0c;或者是窗口需要重新绘制的时候&#xff0c;都会发出一个相应的事件。一些事件在对用户操作做出响应时发出&…

【数据结构】顺序表的实现——静态分配

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;数据结构 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

matplotlib画图:子图中坐标轴与标题重合...

如下图 只要在代码最后加入 plt.tight_layout() 就可以自动调节

江苏开放大学2024年春《市政管理学050011》第一次形考作业参考答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 电大搜题 多的用不完的题库&#xff0c;支持文字、图片搜题…

C语言编译和链接理解

一. 翻译环境和运行环境 二. 翻译环境&#xff1a;预编译编译汇编链接 三运行环境 一. 翻译环境和运行环境 &#xff1a; 1.翻译环境和运行环境&#xff1a;在ANSI C的任何⼀种实现中&#xff0c;存在两个不同的环境。第1种是翻译环境&#xff0c;在这个环境中源代码被转换为…

散热风扇220v交流12v直流12038轴流风机配电箱机柜散热风扇15050

品牌&#xff1a;威驰 颜色分类&#xff1a;11025风扇220v含油,11025风扇220v纯铜双滚珠,12025风扇220v含油,12025风扇220v纯铜双滚珠,12025风扇24V纯铜双滚珠,12025风扇12V纯铜双滚珠,12038风扇220v含油,12038风扇110V含油,12038风扇220v纯铜双滚珠,12038风扇110v纯铜双滚珠,…

如何把PNG图片转换成CAD图纸DWG格式

环境&#xff1a; CAD2021 PNG图片 问题描述&#xff1a; 如何把PNG图片转换成CAD图纸DWG格式 解决方案&#xff1a; 将PNG图像转换为CAD文件&#xff08;如DXF或DWG格式&#xff09;是设计和工程领域中常见的需求之一。幸运的是&#xff0c;有几种工具和软件可以帮助完成…

幻兽帕鲁服务器多少钱?2024年Palworld服务器价格整理

2024年全网最全的幻兽帕鲁服务器租用价格表&#xff0c;阿里云幻兽帕鲁游戏服务器26元1个月、腾讯云32元一个月、京东云26元一个月、华为云24元1个月&#xff0c;阿腾云atengyun.com整理最新幻兽帕鲁专用4核16G、8核16G、8核32G游戏服务器租用价格表大全&#xff1a; 阿里云幻…

Java异常机制

异常体系图 Throwable Throwable 是 Java 语言中所有错误与异常的超类。 Throwable 包含两个子类&#xff1a;Error&#xff08;错误&#xff09;和 Exception&#xff08;异常&#xff09;&#xff0c;它们通常用于指示发生了异常情况。 Throwable 包含了其线程创建时线程执…

计算机组成原理 浮点数溢出

阶码同样有位数限制 浮点数的溢出并不以尾数溢出来判断&#xff0c;尾数溢出可以通过右规操作得到纠正。运算结果是否溢出主要看结果的指数是否发生了上溢&#xff0c;因此是由指数上溢来判断的。可能导致溢出的情况&#xff1a;即所有涉及阶码运算的情况 右规和尾数舍入&…
最新文章