文章目录

  • 什么是ADSFI框架?
  • ADSFI应用框架图
  • MDC300上有哪些ADSFI框架?
  • 各个ADSFI框架的联系
  • 单个ADSFI框架的构成
  • 单个ADSFI框架中的yaml文件

什么是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框架为例。

单个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 idchassisReportInstanceID : 1  #接收底盘数据的instance idegoTrajectoryInstanceID : 103  #接收planning节点数据的instance idlocationInstanceID : 113  #接收location节点数据的instance id
sendInstanceID:bodyCmdInstanceID : 1  #发送车身控制命令的instance idchassisCmdInstanceID : 1  #发送底盘控制命令的instance id

————
2021.12.30
家中

MDC300的ADSFI框架介绍相关推荐

  1. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  2. 2019年上半年收集到的人工智能开源框架介绍文章

    2019年上半年收集到的人工智能开源框架介绍文章 TensorFlow基本使用 TensorFlow.js:让你在浏览器中也能玩转机器学习 人工智能学习框架TensorFlow渐近分析 TensorF ...

  3. ESFramework网络通信框架介绍之(2)――网络通信消息NetMessage

    ESFramework网络通信框架与元数据 较之C++而言,.NET是一个更加"动态"的平台,其动态能力建立在反射机制之上,而反射的基础是"元数据". 上文已经 ...

  4. dommel mysql_.Net Core AA.FrameWork应用框架介绍

    开发多年,一直在从社区获取开源的便利,也深感社区力量的重要性,今天开源一个应用基础框架AA.FrameWork,也算是回馈社区,做出一点点贡献,希望能够帮助类似当年入行的我. AA.FrameWork ...

  5. Foundation框架介绍

    Foundation框架介绍 前言 在开发初期,个人发现开发主要涉及到这几个方面:语言语法使用.UIKit.Foundation, 语言是开发基础,UIkit主要负责用户界面设计,其他最常用的就是Fo ...

  6. 【Django】创建项目及框架介绍,学习笔记(一)

    [学习教程] 1.Django基础教程:https://code.ziqiangxuetang.com/django/django-tutorial.html 2.Django博客:http://ww ...

  7. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  8. iOS流媒体直播整个框架介绍(HLS、RTSP)

    iOS流媒体直播整个框架介绍(HLS.RTSP) 目录技术文章2016年7月17日 一.HTTP(WebService) 基于HTTP的渐进下载Progressive Download流媒体播放仅是在 ...

  9. fitnesse - 框架介绍

    fitnesse - 框架介绍 2017-09-29 目录: 1 fitnesse是什么? 2 框架介绍 3 与junit.testng比较,fitnesse教其他框架有什么优势 1 fitnesse ...

  10. ESFramework网络通信框架介绍之(3)――消息处理器和处理器工厂

    一.ESFramework网络通信框架与消息处理器 无论是服务端还是客户端,都需要对接收到的消息进行处理,在ESFramework网络通信框架中,处理消息的组件称为消息处理器,所有的消息处理器都实现了 ...

最新文章

  1. GBDT原理与泰勒展开
  2. Android模拟器安装程序及上传音乐并播放
  3. openpyxl方法记录
  4. UVA12279 LA4853 Emoogle Balance【水题】
  5. 设计模式之Facade---外观模式
  6. 通识与专业结合的大学之路
  7. 08cms房产门户系统v8.4升级补丁支持新版APP和小程序
  8. 【Proteus仿真】集成运算放大器搭建以及基本功能电路
  9. LabVIEW编程LabVIEW开发Thorlabs电机例程与相关资料
  10. idea使用技巧总结,超实用(2年mac idea使用经验)
  11. 倒车入库- 通过后视镜调整方向盘
  12. 仿美团和糯米商家验证版的一个数字校验键盘
  13. 科学计算机复利现值怎么计算公式,复利现值计算公式
  14. 微积分中几个重要的不等式:Jensen不等式、平均值不等式、Holder不等式、Schwarz不等式、Minkovski不等式 及其证明
  15. 一、简介 ELO商户类别推荐有助于了解客户忠诚度
  16. 东财《社会学X》综合作业
  17. SM4密码算法实现(C语言只使用stdio.h库)
  18. ddms的An error has occurred.See the log file错误解决
  19. Effective Python -- 第 2 章 函数(下)
  20. 猫狗大战实战经典卷积神经网络

热门文章

  1. Day.js 常用方法
  2. 让你在面试前先写需求的公司是什么公司
  3. 10个提高工作效率的超实用工具
  4. 安防意识增强 澳洲迈向新发展
  5. 当自己觉得特别迷茫的时候,是怎么走出这个困境的
  6. 10个切片动作过渡PR预设
  7. ARM920T的Cache
  8. LeetCode contest 182 5369. 统计作战单位数
  9. UEFI安装win10+manjaro双系统
  10. 2^n-1的因数分解问题