超声波雷达在APA自动泊车功能中的应用与仿真

news/2024/11/13 9:07:28/文章来源:https://www.cnblogs.com/polelink/p/18315850

自动泊车辅助系统(APA)是现代汽车智能驾驶技术的重要组成部分,该系统使得车辆能够在没有任何人为干预的情况下,自动完成泊车过程。具体来说,APA系统在泊车过程中通过布置在车辆周围的传感器(环视摄像头、超声波雷达等)完成对有效车位以及障碍物的感知识别,再进行泊车路径的规划、车辆运动的控制,从而完成泊车的工作。本文将重点介绍超声波雷达在APA自动泊车功能中的应用以及HiL测试环境中的仿真方法。

 

 

APA自动泊车中超声波雷达的应用

 

 

在自动泊车的应用场景中,一般需要在车辆周围布置12颗超声波雷达以完成全自动泊车的功能。相比于毫米波雷达或其他形式的雷达,超声波雷达具备制造成本低、安装方便、后期易维护等诸多优点。

 

 

 

超声波雷达主要分为两种类型,一种是安装在前后保险杠用于检测障碍物的短距雷达,探测距离一般为15~250cm,这类传感器被称为PDC传感器。另一种安装在车辆侧面,用于探测停车位长度的传感器,探测距离一般为30~500cm,这类传感器被称为PLA传感器 。PDC和PLA主要的分布如下图所示。

 

 

在实际的自动泊车应用场景中,超声波拥有多种工作模式,如自发自收(Direct Echoes)模式以及复杂的多发多收(Cross Echoes)工作模式。在自发自收的工作模式中,超声波雷达通过声波的飞行时间(TOF)即可计算车辆与障碍物之间的距离,这种模式原理相对简单,但不能获得障碍物的二维坐标,即无法获取障碍物相对于主车的空间位置。而多发多收的工作模式通过将多个超声波雷达作为声波的接收器,可以更好地获取障碍物相对于主车的空间位置,但是计算也将更为复杂。

 

 

 

超声波雷达测距原理及APA泊车流程

 

 

在车辆进行泊车时,超声波雷达可实时计算并输出车辆与周围障碍物的距离。控制器软件通过对超声波数据处理拟合出周围障碍物的轮廓、形状,相对位置等。以水平车位的泊车场景举例,驾驶员激活车辆APA自动泊车功能,车辆保持低速前进,结合超声波的感知融合数据,APA系统将识别可泊入的车位,驾驶员使能后,车辆将进入下一步路径规划、车辆控制等必要环节直到车辆泊入车位成功并退出APA自动泊车功能,如下图为整个APA自动泊车流程。

 

 

 

超声波雷达的基本仿真方法

 

 

了解了超声波雷达的基本工作原理以及车辆布局后,需要关注的一些重要参数:

  • 测量范围:超声波雷达最远探测距离;
  • FOV:超声波雷达水平视角范围,垂直视角范围。
  • 雷达工作频率:工作频率对超声波的扩散、背景噪声、反射损失有影响,一般超声波雷达的工作频率在40kHz左右。

 

在HiL的仿真环境中,对超声波雷达的仿真需要借助专业的场景仿真软件(VTD)以及总线仿真实验管理软件(CANoe),在VTD中需要正确配置仿真的超声波雷达的各个参数,包括雷达的车辆安装位置、超声波雷达的最远探测距离、FOV视角等等。在总线仿真试验管理软件中需要明确超声波使用的通信协议、发送频率、波特率等。

 

 

整个的仿真链路中,VTD通过内置的完美传感器或其他精度更高的自定义开发模型将各个超声波雷达探测到的与障碍物最近的距离打包成UDP,发送至CANoe进行数据解析及总线仿真,如下图所示,VTD实时发送12组雷达输出的UDP数据,通过这种方式,可以有效简化传输链路,同时也能提高整个仿真的性能。当然,根据不同的仿真需求,可修改组包数据的结构,将障碍物的三维坐标、ID、属性等进行输出,通过获取不同的数据,结合CANoe可进行更多种类的APA自动泊车测试与验证。

 

 

CANoe支持多种总线仿真能力,结合Vector硬件如VN1640、VN1670、VN5650及其他传感器通信设备,可以为控制器提供CAN/CAN FD、TCP/UDP、SOME/IP、DSI3等多种协议支持,同时软件提供VN硬件配置窗口,以便用户方便管理仿真系统中的VN接口盒。

 

 

北汇信息的APA仿真功能技术方案

 

 

北汇信息在已交付的项目中完成了多种超声波仿真测试方案的实施落地。针对SOME/IP、CAN/CAN FD总线的超声波雷达仿真,CANoe结合VN1670、VN5650或其他通信接口盒,可为控制器提供精度更高、报文发送周期更稳定、故障注入类型丰富的总线仿真平台。

 

DSI3总线协议具备主从式一对多的异步单线电流电压型通信、自动分配ID、异步通信、低成本、抗干扰强、支持多种数据格式传输等优点,非常适用汽车功能安全等应用场景。通过CANoe与VTD联合后,将仿真的超声波探测的障碍物距离输出至CANoe,CANoe将距离数据处理成符合要求的飞行时间数据格式并发送至DSI3通信设备,DSI3通信设备通过信号转换,将仿真的超声波数据发送至被测控制器,完成控制器的12路超声波数据仿真。

 

在VTD中使用完美传感器探测车辆周围障碍物的情况下,通常由于完美传感器障碍物检测特性,会存在一定的距离误差,完美传感器的仿真方案并不能对毫米级别的距离做出反应,为了弥补这部分的误差,需要做更多的额外算法来修正误差。这不仅占用了更多的计算资源,并且处理之后的结果也不一定能完美的修正误差。如下图。

 

 

北汇信息为此提供了一套以光线追踪原理进行测距的超声波模型,相比使用12路的完美传感器,光线追踪的传感器模型能够提供毫米甚至微米级别的距离检测,并且将12路的传感器模型整合成一个光线追踪的超声波模型,极大地简化了工程的传感器布置,以及提高仿真的效率。模型的运行环境需要 NVIDIA CUDA环境的支持,支持配置超声波雷达的最远探测距离、FOV、安装位置等等,仿真频率等,如下为光线追踪原理图。

 

 

 

总结

 

 

APA自动泊车功能作为智能驾驶中重要的一环,在应对日益错综复杂的泊车环境时, HiL测试可以通过虚拟化仿真手段,加速APA功能开发及测试验证,减少APA实车测试验证成本,可通过搭建更多复杂、丰富的泊车场景来验证APA功能的测试覆盖度。北汇信息在智能驾驶MiL/SiL/HiL/ViL测试中拥有诸多成功的方案与实施经验,在持续的项目开发中,北汇信息也致力于新方案的技术验证与实施,为中国智能网联汽车发展贡献自己的力量。

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VScode利用EIDE和cortex-debug进行stm32开发(包括配置以及使用)

目录前言必要准备第一步:安装vscode插件——EIDEEIDE是什么EIDE的下载EIDE的配置(重点)EIDE功能的简单介绍1.项目的建立:新建项目或者导入项目2.为项目选择芯片支持包(不是必须)3.构建配置4.烧录配置5.项目属性和项目设置6.安装实用工具和打开插件设置第二步:安装vscode插…

SFCNR论文阅读笔记

Self-supervised Contrastive Enhancement with Symmetric Few-shot Learning Towers for Cold-start News Recommendation论文阅读笔记 Abstract 现存的问题: ​ 如今,新闻的传播速度快于消费速度。这与快速的新闻周期和延迟更新一起,导致了具有挑战性的新闻冷启动问题。同…

洛谷P10693

洛谷P10693 好奇怪的题目编号 思路提取input 11 2 13 4 5 3 7 9 9 11 11 12 output 9以人造数据为例。 首先我们让\(i\)\(\to\)\(a_i\)连边,整个分三种情况(对应图中三部分)。第一部分:\(i\)坐到了\(a_i\)(\(a_i\)\(\le\)\(n\))这个位置,那么\(a_i\)就没有地方坐了,他只…

WSL默认安装目录

我当前在win11下进行以下操作,其它系统版本有问题可以留言一、安装WSL前提条件:我们需要保证你的操作系统版本满足 **Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 ** 才能使用以下命令。 启用适用于 Linux 的 Windows 子系统:打开powershel…

【日记】坏了,0721 真成为柚子厨的标记了(418 字)

正文今天是 7 月 21 号,0721,然后柚子社入驻 B 站了,开始我以为是整活,结果发现是真的。草,这下 0721 真成柚子厨纪念日了。有点难绷又有点好笑。睡觉的一天。我原以为 14:30 睡到 16:30 差不多了,結果一觉睡到 17:30。草。我想着周末,也就没设闹钟了,睡到什么时候随缘…

京东员工达近52万人!阿里的2倍、拼多多的30倍

据最新数据显示,京东员工总数已接近52万人。这一数字是阿里巴巴的2倍、腾讯的5倍、拼多多的30倍。对比其他互联网公司普遍以降本增效为主基调,京东的员工数量反而增加。过去一年增加了66445人,近两年总计增加13万人。据最新数据显示,京东员工总数已接近52万人。这一数字是阿…

线段树优化建图一种编号方式的理解

int id(int l,int r) {return (l+r)|(l!=r);} //代码1证明思路:引导并说明某种做法发生冲突的情况,并证明修改后不会发生冲突 首先让我们考虑如果为 int id(int l,int r) {return (l+r);} //代码2会出现什么冲突,如图此时 [1,3] 与 [2,2] ,[1,5] 与 [3,3] 冲突结论1:线段树…

力扣-动态规划全解

目录动态规划斐波那契数列-EASY爬楼梯-EASY使用最小花费爬楼梯-EASY不同路径-Middle不同路径II-Middle不同路径 III-HARD整数拆分-MID*不同的二叉搜索树-MID背包问题-理论基础分割等和子集-EASY最后一块石头的重量 II-MID目标和-MID *一和零-MID*53-最大子数组和-中等918-环形子…

能源公司 Turcomp 通过 NocoBase 实现敏捷、安全开发

深入了解 Turcomp 如何利用 NocoBase 加快开发进度,并符合安全要求。NocoBase 是一个极易扩展的开源无代码开发平台。完全掌控,无限扩展,助力你的开发团队快速响应变化,显著降低成本,不必投入几年时间和数百万资金研发,只需要花几分钟部署 NocoBase。 NocoBase 中文官网 …

宝塔安装wordpress,ftp

宝塔安装好ftp, 在后台配置账户 状态: 服务器回应不可路由的地址。使用服务器地址代替,遇到这类报错,是filezilla配置问题, 只需要

Qt+OpenCascade开发笔记(一):occ的windows开发环境搭建(一):OpenCascade介绍、下载和安装过程

前言Open CASCADE是由Open Cascade SAS公司开发和支持的开源软件开发平台,旨在为特定领域快速开发程序而设计。它是一个面向对象的C++类库,提供了丰富的几何造型、数据交换和可视化等功能,成为许多CAD软件的核心组件。  本篇描述下载和安装过程。 OpenCascade(OCC)概述O…

自定义过滤器

代码实现: from flask import Flask,render_templateapp = Flask(__name__)def get_top3(list): #返回列表前三个return list[:3] #方式一:注意一个过滤器 app.jinja_env.filters["get_top"]=get_top3#方式二 @app.template_filter(get_qu) def get_qu(lis): #返…