ROS系统学习9---节点间的内存共享(中级篇)---图像收发
前篇文章介绍了如何实现最简单的节点间内存共享。但因为篇幅所限,并没有深入介绍怎么将其实用化。本篇我们将用之前专门介绍的循环队列内存共享技术,将一个节点的图像数据直接共享给另外的节点。
为了比较内存共享机制和ROS自带的话题传输机制,本文用:ROS系统学习5---OpenCV的使用这篇文章提供的图像发送和接收节点做对比。结果发现用自带的话题传输机制传一张1080p的图像延时大概在600ms,而用内存共享机制传输延时只有10ms左右,性能相差了几十倍。
另外,ROS自身也提供了nodelet做内存共享,只是本人研究了几天发现特别乱就放弃了,感觉这东西迟早要被抛弃(事实上ROS2.0就不用这种机制了),如果有老哥有兴趣也可以去研究下。
下面贴出实现代码,其中最重要的“shmobject.h”在循环队列内存共享已经提供过,需要的可以直接去那边下。
发送节点:
#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <opencv2/highgui/highgui.hpp>
#include <
ROS系统学习9---节点间的内存共享(中级篇)---图像收发相关推荐
- ROS学习之节点间话题通信的
一.学习要点: 1.发布节点 a.启动该节点并设置其名称,名称必须唯一 b.设置节点进程的句柄 c.将节点设置成发布者,并将所发布主题的类型和名称告知节点管理器. d.设置发送数据的频率: 2.订阅节 ...
- ROS系统学习5---OpenCV的使用
在机器人系统中,视觉是非常重要的一部分(人的眼睛获取信息占全部信息的78%,机器人可以类比下).因此,用前面四篇文章打下些许基础后,本人便迫不及待的想学习怎么在ROS上用上OpenCV视觉库. 好消息 ...
- ROS系统学习2---ROS最小系统的制作
上一篇文章我们讲了ros的安装,并且运行了ros自带的一个简单程序. 下面,我们将从一个空的文件夹开始,一步步创建工作空间,包,和节点,并让该节点输出"Hello ros".
- ROS学习笔记(一)ROS系统架构
ROS系统架构 ROS系统的架构主要被设计和划分为三部分,每一部分代表一个层级的概念: 文件系统级(The filesystem level) 计算图级(The computation graph l ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所 ...
- [ROS基础-4] ROS系统框架
系列文章目录 [ROS基础-1] Linux系统介绍与ubuntu安装(virtualbox) [ROS基础-2] Ubuntu系统基本操作与基本命令讲解 [ROS基础-3] ROS系统安装与基本配置 ...
- SLAM导航机器人零基础实战系列:(二)ROS入门——2.ROS系统整体架构
SLAM导航机器人零基础实战系列:(二)ROS入门--2.ROS系统整体架构 摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机 ...
- 【OpenCV学习】 《OpenCV3编程入门》--毛星云 01 邂逅OpenCV(OpenCV基本概念与基本架构) ROS系统上的运用(python实现)
对 <OpenCV3编程入门>第一章的学习笔记:理解什么是计算机视觉,什么是OpenCV,以及其中的联系等等. PS:此书为2014年出版,opencv的版本和接口也与现在有些不一致了,作 ...
- ROS系统SLAM基础学习:gazebo仿真机器人自主导航
ROS系统SLAM基础学习:gazebo仿真机器人自主导航 move_base节点配置 amcl节点配置 导航仿真 导航SLAM仿真 自主探索SLAM仿真 自主导航:避障 遇到的问题及解决方法和总结 ...
- ROS wiki系列|通过ROS wiki-tutorials学习节点
前面几期我们讲的都是一些入门相关的内容-- ROS wiki系列|ROS wiki初探(自用) ROS wiki系列|Documentation-ROS部分讲解 ROS wiki系列|ROS入门基础概 ...
最新文章
- SAP Spartacus 因为 refresh token 刷新令牌过期后显示用户重新登录页面的逻辑
- WPF多线程UI更新——两种方法
- linux二进制数据16进制数据转换,[轉]16进制字符文本/二进制文件迷你互转器
- 一个500强公司的数据化运营管理实践
- GDUFE ACM-1030
- JAVA构造方法与构造方法的执行原理简单理解(栈与堆)
- sql2000 数据库置疑解决办法
- 目标检测之FPN网络详解
- Python 多维数据可视化
- 给C盘释放五个G的空间
- R-南丁格尔玫瑰图: 仿制效果最好的疫情玫瑰图
- python处理wrf气象数据_气象编程 | Python3之WRF的投影转换
- 使用 prismjs 在网页中高亮显示代码
- word中插入的图片会覆盖文字
- Java 正则表达式 中的 任意字符
- 数据库decimal对应java什么类型_数据库字段类型和Java的对应关系
- 开源协议有哪些?如何选择开源协议?
- 杜比dss200服务器重装,杜比dss200服务器恢复系统操作
- 企业人力资源管理师(四级)题集(理论+实操(计算题)+职业道德)
- dedecms织梦数值自动增加标签
热门文章
- 联想硬盘保护系统计算机名,联想硬盘保护系统EDU7.0安装方法
- springboot 打印日志
- 非参数统计:方法与应用(全书例题R语言实现)
- 斗鱼tv 服务器响应失败,斗鱼tv打不开怎么办 斗鱼直播打不开得解决办法
- 贪心算法及常见例子(附python实现代码)
- python贪心算法几个经典例子_python 贪心算法的实现
- eclipse的下载及安装教程
- win10调整计算机字体大小,主编教您win10下怎么调整字体大小
- java maven web项目_java maven项目跟web项目区别
- Python解释器(Interpreter)介绍