Leiym Blog

一生想做浪漫极客

nodelet的使用方法以及传输时间测试

"the nodelet of ROS"

这篇博文介绍了有关 ROS 通信的包——nodelet的使用以及相关测试 概述 ROS,从软件构架的角度说,是一种基于消息传递通信的分布式多进程框架。ROS 进程之间的通信其实是基于标准的 TCP/IP 协议的,所以在传递 Messages 或者 Services 时,必须先经过一个打包的过程,而接收时也需要一个解包的过程,这些都会导致在传输过程中损耗不少时间。在数据量小,频率低...

使用一根网线搭建ubuntu虚拟机与ubuntu物理机之间的局域网

"ubuntu"

这篇博文记录了如何使用一根网线建立ubuntu虚拟机与ubuntu物理机之间的局域网,这里我使用的时VMware的虚拟机和妙算进行局域网通信。 虚拟机配置步骤 第一步,新建以太网 在网络连接中点击 Add 。 新建 Ethernet ,点击 Create 。 输入新建以太网名称,选择 IPv4 Settings 标签页, Method 选择 M...

pluginlib的使用总结

"the pluginlib of ROS"

ROS 中十分重要的包 pluginlib 的解释 概述 pluginlib 包提供了一系列工具使得 ROS 程序可以动态的加载或者卸载插件。这里的插件一般指动态库中的功能类,插件的目的往往是类似的,但是达到目的的算法却不尽相同,装载不同的插件就可以使程序获得不同的表现。为了方便, pluginlib 允许程序根据插件名以及插件注册的路径动态地加载。这一过程是不需要重新编译的,所...

问题总结Q&A

"Summary of problems"

将最近一段时间的问题和解决方法记录下来 Arduin & rosserial Q:使用 Arduino Leonardo 和 rosserial 与上位机通信出现同步失败的错误提示。 A: 在 loop 函数最后,一定要调用 spinOnce 函数。 加上 #define USE_USBCON 编译预处理。 Q:使用 Le...

C++ STL 之 priority queue

"Standard Template Library"

STL 常用容器 priority queue 详解 priority queue 概述 priority queue : 一种优先级队列,其允许用户以任何次序将元素压入容器内,与 queue 不同的是,从其中取出元素时是根据优先级顺序的。 priority queue 和 stack , queue 一样,只能算是适配器,并不能算是容器类。在介绍 priority queue...

C++ STL 之 stack & queue

"Standard Template Library"

STL 常用容器 stack & queue 的详解 stack & queue 概述 stack 是一种先进后出(First In Last Out, FILO)的数据结构。 queue 是一种先进先出(First In First Out, FIFO)的数据结构。 stack 只有一个出入口,它允许在其最顶端压入弹出数据。 queue 有一个入口与一个出口,它...

C++ STL 之 deque

"Standard Template Library"

STL 常用容器类 deque 的详解 deque 概述 顾名思义,deque 是一种双向队列, vector 是一种单项开口的连续空间, deque 则是双向开口的连续空间,即 deque 可以在其头尾两端插入或者删除元素。( vector 理论上也可以,但是效率很低) deque 的基本操作 deque 的中控器,迭代器和缓冲区 deque 的实现引入了中控器的概念,中...

C++ STL 之 list

"Standard Template Library"

STL 常用容器类 list 详解 list 概述 list 的本质是环形双向链表,不同于 vector 的连续存储, list 通过指针来建立相连元素的逻辑关系。其迭代器并不像 vecotr 是普通指针。 由于 list 的链表结构,其内存分配则简单的多,有多少用多少。 list 基本操作 list 的节点(node) 下面是 list 的节点的声明代码,可以看出其是一...

C++ STL 之 vector

"Standard Template Library"

STL库中常用的容器类 vector 详解,包括基础用法以及内存空间的操作。 vector 概述 vector 的数据安排以及操作方式与数组类似,唯一的区别在与数组是静态空间,一旦声明之后就无法自动改变空间大小,需要手动扩充空间大小。而 vector 是动态空间,随着元素的加入,其内部机制会自行扩充空间以容纳新元素。 vector 基本操作 vector 迭代器 其迭代器为...

Android Studio编译jni模块

"NDK"

越来越多的硬件设备选择搭载安卓系统,而很多开源库都是基于C/C++的,当需要用到这些库时就必须使用一些特殊的方法调用。Android NDK 提供了这种方法——通过jni模块调用。这篇博文就介绍了在 ubuntu14.04 下的 Android Studio 中使用 gradle 编译 jni 模块的方法。 背景简介 注释: 这部分以后有时间再补,如果已经了解了 Android ...