自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kkt条件理解

参考:链接链接我们以这个为例,也就是一个不等式约束:minf(x)minf(x)minf(x) s.t.g(x)≤0s.t.g(x)≤0s.t.g(x)≤0也就是要对f(x)求最小值,但是要保证取得x的值去计算g(x)的值要小于0.第一种最简单的情况是g(x)

2023-07-25 15:05:27 653

原创 lego_loam配置使用

下载之后对lego源码、rslidar-sdk、雷达格式转换三部分进行编译,将前两者放入src中即可然后catkin_make即可。(1) 将文件顶部的set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)(3) 将rslidar_sdk工程目录下的package_ros1.xml文件重命名为package.xml。4可以在_ws/src/rs_to_velodyne/src/rs_to_velodyne-master中创建。

2023-07-07 20:53:05 667

原创 回调函数理解

回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。接收到的不同的函数地址,然后通过Handle中的Callback();语句来对传入的函数进行执行。可以看到当在main函数中执行Handle函数的时候,Handle函数中根据。简单来说,当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。

2023-07-06 16:05:39 236

原创 Ubuntu使用ssh连接两个主机

然后再启动即可:ssh -X xtark@服务端地址。首先在两个主机分别终端输入:ifconfig。输入:nautilus打开文件管理器--成功。前提:两者连接同一个WiFi(局域网)ssh -X xtark@服务端地址。服务端:xtark@地址。客户端:gzy@地址。

2023-06-02 22:46:22 1018 1

原创 operator重载运算符

是一个关键字,用于定义和重载运算符。运算符重载是C++的一个强大特性,允许你重新定义内置的运算符,以便它们适用于自定义的数据类型或类对象。最后return是你运算完之后返回的值。

2023-05-29 20:31:01 218

原创 eigen库使用笔记

当你的预选之后可以看到对应的定义。

2023-05-17 21:43:24 254

原创 Ubuntu18.04 cartographer

【代码】Ubuntu18.04 cartographer。

2023-05-06 12:40:30 591

原创 string、、vector、queue、list、map、stack

【代码】string、queue、list、map、stack。

2023-04-29 14:31:33 86

原创 数据结构-链表

创建一个链表的node,

2023-04-27 15:05:51 52

转载 c++算法准备

下载后要去setting-environment-terminal to launch programs进行修改为gnome。

2023-04-25 22:15:23 89

原创 ubuntu18.04安装运行A-LOAM

询问的chatgpt:根据Ceres Solver的官方文档,Ceres Solver 1.10.0及以上版本支持Eigen 3.2.10。因此,您可以使用Ceres Solver 1.10.0及以上版本来与Eigen 3.2.10一起使用。

2023-04-25 15:30:41 789 3

原创 c++多线程

多线程并发指的是在同一个进程中执行多个线程,线程是轻量级的进程,同一进程中的多个线程共享相同的地址空间,可以访问进程中的大部分数据,指针和引用可以在线程间进行传递。

2023-04-12 22:01:29 485

原创 zotero的Ubuntu使用

数据库的导入导出:编辑-首选项-高级-文件和文件夹-数据存储位置。即可在开始菜单中找到。

2023-04-12 16:01:49 562

原创 Ubuntu18.04 realsenseD435i ROS orbslam2

感谢大佬的文章:基于深度相机 RealSense D435i 的 ORB SLAM 2 - 简书 之前一直使用Kinect进行尝试,但是一直点云都出不来Ubuntu安装、重装_echo_gou的博客-CSDN博客在 ORB SLAM 2 中那些很炫酷的实时建图画面是通过 Pangolin 实现的。Pangolin 是一个轻量级的开发库,控制 OpenGL 的显示、交互等。Pangolin 的核心依赖是 OpenGL 和 GLEW。测试:PCL其中是一个压缩包和文件

2023-03-29 16:08:01 1220

原创 orbslam2:OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage

2 检查yaml文件的内容的格式是否有问题,我之前就是将格式改动了一点就会报错。1 检查y引用aml文件的路径是否正确。

2023-03-28 21:47:30 1128

原创 ubuntu18.04下的opencv等库的多版本安装使用

其中CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.1是自己创建的文件夹,以前默认的是/usr/local,为了和之前的不起冲突,所以创建文件夹。然后:sudo make -j15。可以看到已经安装好了。

2023-03-24 16:19:46 483

原创 cmake practice笔记

本文为Cmake Practice--Cjacker这本电子书的实践笔记,作者之前将这个cmake过过一次手,现在再来写一个笔记,对之前不是很理解知识的有了新的的认知。

2023-03-14 16:38:33 331

原创 ubuntu18.04 vscode配置使用

【代码】ubuntu18.04 vscode配置使用。

2023-03-11 14:53:58 1582

原创 ORB_SLAM2+realsense运行稠密建图

即:然后 chmod +x build.sh 和 chmod +x build_ros.sh 赋予执行权限然后编译: ./build.sh然后: build_ros.sh如果报错:在对应(xxx/Examples/ROS/ORB_SLAM2)CMakeLists中加入以下:

2023-03-09 17:35:49 1280

原创 ubuntu18.04的PCL安装和配置

这里我把它下载到我自己创建的文件夹/home/gzy/my_local_lib中,所以程序在调用这个库的时候,都要在CMakeLists.txt里设置PCLConfig.cmake这个文件所在目录,之后才能在CMakeLists.txt里面使用find_package(),其中,PCL_DIR的值是PCLConfig.cmake这个文件所在的目录。注:之前尝试的时候下载的pcl版本是1.7的,然后在make这一步的时候就报错,应该是和eigen库的版本不匹配导致的,我的eigen库版本是3.3.4。

2023-03-07 15:21:29 1116 1

原创 关于.bashrc和setup.bash的理解

【代码】setup.bash。

2023-03-01 15:06:22 2004

原创 ros下用kinectv2运行orbslam2

vim 、 cmake 、 git 、 gcc 、 g++ 这些一般都装了主要是Pangolin 、 OpenCV 、 Eigen的安装。

2023-02-24 10:42:47 1568

原创 霍夫hough变换直线检测浅显理解

这个式子中,然后分别对θ取四个分别范围在0-90 90-180 180-270 270-360的值(比如我们取得四个值为1,91,181,271),然后就可以根据这四个θ的值算出r的值,根据不同的θ算出的r的值累加到一个矩阵中进行统计,公式中,然后绘制出响应的图像,相交点对应的r和θ代表的直线就是我们想要提取的直线。然后我们一行一行的遍历图像的像素点,将位于颜色突变的像素点的坐标提取出来进行“投票”。,最后得票数越多的元素所代表的直线最有可能是我们想要提取的。其中θ和r是固定的两个值。

2022-11-08 20:16:35 405

原创 cmake笔记

注:SHARE是动态库,STATIC是静态库,静态库会在编译的时候直接整合到目标程序中,编译成功后离开这个静态库也是可以运行的,但是动态库在编译时就不会整合到程序中,编译后离开动态库就不可运行了。静态库后缀为.a或者.lib,动态为.so或者.dll。添加需要链接的共享库,第一个参数为add_executable(sayhello main.cpp)里面的sayhello生成的可执行文件。添加include目录存放.h文件,include是当前目录下一个文件夹的名字,文件夹中有.h文件。

2022-10-25 20:10:52 525

原创 c++的struct和class

struct没有继承,没有封装,要说封装只有初步封装。而class把数据,接口可以以三种类型封装,private,public,protected;还可以继承和派生。它们都可以提供自己的接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据的集合,外部可以任意访问,但是类就完成了封装,维护了数据安全,这就是面向对象的理念。

2022-10-25 14:17:39 651

原创 结构体,class

struct没有继承,没有封装,要说封装只有初步封装。而class把数据,接口可以以三种类型封装,private,public,protected;还可以继承和派生。它们都可以提供自己的接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据的集合,外部可以任意访问,但是类就完成了封装,维护了数据安全,这就是面向对象的理念。

2022-10-24 21:18:43 316

原创 Sophus安装使用避坑

因为使用gitclone下载的是新版的sophus,是基于模板类的,它对应的头文件是。打开 Sophus/sophus/so2.cpp文件。,而基于非模板类的sophus 对应的头文件是。同时需要注意的是在编写代码的时候。

2022-10-24 15:03:58 404

原创 for(auto ite:xxx)

每一次遍历for循环都会从遍历的对象中选取一个单位的对象放入ite迭代器中,所以我们每次对ite进行操作的时候,就是相当于对每个单位的元素进行遍历。for(auto ite:a)和for(auto ite:&a)两者在迭代的时候,&可以连着一起改变变量a的值。还可对map,string,vector等进行迭代。

2022-10-20 16:10:32 401

原创 向量的叉乘和点乘

从代数角度看,点积是对两个向量对应位置上的值相乘再相加的操作,其结果即为点积。从几何角度看,点积是两个向量的长度与它们夹角余弦的积。

2022-10-18 20:23:10 314

原创 视觉slam十四讲 学习笔记-5

信息:位置、覆盖的大小、朝向等通过在一个矩形中将亮度的值看做质量,然后去计算他的质心,然后通过图像中心和质心的连线就可以得出角点的方向,这样就得出了图像之间的旋转和匹配关系。ORB 特征亦由关键点和描述子两部分组成:BRIEF描述子: 随机取多对坐标点(pi,qi),eg:如果p处的值大于q我们就记作1,否则记为0,这样多个点组成的一个1维矩阵就为BRIEF描述(通常为128对,即128*1的矩阵),这个描述是具有较好的鲁棒性的。下图就表示5种取pq点的方式(随机或者按照某种固定方式)。

2022-10-17 15:05:45 614

原创 template <typename T>

【代码】template

2022-10-13 15:34:47 88

原创 概率论知识

P(A|B):在条件B发生的情况下,A发生的概率。

2022-10-12 11:19:37 907

原创 视觉slam十四讲 学习笔记-4

下图中:u 轴向右与 x 轴平行,v轴向下与 y 轴平行,像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。我们设像素坐标在 u 轴上缩放了 α 倍,在 v 上缩放了 β 倍。同时,原点平移了 [c x , c y ] T。中的括号就是先将世界坐标系转化为相机的坐标系,然后乘以K内参矩阵再进行一次转换。上图中:中间的量组成的矩阵称为相机的内参数矩阵K,世界坐标记为Pw,上图中的矩阵形式乘开即为展开形式,其中矩阵即为内参矩阵K。这里分别是齐次和非齐次的表示方式。(即表示的是缩放和平移)

2022-09-29 20:47:46 697

原创 视觉slam十四讲 学习笔记-3(李群和李代数)

用于在a'=Ra+t中对于R进行微调的情况,因为R是一个正交矩阵,不能像向量一样对其进行直接的简单相加。这一部分就是一个反对称矩阵即矩阵的转置等于矩阵的逆,下图中。令t0=0,R(0)=I ,然后在0处进行泰勒展开。高等数学里以自然常数e为底的指数函数。这里R上面有一个点表示的是导数,

2022-09-27 14:43:24 945

原创 视觉slam十四讲 学习笔记-2

运用:在一个坐标系e下的的向量通过乘以e到e'之间的旋转矩阵可以变换成e'下的向量a=Ra',其中R就是旋转矩阵。图中a和a'分别表示一个任意向量p分别在e和e;坐标系下的向量坐标。旋转矩阵和他的性质之间是可以互推的关系这样两个坐标系之间的运动就可以用R和t来完全描述(R是旋转矩阵,t是平移)简化书写形式(齐次的坐标):变换矩阵的集合称为。

2022-09-26 16:55:21 447

原创 四元数学习笔记

所以共轭复数关于实轴对称。

2022-09-26 15:39:37 270

原创 复数乘法的几何意义

复坐标下的向量有两种描述方式: 一个是a+bi的形式、另外一个是幅角加上模长的方式。,结果的幅角等于两个复数的幅角相加,结果的长度等于两个复数模长的乘积。

2022-09-21 15:32:08 7868

原创 线性代数笔记

这里相乘是点乘。

2022-09-20 17:56:50 175

原创 视觉slam十四讲 学习笔记-1

运动方程和观测方程:Xk代表相机的本时刻的运动和上一次运动之间的关系;Zkj表示的是第k时刻相机和第j个物体之间的距离信息。

2022-09-06 18:16:27 436

原创 slam学习

1、视觉SLAM:ORB-SLAM2(必学基础)2、视觉惯性SLAM:ORB-SLAM3,VINS-Mono、VINS-Fusion3、激光/多传感器融合SLAM:Cartographer,LeGO-LOAM、LIO-SAM、LVI-SAM4、三维重建:视觉几何OpenMVS,深度学习重建MVSNet、PatchMatchNet、JDACS-MS5、机器人运动规划:Navfn、Dijkstra、A-Star、DWA、TEB6、相机标定:单目/鱼眼/双目/阵列推荐书目:《视觉slam14讲》

2022-09-05 20:52:55 557

空空如也

空空如也

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

TA关注的人

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