- 博客(41)
- 收藏
- 关注
转载 ROS学习资料
这篇博客主要是分享我目前涉及到的一些关于ROS机器人学习方面的资源,因为本人也是极其新手。所以资源方面可能不全面,但是这个博客会置顶,以后有资源了,就更新一下官网链接:学习ROS,必须入门的教程,就是官网的教程:创客智造:这个是我目前发现的最全面的,关于ROS的教程,全中文,甚至比ROS官网上的教程部分还要全面,因为它包括了ROS入门教程系列,把官网给翻译下来了,甚至还做了补充这里面包含了好多类型机器人教程,包括视频,代码等资料里面有很多知名的ROS系列的书籍,全部免费,这一点是最值得欣
2020-08-26 08:54:26 191
转载 高效的阅读论文
写在前面:1.本文转载自https://www.jiqizhixin.com/articles/2019-02-22-52.这篇文章实在是太精彩啦,醍醐灌顶,超级厉害。那句话怎么说的来着,读一本好书就是在和优秀的人对话。受益。和需要读论文的朋友们共勉!  ...
2020-04-25 16:43:54 206
原创 引用
.起别名,一个东西的两个名字(同一个地址) .在本地变量或全局变量必须要给出等号后面的名字 .在参数表或对象成员变量中可以不给出实际的名称.Rules of reference .References must be initialized when defined .Initialization establishes a binding. .In declaration ...
2020-04-18 22:04:12 181
原创 Const
.Declare a variable(常数) to have a constant value..Compile time constants. .const int bufsize = 1024; .value must be initialized .unless you make an explicit extern declaration . .extern cons...
2020-04-18 21:15:45 150
原创 new_delete
.动态的制造对象[动态内存分配] .相当于C中的malloc()函数,free()函数 .Dynamic memory allocation .new ->返回的是对应类型的地址 .例如: .new int ; //open sizeof int - memory segment .new Stash; //open a memory of class-Stash, and...
2020-04-13 20:48:12 121
原创 (1)类与对象
.自动售票机的例子[1-1.cpp] .:: 域解析符,表示后面的函数是隶属于前面的类 .如果::前面不加任何,则表明该函数是全局的;同样的,如果一个变量前面只有 ::则说明该变量为全局变量,加上类名则表示为成员变量...
2020-04-08 08:37:19 87
转载 Sublime Text快捷键
Sublime Text 支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能,还拥有代码片段(Snippet)的功能,可以将常用的代码片段保存起来,在需要时随时调用。支持 VIM 模式,可以使用Vim模式下的多数命令。支持宏,简单地说就是把操作录制下来或者自己编写命令,然后...
2020-04-07 10:50:21 157
原创 链表
.可变数组存在的问题: .每次内存不够用都要花时间赋值前一段空间的内容 .可能会遇到空间不够的情况.解决方案.不用复制,直接告诉下一块内存的位置,链接起来就能充分利用内存空间.制作一个单向链表[licked-list.c].node2.h#ifndef __NODE_H__#define __NODE_H__typedef struct _node{ int value;...
2020-04-06 08:20:48 97
原创 可变数组
思路:利用malloc函数为多出的数组元素开辟内存空间.声明头文件#ifndef __ARRAY_H__#define __ARRAY_H__/*****typedef struct { int* array; int size;} *Array;******/typedef struct { int* array; int size;} Array;const...
2020-04-03 08:24:00 122
原创 位运算
.应用于对计算机底层硬件操作.位运算.&按位的与|按位的或~按位取反^按位的异或<<左移>>右移.&:同为1则为1, 有一个0则为0.应用: .让某一位或某些位为0 .x & 0xFE (令x的最低位为0) .取一个数中的一段 .x & 0xFF int:3...
2020-04-01 22:04:09 106
原创 文件
.格式化输入输出[1-1.cpp] .printf .% [ flags ][width][.prec][hIL]type 例如:%d .scanf .%[flags]type .% [ flags ][width][.prec][hIL]typeFlags含义-左对齐+在前面放+或-(space)正数留空00填充...
2020-03-30 12:04:58 107
原创 大程序
.把函数原型放在一个头文件中(.h结尾)中,再需要调用 这个函数的源代码(.c文件)中 #include 这个头文件,就 能让编译器在编译时知道函数的原型.gcc编译多个 .c 文件: .gcc a.c b.c ….#include " " 还是<> .#include 有两种形式来指出要插入的文件 .""要求编译器首先在当前目录(.c文件所在的目 录)查找...
2020-03-27 19:36:22 365
转载 大程序-static作用
C语言:static作用(修饰函数、局部变量、全局变量)一、 static全局变量与普通的全局变量有什么区别 ? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。 全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方...
2020-03-27 11:29:01 109
原创 宏定义与编译预处理
.#开头是编译预处理指令.它们不是C语言的成分,但是C语言程序离不开它们.#define 定义一个宏.gcc 编译C文件时的过程: .cpp 文件经过编译预处理,将所有编译预处理内容都替换 完生成 .i 文件,经过编译生成汇编代码 .s, 汇编代码 文件经过汇编生成目标代码文件 .o,经过链接目标代码 文件生成可执行文件 a.out.define .#define <...
2020-03-26 22:25:07 527
原创 (1)Linux系统安装
.系统分区: .分区类型: .主分区:最多只能有4个 .扩展分区: .最多只能有1个 .主分区加扩展分区最多有4个 .不能写入数据,只能包含逻辑分区 .逻辑分区(可读可写) ...
2020-03-21 20:38:21 67
原创 (9)二维数组
1.二维数组的遍历 a[ i, j ]是a[ j ],不能表示二维数组.2.二维数组的初始化 .数组的列数是必须给出的,行数可以由编译器来数. .每行一个{ },逗号隔离. .最后的逗号可以保留,古老的传统. .如果省略,表示补0. .也可以固定位(C99 Only)3.tic - tac - toe 游戏 [ 1-9.cpp ] .读入一个3x3的矩阵,矩阵中的数...
2020-03-19 21:20:50 140
原创 (8)数组-7.2
1.数组的赋值 .数组变量本身不能被赋值[其本质为const指针常量] .要把数组的所有元素交给另一个数组,只能通过遍历 数组的形式.2.数组作为函数参数时,往往需要用另一个参数来传递参 数的大小 .应用实例:给出一个数组,找出指定数据在数组中的 位置,若找不到则返回"-1".[ 1-5.cpp ] .数组作为函数的参数时: .不能在[]中给出数组的大小,给...
2020-03-19 18:05:19 120 1
原创 (7)数组-7.1
数组本质上是一种容器1.数组本质上是一种容器(放东西的东西),特点: .其中所有的元素具有相同的数据类型. .一旦创建不能改变大小. .数组中的元素在内存中是连续依次排列的.2.有效的下表范围: .编译器和运行环境都不会检查数组下标是否越界,无 论对数组单元做读还是写.3.可以定义长度为0的数组,例如:int a[0]; 但是没有 用,没有有效的下标.时4.数组实例...
2020-03-19 15:43:38 147
原创 (6)函数-5.2
1 两种函数声明的区别 <1>void f(void); - 声明函数f,并且不接收函数参 数. <2>void f( ); 在传统C中,他表示f函数的参数表未 知,并不表示没有参数.所以有参数表时,一定要列出 参数表,并将参数类型对应此表,否则对于不同编译器 会有不同的处理, gcc 会给出 error .2 逗号预算符 逗号运算符出现在函数...
2020-03-19 07:33:30 72
原创 (5)函数-5.1
1、从函数中返回值:return 停止函数的运行,送回一个值。形式:a、return;b、return 表达式;2、函数声名时可不写变量名,只需说明函数的类型即可,因为编译器不会检查参数得名称,只检查参数类型。3、C语言在传统上最大的漏洞:a、调用函数时给定的值与参数的类型不匹配时。C语言不会报错。[ 1-1.cpp ]#include <stdio.h>void...
2020-03-18 21:30:12 89
原创 (3)逻辑运算
例:如何判断一个字符C是否为大写字母?关键点:c>=‘A’ && c<=‘Z’#include <stdio.h>int main(){ char chr; scanf("%c", &chr); if(chr>='A' && chr<='Z') printf("'%c' is 大写!\n", c...
2020-03-18 18:37:28 90
原创 (2)逻辑类型
如果使用逻辑类型,需要 #include <stdbool.h> ,之后就可以用 bool, true,false。注意:如果对一个布尔量赋一个整数( 除 0, 1 )编译器不会报错,但实际这个数的值仍为1。[ 1-1.cpp ]#include <stdio.h>#include <stdbool.h>int main(){ bool a = ...
2020-03-18 18:28:29 265
原创 (1)计算机与编程语言
程序的执行分为两种方式:1、解释:需要一种程序理解你写的程序,并运行它。例如,一般运行 python 程序需要一个解析器,可以直接运行源代码,也可在程序运行实时修改源代码。2、编译:需要一种程序,将我们写的程序转换成计算机直接能够运行的机器语言,然后将该机器代码保存下来供我们在计算机上直接运行。随着计算机运行速度的极大提高,两者几乎没有区别,按个人喜好选择运行程序的方式。...
2020-02-02 11:08:57 75
原创 Linux 系统简介
Linux系统主要分为内核版和发行版,其中内核版只有一套即linux之父托瓦尔兹研发的操作系统,它提供了可以直接操作计算机硬件的系统内核以及系统调用;而linux发行版有很多,其中最优秀的版本即Ubuntu系统,它是在Linux内核版的基础上,利用内核版的系统调用开发桌面环境等,直接对计算机硬件操作的仍然是Linux内核版....
2020-01-12 21:44:54 138
原创 python_learning_1
操作系统(OS)操作系统作为接口的示意图| 没有安装操作系统的计算机,称为裸机如果想在裸机上运行自己写的程序,就必须用机器语言书写程序如果计算机安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高 级语言开发程序.操作系统的作用:<1>对计算机硬件直接进行操作;<2>将对计算机硬件的操作封装成系统调用供程序员调用...
2020-01-12 21:03:49 98
转载 ros重映射与命名空间解析qubie
ros名称、命名空间和重映射 一 概论名称就是代号,ros中的节点、话题和参数的名称必须是唯一的,这很容易想到,如果你认识两个叫一样名字的人,单凭一个名字你是分辨不出来说的这个人到底是谁,所以 ros中的名称必须是唯一的。但是,这个规定与现实不符啊,分明现实中就有这种情况啊,所以我们很容易想到两种办法1 把两个人的名字前加点东西,如三班的A和四班的A(命名空间)2 分...
2019-11-21 19:36:12 296
原创 1. 创建一个功能包(package)
一、ros所有的进程都需要在工作空间下进行。首先,在/home文件夹(任何目录都可以)下创建一个工作空间:source /opt/ros/kinetic/setup.bash //source ROS的环境(安装系统时应该已经source过了,这里为了保险)cd /home mkdir -p catkin_ws/srccd catkin_ws/catkin_make //此时在/catk...
2019-11-19 11:11:50 1474
转载 windows / linux 不能连接wifi问题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-08 10:47:11 370
原创 Dijkstra算法实例
#include <iostream>using namespace std;#define MAX 8#define INF 0xffff// 邻接矩阵typedef struct _graph{ char vexs[MAX]; // 顶点集合 int vexnum; // 顶点数 int edgnum; // 边数 ...
2019-09-04 20:00:37 437
原创 DWA算法在局部路径规划中的应用
ROS的路径规划器分为全局路径和局部路径规划,其中局部路径规划器使用的最广的为dwa,个人理解为:首先全局路径规划会生成一条大致的全局路径,局部路径规划器会把全局路径给分段,然后根据分段的全局路径的坐标,进行局部重新规划,例如:全局规划后有一组目标点数组【1,2,3,4,5,......】,局部是根据当前速度和时间、约束条件,随机模拟出50条轨迹,选出最佳一条轨迹到达1号目标点,随...
2019-09-01 15:30:32 5422
原创 使用CSDN-markdown编辑器
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-08-30 21:56:22 67
转载 ubuntu搜狗输入法切换快捷键fcitx设置
一、 打开Fcitx配置分两种情况1. 在Bash中输入命令fcitx-configtool2. 点击“配置”,变打开Fcitx配置界面如图所示 3. 如果没有配置按钮,就点击“设置”如果所示 进入的这个设置,实际上是你安装的某个输入法的设置界面,在我机器上,就是搜狗的输入法设置。 然后,在该输入法设置界面中,找到“Fcitx...
2019-08-21 09:40:06 2511
原创 C++输出字符串的个数
int MyStrlen(char str[]) //读取字符串的个数{ char* p = str; int i = 0; while(*p++) i++; return i;}int main(){ char str[] = "feng Desheng is a student of QiLu Univ...
2019-08-20 21:32:45 1345
原创 C++输出字符串中每个字符的地址
C++把"cout << 字符型指针"这种输出格式安排给输出字符串了,就是说它被编译器解释为从指针开始一个接一个地输出内存单元里的字符,直到遇到’\0’时为止。要想输出地址你强制成别的类型就可以了:如cout << (void *)&c << endl;就可以!#include <iostream>using namespace std;...
2019-08-20 20:49:15 1939
原创 我对C++指针的理解
计算机中的存储设备为晶体管,每个晶体管有两种状态(0/1)-- 对应二进制 我们存储数据就是通过晶体管的状态,例如,要存储256,则至少需要8个晶体管。 1. 为了更好的管理,我们引入了内存:最小单位:bit(比特位) ,但是内存的最小管理单元为: byte(字节) == 8 bit – B2. 地址: 为了管理内存中的每个字节,内存每个字节都对应一个唯一正整数,这个整数称为 地址...
2019-08-20 11:36:02 178
原创 Linux g++/gcc中makefile 的使用
有时候我们要一次运行多个文件,这时候我们可以使用Makefile!!!◊make是什么? make是一个命令工具,是一个解释makefile中指令的命令工具。它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (or makefile) 这个文本文件,执行对应的操作。make 会自动的判别原始码是否经过变动了,而自动更新执行档。 ...
2019-08-17 19:24:59 956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人