(小编先带大家扫盲一下)
V2X(Vehicle-to-Everything,车与万物通信)是一种先进的通信技术,使车辆能够与周围环境进行信息交换。这不仅包括与其他车辆(V2V)的互动,还涵盖与基础设施(V2I)和行人(V2P)的通信。通过V2X,车辆能够实时获取周围信息,从而提升行驶安全性和交通效率,真正实现智能交通的愿景。而智能汽车的世界中,CANoe的Car2X功能就像是一位灵动的翻译官,轻松打破了车与车之间的“语言障碍”。通过无线信号交换着密切的消息。这不是偶像剧,而是CANoe的舞台演出!它帮助汽车在复杂的交通环境中交流得如鱼得水,无论是彼此提醒即将到来的交通信号,还是共享行驶速度的“小道消息”,都能轻松搞定。在这个充满活力的舞场上,CANoe的Car2X功能不仅仅是调试工具,它更是一个搭建虚拟交通世界的乐高平台,让开发者在各种场景中尽情畅玩:模拟繁忙的都市交叉口、测试紧急刹车时的通信等,读者可以使用CANoe测试DUT的V2X功能。
在进行V2X的仿真测试过程中,仿真场景的搭建是极为重要的,需要确认仿真场景下的Route和仿真使用的Station以及仿真过程中涉及到的事件属性,请跟随本文,深入学习了解场景搭建的方法。
软件工具上选择使用CANoe DE 18 SP2(截至目前最新的版本呦~)进行场景搭建,需要准备好CANoe、Option.Car2X的License。(没有的小伙伴可以使用Demo版本的License进行学习哦!)
1.打开Scenario Editor
CANoe提供多个实用的工具,在Tools页签下打开本文的主角“Scenario Editor”
2、认识Scenario Editor
Scenario Editor 窗口可通过图形界面创建交通场景,在进入到编辑界面后,可以先确认地图参数配置,该窗口使用与 Map 窗口(想了解Map 窗口的使用,请后台私信哦~)相同的地图组件,也允许进行类似 Map 窗口的瓦片服务器(Tile Server)配置以及离线地图配置。Scenario Editor 中的地图配置独立于Map 窗口,可通过点击窗口中“Settings”功能按钮打开地图配置页面配置地图供应商等选项。Vector (OSM)是 Map 窗口默认使用的地图供应商。为了避免在使用 CANoe 时受到第三方供应商的限制,自CANoe 14.0版本开始,Vector引入了自己的瓦片服务器,地图数据可以直接从Vector(OSM)获取。该服务器提供的地图数据都基于开源地图项目OpenStreetMap®。
在 Scenario Editor 中可以独立设置地图中心点的地理坐标和地图的缩放等级,点击窗口中的“Zoom to Filt”按钮,地图会自动进行定位和缩放。
3、Scenario的编辑
选择使用“Open”按钮选择打开未编辑完毕的场景,或者选择“New Scenario”重新搭建新的场景,当出现误删除编辑界面的时候,可以使用“View”页签下的“Reset Layout”按钮快速恢复到原始的图形操作界面。
3.1、编辑Route
读者可以选择新建一个场景,导入预先编辑的kml文件或者第一次使用选择新建Route
在编辑Route时,需要激活上图的“Edit”选项,使用鼠标拖动即可编辑“waypoint”,或者找到想要更改的点,直接赋值已知经纬度。这样的优点是Route更为精确。Route也可以使用上图的“Export”选项导出复用。运动方向从Route1到Finish,在“waypoint”的前后可以鼠标右键添加新的“waypoint”(当有转弯等弧形场景时,足够多的“waypoint”一定会用到哦!)在编辑Route时,根据实际的场景可能需要创建多个Route,可以在原Route的基础上进行位置偏移:
5、编辑Station
在创建完毕完整的Routes后,就可以创建仿真过程中的Station:
一般的,Station命名规则为:主车命名为Hv,远车命名为Rv1、Rv2等,按照数量依次类推,路侧单元命名为RSU,如果需要点位则命名为Point1、Point2等。每个Station都会在右下角生成一条时间轴,在时间轴上添加速度节点来规划运动状态;航向角随着路径自动计算。下图表示Hv速度在第0秒从0km/h开始,在5秒的时候达到30km/h,然后以30km/h运动到场景开始后第13秒,然后加速到第17秒的45km/h,选中点位之后可以手动输入其在时间轴的位置,输入速度参数,也可以直接在时间轴上拖动点位
车辆加速度是根据两个点位的时间差和速度差自动计算的,设置固定加速度需要手动计算后调整节点在时间轴上的位置,对于Station还可以鼠标右键添加赋予其特殊的属性:
最后,保存编辑后的Scenario文件,文件后缀为.scn
6、使用Scenario文件
对于Scenario文件的使用,方法较多,可以使用CANoe提供的“Scenario Manager”窗口,在此窗口下可以直接打开对应的.scn文件进行加载使用。
或使用CAPL的方式进行加载文件,对应CAPL函数:long C2xLoadScenario(char* scenarioFilePath),通过脚本的方式,可以配置其给到自定义系统变量从而使用Panel进行加载场景使用。
7、管理Station
为了在需要测量的窗口中显示应用消息的数据内容(信号),必须始终保证接收到的包与数据库(ITS (Intelligent Transportation System)站点)中创建的节点之间的关联。Station Manger窗口提供相应的映射关系编辑,以确保观察到的信号(例如在Data窗口中显示的信号)确实来自要进行测量的 ITS 站点。
至此,你已经学会了仿真场景的搭建和使用啦~完结撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★*
再来谈谈仿真可视化,CANoe的场景仿真可视化功能非常强大,除了大家所熟知的Panel可视化,一般可以使用包括 Map 窗口的二维仿真显示和 Scene 窗口的三维仿真显示。二维仿真侧重于快速展示拓扑和组件之间的关系。通过直观的二维图形界面,用户可以轻松理解仿真组件的连接和通信,便于进行初步设计和验证。相比之下,三维仿真则提供了更为复杂和真实的环境,能够模拟实际的物理空间和动态交互,适合于深入分析和测试复杂系统。三维窗口允许用户观察组件在三维空间中的运动,适用于需要考虑真实道路环境的应用场景,如ADAS仿真方面的毫米波雷达测试。当使用Scenario Editor工具编辑场景后也可适用于Scene窗口(关于此窗口的使用也可以后台私信哦),编辑的场景以及Scene窗口和Map窗口对比如下:
总的来说,二维仿真在于简化和快速验证,而三维仿真则强调真实感和复杂性。选择合适的仿真方式可以帮助工程师更有效地进行系统设计和测试。一般的,考虑到V2X方面的仿真和地图的强关联性,推荐使用Map窗口进行二维可视化。
场景搭建是V2X仿真过程中重要的一环,熟练使用其应用到V2X仿真工程是一个智能网联工程师必备的技能。想了解更多关于V2X的信息可以参考北汇信息一线工程师编写的文章(满满的都是干货、( •̀ ω •́ )y)。
文章链接:https://mp.weixin.qq.com/s/kIc6OitRKn5VItJWhJOqmA
关于我们:北汇信息是一家技术驱动的创新型服务企业,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。致力于成为汽车领域国内技术领先、客户信赖的技术服务供应商。