积累
文章平均质量分 53
slam让我头疼
这个作者很懒,什么都没留下…
展开
-
【无标题】csdn进入git
https://github.com/ros/roslint.git原创 2021-12-30 16:45:56 · 181 阅读 · 0 评论 -
Gdb 调试核心已转存储-调试VINS-FUSION/ORB-SLAM
GDB调试C++工程非ROS1.通过运行可执行程序来进入gdbCMakeLists中的修改: SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")#用于进行gdb调试 SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")gdb调试指令 (gdb) gdb ./Examp...原创 2021-12-14 19:00:19 · 2156 阅读 · 1 评论 -
快速排序法
partition函数int partition(vector<int >&arr,int l, int r){ int k=rand()%(r-l+1)+l; swap(arr[l],arr[k]);//随机挑选一个元素 int value=arr[l];//直接以最左边的元素为标志位对于近乎有序的数组就会i退化成o(n^2) //arr[l+1...j]>arr[l] arr[j+1..i-1]>arr[l] int j=l原创 2021-12-13 22:09:53 · 86 阅读 · 0 评论 -
C++ stl容器
1. std::string// string constructor#include <iostream>#include <string>int main (){ std::string s0 ("Initial string"); //根据已有字符串构造新的string实例 // constructors used in the same order as described above: std::string s1; //原创 2021-12-10 11:20:06 · 709 阅读 · 0 评论 -
线程与进程的对比、互斥锁和条件变量的使用-多线程编程
线程与进程的对比线程的概念是共享CPU的需要,进程概念是共享内存的需要。一个进程里代码段,数据段、堆是共享的,但是进程中的每个线程中的栈、寄存器内容独立;进程都是独立的,通常的IPC,管道,共享内存都可以通讯。处于一个线程的代码觉得它拥有整个CPU,处于一个进程的代码觉得它拥有全部内存条多线程是通过时间片轮询来执行的当某个线程持有这把锁的时候(加锁),该线程就是独占所有的资源,这里指执行的权限,其他要抢夺的资源不得不改变。当线程拥有某把锁开始上锁以后,那么在锁住的区域,资源就被独占了,其他线程原创 2021-12-10 10:27:03 · 525 阅读 · 0 评论 -
ceres优化参数的传递、残差构建时状态量的传递、evaluate函数的使用
误差函数中的参数包括: 已知参数和待优化参数两部分,1. 添加待优化参数ceres::LocalParameterization *local_parameterization = new PoseLocalParameterization();problem.AddParameterBlock(para_Pose[i], SIZE_POSE, local_parameterization);2. 添加残差及需要对待优化参数变来嗯进行雅可比矩阵的计算(解析求导)先加入残差项IMU残差项 I原创 2021-12-09 20:53:46 · 7053 阅读 · 0 评论 -
C++string类型和int类型的相互转换
string 转换到int型如果转换的是单个数字 string s = "1234"; s += "null"; std::cout << s[1] << std::endl; //用[]重载得到的元素是char类型的一个元素 auto b = s[1];//得到一个字符 std::cout <<typeid(b).name()<< std::endl; int c = b - '0'; //'1'通过减去'0'原创 2021-12-08 10:20:28 · 976 阅读 · 0 评论 -
动态slam可能后面能用的上的东西
SOF-SLAM:一种面向动态环境的语义视觉SLAM(2019,JCR Q1,4.076)_JinLn的博客-CSDN博客首先利用语义信息得到一个相对可靠的基本矩阵F,然后通过几何约束来检测真实的动态特征。在我们的方法中,基本矩阵是将这两个信息源连接在一个统一框架中的桥梁,并且只需决定一个特征是否是动态的。首先利用SegNet得到运动先验,然后在计算从当前帧到当前帧的最后一帧的光流时,用运动先验作为掩模去除动态和潜在动态特征的对应关系。只保留可靠的对应关系,如图8所示。然后使用语义静态特征的对应而不原创 2021-11-17 11:26:10 · 1491 阅读 · 0 评论 -
误差状态方程与雅可比矩阵
在惯性的优化中包括p、v、q、ba、bg、外参等等优化变量 。预积分量由陀螺、加计的示数得到,以及陀螺、加计的白噪声、偏置。可以先将白噪声从预积分量中剥离出来,作为预积分量测的协方差阵;计算预积分关于偏置的雅可比矩阵,用于预积分的更新。从而能够避免重复计算预积分项。在后端优化迭代的时候,当对优化变量更新的时候,ba、bg发生了变化,那么预积分量就需要重新进行更新;同时惯性数据计算预积分量产生约束的时候,为了更加契合紧耦合的概念,预积分需要有一个权重,就把预积分协方差的倒数作为信息阵。所...原创 2021-11-16 14:39:36 · 2201 阅读 · 0 评论 -
预积分的理解
常见的视惯解算系统中应用到的两种传感器是相机和IMU惯性测量单元,IMU频率很高,可能有200Hz的频率,而相机的频率明显要低很多,可能只有大约30Hz。而且视觉图像帧常常会采用关键帧策略,在视觉图像信息融合的时候是会以视觉的频率为参考。在优化求解的时候,优化了关键帧i的位姿,如果直接利用IMU、加速度计示数进行积分的时候,解算的是i->j相对于世界坐标系的位姿变换,那么i后面的帧都需要重新进行积分。而预积分解算的是相对位姿,就不用全部重新进行积分。关键:如果利用两关键帧之间不同时刻的惯性、加原创 2021-11-15 20:57:11 · 4240 阅读 · 0 评论 -
SLAM 基础知识点和相应的理解链接
极线约束、单应矩阵、3D-2D等等(13条消息) 视觉里程计:2D-2D 对极几何、3D-2D PnP、3D-3D ICP_一抹烟霞的博客-CSDN博客vins-mono解读与实现(13条消息) VINS-mono详细解读与实现_格物致知-CSDN博客原创 2021-09-11 10:18:10 · 81 阅读 · 0 评论