- 博客(21)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ROS使用备忘录
此文为笔者在ROS使用过程中遇到的一些坑,查阅一些资料后得到的问题结局方案,有些是在编译文件中修改添加一些命令,所谓好记性不如烂笔头,将其整理记录如下。1、功能包生成msg假设packageA要生成hello.msg,在ROS中是通过catkin来管理编译msg文件,产生相应的头文件,才能在代码里编译,在编译生成可执行文件是还要在CMakeLists.txt中添加命令add_dependenc...
2020-04-08 09:48:45
657
原创 牛客网刷题实录
牛客网编程题消消看时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 64M,其他语言128M牛牛和牛妹最近迷上了新版消消看,该游戏规则如下:在一个 串中,每一轮,玩家都可以选择一串连续相同字符进行消除,消除之后,左右两侧剩余的字符自动拼接,重新形成一个字符串。例如:在 中,牛牛选择了第四个和第五个字符,它们连续且都是 ,满足消除条件,而当它们消除之后,左侧剩余的 和右侧剩余的 会拼接到一起,即:消除后剩余的 串为:计分规则如下:消除了几个 就计几分。直到消成空
2021-07-14 14:36:53
600
1
原创 面试试题天天练
临近找工作,想记录下自己刷的题和一些结题方法,也算激励自己,希望看到的朋友也可以一起交流经验!一、编程题小米c++编程题给定一个长度为字符串, 需要去除所有之前曾经出现过的字符,只保留第一次出现的字符。运行时间<1ms , 占用内存<200m例如:输入: pspexeawa输出:psexaw分析:先遍历主串,再遍历子串,判断主串中的元素与子串元素是否相等,不等则在字串中添加这个主串元素代码实现:#include <iostream>#include .
2021-06-21 21:29:33
314
转载 点云PCD转成bin
三维点云PCD转换成bin格式在网上看了一些用PCL直接读取PCD点云,然后直接写入文件,但再通过代码打开显示不了,因为其中很多Nan数据,找到一个大佬写的PCD转成bin格式的代码,是python版本的,要求是提供的PCD文件要包含intensity、(ring,time)等,以下例子仅供参考。1. 安装依赖pip install numpypip install argparsepip install pypcdpip install tqdm2. 运行代码git clone http
2021-04-21 21:30:15
5955
20
原创 使用GLOG记录数据实例
通过GLOG记录数据在做实验时,往往需要记录实验数据,而以excel文档的方式记录数据往往会因为文档未关闭,而没有将数据写入文档,所以最好采用log的方式记录数据。本文采用glog来记录数据,glog是Google发布的一款基于程序等级记录日志信息的c++库,编程使用方式与c++的stream类似。安装方法可以参见博客:https://blog.csdn.net/liuxiaodong400/article/details/102972816?spm=1001.2014.3001.5501GLOG
2021-04-15 11:05:46
731
原创 数据结构学习——字符串
PI Day Infinite & Imagination14159265358979323846 26433832795028841971 396993751058209749441. 什么是串?串(string) 是由零个或多个字符组成的有限序列, 又名叫字符串。 一般记为 s=“a1a2…an”(n≥0)空串:零个字符的串 Φ串的相邻字符之间具有前驱和后继的关系串中的元素都是 字符2. 串的比较串的比较是通过组成串的字符之间的编码来进行的, 而字符的.
2021-03-14 15:59:35
397
原创 数据结构学习——队列
队列每当夜幕降临,都会在想今天学到了什么,是继续迷茫的像机器人似的忙于项目,还是去做一点自己真正喜欢的事?我想更重要的还是先认清自己,做自己认为正确的事,正如现在所做的一样,即使每天都是毫无意义的工作,还是要坚持输出,坚持学习!相信所有的质变都是量变的积累,2021加油!1. 什么是队列?队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为对头。设计队列的目的时为了模拟离散事件发生
2021-03-08 21:48:01
182
原创 数据结构学习——线性表
线性表1. 什么是线性表?线性表,全名为线性存储结构。使用线性表存储数据的方式可以这样理解,即“把所有数据用一根线儿串起来,再存储到物理空间中”。所谓“一对一”的关系是指,一个元素只有一个前驱和一个后继,而且元素的内容是相同的,比如去图书馆占位置就是在一片连续的空间占一定大小的位置,可以不从开始占,选一个风水好的地方,但如果用书包和笔等东西来占位置就是不行的,因为元素不一样。线性表的存储方式分为线性和非线性,如上文所说,线性存储方式就是在内存空间中开辟一段连续的空间,物理上相邻,逻辑上也相邻,可以用
2021-03-08 10:12:58
169
原创 数据结构学习——栈
链栈的实现什么是栈?栈是限定尽在表尾进行插入和删除操作的线性表。类似于手枪的弹夹,先放进去的子弹总是后出来,所以栈是先入后出的,类似的应用还有浏览器的后退,点击后退就类似于出栈,将上一次浏览的网址再加载出来。栈的存储结构栈有顺序存储结构和链式存储结构两种,顺序栈就和顺序表一样,在内存里占用连续的地址空间,而链栈则通过后继指针来指向下一个结点,所以可以将单链表的头指针作为链栈的栈顶,用一个栈顶指针<top>来实现,插入元素则将指针上移,指向新插入的结点,出栈则将指针下移。链栈的c语言
2021-03-07 20:12:22
137
原创 ROS学习之坐标变换tf
即使前方荆棘满地,也要跨上战马,一路前行!Keep learning,Keep programing! ROS中的坐标变换ROS中的坐标变换主要形式为广播和监听,可以发布坐标系A、坐标系B与世界坐标系的关系,可以监听得到坐标系A与坐标系B之间的转换关系,本文主要参考古月老师的教程,发布turtle1~turtle3与world坐标系,并监听turtle1与turtle2、turtle3之间的坐标转换关系,发布控制指令,控制小海龟运动,并通过launch文件实现重映射,多次调用发布节点和监听节点。一、
2020-08-05 22:33:46
784
原创 ROS下的参数传递
概述在系统工程中,调整参数时在源文件中修改非常的耗时和麻烦,故寻找一种好的参数传递方式势在必行,本文基于ROS平台介绍两种简单的参数传递方式,其逻辑关系如下所示。一、rosparam传递其本质是通过ros的param机制,将参数信息发布出来, 在节点中获取rosparam的信息,值得注意的是,节点的句柄必须是私有句柄,即ros::NodeHandle nh("~"),其中的"~"相当于this或者self,CMakeLists.txt中无需链接额外的库。roslaunch中的arg传递在rosl
2020-07-09 10:04:09
1291
原创 基于简单工厂模式的CAN报文解析
基于简单工厂模式的CAN报文解析1、概述所谓工厂模式,就是通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合,从而支持对象闯将的稳定。具体实现是通过定义一个用于创建对象的接口,让子类实例化哪一个类,本例中应用的是简单工厂模式,基类为Parse_Frame,定义了解析CAN报文的数据结构以及解析的方法,子类为Parse_Frame_A和Parse_Frame_B,在工厂Fr...
2020-04-06 10:38:20
693
原创 python学习笔记(一)--使用turtle库绘制蟒蛇
turtle库Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。turtle库中一些常用的函数可以参考turtle库详解一开始在ubantu16.04中执行代码不能通过,显示模块库缺失ImportError: No modu...
2020-03-04 18:02:17
669
原创 C++中文件的读取和写入操作
输入输出相关类C++中输入出的类的关系如图所示:其中对文件的操作相关类为ifstream和ofstream,依赖于头文件#include <fstream>,具体来说对文件的操作是通过指针来操作的,对输入文件,有一个读指针;对输出文件,有一个写指针;对输入输出文件,有输入输出指针,可以通过seekp()或seekg()函数来改变指针指向的位置,从而读取或写入文件的不同位置,比如对...
2020-03-03 16:25:53
858
原创 基于PCL的点云平面分割
1、RANSAC算法提取点云中的平面常用的算法是RANSAC,即Random Sample Consensus随机采样一致算法,简单来说,它就是从一堆数据中挑选出子集最心仪的数据,比如挑选一条直线等。看网上博客,有一个解释挺有趣的说法。RANSAC的基本假设是:(1)数据由“局内点”组成,例如:数据的分布可以用一些模型参数来解释;(2)“局外点”是不能适应该模型的数据;(3)除此之外的数...
2020-02-25 18:41:29
1063
2
原创 PCL显示和保存3d点云
1、PCL的IO模块加载主要用到IO模块里的几个类:pcl::io::loadPCDFile、pcl::PCDReader和 pcl::PCDWriter等,他们的成员函数也基本只用到一个,第一个类直接定义对象将PCD加载到定义的点云cloud中,第二个类是通过read(cloud,cloud_name)函数将PCD文件读取到点云cloud中,同理,第三个类是将点云数据写入到.pcd文件中。2...
2020-02-23 11:47:54
1162
原创 基于ROS的多线程通信和话题发布
基于ROS的多线程通信和话题发布1、什么是线程,什么是进程?就我看来进程就像一个每个不同的应用程序,比如QQ ,而线程就相当于各个进程之中再同时进行的操作,比如QQ同时开多个窗口和多人聊天等。具体可以参见深入理解线程和进程2、线程之间如何同步和通信?在学习《嵌入式系统及其原理》时曾接触过不同任务之间的关系,比如同步,独立和通信等,与此类似,线程之间也有这几种关系,线程之间可以相互独立的运行...
2020-01-14 17:06:25
1204
原创 launch在ros中的简单应用
一、ros launch简单语法1、语句其中pkg为选择的功能包,name可以更改节点名称,type为打开的节点名,output="screen"为将信息打印到屏幕上。2、语句3、重映射、嵌套二、示例1、新建launch文件夹cd ~/catkin_ws/src/testmkdir launchcd launchgedit test.launch2、test.laun...
2019-10-23 21:19:46
176
原创 关于Xmind的使用
Xmind使用心得打开Xmind Zen软件使用Tab键新建子标题,按enter键创建同级子标题,还可以根据需求更改样式,添加各个标题之间的联系等,具体制作如下所示。...
2019-10-22 10:14:03
278
原创 基于msg的ROS话题发布
@[Young]#基于msg的ROS话题发布##创建工作空间```cppmkdir catkin_wscd catkin_wsmkdir srccd srccd ~/catkin_wscatkin_make''##创建test功能包```cppcd ~/catkin_ws/srccatkin_create_pkg test roscpp rospy std_msgs...
2019-10-20 15:15:55
291
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人