<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[基于msg的ROS话题发布]]></title><description><![CDATA[ros]]></description><link>https://blog.youkuaiyun.com/Wolf_Young</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Wolf_Young]]></copyright><item><title><![CDATA[dat文件转图片]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/122522872</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/122522872</guid><author>Wolf_Young</author><pubDate>Sun, 16 Jan 2022 14:25:08 +0800</pubDate><description><![CDATA[dat文件转图片]]></description><category></category></item><item><title><![CDATA[牛客网刷题实录]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/118726714</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/118726714</guid><author>Wolf_Young</author><pubDate>Wed, 14 Jul 2021 14:36:53 +0800</pubDate><description><![CDATA[牛客网编程题

消消看


时间限制：C/C++ 1秒，其他语言2秒
空间限制：C/C++ 64M，其他语言128M

牛牛和牛妹最近迷上了新版消消看，该游戏规则如下：
在一个  串中，每一轮，玩家都可以选择一串连续相同字符进行消除，消除之后，左右两侧剩余的字符自动拼接，重新形成一个字符串。
例如：在  中，牛牛选择了第四个和第五个字符，它们连续且都是 ，满足消除条件，而当它们消除之后，左侧剩余的  和右侧剩余的  会拼接到一起，即：消除后剩余的  串为：
计分规则如下：消除了几个  就计几分。
直到消成空]]></description><category></category></item><item><title><![CDATA[面试试题天天练]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/118094824</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/118094824</guid><author>Wolf_Young</author><pubDate>Mon, 21 Jun 2021 21:29:33 +0800</pubDate><description><![CDATA[临近找工作，想记录下自己刷的题和一些结题方法，也算激励自己，希望看到的朋友也可以一起交流经验！

一、编程题

小米c++编程题
给定一个长度为字符串, 需要去除所有之前曾经出现过的字符，只保留第一次出现的字符。
运行时间&lt;1ms ， 占用内存&lt;200m
例如：
输入： pspexeawa
输出：psexaw


分析：先遍历主串，再遍历子串，判断主串中的元素与子串元素是否相等，不等则在字串中添加这个主串元素

代码实现：
#include &lt;iostream&gt;
#include .]]></description><category></category></item><item><title><![CDATA[点云PCD转成bin]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/115979828</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/115979828</guid><author>Wolf_Young</author><pubDate>Wed, 21 Apr 2021 21:30:15 +0800</pubDate><description><![CDATA[三维点云PCD转换成bin格式
在网上看了一些用PCL直接读取PCD点云，然后直接写入文件，但再通过代码打开显示不了，因为其中很多Nan数据，找到一个大佬写的PCD转成bin格式的代码，是python版本的，要求是提供的PCD文件要包含intensity、（ring,time）等，以下例子仅供参考。
1. 安装依赖
pip install numpy
pip install argparse
pip install pypcd
pip install tqdm

2. 运行代码
git clone http]]></description><category></category></item><item><title><![CDATA[使用GLOG记录数据实例]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/115718904</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/115718904</guid><author>Wolf_Young</author><pubDate>Thu, 15 Apr 2021 11:05:46 +0800</pubDate><description><![CDATA[通过GLOG记录数据
在做实验时，往往需要记录实验数据，而以excel文档的方式记录数据往往会因为文档未关闭，而没有将数据写入文档，所以最好采用log的方式记录数据。
本文采用glog来记录数据，glog是Google发布的一款基于程序等级记录日志信息的c++库，编程使用方式与c++的stream类似。
安装方法可以参见博客：https://blog.youkuaiyun.com/liuxiaodong400/article/details/102972816?spm=1001.2014.3001.5501

GLOG]]></description><category></category></item><item><title><![CDATA[数据结构学习——字符串]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/114788978</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/114788978</guid><author>Wolf_Young</author><pubDate>Sun, 14 Mar 2021 15:59:35 +0800</pubDate><description><![CDATA[PI Day   Infinite &amp; Imagination
14159265358979323846 26433832795028841971 39699375105820974944

1. 什么是串？
串（string） 是由零个或多个字符组成的有限序列， 又名叫字符串。  一般记为   s=“a1a2…an”(n≥0)


空串：零个字符的串  Φ
串的相邻字符之间具有前驱和后继的关系
串中的元素都是 字符


2. 串的比较


串的比较是通过组成串的字符之间的编码来进行的， 而字符的.]]></description><category></category></item><item><title><![CDATA[数据结构学习——队列]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/114544571</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/114544571</guid><author>Wolf_Young</author><pubDate>Mon, 08 Mar 2021 21:48:01 +0800</pubDate><description><![CDATA[队列

每当夜幕降临，都会在想今天学到了什么，是继续迷茫的像机器人似的忙于项目，还是去做一点自己真正喜欢的事？我想更重要的还是先认清自己，做自己认为正确的事，正如现在所做的一样，即使每天都是毫无意义的工作，还是要坚持输出，坚持学习！
相信所有的质变都是量变的积累，2021加油！

1. 什么是队列？

队列（queue）是只允许在一端进行插入操作，而在另一端进行删除操作的线性表。
队列是一种先进先出的线性表，简称FIFO。允许插入的一端称为队尾，允许删除的一端称为对头。
设计队列的目的时为了模拟离散事件发生]]></description><category></category></item><item><title><![CDATA[数据结构学习——线性表]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/114521113</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/114521113</guid><author>Wolf_Young</author><pubDate>Mon, 08 Mar 2021 10:12:58 +0800</pubDate><description><![CDATA[线性表
1. 什么是线性表？
线性表，全名为线性存储结构。使用线性表存储数据的方式可以这样理解，即“把所有数据用一根线儿串起来，再存储到物理空间中”。
所谓“一对一”的关系是指，一个元素只有一个前驱和一个后继，而且元素的内容是相同的，比如去图书馆占位置就是在一片连续的空间占一定大小的位置，可以不从开始占，选一个风水好的地方，但如果用书包和笔等东西来占位置就是不行的，因为元素不一样。
线性表的存储方式分为线性和非线性，如上文所说，线性存储方式就是在内存空间中开辟一段连续的空间，物理上相邻，逻辑上也相邻，可以用]]></description><category></category></item><item><title><![CDATA[数据结构学习——栈]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/114485672</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/114485672</guid><author>Wolf_Young</author><pubDate>Sun, 07 Mar 2021 20:12:22 +0800</pubDate><description><![CDATA[链栈的实现

什么是栈？
栈是限定尽在表尾进行插入和删除操作的线性表。类似于手枪的弹夹，先放进去的子弹总是后出来，所以栈是先入后出的，类似的应用还有浏览器的后退，点击后退就类似于出栈，将上一次浏览的网址再加载出来。
栈的存储结构
栈有顺序存储结构和链式存储结构两种，顺序栈就和顺序表一样，在内存里占用连续的地址空间，而链栈则通过后继指针来指向下一个结点，所以可以将单链表的头指针作为链栈的栈顶，用一个栈顶指针&lt;top&gt;来实现，插入元素则将指针上移，指向新插入的结点，出栈则将指针下移。

链栈的c语言]]></description><category></category></item><item><title><![CDATA[ROS学习之坐标变换tf]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/107825676</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/107825676</guid><author>Wolf_Young</author><pubDate>Wed, 05 Aug 2020 22:33:46 +0800</pubDate><description><![CDATA[即使前方荆棘满地，也要跨上战马，一路前行！
Keep learning,Keep programing! 
ROS中的坐标变换
ROS中的坐标变换主要形式为广播和监听，可以发布坐标系A、坐标系B与世界坐标系的关系，可以监听得到坐标系A与坐标系B之间的转换关系，本文主要参考古月老师的教程，发布turtle1～turtle3与world坐标系，并监听turtle1与turtle2、turtle3之间的坐标转换关系，发布控制指令，控制小海龟运动，并通过launch文件实现重映射，多次调用发布节点和监听节点。
一、]]></description><category></category></item><item><title><![CDATA[ROS下的参数传递]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/107220456</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/107220456</guid><author>Wolf_Young</author><pubDate>Thu, 09 Jul 2020 10:04:09 +0800</pubDate><description><![CDATA[概述
在系统工程中，调整参数时在源文件中修改非常的耗时和麻烦，故寻找一种好的参数传递方式势在必行，本文基于ROS平台介绍两种简单的参数传递方式，其逻辑关系如下所示。

一、rosparam传递
其本质是通过ros的param机制，将参数信息发布出来， 在节点中获取rosparam的信息，值得注意的是，节点的句柄必须是私有句柄，即ros::NodeHandle nh("~")，其中的"~"相当于this或者self,CMakeLists.txt中无需链接额外的库。
roslaunch中的arg传递
在rosl]]></description><category></category></item><item><title><![CDATA[ROS使用备忘录]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/105378614</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/105378614</guid><author>Wolf_Young</author><pubDate>Wed, 08 Apr 2020 09:48:45 +0800</pubDate><description><![CDATA[此文为笔者在ROS使用过程中遇到的一些坑，查阅一些资料后得到的问题结局方案，有些是在编译文件中修改添加一些命令，所谓好记性不如烂笔头，将其整理记录如下。
1、功能包生成msg
假设packageA要生成hello.msg，在ROS中是通过catkin来管理编译msg文件，产生相应的头文件，才能在代码里编译，在编译生成可执行文件是还要在CMakeLists.txt中添加命令add_dependenc...]]></description><category></category></item><item><title><![CDATA[基于简单工厂模式的CAN报文解析]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/105338493</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/105338493</guid><author>Wolf_Young</author><pubDate>Mon, 06 Apr 2020 10:38:20 +0800</pubDate><description><![CDATA[基于简单工厂模式的CAN报文解析
1、概述
所谓工厂模式，就是通过对象创建模式绕开new，来避免对象创建(new)过程中所导致的紧耦合，从而支持对象闯将的稳定。具体实现是通过定义一个用于创建对象的接口，让子类实例化哪一个类，本例中应用的是简单工厂模式，基类为Parse_Frame，定义了解析CAN报文的数据结构以及解析的方法，子类为Parse_Frame_A和Parse_Frame_B，在工厂Fr...]]></description><category></category></item><item><title><![CDATA[python学习笔记（一）--使用turtle库绘制蟒蛇]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/104658739</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/104658739</guid><author>Wolf_Young</author><pubDate>Wed, 04 Mar 2020 18:02:17 +0800</pubDate><description><![CDATA[turtle库
Turtle库是Python语言中一个很流行的绘制图像的函数库，想象一个小乌龟，在一个横轴为x、纵轴为y的坐标系原点，(0,0)位置开始，它根据一组函数指令的控制，在这个平面坐标系中移动，从而在它爬行的路径上绘制了图形。
turtle库中一些常用的函数可以参考turtle库详解
一开始在ubantu16.04中执行代码不能通过，显示模块库缺失ImportError: No modu...]]></description><category></category></item><item><title><![CDATA[C++中文件的读取和写入操作]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/104634752</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/104634752</guid><author>Wolf_Young</author><pubDate>Tue, 03 Mar 2020 16:25:53 +0800</pubDate><description><![CDATA[输入输出相关类
C++中输入出的类的关系如图所示：

其中对文件的操作相关类为ifstream和ofstream，依赖于头文件#include &lt;fstream&gt;，具体来说对文件的操作是通过指针来操作的，对输入文件，有一个读指针;对输出文件，有一个写指针;对输入输出文件，有输入输出指针，可以通过seekp()或seekg()函数来改变指针指向的位置，从而读取或写入文件的不同位置，比如对...]]></description><category></category></item><item><title><![CDATA[基于PCL的点云平面分割]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/104502405</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/104502405</guid><author>Wolf_Young</author><pubDate>Tue, 25 Feb 2020 18:41:29 +0800</pubDate><description><![CDATA[1、RANSAC算法
提取点云中的平面常用的算法是RANSAC，即Random Sample Consensus随机采样一致算法，简单来说，它就是从一堆数据中挑选出子集最心仪的数据，比如挑选一条直线等。看网上博客，有一个解释挺有趣的说法。
RANSAC的基本假设是：
（1）数据由“局内点”组成，例如：数据的分布可以用一些模型参数来解释；
（2）“局外点”是不能适应该模型的数据；
（3）除此之外的数...]]></description><category></category></item><item><title><![CDATA[PCL显示和保存3d点云]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/104456128</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/104456128</guid><author>Wolf_Young</author><pubDate>Sun, 23 Feb 2020 11:47:54 +0800</pubDate><description><![CDATA[1、PCL的IO模块
加载主要用到IO模块里的几个类:pcl::io::loadPCDFile、pcl::PCDReader和 pcl::PCDWriter等，他们的成员函数也基本只用到一个，第一个类直接定义对象将PCD加载到定义的点云cloud中，第二个类是通过read(cloud,cloud_name)函数将PCD文件读取到点云cloud中，同理，第三个类是将点云数据写入到.pcd文件中。
2...]]></description><category></category></item><item><title><![CDATA[基于ROS的多线程通信和话题发布]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/103976133</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/103976133</guid><author>Wolf_Young</author><pubDate>Tue, 14 Jan 2020 17:06:25 +0800</pubDate><description><![CDATA[基于ROS的多线程通信和话题发布
1、什么是线程，什么是进程？
就我看来进程就像一个每个不同的应用程序，比如QQ ，而线程就相当于各个进程之中再同时进行的操作，比如QQ同时开多个窗口和多人聊天等。具体可以参见深入理解线程和进程
2、线程之间如何同步和通信？
在学习《嵌入式系统及其原理》时曾接触过不同任务之间的关系，比如同步，独立和通信等，与此类似，线程之间也有这几种关系，线程之间可以相互独立的运行...]]></description><category></category></item><item><title><![CDATA[launch在ros中的简单应用]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/102710735</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/102710735</guid><author>Wolf_Young</author><pubDate>Wed, 23 Oct 2019 21:19:46 +0800</pubDate><description><![CDATA[一、ros launch简单语法
1、语句

其中pkg为选择的功能包，name可以更改节点名称，type为打开的节点名，output="screen"为将信息打印到屏幕上。
2、语句

3、重映射、嵌套

二、示例
1、新建launch文件夹
cd ~/catkin_ws/src/test
mkdir launch
cd launch
gedit test.launch

2、test.laun...]]></description><category></category></item><item><title><![CDATA[关于Xmind的使用]]></title><link>https://blog.youkuaiyun.com/Wolf_Young/article/details/102677391</link><guid>https://blog.youkuaiyun.com/Wolf_Young/article/details/102677391</guid><author>Wolf_Young</author><pubDate>Tue, 22 Oct 2019 10:14:03 +0800</pubDate><description><![CDATA[Xmind使用心得
打开Xmind Zen软件
使用Tab键新建子标题，按enter键创建同级子标题，还可以根据需求更改样式，添加各个标题之间的联系等，具体制作如下所示。


...]]></description><category></category></item></channel></rss>