问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ROS 2概念(十四)——关于ROS 2的内部接口

发布网友 发布时间:2024-11-22 13:44

我来回答

1个回答

热心网友 时间:2024-11-22 13:43

关于ROS 2的内部接口涉及一些公用的C API,面向那些创建客户端库或增加新底层中间件的开发人员,而非一般ROS使用者。ROS的客户端库提供面向用户的API,可能源自多种编程语言。


ROS有两大类主要内部接口:


1. ROS中间件接口(rmw API):负责ROS 2软件堆栈与底层中间件实现之间的交互。底层中间件可以是特定的DDS或RTPS实现,负责话题发现、发布、订阅,服务请求-响应以及消息序列化。


2. ROS客户端库接口(rcl API):更高级接口,用于实现客户端库,不直接接触中间件实现,而是通过ROS中间件接口(rmw API)抽象来间接接触中间件。


这些API层层堆叠,普通ROS使用者使用客户端库API,如rclcpp,实现代码。rclcpp实现rcl接口,提供访问ROS状态图及事件的工具。rcl接口实现则使用rmw API访问状态图,旨在提供通用实现,与所使用的底层中间件无关。rmw接口专注于提供最轻量级的中间件功能,由特定中间件实现的软件包(如rmw_fastrtps_cpp)提供,基于DDS接口和类型编译。


内部接口还支持类型专用接口,允许特定于消息类型的代码生成,以便执行发布、订阅等操作。这些代码由特定编程语言和中间件无关的生成器软件包生成,确保与中间件实现无关。通过使用特定于中间件的ros_to_dds软件包,可以避免公开供应商特定的符号和头文件,同时检查依赖关系以识别可能侵犯供应商可移植性的代码。


动态类型支持方法提供通用发布功能,无需为每种消息类型生成版本。这类方法使用元信息执行发布,并在实际执行工作时调用中间件特定API。动态类型支持代码中间件无关,且生成的代码量较少,可减少编译时间和大小。然而,动态类型支持要求底层中间件支持动态类型支持,通常比静态类型支持慢,且静态类型支持的特定于类型的生成代码更高效。


客户端库如rclc、rclcpp、rclpy等使用ROS客户端库接口(rcl API)来避免复制逻辑和功能,实现更瘦且一致的客户端库。rcl API位于GitHub上的ros2/rcl存储库,包含用于定义接口的C头文件,实现则由同一存储库中的rcl软件包提供。


ROS中间件接口(rmw API)是构建ROS所需原始中间件功能集的顶层,不同中间件实现供应商必须实现此接口。rmw API位于ros2/rmw存储库,实现由不同DDS供应商的rmw实现软件包提供。


rosidl API定义消息相关的静态函数和类型,以及消息定义,明确不同编程语言应该生成哪些代码。此API包含解析rosidl文件、生成代码的软件包,以及用于获取消息类型类型支持结构的方法。rosidl存储库还包含与消息类型类型支持有关的软件包,以及用于解析和为rosidl文件生成头文件的软件包。


rcutils存储库包含ROS 2 C实用程序API,主要用于错误处理、命令行参数解析和日志记录,这些实用程序可以由客户端层和中间件层共用。rcutils API位于ros2/rcutils存储库。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手提电脑怎能连接wifi笔记本电脑怎么连接wifi步骤 ...但是手机wifi能搜到并且能正常使用,这是怎么回事? 可我看别人没有路由器,带着电脑去有无限信号的地方就能上网啊 WULIANGYE五粮液东方娇子醇柔醇品52%vol-适用对象 五粮液东方娇子醇品52度浓香型白酒500ml*6瓶整箱装 五粮液 东方娇子醇品52%vol 适用对象 2024清明节高速路免费吗2024清明节高速免费时间 等离子电视跟卧室床头只有一墙之隔,关了电视电源的话有辐射吗? 电视机的后面是墙,墙的另一头是床头,这样电视对孕妇有没有辐射。辐射... ...联想代理的九阴真经手游用什么软件可以在电脑上玩 中间件基本特点是什么? 什么是中间件?中间件的概念 幼儿火灾自救方法 火灾需要掌握哪十个逃生安全常识 计算机应用基础训练题库目录 考试学习系统 孕34 周,B 超医生说胎儿头有点大,腿有点短有哪些影响? 胎儿头大是什么意思 女孩害羞被剃毛小说 超有爱房东的txt全集下载地址 这些被央视点多次点赞的海报设计,创意超绝 优秀广告文案-集合132句 胎菊泡水喝有什么功效 胎菊泡水喝的禁忌 有种相机,马上拍照马上就出相片的相机叫什么名字啊? 相机可以修吗 中国李宁大logo怎么辨别真假 李宁官网真假 支付宝运动赚钱是真的吗?支付宝运动赚钱方法 todo和doing的区别和用法 炫舞现在的背景音乐,欧蕾欧蕾欧蕾。这叫啥名 德国足球历史第一人是谁? 德国历史上的足球第一人,各个名宿怎么谈论他 台式电脑主机风扇不响电脑主机打不开风扇都不转怎么回事 电风扇不转是什么原因怎么解决 草莓可以放在冰箱里保鲜吗 怎样才能让别人连不上自己家的WiFi 怎么让别人连不到自己家的wifiSSID隐藏 wifi阻止别的电脑蹭网wifi怎么设置不让别人蹭网 发票打印机一直打印停不下来 什么品牌的护肤精华价格亲民? 建一个简易厕所多少钱 一加手机怎么设置来消息闪光灯下载 一加手机闪奇知识怎么关 媒体广告网 国内抖音代运营公司十大排名(十大抖音运营公司) 北京至桂林平乐温泉途径几个城市 保定的火车到桂林途径哪些车站 天津到桂林沿途都途径哪里? 旅游路线推荐:请问从北京到桂林再至杭州游玩,途径还有什么较好的地方... 大学毕业证的具体尺寸到底是多少呀!急急急