CyberRT两大功能
任务调度
数据通信
基本组件
component node channel
reader/writer sevice/client
Task routine
通信
1.通信的方式:
01. intras-process
02. shared Memory
03. socket--fastRTPS DDS也是采用发布/订阅机制进行网络通讯
通过抽象出DDS接口,让ROS 2可以使用不同公司开发的DDS库
Fast RTPS是eProsima公司对RTPS标准的一个实现,也就是库
RTPS是DDS标准中的一个子集。
英文名字是Real Time Publish Subscribe,是DDS标准中的通讯协议部分
Hybird 自适应以上三种
2.CM - communicate
transport
intraTransmitter --》 writer
shmTransmitter
RTPSTransmitter
ReceiverManager--Receiver--> Reader--> dispatcher
DataFusion
dataDispather ---> 消息分发 -- channelBuffer notifier
CacheBuffer
DataVistor--->消息处理--notifier_
3.Service Discovery
Transport::particopant
eprosima:fastrtps:participant
TopologyManager--manager--nodeManager channelManager serviceManager
startDiscovery stopDiscovery join leave Addchangelister removechangelister
全局队列 本地队列
4.Protobuf record
任务调度
1.基本组成
1.ResourceManagerment
2.Scheduler 调度器
3.Executor 执行器
4. Task 执行单元
5.Dag 配置任务的逻辑关系
2.用户态 协程 Routine
内核态 Thread
3.根据模块优先级、资源需求、调度算法
调度c策略
classic: group process CRoutine
choreography: task process pool
RoutineFactory
Component:
Initialize --> Init()
Process --> Proc()
ROS1_ROS2_CyberRT__autosar
机制
启动流程
CyberRT的启动流程
mainBoard
classloader
源码分析以及开发应用
开发应用
开发流程
标签:--,CyberRT,process,RTPS,组件,DDS,流程
From: https://www.cnblogs.com/ytwang/p/18172924