logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么优化问题求解最终是HΔx=b 而非 Hx=b?

首先,只有线性最小二乘才能直接解,因为线性模型的海森矩阵是常数矩阵,能一步求全局最优。但 SLAM 里的观测模型都是非线性的,比如激光配准、IMU 预积分的残差都是位姿的非线性函数,没法直接构造。我们只能在当前状态估计值附近做一阶泰勒展开,把非线性问题转化为关于增量的线性最小二乘问题,也就是,然后迭代更新状态直到收敛。

#算法#机器学习#人工智能
LIO-SAM Scan-to-Map退化检测

在 SLAM 中,“退化”意味着传感器在当前环境中收集不到足够的信息来约束全部的 6 个自由度(x、y、z轴方向上的平移和绕三轴的旋转)。按照右手系的定义,以x轴作为机器人前进方向。场景A(长直走廊):雷达在一个超长的长廊里前进无法,激光束无法打到长廊的尽头,两边和上下全是平坦的墙。雷达可以完美知道自己有没有左右动、上下动、有没有旋转,但无法判断自己往前走了多远(前后方向退化)。场景B(开阔广场+

滑动窗口模型与边缘化

本文探讨了SLAM系统中基于滑动窗口的边缘化方法。通过因子图模型分析,指出随着时间推移,图模型增大导致优化耗时递增的问题。采用滑动窗口机制,通过舒尔补理论将旧帧约束转化为边缘化先验因子,保留历史信息的同时控制计算复杂度。详细推导了Hessian矩阵构建、边缘化操作及先验因子生成过程,并给出代码实现框架。

文章图片
误差状态卡尔曼滤波(ESKF)推导

本文系统介绍了概率基础知识和滤波器原理。首先阐述了概率论核心概念,重点分析了高斯分布及其线性变换特性。随后详细推导了卡尔曼滤波(KF)和扩展卡尔曼滤波(EKF)的理论框架,包括状态估计模型、贝叶斯滤波和线性化处理方法。针对EKF的局限性,进一步介绍了误差状态卡尔曼滤波(ESKF),通过分离名义状态和误差状态,有效解决了非线性系统特别是3D姿态估计中的约束问题。文章完整呈现了ESKF的运动方程、观测

文章图片
#概率论
IMU误差分析与内参标定

正向建模依赖于转台提供的高精度的已知输入,比如知道重力加速度的大小,以及此时重力加速度在三轴上的分量各自大小。其中a为传感器的理想输入(真值),A为传感器的读数。正向建模依赖于转台提供的高精度的已知输入a,是拿着答案(真值)找过程(误差参数),既知道输入的大小,还知道方向,能把误差参数“钉”得非常死,解算出的参数非常接近物理真值。由于加工工艺原因,陀螺仪的三个轴并不正交,而且和b坐标系的轴不重合,

LVI-SAM中激光点云辅助视觉特征点获取深度

本文提出了一种基于激光点云辅助的视觉特征点深度估计方法。首先将视觉特征点投影到单位球面,同时对激光点云进行角度下采样并归一化到单位球面。通过构建KDTree快速搜索与视觉特征点方向最近的三个激光点,利用三点拟合平面并计算视觉射线与平面的交点,从而估计特征点深度。该方法通过球面投影消除深度影响,仅基于方向差异进行匹配,实现了视觉特征与激光点云的高效关联。

文章图片
数据结构之顺序表(C语言)

线性表、顺序表、线性表存储结构、顺序表初始化、顺序表数据插入、顺序表数据删除、按位插入、按位删除、顺序表的使用场景、适合场景、不适合场景

文章图片
#数据结构#c语言
C/C++函数调用时参数传递过程、调用约定与可变参函数的实现

参数传递过程、参数压栈顺序从右至左的影响、调用约定、__cdecl C/C++ 缺省调用方式、 __stdcall 、 __fastcall (快速调用约定,通过寄存器来传送参数)、C++的函数名修饰方式、thiscall 本身调用、C语言可变参函数的实现、可变参函数需要使用__cdecl调用约定的原因

文章图片
#c++#c语言
Linux实现查看文件内容的多种方式

more 分屏显示文件内容、more 按页显示文件内容、less文件内容查看器、head -n显示文件前n行内容、tail -n显示文件后n行内容、tail -f 实时查看文件内容

文章图片
#linux#运维#服务器
new与malloc的10点区别

new与malloc的10点区别:1. 申请的内存所在位置、2.返回类型安全性、3.内存分配失败时的返回值、4.是否需要指定内存大小、5.是否调用构造函数/析构函数、6.对数组的处理、7.new与malloc是否可以相互调用、8.是否可以被重载、9. 能够直观地重新分配内存、10. 客户处理内存分配不足

    共 12 条
  • 1
  • 2
  • 请选择