1、感知领域存在CPU资源减半,软件性能倍增的压力,期望软件性能得到期望的优化目标。通过分离变化实现算法可替代性,通过关键业务的算法优化和算法替换实现性能提升;实践C++高性能的建模技术,实践从模型到高性能C++代码落地,通过降低算法复杂度和计算量,提高计算并发度,实现动态感知业务均值和峰值性能提升一倍。
2、业务实现混合异步控制、并发调度等技术复杂度,并发锁和时序控制成本高昂;业务实现以过程式为主导,缺失建模设计和业务封装和抽象,导致系统实现充斥大量技术实现细节;核心业务逻辑和具体算法实现相互耦合,导致算法替代、算法调优和算法演进的成本高。在架构设计层面上,实现核心业务与运行时调度分离,提炼业务编排层集中控制业务流程;通过领域建模和算法建模,降低业务和算法的实现复杂度。在架构落地层面上,基于领域对象和场景的内聚性,形成领域模型的上下文拆分;基于横向分层和纵向上下文,推演业务的逻辑分层架构;基于逻辑架构推演物理架构,基于逻辑依赖推演构建依赖, 终实现“设计-实现”的一致性。
3、针对自动驾驶业务的路况场景多,上车测试成本高,且整个自动驾驶的仿真系统反馈慢、肉眼跟踪每帧状态、问题定位难等问题,分别在静态感知业务和动态感知业务分别设计了面向场景的组件测试框架,能够有效覆盖各种复杂的路况,且能实现每帧自动断言,用例构造成本低廉,反馈周期大幅缩短,极大地降低了感知业务代码调测和问题定位能力,降低了对昂贵的路测的依赖性,大幅改进研发效率。
4、当前MDC软件平台架构以“烟囱式组件”为主要特征,以适应于大规模软件系统的分工协作和并行开发;但是面对多套硬件、多车型和多版本(Release/Develop/Equip)等多个变化时,因设计和实现不正交导致代码变更范围大、车型版本验证成本高等问题。实现基础平台与车企解决方案解耦,业务组件与硬件产品分离;新增车型或扩展硬件平台时,实现了代码修改的局部化和集中化;聚焦业务建模与配置建模,实现组件级架构模式的标准化。
5、当前配置架构缺失统一的配置建模、及其有效的配置工具链的自动化能力,导致配置车型的复杂度非常高。顾问协助业务专家设计和实现端到端配置架构和配置建模,通过端到端整车配置模型降低配置复杂度,通过配置工具链实现配置解析代码自动生成,总体上实现了配置解耦的架构目标。
6、当前项目构建所有车型的版本,然后在打包时按车型进行裁剪;代码修改后车型版本验证的范围不确定,导致大量的车型版本回归测试。顾问协助工程专家实现基础平台与车企/车型交付耦合,确定车型版本包的数量和质量;通过“统一/标准”框架和方法,精细化管理组件间的依赖关系,提高业务团队工程和质量的平均水平线;通过架构优化和隔离性设计,提高车企解决方案的多车型共版本发布能力。