卡索斯酒店

Delphi开发汽车主动安全系统雷达传感器对准算法

挑战

在四周内交付生产汽车雷达传感器校准算法

解决方案

使用MATLAB开发算法,并使用MATLAB编码器生成生成C代码

后果

  • 对于该算法,生成的C代码与手写C代码一样高效
  • 开发时间减半
  • 算法更改很容易在几秒钟内验证和编码

“MATLAB是我的首选工具,因为它加快了算法的设计和改进。我可以在一个地方进行数据分析、算法开发、算法可视化和仿真,然后生成可靠、高效、易于软件工程师集成到更大系统中的C代码。”

梁马,德尔福
德尔福的多模电子扫描雷达(ESR),它使用单个雷达在中距离提供大范围覆盖,在远程提供高分辨率覆盖。图片由德尔福提供。

汽车雷达是碰撞缓解、盲点警报、自适应巡航控制和许多其他主动安全功能的使能技术。雷达系统提供车辆和其他物体的距离、距离率和方位信息数据。这些数据的准确性取决于雷达传感器的精确对准。

Delphi在MATLAB中的应用®和MATLAB编码器™ 加速生产雷达传感器校准算法的设计、仿真和实现。

“有了MATLAB,我们可以在一个环境中分析数据和设计算法,因此我们可以快速尝试新想法,然后通过绘图和统计分析对其进行评估,”德尔福系统工程师梁马说。“一旦我们验证了一个算法,我们将使用MATLAB编码器生成与手写代码一样高效的C代码。”

挑战

车辆运行时,雷达传感器校准算法每秒执行40次以上。在1毫秒内,它必须根据雷达传感器提供的数据以及车速、传感器在车辆上的位置及其指向角计算未对准角度。

在过去,Delphi系统工程师将一个MATLAB原型算法交给软件工程师用C实现。这种方法有几个缺点。当软件工程师有繁重的工作负载时,他们通常在数周内无法开始C实现的工作。由于系统工程师和离岸软件工程师被几个时区隔开,因此通信具有挑战性。软件工程师有时会误解原型算法,交付的C代码无法满足设计和性能要求。

由于主动安全系统的需求量很大,德尔福只有四周的时间来改进新雷达产品的雷达传感器校准算法。他们需要一种方法,使系统工程师能够交付自己的生产C代码。下载188bet金宝搏

解决方案

Delphi采用MATLAB和MATLAB编码器开发并实现了雷达传感器对准算法。

Liang使用MATLAB分析从实际车辆道路测试中获取的传感器记录数据。借助大量测试数据和强大的MATLAB内置功能,Liang实现并验证了一种雷达传感器对准算法,该算法根据原始雷达检测和主机车速计算传感器失调角。该算法计算线性方程组的最小二乘解。它还根据最小二乘解的残差估计计算角度的精度。

为了验证算法,Liang使用MATLAB中记录的传感器和车辆数据进行了仿真。然后,他使用MATLAB脚本处理大量车辆数据,以验证算法计算的传感器失调角的准确性。

他使用MATLAB编码器从算法生成C代码。他通过调用MATLAB测试代码中的MEX函数并将生成代码的结果与原始MATLAB算法的结果进行比较来验证C代码,并在几分钟内完成每个迭代。

最初,在ARM10处理器上运行的生成的C代码计算了超过3毫秒的未对准角度。Liang删除了冗余逻辑,合并了for循环,并在MATLAB代码中执行了其他优化,直到生成的代码在不到1毫秒的时间内完成了计算,满足了吞吐量要求。

按照计划,Liang将经验证的改进算法C代码交付给软件集成团队,以便集成到生产系统中。

德尔福已经在多家原始设备制造商的生产车辆的主动安全系统中使用了这种雷达传感器校准算法,没有报告缺陷。

Liang和他的同事使用MATLAB和MATLAB Coder设计并实现了其他几种生产算法,包括目标选择算法,该算法使用融合轨迹信息、摄像机视觉对象和主机车辆信息为OEM的主动安全功能选择合适的目标。

后果

  • 对于该算法,生成的C代码与手写C代码一样高效. “我们用MATLAB编码器生成的C代码运行速度与手工编码的算法的早期实现一样快,”Liang说。“生成的代码也易于集成,没有缺陷,我们从不修改它。”

  • 开发时间减半. “我花了三周时间开发了这个算法,只剩下一周的时间用C语言实现并验证它,”梁说。“MATLAB Coder使我能够按时完成项目。由软件工程师手工编写代码最多需要四个星期。”

  • 算法更改很容易在几秒钟内验证和编码. “使用我们的传统方法,软件工程师可能需要一周的时间来实现我对算法所做的更改,”Liang说。“使用MATLAB和MATLAB Coder,我可以在不到一分钟的时间内自己生成C代码,使我能够快速评估新想法。”

下载188bet金宝搏使用的产品

比照图西托

Únete al客户参考计划