自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nature的博客

记录一个SLAMer的成长。

  • 博客(26)
  • 收藏
  • 关注

原创 形参和实参的定义与区别

实参(argument):全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参(parameter):全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是...

2021-09-06 09:52:52 2775

原创 CMake 设置Target输出目录和后缀名

一.SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin)上面的语句能设置可执行文件的输出目录在Win + VS环境下,会自动在你所设置的目录后面扩展一层<CONFIG>目录,所以最终生成的Debug版本程序会在${PROJECT_SOURCE_DIR}/../bin/Debug 目录下,Release版本程序会在${PROJECT_SOURCE_DIR}/../bin/Release 目录下.在Linux + G...

2021-09-03 17:21:15 807

原创 RANSAC算法在slam特征匹配时的应用

#include <iostream> #include "opencv2/opencv.hpp" #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" using namespace cv;using namespace std;int main(int argc, char** argv).

2021-09-03 16:03:04 703

原创 解决在linux系统、Ubuntu18.04中程序运行速度很慢的问题

我的是个小问题。只是忘了加一句话。在CmakeLists里设定编译方式为release.迭代速度直接从9s一次降到0.1s一次。嗯。长记性。set(CMAKE_BUILD_TYPE "Release")

2021-07-18 23:22:57 682

原创 没有那个文件或目录 #include <cs.h> 找不到CSparse的解决方案

本文是在改动slam14讲ch9中的g2o部分代码衍生的问题。博主本人已经完整安装了g2o库,因此不采用原书代码中的cmake文件中的库。问题1:/usr/local/include/g2o/solvers/csparse/csparse_extension.h:27:10: fatal error: cs.h: 没有那个文件或目录#include <cs.h> ^~~~~~compilation terminated.make[3]: *** [CMakeF...

2021-07-18 16:32:08 3862 3

原创 在Ubuntu 18.04 上安装 meshlab的方法和步骤

第一步:导入秘钥sudo add-apt-repository ppa:zarquon42/meshlab此步骤后极有可能出现错误:出现此问题,需要在软件和更新,其他软件中更改软件源信息。可以得到如下结果,勾选xenial的软件源。关闭时。可能跳出重新载入的按钮,点击重新载入即可。第二步:sudo apt-get update第三步:sudo apt-get install meshlab...

2021-07-16 21:54:58 390

原创 视觉slam14讲 第七章 后端

后端很多时候都不是实时的,可以是计算慢一些的一个独立的线程,但是也要限制在一定的范围内。1.递归方法观测,使得运动过程的不确定性减小,是一个矫正的过程。卡尔曼滤波包含了预测和矫正。矫正会使当前的不确定性减小。预测部分采用运动方程。递归需要假设马尔科夫性。如果不假设,就是批量的方法了。2.批量方法3.pose graph...

2021-07-16 18:39:58 245 1

原创 视觉SLAM14讲 第六章 光流法与直接法

1.光流法通过其他方式寻找匹配点。 track 跟踪。追踪点在图像间的运动关系。得到匹对点后,后续计算与特征法 VO中相同。实际中使用的光流会根据使用进行一定的改善。相对亮度不变假设。2.直接法直接法,直接用投影关系。点和点之间的匹配是通过投影关系决定的,而不是说通过特征匹配证明这两个点是同一个点。自变量变成了,相机本身的运动R,t。...

2021-07-07 21:14:19 504

原创 视觉SLAM14讲 第五章 特征点法视觉里程计

目录1.特征点提取与匹配1.1 以ORB为例 oriented fast and brief2. 2D-2D 对极几何3. 3D-2D PnP4. 3D-3D ICP1.特征点提取与匹配观测模型中利用了每个点的像素坐标,所以首先我们要根据图像的到点的坐标。在图片中提取特征点,找利于区别的点——角特征点。特征点在图像中可以由像素坐标来描述,也可能会有大小,方向,评分来评价点。描述子是用来判断这几个点是不是同一个点的。二进制描述子 [0 1 01 1 10……

2021-07-03 17:04:15 328

转载 g2o error2 slam十四讲ch6中的报错

error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file or directory在默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通过源码包进行安装时,如果不指定--prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加 /usr/local/lib这个目录。这样虽然安装了源码包,但是使用时

2021-06-23 16:56:29 433

原创 近期要学习的

数学基础已经忘得差不多了,以及线代本科学的不够深入。因此,近期打算slam和c++学习外,补充知识。北理史荣昌的《矩阵分析》、清华张贤达的《矩阵分析与应用》SLAM十四讲的有些代码没有好好看,要看一下。PCL模块,处理点云pcl-toolssudo apt-get install libpcl-dev pcl-tools...

2021-06-22 15:20:54 94

原创 视觉SLAM14讲 第四章 相机模型 非线性优化

1.针孔相机模型与图像2.批量状态估计问题3.非线性最小二乘法实践:Ceres和g2o

2021-06-22 14:37:48 487

原创 线性代数导论:含义、集合、空间、线性空间、线性映射

线性代数是研究向量和矩阵的代数。代数的本意是抽象。线性映射→矩阵→算子单个映射可以理解为函数dang

2021-06-20 14:14:31 421

原创 视觉SLAM14讲第三讲作业绘制轨迹解析

#include <sophus/se3.hpp>#include <string>#include <iostream>#include <fstream>#include <unistd.h>// need pangolin for plotting trajectory#include <pangolin/pangolin.h>using namespace std;// path to trajectory.

2021-06-19 19:09:34 641

原创 C++中的文件读写操作

在做SLAM作业的时候,要读取文件中的位姿信息,所以呢,就借此机会总结一下。首先:#include <fstream>yin

2021-06-19 15:29:07 106

原创 视觉SLAM14讲 第二章 三维空间的刚体运动

点与坐标系、旋转矩阵、旋转向量和欧拉角、四元数以及我们要学习一个很重要的库:矩阵运算库EigenEigen主要会用到 o'c're

2021-06-19 15:07:06 146

原创 视觉SLAM14讲 第三章 李群与李代数

最近毕业,真的很忙,调整了一阵子工作状态和心态,要开始继续学习了。一、群二、李群与李代数三、指数映射与对数映射四、求导和

2021-06-17 15:19:33 410

原创 视觉SLAM14讲 第一章 概述

定位与建图=内外兼修定位侧重对自身的了解,建图侧重对外在的了解。两者是相互依赖、相互关联的问题。准确的定位需要准确的建图,tong

2021-05-28 19:20:48 73

原创 如何使用外部共享库和头文件CMAKE PRACTICE第六章

接上一节自己创建库文件和头文件,这一节学习用别人的。上一节的回顾:①通过 ADD_LIBRARY 指令构建动态库(.so)和静态库(.a)。②通过 SET_TARGET_PROPERTIES 同时构建同名的动态库和静态库。③通过 SET_TARGET_PROPERTIES 控制动态库版本 SET_TARGET_PROPERTIES(动态库名 PROPERTIES VERSION x.x SOVERSION x)④最终使用 INSTALL 指令来安装头文件和动态、静态库。 INSTA...

2021-05-27 19:37:54 256

原创 静态库与动态库(共享库)的构建 cmake practice第五章

今日份动力不足,困唧唧的,下午才开始干点事。回顾上一节已经学会了:①利用文件夹管理源文件、库等等,例如src、doc、lib #当源码放入src文件中,需要单独在文件夹中编写CMakeLists.txt。在主目录上写工程总CMakeLists. #单独的src文件中的CMakeLists一般要写加入函数,加入库,即ADD_EXECUTABLE()、ADD_LIBRARY(). #主目录中的CMakeList用来构建工程 、设置编译后的二进制文件和中间文件的存在位置、 设置安装...

2021-05-27 15:56:37 127 2

转载 CMAKE常用指令

https://cmake.org/cmake/help/latest/index.html任何你不熟悉的语句,可以参考此网页PROJECT(工程名字) 这条指令会自动创建两个变量:<project name>_BINARY_DIR(二进制文件保存路径) <project name>_SOURCE_DIR(源代码路径)Cmake 系统也帮助我们预定义了 PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等SE...

2021-05-26 16:18:13 237

原创 编写一个更好的HelloWorld、改变目标二进制的存放位置

在编译C++工程时,为了更好的利用cmake,方便管理cmake过程中产生的中间文件,我们大都采用外部构建的方式。默认构建目录是工程目录下的build文件夹。基本操作流程为:终端输入:mkdir buildcd buildcmake ..make ./(执行文件)本节的任务是让 Hello World 更像一个工程,我们需要作的是:1,为工程添加一个子目录 src,用来放置工程源代码;2,添加一个子目录 doc,用来放置这个工程的文档 hello.txt3,在工程目录添加

2021-05-26 15:55:05 368 1

原创 C++中的共享库和静态库

在Linux中,分为共享库和静态库。静态库以.a结尾。 ——每次被调用都会生成一个副本,占用内存资源共享库以.so结尾 ——只有一个副本。假设函数文件为hello.cpp#生成静态库 CMakeLists.txt中:add_library(hellolib hello.cpp)#add_library(库名,包含的函数文件)#生成动态库 CMakeLists.txt中:add_library(hellolib_shared SHARED hello.cpp)#add_l.

2021-05-26 13:55:52 743 1

原创 关于C++类模板template<typename T>的使用

template是C++11引用的关键字模板。在阅读代码中遇到,因此展开了相关的学习。template的使用方式有两种。template <typename 类型参数>class 类名{ 类成员声明 };或者template <class 类型参数>class 类名{ 类成员声明 };两种表达方式是没有区别的。类型参数,在调用函数时候可以替换为需要的数据类型,例如:int,char,string等等。我理解的这样

2021-05-14 21:43:22 7885 2

原创 C++中的多线程std::thread 简单应用

在SLAM当中,会涉及到多线程的问题。想来,大型的项目,也大都会用到多个线程进行管理。C++中,想要创建多个线程,需要引入头文件。#include<thread>浅显的理解,创建多线程的过程:①定义一个线程函数void T1(){//函数内容}②定义线程对象 std::thread 线程对象(线程函数);std::thread t(T1);③当线程创建成功并执行线程函数后,一定要保证线程函数运行结束才能退出,调用了join()函数阻塞线程,直到线程函

2021-05-14 16:05:38 343 1

转载 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

https://blog.csdn.net/qq_41629619/article/details/91467378?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-

2020-10-10 10:46:47 79

空空如也

空空如也

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

TA关注的人

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