此页描述了Cyber RT中最常用术语的定义
在自动驾驶系统中,模块(如感知、定位、控制系统……)以组件的形式存在于Cyber RT系统中。每个组件通过Cyber通道(channel)与其他组件通信。组件概念不仅可以解耦各模块,而且还为将各模块切分为基于组件的独立模块的设计提供了灵活性。
通道用于管理Cyber RT中数据通信。用户可以发布/订阅相同的通道来实现点对点(P2P)通信。
任务是Cyber RT中异步计算任务的抽象描述。
节点是Cyber RT的基本构建块,每个模块都包含节点并通过节点进行通信。通过在节点中定义读/写(read/write)和/或服务端/客户端(service/client),模块可以具有不同类型的通信。
从通道中读取消息或写入消息到通道中,读取者/写入者通常在节点内创建,且作为Cyber RT中的主要消息传输接口。
除了读取者/写入者之外,Cyber RT还为模块间通信提供了服务端/客户端模式。它支持节点之间双向通信。当客户端节点向服务端发出请求时,客户端将收到回应。
参数服务在Cyber RT当中提供了一个全局参数访问接口,它是基于服务端/客户端模式构建的。
作为一个去中心化设计的框架,Cyber RT没有用于服务注册的中心/主节点。所有的节点都被同等对待,通过**服务发现(service discovery)**可以找到其他的服务节点。服务发现基于UDP协议。
参考协程概念,Cyber RT实现了**Cyber协程(CRoutine)**来优化线程使用和系统资源分配
为了更好地支持自动驾驶场景,Cyber RT提供了多种资源调度算法供开发人员选择。
消息是在Cyber RT中用于模块间数据交换的数据单元
Dag文件是模块拓扑配置文件。您可以在Dag文件中定义使用的组件,以及上行/下行数据流通道。
启动(Launch)文件提供了启用模块的简单方法。通过在启动(Launch)文件中定义一个或多个Dag文件,您可以同时启动多个模块。
数据记录(Record)文件用于在Cyber RT中记录从通道中接收/发送到通道的数据。回放记录文件有助于再现Cyber RT以前的操作行为。