自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu 18.04 安装 AutoWare 1.14.0(附踩坑指南)

ubuntu 18.04 安装 AutoWare 1.14.0(附踩坑指南)1、安装autoware 1.14.01.1、安装依赖项:一、安装cmake 3.12.2以上版本二、System dependencies for Ubuntu 18.04 / Melodic三、安装 CUDA 10.2四、安装Eigen 3.3.7五、安装protobuf2、编译错误处理2.1、ndt_gpu中CUDA报错:2.2、lpthread报错2.3、OpenCV报错1、安装autoware 1.14.0参考官方文档

2021-02-08 16:21:57 7480 14

原创 cartographer使用笔记

cartographer-ros使用指南一、Cartographer-ros的安装:1.1 安装Cartographer1.2 安装cartographer-ros二、使用官方数据集跑cartographer三、使用VLP-16跑cartographer3.1 二维定位与建图:3.2 三维定位与建图:一、Cartographer-ros的安装:1.1 安装Cartographer   参考官方文档安装即可。   https://google-cartographer.readthedocs.io/e

2021-01-16 20:55:31 2946

原创 C/C++基础 -- 析构函数

C/C++基础 -- 析构函数1、析构函数1.1、析构函数的定义1.2、何时调用析构函数1.3、合成析构函数2、何时需要编写析构函数*3、析构函数三法则*4、构造函数和析构函数的调用次序5、实例:本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)1、析构函数1.1、析构函数的定义  当对象脱离其作用域时(例如对象所在的函数已调用完毕), 系统会自动执行析构函数。 析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一段内存空间, 则在该对象消亡前应在析构函数中用de

2020-07-08 13:08:14 1144

原创 SLAM基础 —— 视觉与IMU融合(VIO基础理论)

1. 基于Bundle Adjustment的VIO融合#&8195;#&8195;2.最小二乘问题的求解2.1 损失函数2.1.1 定义  找到一个 nnn 维的变量 n∗∈Rnn^* \in \mathbb{R}^nn∗∈Rn,使得损失函数 F(x)F(x)F(x) 取局部最小值:F(x)=12∑i=1m(fi(x))2F(x) = \frac{1}{2}\sum_...

2020-06-11 11:03:12 9114 2

原创 SLAM基础——IMU传感器(IMU误差模型、IMU离散积分)

1. 旋转运动学一、线速度和加速度  假设物体(点)在坐标系中 z=hz = hz=h 的平面中做圆周运动,则该物体的坐标为: r=(acos⁡θ,asin⁡θ,h)Tr = (a\cos \theta,a\sin \theta, h) ^Tr=(acosθ,asinθ,h)T  坐标的导数为: r=(−aθ˙cos⁡θ,aθ˙sin⁡θ,0)T  =[0−θ˙0θ˙00...

2020-05-17 17:12:33 10024 7

原创 SLAM基础——四元数(含四元数对时间的导数)

1.四元数  SLAM中的旋转矩阵 R\mathrm{R}R 可以用四元数 qqq 来表示  单位四元数可表达任意三维旋转,且无奇异性。  一个四元数 qqq 具有一个实部和三个虚部。将实部写在前,虚部写在后,则有:q=[q0,q1,q2,q3]T 或 q=[w,x,y,z]Tq=[q_0,q_1, q_2, q_3]^T \ 或 \ q=[w,x,y,z]^Tq=[q0​,q1​,q2​,q3​]T 或 q=[w,x,y,z]T  其中 q0q_0q0​

2020-05-17 16:59:33 5874

原创 ROS:Dynamic Reconfigure 动态参数调节

1、什么是动态参数调节  ROS中的参数服务器无法在线动态更新,也就是说如果Listener不主动查询参数值,就无法获知Talker是否已经修改了参数。这就对ROS参数服务器的使用造成了很大的局限,很多场景下我们还是需要动态更新参数的机制,例如参数调试、功能切换等,所以ROS提供了另外一个非常有用的功能包 —— dynamic_reconfigure,实现这种动态配置参数的机制。  动态重配置...

2019-11-06 13:03:17 6321 7

原创 激光SLAM基础(1) —— 激光SLAM框架和基本数学理论

激光SLAM笔记(1)——激光SLAM框架和基本数学理论1、SLAM分类1.1、基于传感器的分类1.2、基于后端的分类2、激光SLAM算法(基于优化的算法)2.1、激光SLAM算法的流程2.2、激光SLAM常用算法2.3、激光SLAM在实际环境中的问题3、激光SLAM算法介绍3.1、2D激光SLAM3.2、3D激光SLAM1、SLAM分类1.1、基于传感器的分类1.2、基于后端的分类 ...

2019-10-25 22:05:00 17771 10

原创 C/C++基础 -- 复制构造函数和深浅复制

C/C++基础 -- 构造函数 constructor1、复制构造函数1.1、什么是复制构造函数1.2、复制构造函数的定义1.3、合成复制构造函数1.4、复制构造函数的使用2、深复制和浅复制本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)1、复制构造函数1.1、什么是复制构造函数  复制构造函数又称为拷贝构造函数,它是一种特殊的构造函数。它的作用是用一个已经生成的对象来...

2019-10-16 17:27:45 379

原创 IRON:鲁棒性NDT地图匹配的Fast兴趣特征点描述子及其在机器人定位中的应用 -- 原理篇

IRON:鲁棒性NDT地图匹配的Fast兴趣特征点描述子及其在机器人定位中的应用IRON:A Fast Interest Point Descriptor for Robust NDT-Map Matching and its Application to Robot Localization1、本文主要贡献贡献: 基于3D-NDT(正态分布变换)算法,提出了IRON特征点探测器和IRO...

2019-10-15 15:46:09 778

原创 C/C++基础 -- 构造函数 constructor

C/C++基础 -- 构造函数 constructor1、什么是构造函数2、构造函数的定义2.1、定义构造函数2.2、关于构造函数的说明2.3、构造函数初始化列表3、构造函数的重载4、带默认参数的构造函数关于构造函数默认参数的说明本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)1、什么是构造函数  我们在建立一个对象时,通常需要立即对这个对象进行初始化,如对数据成员的赋值...

2019-10-15 15:43:04 1721

原创 ORB_SLAM2代码逻辑分析(2.1) -- Tracking线程(Tracking类) -- 位姿估计

ORB_SLAM2代码逻辑分析2 -- Track线程(Tracking类1、图像输入1.1、图像处理流程1.2、帧的构造2、Tracking线程  上篇文章(博文链接如下)我们了解到,程序真正的入口实在Tracking.cc中的GrabImageRGBD函数中实现的。这篇博文,我就主要扒一下Tracking文件中对Tracker的实现,其中可能涉及到一些比较细节的函数(比如特征点检测),我以后...

2019-10-09 17:00:09 1062

原创 C/C++基础 -- 类的定义与实现(2):类的数据成员、类的成员函数、类的声明

C/C++基础 —— 类的定义与实现(2)本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)

2019-09-30 16:05:01 2410

原创 C/C++基础 -- 类的定义与实现(1):什么是类

C/C++基础 -- 类的定义1、面向对象的程序设计1.1、C和C++程序设计思想的差异1.2、面向对象的程序设计的重要概念2、类2.1、类的定义本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)1、面向对象的程序设计1.1、C和C++程序设计思想的差异  首先我要对比一下C和C++在程序设计思想上的不同:C语言 – 面向过程的程序设计思想1)自定向下,逐步求精2)...

2019-09-27 16:14:28 2914

原创 C/C++基础 -- 预处理命令(宏定义、文件包含、条件编译)

C/C++基础 -- 预处理命令1、预处理命令2、宏定义2.1、不带参数的宏定义2.2、带参数的宏定义3、# 和 ## 预处理运算3.1、# 预处理运算符3.2、## 预处理运算符4、文件包含本博文由 西北工业大学MOOC 总结而来,以备以后回顾。(侵删)1、预处理命令什么是预处理命令  在C++文件中,只要是以 “#” 开头的命令都称为预处理命令。  预处理命令不是C++本身的组成...

2019-09-20 18:24:17 2359

原创 ORB_SLAM2代码逻辑分析(1) -- 代码架构(system类)

文章目录1、系统基本构成1.1、三大线程及其功能1.2、关键数据类型2、程序入口2.1、系统初始化2.2、system类成员解析2.3、system类方法解析1、系统基本构成1.1、三大线程及其功能  ORB_SLAM系统分为三大线程(这一点可以去看论文),每个线程有如下功能:1)主线程:Tracking线程就是在主线程上 这一部分主要工作是从图像中提取ORB特征,根据上一帧进行姿态估计...

2019-09-19 20:20:40 609

原创 C/C++基础 -- 引用和指向函数的指针

C/C++基础 -- 引用和指向函数的指针1、引用1.1、引用的声明1.2、引用的规则1.3、引用作为函数的参数1.4、引用作为函数的返回值2、指向函数的指针2.1、函数指针的定义2.2、函数指针的用途例:1、引用  直接访问:优点是对变量操作直观,缺点是函数内部不能使用另一个函数的局部变量。  通过指针(或地址)间接访问对象,优点是功能强大,缺点是程序种出现大量间接访问会降低代码的易读性。...

2019-09-17 18:43:53 516

原创 C/C++基础 -- 指针作为函数的参数

C/C++基础 -- 指针与函数1、指针作为函数的参数1.1、指针作为函数的形参1.1、指针作为函数的形参1.2、通过指针形参返回多个运算结果本博文由 西北工业大学MOOC 总结而来,以备以后回顾。1、指针作为函数的参数  指针作为函数参数最重要的应用是作为函数参数,它使得被调函数除了返回值以外,能够将更多的运算结果返回到主调函数中。指针是重要的函数参数传递工具。1.1、指针作为函数的...

2019-09-17 10:14:27 3571

原创 C/C++基础 -- 指针与数组、字符串(包含二维数组)

C++基础 -- 指针与数组1、一维数组和指针1.1、一维数组的地址1.2、指向一维数组的指针变量1.3、通过指针访问一维数组元素1、一维数组和指针1.1、一维数组的地址  数组由若干元素组成,每个元素都有相应的地址,通过取址运算符(&)可以得到每个元素的地址。  C++规定,数组名既代表数组本身,又代表整个数组的地址,还是数组首元素的地址。即a与a的第0个元素的地址&a...

2019-09-07 16:53:17 2315

原创 C/C++基础 -- 指针的定义和使用

C++基础 -- 指针的定义和使用1、指针的定义1.1、地址和指针的概念1.2、指针的定义1.3、指针的间接访问1.4、指针的初始化1、指针的定义1.1、地址和指针的概念  程序中的数据对象总是存放在内存中的,在其生命周期内这些对象占据一定的存储空间,有确定的存储位置  实际上,每个内存单元都有一个地址,即以字节为单位连续编码。编译器将程序中的对象名转换成机器指令能识别的地址,通过地址来存...

2019-09-05 11:33:41 1628

原创 C/C++基础 -- string类型

C++基础 -- 内联函数string类1、使用string类的优点:2、string类的使用:2.1、string类的头文件:2.2、string对象的定义和初始化:2.3、string对象的引用:2.4、string对象的输入与输出:* 2.5、string对象与C风格字符串的转换3、string对象的操作:3.1、string对象赋值3.2、string对象连接运算3.3、string对象关...

2019-09-03 09:36:30 417

原创 C/C++基础 -- 程序的组织结构(头文件和内外部函数)

C++基础 -- 程序的组织结构一、内部函数和外部函数1、内部函数2、内部函数二、头文件和工程文件1、头文件2、工程文件本博文由 西北工业大学MOOC 总结而来,以备以后回顾。一、内部函数和外部函数函数本质上是全局的,在多文件的程序中,在连接时会检查全局作用域内是否名字唯一,如果不是则出现链接错误。1、内部函数在函数定义前加上static修饰符,则函数称为内部函数,定义形式为:st...

2019-08-29 11:11:41 687

原创 C/C++基础 -- 内联函数

C++基础1 -- 内联函数内联函数1.什么是内联函数2.内联函数的定义3.内联函数的实例内联函数1.什么是内联函数内联函数:在编译时将被调函数的代码直接嵌入到主调函数中,取消调用这个环节,这种嵌入到主调函数中的函数称为内联函数。2.内联函数的定义内联函数的声明是在函数定义的类型前加上 inline 修饰符,定义形式为:inline 返回类型 函数名(形参列表){ 函数体}注...

2019-08-21 19:15:52 216

原创 (超实用)Ubuntu下配置和使用GitHub

Ubuntu下配置和使用GitHub配置github环境安装配置git服务器:配置ssh公钥使用github管理项目1、在你的github中创建一个新的仓库2、仓库初始化:进入需要git的项目目录3、配置git:4、建立本地库与github关联5、添加托管文件:6、commit项目:7、上传项目:git常用命令配置github环境安装配置git服务器:(1)安装ssh:sudo apt-ge...

2019-07-04 20:29:46 956

恩智浦智能 信标组 车国一程序参考

飞思卡尔/恩智浦智能车竞赛 信标组 全国一等奖的参考程序,很适合入门者阅读! 处理器为K60,欧姆龙mini光电编码器,OV7725摄像头

2018-11-06

空空如也

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

TA关注的人

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