System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及自动驾驶算法,特别涉及一种智能驾驶计算平台功能软件重构和可视化方法及装置。
技术介绍
1、自动驾驶技术核心算法模块主要由感知,预测,定位,规划,决策和控制组成,而这些技术模块均需要资深算法工程师c++编程实现。
2、目前,对于现有的自动驾驶技术核心算法而言,算法开发的主机厂商工程师习惯于simulink工具开发,迁移到c++难度较大,且当前开发模式,其开发效率,集成效率和验证效率较低;此外,当前行业缺乏统一标准,各个主机厂商和供应商使用开发语言和代码规范均不一致,较难提炼共性技术赋能行业发展,亟待解决。
技术实现思路
1、本申请提供一种智能驾驶计算平台功能软件重构和可视化方法及装置,以解决现有自动驾驶技术核心算法迁移到c++难度较大,且其开发效率、集成效率和验证效率较低;此外,当前行业缺乏统一标准,较难提炼共性技术赋能行业发展等问题。
2、本申请第一方面实施例提供一种智能驾驶计算平台功能软件重构和可视化方法,包括以下步骤:按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到所述目标智能驾驶源代码的函数树;基于所述函数树,重构所述目标智能驾驶源代码,得到目标计算机语言代码,并根据所述函数树、预设测试顺序和预设对比策略判断所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能是否一致;在所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能一致的情况下,对所述目标计算机语言代码进行前端集成图形化处理,生成可视化目标计算机语言代码,并将所述可视化目
3、可选地,在本申请的一个实施例中,所述按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到所述目标智能驾驶源代码的函数树,包括:基于所述目标智能驾驶源代码的函数架构,拆解所述目标智能驾驶源代码,得到所述目标智能驾驶源代码的多个子代码;根据自顶而下的分析顺序分析所述多个子代码中每个子代码的代码逻辑,得到所述每个子代码对应的自根节点至叶子节点的子代码函数树,并基于所述每个子代码的子代码函数树,构建所述目标智能驾驶源代码的函数树。
4、可选地,在本申请的一个实施例中,所述基于所述函数树,重构所述目标智能驾驶源代码,得到目标计算机语言代码,包括:获取所述目标智能驾驶源代码的初始输入参数和初始输出参数,并修改所述初始输入参数的数据格式,得到满足预设函数代码规范要求的目标输入参数;构建所述目标计算机语言代码的目标主函数,基于所述目标主函数和所述目标输入参数,运行所述目标计算机语言代码,得到所述目标输出参数。
5、可选地,在本申请的一个实施例中,所述根据所述函数树、预设测试顺序和预设对比策略判断所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能是否一致,包括:基于所述函数树和所述预设测试顺序,判断所述初始输出参数和所述目标输出参数是否满足预设的一致性条件;若所述初始输出参数和所述目标输出参数满足所述一致性条件,则对所述目标计算机语言代码进行前端集成图形化处理,否则根据预设代码检测策略排除所述目标智能驾驶源代码存在的问题,得到修正目标计算机语言代码,并基于所述修正目标计算机语言代码,重新执行所述一致性条件判断操作,直至所述修正目标计算机语言代码的目标输出参数与所述初始输出参数满足所述一致性条件。
6、本申请第二方面实施例提供一种智能驾驶计算平台功能软件重构和可视化装置,包括:分析模块,用于按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到所述目标智能驾驶源代码的函数树;重构模块,用于基于所述函数树,重构所述目标智能驾驶源代码,得到目标计算机语言代码,并根据所述函数树、预设测试顺序和预设对比策略判断所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能是否一致;可视化模块,用于在所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能一致的情况下,对所述目标计算机语言代码进行前端集成图形化处理,生成可视化目标计算机语言代码,并将所述可视化目标计算机语言代码部署在目标自动驾驶硬件平台中,以控制所述目标自动驾驶硬件平台执行所述可视化目标计算机语言代码。
7、可选地,在本申请的一个实施例中,所述分析模块包括:拆解单元,用于基于所述目标智能驾驶源代码的函数架构,拆解所述目标智能驾驶源代码,得到所述目标智能驾驶源代码的多个子代码;构建单元,用于根据自顶而下的分析顺序分析所述多个子代码中每个子代码的代码逻辑,得到所述每个子代码对应的自根节点至叶子节点的子代码函数树,并基于所述每个子代码的子代码函数树,构建所述目标智能驾驶源代码的函数树。
8、可选地,在本申请的一个实施例中,所述重构模块包括:修改单元,用于获取所述目标智能驾驶源代码的初始输入参数和初始输出参数,并修改所述初始输入参数的数据格式,得到满足预设函数代码规范要求的目标输入参数;运行单元,用于构建所述目标计算机语言代码的目标主函数,基于所述目标主函数和所述目标输入参数,运行所述目标计算机语言代码,得到所述目标输出参数。
9、可选地,在本申请的一个实施例中,所述重构模块还包括:判断单元,用于基于所述函数树和所述预设测试顺序,判断所述初始输出参数和所述目标输出参数是否满足预设的一致性条件;处理单元,用于若所述初始输出参数和所述目标输出参数满足所述一致性条件,则对所述目标计算机语言代码进行前端集成图形化处理,否则根据预设代码检测策略排除所述目标智能驾驶源代码存在的问题,得到修正目标计算机语言代码,并基于所述修正目标计算机语言代码,重新执行所述一致性条件判断操作,直至所述修正目标计算机语言代码的目标输出参数与所述初始输出参数满足所述一致性条件。
10、本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的智能驾驶计算平台功能软件重构和可视化方法。
11、本申请第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的智能驾驶计算平台功能软件重构和可视化装置。
12、由此,本申请的实施例具有以下有益效果:
13、本申请的实施例可通过按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到目标智能驾驶源代码的函数树;基于函数树,重构目标智能驾驶源代码,得到目标计算机语言代码,并根据函数树、预设测试顺序和预设对比策略判断目标智能驾驶源代码和目标计算机语言代码的执行功能是否一致;在目标智能驾驶源代码和目标计算机语言代码的执行功能一致的情况下,对目标计算机语言代码进行前端集成图形化处理,生成可视化目标计算机语言代码,并将可视化目标计算机语言代码部署在目标自动驾驶硬件平台中,以控制目标自动驾驶硬件平台执行可视化目标计算机语言代码。本申请无需了解底层设计,能够有效提高开发效率、集成效率和验证效率。且可支持不同语言自动本文档来自技高网...
【技术保护点】
1.一种智能驾驶计算平台功能软件重构和可视化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到所述目标智能驾驶源代码的函数树,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述函数树,重构所述目标智能驾驶源代码,得到目标计算机语言代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述函数树、预设测试顺序和预设对比策略判断所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能是否一致,包括:
5.一种智能驾驶计算平台功能软件重构和可视化装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,所述分析模块包括:
7.根据权利要求5所述的装置,其特征在于,所述重构模块包括:
8.根据权利要求7所述的装置,其特征在于,所述重构模块还包括:
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-4任一项所述的智能驾驶计算平台功能软件重构和可视化方法。
...【技术特征摘要】
1.一种智能驾驶计算平台功能软件重构和可视化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述按照预设分析顺序分析目标智能驾驶源代码的函数架构,得到所述目标智能驾驶源代码的函数树,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述函数树,重构所述目标智能驾驶源代码,得到目标计算机语言代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述函数树、预设测试顺序和预设对比策略判断所述目标智能驾驶源代码和所述目标计算机语言代码的执行功能是否一致,包括:
5.一种智能驾驶计算平台功能软件重构和可视化装置,其特征在于,包括:...
【专利技术属性】
技术研发人员:李克强,连小珉,许庆,王建强,李升波,何雷,陈超义,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。