自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 计算机网络考前重点总结

计算机网络、Internet、ISP、速率、带宽、吞吐量、时延、电路交换、分组交换、报文交换广播域(:指这样一部分网络,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收。碰撞域(又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。碰撞域越大,发生碰撞的概率越高。最长前缀匹配(Longest Prefix Match)是一种确定数据包应该被发送到哪个目标网络的方法。它是基于IP地址的子网掩码进行匹配,以确定与目标地址最匹配的网络。

2024-01-13 20:22:48 928

原创 数据结构考前重点总结

逻辑结构是小明是小红朋友,老明是小明他爸这样的,存储结构是你怎么具体把这数据存储起来的,是族谱?是户口本?这样的。族谱在逻辑结构上就是一种非线性结构:树;在存储结构上应该是链式存储结构。户口本在逻辑结构上应该是集合,在存储结构中可以使用顺序结构:数组,字符串组等,也可以使用链式存储结构一般情况下,随着 n 的增大,T(n)增长较慢的算法为较优的算法,显然,时间复杂度为指数阶的算法效率极低,当 n 值较大时就无法应用。

2024-01-04 19:41:31 794

原创 ROS 通信机制

话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,即:一个节点发布消息,另一个节点订阅该消息。话题通信的应用场景极其广泛,例如:机器人在执行导航功能,使用的传感器是激光雷达,机器人会采集激光雷达感知到的信息并计算,然后生成运动控制信息驱动机器人底盘运动。在上述场景中,不只一次使用到了话题通信:以激光雷达信息的采集处理为例,在ROS中有一个节点需要实时发布当前雷达采集到的数据,导航模块中也会有节点会订阅并解析雷达数据。

2023-12-05 09:36:16 127

原创 ROS 参数服务器例程

创建功能包:plumbing_param_server 依赖库:roscpp std_msgs。rosparam list 列出现在参数服务器内的所有参数,然后找自己弄的,输入。roscore,source...,rosrun老生常谈,然后无反应,使用以下代码验证确认无误。在功能包下src目录内新建:demo01_param_set.cpp。rosparam get 加上上面的名字,斜杠需要加上,输出内容。首先创建工作空间:demo_csfwq_ws。未完待续.......

2023-12-02 16:34:27 40

原创 ROS 服务通信例程

在src目录下创建功能包:plumbing_server_client。修改配置文件:功能包目录下的CMakeLists.txt。然后Ctrl+shift+B编译,无错误继续。在功能包目录下创建一个新的文件夹:srv。依赖库:roscpp std_msgs。名称:demo_fwtx_ws。

2023-12-01 18:01:27 56

原创 ROS话题通信例程

需求:编写发布订阅实现,要求发布方以10Hz的频率发布文本消息,订阅方订阅消息并将消息内容打印输出分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:发布方、接收方、数据。

2023-11-29 20:14:21 75

原创 ROS工作空间配置

将# add_executable(${PROJECT_NAME}_node src/plumbing_pub_sub_node.cpp)输入 catkin_create_pkg plumbing_pub_sub roscpp rospy std_msgs。创建名为plumbing_pub_sub的功能包,依赖库为:roscpp,std_msgs。2、输入 mkdir -p 自定义空间名称/src 创建工作空间文件夹及其子文件夹src,4、输入编译命令 catkin_make 初始化。

2023-11-28 22:42:45 28

原创 ROS 计算图

ROS文件结构是磁盘上ROS程序的存储结构,是静态的,而ROS程序运行之后之后,不同的节点之间是错综复杂的,ROS中提供了一个实用的工具:rqt_graph。先打开乌龟例程,即自由控制乌龟的界面,然后另起一个终端,输入rosrun rqt_graph rqt_graph,即可看到ROS计算图相关内容。注意:经过测试,以下所有代码均需在输入roscore后的另外一终端运行方可运行,其他情况运行会出现“not found”情况。如果之前把所有的功能包(package)均已安装完毕,则在终端窗口中直接输入。

2023-11-25 23:50:29 45

原创 ROS文件系统相关命令

ROS 的文件系统本质上都还是操作系统文件,我们可以使用Linux命令来操作这些文件,不过,在ROS中为了更好的用户体验,ROS专门提供了一些类似于Linux的命令,这些命令较之于Linux原生命令,更为简洁、高效。catkin_create_pkg 自定义包名 依赖包 === 创建新的ROS功能包。rospack find === 查找某个功能包是否存在,若存在则返回安装路径。rosed 包名文件名 === 修改功能包文件。roscd 包名 === 进入某个功能包。

2023-11-25 14:10:00 27

原创 ROS文件系统 简介

该文件定义有关软件包的属性,例如软件包名称,版本号,作者,维护者以及其他catkin软件包的依赖性。package.xml 包信息,比如:包名、版本、作者、依赖项...(以前版本是 manifest.xml)功能包:(package1,2,自定义名称,可含有多个):ROS 基本单元,包含多个节点、库。devel:开发空间,存放编译后生成的目标文件,包括头文件、动态&静态链接库,可执行文件等。build:编译空间,用于存放Cmake和catkin的缓存信息、配置文件和其他中间文件。msg:消息通信格式文件。

2023-11-24 16:54:14 167

原创 ROS架构

邮件列表(Mailing list):ROS用户邮件列表是关于ROS的主要交流渠道,能够像论坛一样交流从ROS软件更新到ROS软件使用中的各种疑问或信息。立足不同的角度,对ROS架构的描述也是不同的,一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构。ROS只是元操作系统,需要依托真正意义的操作系统,目前兼容性最好的是 Linux 的。最上层的代码是应用级的代码,让机器人完成某一确定的功能。universe 全球范围的代码,有不同国家的ROS社区组织开发和维护,一种是库的代码,如。

2023-11-22 23:26:29 21

原创 C++中return的用法和功能

人话:函数就是一个黑箱,其它函数不知道咋产生的结果,也不管它里面能产生什么结果,return是将他产生的结果给其它函数使用的接口,直接给接口一个结果,让里面程序空转也是可以的,即return是控制该函数输出的东西 ,1.2.3.4.5都是基于此基础的(6没研究)6. 支持函数重载:函数的返回值类型是函数重载的一部分,通过不同的返回值类型可以区分同名函数的不同版本。需要注意的是,函数的返回值类型可以是任意的合法类型,包括基本类型(如整数、浮点数)、自定义类型(如类、结构体)以及指针类型等。

2023-10-24 21:01:14 1127 1

原创 【Qt】QML解决图片路径正确却无法显示的情况

其次将图片文件放于工程文件内,然后 在这个有main.qml的目录内,添加文件,把图片添加上去,重新创建工程即可。手机端图片无法显示:首先创建工程选择第一个,不能选第二个(理由未知)可以解决电脑端无法显示图片的问题,但手机端不行。file:然后跟路径。

2023-10-10 19:19:35 308 1

原创 【Qt】QML Image: Cannot open: qrc...处理方案

显示:QML Image: Cannot open: qrc:/mark/tit1.jpg(后面mark,tit1是当时的文件夹和例子)即如果从文件系统中定位文件,就将路径前加个file:后面再跟其它路径,网上我找到的其它方案都无法解决问题。问题情况:使用image中的source打不开图片。

2023-10-09 20:05:37 618 1

原创 QMainWindow 杂记

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个铆接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中,就再也不需要担心这些文件的丢失。菜单栏类(QMenuBar):最上面那一条,垂直不变,水平跟着窗口的变化而变化的那一条。

2023-10-06 08:50:28 34

原创 QDialog 杂记

QDialog(及其子类,以及所有Qt::Dialog类型的类)的对于其parent指针都有额外的解释:如果parent为NULL,则该对话框会作为一个顶层窗口,否则则作为其父组件的子对话框(此时,其默认出现的位置是parent的中心)。注意,dialog是建立在栈上的,show()函数返回,MainWindow::open()函数结束,dialog超出所有与被析构,因此对话框小时了,将dialog改成堆上建立,自然就没有这个问题了,所谓标准对话框,是Qt内置的一系列对话框,用于简化开发。

2023-10-05 22:07:26 58

原创 Lambda表达式 C++ 内容很少很浅

按值传递捕获列表时,加上mutable修饰符后,可以修改按值传递进来的拷贝(注意是修改拷贝,不是修改值本身)&:函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是引用传递方式(相当于编译器自动为我们按引用传递了所有局部变量)=:函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是值传递方式(相当于编译器自动为我们按值传递了所有局部变量)&,a,b:除a,b按值传递之外,其他参数都按引用进行传递。

2023-10-04 19:51:08 32 1

原创 Qt 杂记

文件名:main.cpp#include //Qt系统提供的标准类名声明头文件Widget w;w.show();//新建按钮this->setWindowTitle("这是标题");//设置标题//设置可拉伸窗口//设置不可拉伸窗口//在另一个窗口显示//设置按钮的父对象为窗口,这样按钮就在窗口上显示了//设置按钮位置Qt对象树:不全且杂乱无章:在Qt中,尽量在构造的时候就指定parent对象,并且大胆地在堆上构造。

2023-10-04 17:05:48 43 1

原创 Python学习杂记

理由分析(不确定正误):因为Python的内存分配是分配给数值20的,a,b,c,d的id是相同的,故可以链式赋值,(类似C++中的指针,但不同,如上,给b重新赋值,其它变量的赋值不会改变) 而C++的内存分配是分配给变量的,故abcd四个变量地址不同,无法这样分配。C/C++不支持链式赋值,如上情况会说:b,c,d为未定义标识符,即只定义了a变量,后面的不定义。此时a,b的地址是相同的,即是给20分配内存地址,而非给a,b分配,C/C++与此相反。),类型(数据类型),值。

2023-10-03 08:40:15 54 1

原创 数据结构(第二版)笔记

早期的计算机主要用于数值计算,现在,计算机主要用于非数值计算,包括处理字符,表格和图像等具有一定结构的数据。这些数据内容存在着某种联系,只有分清楚数据的内在联系,合理地组织数据,才能对它们进行有效的处理,设计出高效的算法。如何合理地组织数据、高效地处理数据,这就是“数据结构”主要研究的问题。本章简要介绍有关数据结构的基本概念和算法分析方法。

2023-09-25 09:22:04 194 2

原创 C/C++ 宏

define机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义宏(define macro)大致结构:自定义名 内容//其中的 parament-list 是一个由逗号隔开的符号表,它们可能出现在stuff中解释:把参数替换到文本中:宏仅仅替换文本,至于执行不归他管例如:int a=6;它的实际结果为:13 执行结构为:6+1*6+1 即13这就是仅仅替换文本,他不会加括号什么的,替换了是啥就是啥,再根据替换了的执行。

2023-09-23 11:16:55 37 1

原创 typedef 详解

例如:typedef unsigned int UINT。

2023-09-22 17:13:07 120 1

原创 共用体详解

共用体

2023-09-21 20:57:13 55 1

原创 部分逻辑运算符详解

逻辑运算符经常与if语句搭配使用,用它可以连接关系表达式,例如表示x是否在闭区间[+1,1]中可以表示为if (x >= 1 && x <= 1),表示x>=-1且x<=1那么此表达式的值才为“真”,才会执行if下的语句。的现象,例如当x=-2时,那么if (x >= 1 && x <= 1)这个语句的第一个语句x>-1就为假,此时就可以判断出这个逻辑语句的结果一定就为”假“,逻辑与(&&):逻辑与运算符的两个逻辑运算对象只要有一个为”假“,那么结果就是”假“,两个都为真,结果才为真。

2023-09-20 20:50:56 161 1

原创 printf()函数详解

printf()是C语言标准,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。格式化字符串包含三种对象,分别为:1、字符串常量2、格式控制字符串3、转义字符字符串常量鸳鸯输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。

2023-09-20 20:41:08 85 1

原创 变量命名规则

对于C语言来说,用户标识符的命名规则如下:标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。C语言规定,变量名的第一个字符必须是字母或者下划线,其后的字符必须是字母、数字或下划线,这不仅适用于变量名,而且适用于函数名、不能把C语言关键字作为用户标识符,例如if,for,while等。

2023-09-20 19:46:13 1055 2

原创 C++部分按位操作

异或,是一个数学,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:奇奇怪怪的例子: char a;a=3^2;则输出十进制a=1;理由:十进制3=二进制11;十进制2=二进制10;进行异或操作得到01,即十进制1异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1)

2023-09-20 10:51:35 53 1

原创 原码、反码、补码详解?

计算机底层存储数据时使用的是,但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字,而是存储该数字对应在了解原码,反码,补码之前,需要先了解。

2023-09-20 09:57:38 82 1

原创 typedef struct 与 struct区别

struct。

2023-09-19 08:02:50 2282 1

原创 指针、结构体

常量指针:指针指向可以改,指针指向的值不可改指针常量:指针指向不可改,指针指向的值可以改常指针常量:指针指向不可改,指针指向的值不可改补充:指针指向的诠释:若指针变量存放的是某个对象(这个对象一般来说是内存空 间)的地址,则称这个指针变量指向该对象。(上方同样诠释,防忘)

2023-08-27 11:51:59 116 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除