自动驾驶研发架构

研发架构

研发可以理解为一群具备专业技术的人员通过一系列专业的活动来达成阶段性交付和最终交付,满足客户的定制需求。

因此,

  1. 交付架构是核心架构,由业务架构、技术架构和交付模板组成;
  2. 流程架构支撑交付架构,关注开发交付计划、风险管理、集成测试等;
  3. 组织架构支撑流程架构,从技术能力和工作量以及绩效设计等方面支撑研发流程;

当然,作为软件架构,此文主要关注交付架构。

交付架构

交付架构是由业务架构、技术架构和交付模板组成,面向客户的业务需求、使用合适的技术和交付物模板,来开发定制化的交付物。

  • 业务架构聚焦在业务层,可以分为客制化和中台化。
    • 客制化聚焦在项目差异化,分为业务应用、硬件架构和部署集成;
    • 中台化是对业务的抽象化,应该跨项目适用。中台应该包含业务应用模板和业务服务;
  • 技术架构跟业务无关,是软件系统的通用技术,比如ap、cp、ros等。
    • 标准状态机,包含状态跳转框架、任务分支管理、故障监控等,是模型设计的基础之一。
    • 数据架构,数据作为状态机上下文,驱动状态机。底层技术是缓存持久化,包含高频读写、高可靠数据、数据容灾、分布式数据的一致性和时效性等;
    • SOA,软件系统架构拆解和集成的核心技术之一。
      • 通过把软件系统拆解成低耦合的服务,然后对服务间接口标准化。
      • 同时服务的生命周期管理也是系统运行架构的主要技术。
      • 服务作为模型设计的基础之二,故障监控、健康度管理、冗余降级等机制都是必要项,而且和状态机存在差异。
    • 功能组,软件系统架构拆解和集成的主要技术之二。
      • 当一个服务继续拆解的性价比已经很低,但服务使用一个状态机来实现又显得复杂度过高,可以使用功能组来拆解出高耦合的组件。
      • 一般有一个mgr和多个member来实现,整体对外表现为服务。
      • 功能组的生命周期管理和服务、进程、状态机等生命周期管理一样,是系统运行架构的主要技术。对资源管理和状态机管理存在依赖关系。
      • 功能组作为模型设计的基础之三,健康度管理等机制必要且与独立。
    • 健康度、故障诊断、冗余降级等技术,在面向服务、功能组、状态机应该存在差异化。
    • 性能架构,聚焦在软件模型在系统运行过程中对软件资源的动态使用情况的采集和优化,包括带宽资源、gpu、cpu和内存等。
    • 通讯架构,模型之间跨域和跨通讯中间件或者抽象代理的通讯技术框架。考虑soc内部同一系统内部、hypervisor切分后子系统通讯、soc之间的通讯、mcu之间通讯、soc和mcu之间通讯、对手件抽象等。
      • 需要考虑模型之间的通讯框架和传输框架。
    • 运行架构,基于状态机、功能组、服务以及相应软件资源为基础,设计系统启动退出和其他动态管理。
  • 交付模板
    • 架构分为3种,
      • 全系统架构、在各软件子系统之上考虑他们的部署、依赖、冲突、资源竞争、降级关系。
      • 子系统架构,业务应用、业务服务、硬件管理、中间件都可以是软件子系统,需要基于他们的功能进行设计,闭环全系统架构的设计约束。
        • 当然业务服务和中间件等底层子产品,如数据架构、资源管理等需要对上层子产品有明显的的支撑关系。
        • HMI,VehicleService,SensorService等服务定制化的前置条件是上层应用的确定,然后汇总设计。
        • 当任何一个应用子产品设计时,诊断、故障、数采、数据管理、状态管理、服务依赖等都需要定制,其他HMI等更业务化的服务的接口依赖也需要设计。
      • 组件架构,模型架构的最后一环,拆解到状态机。当然一个组件可以出现在多个软件子系统中。

子产品设计

业务架构业务应用ad mgr
acc
pilot
hnp
unp
apa
lvp
业务服务hmi service
sensor service
vehicle service
cockpit service
perception
planning
control
map&loc
地图下载
硬件架构计算平台异构SOC,hypervisor,安全等级不一致
对手件
网络架构
部署集成
技术架构基础服务标准状态机/子程序
配置管理
健康度管理/故障/冗余/降级
诊断管理
数据采集/筛选/脱敏/上传
日志管理
车云链路
标定管理
系统管理
软件升级/OTA
EM
SM
FuncGroupMgr
ServiceMgr
软硬件资源管理/性能
CM

### 回答1: Drawio 自动驾驶系统架构模板是一种用于可视化自动驾驶系统的工具。该模板可以帮助用户快速设计自动驾驶系统架构,包括硬件和软件部分。在该模板中,用户可以使用各种可自定义的形状和符号,如方框、圆形、箭头等,来表示系统中的组件和模块。 该模板可以帮助用户更好地理解自动驾驶系统的各个部分之间的关系和交互,并帮助用户进行系统设计和优化。同时,该模板还提供了一些常用的自动驾驶系统架构模型,如分层架构模型、前置处理模型、自动驾驶控制模型等,用户可以选择相应模型进行系统设计。 该模板还提供了与其他工具的集成,如Jira、Confluence等,使用户可以将系统架构与项目管理工具相结合,从而更加高效地管理和跟踪项目的进度。除此之外,用户还可以将系统架构导出为多种格式,如SVG、PNG、PDF,以便于与其他人分享。 总之,Drawio 自动驾驶系统架构模板是一个非常有用的设计工具,它能够帮助用户更好地理解和设计自动驾驶系统的架构,并提高项目管理效率。 ### 回答2: 随着自动驾驶技术的快速发展,越来越多的汽车厂商和科技公司开始投入大量的资源来研发自动驾驶系统。为了帮助开发者更好地理解和设计自动驾驶系统的架构,Drawio提供了一套自动驾驶系统架构模板。 这套模板主要包括五个主要部分:感知系统、规划系统、执行系统、能源管理系统和车辆控制系统。其中,感知系统是自动驾驶系统的核心,通过激光雷达、摄像头、超声波、雷达等传感器获取外部环境信息,生成环境模型,为自动驾驶系统做出决策提供必要的数据支持。规划系统则是根据环境模型和车辆状态信息,将行驶路线和行驶时间等信息转化为目标轨迹,为执行系统提供指令。执行系统则是根据目标轨迹,控制车辆执行相应的动作,包括加速、刹车、转弯等。能源管理系统则是负责管理汽车的电池电量和充电状态,确保自动驾驶系统正常运行。车辆控制系统则是负责将规划和执行信号转化为控制信号,控制车辆进行相应操作。 除了以上五个主要部分,自动驾驶系统架构还包括与外部系统的接口,例如车联网、云平台等。此外,为了确保自动驾驶系统的安全和稳定,所需考虑的因素也很多,例如数据安全、软件安全、硬件安全等等。因此,Drawio提供的自动驾驶系统架构模板,只是为开发者提供思路,实际上需要根据具体情况进行灵活的调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值