- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 怎样在ROS下Debug?
vscode + ubuntu18.04 + ros-melodic第一步 : 在vscode 工程下, .vscode 下创建 launch.json。内容如下:{ "version": "0.2.0", "configurations": [ { "name": "g++ - 生成和调试活动文件", "type": "cppdbg", "request": "launch",
2021-11-18 15:21:24
404
原创 记录一个使用c++ vector技巧
记录一个使用c++ vector技巧1. 前言2. 用法参考资料1. 前言工程设计中需要用到文件读写的功能,往往需要将保存在文本中的数据读取出来。由于数据的数量不确定,vector 很好的解决了这样的问题。本博文案例仅供参考。2. 用法结构体不同于普通变量,因而不能像int型 可以直接 push_back(), 结构体需要一个中间变量,需要先给这个变量赋值,再push_back()中间变量。用法:1 存放结构体变量本身;2 存放结构体变量的指针;案例:该方法将结构体变量的副
2021-09-15 10:17:54
236
原创 ROS:坐标系之间的关系 (map \ odom \ base_link)
ROS:坐标系之间的关系 (map \ odom \ base_link)在使用ROS进行定位与导航操作时,会伴随着各种坐标系,并且每种坐标系都有明确的含义,ros中定义了常见的坐标系,并且所有的坐标系采用右手坐标系。1. 三种坐标系base_link : 以机器人自身为原点的坐标系。 baselink可以连接到任意位置或方向的本体,且每个硬件平台都有一个不同的位置,并且可以提供明显的参考点。在实际中,我们约定小车base_link的x轴指向机器人前方,y轴为指向小车左
2021-04-24 00:06:09
4476
原创 c++模板
1. 概念及定义模板可以用来创建泛型类或函数的一个公式,c++程序设计中采用类型作为参数的程序设计,也可以称为通用程序设计。我们可以在c++中使用模板来定义函数和类。目的:C++的发明者Bjarne Stroustrup告诉我“这是为了支持类型安全、类容器的有效性和算法的通用性”。优势和劣势:为了得到通用编程的优点。国际标准化组织(ISO)为C++建立了C++标准库,该标准库功能强大,这证明了模板的重要性。库中涉及算法和容器的部分组成了标准模板库(简称STL)。由于模板的可重用性和可扩
2021-04-03 22:57:42
95
原创 c++ 类和对象(学习记录二)
c++ 类和对象1. 概念及定义可以先参考c++类和对象类的构造函数构造函数的名称与类的名称完全相同,不会返回任何类型和void,属于类的一种特殊成员函数,在每次创建类的新对象时执行。构造函数的作用:初始化对象的数据成员。若类中没有显示定义构造函数,系统会自动生成拷贝构造函数。class A{private: int _a; int _b;public: A(); // 默认构造函数 A(int a, i
2021-04-03 20:56:48
53
原创 ubuntu vscode软件设置
setting->Code Actions on Save( Edit in settings.json )打开settings.json,修改相应选项。虽个别有错,也不全但足够用。代码“editor.fontSize”: 15, //字体大小“editor.fontFamily”: “monospace”, //字体设定,“editor.lineHeight”: 23, //设定行高,建议设定:字体大小 × 1.5“editor.letterSpacing”: 1
2021-03-28 17:55:12
264
1
原创 c++容器(学习记录五)
1. 概念及定义什么是容器?在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对象的指针,这种对象类型就叫容器。容器就是保存其它对象的对象,也是用来管理某类对象。举个例子,书架就类似与一个容器,在这个书架上我们可以放书本、杂志等,书架可以看作是个对象,容器中可以放入不同的对象,容器本身也是一个对象,之所以选择用容器,就是因为方便管理。总而言之,c++是面向对象的,系统有很多中不同类型的对象组成,这个对象实力化后,对象必须分门别类的放到这些集合类中,这个集合类就是各种各样的容器。
2021-03-28 14:43:43
77
原创 c++ 图像二值化(opencv)
前言因工作中需要对一张二值图像进行反转,即“黑转白,白转黑”操作,因网上资料混杂,在此给出一篇博客记录。运行环境:ubuntu18 + cmake + opencv4什么是二值图像?在一张只有黑色和白色的图像中,这种图像的像素灰度值无论在什么数据类型中只有最大值和最小值两种取值,因此称为二值图像。例如:案例#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.
2021-03-28 12:14:07
9202
3
原创 c++ 类和对象(学习记录一)
这里写自定义目录标题功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入功能快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command
2021-03-06 18:33:51
102
原创 c++基础
1. 引用某个变量的引用,等价于这个变量,相当于这个变量的别名;(概念 > )定义引用时一定要初始化成引用某个变量,初始化后,它就一直引用该变量,不会再引用别的变量。类型名 & 引用名 = 某变量名int n = 4;int & r = n; //r引用了n, r的类型是 int &int a = 1, b = 2;int & r = a;r = b;r = 7;cout << a << endl;//a=7,由r
2021-02-10 19:13:11
65
原创 c++多态(学习记录四)
@c++多态(学习记录四)1. 概念及定义什么是多态?同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性,即采用基类的引用指向子类的对象。多态解决了代码复用,同时解决了项目紧耦合问题,提高程序的可扩展性。应用程序不必对每一个派生类编写功能调用,只需对抽象基类及逆行处理即可,提升代码复用性。虚函数在类得定义中,前面有virtual关键字得成员函数就是 虚函数;virtual关键字只用在类定义里得函数声明中,函数体不用;构造函数和静态成员函数不能是虚函
2021-02-10 15:57:57
162
原创 c++继承(学习记录三)
前言本栏主要为学习、记录c++心得所用,主要会分为三部分进行记录,欢迎评论留言,得闲会修改补充。内容如下:概念及定义;写法;程序案例。1. 概念及定义继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而B作为基类的一个派生类(也称为子类)。继承和派生的概念:派生类是通过对基类进行修改和扩充得到的;在派生类中,可以扩充新的成员变量和成员函数;此外派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的全部成员
2021-02-10 13:05:43
146
转载 STM32-UCOSIII学习笔记3
任务堆栈:存储任务中的调用的函数、局部变量、中断服务程序和CPU寄存器的值。全局变量的保护:1.如果只在一个任务中写(或只有一个数据),而在其他任务中只是读取,则可以不用互斥型信号量,最多会造成读取的数据未被完全写完。2.如果全局变量在多个任务中写,则需要用互斥型信号量保护,这样当有任务申请到互斥型信号量(保护不可重入的程序段)写数据时,其他任务的同一个互斥型信号量必须等待上一个任
2017-10-20 09:25:17
592
翻译 STM32-UCOS学习笔记2
UCOS-III任务管理 (上)1、任务的基本概念 在生活中我们对许多问题进行分而治之,这里就存在许多的大问题和小问题,小问题解决掉,大问题才能随之而解决,在这里小问题即是本次所说的小任务。在我们设计复杂、大型程序的时候也是一样的,将这些负责的程序分割成许多个简单的小程序,这些小程序就是单个的任务,所有的小任务和谐的工作,最终完成复杂的功能。在操作系统中这些小任务可以并发执行,
2017-10-17 21:10:58
299
原创 STM32-UCOS学习笔记1
1、UCOS系统背景 早期嵌入式开发没有嵌入式操作系统概念,例如51单片机没有操作系统的概念,通常把程序分为:前台系统和后台系统。 RTOS(Real Time OS)实时操作系统,应用而生。实时操作系统又可分为硬实时和软实时。 硬实时:要求在规定的时间内必须完成操作,硬实时系统不允许超时,反之,软实时则没有严格要求。 实时操作系统中,我们把需要实现的功能分
2017-10-17 16:02:14
260
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人