里面如何配置库_沙龙回顾 | 如何将Apollo项目代码迁移到Cyber RT框架

7822414d07a03ec4ed30659599017424.png

随着自动驾驶技术不断发展,Apollo 已经从研发走向量产产品落地。作为 Apollo 开源软件平台的一部分,Apollo Cyber RT处于底层的实时操作系统(RTOS) 和算法模块之间,能够在保证高吞吐的情况下,又能低延迟的实时响应上层任务,并保证整个系统确定性的运转。

Apollo Cyber RT 框架核心理念是基于组件,组件有预先设定的输入输出。实际上,每个组件就代表一个专用的算法模块。框架可以根据所有预定义的组件生成有向无环图 (DAG)

在运行时刻,框架把融合好的传感器数据和预定义的组件打包在一起形成用户级轻量任务,之后,框架的调度器可以根据资源可用性和任务优先级来派发这些任务。

TIPS

本次沙龙课程,我们有请到Apollo开发者社区荣誉布道师——贺志国来详细讲解Apollo3.5技术架构。

贺志国,毕业于国防科技大学信息与通信工程专业,曾从事部队装备信息化方面的工作,目前负责CiDi(希迪智驾)重卡L4级自动驾驶项目。擅长C++编程,及Apollo实时相对地图及规划模块。在Apollo GitHub上贡献过65 commits,代码9117行(10,450+, 1,333-),解答issues 80+条,近一年来位于Apollo GitHub贡献榜排名第25位。

196d7fba16358a36028134a8a4fbf336.png

在这次的分享中,贺志国将从Cyber RT运行原理及如何使用全新的计算框架出发,全面解读Cyber RT计算框架,带领大家更好的学习上手Cyber RT。

  以下,ENJOY  

Apollo 3.5提供了Cyber RT作为中间件,对计算任务和通信进行优化。本节描述如何将以前的Apollo项目迁移到Cyber RT框架下,主要分三个部分:功能模块代码的迁移辅助工具的迁移调试工具的迁移

d55245625dabebd1cf0e74bd7144a3c4.png

99141e5ef6121da8413cf44f1f1a47c5.png

功能模块迁移的基本步骤

Cyber RT框架基于组件的概念加载各个功能模块,很多模块都是作为Cyber RT的组件而存在,所有这些组件都是基于Cyber RT提供的调度程序mainboard加载运行。

整个功能模块迁移,是不需要修改任何算法逻辑的,它仅仅需要修改消息接收发布的代码以及基于Cyber RT进行调度的一些配置文件,整个迁移的工作量占整体开发工作量的10%,如下图所示。

388fb051502ccf41fcf8dc6dccdf2ddc.png

基于Cyber RT框架创建和发布新的功能模块组件的基本步骤

下面以规划模块Planning进行阐述,迁移包含五个步骤:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值