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

门户网站是什么意思?黄山seo排名优化技术

门户网站是什么意思?,黄山seo排名优化技术,网站建设工作汇报,网页制作实训总结800字前言 本章是详细介绍ROS2通信中间件中rmw模块软件框架。 不了解背景的同学请先看: ROS2软件架构全面解析-学习如何设计通信中间件框架: link rmw框架 rmw是为兼容各种DDS组件而设计的中间件抽象层:the middleware abstraction layer called rmw (ROS…

前言

本章是详细介绍ROS2通信中间件中rmw模块软件框架。
不了解背景的同学请先看:

  • ROS2软件架构全面解析-学习如何设计通信中间件框架: link

rmw框架

  • rmw是为兼容各种DDS组件而设计的中间件抽象层:the middleware abstraction layer called rmw (ROS MiddleWare)
  • 用户可以根据性能、软件许可或支持的平台等各种约束条件,选择不同的RMW 实现,也就是基于DDS协议的组件
  • 提供丰富的自由度让用户选择DDS协议实现组件,只要实现了rmw Layer规定的接口就可以装载到ROS2系统中完成消息传递

rmw软件架构

  • rmw Layer本人划分是主要两个文件夹:rmw、rmw_implementation
    在这里插入图片描述
  • rmw Layer主要的内容是规定DDS组件的功能接口:rmw.h、init.h 头文件,本身逻辑功能不多。rmw_validate_node_name实现在rmw Layer validate_node_name.c文件中,对node name 有效性进行验证,算逻辑代码多的文件了。
  • rmw_implementation模块中有一个动态函数调用框架,能够把DDS实现组件的函数接口直接提供给rcl Layer调用,能够让rcl Layer调用到DDS组件中。
//function.cpp
RMW_INTERFACE_FN(rmw_send_response,rmw_ret_t, RMW_RET_ERROR,3, ARG_TYPES(const rmw_service_t *, rmw_request_id_t *, void *))
  • rmw_send_response就是在rcl Layer service.c文件中调用的,rmw implementation通过RMW_INTERFACE_FN进行封装动态调用到选择的DDS组件。主要功能是在RMW_INTERFACE_FN Macro中。
#define CALL_SYMBOL(symbol_name, ReturnType, error_value, ArgTypes, arg_values) \if (!symbol_ ## symbol_name) { \/* only necessary for functions called before rmw_init */ \symbol_ ## symbol_name = get_symbol(#symbol_name); \} \if (!symbol_ ## symbol_name) { \/* error message set by get_symbol() */ \return error_value; \} \typedef ReturnType (* FunctionSignature)(ArgTypes); \FunctionSignature func = reinterpret_cast<FunctionSignature>(symbol_ ## symbol_name); \return func(arg_values);// cppcheck-suppress preprocessorErrorDirective
#define RMW_INTERFACE_FN(name, ReturnType, error_value, _NR, ...) \void * symbol_ ## name = nullptr; \ReturnType name(EXPAND(ARGS_ ## _NR(__VA_ARGS__))) \{ \CALL_SYMBOL( \name, ReturnType, error_value, ARG_TYPES(__VA_ARGS__), \EXPAND(ARG_VALUES_ ## _NR(__VA_ARGS__))); \}
  • RMW_INTERFACE_FN Macro用于定义一个函数,CALL_SYMBOL Macro调用负责动态加载调用传入名字的函数体
  • 比如rmw implementation设置的cyclonedds就会调入到如下代码实现
// rmw_node.cpp    rmw_cyclonedds_cpp文件夹目录
extern "C" rmw_ret_t rmw_send_response(const rmw_service_t * service,rmw_request_id_t * request_header, void * ros_response){}

rmw集成方式

  • rmw模组通过CMake会编译为rmw库,然后再rcl CMakeList中引入编译,使用的时候直接引入头文件就可以使用接口函数
// rmw CMakeLists.txt
cmake_minimum_required(VERSION 3.5)project(rmw)# Default to C99
if(NOT CMAKE_C_STANDARD)set(CMAKE_C_STANDARD 99)
endif()//rcl CMakeLists.txt
# specific order: dependents before dependencies
ament_target_dependencies(${PROJECT_NAME}"rcl_interfaces""rcl_logging_interface""rcl_yaml_param_parser""rcutils""rmw""rmw_implementation"${RCL_LOGGING_IMPL}"rosidl_runtime_c""tracetools"
)
  • rmw implementation package.xml支持集成rmw_connextdds、rmw_cyclonedds、rmw_fastrtps几种DDS实现,具体使用是通过RMW_IMPLEMENTATION系统属性设置的。

DDS组件

  • 目前提供三种DDS实现:connextdds、cyclonedds、fastrtps。
  • 还有一个dds_common作为一个共有的DDS模块,提供功能支持对其他差异化DDS。

文章转载自:

http://RsXlR7Vj.qrLsy.cn
http://554Hd2CK.qrLsy.cn
http://GH3fv5CG.qrLsy.cn
http://jMZjJThY.qrLsy.cn
http://K3mgEA9A.qrLsy.cn
http://QL6REcox.qrLsy.cn
http://15xtkW0i.qrLsy.cn
http://p21o4xys.qrLsy.cn
http://hOoIQxp3.qrLsy.cn
http://JN23ElHD.qrLsy.cn
http://LtyyWLU1.qrLsy.cn
http://FXa7hT36.qrLsy.cn
http://ASdBd5M7.qrLsy.cn
http://IhqCzYO1.qrLsy.cn
http://dNfbp5dJ.qrLsy.cn
http://QFCwNbQl.qrLsy.cn
http://cWnDF3RN.qrLsy.cn
http://NMdDGvGB.qrLsy.cn
http://oTERJkaX.qrLsy.cn
http://YHYB8unq.qrLsy.cn
http://kIrAn64m.qrLsy.cn
http://mBomc4u4.qrLsy.cn
http://VfGcMQsc.qrLsy.cn
http://KCidj0vp.qrLsy.cn
http://Oq6hT80W.qrLsy.cn
http://tMXbpXAe.qrLsy.cn
http://ornyZGgM.qrLsy.cn
http://WBgr9q10.qrLsy.cn
http://niB8Pm3n.qrLsy.cn
http://ajE46018.qrLsy.cn
http://www.dtcms.com/wzjs/656807.html

相关文章:

  • 湖北建设部网站官网天琥设计
  • 小羚羊网站怎么建设数码电子产品网站建设策划书
  • 模板网站跟仿站的区别自己电脑怎么做网站
  • 怎样在网站上做有效的广告投放网站建设项目安排计划表
  • 珠海市手机网站建设公司开心消消乐官方网站开发公司
  • 建设网站的要求网站前端包括哪些
  • 厦门公司注册网站做收益的网站多少钱
  • 网站大连铜陵公司做网站
  • 网站没有备案怎么申请广告学wordpress难不难
  • 郑州便宜网站建设wordpress4.9.4环境要求
  • 微信菜单怎么做微网站佛山高端网站制作
  • 团购网站的发展贵州建站互联网科技有限公司
  • 商城网站设计教程图片网站建设
  • 追星做网站重庆南坪网站建设咨询400
  • 做网站做推广音乐网站制作视频教学
  • dedecms旅游网站模板深圳怎么做网络推广软仿
  • 个人建站平台wordpress china 中文
  • 网站重构案例对网站有效的优化软件
  • jsp购物网站开发 论文学习做网站只学过c
  • 营销方案模板ppt淮南网站优化
  • 网站建设项目经理招聘国内外高校门户网站建设的成功经验与特色分析
  • 商务网站平台建设预算网站建设以推广
  • 泉州网站设计哪家公司好新手开公司怎么找项目
  • 古交市住房和城乡建设局网站福州做网站互联网公司有哪些
  • 网站运营效果分析怎么做仿站模板
  • 外贸专用网站六安网站制作费用
  • 上海品牌网站制作网页制作app手机版
  • 上传下载网站模板wordpress启动广告
  • seo做的很好的网站前端开发可以做网站运营吗
  • 资源下载网站建设数据分析师报考条件及科目