MDC300的ADSFI框架介绍

什么是ADSFI框架?

ADSFI(Autonomous Driving Service Framework Initiative)
ADSFI对外提供各种自动驾驶领域常用的应用框架,其中应用框架覆盖感知类的框架,融合类的框架,规划控制类框架,定位类的框架,场景分析管理类框架。

ADSFI提供的功能:
提供自动驾驶服务框架:MDC支持Adaptive AUTOSAR,Adaptive AUTOSAR提供通信机制和灵活的软件配置,但是Adaptive AUTOSAR的配置非常复杂且繁琐,容易配置错误。为屏蔽客户对Adaptive AUTOSAR的感知,MDC提供了自动驾驶功能软件通讯框架,方便用户更容易上手MDC平台。用户只需要继承此框架完成自己的算法部分,而无需关注Adaptive AUTOSAR通信。

ADSFI应用框架图

应用框架图

MDC300上有哪些ADSFI框架?

Camera目标检测框架,Camera目标跟踪框架,Lidar目标检测框架,Lidar目标跟踪框架,Camera+Lidar目标检测框架,Radar目标检测框架,Camera车道线检测框架,多传感器融合框架,道路特征提取框架,TrafficLight目标检测框架,TrajectoryPrediction轨迹预测框架,Navigation全局导航框架,Planning规划框架,Control控制框架,融合定位框架,SAMM场景分析管理框架

各个ADSFI框架的联系

主要是通过InstanceId来建立联系,以control框架为例。
Control框架

单个ADSFI框架的构成

每个ADSFI框架是由一个类组成的,类里面提供了Init()、Get()、Send()和Stop()等相应的系统函数,而且发送与接收数据的结构体类型也已经确定好了。开发者只用进行相应的算法开发。

以Control框架为例:
使用Control控制框架需要组合“adsf/control_base.h”中定义的ControlBase类的实例,调用其Init()接口进行初始化,调用其Stop()接口释放资源。

主线程中依次调用:

  1. Init函数初始化资源。
  2. 调用GetLocation、GetEgoTrajectory、GetBodyReport、GetChassisReport接口接收最新数据。
  3. 调用SendBodyCommand、SendChassisCommand接口发送数据。
  4. Stop()退出所有框架线程并释放资源。

单个ADSFI框架中的yaml文件

ADSFI框架中的yaml文件作为框架中的配置文件,定义了很多配置信息。

比较重要的是recvInstanceID和sendInstanceID。
recvInstanceID定义了该框架从哪些模块或者框架接收消息。
sendInstanceID定义了该框架向哪些模块或者框架发送消息。

以下是control框架的yaml文件:

%YAML:1.0
appName: CTR  #节点名称
description: Control module
priority: 0    #[0,12] 当前未使用
scheduleFrequency: 30  #当前未使用
isDetermineSchedule: false    #{true, false} 当前未使用
logFile: ./    #日志路径,当logMode配置有指定文件存储时,使用本路径存储日志,日志文件名为${appName}.log
logMode: 6    #[0,6], 0: remote日志 1: console日志 2: 本地日志 3:remote日志+console日志 
                    4:remote日志+本地日志 5:console日志+本地日志 6:remote日志+console日志+本地日志
logLevel: 2    #[0,6], 0:verbose, 1:debug, 2:info, 3:warn, 4:error, 5:fatal, 6:off
recvInstanceID:
    bodyReportInstanceID : 1   #接收车身数据的instance id
    chassisReportInstanceID : 1  #接收底盘数据的instance id
    egoTrajectoryInstanceID : 103  #接收planning节点数据的instance id
    locationInstanceID : 113  #接收location节点数据的instance id
sendInstanceID:
    bodyCmdInstanceID : 1  #发送车身控制命令的instance id
    chassisCmdInstanceID : 1  #发送底盘控制命令的instance id

————
2021.12.30
家中

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值