一、CyberRT 概述
Apollo Cyber RT 是百度 Apollo 团队专为自动驾驶场景设计的开源高性能运行时框架。它基于集中式计算模型,针对自动驾驶的高并发、低延迟、高吞吐量需求进行了深度优化。
核心设计目标
- 加速开发: 提供明确的任务接口、数据融合机制和丰富的开发工具
- 简化部署: 高效的自适应消息通信、资源感知的调度器、更少的依赖
- 赋能自动驾驶: 为自动驾驶量身定制的组件和架构
二、CyberRT 核心架构组件
1. Component (组件机制)
Component 是 CyberRT 中最小的功能执行单元,所有模块(感知、定位、规划、控制等)都以 Component 形式存在。
两种类型:
- 普通 Component: 支持最多 4 路消息融合,基于主 Channel 消息触发执行
- TimerComponent: 定时触发执行,不依赖消息到达
核心特点:
// Component 示例
class ComponentSample : public Component<Driver, Chatter> {
public:
bool Init() override; // 初始化:创建 Node、Reader、Writer
bool Proc(const std::shared_ptr<Driver>& msg0,
const std::shared_ptr<Chatter>& msg1) override; // 核心逻辑
};
CYBER_REGISTER_COMPONENT(ComponentSample) // 注册组件
优势:
- 通过 DAG 文件配置依赖关系和参数,支持动态加载
- 可通过 launch 文件灵活部署到不同进程
- 算法与工程解耦,算法专注算法,工程专注工程
2. Channel (通道通信)
- 用于 Component 间的数据通信
- 支持 Publisher/Subscriber 模式实现点对点通信
- 基于 共享内存 (本地) 和 FastDDS (跨机)
3. Node (节点)
- Cyber RT 的基本组成单元
- 每个模块包含一个 Node,通过定义 Reader/Writer 或 Se

最低0.47元/天 解锁文章
932

被折叠的 条评论
为什么被折叠?



