车载毫米波雷达的上车安装与标定问题

news2025/1/24 5:46:34

说明

    雷达的上车安装和标定问题在产品开发流程中应该算比较后期的工作了(我的理解应该至少是C样乃至SOP阶段)。当然,如果该雷达在研发的初期就有车型对接并有需求方给的很具体的SOR,那这部分的工作在结构设计和算法开发阶段就可以开展。

    上车安装和标定是两个相对独立的部分,不过也多多少少有点联系,这也是我想用一篇博文来试着阐述这两个问题的原因。本博文的目的在于想要捋清楚与这两个工作有关的概念及其之间的联系,并试着讨论现有的一些标定方法

Blog 

20230824  博文第一次写作

目录

说明

目录

一、关于上车安装

1.1 雷达安装的相关项

1.2 本章小结

二、关于雷达标定

2.1 有关标定的基本概念以及标定需求的来源

2.2 雷达标定的方法与流程

2.2.1 关于车辆交付后的雷达自标定

2.2.2 关于车辆下线时的雷达标定

2.3 本章小结

 三、总结

四、 参考资料


一、关于上车安装

    雷达上车安装顾名思义就是指把雷达安装在车上。比较经典(宽泛的)位置主要包括:安装于车前车标后的前雷达、安装于汽车四角保险杠内的角雷达、以及安装于车舱内B柱/后视镜上的舱内雷达。事实上不同的车企之间,甚至同一车企的不同车型之间的安装位置都存在差异,本文不给出(也无法给出)雷达具体的安装位置,而是讨论与雷达安装相关的基本参数与注意事项,且本文讨论内容暂时不涉及舱内雷达。

1.1 雷达安装的相关项

    雷达从结构上来看我们可以将之简化成一个带接口的长方体。下图为森思泰克的一款前向毫米波雷达的实物图(截图自官网,侵删): 

图1.1 雷达实物图

    其左侧凸起的黑色部分就是雷达的对外接口(用以电源供给、数据交互)。将一个带接口的长方体安装于车上(或者说想象将之置于三维空间中),我们可以想到的与安装有关的参数大概会包括(前向雷达和角雷达一样):

    安装位置与角度:接口朝向、离地高度、翻滚角、偏航角、俯仰角。

    雷达外围安装环境:覆盖件弧度、雷达与覆盖件的间距、覆盖件垂直面与雷达前表面的夹角、覆盖件材料、覆盖件表面粗糙度等。

以下对前述参数做出解释

    接口朝向和离地高度这不难理解,接口朝向与线束的走线有关,一般是朝左或者朝右(对于角雷达一般指向车门方向),不会朝下(指向地面)或朝上;离地高度与具体车型有关,这两一般是主机厂提出要求。

    偏航角、俯仰角、翻滚角的定义如图1.2所示:(图中深灰色为雷达),这几个角度可能在别的地方有不同的叫法或定义,但其本质就是描述一个长方体在三维空间里各个维度的旋转(姿态),确定了这三个角度我们便可以在空间中确定该长方体的唯一位姿。一般地,对于前雷达,我们建议雷达安装的翻滚角、偏航角以及俯仰角都为0°,对于前角雷达,偏航角在40-60°之间(与车中轴线的夹角),对于后角雷达,偏航角在45°,角雷达的其余两个角度也都为0。

图1.2  雷达安装角度的定义示意图

    雷达安装外围环境主要是指与雷达波束辐射面直接相关的保险盖(覆盖件),如图1.3所示:

图1.3 雷达与雷达覆盖件

    覆盖件的弧度、与雷达间距、厚度、以及粗糙度都会影响雷达的波束辐射(包括衰减以及波束指向的改变),从而影响雷达性能,这些因素对于雷达产品开发来说在设计时就应该考虑进去(在天线设计时做带外壳以及带保险杠的仿真)并留有一定的冗余。一般建议的覆盖件弧度大于300mm、雷达与覆盖件的间距在5-30mm之间、覆盖件垂直面与雷达前表面的夹角在5°-30°之间、覆盖件材料应不含金属成分、覆盖件表面粗糙度不应超过30um。雷达外围安装环境的这些参数一般需要雷达厂家与主机厂打合

1.2 本章小结

    本章比较详尽地介绍了与雷达安装相关的各项参数,对这些参数进行了解释,给出了参考/建议值。内容相对简单,大多是概念性的。

二、关于雷达标定

2.1 有关标定的基本概念以及标定需求的来源

    先下定义:标定,就是建立从传感器坐标系到车辆坐标系的映射(旋转+平移)关系

    对于车载环境感知的传感器(毫米波雷达、摄像头、激光雷达、超声波雷达)而言,每个传感器都有其自身的坐标系。比如对于毫米波雷达,我们可以建立以其天线面板中心为原点,垂直面板方向为X轴,符合右手定则的空间直角坐标系,雷达检测出来的各目标最初也是在该坐标系下的。而同时,我们也有以车辆为坐标原点的空间直角坐标系,且我们是在该坐标系下开发各种智驾功能(ACC、AEB等),于是,将传感器检测到的目标都映射到车辆坐标系上是我们必须解决的一件事情。这是标定需求的来源之一

    此外,在进行多传感器数据融合时,空间标定和时间标对齐是两个必须要做的前置任务,只有将各传感器的数据都放在同一时空坐标系中,进行数据融合才有意义,这是标定的需求来源之二。解决多传感器之间空间标定的基本思路也是先建立各传感器坐标系与(同一)车辆坐标系之间的转换关系,然后将各传感器的数据都映射到车辆坐标系中进行融合。

    另外,由于安装误差的存在、以及汽车在长期使用过程中的震动颠簸、碰撞等,会导致第一章所提的几个角度并不严格地符合设计要求。获取实际的安装角度及其相对车体坐标系的转换关系,就是汽车下线标定、以及雷达自标定功能需要做的事情,这是标定的需求来源之三

2.2 雷达标定的方法与流程

    因为整车下线标定的方法和车辆交付用户后的标定方法还是有些区别的(当然,原理上基本一样),本小节的话题我想分成两部分来讨论。

2.2.1 关于车辆交付后的雷达自标定

    做自标定的缘由在2.1节中已经说过了:由于汽车在长期使用过程中的震动颠簸、碰撞等导致雷达产生角度偏差。先不考虑自标定怎么做,自标定什么时候做反而是要回答的第一个问题,我目前想到的时间点包括:比如当车行驶里程达到某个阈值时、或者当车辆发生碰撞等交通事故后、或者当用户觉得智驾功能的体验感明显下降后(这个话题欢迎各位读者更专业和丰富的补充)等等。回答了缘由和时间,还有一个问题是谁来做?这件事自然可以放到4S店里找专业的售后来干,不过我们既然把名字取为自标定,那必然应该普通用户也能做这件事,而如果交由车主来做,那做这件事情必须非常简单才行,且不应该涉及复杂和精密的仪器,特斯拉的摄像头标定车主自己就可以做:车主只需找到合适的一段路,然后开一段时间即可,毫米波雷达的自标定应该也要这样

【如果要把一件事做好,且要求在最终端极其简化(乃至按键就可以实现),那自然要求前面的过程要把所有的东西封装好,这无疑加重了前面的难度和工作量。所以相较于车辆下线时的雷达标定(由主机厂里专业的工程师完成),交付用户后的雷达自标定我觉得从原理上要更复杂一些(不过也简单…),从理解这项技术的角度来说,这是我把自标定放在前面说的原因,自标定的东西明白了后续的车辆下线标定我只说明概念和注意事项。】

    标定的方法可能有很多,本小节以楚航发表的一篇文章[1]为对象,分析该文中提及的标定方法(读者可以阅读该文章以及其参考文献对该问题做更深入的理解)。注:这篇文章只是给出了如何标定前雷达的偏航角(当雷达安装位置确定后,雷达坐标系和车体坐标系的平移关系也就确定了,偏航角、俯仰角、翻滚角决定了其旋转关系)。由于条件不够,我没有进行实测,没有数据和代码可供分享,但我会试图把做这件事的思路捋清楚。

A. 原理与方法

    在这篇文章中,通过自车匀速直线运动检测直线护栏来确认雷达的偏转角度,不难理解的是:当自车装载雷达平行于直线护栏运动时,如果雷达偏航角为0,那么检测出来的护栏在雷达坐标系中应该是一条平行于雷达法线方向的直线,而当雷达偏航角不等于0时,在雷达坐标系下,检测出来的直线护栏会是一条有斜率的斜线,其对比效果如图2.1所示(分别从黑色坐标系和红色坐标系看护栏):

图2.1 偏航角不等于0时的测量示意图

    我们可以采集多帧数据(为保证数据更加精确,本文提出的一种方法是重复在同一线路上采集多帧数据,从各帧数据里选出能代表护栏的更合理的数据,使得这些数据的方差尽可能地小,再送入后面的拟合算法中),对采集到的数据使用最小二乘法(关于最小二乘法及其仿真与应用我后面会出一期博文)进行拟合,求得该拟合直线的斜率进而得到其偏转角度,得到角度标定值。

B. 实验与结果讨论

    在前述理论的指导下,我们可以设计实验并进行数据采集,下图为该文章中给的实测场景与中间结果:

图2.2 场景实测

C. 角度修正&验证

在得到标定角度后,将该角度放到测角结果里做补偿,并进行现场实测验证,下图为文章中标定前后护栏的轨迹(按照上面的图,其横向距离应该在5m处,这里应该是把目标轨迹整体右移了5m):

图2.3 标定前后目标轨迹

    标定的角度修正是直接在检出结果的基础上加减角度值即可。

    从研究原理与方法,到设计实验采集数据分析,再基于实验的结果进行参数修正,并再次进行实验验证,这便是做这件事的基本流程。以上是自标定功能背后的原理与方法,其实在用户端,与用户交互的可能只是:在交互界面点击开始标定、然后开车、然后等待标定结果的反馈(成功/失败)。

2.2.2 关于车辆下线时的雷达标定

    车辆下线时的雷达标定是主机厂干的活(雷达供应商配合)。作为流水线的一部分,在设计标定方案时还需要考虑到标定的效率,所以下线标定的场地、仪器设备自然要更标准,方法也更简单。

    大概可以用一段话来简单描述:当雷达装车后,把车开到特定的标定场地(严格控制各类干扰),严格控制车辆自身的姿态偏移,通过在雷达正前方特定距离下放置标准角反,观察雷达对该角反检测角度的输出,即可得到标定角。

    虽然一小段话可以说完,但实操时涉及的问题还是有很多的。在标定之前,主机厂在做安装雷达的结构件设计时就需要进行尺寸链核算,对外围结构件进行仿真,探讨安装工差的来源,以求从源头上将雷达安装得尽可能符合设计要求。此外在标定过程中,当出现标定失败的情况时,要能立刻排查和解决问题,因为一旦标定失败,那么极有可能需要再次返工进行重新安装,甚至结构件需要重新设计。

补充:关于标定失败的问题

    我在上一节雷达自标定的最后内容里也提过。标定失败这个词还是蛮让人费解的:按照定义,标定只是为了找到传感器与车体坐标系之间的坐标转换关系,只要方法对了,不存在失败一说啊!

    理解这个说法我们需要回到雷达性能以及应用上来。我们前面所讨论的标定,如果雷达自己的位姿偏了,此时它测量得到目标角度从车体坐标系来看会产生角度偏差(比如本来在0°,实测变成了3°),此时我们做的并不是去把雷达调正,而是从算法端去修正目标输出的角度。可是我们都知道,雷达有其自身的视场角(我们一般在雷达的算法端将检出来的目标限定在某个视场范围内),这个视场角是针对雷达坐标系的!试想一种极端的情况:安装在车前的前向雷达其FOV为±15°,当其偏航角变成了16°甚至更高,此时雷达已经没法探测到车前的目标了,我们再做标定已经没有意义了,所以标定失败并不是我们无法得到该偏转角度值,而是我们得到的偏转角度值超过了某个角度阈值!当标定得到的角度结果超过该值时,我们认为雷达无法正常履行其功能,此时标定失败

    标定失败的解决方案其实也很简单,我们从物理上把雷达偏航角摆正一些,使得标定得到的偏转角度值小于那个角度阈值即可。但是如前所述,对于整车的下线标定来说,这是需要返工重新安装甚至需要重新设计结构件的,对于自标定就更难了,普通车主用户根本无法做这件事…,所以这也侧面说明了结构件稳定可靠的重要性。此外还有一点疑问:该角度阈值是怎么得到的?这与雷达自身性能(特别是雷达威力图)与性能的要求有关,比如要求在0°方向的最远检测距离要到100m,如果该雷达在其FOV的±5°内都能满足要求,那仅仅从0°方向的检测距离这个角度来说,该阈值可以设计成5°,这只是对距离的考量,实际上要考虑的东西会更多!从我了解的情况来看,不同厂家该值会有所差别,但一般都在3°以内。

2.3 本章小结

    本章内容介绍了与标定相关的基本概念,探讨了标定的需求来源,此外分别从车辆交付后的雷达自标定以及车辆下线时的雷达标定两个方向对雷达的标定方法进行论述。在雷达自标定部分,以楚航的一篇有关标定的论文为例,给出了一种对前向雷达偏航角标定的原理与方法以及实践过程。

    可能在已往,辅助驾驶对毫米波雷达的要求并不高,做了下线标定后面就不管了…。但是现如今,具备自标定功能似乎成为了雷达的标配。作为雷达工程师,雷达标定算是很后期的一个工作,该工作决定了雷达作为产品在使用过程中的表现,不可不察

 三、总结

    本博文探讨了雷达安装与雷达标定两个话题,捋清了与这两话题相关的基本概念及其内在联系,着重分析了关于雷达标定的各项问题,并做了一些有益的解释和探讨,希望能给感兴趣的读者提供些许帮助。本博文的内容我会随着理解的加深不定期丰富,也欢迎各位的反馈。

四、 参考资料

[1] 黄小月,王奇,吴军,等.车载毫米波雷达自触发动态标定的研究与应用[J].[2023-08-23].

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

07-Numpy基础-伪随机数生成

numpy.random模块对Python内置的random进行了补充,增加了一些用于高效生成多种概率分布的样本值的函数。 例如,你可以用normal来得到一个标准正态分布的44样本数组: 而Python内置的random模块则只能一次生成一个样本值。从下面的测试结果中可…

Docker consul的容器服务注册与发现

前言一、服务注册与发现二、consul 介绍三、consul 部署3.1 consul服务器3.1.1 建立 Consul 服务3.1.2 查看集群信息3.1.3 通过 http api 获取集群信息 3.2 registrator服务器3.2.1 安装 Gliderlabs/Registrator3.2.2 测试服务发现功能是否正常3.2.3 验证 http 和 nginx 服务是…

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享...

全文下载链接:http://tecdat.cn/?p23544 在本文中,长短期记忆网络——通常称为“LSTM”——是一种特殊的RNN递归神经网络,能够学习长期依赖关系(点击文末“阅读原文”获取完整代码数据)。 本文使用降雨量数据&#xf…

C++,运算符重载——关系运算符练习

一、关系运算符重载 > > < < ! #include <iostream> using namespace std;class Relates { private:int a;int b; public:Relates() {}Relates(int a,int b):a(a),b(b) {}bool operator>(const Relates &R) const{if((a>R.a&&b>R.b) …

Docker搭建elasticsearch+kibana测试

最近需要做大数据画像&#xff0c;所以先简单搭建一个eskibana学习使用&#xff0c;记录一下搭建过程和遇到的问题以及解决办法 1.拉取es和kibana镜像 在拉取镜像之前先搜索一下 elasticsearch发现是存在elasticsearch镜像的&#xff0c;我一般习惯性拉取最新镜像&#xff0c…

hive中的DDL操作以及数据的导入导出

文章目录 DDL库操作表操作内部表&外部表分区表修改表&删除表 数据的导入导出数据导入数据导出 DDL DDL(data definition language)&#xff0c;命令有CREATE、ALTER、DROP等。主要用在定义、修改数据库对象的结构或数据类型&#xff1b; 理解 库操作 创建 语法 CRE…

在VS中使用格式化工具

在VS中使用格式化工具 官网地址: https://clang.llvm.org/ 最后更新时间&#xff1a;2023.8.25 这里以windows为例&#xff0c;使用的环境为VS。 &#xff08;一&#xff09;下载安装LLVM 下载地址: https://github.com/llvm安装&#xff08;自己选择安装路径&#xff09; &…

浅谈Java中的观察者模式

观察者模式是软件开发中常用的一种设计模式&#xff0c;它通过定义一对多的依赖关系&#xff0c;使得一个对象&#xff08;主题&#xff09;的状态变化可以通知多个其他对象&#xff08;观察者&#xff09;。 这种模式的优点是解耦和增加扩展性&#xff0c;用于实现对象之间的…

mac清理磁盘空间软件有哪些 mac清理磁盘空间怎么清理

随着时间的推移&#xff0c;Mac电脑上的文件会越来越多&#xff0c;很快就会占满磁盘空间。这时候&#xff0c;我们需要一个好的Mac清理磁盘空间软件来释放空间&#xff0c;保持电脑的良好性能。那么&#xff0c;mac清理磁盘空间软件有哪些呢&#xff1f;接下来&#xff0c;我将…

7.Oracle视图创建与使用

1、视图的创建与使用 在所有进行的SQL语句之中&#xff0c;查询是最复杂的操作&#xff0c;而且查询还和具体的开发要求有关&#xff0c;那么在开发过程之中&#xff0c;程序员完成的并不是是和数据库的所有内容&#xff0c;而更多的是应该考虑到程序的设计结构。可以没有一个项…

python 模块BeautifulSoup 从HTML或XML文件中提取数据

一、安装 Beautiful Soup 是一个HTML/XML的解析器&#xff0c;主要的功能也是如何解析和提取 HTML/XML 数据。 lxml 只会局部遍历&#xff0c;而Beautiful Soup 是基于HTML DOM的&#xff0c;会载入整个文档&#xff0c;解析整个DOM树&#xff0c;因此时间和内存开销都会大很多…

spring boot 项目整合 websocket

1.业务背景 负责的项目有一个搜索功能&#xff0c;搜索的范围几乎是全表扫&#xff0c;且数据源类型贼多。目前对搜索的数据量量级未知&#xff0c;但肯定不会太少&#xff0c;不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多&#xff0c;未了避免有个别极大数据源影响整…

阿里云X森马 AIGC T恤设计大赛;SD新手入门完全指南;揭秘LLM训练中的数学;LLM高质量阅读清单 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 阿里云X森马 | AIGC T 恤设计大赛&#xff0c;函数计算玩转 Stable Diffusion 比赛官网&#xff1a;https://developer.aliyun.com/ad…

火山引擎云调度GTM“同城容灾”与“异地多活”实践

随着企业不断推进数字化进程&#xff0c;高并发业务和海量数据的挑战也随之而来。在现实生活中&#xff0c;除了地震、台风、挖光纤这种小概率事件&#xff0c;还有很多人为造成的高概率数据丢失事件&#xff0c;比如人为操作失误、硬件故障、网络攻击等等&#xff0c;故障容灾…

RISC-V中国峰会 | 256核服务器高调亮相,谁与争锋?

8月23日&#xff0c;第三届RISC-V中国峰会&#xff08;RISC-V Summit China 2023&#xff09;在北京香格里拉饭店正式开幕&#xff0c;来自世界各地的行业精英汇聚一堂&#xff0c;为RISC-V生态系统建言献策&#xff0c;凝心聚力&#xff01; 中国工程院院士倪光南、RISC-V国际…

C++多线程编程——thread线程创建与使用(2W字保姆级介绍)

目录 前言 线程创建 标准库thread&#xff08;同步线程的创建过程&#xff09; 启动线程&#xff1a;实例thread 线程执行单元&#xff08;可调用对象&#xff09; 线程等待 线程传参 线程id 成员方法获取线程id 命名空间获取线程id 让出线程资源 sleep_for() sle…

聊一聊微前端框架的选型和实现 | 业务平台

一、项目背景 目前&#xff0c;我们开发维护的项目主要有 6 个&#xff0c;但是分别对应 PC 和 H5 两个端&#xff1a; 如上图所示&#xff0c;我们 6个项目最开始是一个一个进行开发维护的&#xff0c;但是到后期&#xff0c;这几个项目之间有的部分会有业务逻辑不同&#xff…

docker高级(mysql主从复制)

数据库密码需要设置成自己的&#xff01;&#xff01;&#xff01; 1、创建容器master13307 #docker pulldocker run -p 13307:3306 --name mysql-master \ --privilegedtrue \ -v /mysql/mysql-master/log:/var/log/mysql \ -v /mysql/mysql-master/data:/var/lib/mysql \ -…

centos 下扩容根目录

大体情况&#xff1a; 在VM虚拟机上安装了移动云的BCLinux镜像&#xff0c;磁盘设定为8G&#xff0c;但是用过一段时间之后根目录下磁盘已满&#xff0c;无法创建文件夹等操作&#xff0c;因此在VM上进行了磁盘扩容&#xff0c;扩容之后需要在系统上自行挂载&#xff0c;使用m…

【VsCode】SSH远程连接Linux服务器开发,搭配cpolar内网穿透实现公网访问(1)

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…