HIL-Sim台架

卡朗仿真科技自研HIL-Sim闭环台架CHS(caronsim_hil_sim),这是包括仿真软件(基于carla的渲染引擎和测试框架)和硬件(GMSL视频注入板卡、can卡和服务器)的软硬一体方案。对应SDK文档见:HIL-Sim台架CHS使用手册

whiteboard_exported_image (3).png

仿真软件基于开源carla的ue4-dev分支(截止26年5月最新release是0.9.16版本)上做了非常轻量级的修改,这样熟悉carla的同学可以轻松的上手,客户也可以基于我们的源码二次开发(适配各种传感器、搭建地图等)。主要修改点如下:

  1. 在carla的multi-gpu特性基础上,做了多实例同步优化和实时性适配,把carla从一个worldsim软件改造成为HIL-Sim软件

  2. 集成卡朗仿真科技自研的12路GMSL视频注入板卡CH2,fisheye图像渲染延迟低至20ms(最快只比实车相机链路延迟慢20ms)

  3. can收发服务(基于dbc)脚手架,可以在python脚本用例中方便的同域控制器进行CAN通信

  4. 桌面GUI集成,支持camera/lidar/radar/uss/gnss/imu的demo可视化,支持键盘控制车辆

  5. 基于离线标定的车辆动力学,实现来自域控的方向盘和加速度信号到虚拟车辆的精确映射

  6. 轻量级的python测试框架,你可以在用例中使用carla的api

硬件

说明

GMSL2注入板卡CH2(1或2张)

12路GMSL2视频PCIe注入板卡

AMD EPYC9004双路服务器主板

4U机架式+10PCIe插槽+24个DDR5+双路CPU插槽

内存(12到24条)

根据负载选配12到24条DDR5RECC 4800MHz以上内存(尽可能用更多数量的小容量内存来提升内存速度)

CPU(2片)

根据负载选配EPYC 9004/9005系列CPU,核心至少24核48线程,主频睿频3.7GHz以上

显卡(4到8张)

根据负载(一般11路camera+lidar)选配Nvidia RTX3090/RTX4090系列四到八张

CAN卡(1或2张)

根据情况选配PEAK或FINTEK的PCIe的CAN卡,支持4到8路,可配置为CAN或CANFD

以太网转车载以太网交换机

千兆以太网转车载以太网交换机,支持gPTP同步协议

备注:成本敏感型业务CPU配置可降到AMD EPYC7003系列,内存可降到DDR4RECC 3200MHz,只是渲染能力稍差,在复杂地图中camera可能无法达到30fps

测试视频

台架实时渲染1920x1536@30fps的FOV=210的fisheye相机,视频通过GMSL2板卡往Xavier开发板注入,渲染延迟仅为22ms,如下:

适配步骤

步骤

说明

耗时

备注

camera注入链路握手

客户:提供域控制器和实体camera

卡朗:通过自研的GMSL协议分析仪抓取mipi图像报文以及IIC握手报文,用于后续camera注入。然后把GMSL2视频注入板卡连上域控制动器,模拟IIC握手并注入图像

1~2周

  1. 如果域控制器走fpd-link,需额外半个月时间(可能需要您提供fpd-link加/解串器datasheet)

  2. 对于raw10/raw12这种需要过ISP格式图像,仿真引擎渲染出来的图像我们会做基础的逆ISP处理,这个基础的逆ISP处理效果客户不满意可在SDK中自行修改

  3. 我们会直接把GMSL协议分析仪抓到的图像嵌入行原封不动的直接注入域控,如果客户需要修改嵌入行中的信息(比如帧号/曝光参数),请客户查阅相机datasheet在SDK中自行修改

硬件(服务器、视频注入板卡、显卡)

卡朗仿真科技有已经充分验证过服务器配置,推荐客户采购我们推荐的服务器。当然了客户想复用已有的服务器,我们也可以帮忙评估是否满足要求

-

  1. 硬件配置中GMSL2视频注入板卡CH2是必选项

  2. HIL-Sim会同时运行十几个UE实例,对CPU/内存/显卡资源消耗巨大,因此对服务器优化能力要求较高

  3. 在没有硬件的前提下,你依然可以用普通PC(ubuntu22.04操作系统)进行SDK的适配工作,不过只能渲染一两路camera/lidar传感器

车辆动力学适配

  1. 需要实车的长、宽、轴距和轮距这四个信息,基于carla模板生成一个简单虚拟车辆模型

  2. 根据实车方向盘转角到车轮标定数据,自动生成实车方向盘转角到carla虚拟车辆steer转角查找表

  3. 自动生成加速度a到carla虚拟车辆throttle/brake查找表

1~2天

  1. 有的实车域控制器不会发出加速度a大小信号,而是会发出刹车或油门大小信号。对于这种非标准情况需要实车加减速标定数据,算出车辆在速度v下的刹车或油门对应的加速度a

  2. 简单车辆模型不影响测试,车轮半径和前轮最大转向角参数在carla api中配置。其它参数(比如轮胎抓地力、实车质量)影响已经体现到加速度a到carla虚拟车辆throttle/brake查找表中了,因此不需要这些参数

camera内外参适配

把实车11路相机内外参直接放到SDK配置中即可,carla已经原生支持多种针孔、鱼眼和广角相机模型,SDK中有debug可视化工具可以方便的查看外参是否正确。

1~2天

如果您不放心相机内参是否正确,可以:

  1. 在carla地图中放置棋盘,然后拍摄渲染好的图像,再对图像进行标定计算内参

  2. 在域控制器感知输出中查看车道线是否平行,行人位置和lidar感知结果是否一致

GNSS/IMU适配

carla中自带GNSS/IMU传感器,你需要适配成你所需要的格式

-

一般实车GNSS/IMU数据走专门硬件接口,如果HIL-Sim台架没有这种接口,推荐域控制器固件提供一个走以太网udp注入的“HIL仿真模式”

lidar/radar/uss适配

lidar/radar/uss这三种传感器一般基于carla中semantic lidar改造而成,你需要适配成域控所需的格式

-

有的radar/uss传感器需要配合MCU中的固件才能输出感知结果,原始点云可能模拟困难,这种情况可以考虑绕过MCU,直接仿真MCU输出的结果

can服务适配

SDK提供现成的基于dbc的can信号收发脚手架,客户根据域控制器can信号矩阵自行适配,这也是HIL-Sim适配工作中最为繁琐的部分

-

  1. 推荐其他所有适配全部完成排除感知因素之后,根据域控智驾功能抑制条件来反查can信号比较快

  2. 可以根据录制下来的can文件,用dbc定义解开查看合法信号值