当前位置: 首页 > news >正文

专业门户网站建设网络培训图片

专业门户网站建设,网络培训图片,品牌推广包括哪些内容,海南网站建设海南网络公司代码位置 apollo/cyber/component 功能 在自动驾驶系统中#xff0c;模块#xff08;如感知、定位、控制系统等#xff09;在 Cyber ​​RT 下以 Component 的形式存在。不同 Component 之间通过 Channel 进行通信。Component 概念不仅解耦了模块#xff0c;还为将模块拆…代码位置 apollo/cyber/component 功能 在自动驾驶系统中模块如感知、定位、控制系统等在 Cyber ​​RT 下以 Component 的形式存在。不同 Component 之间通过 Channel 进行通信。Component 概念不仅解耦了模块还为将模块拆分为多个子模块提供了灵活性。 Component类是各个组件的基类实现组件类似与ros里的node每个算法模块都可以自己实现为一个Component的基类从而加入到CyberRT的框架中。 实际上Component分为2类 一类是消息驱动的Component第二类是定时调用的TimerComponent。 定时调度模块没有绑定消息收发需要用户自己创建reader来读取消息如果需要读取多个消息可以创建多个reader。 使用示例 使用可以参考cyber的示例程序cyber/examples/common_component_example/ 也可以看具体某个模块比如感知模块的激光障碍物检查的component 可以看到对外的接口只有 Init() 和 Proc() 用于初始化组件以及执行组件的核心功能。 使用源码中的一句话 The Init Proc functions need to be overloaded, but don’t want to be called. They are called by the CyberRT Frame. 代码结构 代码事实上并不多 源码分析 类图关系 ComponentBase Component类和TimerComponent类的基类非模板类无需模板参数定义了接口函数和几个基础功能函数比如LoadConfigFiles Component 继承ComponentBase有四个模板参数, 每个模板参数表示一个消息即一个component最多可以处理 4 个消息信道 这些信道即 Reader 对象最后都会被放入到 ComponentBase::readers_ 变量中 * tparam M0 the first message.* tparam M1 the second message.* tparam M2 the third message.* tparam M3 the fourth message.* warning The Init Proc functions need to be overloaded, but dont want to* be called. They are called by the CyberRT Frame.**/ template typename M0 NullType, typename M1 NullType,typename M2 NullType, typename M3 NullType class Component : public ComponentBase {... ...}Component类中只有5个函数还是比较简单的 具体的5个函数如下 public:Component() {}~Component() override {}/*** brief init the component by protobuf object.** param config which is defined in cyber/proto/component_conf.proto** return returns true if successful, otherwise returns false*/bool Initialize(const ComponentConfig config) override;bool Process(const std::shared_ptrM0 msg0, const std::shared_ptrM1 msg1,const std::shared_ptrM2 msg2,const std::shared_ptrM3 msg3);private:/*** brief The process logical of yours.** param msg0 the first channel message.* param msg1 the second channel message.* param msg2 the third channel message.* param msg3 the fourth channel message.** return returns true if successful, otherwise returns false*/virtual bool Proc(const std::shared_ptrM0 msg0,const std::shared_ptrM1 msg1,const std::shared_ptrM2 msg2,const std::shared_ptrM3 msg3) 0;Initialize函数用于加载配置文件初始化Node/Reader等并调用每个模块自己实现的Init() 来完成初始化工作 Process函数用于调用每个模块自己实现的Proc()函数来执行具体的任务。 TimerComponent 定时组件类与组件类有所不同它比组件类多了定时器 与组件类不同定时组件类在 Initialize() 中没有创建任何的 Reader 读者也没有搞出调度器、协程工厂、创建任务等一系列复杂的操作任务全部交给时间轮处理。
http://www.pierceye.com/news/183476/

相关文章:

  • 平面素材设计网站东莞房价2023年最新房价走势
  • 做一个网站建设需要多少钱天津企业网站排名优化
  • 有关网站开发的论文网站建设哪公司
  • wordpress网站500导航 网站 分析
  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发
  • 怎样做免费网站推广怎么申请二级域名
  • 站长之家源码之家虚拟空间官网
  • 网站建设推荐书籍装修公司装修房子
  • 上海专业微信网站开发公司怎么做seo