Apollo Advanced Lesson | Cyber RT
Posted Justin-Yip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apollo Advanced Lesson | Cyber RT相关的知识,希望对你有一定的参考价值。
Contents
–This article is excerpted from Baidu’s official about Apollo, please indicate the source for reprinting–
传统ROS短板
- 内核调度对自动驾驶算法业务逻辑不适应.
- 各算法模块以独立模块,同步开销很显著,需要平衡效率与稳定性.
- 动态内存申请.
Cyber 架构 与模块
- key concept
- DAG无环图
- Lock Free
- lock free 对象池 ???
- lock free 队列
由Sensor data 驱动
调度逻辑从内核搬到用户空间
任务编排策略
- 任务基于协程实现,任务阻塞时,迅速让出CPU
- 调度的确定性
- 支持跨进程,跨机通信.
- 内存分配也是实时性的一大杀手
协程
- 本质:可以被用户随时暂停和恢复的函数
- 实现:协程运行时栈保持在堆上,而不是
调度
- 两种调度策略:
-
- Classic 策略;
-
- Choreography策略
Classic 策略
SchedulerClassic 采用协程池 ,协程不会绑定到具体的处理核心上,而是放在全局的优先队列中被调度。
Choreography策略
以上是关于Apollo Advanced Lesson | Cyber RT的主要内容,如果未能解决你的问题,请参考以下文章
Apollo Advanced Lesson | Cyber RT RTPS
Apollo Advanced Lesson | Cyber RT
Apollo Advanced Lesson | Chapter6-1 ROS
Apollo Advanced Lesson | a journey of perception