cyberRT源码浅层解析(一)总体记录(需要更改,内含错误)

cyberRT源码浅层解析(一)

最近打算做个自主地面与空中机器人的开源workflow,其实也很简单,主要就是写个简单通信中间件,替换掉ros的通信机制,使用protobuf传递消息,支持px4等主流飞控和串口通信至底层控制系统。后面这部分麻烦一点,可参考的比较少,前面的内容,各家大厂应该都已经做烂了, 百度的apollo属实是一个绝佳的参考,但是百度的modules依赖cyberRT太深了,而且cyberRT没有单独做一个项目,不过cyberRT的文档确实不错,写个渣渣文章,梳理源码记录一下。除去cyberRT的部分源码会额外开一个专栏开搞。

作为一个初学者经常对着一个项目发呆,因为很难看的明白这么多模块的功能,首先快速地作了一个每个模块的简单功能介绍,后续会按照程序的顺序对每个模块深入源码学习。

cyber模块及功能说明

  • 模块
    | – base 高性能线程安全基础库
    | – blocked 消息管道容器,和data模块有一定的近似,面向开发者的接口(需要进一步学习)
    | – class_loader 组件加载器,加载非cyber部分单个so库
    | – common 公共的test、proto转*文件、其他工具
    | – component 组件基类、外部的modules需要继承该component
    | – conf 配置文件
    | – croutine 协程及其工厂,调度单元
    | – data 传感器数据的读取和写入
    | – event 事件类
    | – io epoll+io
    | – logger 日志器
    | – mainboard 主程序进点
    | – message 消息类
    | – node 节点(分布式、与ros类似,主要是reader和writer)
    | – parameter 参数及参数服务器
    | – proto proto文件夹
    | – python pythonAPI 后面会略去,最后一个看
    | – record 消息记录
    | – scheduler 调度器
    | – service 类似rosservice
    | – service_discovery
    | – sysmo system monitor
    | – task 任务 启动调度
    | – time 时钟与rate(sleep的沉睡间隔)
    | – timer 单例定时器 管理task
    | – tools 一大堆工具channel launch
    | – transport 多进程通信,为上层封装了底层数据传输的细节


  • | – cyber 创建node

后面将从mainboard开始逐步分析每个模块。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值